Stack OverflowBiofeedback and red eyes
[+5] [3] MathGladiator
[2009-09-24 19:58:32]
[ real-time computer-vision health ]

Recently, I've realized that I have stopped blinking while working at a computer.

Are there any programs available to assist with blinking?

Is it feasible to build a program with OpenCV [1] (or similar software) with a camera to detect blinking (and the absence of) and maintain a decent blink rate?

(1) I think this would be extremely difficult to do by yourself, especially since people tend to move their heads a lot. The camera must be working at high-speed too simply because blionking passes by in a flash so a slow webcam might not even be able to detect it. - Wim ten Brink
(1) Or you could write an app that, at random intervals, flashes a reminder to blink. - Michael Todd
(4) put a cut onion on your desk - KM.
(1) the more you work with computers, the less you blink. i haven't blinked in five or six years. - Steven A. Lowe
(3) Why was this closed? The OP is asking specifically for software implementations on a subject that seems useful and relevant to programmers. I vote to reopen. - ire_and_curses
my extremely red eye thanks the moderators for closing my question. - MathGladiator
There's an iPhone app for that - Frank Schwieterman
[+5] [2009-09-25 22:34:53] Dima [ACCEPTED]

Detecting the eyes in an image produced by a regular web-cam, and reliably determining whether they are open or closed is very difficult.

If you have about $30,000 to spare, you can buy yourself an eye tracker, which would allow you to control your computer with your eyes, and, as a byproduct, would also detect when you blink.

If you are on a tight budget, then you can try to make your own. Eye trackers typically consist of an infra-red light source and an IR camera. The pupils of your eyes reflect IR very well, and the camera is used to detect the reflections. You can try to put something like that together yourself, if you can find an IR camera with a sufficiently fast frame rate. Since you only need to detect the presence or absence of the pupils in the camera image, rather than the direction of gaze, writing the software to do that is not terribly hard.

Alternatively, by placing electrodes on your head you can detect electrical signals that correspond to your eye-movements. In fact, this is a way to build a very cheap eye tracker [1] for controlling your computer by moving your eyes. I am guessing, that you may be able to use a setup like that to detect blinks as well. Of course, that would mean being tied to the computer with wires. But if you spend so much time at the computer that you forget to blink, that should not be a problem. :)


(1) I like the IR solution, going to have a look see on it. Electrodes sounds fun too. Thanks! - MathGladiator
[+4] [2009-09-26 04:40:24] Chris

If I were doing this program (and I would be your customer if you wrote it), I would be almost as happy with a program that assumed I always had a problem blinking, if the only thing it did was attempt to give me feedback every so often to blink.

You could animate some robot eyes that blinked every so often. The feedback would lead me to blink in response. A staring contest, but in reverse.

Regardless, you could have a prototype out much more quickly than if you chose to tie yourself to the machine with electrodes. :)

[+1] [2009-10-05 11:12:45] geschema

Maybe you could find some way to trigger your blink reflex [1] every so often, e.g. by using bright light flashes.