YOLO
YOLO(You Only Look Once)系列是由Joseph Redmon等人在2016年首次提出的是一种目标对象检测算法。这一系列算法通过将对象检测视为单次回归问题,从输入图像直接预测对象边界框和类别,极大提高了检测速度。YOLO系列在其每个版本中都进行了改进和优化,逐步提升了精度和速度。
YOLOv4
YOLOv4 的开发历程很有意思,其中评估、修改和整合了很多有趣的新技术。而且其也优化了计算效率,使检测器在单个 GPU 上也能很好地完成训练。
Bag of freebies (BoF)
为了提升准确度,可以针对训练过程进行一些优化,比如数据增强、类别不平衡、成本函数、软标注…… 这些改进不会影响推理速度,可被称为「Bag of freebies」。
Mosaic data augmentation:参考CutMix然后四张图像拼接成一张进行训练
数据增强
Random Erase: 用随机值或训练集的平均像素值替换图像的区域
Hide and Seek: 根据概率设置随机隐藏一些补丁
Self-adversarial-training(SAT):通过引入噪音点来增加游戏难度
DropBlock:dropout是随机选择点(b) , 现在吃掉一个区域
Label Smoothing:
神经网络最大的缺点: 自觉不错(过拟合) , 让它别太自信
例如原来标签为(0,1):
使用之后效果分析(右图) :簇内更紧密 , 簇间更分离
IOU损失:
IOU损失: (也经常1-IOU)
没有相交则IOU =0无法梯度计算 , 相同的IOU却反映不出实际情况到底咋样
GIOU损失:
公式:
引入了最小封闭形状C( C可以把A , B包含在内)
在不重叠情况下能让预测框尽可能朝着真实框前进
DIOU损失
公式:
其中分子计算预测框与真实框的中心点欧式距离d
分母是能覆盖预测框与真实框的最小BOX的对角线长度c
直接优化距离 ,速度更快 , 并解决GIOU问题
CIOU损失:
公式:
损失函数必须考虑三个几何因素: 重叠面积 , 中心点距离 , 长宽比
其中α可以当做权重参数
DIOU-NMS
之前使用NMS来决定是否删除一个框 , 现在改用DIOU-NMS
公式:
不仅考虑了IoU的值,还考虑了两个Box中心点之间的距离
其中M表示高置信度候选框 , Bi就是遍历各个框跟置信度高的重合情况
SOFT-NMS
Bag of specials(BOS)
增加稍许推断代价 , 但可以提高模型精度的方法
网络细节部分加入了很多改进 , 引入了各种能让特征提取更好的方法
注意力机制 , 网络细节设计 ,特征金字塔等 , 你能想到的全有
读折一篇相当于把今年来部分优秀的论文又过了一遍
SPPNet(Spatial Pyramid Pooling)
V3中为了更好满足不同输入大小 , 训练的时候要改变输入数据的大小
SPP其实就是用最大池化来满足最终输入特征一致即可
CSPNet( Cross Stage Partial Network)
每一个block按照特征图的channel维度拆分成两部分
一份正常走网络 , 另一份直接concat到这个block的输出
CBAM
其实就是加入了注意力机制 , 已经很常见了在各种论文中
V4中用的是SAM , 也就是空间的注意力机制
不光NLP,语音识别领域在搞attention , CV中也一样
Spatial attention module
PAN(Path Aggregation Network)
自顶向下的模式 ,将高层特征传下来
是否可以选择双向?答:PAN
PAN(Path Aggregation Network)
引入了自底向上的路径 , 使得底层信息更容易传到顶部
并且还是一个捷径 , 红色的没准走个100层(Resnet) , 绿色的几层就到了
YOLOV4中并不是加法 , 而是拼接
Mish:
公式:f(α)=·tanh(ln(1+ew))
eliminate grid sensitivity
比较好理解 , 坐标回归预测值都在0-1之间 , 如果在grid边界怎么表示?
此时就需要非常大的数值才可以达到边界
为了缓解这种情况可以在激活函数前加上
一个系数(大于1的) :
整体网络架构
标签:NMS,公式,检测,IOU,损失,学习,Bag,深度,PAN From: https://blog.csdn.net/lyqherenlai/article/details/142879466