The Face Detector model locates and identifies faces from an image. It also provides a “joy score” for each face.
Already included in the AIY Vision Kit SD card image
Demo: Face Detector
This demo uses your Vision Kit camera or an image to guess how many faces are present.
What you’ll need
Assembled Vision Kit with the latest SD card image.
Step 1: Get connected
First, make sure you’re connected to your kit and have a terminal open. All the following commands must be performed on your kit's Raspberry Pi.
Step 2: Stop your current demo
Your Vision Kit might be running another demo, such as the Joy Detector, which runs by default when your kit is turned on. You can tell it's running if the green privacy LED on the front of the kit is illuminated. You can stop the Joy Detector with the following command:
sudo systemctl stop joy_detection_demo
Or if you're running another demo that uses the camera, press Control+C in the terminal to stop it.
Step 3: Run Face Detector with a saved image
First, find an image that includes one or more faces and download it with the command
For example, here's an image licensed under Creative Commons:
wget https://farm3.staticflickr.com/4109/5031905069_cd67b182e3_o.jpg -O faces.jpg
The file is downloaded to the current directory, named
Then run the demo with the following command:
~/AIY-projects-python/src/examples/vision/face_detection.py --input faces.jpeg --output faces-result.jpeg
For each face detected, the demo prints information such as the face score and joy score. It also creates an image to the
output location, which is a copy of the image that includes a box around each face.
If no face was detected, nothing prints to the screen. Try using an image in which the faces are more well lit and directly facing the camera.
Step 4: Run Face Detector with the Vision Kit camera
You can also detect faces in realtime using the Vision Kit's camera.
Just run the following command, specifying the number of consecutive inferences you want to perform (try 20 to start):
~/AIY-projects-python/src/examples/vision/face_detection_camera.py --num_frames 20
Note: If you do not specify
num_frames, the demo will continue forever, until you stop it by pressing Control+C.
It takes some time for the demo to start. Please be patient. Once it starts, detection of faces in each frame is very fast.
Now point that camera at some faces! You’ll notice in your terminal window that the kit prints the number of faces in each frame. And if you've connected your kit to a monitor, you'll see a window showing what the camera sees, with boxes around each detected face.
If every line printed in the terminal says
num_faces=0, then the model didn’t detect any faces. Try again but be sure your subject is well lit from the front and there are no bright lights directly behind them.
If you ran into an error, check Help.