Blink Detection in EEG Signals

A Fully Automated Unsupervised Blink Detection Algorithm

EEG signals are vulnerable to distortion caused by other interfering electrical fields. For instance, blinking, where the retina and cornea form an electric dipole. Blinking is known to contaminate signals and impact decoding processes in medical and scientific applications.

Mohit Agarwal and Raghupathy Sivakumar of the Georgia Institute of Technology considered blink detection to remove blinks from EEG signals and proposed a fully automated and unsupervised algorithm, Blink.

Blink self-learns user-specific brainwave profiles for blinks and works with both user training and manual inspection requirements. It functions on a single channel EEG and can estimate the start and end timestamps of blinks.

There are two different categories of previous work that involve EEGs and blinking:

1) removing eye-blink artifacts from the EEG signal

2) detecting the time instants of eye-blinks in EEG

Work under both of the two categories were only capable of performing one of the tasks.

Blink Waveform Characteristics

The image above shows a snapshot of a waveform at frontal electrode position referenced to the earlobe electrodes. The blink waveform can be characterized by its (i) waveform pattern, (ii) blink amplitude, and (iii) blink duration.

A blink waveform pattern is defined as the voltage variation with time during a natural or forced blink. The depth of the trough in the waveform pattern is known as the blink amplitude and blink duration is the time user takes to blink.

Algorithm Assumptions

Blink operates on two assumptions:

1) Consistency of eye-blink patterns: Blink patterns are assumed to be consistent for a single user for a short period of time (i.e. for data recording). However, the same assumption is not made for different users or different recordings, which allows for variability.

2) No other repetitive waveforms: There are no other repetitive waveforms in the input signal that present the same characteristics as an eye-blink waveform.

Algorithm Properties

1) Blink relies on the natural frequency of occurrence of blinks to self-learn brainwave profiles for each specific user’s blinks.

2) Blink requires raw EEG data as input and returns the start and end positions of the blinks in the data. Therefore, Blink can easily provide insights into the blink duration and interval.

3) Blink design requires only single-channel data. However, in the case of multiple channels the results can be combined in an OR fashion to achieve more accurate results.


Involuntary Eye-Blinks:

The visuals below demonstrate the detection performance of the Blink algorithm for involuntary eye-blinks (i.e., EEG-IO and EEG-IM dataset) in the form of cumulative distribution for both platforms.

The mean algorithm accuracy for all 20 subjects is almost perfect (98.96% for OpenBCI and 99.2% for Muse). The mean accuracy of (top-5, worst-5) subjects is (100%, 96.00%) for OpenBCI traces and (100%, 97.2%) for Muse traces. The top-5 and worst-5 accuracies do not differ much, which validates the universality of the algorithm.

Mean precision is above 0.9 for both the devices (0.951 for OpenBCI, 0.913 for Muse). Similar precision scores are (1.0, 0.858) for OpenBCI and (0.993, 0.801) for Muse.

F1 score assigns a weighted score of accuracy and false positives. An average if F1 score of 0.968 and 0.944 for OpenBCI and Muse were received, respectively, which confirms the robustness of the algorithm.

The results for Muse and OpenBCI do not differ much, which validates the extensibility of the algorithm across other different BCI platforms.

Voluntary Eye-Blinks:

EEG-VV and EEG-VR datasets were used to evaluate the performance of Blink algorithm on natural blink patterns when users were watching a video or reading an article.

An accuracy of 98.4% and 98.3% was achieved for video and reading activities across 12 subjects. The corresponding average precision measures and F1 scores are (0.92, 0.94) for video, and (0.95, 0.96) for reading activity.

The consistent performance of Blink on natural blinks over the different activities show the robust performance and applicability of Blink in practical uses.

A summary of Blink performance over the collected datasets.

Algorithm Performance

The performance of Blink algorithm is evaluated using three different metrics: accuracy, precision, and F1 score.

Accuracy measures the percentage of correctly detected eye-blinks out of total given eye-blinks (true positives).

Precision refers to the number of correctly detected eye-blinks out of the total detected eye-blinks.

F1 score represents the harmonic mean of precision and recall.

An ideal detection algorithm would perform with 100% accuracy, with precision and F1 score of 1 and 1 respectively.

Limitations of the Blink Algorithm

Blink fails to detect ∼50 blink samples out of 2300. Although the failure cases are quite low (<2%) they are mostly caused by the invalid assumption that people always have consistent blink patterns.

The cleaned irregular blink pattern side by side to the regular blink pattern.

However, with the datasets collected in this work (Table I), Agarwal and Sivakumar plan to statistically evaluate the assumption of consistency in eye- blink patterns and improve the Blink algorithm to consider such cases.


Agarwal, M., & Sivakumar, R. (2019, September). Blink: A Fully Automated Unsupervised Algorithm for Eye-Blink Detection in EEG Signals. 2019 57th Annual Allerton Conference on Communication, Control, and Computing (Allerton). 2019 57th Annual Allerton Conference on Communication, Control, and Computing (Allerton).

BCI Researcher and Innovator at TKS