YOLO系列内容
- 简介
-
- YOLOv4的原创部分
-
- CSPDarknet-53
- Mosaic数据增强
- SAT自对抗训练
- PAN结构
- ★★★个人理解(add和concat)
- YOLOv4一些tricks的应用
-
- 遗传算法
- SPP模块
- Mish激活函数
- Dropblock
- 补充trick
-
- SE module
- YOLOv5主要应用的tricks
-
- 自适应图片缩放
- CSP
-
- ★★★个人理解(残模块和CSP的区别)
- CIOU
- 参考资料
简介
- YOLOv3 -> YOLOv4 有原创部分,也有优秀的应用于其他论文tricks,到了YOLOv5主要应用于其他论文中的优秀tricks,但效果也很显著。
YOLOv4的原创部分
CSPDarknet-53
- 在 方面,YOLOv3使用的是Darknet-53,而YOLOv4则采用CSPDarknet-53 (CSP主要是下图的过程)将基础层的特征映射分为两部分,然后通过跨阶段层次结构合并,可以保证计算量的准确性。
Mosaic数据增强
- 主要是输入端 和
- 这个操作相当于变相拼接四张图片,随机缩放,随机切割,随机排列。 。因此增加了网络
SAT自对抗训练
- , 了网络的 。以 为例, 第一次反向传播时,正常固定x,对w求偏导;而这里是固定w,对x求偏导,直接更新原图(对原图增加噪音)。第二次恢复正常,对w求偏导,更新参数。
PAN结构
- 的 是采用了 。使用不同大小的特征图参与最终分类任务FPN的操作;PAN是在FPN在此基础上增加了一个自底向上的过程。如下图所示:
- 结合操作,FPN层自顶向下传达强语义特征,特征金字塔自底向上传达强定位特征,从而从不同的主要层聚合不同的检测层。
- 而YOLOv4中采用的PAN区别在于最后的加和方式不同,原来的PANet网络的PAN在结构中,了两个特征图的组合add操作,而Yolov4中则采用concat操作如下图所示:
★★★个人理解(add和concat)
- add按行列加,add前后通道数不变;concat是维度的加和,w,h不变,concat之后的通道数为concat之前的通道数之和
YOLOv4一些tricks的应用
遗传算法
- 使用优化超参数
SPP模块
- ,这里最大池化采用下图所示的方式padding操作步长为1,如13×13输入特征图,使用5×池化核池化五大小,padding=因此,池化后的特征图仍然是13×13大小。
Mish激活函数
- 采用部分激活函数。
Dropblock
- 采用代替
补充trick
SE module
- 特征重标定 ,对各特征通道设置权重激励,抑制对当前任务无用的特征。
- 首先是(squeeze)压缩空间维度的特征CxHxW压缩为Cx1x1,获取1x1全局的感受野;
- 随后(excitation),产生各特征通道的权重;
- 最后使用Scale加权重和原始特征(通道权重相乘)–>具体流程如下图所示:
YOLOv5主要应用的tricks
自适应图片缩放
- 个人认为这个trick减少计算量非常实用。
- 常用的检测算法是将图片缩放到统一的标准。YOLOv5自适应锚框通过计算目标缩放416×416和当前图片尺寸w,h收缩系数为比值,收缩系数为小,收缩后尺寸为最小填充。(这里大白老师更详细,可参考:传送门)
CSP
- YOLOv4只是backbone使用了CSP的思想,而YOLOv5的作者在backbone本阶段使用了加残模块CSP结构;在Neck阶段使用无残差模块CSP结构。增强了整合网络特征的能力
- 这里借用大白老师的图片
★★★个人理解(残模块和CSP的区别)
- 其实两者的都是,一般用于,,另外通过,同时(共享),又。
- 而与残差模块相比,它更大block,一般用在。
- 两者还有一个在于:最后是操作;而最后是操作
CIOU
- 最后是预测阶段CIOU取代传统IOU(YOLOv4也是如此)
参考资料
- 传送门,传送门
- 主要参考大白老师的文章(第一个传送门)