Skip to main content

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

Metadata

Release files for espbm 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for espbm 1.2.2
File Size Uploaded Provenance Actions
espbm-1.2.2.tar.gz 9.1 MB Without provenance Details for espbm-1.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for espbm 1.2.2
File Interpreter ABI Platform Actions
espbm-1.2.2-py3-none-any.whl Python 3 none any Details for espbm-1.2.2-py3-none-any.whl

Total release size: 9.1 MB

Release files / espbm-1.2.2.tar.gz

Download URL espbm-1.2.2.tar.gz
Size 9.1 MB
Tags Source
SHA-256 checksum
How to use checksums
6458a9a5b1e6b61e041802353ec1219df0f1aae7d3612fe6142374e9d8c9412b
BLAKE2b-256 checksum
How to use checksums
f46ac2e212840c06b5952a399c7b369d862622e89e2f858189d60f497bc2d630
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.14

Release files / espbm-1.2.2-py3-none-any.whl

Download URL espbm-1.2.2-py3-none-any.whl
Size 16.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e680a0fddc0235300e46da3c3efce48ffa31b3c5d961224251620e20eafd6d2c
BLAKE2b-256 checksum
How to use checksums
8cc0263d1e5978a490911dca65204fc848a7921340037f2fc2efa956bdb7b0ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.14

Security for espbm 1.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page