views:

187

answers:

3

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 (or similar software) with a camera to detect blinking (and the absence of) and maintain a decent blink rate?

+5  A: 

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 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. :)

Dima
I like the IR solution, going to have a look see on it. Electrodes sounds fun too. Thanks!
MathGladiator
+4  A: 

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. :)

Chris
+1  A: 

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

geschema