『科技俱乐部菌』大型调优现场,速度和准确率俱佳,YOLOv4来了


『科技俱乐部菌』大型调优现场,速度和准确率俱佳,YOLOv4来了
文章图片
『科技俱乐部菌』大型调优现场,速度和准确率俱佳,YOLOv4来了
文章图片
作者|VincentLee来源|晓飞的算法工程笔记
『科技俱乐部菌』大型调优现场,速度和准确率俱佳,YOLOv4来了
文章图片
简介
『科技俱乐部菌』大型调优现场,速度和准确率俱佳,YOLOv4来了
文章图片
论文提出YOLOv4 , 从图1的结果来看 , 相对于YOLOv3在准确率上提升了近10个点 , 然而速度并几乎没有下降 , 论文主要贡献如下:
提出速度更快、精度更好的检测模型 , 仅需要单张1080Ti或2080Ti即可完成训练 。
验证了目前SOTA的Bag-ofFreebies(不增加推理成本的trick)和Bag-of-Specials(增加推理成本的trick)的有效性 。
修改了SOTA方法 , 让其更高效且更合适地在单卡进行训练 , 包括CBN、PAN、SAM等 。
『科技俱乐部菌』大型调优现场,速度和准确率俱佳,YOLOv4来了
文章图片
方法论
Selectionofarchitecture
对检测模型来说 , 分类最优的主干网络不一定是最合适的 , 适用于目标检测的主干网络需满足以下要求:
高输入分辨率 , 提高小物体的检测准确率 。
更多的层 , 提高感受域来适应输入的增加 。
更多的参数 , 提高检测单图多尺寸目标的能力 。
『科技俱乐部菌』大型调优现场,速度和准确率俱佳,YOLOv4来了
文章图片
理论来讲 , 应该选择感受域更大且参数了更大的模型作为主干网络 , 表1对比了三种SOTA主干网络的 , 可以看到CSPDarknet53的感受域、参数量以及速度都是最好的 , 故选其为主干网络 。
『科技俱乐部菌』大型调优现场,速度和准确率俱佳,YOLOv4来了
文章图片
另外 , 使用不同大小的感受域有以下好处:
匹配物体大小 , 可以观察完整的物体 。
匹配网络大小 , 可以观察物体的上下文信息 。
超过网络的大小 , 增加点与最终激活之间的连接数 。
为此 , YOLOv4加入了SPPblock , 能够显著地改善感受域大小 , 而且速度几乎没有什么下降 。
『科技俱乐部菌』大型调优现场,速度和准确率俱佳,YOLOv4来了
文章图片
另外 , 使用PANet替换FPN来进行多通道特征的融合 。
最终 , YOLOv4选择CSPDarknet53作为主干网络 , 配合SPP模块 , PANet通道融合以及YOLOv3的anchorbasedhead 。
SelectionofBoFandBoS
目前比较有效的目标检测提升的trick:
激活函数:ReLU,leaky-ReLU,parametric-ReLU,ReLU6,SELU,Swish,orMish 。
bbox回归损失:MSE,IoU,GIoU,CIoU,DIoU
数据增强:CutOut,MixUp,CutMix
正则化方法:DropOut,DropPath,SpatialDropOut,orDropBlock
归一化方法:BatchNormalization(BN),Cross-GPUBatchNormalization(CGBNorSyncBN),FilterResponseNormalization(FRN),orCross-IterationBatchNormalization(CBN)
由于PReLU和SELU难以训练 , 并且ReLU6是专门为量化网络设计的 , 从激活函数中去除这几种 。 而在正则化方法中 , DropBlock的效果是最优的 。 对于归一化方法的选择 , 由于需要单卡训练 , 因此不考虑SyncBN 。
Additionalimprovements
为了让模型能更好地在单卡进行训练 , 做了以下的改进:
提出新的数据增强方法Mosaic和Self-AdversarialTraining(SAT) 。
使用遗传算法选择最优的超参数 。
修改目前的方法来让训练和检测更有效 , 包括改进的SAM , 改进的PAN以及Crossmini-BatchNormalization(CmBN)