用料
示例
在这个例子中,我们将使用 BW21-CBV-Kit 来检测人脸。根据 5 个人脸特征点(左眼、右眼、鼻子、嘴巴左侧和嘴巴右侧)检测人脸。
实现流程
在 “文件” -> “示例” -> “AmebaNN” -> “RTSPFaceDetection” 中打开人脸检测范例。
在突出显示的代码片段中,在“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 。按下 Reset 按钮后,等待 BW21-CBV-Kit 连接到 WiFi 网络。主板的 IP 地址和 RTSP 的网络端口号将显示在 Serial Monitor 中。
可以使用 VLC 验证检测到的人脸的结果。您可以从链接下载 VLC 媒体播放器 此处.
软件安装完成后,打开 VLC 媒体播放器,然后转到“媒体”->“打开网络流”。
确保您的 PC 与 BW21-CBV-Kit 连接到同一网络以进行串流。由于 RTSP 被用作串流协议,因此在 VLC 媒体播放器中输入 “rtsp://{IPaddress}:{port}” 作为网络 URL,将 {IPaddress} 替换为 BW21-CBV-Kit 的 IP 地址,将 {port} 替换为 Serial Monitor 中显示的 RTSP 端口(例如,“rtsp://192.168.1.154:554”)。默认 RTSP 端口号为 554。
接下来,单击“播放”开始 RTSP 流式传输以查看结果。来自摄像机的视频流将显示在 VLC 媒体播放器中。
带有人脸特征点的边界框将绘制到 RTSP 视频流中,以突出显示摄像头检测到的人脸。请注意,在每个通道上,它最多支持 6 个层,每个层最多可以支持 30 个 OSD 元素。
检测到的人脸信息将显示在 Serial Monitor 中。尽管检测到 8 个人脸,但每个图层的每个通道只能显示 30 个 OSD 元素。因此,为避免 OSD 元素的不完整渲染,在此示例中,将只用边界框和地标描绘两个面。
程式码说明
您可以通过取消注释下面突出显示的代码,根据您的 WiFi 网络质量调整视频比特率。