Inspiration
After speaking with a friend who works in a brain-scanning lab to help people with ADHD, we were inspired to help one of our own team members. Amlesh Sivanantham has a lazy eye, and we wanted to design a watchdog built around that problem. Design a program to track his eyes when doing something simple like watching movies.
What it does
Our product tracks the user's gaze, and when the user's eye goes lazy, it pauses any app compatible with the Windows and Linux media keys.
How we built it
We started by using OpenCV in Python to track the user's face and eyes. Next we added pupil tracking using our own algorithm. Finally we analyzed the pupil locations relative to the midline of the eyebox produced by OpenCV to determine laziness.
Challenges we ran into
By far the largest problem we faced was finding the location of the pupil. Before beginning, we were fully expecting OpenCV to provide pupil-tracking. Coming up with our own solution involved lots of research, and especially great work by Amlesh Sivanantham, to eventually track the user's eyes.
Accomplishments that we're proud of
Without a doubt the most inventive part of our project was the pupil-tracking algorithm designed and implemented by Amlesh Sivanantham. It uses linear regression to describe the darkness of different areas of the users eye. Then he used his own algorithm to analyze the best-fit curve to locate the pupil.
What we learned
This project was based entirely on computer vision, a topic no one on our team had ever explored. Though OpenCV is extremely powerful, its documentation is lacking, so we had to learn about the nitty-gritty of computer vision on our own.
What's next for Who's Lazy? Not Eye
The next step is adding support for users wearing glasses. The downside to our pupil tracking algorithm is that it can't currently handle the glare caused by eyeglasses. We hope that further development on the two other pupil tracking methods we developed lead to a more modular system capable of working with and without glasses.
Furthermore we would like to add OSX compatibility.
Log in or sign up for Devpost to join the conversation.