Inspiration

I have always had trouble with ID, especially forgetting it at the most important time and (due to Murphy's Law) realizing it at the moment I need it. To combat this issue, I felt inspired to create a face ID security gate, because you can never forget your FaceCard!

What it does

PC

My PC acts like a security system, running a custom face recognition AI (built on dlib's state-of-the-art face recognition built with deep learning). It follows these steps:

1. Find faces in pictures.

First, it needs to find all of the faces in the frame in one moment.

2. Find and manipulate facial features in pictures.

Next, we need to get the locations and outlines of each person's eyes, nose, mouth and chin.

3. Identify faces in pictures.

Uses those facial features to recognize who appears in each photo. Once a face is recognized, a serial signal is sent through COM4.

Arduino

The Arduino Nano is connected to the PC via serial port COM4. It receives a signal from the PC. Pin D7 is a LOW when there is no face recognized. One the face recognition signal is sent, the Arduino will set pin D7 to HIGH.

Pin D7 is connected to the GPIO17 pin of the Raspberry Pi 4B.

Raspberry Pi

Once the Raspberry Pi receives a HIGH in the GPIO17 pin, it turns the servo which acts like a gate for the security system. QNX is the Pi's RTOS.

Challenges we ran into

The biggest challenge is the setup and debugging of QNX in the Raspberry Pi. The majority of our time was spent on setting it up, from the Raspberry Pi boot to the uploading code. We only had an LED flashing at 8 pm. Now we have a full project, no all-nighter required.

Accomplishments that we're proud of

Everything in this project. At a certain point, we were at the lowest point of the weekend. Completely given up. However we held on. And it paid off, because one by one things started working. Once we had connection to the Pi, everything else came flooding.

What we learned

  • QNX
  • Embedded techniques
  • Raspberry Pi interfacing
  • Motor control
  • OpenCV AI face recognition
  • A little bit of Vim

What's next for Face Card

Not sure! Maybe make a more efficient embedded system with C instead of C and Py.

Share this project:

Updates

Submission history