用料
示例
说明
在这个例子中,我们将使用 BW21-CBV-Kit ,通过板载摄像头传感器 (JX-F37P) 来检测 80 种不同类型的物体,例如人、自行车、汽车、笔记本电脑等。
实现流程
打开范例 “文件” -> “示例” -> “AmebaNN” -> “UVCDObjectDetectionLoop”。
使用 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
- 编译代码并将其上传到 BW21-CBV-Kit 。
- 按下复位按钮后,通过 Type-C 数据线将“OTG USB”连接到目标设备,例如 PC。
- 可以使用 Potplayer 验证检测到的对象的结果。您可以从以下链接下载 Potplayer 此处。
- 软件安装完成后,打开 Potplayer,进入“PotPlayer”->“打开”->“设备设置”。
- 接下来,在设备和格式下拉菜单中,选择“USB UVC CLASS”和“H264 1920x1080 24”,然后单击“打开设备”。
- 来自摄像头的视频流将显示在 Potplayer 中。
- 将在 RTSP 视频流上绘制一个包含其对象名称和置信度分数的边界框,以突出显示已识别的对象。
|