yolov7在工业中的小试牛刀

来源:投稿 作者:某一个名字
编辑:学姐

导语

目标检测作为视觉项目中的重要一环被工业界广泛应用,考虑到检测速度与精度,使用最多的非yolo系列莫属。

随着yolov5的提出,由于其对于工业数据很强的适应性,使得该算法模型一直处于霸屏的位置。

而yolov7的面世,对yolov5发起了直接的挑战,经过一些数据集的检验在速度与准确度方面有过之而无不及。

现在就开始介绍下yolov7工业应用的相关步骤,希望在大家的实际项目中能够有所帮助。

1、yolov7算法解读

yolov7总体来说在重参化模块、动态标签替换这两方面进行了一些优化。对于结构重参化来说,yolov7通过分析梯度的传播路径来为网络中的不同层进行结构重参化优化,并且提出了不同规划的模型结构重参化。

在动态标签分配方面,因为模型有多个输出层,所以在训练时就难以为不同的分支分配更好地动态目标。因此作者提出了一个新的动态标签分配办法:coarse-to-fine,即由粗到细引导标签分配的策略。

除了以上两点,作者还提出了扩展和复合缩放的方式,通过这种方式可以更高效利用参数量和计算量。这样不仅可以减少大量参数,还可以提高推理速度以及检测精度。

从最终的实验结果来看,作者开源出来的yolov7已经获得了最先进的结果,是目前最新、最高效的目标检测器。

yolov7在工业中的小试牛刀_第1张图片

yolov7检测效果对比图

2、代码库地址以及版本

2.1 代码库地址:

https://github.com/WongKinYiu/yolov7

2.2 版本选择

yolov7在工业中的小试牛刀_第2张图片

3、环境安装

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

yolov7在工业中的小试牛刀_第3张图片

yolov7在工业中的小试牛刀_第4张图片

4、模型训练

4.1训练数据处理

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

yolov7在工业中的小试牛刀_第5张图片

yolov7在工业中的小试牛刀_第6张图片

yolov7在工业中的小试牛刀_第7张图片

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

yolov7在工业中的小试牛刀_第8张图片

4.2模型训练

1)数据集路径以及类别的设置:

yolov7在工业中的小试牛刀_第9张图片

2)该代码库对于模型训练参数的更改设置均在train.py文件中,通常无需更改直接运行即可。

5、模型导出

本篇就以openvino为例来说明下目标检测模型的部署流程,运行export.py文件,只需将导出权重文件weights参数换成训练得到的best.pt即可,最终得到一个best.onnx文件。

6、模型部署

6.1 基于Windows的openvino安装以及vs2019配置在之前分享的文章《浅谈mobilenet网络在工业数据分类中的应用》已有描述,按照步骤操作即可完成。

6.2 基于openvino的部署代码如下

yolov7在工业中的小试牛刀_第10张图片

yolov7在工业中的小试牛刀_第11张图片

yolov7在工业中的小试牛刀_第12张图片

yolov7在工业中的小试牛刀_第13张图片

yolov7在工业中的小试牛刀_第14张图片

yolov7在工业中的小试牛刀_第15张图片

yolov7在工业中的小试牛刀_第16张图片

至此部署代码就结束了,大家可以移用到yolo系列其他模型的部署当中。

结语

此篇分享完毕,工业应用中的分类、语义分割、目标检测就都已一一介绍,其中涉及到算法模型的训练以及部署工具的使用,希望能够在各自的学习或者工作实践中起到普及的作用,后续会继续细致化分享系统算法、GPU部署相关的知识,但愿大家能够喜欢,谢谢!

点击卡片关注【学姐带你玩AI】

回复“YOLO”领取论文+代码数据集

你可能感兴趣的:(深度学习干货,深度学习,计算机视觉,目标检测)