【教程】小安派BW21-CBV-Kit——目标识别

[复制链接]
查看41 | 回复0 | 2025-1-20 15:59:15 | 显示全部楼层 |阅读模式

用料

示例

在这个例子中,我们将使用 BW21-CBV-Kit 开发板,通过板载摄像头传感器 (JX-F37P) 来检测 80 种不同类型的物体,例如人、自行车、汽车、笔记本电脑等。

以下示例显示了如何使用“对象检测”和“屏幕显示”。

这两个示例之间的主要区别在于 Object Detection 结果的处理位置。“ObjectDetectionCallback” 使用回调函数,而 “ObjectDetectionLoop” 处理循环函数中的结果。

  1. ObjectDetectionLoop 对象检测循环
  2. ObjectDetectionCallback 对象检测回调

实现流程

“文件” -> “示例” -> “AmebaNN” -> ObjectDetectionLoop“ 中打开一个 Object Detection 范例。

image.png

  • 在突出显示的代码片段中,在“ssid”中填写您的 WiFi 名称,在“pass”中填写 WiFi 密码。

image.png

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

请注意,对于来自 pytorch 的 Yolov7 对象检测训练,您需要执行额外的步骤进行重新参数化。对于此重新参数化步骤,Realtek 在文件夹 Yolov7_reparam_scripts 中的 ~/NeuralNetwork/Yolov7_reparam_scripts 下提供了两个脚本。

要运行的命令是:

python reparam_yolov7-tiny.py –weights weights/best.pt –custom_yaml custom/yolov7-tiny-deploy.yaml –output best_reparam.pt

image.png

  • 编译代码并将其上传到 BW21-CBV-Kit 。
  • 按下 复位按钮后,等待 BW21-CBV-Kit 连接到 WiFi 网络。
  • 主板的 IP 地址和 RTSP 的网络端口号将显示在 Serial Monitor 中。
  • 可以使用 VLC 验证检测到的对象的结果。您可以从链接下载 VLC 媒体播放器 此处
  • 软件安装完成后,打开 VLC 媒体播放器,然后转到“媒体”->“打开网络流”。

image.png

  • 确保您的 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。

image.png

  • 接下来,单击“播放”开始 RTSP 流式传输以查看结果。来自摄像机的视频流将显示在 VLC 媒体播放器中。
  • 将在 RTSP 视频流上绘制一个包含其对象名称和置信度分数的边界框,以突出显示已识别的对象。

image.png

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

image.png

程式码说明

您可以通过取消注释下面突出显示的代码,根据您的 WiFi 网络质量调整视频比特率。

image.png

用心做好保姆工作
回复

使用道具 举报

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

本版积分规则