Paper Yolo v4: https://arxiv.org/abs/2004.10934
Scaled-YOLOv4: Scaling Cross Stage Partial Network
Source code:https://github.com/AlexeyAB/darknet
Bag of Freebies(BoF)
- 只增加训练成本,但是能显著提高精度,并不影响推理速度;
- 数据增强,调整亮度、对比度、色调、随机缩放、剪切、翻转、旋转等;
- 网络正则化:Dropout、Dropblock等;
- 类别不平衡,损失函数设计;
Self-adversarial-training(SAT)
- 通过引入噪音点来增加网络难度;
Dropblock
- dropout是随机选择点,dropblock是失效一些区域
Label Smothing
神经网络最大的缺点:过拟合,别让它太自信
eg:原来的标签为:
[
0
,
1
]
:
[
0
,
1
]
×
(
1
−
0.1
)
+
0.1
/
2
=
[
0.05
,
0.095
]
[0, 1]:[0, 1] \times (1-0.1)+0.1/2 =[0.05, 0.095]
[0,1]:[0,1]×(1−0.1)+0.1/2=[0.05,0.095]
GIoU
DIoU
DIoU-NMS
之前使用NMS来决定是否删除一个框,现在改用DIoU-NMS
公式 s i = { s i I o U − R D I o U ( M , B i ) < ϵ 0 I o U − R D I o U ( M , B i ) ≥ ϵ R D I o U = ρ 2 ( b , b g t ) c 2 s_i = \begin{cases} s_i & IoU-R_{DIoU}(M,B_i)<\epsilon \\ 0 &IoU-R_{DIoU}(M,B_i) \ge \epsilon \end{cases} \qquad R_{DIoU} = \frac{\rho^2(b,b^{gt})}{c^2} si={si0IoU−RDIoU(M,Bi)<ϵIoU−RDIoU(M,Bi)≥ϵRDIoU=c2ρ2(b,bgt)
不仅考虑了IoU的值,还考虑了两个Box中心点之间的距离
其中M表示高置信度候选框,Bi 就是遍历各个框跟置信度高的重合情况
网络结构升级
Bag of Specials(BoS)
增加稍许推断代价,但可以提高模型精度的方法
网络细节部分加入了很多改进,引入了各种能让特征提取更好的方法
注意力机制,网格细节设计,特征金字塔等,
引入了近年部分优秀的创新