用料
示例
在这个例子中,我们将使用 BW21-CBV-Kit 来识别检测到的人脸。
实现流程
在 “文件” -> “示例” -> “AmebaNN” -> “RTSPFaceRecognition” 中打开人脸识别示例。
在突出显示的代码片段中,在“ssid”中填写您的 WiFi 名称,在“pass”中填写 WiFi 密码。
使用 modelSelect() 函数选择神经网络 (NN) 任务和模型,以黄色突出显示。
此函数接受 4 个参数:神经网络任务、对象检测模型、人脸检测模型和人脸识别模型。
如果所选神经网络任务不需要它们,请替换为 “NA_MODEL”。
请注意,在调用 begin() 函数之前,必须调用 modelSelect() 函数。
有效的神经网络任务:OBJECT_DETECTION、FACE_DETECTION FACE_RECOGNITION
有效的对象检测模型:
YOLOv3 模型:DEFAULT_YOLOV3TINY、CUSTOMIZED_YOLOV3TINY
YOLOv4 模型:DEFAULT_YOLOV4TINY、CUSTOMIZED_YOLOV4TINY
YOLOv7 模型:DEFAULT_YOLOV7TINY、CUSTOMIZED_YOLOV7TINY
有效的人脸检测模型:DEFAULT_SCRFD、CUSTOMIZED_SCRFD
有效的人脸识别模型:DEFAULT_MOBILEFACENET、CUSTOMIZED_MOBILEFACENET
如果您想使用自己的 NN 模型,请选择自定义选项(例如,CUSTOMIZED_YOLOV4TINY/ CUSTOMIZED_SCRFD/ CUSTOMIZED_MOBILEFACENET)。
要了解转换 AI 模型的过程,请参阅 https://www.amebaiot.com/en/amebapro2-ai-convert-model/ 。 此外,请参阅 https://www.amebaiot.com/en/amebapro2-apply-ai-model-docs/ 了解如何安装和使用转换后的模型。
- 编译代码并将其上传到 BW21-CBV-Kit。
- 按下 复位按钮后,等待 BW21-CBV-Kit 连接到 WiFi 网络。
- 主板的 IP 地址和 RTSP 的网络端口号将显示在 Serial Monitor 中。
- 人脸识别的结果可以使用 VLC 进行验证。您可以从链接下载 VLC 媒体播放器 此处。
- 软件安装完成后,打开 VLC 媒体播放器,然后转到“媒体”->“打开网络流”。
- 确保您的 PC 与 BW21-CBV-Kit 连接到同一网络以进行串流。
- 由于 RTSP 用作流式处理协议,因此 key 在 “rtsp://{IPaddress}:{port}” 中作为 VLC 媒体播放器中的网络 URL,将 {IPaddress} 替换为 BW21-CBV-Kit 的 IP 地址,
- 将 {port} 替换为 Serial Monitor 中显示的 RTSP 端口(例如,“rtsp://192.168.1.154:554”)。默认 RTSP 端口号为 554。
- 接下来,单击“播放”开始 RTSP 流式传输以查看结果。来自摄像机的视频流将显示在 VLC 媒体播放器中。
- 人脸识别神经网络模型检测到的人脸最初被标记为 “unknown”,需要先用名字注册人脸才能被识别。
- 将相机对准人脸,然后在 Serial Monitor 中输入以下命令。
要注册人脸:
注: 可以注册多个面。但是,在注册人脸时,请确保框架中只有一个人脸。
要注册人脸,请将相机对准目标人脸,然后输入 “REG={Name}” 为目标人脸命名。例如,“REG=SAM”。
- 要删除特定的已注册人脸:
输入命令 “DEL={Name}” 以删除某个已注册的人脸。例如,“DEL=SAM”。
- 要重置所有已注册的面:
输入命令 “RESET” 以忘记所有以前注册的人脸。所有以前分配的面和名称都将被删除。您可以通过进入人脸注册模式来重新注册人脸。
- 要在 Flash 中备份和恢复已注册的人脸:
输入命令 “BACKUP” 将已注册面孔的副本保存到 Flash。如果存在备份,请输入命令“RESTORE”以从 Flash 加载已注册的人脸。
程式码说明
您可以通过取消注释下面突出显示的代码,根据您的 WiFi 网络质量调整视频比特率。
|