Neural Network - 人脸辨识解锁

材料准备

  • AmebaPro2 [ AMB82 MINI ] x 1
  • SD 卡 x 1
  • 按钮 x 2
  • 绿色 LED (Optional) x 1
  • 红色 LED (Optional) x 1
  • Servo (Ex. Tower Pro SG90) x 1
  • 220欧姆电阻 x 2
  • 10K欧姆电阻 x 2

范例说明

介绍

在这个例子中,我们将使用 Ameba Pro2 开发板创建一个简单的人脸辨识门禁系统。可以用注册的人脸解锁开门。

流程

AMB82 MINI 接线图:

1

在“File”->“Examples”->“AmebaNN”->“DoorUnlockWithFaceRecognition”中打开Neural Network范例。

1

用户可以使用任何 GPIO 引脚或使用板载 LED 来定义 LED 引脚。 2 个按钮将被配置为用作注册按钮和保存按钮。

1

在标记的代码片段中,将您的 WiFi 网络 SSID 填入“ssid”,将网络密码填入“pass”。

1

使用以黄色标记的 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 模型的过程,请参阅此处。此外,请参阅此处以了解如何安装和使用转换后的模型。

1

编译程式码并将其上传到 Ameba。按下Reset键后,等待Ameba Pro 2开发板连上WiFi网络。用于 RTSP 的开发板 IP 地址和网络端口号将显示在 Serial Monitor。
可以使用 VLC 验证结果。您可以从此处下载 VLC 媒体播放器。
安装完成后,打开VLC媒体播放器,进入“Media”->“Open Network Stream”。

1

确保您的 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 媒体播放器中将显示来自镜头的视频。

1

人脸识别神经网络模型检测到的人脸最初被标记为“unknown”,人脸需要先注册姓名才能被识别。

1

默认情况下,注册模式将被禁用,并且面部识别将启动。

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

按下之前配置的注册按钮。当处于注册模式时,两个 LED 都会亮起,您可以使用以下命令来备份和恢复人脸、注册、删除指定人脸以及重置所有人脸。

1. 注册人脸:
Note:可以注册多个面孔。但是,注册人脸时,请确保画面中只有一张人脸。
要开始注册,请将相机对准脸部并在Serial Monitor中输入“REG={Name}”,为目标脸部指定名称。例如,“REG=SAM”。

1

1

2. 删除特定已注册的人脸:
输入命令“DEL={Name}”即可删除某个已注册的人脸。例如,“DEL=SAM”。

3. 重置所有已注册的人脸:
输入命令“RESET”以忘记所有先前注册的面孔。所有先前分配的面孔和名称都将被删除。您可以通过进入人脸登记模式再次登记人脸。

4. 备份和恢复人脸:
输入命令“BACKUP”将注册面孔的副本保存到快闪记忆体。如果存在备份,请输入命令“RESTORE”以从快闪记忆体加载已注册的面孔。

退出注册模式开始识别人脸并解锁门:
注册人脸后,按住之前配置的保存按钮 3 秒钟。两个 LED 将开始闪烁并退出注册模式; 注册的面孔将被保存到快闪记忆体,并且识别模式将启动。
如果检测到多于一张脸或一张未知脸,门将保持锁定状态,红色 LED 灯将亮起。如果检测到已注册的面部,绿色 LED 将亮起,门将解锁(servo旋转 180 度)10 秒。将拍摄快照并命名为 {registeredName}{counter}.jpg 并存储到 SD 卡中。

请先确认已安装QQ通讯软体