介绍一下yolov7的工业应用步骤
来源:投稿 作者:某一个名字
编辑:学姐
导语
目标检测作为视觉项目中的重要一环被工业界广泛应用,考虑到检测速度与精度,使用最多的非yolo系列莫属。
随着yolov5的提出,由于其对于工业数据很强的适应性,使得该算法模型一直处于霸屏的位置。
而yolov7的面世,对yolov5发起了直接的挑战,经过一些数据集的检验在速度与准确度方面有过之而无不及。
现在就开始介绍下yolov7工业应用的相关步骤,希望在大家的实际项目中能够有所帮助。
1、yolov7算法解读
yolov7总体来说在重参化模块、动态标签替换这两方面进行了一些优化。对于结构重参化来说,yolov7通过分析梯度的传播路径来为网络中的不同层进行结构重参化优化,并且提出了不同规划的模型结构重参化。
在动态标签分配方面,因为模型有多个输出层,所以在训练时就难以为不同的分支分配更好地动态目标。因此作者提出了一个新的动态标签分配办法:coarse-to-fine,即由粗到细引导标签分配的策略。
除了以上两点,作者还提出了扩展和复合缩放的方式,通过这种方式可以更高效利用参数量和计算量。这样不仅可以减少大量参数,还可以提高推理速度以及检测精度。

2、代码库地址以及版本
2.1 代码库地址:
https://github.com/WongKinYiu/yolov7
2.2 版本选择

3、环境安装
环境安装教程以及注意事项可参考本人分享的文章《基于deeplabv3+的工业应用流程分析》(之后会更新)。我使用的版本为:


4、模型训练
4.1训练数据处理
1)首先使用labelimg工具进行标注,得到的是xml标签文件,此时需要将xml转换成训练所需的txt格式,转换代码是:



2)转换完成后数据文件夹设置,如下所示分别存好图片数据以及标签txt数据集即可:

4.2模型训练
1)数据集路径以及类别的设置:

2)该代码库对于模型训练参数的更改设置均在train.py文件中,通常无需更改直接运行即可。
5、模型导出
本篇就以openvino为例来说明下目标检测模型的部署流程,运行export.py文件,只需将导出权重文件weights参数换成训练得到的best.pt即可,最终得到一个best.onnx文件。
6、模型部署
6.1 基于Windows的openvino安装以及vs2019配置在文章《浅谈mobilenet网络在工业数据分类中的应用》(之后会更新)已有描述,按照步骤操作即可完成。
6.2 基于openvino的部署代码如下







至此部署代码就结束了,大家可以移用到yolo系列其他模型的部署当中。
结语
此篇分享完毕,工业应用中的分类、语义分割、目标检测就都已一一介绍,其中涉及到算法模型的训练以及部署工具的使用,希望能够在各自的学习或者工作实践中起到普及的作用,后续会继续细致化分享系统算法、GPU部署相关的知识,但愿大家能够喜欢,谢谢!
YOLO相关论文PDF+代码数据集+课件
关注【学姐带你玩AI】公众号,回复“YOLO”获取