yolov4
论文链接:https://arxiv.org/pdf/2004.10934.pdf
代码链接:https://github.com/AlexeyAB/darknet
一、YOLOV4的主要内容
1.论文总结了文章的主要3个贡献
- 研究设计了一个简单且高效的目标检测算法,使得普通人员在拥有一块1080TI或者2080TI的情况下就能够训练一个超级快速和精确的目标检测器;
- 训练时,验证了最新的Bag-of-Freebies和Bag-of-Specials对Yolo-V4的影响;
- 修改了state-of-the-art方法,使得他们在使用单个GPU进行训练时更加有效和适配,包括CBN,PAN,SAM等
二、网络结构
1.整体结构
目前检测器通常可以分为以下几个部分,不管是two-stage还是one-stage都可以划分为如下结构,只不过各类目标检测算法设计改进侧重在不同位置:
这些技巧可以作为后续处理不同任务的涨点方案!
2.Bag of freebies
是指在离线训练阶段为了提升精度而广泛使用的调优手段,而这种技巧并不在推断中使用,不会增加推断时间。
- 数据类
数据增强(random erase/CutOut/hide-and-seek/grid mask/MixUp/CutMix/GAN)
数据分布:two-stage的有难例挖掘,one-stage的有focal loss。
- 特征图类
DropOut/DropConnect/DropBlock
- Bounding Box目标函数类
l1/l2/ IoU lossloss/GIoU loss/DIoU loss/CIoU loss
3.Bag of specials
是指在推断过程中增加的些许成本但能换来较大精度提升的技巧。
- 增大感受野类
SPP/ASPP/RFB
- 注意力类
Squeeze-and-Excitation (SE)/Spa-tial Attention Module (SAM)
- 特征集成类
SFAM/ASFF/BiFPN
- 激活函数类
ReLu/LReLU/PReLU/ReLU6/Scaled ExponentialLinear Unit (SELU)/Swish/hard-Swish/Mish
- 后处理类
soft NMS/DIoU NMS
YOLOV4里面的一些技巧很适合我们学习,可以用在自己的项目中涨点,也可以帮助我们更好地理解模型中的各个模块与组件的作用。