1.改进之处:
集百家之所长,很多细节之处
2.数据增强方面改进:
BOF:只增加了训练成本,将数据进行处理,但是测试是正常的测试,如:调整图像的对比度、亮度、旋转等等
1.马赛克的数据增强(Mosaic data augmentation)
2.Dropblock:
之前的dropout是随机的杀死一些选择点,现在的dropblock是吃掉一个区域,增加难度
标签平滑(label Smoothing):
3.神经网络最大的缺点:过拟合 解决办法
比如让原来的标签【0,1】变成【0.05,0.95】
使用之后,会使得之后的效果:族内更加紧密,族间更加分离
左图为使用之前,右图为之后,可以看得出分类会更加明确
4.损失函数的选择过程:
1.GIOU损失:
引入了一个最下的封闭框C,C可以把A,B包含在内
新的损失函数:
当目标框和检测框越接近,后边的式子就越接近于0,当差的很远iou=0时也能继续训练下去
2.DIOU损失:
其中ρ^2表示的是欧氏距离,整个公式后边的表示:目标框与预测框中心点之间的欧氏距离,
表示的时最小封闭框的对角线的平方,图示如下:
使用DIOU会使得优化的过程更加直接
可以看出区别,使用了DIOU会使得目标框与检测框更加的易于去判断
3.CIOU:
损失函数必须考虑的三个几何因素:重叠面积(IOU)、中心点距离、长宽比
以下的这个新的损失函数就包含了这三点:
5.如何将多余重复的检测框去除:
1.NMS:
所做的就是,先利用置信度相对较高的框去和其他的框去做IOU,把IOU值较大的这些框(也就是所框选的范围高度相似的框)直接剔除
2.SOFT-NMS:
会比NMS更加柔和一点,所做的是将IOU值较大的这些框的置信度进行相应的降低
6.对于
BOS(Bag of specials):
1.输入尺寸统一化
SPPNet:
①增大感受野 ②所做的是通过最大池化来满足最终的输入特征一致
2.特征融合增加感受野
CSPNet:
7.加入注意力机制
1.CBAM:
而YOLOV4只用了SAM,可以从上图中看出,YOLO为了更加的快速,只加入了注意力机制
8.特征融合人
1.PAN:
PAN中的特征融合是直接数字的相加
2.而YOLOV4做的是:
继续拼接,通过这些特征图的相同channel进行cat拼接
9.激活函数的改变
1.MISH:
1.公式:
2. 优点:
使用这个当作损失函数,会使得这个相比于RELU函数,会更加的宽容一些,对于不太好的不会一棒子打死,计算量增加了,但是效果好了,如下图所示,在0的左侧部分会有一部分的值不是直接为0,让其不起作用,而是有一定的容错