Neural Nework - 人脸检测

材料准备

范例说明

介绍

在本例中,我们将使用 Ameba Pro2 开发板进行人脸检测。基于5个面部特征点(左眼,右眼,鼻子,嘴巴左侧和嘴巴右侧)检测人脸。

流程

打开人脸检测示例 “File” -> “Example” -> “AmebaNN” -> “RTSPFaceDetection”。

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 地址和网络端口号将显示在串行监视器中。
可以使用 VLC 验证检测到的面部结果。您可以从连结下载 VLC 媒体播放器 (这里)
软件安装完成后,打开VLC media player,进入 “Media” -> “Open Network Stream”。

1

确保您的 PC 连接到与 Ameba Pro2 开发板相同的网络以进行串流式传输。由于 RTSP 被用作串流媒体协议,在 VLC 媒体播放器中键入“rtsp://{IPaddress}:{port}”作为网络 URL,将 {IPaddress} 替换为您的 Ameba Pro2 开发板的 IP 地址,以及 {port } 使用串行监视器中显示的 RTSP 端口(例如,“rtsp://192.168.1.154:554”)。默认的 RTSP 端口号是 554。
接下来,点击“播放”开始RTSP 串流式传输以查看结果。来自摄像机的视频串流将显示在 VLC 媒体播放器中。

1

带有人脸界标的边界框将被绘制到 RTSP 视频串流中,以标记相机检测到的人脸。需要注意的是,在每个通道上,它最多支援 6 层,每层最多可支援 30 个 OSD 元素。

1

侦测到的人脸资讯将显示在Serial Monitor中。尽管检测到了8张脸,但每层每通道仅能显示30个OSD元素。因此,为了避免OSD元素呈现不完整,本例中只会显示两张脸,并附上边界框和标志点。

1

程式码说明

可以根据您的 WiFi 网络质量调整视频bitrate,方法是取消注解下面标示的程式码。

1

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