Eye Blinking Prototype Matching

Tim Büchner 942133fd1e Rename internal package name to fit the project name 1 year ago
assets eed9cc27a7 Update the readme to contain more information 1 year ago
sample_experiments 942133fd1e Rename internal package name to fit the project name 1 year ago
src 942133fd1e Rename internal package name to fit the project name 1 year ago
.gitignore f5111f4990 Update .gitignore file to include packaging files 1 year ago
License.txt fd747e126c Update 'License.txt' 1 year ago
README.md 942133fd1e Rename internal package name to fit the project name 1 year ago
setup.cfg 942133fd1e Rename internal package name to fit the project name 1 year ago
setup.py 476b9a8be3 WIP prepare packing 1 year ago

README.md

ESPBM - Eye State Prototype Blink Matching

Prototype Learning and Manual Definition

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 <link>
    
  2. cd to ESPBM

  3. 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

Upcoming

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

Upcoming

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