Neural Network - 抓取 JPEG 人脸识别
材料准备
- AmebaPro2 [ AMB82 MINI ] x 1
- SD 卡 x 1
- 按钮 x 1
- 绿色 LED x 1
- 红色 LED x 1
- 220欧姆电阻 x 2
- 10K欧姆电阻 x 1
范例说明
介绍
在范例中,我们将使用 Ameba Pro2 开发板创建一个简单的人脸识别监控系统,该系统将拍摄未识别人脸的快照并将其以 JPEG 格式保存在 SD 卡上。
流程
AMB82 MINI 接线图:
在“File”->“Examples”->“AmebaNN”->“CaptureJPEGFaceRecognition”中打开范例。
在标记的代码片段中,将您的 WiFi 网络 SSID 填入“ssid”,将网络密码填入“pass”。
您还可以通过更改以黄色标记的值来设置要拍摄的最大快照数。目前,该值设置为 5,因此总共只会拍摄 5 张快照并保存到 SD 卡中。 5张之后将不再拍摄快照,即使检测到未识别的人也是如此。增加 MAX_UNKNOWN_COUNT 的值以获取更多快照。
使用以黄色标记的 modelSelect() 函式选择Neural Network (NN) 工作和模型。该函式有 4 个参数:Neural Network工作、物体侦测模型、人脸侦测模型和人脸辨识模型。如果您选择的Neural Network工作不需要它们,请替换为“NA_MODEL”。请注意,必须在调用 begin() 之前调用 modelSelect()。
有效的Neural Network工作: OBJECT_DETECTION, FACE_DETECTION, FACE_RECOGNITION
有效的物体侦测模型:
YOLOv3 model: DEFAULT_YOLOV3TINY, CUSTOMIZED_YOLOV3TINY
YOLOv4 model: DEFAULT_YOLOV4TINY, CUSTOMIZED_YOLOV4TINY
YOLOv7 model: DEFAULT_YOLOV7TINY, CUSTOMIZED_YOLOV7TINY
有效的人脸侦测模型: DEFAULT_SCRFD, CUSTOMIZED_SCRFD
有效的人脸辨识模型: DEFAULT_MOBILEFACENET, CUSTOMIZED_MOBILEFACENET
如果您想使用自己的 NN 模型,请选择自定义选项(例如,CUSTOMIZED_YOLOV4TINY/ CUSTOMIZED_SCRFD/ CUSTOMIZED_MOBILEFACENET)。要了解转换 AI 模型的过程,请参阅此处。此外,请参阅此处以了解如何安装和使用转换后的模型。
编译程式码并将其上传到 Ameba。按下Reset键后,等待Ameba Pro 2开发板连上WiFi网络。用于 RTSP 的开发板 IP 地址和网络端口号将显示在 Serial Monitor。
可以使用 VLC 验证结果。您可以从此处下载 VLC 媒体播放器。
安装完成后,打开VLC媒体播放器,进入“Media”->“Open Network Stream”。
确保您的 PC 连接到与 Ameba Pro2 板相同的网络以进行串流传输。由于使用RTSP 串流协议,在VLC 媒体播放器中输入“rtsp://{IPaddress}:{port}”作为网络URL,将{IPaddress} 替换为您的Ameba Pro2 开发板的IP 地址,以及{port } 使用Serial Monitor 中显示的RTSP 端口(例如,“rtsp://192.168.1.154:554”)。预设的 RTSP 端口号是 554。
接下来,点击“Play”开始 RTSP 串流传输以查看结果。在 VLC 媒体播放器中将显示来自镜头的视频。
人脸识别神经网络模型检测到的人脸最初被标记为“unknown”,人脸需要先注册姓名才能被识别。
将镜头对准脸部并在 Serial Monitor 中输入以下命令。当它处于人脸注册模式时,绿色和红色 LED 会闪烁。
注册人脸:
Note:可以注册多个面孔。但是,注册人脸时,请确保画面中只有一张人脸。
要注册人脸,请将镜头对准目标人脸并输入“REG={Name}”为目标人脸命名。例如,“REG=SAM”。
删除特定已注册的人脸:
输入命令“DEL={Name}”即可删除某个已注册的人脸。例如,“DEL=SAM”。
重置所有已注册的人脸:
输入命令“RESET”以忘记所有以前注册的面孔。所有先前纪录的面孔和名称都将被删除。您可以进入人脸注册模式重新注册人脸。
将注册的人脸备份到 flash 和从 flash 恢复资料:
输入命令“BACKUP”将已注册面孔的资料保存到 flash 中。如果存在备份,请输入命令“RESTORE”来从 flash 中回复已注册的人脸资料。
当侦测到未识别的人脸时,长按按钮 2 秒进入快照模式。然后,未知面孔将被注册为 Stranger,并作为 Stranger{strangerCounter}.jpg 保存到 SD 卡中。当侦测到一张或多张未知面孔时,红色 LED 会亮起。