【教程】小安派BW21-CBV-Kit——人脸识别门锁

[复制链接]
查看19 | 回复1 | 昨天 15:15 | 显示全部楼层 |阅读模式

用料

  • BW21-CBV-Kit x1
  • SD 卡 x1
  • 轻触按键 x2
  • 绿色 LED(可选)x1
  • 红色 LED(可选)x1
  • SG90 舵机 x1
  • 220 Ω电阻(可选)x2
  • 10 KΩ 电阻 x2

示例

在本例中,我们将使用 BW21-CBV-Kit 开发板创建一个简单的人脸识别门禁系统。 通过注册的人脸可以开锁。

  • BW21-CBV-Kit 接线图:

image.png

"文件"->"示例"->"AmebaNN"->"DoorUnlockWithFaceRecognition"中打开神经网络示例。

image.png

用户可以使用任何 GPIO 引脚定义 LED 引脚,也可以使用电路板上的板载 LED。 2 个按钮将配置为注册按钮和保存按钮。

image.png

在高亮显示的代码片段中,"ssid "处填写 WiFi 名称,"pass "处填写 WiFi 密码。

image.png

使用黄色标出的 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/ 了解如何安装和使用转换后的模型。

image.png

编译代码并上传到 BW21-CBV-Kit。 按下重置按钮后,等待 BW21-CBV-Kit 开发板连接到 WiFi 网络。 电路板的 IP 地址和 RTSP 网络端口号将显示在串行监视器中。

可以使用 VLC 验证结果。 您可以从此处的链接下载 VLC 媒体播放器

软件安装完成后,打开 VLC 媒体播放器,进入 "媒体"->"打开网络流"

image.png

  • 确保电脑与 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 媒体播放器中。

image.png

人脸识别神经网络模型检测到的人脸最初被标记为 "未知",人脸在被识别之前需要先注册一个名字。

默认情况下,注册模式将被禁用,人脸识别将启动。

进入注册模式以注册人脸:

按下先前配置的注册按钮。 进入注册模式后,两个 LED 灯都将亮起,您可以使用以下命令备份和还原面孔、注册、删除指定面孔和重置所有面孔。

  1. 注册人脸

注意:

可登记多个面孔。 但是,在注册人脸时,请确保画面中只有一个人脸。

要开始注册,请将摄像机对准人脸,然后在串行监视器中输入 "REG={Name}",为目标人脸命名。 例如,"REG=SAM"。

image.png

image.png

  1. 删除特定的注册面:

输入命令 "DEL={Name}"可删除已注册的某个面孔。 例如,"DEL=SAM"。

  1. 重置所有已注册的面孔:

输入命令 "RESET(重置)"可忘记所有已注册的面孔。 所有先前分配的面孔和姓名都将被删除。 您可以进入面孔注册模式重新注册面孔。

  1. 备份和恢复面孔:

输入命令 "BACKUP(备份)"可将已注册面孔的副本保存到闪存中。 如果存在备份,则输入命令 "RESTORE "从闪存加载已注册的面孔。

退出注册模式,开始识别人脸并解锁门:

注册人脸后,按住之前设置的保存按钮 3 秒钟。 两个 LED 灯将开始闪烁,并退出注册模式;已注册的人脸将保存为闪烁状态,并开始识别模式。

如果检测到多个人脸或单个未知人脸,门将保持锁定状态,红色 LED 灯亮起。 如果检测到注册人脸,绿色 LED 将亮起,门将解锁(伺服旋转 180 度)10 秒钟。 将拍摄一张快照并命名为 {registeredName}{counter}。jpg 并存储到 SD 卡中。

用心做好保姆工作
回复

使用道具 举报

HaydenHu | 昨天 16:51 | 显示全部楼层
还真出了人脸识别门锁,不过这个没有3d检测效果,弄个活体检测代替也可以呀
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则