Skip to content

Computer vision head detection triggered by an alarm to shoot water at the user in order to wake up

Notifications You must be signed in to change notification settings

derekn4/WaterWake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Water Wake

Utilizing Computer Vision for head detection, activated by an alarm clock, to shoot water at my face.
Explore the docs »

Table of Contents
  1. About The Project
  2. Head Detection
  3. Alarm
  4. Shooting Water
  5. Roadmap
  6. Contact

About The Project

Have you ever struggled to wake up in the morning? Are regular alarm clocks not enough (even when you set multiple alarms)? Did you develop muscle memory to snooze or even turn off your alarm?

This project idea came from my struggle to wake up in the morning. At one point I thought, "I wish someone would just punch me awake." And then, I remembered splashing water in my face to wake up and thought, "Hey...what if I could do both?" Overall, I wanted to continue working with ML and decided that this project would be a fun development.

WaterWake (..or SquirtAlarm) is meant as a fun project to utilize Computer Vision and learn some mechanical engineer create a fool-proof alarm.

(back to top)

Built With

  • Python
  • OpenCV
  • RaspberryPi
  • Arduino
  • Swift (potentially)

(back to top)

Libraries Used

  • opencv-python
  • dlib
  • numpy

(back to top)

Head Detection

Initially, I thought that a simple facial detection would suffice for this portion, but then, I realized that I sleep on my side and a standard face detection code would not suffice.

  • I actually did try various version before landing on my head_detection code, including CV2's facial detection

  • the head_detection.py code utilizes the CV2 and the dlib library

    • with the get_frontal_face_detector() from the dlib library, I could get the original face detection
    • I added the lock-on code for the bounding box to continue tracking my head, despite the change in angle
  • Additionally, there is a head-pose-estimation code that can detect ears

    • with this code, when the camera turns on, it will look for either my entire face or one of my ears and use those to track my head

(back to top)

Alarm

  • Work in Progress
  • Plan: iOS application to set alarm and send trigger to my laptop to activate the head detection

(back to top)

Shooting Water

  • Work in Progress
  • Plan: Arduino and RaspberryPi connected to my laptop and used to:
    • Aim the watergun
    • Shoot water

(back to top)

Roadmap

  • Head Detection
    • Camera can detect head
    • Side profile detection
    • Head detection draws bounding box and locks on
    • Bounding box remains locked when side profile
    • Triggers a stop if head not detected for more than 10 seconds
  • Alarm Function
    • Sends trigger to a server when alarm goes off
    • Trigger activates Head detection code
  • Watergun Mechanism
    • Obtains head detection input
    • Aims watergun
    • Shoot water accurately at head

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contact

Derek Nguyen

(back to top)

About

Computer vision head detection triggered by an alarm to shoot water at the user in order to wake up

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors