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
Share this project:

Updates