Check out the devpost submission here: https://devpost.com/software/facelock-hezv8n
FaceLock is a facial recognition locking system built with an Arduino and Raspberry Pi communicating together over UART. There are scripts to train and create models from the basic webcam output. The camera scans for familiar faces, and when they are detected, a signal is sent over UART to a servo motor in order to unlock the door.
Run identify.py on your system to make sure that you have the required libraries (OpenCV). You should see a square appear around your face on the video feed.
Run generate_dataset.py to collect images of your face. The instructions will be outputted in the terminal. Try to capture different angles of your face, and make sure a green square is appearing around your face when trying to capture an image.
Run train_model.py to create a model from the collected images.
Flash the lcdAndMotor code to your Arduino.
Connect your Arduino and Pi (or other computer system) and run recognize.py. Leave it running with your webcam in a great spot with good lighting. This controls the unlocking/locking. The door will automatically lock after a set amount of time.
Enjoy :)