最近在学习YOLO系列的相关知识,YOLOV1-YOLOV3之前已经熟读过了,这几天在看YOLOV4,总结一下该检测方法主要改进点:
-
CSPDarknet53主干网络:
- YOLOv4采用了CSPDarknet53作为其主干网络,这是一种Cross Stage Partial Network的变体,用于特征提取。CSPDarknet53通过减少卷积层之间的连接来降低计算复杂度,同时保持特征提取的能力。
-
SPPF模块:
- 空间金字塔池化模块(Spatial Pyramid Pooling Form)用于进一步提取多尺度的特征,有助于检测不同大小的目标。
-
PANet改进:
- YOLOv4中使用的PANet进行了改进,通过在网络中增加额外的路径来加强特征融合,特别是对于小目标的检测。
-
损失函数:
- YOLOv4采用了CIoU损失函数来优化边界框的回归,CIoU损失考虑了重叠区域、中心点距离和宽高比,有助于提高定位精度。
- 同时,YOLOv4还使用了DIoU损失来减少边界框的定位误差。
-
数据增强:
- YOLOv4使用了包括MixUp、Mosaic等在内的多种数据增强技术,这些技术提高了模型对不同环境和变化的鲁棒性。
-
自动锚框尺寸:
- YOLOv4通过k-means聚类自动确定锚框的尺寸,而不是手动设置,这使得模型能够自动适应训练数据中的不同目标尺寸。这个方法最早在YOLOV2中使用。
-
训练策略:
- YOLOv4采用了包括大批量训练(Large Batch Training)和学习率预热(Learning Rate Warmup)在内的训练策略,这些策略有助于模型更快收敛并获得更好的性能。
-
模型优化:
- 论文中还提到了模型的优化,例如使用Mish激活函数代替传统的ReLU激活函数,以及使用DropBlock正则化减少过拟合。个人感觉这个方法其实和cutout数据增强方法很相似,本质上就是遮住图像的一大块,