首页IT科技yolov3改进的地方(【YOLOv7】主要改进点详解)

yolov3改进的地方(【YOLOv7】主要改进点详解)

时间2025-04-29 15:06:07分类IT科技浏览4381
导读:YOLOv7介绍 YOLOv7论文在上个月6号挂在了Arxiv上之后,引起了巨大轰动,短短一个月的时间,Github上就有了4.3k个Star。...

YOLOv7介绍

YOLOv7论文在上个月6号挂在了Arxiv上之后           ,引起了巨大轰动                 ,短短一个月的时间      ,Github上就有了4.3k个Star           。

从论文题目可以看出来      ,YOLOv7又是一个集大成者的杰作;从Github源码可以看出                 , 整体结构与YOLOv5极其相似            ,因此有YOLOov5基础的小伙伴可以无脑上手v7                 。

另外来看下v7的两位大牛作者      ,一作是 Chien-Yao Wang                 ,近几年一直耕耘在目标检测领域            ,尤其是YOLO系列,代表作:YOLOv7            、YOLOR                 、ScaledYOLOv4     、CSPNet等      。二作是 Alexey Bochkovskiy                 ,就是在20年Joseph Redmon宣布退出CV领域后扛起YOLO系列大旗并发布YOLOv4的那位大神      。

 

整体网络架构

YOLOv7完整网络架构以及各组件的详细解析可以移步至:【YOLOv7_0.1】网络结构与源码解析                  ,这里从另一个角度来了解YOLOov7的网络架构:

上面这张图是根据我目前的理解,对YOLOv7的整体结构进行的拆分           ,可能会有不正确的地方                  ,欢迎各位小伙伴前来交流~

可以很清楚的看到      ,YOLOv7大部分继承自YOLOv5           ,包括整体网络架构            、配置文件的设置和训练                  、推理     、验证过程等等                 ,基本上熟悉v5就可以无脑上手v7了;此外      ,v7也有不少继承自YOLOR      ,毕竟是同一个作者前后年的工作                 ,包括不同网络的设计      、超参数设置以及隐性知识学习的加入;还有就是在正样本匹配时仿照了YOLOX的SimOTA策略                 。

除了这些在已有YOLO版本中的算法之外            ,YOLOv7还包括了近几年最新的trick:高效聚合网络(目前论文还未接收)                  、重参数化卷积           、辅助头检测      、模型缩放等等      ,因此学习YOLOv7还是非常有价值的            。

 

高效聚合网络

图a和图b是之前常用的特征提取网络                 ,图c则是YOLOv7主要用到的ELAN网络            ,虽然有引文,但是并没有任何详细资料来学习                 ,对此                  ,作者是这么说的:

ELAN paper will be released after accept at the latest.

好叭,那就再等等      。图d是对ELAN的改进           ,其等效网络就是下面这个                  ,也就是两个ELAN(红框里)的Concat      ,作者的解释是:

For E-ELAN architecture, since our edge device do not support group convolution and shuffle operation, we are forced to implement it as an equivalence architecture.

重参数化卷积

重参数化的作用:在保证模型性能的条件下加速网络           ,主要是对卷积+BN层以及不同卷积进行融合                 ,合并为一个卷积模块                 。

下面给出了卷积+BN融合的公式化过程      ,红色表示卷积参数(权重和偏置)      ,蓝色是BN参数(

m

m

m是输入均值                 ,

v

v

v
是输入标准差            ,

γ

\gamma

γ

β

\beta

β
是两个可学习的参数)      ,最终经过一系列化简                 ,融合成了一个卷积:

在YOLOv7中            ,除了网络最后使用RepConv重参数化卷积之外,作者也提到了其他三处使用重参数化技巧的地方:

we perform reparameterization on conv-bn, repconv, orepa, and yolor.

对应model/yolo.py中model类的fuse函数(这里):

辅助头检测

YOLOv7中                 ,将head部分的浅层特征提取出来作为Aux head(辅助头)                  ,深层特征也就是网络的最终输出作为Lead head(引导头),如图b所示            。

在计算损失时:

图c的策略是           ,lead head和aux head分别                  、单独计算损失                  ,最终相加 图d的策略是      ,lead head单独计算损失           ,aux head将lead head匹配得到的正样本作为自己的正样本                 ,并计算损失      ,最终相加(占比不同) 图e的策略是      ,lead head单独计算损失                 ,aux head将lead head匹配得到的正样本(这里是粗匹配            ,也就是选择GT框中心点所在网格的上下左右4个邻域网络作为正样本筛选区域)作为自己的正样本      ,并计算损失                 ,最终相加(占比不同)

以training/yolov7-w6.yaml为例            ,最后detect模块的前四层为lead head,后四层为aux head                 ,在推理时                  ,只取前四层作为detect层的输出:

动态标签分配

YOLOv7的标签分配策略(正样本筛选),集成了YOLOv5和YOLOX两者的精华

YOLOv5

Step1:Autoanchor策略           ,获得数据集最佳匹配的9个anchor(可选)

Step2:根据GT框与anchor的宽高比                  ,过滤掉不合适的anchor

Step3:选择GT框的中心网格以及最邻近的2个邻域网格作为正样本筛选区域(辅助头则选择周围4个邻域网格) YOLOX

Step4:计算GT框与正样本IOU并从大到小排序      ,选取前10个值进行求和(P6前20个)           ,并取整作为当前GT框的K值

Step5:根据损失函数计算每个GT框和候选anchor的损失                 ,保留损失最小的前K个

Step6:去掉同一个anchor被分配到多个GT框的情况

总结

概括:

YOLOv7在5FPS到160FPS的范围内      ,无论是速度或是精度      ,都超过了目前已知的检测器 在V100上进行测试                 , 精度为56.8%AP的模型可达到30FPS(batch=1)以上的检测速率 目前唯一一款在如此高精度下仍能超过30FPS的检测器

不足:

代码冗余            ,版本更新问题 精度虚高(参考:如何评价AlexeyAB版的YOLOv7?) 验证时数据预处理的图像缩放异常(没有做padding操作) 验证时的NMS异常(应该是multi_label = False)

参考资料

目标检测算法——YOLOV7——详解

如何评价AlexeyAB版的YOLOv7?
声明:本站所有文章      ,如无特殊说明或标注                 ,均为本站原创发布。任何个人或组织            ,在未征得本站同意时,禁止复制           、盗用、采集                  、发布本站内容到任何网站                 、书籍等各类媒体平台                 。如若本站内容侵犯了原著者的合法权益                 ,可联系我们进行处理                  。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
seo网页优化三要素(掌握SEO官网优化的详细方法,提升网站流量和排名) seo网站优化上排名推广教程(提升网站流量的秘密武器:SEO排名工具)