Inspiration
My parents who always nagged me about too much time on the computer. As someone a modern teen who enjoys programming, staying away from the computer is a difficult task, despite knowing that its continuous usage comes with several drawbacks. That's why I decided to create this program to help anyone who has similar problems.
What it does
Do you or someone you know spend an unhealthy amount of time in front of a computer screen? If so, then this program is your savior. Breaker is a program that uses Artificial Intelligence to tell when a user is in front of the computer screen, and periodically remind them to get up and take a break.
How I built it
Run the code for yourself: Breaker Demo
When the program is run, the camera is open and uses facial recognition from haarcascades to identify the user. Each second that a face is recognized the program updates a counter to count how long the user has been in front of the computer. After the set time is completed (the default time set is 20 min), the program both prints and speaks to the user about whether or not they can continue their computer usage. This decision is made by comparing to the number of frames in which a face is present to the number of total frames. If the user is present in more than 75% of all frames, then the program asks them to take a break from the computer. (Variables and constants can be changed to fit the users needs).
Challenges I ran into
- Creating a version which was accessible to anyone rather than specifically to those with gpu accelerated computing machines (it was initially solely built to run with a Jetson Nano from NVIDIA but after a lot of coding I found a way to run it on any computer)
- Camera access
- Using text to speech in a text editor in which audio isn't usually supported
- Initially tried using jetson inference object detection networks but realized that it wouldn't be universally accessible so I had to find another way
Accomplishments that I am proud of
- Creating a version which was accessible to anyone rather than specifically to those with gpu accelerated computing machines -Getting my code to run without crashing
What I learned
I learned a lot about AI and specifically object detection using haarcascades and object detection networks with and without the Jetson Nano.
What's next for Breaker
Potential Ideas:
- Face ID to recognize the user with object detection
- Improving user GUI through JavaFX or javascript
Log in or sign up for Devpost to join the conversation.