Eye strain preventer that won most technically advanced award in the IEEE Winter 2021 Quarterly Project at UC San Diego. It uses four neural nets and a binary classifier to track your gaze as you use a computer and alert you when you've been looking at a screen for too long so you can take a break.
Requires:
- Hardware:
- OpenCV AIKit camera module
- Infrastructure:
- MQTT server running on port 30300 (can be reconfigured)
- Python Libraries:
- cv2
- depthai
- paho-mqtt
- pandas
- sklearn
Steps to use:
$ python3 calibrate_eyes_ON.py -c
. When ready, press enter and look around at your computer screen until the program finishes (about 15 seconds).$ python3 calibrate_eyes_OFF.py -c
. When ready, press enter and look around away from your computer screen until the program finishes (about 15 seconds).$ python3 train_model.py
. Train the ON/OFF screen binary classifier on the data you just generated.$ python3 eye-strain-alerter.py
. Start the alert system software.$ python3 eye-monitor.py -c
. Start the camera stream that monitors your gaze using the binary classifier.