I am text block. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.


Facial Recognition Door Lock

This door lock uses facial recognition to allow authorized users to lock and unlock it. The facial recognition is regulated by a Raspberry Pi, which also controls the lock function. Additionally, the lock can be remotely controlled with the use of an application.


Vincent Z

Area of Interest

Artificial Intelligence; Facial Recognition


Monta Vista High School


Upcoming Senior

Second Milestone

For the second part of my project, I worked with the facial recognition component of my project. First, I installed the vital libraries I would need to create the facial recognition program. I used OpenCV, face_recognition, and many others to create a program that turns a servo when it detects my face. Additionally, while the programming is running, it displays a live feed of the camera and draws boxes onto the screen to symbolize where it has detected a face. If a face is in the library, it will also display the name; otherwise, the face will be labeled as “Unknown”. However, the program struggles to detect faces when they are not upright, because of the cascades that are used. It also greatly struggles if the photos in the database do not have a similar resolution/coloring to that of the live camera feed. Additionally, because the program checks so many images, it cannot achieve high frame rates for many faces. One of my primary struggles while creating this program was installation of all the software I needed. Much of the information I found while researching on the internet was either outdated or not suited to my specifications, making debugging difficult. I was able to use the corresponding documentation to discover the correct procedures. Next, I’m going to be connecting the servo to the door lock.

First Milestone

For my first milestone, I made sure the hardware I would use with my project was functioning. First, I set up my Raspberry Pi, which would control receive input from the camera and control the servo, which in turn would lock/unlock the door lock. The Raspberry Pi is relatively powerful for its size, but I still verified that the Raspberry Pi had the capability to perform real-time facial recognition; previous projects with facial recognition and a Raspberry Pi proved that this was indeed possible. Next, I downloaded Raspbian and mounted the image onto an SD card using my personal computer, and installed it on the Raspberry Pi. After consulting a manual for the Raspberry Pi, I hooked the servo up to the pins. With the Raspberry Pi set up, I created a simple program with python and RPi.GPIO to move the servo 90 degrees one way and back. Next, I installed the Raspberry Pi camera module in the camera slot. I created another simple program with python to test the camera; the program displayed a video feed for ten seconds so I could check its orientation. One of the hurdles I encountered while doing this was learning about duty cycles. My servo had different specifications from many of those I found online, so I used the datasheet for the servo and trial and error to determine what numbers to use to move the servo 90 degrees. Next, I’m going to work with combining two servos for the locking and unlocking mechanism and printing parts for my lock.

Starter Project

During Project Selection, I had actually picked my main project before my starter project. After seeing so many cool main projects, I felt a little bit underwhelmed looking at the starter projects. However, I quickly realized that I had no idea what soldering was among other skills, so I chose the MintyBoost starter project, which seemed to be simple and straightforward. Additionally, I found it to be one of the most practical starter projects: portable batteries specialized for recharging phones are common and useful. I’m glad I did, as it made for a valuable learning experience. I learned not just physical skills such as soldering and using the dremel but also the importance of planning ahead. Additionally, I learned more about circuit design and the inner workings of components such as inductors and microcontrollers. One of the largest struggles I faced was learning how to solder. My hands were incredibly shaky and when I messed up I found desoldering to be another big challenge, as the pins on the circuit board were really close to each other.

Starter Project Video

STEM Summer Camps Coding & Robotics Classes For Kids San Francisco Coding & Robotics Classes For Kids New York Coding & Robotics Classes For Kids Denver Coding & Robotics Classes For Kids Palo Alto STEM Summer Camps For Kids in New York STEM Summer Camps For Kids in Palo Alto STEM Summer Camps For Kids San Francisco STEM Classes For Kids in New York STEM Classes For Kids in Palo Alto STEM Classes For Kids in San Francisco Code Classes For Kids Code Classes For Kids in New York Code Classes For Kids in Palo Alto Code Classes For Kids in San Francisco STEM Summer Camps For Kids

Leave a Comment

Start typing and press Enter to search