Neural Nework - 物体检测

材料准备

范例说明

介绍

在这个例子中,我们将使用 Ameba Pro2 开发板使用板载摄像头传感器(JX-F37P)检测 80 种不同的物体,如人、自行车、汽车、笔记本电脑等。
以下示例显示了如何使用对象检测和屏幕显示。这两个示例之间的主要区别在于对象检测结果的处理位置。 “ObjectDetectionCallback”使用回调函数,而“ObjectDetectionLoop”在循环函数中处理结果。
1. ObjectDetectionLoop
2. ObjectDetectionCallback

流程

打开其中一个对象检测示例 “File” -> “Example” -> “AmebaNN” -> “ObjectDetectionLoop”。

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。

1

接下来,点击“播放”开始RTSP 串流式传输以查看结果。来自摄像机的视频串流将显示在 VLC 媒体播放器中。

将在 RTSP 视频串流上绘制一个带有对象名称和置信度分数的边界框,以标记已识别的对象。

1

预训练模型总共可以识别 80 种不同类型的物体。这些对象可以在 ObjectClassList.h 中找到。每个对象的索引号是固定的,不应更改。要停用某些物体的检测,请将过滤器值设置为 0。例如,将过滤器值设置为 0 以排除对自行车的检测。

1

程式码说明

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

1

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