Building a Facial Recognition System with Raspberry Pi

Building a Facial Recognition System with Raspberry Pi

Facial recognition technology has become increasingly accessible thanks to advancements in affordable hardware like the Raspberry Pi. In this blog post, we’ll guide you through setting up a facial recognition project using a Raspberry Pi and some essential components.

Required Components

  1. Raspberry Pi: We recommend using the latest Raspberry Pi 5 for optimal performance.
  2. Camera Module: Either the Raspberry Pi Camera Module 3 or the Raspberry Pi Camera Module will work well.
  3. MicroSD Card: A minimum of 16GB is recommended for the Raspberry Pi OS and necessary software. You can find one here.
  4. Power Supply: Ensure you have a compatible power supply for the Raspberry Pi 5. Check options here.
  5. Optional: A case to protect your Raspberry Pi, available here.

Setting Up Your Raspberry Pi

  1. Install Raspberry Pi OS:

    • Download Raspberry Pi Imager from the official Raspberry Pi website.
    • Insert your MicroSD card into your computer.
    • Use Raspberry Pi Imager to install the Raspberry Pi OS onto the MicroSD card.
  2. Initial Setup:

    • Insert the MicroSD card into the Raspberry Pi.
    • Connect the Raspberry Pi to a monitor, keyboard, and mouse.
    • Power on the Raspberry Pi and complete the initial setup, including setting up Wi-Fi and updating the OS.

Installing Required Software

  1. Update the system:

    sudo apt-get update
    sudo apt-get upgrade
    
  2. Install Python and necessary libraries:

    sudo apt-get install python3-pip
    pip3 install opencv-python-headless
    pip3 install face-recognition
    
  3. Enable the Camera:

    • Open the Raspberry Pi configuration tool:
      sudo raspi-config
      
    • Navigate to Interface Options and enable the camera.

Setting Up the Camera

  1. Connect the Camera Module:

    • Ensure the Raspberry Pi is powered off.
    • Connect the camera module to the Raspberry Pi’s camera port.
  2. Test the Camera:

    • Boot up the Raspberry Pi and test the camera with the following command:
      raspistill -o test.jpg
      
    • This command captures an image and saves it as test.jpg.

Writing the Facial Recognition Script

  1. Create a Python Script:

    • Open a text editor and create a new file called facial_recognition.py:
      import cv2
      import face_recognition
      
      video_capture = cv2.VideoCapture(0)
      
      while True:
          ret, frame = video_capture.read()
          rgb_frame = frame[:, :, ::-1]
      
          face_locations = face_recognition.face_locations(rgb_frame)
          for top, right, bottom, left in face_locations:
              cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 2)
      
          cv2.imshow('Video', frame)
      
          if cv2.waitKey(1) & 0xFF == ord('q'):
              break
      
      video_capture.release()
      cv2.destroyAllWindows()
      
  2. Run the Script:

    • Execute the script with:
      python3 facial_recognition.py
      

Conclusion

With these steps, you should have a basic facial recognition system up and running on your Raspberry Pi. For more advanced functionalities, consider exploring the extensive capabilities of the face_recognition library and OpenCV.

Feel free to explore additional accessories and modules on the Raspberry Pi Australia website to enhance your project further. Happy coding!