本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——4Bin模型转化过程
 大家好,经过前几期的介绍,对于X3派上的Yolo模型部署,我们已经可以进行到最后一步了
 今天给大家带来,转模型的关键步骤,其实也就是对于地平线社区大佬们博客的核心总结,也把有一些难理解的步骤,用最简单的话语进行概括下
1.打开环境
首先进入环境 horizon_bpu 是我的环境名字
conda activate horizon_bpu
2.模型的验证
我们先进入官方的包(这一个步骤,在上面)
yolov5s_v2.0/04_detection/03_yolov5s/mapper/
 使用 hb_mapper checker 工具进行模型验证,模型验证需要利用hb_mapper checker后面跟一堆参数来对模型进行配置。
- --model-type:我们这里模型onnx,所以填- onnx
- --march:旭日3派只能填- bernoulli2
- --proto:若模型为caffe,则填入caffe所需的prototxt文件。onnx模型就不用写这个参数
- --model:onnx模型就是xx.onnx
- --input-shape:(该参数可选,不写的话程序会自动识别参数,如果指定以指定为主)
以我们的为例子,命令如下:
hb_mapper checker  \
--model-type onnx \
--march bernoulli2 \
--model best.onnx \
2.1 修改01_check_X3.sh
当然如果你按照前面的配置完成模型只需要修改01_check_X3.sh 里面的模型目录就行

2.2 运行01_check_X3.sh
运行如图就行(我这里忘记截图了,找一个别人的看看)

3. 校准模型
3.1建立图像文件夹
在如下目录建立一个fire文件存储你的图片
当然你可以直接把你的训练集放进来就行

3.2修改02_preprocess.sh
把下面的路径改到你的fire
对应到你的就是把你的图片数据集放到这个地方

3.3运行02_preprocess.sh
运行结果如下不报错就行

4.转化模型
4 编辑配置文件
按照下面内容修改模型目录和输出名字

运行03_build_X3.sh
如图这样就转化成功了

在output文件夹就有bin文件了

5.板子运行
进入官方镜像的以下目录

5.1修改coco_class_name

5.2修改test_yolov5.py
 5.3修改 postprocess.py
5.3修改 postprocess.py
 
 这个地方呢,为什么是会这个数据呢,应该是与672有关
 我呢还没研究到这一步,目前只是记录下我当时比赛过程中,遇到的
 其实哈,我也没试试这个改成别的能用不,不过我推断就得这个数据,不然模型输出大小与后续不匹配,mat乘积应该是有问题的
 后续我研究研究大佬的文章,给大家出个核心概括版

5.4 运行

6总结与未来展望
 到目前为止,已经完成了对于模型的转化,然后对于官方的工具包,也进行了运行
 出现5.4的结果就证明,模型的使用部署没问题
 下面我将给大家带来,如何将模型应用到Websocket,并且和大家初步一起记录下我在01到手测试的障碍物识别页面展示



















