地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录

文章目录

    • 一.准备工作
    • 二.检查模型
    • 三.板上运行
    • 四.参考

一.准备工作

  • onnx 1.5
  • Opset version 10
  • 自己训练的darknet模型
  • yolov3 darknet 转 onnx脚本:
#darknet 转 onnx脚本
链接:https://pan.baidu.com/s/1yzk9iiCR21qCh3Q9r6ybGw 
提取码:f4xx 
  • 拷贝yolov3项目并重命名
    地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录_第1张图片
  • 拷贝转换好的onnx模型至:
horizon_x3_tc_1.1.17e/samples/01_common/modelzoo/mapper/detection/yolov3/
  • 修改yolov3_post_process.cc的推理源码中classes数量和名称
  • 修改anchor 源码中的9个anchor,这里anchor中的参数需要 除以 8 。在这里插入图片描述地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录_第2张图片

二.检查模型

cd 04_yolov3_01/mapper
  • 按照yolov5使用onnx模型的案例的样子,修改01_chack

地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录_第3张图片

  • 修改yolov3_config.yaml配置文件

这里只修改模型路径和模型类型
地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录_第4张图片

sh 01_check.sh 
  • 数据校准
 sh 02_preprocess.sh
  • 模型转换

最好内存大于4GB,否则转换模型时可能内存不足。

sh 03_build.sh

这里出现一个报错:
地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录_第5张图片
根据报错修改yolov3_config.yaml配置文件中模型的输入位置:
地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录_第6张图片
转换成功后目录下会生成model_output文件
地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录_第7张图片

三.板上运行

cd runtime_arm
sh 01_build.sh
sh 02_preprocess.sh
#将构建的包发送到开发板下
sh 03_scp_to_board.sh 192.168.124.103
  • 文件将会发送到 /userdata/samples/
    地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录_第8张图片

  • ssh开发板运行推理脚本

  • env.conf中修改board_test_image图片路径

cd /userdata/samples/yolov3

sh dev_board_01_infer.sh
  • 查看推理结果

推理结束后可在image_out文件下查看输出图片。
地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录_第9张图片
地平线 旭日X3 SDB开发板 (四) yolov3自训练模型板上运行流程记录_第10张图片

四.参考

https://developer.horizon.ai/resource
https://developer.horizon.ai/forum/id=5f5f19e8cc8b1e59c8582b0a

你可能感兴趣的:(地平线,旭日,X3,计算机视觉,深度学习,神经网络)