YOLO系列算法迭代历程

YOLOv1

2016年5月 Joseph Redmon始祖开山之作

此时的网络结构借鉴GoogLeNet(2014年ImageNet挑战赛的冠军之作),输入resize到448x448,经过24层卷积后32倍下采样到7x7,再经过2层全连接得到7x7x30的最终预测,相当于将原图划分成7x7的网格,每个网格预测2个bounding box(4个位置信息:中心点x,y和宽高w,h + 1个置信度confidence)和20个类别,也就是最终预测为30个通道的原因。网络结构简洁优美,暗合大道至简,时至今日,仍在不断进化。

YOLOv2

2016年12月底 2017年初 Joseph Redmon始祖迭代之作

扩展了检测的类别到9000个,又称YOLO9000。此时的网络结构借鉴了2015年的VGG-16(彼时对深度卷积神经网络结构与性能进行实验的中平之作),构建了Darknet-19,计算单元中增加了Batch Normalization,大量使用3x3和1x1卷积。引入了Faster R-CNN(2016年两阶段目标检测的最新力作)的锚框思想,并根据k-means聚类获得锚框的初始尺寸。输入仍然resize到448x448,经过19层卷积后32倍下采样到7x7,但取消了全连接,改用全局平均池化层。每个网格直接预测锚框偏移量,并根据公式获得最终的预测结果。另有诸多涨点的小trick,也奠定了YOLO系列算法博采众长的进化基因。

YOLOv3

2018年4月 Joseph Redmon始祖终章之作

此时的网络结构借鉴Resnet(2015年何凯明的成名之作,很大程度上解决了网络深度的增加和性能的提升不呈正相关的问题),构建了更深的网络Darknet-53。多尺度检测,分别在32倍、16倍、8倍下采样构建三个检测分支,以应对大、中、小型目标的检测。将用于分类的softmax层改为logistic层,以支持多标签分类。计算单元也更加成熟:Cov卷积层+BN归一化层+Leaky ReLU激活层。输入的分辨率也有原来的448提升到了512。自此之后,Joseph Redmon始祖功成身退,但YOLO的进化仍在继续。

YOLOv4

2020年4月 Alexey Bochkovskiy大神接力之作

此作也是延续了Joseph Redmon始祖的Darnket框架的续作,在两年间,Alexey Bochkovskiy大神的提交频率令人惊叹,热情不减。此时的网络结构借鉴了CSPNet(2019年的CVPR顶会之作),在上一代基础上构建了CSPDarknet53。这个时候的目标检测范式也被确立为了Backbone+Neck+Head三个部分。Neck部分融入了SPP(实际上v3的时候就有,但是在v4中被正式固定在网络结构中)和PAN(32倍下采样后,feature map又上采样去融合16倍、8倍下采样分支,目的是将高维特征融会浅层特征中)。计算单元由原来的Cov+BN+Leaky ReLU变为Cov+CmBN+Mish。以及这两年间的一众有效的trick:Mosaic数据增强、Label Smoothing平滑、位置损失有MSE改为CIOU、学习率余弦退火衰减、空间注意力模块等。

YOLOv5

2020年6月 Ultralytics公司重构之作

最初是对YOLOv3进行PyTorch版本的复现中做好的一作,后基于v3尝试引入当时最新的改进思路,不断发展。YOLOv4推出以后,有轻鄙之意,认为v4中的一些改进点是抄袭自Ultralytics,故而在两个月之后发布YOLOv5,且v5并未定型,一直迭代到2022年,并在后面的YOLOv8中继续进化。而v5和v4确实有很大的重合性,且v5基于更通用的PyTorch架构,因而后续版本的改进则是基于v5了。位置损失使用GIOU,原理上不如v4的CIOU。这个时候网络输入的分辨率已经从512提升到了640(这里说的是默认的分辨率,可以根据自己的设备尽心更改)。计算单元变为:Cov+BN+SiLU。计算模组:借鉴了CSPNet构建了C3模块。第一次下采样用了Focus层,每个22的格子进行通道拼接变成11大小,但是通道数增加为原来的4倍。

YOLOv6

2022年6月首发 但于8月再版 美团团队的昙花之作

时隔两年之后,YOLO再起风波,但因并非嫡脉传承,且随后不久就有嫡脉正宗一代推出,虽在性能上确有令人信服的提升,然所用不多。v6也非定型之作,自发布之后在美团系中也迭代了一段时间,直到2023年。Neck使用了双向并联(BiC)模块Rep-PAN。计算单元组,对于小模型使用RepBlock替换CSPBlock,对于大模型使用CSPStackRep Block替换CSPBlock。位置损失使用了比CIOU更先进的SIOU。Head使用了解耦头,并且将Anchor base改为了Anchor free。

YOLOv7

2022年7月 Chien-Yao Wang大神承平之作

实际上是延续了YOLOv4,Chien-Yao Wang大神也是两年前的YOLOv4的二作,由于得到了始祖的认可,被认为是嫡脉传承,故认可度颇高,但已不在坚持最初的Darknet框架,且v6又于8月再版,性能上被v6剑指又被其击败,一时间风起云涌,不知两可。使用了名为ELAN的计算模组,实际上是一种新的模组式的残差连接。下采样设计了名为MP的结构,实际上就是最大池化和步长为2的卷积都做,然后做拼接融合。在正负样本匹配策略上借鉴了simOTA(2021年将YOLO回归到Anchor free的旷视之作)。

YOLOv8

2023年1月 Ultralytics公司众望之作

为平息v6、v7之争,Ultralytics公司众望所归,吸收又两年间计算机视觉领域的百家之长,在YOLOv5之上重整框架,推出YOLOv8。由于v6、v7都是基于v5,故v8所未得正统,却最得真传,于群雄逐鹿中最得人心,且一贯了不断迭代的风格。得益于解耦头的思想,v8不仅支持目标检测,还支持实例分割、关键点检测、分类、旋转目标检测。目标检测:每个分支预测两个头,一个预测类别,一个预测bounding box位置,借鉴了2019年8月的FCOS。实例分割:除了目标检测的两个头之外,在8倍下采样分支出上采样得到原生掩码,每个分支再预测一个掩码系数,根据原生掩码和掩码系数的线性组合得到最终的mask,借鉴了2019年4月的CVPR之作YOLACT。关键点检测:除了目标检测的两个头之外,还有个头用于预测关键点,每个网格预测17个关键点(默认为人体姿势的17个关键点),每个关键点三个值,两个值用于预测位置,一个之用于预测置信度。旋转目标检测:除了目标检测的两个头之外,还有个头用于预测旋转角度。计算模组:从v5的C3模块替换成了C2f模块,在拼接时增加了更多残差层。

YOLOv9

2024年2月 Chien-Yao Wang大神中平之作

毕竟是正统传承,时隔v7的两年之后,v9似乎是如约而至,而此作中Alexey Bochkovskiy大神已不在,这个v4的一作和v7的二作终于谢幕了。这个时候能上的改进点几乎都被v8尝试个遍了,此作几近硬鳖出来的:提出了可编程梯度信息(PGI),在Neck部分构造了辅助可逆分支和多级辅助信息,新的计算模组:GELAN,推广了2022年的ELAN,作者也是Chien-Yao Wang,本质上还是来源于v4那会的CSPNet,加上更多残差层。

YOLOv10

2024年5月 清华团队的哗众之作

横空出世,不禁让人有些质疑,看改进点似乎有些乏善可陈,但性能图看着却也能成一代。此作也是基于v8的项目,提出了一种通过双标签分配而不用非极大值抑制NMS的策略,轻量化分类头,解耦空间下采样和通道调整,基于秩的块设计,大核卷积和部分自注意力PSA等。

  • 20
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值