Skip to content

Repository files navigation

Blink Call icon

Blink Call

A blink-based calling system for ALS patients, detecting custom blink patterns to trigger hands-free calls.

English | 简体中文

📘 Overview

Blink-Call is an assistive calling system designed for ALS patients. It recognizes user-defined blink patterns from camera input and triggers visible and audio call alerts without requiring speech, hand movement, or physical touch.

Key Features

  • Minimal interaction: Only eye blinks are required.
  • Lightweight resource usage: Runs in a CPU-only environment with less than 500 MB of memory usage.
  • User-friendly features:
    • Customizable blink patterns, alert audio, volume, and duration.
    • Support for both local and remote camera modes for flexible deployment.
    • One-click model download and update support.
  • Logging and debugging options for clinical use and algorithm improvement.

✨ For User

If you want to get started quickly, begin here:

Note

Currently, the software is only available for direct download and use on Windows.


🔧 For Developer

This project includes developer documentation and setup guidance to help you get started quickly.

🚀 Quick Setup & Launch

  • Step 1: Clone the Repository

    git clone https://github.com/JouleEmbodiedAILab/blink-call.git
    cd blink-call
  • Step 2: Setup Conda Environment and Dependencies

    For Linux and macOS

    # default conda environment name -> blink_call
    bash ./scripts/linux/setup_conda.sh [--name <env_name>]

    For Windows

    # Default conda environment name: blink_call
    # Ensure that the `conda` command is available in your terminal,
    # or run this in Anaconda Prompt.
    powershell -ExecutionPolicy Bypass -File ./scripts/windows/setup_conda.ps1 [-Name <env_name>]
  • Step 3: Start the Application

    conda activate blink_call
    python -m blink_call.setup_app

🧭 Changing Model Files

This repository does not handle model training and ONNX model file replacement. Offline training resources for the related models can be found in the following repositories:

  • Face Detection: YOLOv6
  • 2D Face 98 Keypoint Detection: HRNet
  • Eye State Classification: ViTA

After obtaining the corresponding ONNX model files, replace the files in the ModelScope model repository.

Warning

When updating ONNX models, ensure that both file paths and filenames remain exactly the same.
When releasing a software version, please add a tag with the same version name to the ModelScope repository.

📦 Building with Nuitka

After development is completed, the software can be built with Nuitka for standalone distribution. The Nuitka build command is shown below.

  • For Windows
    conda activate blink_call
    powershell -ExecutionPolicy Bypass -File ./scripts/windows/build_nuitka.ps1

📚 Docs Update

To update the online user manual:

Please edit the contents of mkdocs.yml and the corresponding docs/*.md files in the user_manual/ directory.

To preview the documentation locally, run:

mkdocs serve

Then open http://127.0.0.1:8000/ to view changes in real time.

When you're ready to publish updates, run:

mkdocs gh-deploy

This command will automatically build the site and deploy it to GitHub Pages.

Note

Note: All mkdocs commands should be executed inside the user_manual directory.


📝 License

MIT License. See LICENSE for details.

About

EN: A blink-based calling system for ALS patients, detecting custom blink patterns to trigger hands-free calls. || 中文:一个基于眨眼识别的渐冻症患者呼叫系统,通过检测自定义眨眼模式触发免手呼叫。

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages