Capture JPEG 人脸识别
材料
AMB82-mini x 1
SD 卡 x 1
按钮 x 1
绿色 LED x 1
红色 LED x 1
220 欧姆电阻 x 2
10K 欧姆电阻 x 1
范例
在本范例中,我们将使用开发板创建一个简单的人脸识别监控系统,该系统会拍摄未识别人脸的快照并以 JPEG 格式保存到 SD 卡上。
板载接线图:
在 File -> Examples -> AmebaNN -> CaptureJPEGFaceRecognition 中打开神经网络范例。
在突出显示的代码片段中,将 "ssid" 填入您的 WiFi 网络 SSID,并将 "pass" 填入网络密码。
您还可以通过更改黄色高亮的值来设置要拍摄的最大快照数量。目前该值设置为 5,因此总共只会拍摄 5 张快照并保存到 SD 卡。即使检测到未识别的人,超过 5 张后也不会再拍摄。增加 MAX_UNKNOWN_COUNT 的值以拍摄更多快照。
使用 modelSelect() 函数选择神经网络(NN)任务和模型。该函数接受 4 个参数:神经网络任务、目标检测模型、人脸检测模型和人脸识别模型。如果所选神经网络任务不需要某些模型,请用 "NA_MODEL" 替换。请注意,在调用 begin() 函数之前,必须调用 modelSelect() 函数。
有效的神经网络任务:
OBJECT_DETECTION、FACE_DETECTION、FACE_RECOGNITION有效的目标检测模型:
YOLOv3-tiny 模型:
DEFAULT_YOLOV3TINY、CUSTOMIZED_YOLOV3TINYYOLOv4-tiny 模型:
DEFAULT_YOLOV4TINY、CUSTOMIZED_YOLOV4TINYYOLOv7-tiny 模型:
DEFAULT_YOLOV7TINY、CUSTOMIZED_YOLOV7TINY
有效的人脸检测模型:
DEFAULT_SCRFD、CUSTOMIZED_SCRFD有效的人脸识别模型:
DEFAULT_MOBILEFACENET、CUSTOMIZED_MOBILEFACENET
如果您想使用自己的神经网络模型,请选择自定义选项(例如 CUSTOMIZED_YOLOV4TINY/ CUSTOMIZED_SCRFD/ CUSTOMIZED_MOBILEFACENET)。要了解 AI 模型转换的流程,请参考
AI 模型转换工具
。此外,请参考
AI 模型部署指南
了解如何安装和使用转换后的模型。
编译代码并上传至 Ameba。按下重置按钮后,等待开发板连接到 WiFi 网络。开发板的 IP 地址和 RTSP 网络端口号将显示在串口监视器中。
您可以使用 VLC 验证结果。您可以从 此处 下载 VLC 媒体播放器。
软件安装完成后,打开 VLC 媒体播放器,进入 Media -> Open Network Stream
请确保您的 PC 与开发板连接到同一网络以进行串流。由于使用 RTSP 作为串流协议,请在 VLC 媒体播放器中输入 rtsp://{IPaddress}:{port} 作为网络 URL,将 {IPaddress} 替换为开发板的 IP 地址,{port} 替换为串口监视器中显示的 RTSP 端口,例如 rtsp://192.168.1.154:554。默认 RTSP 端口号为 554。
接下来,单击"播放"开始 RTSP 串流以查看结果。摄像头的视频流将显示在 VLC 媒体播放器中。
人脸识别神经网络模型检测到的人脸最初标记为"unknown",需要先注册人脸并赋予名称才能进行识别。
将摄像头对准人脸,在串口监视器中输入以下命令。当处于人脸注册模式时,绿色和红色 LED 将闪烁。
注册人脸:
备注
可以注册多张人脸。但在注册人脸时,请确保画面中只有一张人脸。
要注册人脸,请将摄像头对准目标人脸并输入 "REG={Name}" 为目标人脸赋予名称。例如,"REG=SAM"。
删除特定已注册人脸:
输入命令 "DEL={Name}" 以删除某个已注册的人脸。例如,"DEL=SAM"。
重置所有已注册人脸:
输入命令 "RESET" 以清除所有之前注册的人脸。所有已分配的人脸和名称将被移除。您可以再次进入人脸注册模式重新注册人脸。
备份与恢复已注册人脸:
输入命令 "BACKUP" 将已注册人脸的副本保存到闪存。如果备份存在,输入命令 "RESTORE" 从闪存加载已注册人脸。
按住按钮 2 秒进入快照模式,当检测到未识别的人脸时拍摄快照。未识别的人脸将注册为 Stranger,并以 Stranger{strangerCounter}.jpg 格式保存到 SD 卡。当检测到一个或多个未识别的人脸时,红色 LED 将亮起。