本文经AI新媒体量子比特(公众号ID:QbitAI)授权转载,转载请联系出处。美团刚刚发布了YOLOv6,YOLO官方团队又发布了新版本。参与维护YOLO项目的大神AlexeyBochkovskiy在推特上声称:YOLOv7正式版在准确率和速度上都优于以下版本。在论文中,团队详细对比了YOLOv7和其他变体的性能,并介绍了v7版本的新变化。话不多说,来看看YOLOv7到底有多强,看看实验结果吧。速度和准确性超过其他变体论文。实验以之前版本的YOLO和目前最先进的目标检测模型为基准。表格是YOLOv7模型与其他版本在相同参数设置下的对比:绿色标注的数据表示性能较上一版本有所提升,参数量和计算量较上一版本大多有所下降,AP也有提升。即使在云端GPU模型上,最新的模型依然可以保持较高的AP,同时计算量和参数量也较之前的模型有所减少。YOLOv7可以很好地平衡速度和精度。与现有通用GPU和移动GPU对象检测模型的比较:YOLOv7在速度(FPS)和准确度(AP)上都超过了其他对象检测模型。例如,当输入分辨率为1280时,YOLOv7与YOLOR相比,YOLOv7-W6的推理速度比YOLOR-P6快8fps,检测率也提高了1%AP。性能是如何提高的?为了提高实时目标检测模型的性能,我们往往从以下几点入手:1.更快更强的网络架构;2、更有效的特征融合方式;3、更准确的检测手段;4.更准确的损失函数;5、更有效的标签分配方式;6、更有效的训练方法。YOLOv7主要从4、5、6设计了性能更好的检测模型。首先,YOLOv7扩展了高效的远程注意力网络,称为Extended-ELAN(简称E-ELAN)。在大规模ELAN中,无论梯度路径长度和块数如何,网络都会达到稳定状态。但如果计算块无限堆叠,这种稳定状态也可能被打破,参数利用率会降低。E-ELAN对基数进行扩展、洗牌、合并,可以在不破坏原有梯度路径的情况下提高网络的学习能力。在架构方面,E-ELAN只改变了计算块中的架构,并没有改变过渡层的架构。E-ELAN除了保持原有ELAN的设计架构外,还可以引导不同的计算块组学习更多样化的特征。然后,YOLOv7使用了一种基于Concatenation的模型缩放方法。模型缩放是指调整模型的某些属性,生成不同尺度的模型,以满足不同推理速度的需要。但是,如果将模型缩放应用于基于连接的体系结构,则当执行深度按比例放大或缩小时,基于连接的翻译层的计算块将减少或增加。由此可以推断,对于基于级联的模型,不同的比例因子不能单独分析,必须一起考虑。基于级联的模型缩放方法是一种复合模型缩放方法,在缩放计算块的深度因子时,还会计算块输出通道的变化。然后,将过渡层的宽度因子按比例缩放相同的变化量,这样可以保持初始设计时模型的特性,保持最优结构。在论文研究中,作者还设计了一种计划重参数化卷积(Plannedre-parameterizedconvolution)。RepConv在VGG中有着出色的表现,但是当直接应用于ResNet、DenseNet或其他架构时,精度会明显降低。这是因为RepConv中的恒等连接破坏了ResNet中的残差和DenseNet中的连接。因此,论文研究采用无直连的RepConv(RepConvN)来设计网络结构。在YOLOv7的标签分配机制中,需要同时考虑网络预测结果和benchmark,然后将softlabels(comprehensiveconsideration,optimizedlabels)分配给“labelassigner”机制。那么接下来,“软标签应该分配给辅助头还是引导头?”论文提出了一种新的labelassignment方法,如下图(d)和(e)所示,基于leadhead预测,生成从coarse到Thin的分层标签,分别用于leadhead和辅助head的学习.图(d)让较浅的辅助头学习到引导头已经学习到的信息,而引导头可以更专注于已经学习到的残差信息。在图e中,生成了两组软标签,即粗标签和细标签。辅助头在学习能力上不如引导头强,因此需要着重优化其召回率,避免丢失需要学习的信息。目前,YOLOv7已经正式开源,感兴趣的小伙伴可以点击下方链接。
