Skip to main content

Eye State Prototype Blink Matching in EAR time series

Project description

ESPBM - Eye State Prototype Blink Matching

Prototype Learning and Manual Definition

[Project Page] [Publication] [PDF] [Nature Scientic Reports Work]

This work presents a novel method for detecting eye blinking by establishing eye state prototypes to match blink patterns within the eye aspect ratio (EAR) time series. In contrast to traditional methods, which mainly focus on the binary ON/OFF of blinks, our method takes care of critical diagnostic details such as blink speed, duration, and inter-eye synchronicity.

In an unsupervised manner, we learned prototypes from the existing blink patterns and established manually defined prototypes. Our research shows that both unsupervised learned and manually defined prototypes can reliably detect blink intervals and have comparable results, which offers potential diagnostic tools for identifying muscular or neural disorders.

Under the "minimal working prototype" principle, we aim to establish the eye blink prototype with minimal work, enabling medical professionals without computer expertise to quickly create prototypes to match specific patterns. This repository presents the source code of our approach and provides a demonstration of sample experiments.

Getting Started

Locally

  1. Clone the repository
git clone git@github.com:cvjena/ESPBM.git
  1. cd to ESPBM
  2. Create a new conda environment and install the dependencies:
conda create -n espbm python=3.10 -y
conda activate espbm
# conda install cudatoolkit -y
pip install jupyter
pip install -e .

Via Pip

pip install espbm

Usage

We provide some example time series and prototypes to demonstrate the usage of our method in the sample_experiments folder. Our code is designed to be modular and flexible, so you can quickly adapt it to your data and prototypes. We demonstrate the usage of our method in the following steps:

  • Data loading
  • Prototypes learning or manual definition
  • Extraction
  • Inter-eye synchronicity

Citation

@inproceedings{xie2024unsupervised,
  title     = {Unsupervised Learning of Eye State Prototypes for Semantically Rich Blinking Detection},
  author    = {Yuxuan Xie and Tim B{\"u}chner and Lukas Schuhmann and Orlando Guntinas-Lichius and Joachim Denzler},
  booktitle = {Digital Health & Informatics Innovations for Sustainable Health Care Systems},
  year      = {2024},
  month     = august,
  pages     = {1607--1611},
  publisher = {IOS Press},
  series    = {Studies in Health Technology and Informatics},
  volume    = {316},
  code      = {https://github.com/cvjena/ESPBM},
  doi       = {10.3233/SHTI240731},
  groups    = {facialpalsy},
  langid    = {english},
  url       = {https://ebooks.iospress.nl/doi/10.3233/SHTI240731},
  note      = {}
}

License

Licensed under MIT.

Acknowledgments

Our project is and was only possible with the help of many existing projects and their maintainers and contributors. We would like to thank the following projects and their maintainers for their work:

  • Stumpy for the unsupervised learning of prototypes and fast pattern-matching
  • JeFaPaTo the extraction of the EAR time series
  • CurlyBrace for the nice visualizations of curly braces :)

Contact

For any queries, requests, or problems, please reach out to

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

espbm-1.1.1.tar.gz (9.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

espbm-1.1.1-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file espbm-1.1.1.tar.gz.

File metadata

  • Download URL: espbm-1.1.1.tar.gz
  • Upload date:
  • Size: 9.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.15

File hashes

Hashes for espbm-1.1.1.tar.gz
Algorithm Hash digest
SHA256 fd59caef92db87ced0ad66b8d7b339af7b0d9c84f5ab5ff25effc904ccfc50da
MD5 1d756c27beff9c9fce889508dbdc7620
BLAKE2b-256 b20397a81bc2a4742e7bc4440441c682ff78369972d845fe1b4cd97d08284ebc

See more details on using hashes here.

File details

Details for the file espbm-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: espbm-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.15

File hashes

Hashes for espbm-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dcce8a2ae464f7f2b76211593e8fde8f58219bfb78d4c637660fb1bff79a7a19
MD5 2b56332c3ac0681f417abb873a0a9475
BLAKE2b-256 e65787244e3414ff544b83cd02553460e5a8b3802daef60ea4f3daccf622ee05

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page