《YOLOv4: Optimal Speed and Accuracy of Object Detection》发表与2020CVPR,以下是YOLOV4在当时MSCOCO数据集上和其他目标检测模型的表现。
YOLOV4结合了以上trick,MS COCO数据集的43.5%AP(65.7%AP50),实时速度为∼特斯拉V100上的每秒65帧。
- CBN[89]Zhuliang Yao, Y ue Cao, Shuxin Zheng, Gao Huang, and Stephen
Lin. Cross-iteration batch normalization.arXiv preprint arXiv:2002.05712, 2020.1,6- PAN[49]Shu Liu, Lu Qi, Haifang Qin, Jianping Shi, and Jiaya Jia.Path aggregation network for instance segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 8759–8768, 2018.1,2,7
- SAM[85]Sanghyun Woo, Jongchan Park, Joon-Y oung Lee, and In
So Kweon. CBAM: Convolutional block attention module.In Proceedings of the European Conference on Computer Vision (ECCV), pages 3–19, 2018.1,2,4
CBN是估计时序上的均值和方差来实现的Batch Normlization
PAN是对于FPN空间金字塔网络结构的进一步提炼了网络结构,从FPN的自顶向下聚合不同尺度结构,再加多了一个自底向上聚合的更细节的尺度结构
BOF:bag of freebies,使目标检测器在不增加推理成本的情况下获得更好的精度。我们将这些只改变培训策略或只增加培训成本的方法称为“bag of freebies”
BOS:bag of specials,对于那些只增加少量推理成本,却能显著提高目标检测精度的插件模块和后处理方法,我们称之为“bag of specials”。
增强感受野的结构,论文指出
SPP结构能将YOLOV3-608将MSCOCO的AP50增加2.7%,作了些修改,相比原论文的SPP结构。
RFB的结构能将MSCOCO SSD的AP50增加5.7%,对ASPP作了些改进。
- SPP [25]Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition.IEEE ransactions on Pattern Analy- sis and Machine Intelligence (TPAMI), 37(9):1904–1916, 2015.2,4,7
- ASPP [5]Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos,
Kevin Murphy, and Alan L Y uille. DeepLab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs.IEEE Transactionson Pattern Analysis and Machine Intelligence (TPAMI),40(4):834–848, 2017.2,4- RFB [47]Songtao Liu, Di Huang, et al. Receptive field block net for accurate and fast object detection. InProceedings of the European Conference on Computer Vision (ECCV), pages 385–400, 2018.2,4,11
注意力机制模块
目标检测常用的注意力模块主要分为通道注意和点注意
通道注意的代表:Squeeze-and-Excitation (SE) [29]
Jie Hu, Li Shen, and Gang Sun. Squeeze-and-excitation networks. InProceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 71327141, 2018.4
虽然SE模块可以在ImageNet图像分类任务中提高ResNet50的能力1%的top-1精度,但只需增加2%的计算工作量,但在GPU上通常会增加约10%的推理时间,因此更适合用于移动设备。
空间注意的代表: Spatial Attention Module (SAM) [85]
Sanghyun Woo, Jongchan Park, Joon-Y oung Lee, and In So Kweon. CBAM: Convolutional block attention module.In Proceedings of the European Conference on Computer Vision (ECCV), pages 3–19, 2018.1,2,4
对于SAM,它只需要支付0.1%的额外计算,并且它可以在ImageNet图像分类任务中提高ResNet50 SE 0.5%的top-1精度。最重要的是,它根本不会影响GPU上的推理速度。
不同大小的感受野的影响总结如下:
作者在CSPDarknet53上添加了SPP块,因为它显著增加了感受野,分离出最重要的上下文特征,并且几乎不会降低网络运行速度。使用PANet作为从不同主干级别为不同检测器级别聚合参数的方法,而不是YOLOv3中使用的FPN。
最后,选择CSPDarknet53主干、SPP附加模块、PANet路径聚合颈和YOLOv3(基于锚)头作为YOLOv4的体系结构。并且作者计划大幅增加Bag of Freebies给整个模型,并且做了很多消融实验来评价。
作者没有使用Cross-GPU Batch Normalization (CGBN or SyncBN)或昂贵的专用设备,仅仅在GTX1080TI或者RTX2080TI上实现最先进的结果。
为了改进目标检测培训,CNN通常使用以下方法:
激活函数选择:作者移除了对PReLU,SELU以及ReLU6的实验,因为PReLU和SELU非常训练,ReLU6是专门为量化网络设计的(RELU6的论文我没读过,因此怎么量化,什么效果,代价未知)。
正则化:DropBlock的论文做了很多实验,对比其他正则化赢得了很多,因此作者选择DropBlock作为正则化方法。
为了使模型在单一GPU上训练,作了如下改进:
Mosaic代表了一种新的数据增强方法,它混合了4幅训练图像。
Mosaic:混合了4张图片,而CutMix只混合了两张图片。这允许检测其正常上下文之外的对象。此外,批处理规范化从每层上的4个不同图像计算激活统计信息。这大大减少了对大型小型批量的需求。
Self-Adversarial Training (SAT):自我对抗训练(SAT)也代表了一种新的数据增强技术,分两个前后阶段进行操作。在第一阶段,神经网络改变原始图像,而不是网络权重。通过这种方式,神经网络对自身执行对抗性攻击,改变原始图像,从而产生图像上没有所需对象的欺骗。在第二阶段,神经网络以正常的方式进行训练,以检测出畸形的图像。
这里SAT的第一阶段改变原始图像的方式是重点,以及阶段的时机
Batch Normlization:
CmBN表示CBN修改版本,如图4所示,定义为交叉小批量标准化(CmBN)。这仅在单个批次内的小批次之间收集统计信息。
我们将SAM从空间注意修改为点注意,并将PAN的shortcut替换为concatenation,分别如图5和图6所示。
YOLOv4 consists of:
YOLO v4 uses:
可见CSPDarknet53-PANet-SPP对mini-batch size的影响并不太敏感。