用料
- BW21-CBV-Kit x1
- SD 卡 x1
- 轻触按键 x2
- 绿色 LED(可选)x1
- 红色 LED(可选)x1
- SG90 舵机 x1
- 220 Ω电阻(可选)x2
- 10 KΩ 电阻 x2
示例
在本例中,我们将使用 BW21-CBV-Kit 开发板创建一个简单的人脸识别门禁系统。 通过注册的人脸可以开锁。
在 "文件"->"示例"->"AmebaNN"->"DoorUnlockWithFaceRecognition"中打开神经网络示例。
用户可以使用任何 GPIO 引脚定义 LED 引脚,也可以使用电路板上的板载 LED。 2 个按钮将配置为注册按钮和保存按钮。
在高亮显示的代码片段中,"ssid "处填写 WiFi 名称,"pass "处填写 WiFi 密码。
使用黄色标出的 modelSelect() 函数选择神经网络(NN)任务和模型。 该函数需要 4 个参数: 神经网络任务、物体检测模型、人脸检测模型和人脸识别模型。 如果所选神经网络任务不需要这些参数,请用 "NA_MODEL "代替。
请注意:
在调用 begin() 函数之前必须调用 modelSelect() 函数。
有效的神经网络任务: 物体检测、人脸检测、人脸识别
有效物体检测模型:
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)。 要了解转换人工智能模型的过程,请参阅 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 网络端口号将显示在串行监视器中。
可以使用 VLC 验证结果。 您可以从此处的链接下载 VLC 媒体播放器。
软件安装完成后,打开 VLC 媒体播放器,进入 "媒体"->"打开网络流"。
- 确保电脑与 BW21-CBV-Kit 板连接到同一网络,以进行流媒体传输。
- 由于使用的是 RTSP 作为流媒体协议,请在 VLC 媒体播放器中输入 "rtsp://{IPaddress}:{port}"作为网络 URL,将 {IPaddress} 替换为 BW21-CBV-Kit 开发板的 IP 地址。
- {port} 替换为串行监视器中显示的 RTSP 端口(例如,"rtsp://192.168.1.154:554")。 默认 RTSP 端口号为 554。
接下来,点击 "播放 "开始 RTSP 串流,查看结果。 摄像机的视频流将显示在 VLC 媒体播放器中。
人脸识别神经网络模型检测到的人脸最初被标记为 "未知",人脸在被识别之前需要先注册一个名字。
默认情况下,注册模式将被禁用,人脸识别将启动。
进入注册模式以注册人脸:
按下先前配置的注册按钮。 进入注册模式后,两个 LED 灯都将亮起,您可以使用以下命令备份和还原面孔、注册、删除指定面孔和重置所有面孔。
-
注册人脸
注意:
可登记多个面孔。 但是,在注册人脸时,请确保画面中只有一个人脸。
要开始注册,请将摄像机对准人脸,然后在串行监视器中输入 "REG={Name}",为目标人脸命名。 例如,"REG=SAM"。
-
删除特定的注册面:
输入命令 "DEL={Name}"可删除已注册的某个面孔。 例如,"DEL=SAM"。
-
重置所有已注册的面孔:
输入命令 "RESET(重置)"可忘记所有已注册的面孔。 所有先前分配的面孔和姓名都将被删除。 您可以进入面孔注册模式重新注册面孔。
-
备份和恢复面孔:
输入命令 "BACKUP(备份)"可将已注册面孔的副本保存到闪存中。 如果存在备份,则输入命令 "RESTORE "从闪存加载已注册的面孔。
退出注册模式,开始识别人脸并解锁门:
注册人脸后,按住之前设置的保存按钮 3 秒钟。 两个 LED 灯将开始闪烁,并退出注册模式;已注册的人脸将保存为闪烁状态,并开始识别模式。
如果检测到多个人脸或单个未知人脸,门将保持锁定状态,红色 LED 灯亮起。 如果检测到注册人脸,绿色 LED 将亮起,门将解锁(伺服旋转 180 度)10 秒钟。 将拍摄一张快照并命名为 {registeredName}{counter}。jpg 并存储到 SD 卡中。