有很多特征可以提高卷积神经网络(CNN)的准确性。需要在大型数据集上对这些特征的组合进行实际测试,并需要对结果进行理论证明来验证这些特征的有效性。某些特征仅在某些模型上运行,并且仅在某些问题上运行,或者仅在小型数据集上运行;而某些特征(例如批归一化和残差连接)适用于大多数模型,任务和数据集。我们假设此类通用特征包括加权残差连接(WRC),跨阶段部分连接(CSP),交叉小批量标准化(CmBN),自对抗训练(SAT)和Mish激活。我们使用以下新特征:WRC,CSP,CmBN,SAT,Mish激活,马赛克数据增强,CmBN,DropBlock正则化和CIoU丢失,并结合其中的一些特征来实现最先进的结果:在MS COCO数据集上,用Tesla V100Tesla V100以65 FPS的实时速度获得43.5%AP(65.7%AP50) 。
大多数基于CNN的物体检测器仅适用于推荐系统。例如,通过慢速精确模型执行的城市摄像机搜索免费停车位,而汽车碰撞警告与快速不精确模型有关。提高实时物体检测器的精度不仅可以将它们用于提示生成推荐系统,还可以用于独立的过程管理和减少人工输入。常规图形处理单元(GPU)上的实时对象检测器允许以可承受的价格对其进行操作。最精确的现代神经网络不能实时运行,需要使用大量GPU用大min-batch-size进行训练,我们通过创建在常规GPU上实时运行的CNN来解决此类问题,也就是训练只需要一个常规GPU。
这项工作的主要目标是在生产系统中设计一个快速运行的目标探测器,并对并行计算进行优化,而不是设计一个低计算量的理论指示器(BFLOP)。我们希望设计的检测器可以很容易地训练和使用。例如,任何使用传统GPU进行训练和测试的人都可以获得实时、高质量、令人信服的对象检测结果,如图1所示的YOLOv4结果。
本文的主要贡献如下:
开发了一个高效、强大的目标检测模型。它使每个人都可以使用1080 Ti或2080 Ti GPU来训练一个超级快速和准确的目标检测器。
验证了在检测器训练的过程中最先进的 Bag-of Freebies 和Bag-of-Specials methods of object detection的影响。
修改了最先进的方法使得它们在单个GPU上训练更有效和适合,例如CBN、PAN、SAM等等。