admin管理员组文章数量:1596556
创新点:
1.CSPDarknet-53
2.PAN
3.Eliminate grid sensitivity
4.optimizered anchor
5.IOU threshold(match positive samples)正样本匹配
6.Mosaic data augmentation(之前说过)
7.CIOU(之前说过)
CSP
首先是CSP网络的优点如下图
下图是CSP结构在CSPDarknet中的体现。
下图是YOLOv4的backbone--CSPDarknet的网络结构。
PAN
相当于在FPN的基础上又做了一个自下而上的结构,也就是先对backbone中的特征层进行FPN将深层语义信息融合进低层特征层,又将得到的结果下采样与之前得特征图再次concat得到最终的预测特征层。
YOLOv4中的PAN与原PAN结构有点不同,原结构中是进行add,而YOLOv4是进行concat。
下图为整个YOLOv4的整体网络结构图,包括backbone和预测特征层的提取。
Eliminate grid sensitivity
之前得sigmoid函数范围为0-1,当GT box的中心点在网格线上时,tx或ty需要趋近于负无穷,显然是做不到的,所以引入优化策略将bx和by的式子改变了,使范围变为-0.5--1.5。
IOU threshold
在YOLOv3中针对每一个GT都只分配了一个Anchor。但在YOLOv4包括之前讲过的YOLOv3 SPP以及YOLOv5中一个GT可以同时分配给多个Anchor,它们是直接使用Anchor模板与GT Boxes进行粗略匹配,然后在定位到对应cell的对应Anchor。
首先回顾下之前在讲YOLOv3 SPP源码解析时提到的正样本匹配过程。流程大致如下图所示:比如说针对某个预测特征层采用如下三种Anchor模板AT1、AT2、AT3
1.将每个GT Boxes与每个Anchor模板进行匹配(这里直接将GT和Anchor模板左上角对齐,然后计算IoU)
2.如果GT与某个Anchor模板的IoU大于给定的阈值,则将GT分配给该Anchor模板,如图中的AT 2
3.将GT投影到对应预测特征层上,根据GT的中心点定位到对应cell(图中黑色的× \times×表示cell的左上角)
4.则该cell对应的AT2为正样本
但在YOLOv4以及YOLOv5中关于匹配正样本的方法又有些许不同。主要原因在于1.2.1 Eliminate grid sensitivity中提到的缩放因子scale xy,通过缩放后网络预测中心点的偏移范围已经从原来的(0,1)调整到了(−0.5,1.5)。所以对于同一个GT Boxes可以分配给更多的Anchor,即正样本的数量更多了。如下图所示:
1.将每个GT Boxes与每个Anchor模板进行匹配(这里直接将GT和Anchor模板左上角对齐,然后计算IoU,在YOLOv4中IoU的阈值设置的是0.213)
2.如果GT与某个Anchor模板的IoU大于给定的阈值,则将GT分配给该Anchor模板,如图中的AT 2
3.将GT投影到对应预测特征层上,根据GT的中心点定位到对应cell(注意图中有三个对应的cell,后面会解释)
4.则这三个cell对应的AT2都为正样本
为什么图中的GT会定位到3个cell,网络预测中心点的偏移范围已经调整到了(−0.5,1.5),所以按理说只要Grid Cell左上角点距离GT中心点在(−0.5,1.5)范围内它们对应的Anchor都能回归到GT的位置处。
上面和左边的cell它们距离落入的Grid Cell左上角距离都小于0.5,所以该Grid Cell上方的Cell以及左侧的Cell都满足条件,即Cell左上角点距离GT中心在( − 0.5 , 1.5 ) (-0.5, 1.5)(−0.5,1.5)范围内。这样会让正样本的数量得到大量的扩充。但需要注意的是,YOLOv5源码中扩展Cell时只会往上、下、左、右四个方向扩展,不会往左上、右上、左下、右下方向扩展。
Optimizer Anchors
本文标签:
版权声明:本文标题:初学YOLOv4 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728256271a1151052.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论