Neural Nework - Face Recognition




In this example, we will be using Ameba Pro2 development board to recognize detected faces.


Open face recognition examples in “File” -> “Example” -> “AmebaNN” -> “RTSPFaceRecognition”.


Since the camera video output will be used, ensure that the “Video ISP Bin” option in “Tools” is set to enabled. Also ensure that “Neural Network Bin” is enabled to upload a flash binary that includes the required neural network binary file.


In the highlighted code snippet, fill in the “ssid” with your WiFi network SSID and “pass” with the network password.


Compile the code and upload it to Ameba. After pressing the Reset button, wait for the Ameba Pro 2 board to connect to the WiFi network. The board’s IP address and network port number for RTSP will be shown in the Serial Monitor.
The result of face recognition can be validated using VLC. You may download VLC media player from the link (here).
Upon the completion of the software installation, open VLC media player, and go to “Media” -> “Open Network Stream”.


Make sure your PC is connected to the same network as the Ameba Pro2 board for streaming. Since RTSP is used as the streaming protocol, key in “rtsp://{IPaddress}:{port}” as the Network URL in VLC media player, replacing {IPaddress} with the IP address of your Ameba Pro2 board, and {port} with the RTSP port shown in Serial Monitor (e.g., “rtsp://”). The default RTSP port number is 554.
Next, click “Play” to start RTSP streaming to see the result. The video stream from the camera will be shown in VLC media player.


The faces detected by the face recognition neural network model are initially labelled as “unknown”, faces need to be first registered with a name before they can be recognized.


Aim the camera at a face and enter the following commands in the Serial Monitor.

To register a face:

Note: Multiple faces can be registered. However, when registering a face, ensure that there is only one face in the frame.
To register a face, aim the camera to a targeted face and enter “REG={Name}” to give the targeted face a name. For example, “REG=SAM”.



To exit registration mode:

Enter the command “EXIT” to exit from registration mode. This command can be used to stop the face registering process before it is completed.

To reset registered face:

Enter the command “RESET” to forget all previously registered faces. All previously assigned faces and names will be removed. You may register a face again by entering the face registration mode.

To backup and restore registered faces to and from flash:

Enter the command “BACKUP” to save a copy of registered faces to flash. If a backup exists, enter the command “RESTORE” to load registered faces from flash.

Code Reference

For recommended setting to achieve better video quality, please refer to Ameba FAQ: https ://
You may adjust the video bitrate based on your WiFi network quality, by uncommenting the highlighted code below.


Please confirm that QQ communication software is installed