前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YOLOv7速度精度超越其他变体,大神AB发推,网友:还得是你!|开源

YOLOv7速度精度超越其他变体,大神AB发推,网友:还得是你!|开源

作者头像
量子位
发布2022-07-12 15:13:55
6700
发布2022-07-12 15:13:55
举报
文章被收录于专栏:量子位量子位
Pine 发自 凹非寺 量子位 | 公众号 QbitAI

前脚美团刚发布YOLOv6, YOLO官方团队又放出新版本。

曾参与YOLO项目维护的大神Alexey Bochkovskiy在推特上声称:

官方版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对基数(Cardinality)做了扩展(Expand)、乱序(Shuffle)、合并(Merge cardinality),能在不破坏原始梯度路径的情况下,提高网络的学习能力。

在架构方面,E-ELAN只改变了计算块中的体系结构,没有改变过渡层的体系结构。

除了保持原来ELAN的设计架构外,E-ELAN还可以引导不同的计算块组来学习更多样化的特性。

而后,YOLOv7采用基于级联的(Concatenation-based)模型缩放方法。

模型缩放是指调整模型的一些属性,生成不同尺度的模型,以满足不同推理速度的需求。

然而,模型缩放如果应用于基于连接的架构,当扩大或缩小执行深度时,基于连接的翻译层的计算块将减少或增加。

由此可以推断,对于基于级联的模型,不能单独分析不同的缩放因子,必须一起考虑。

基于级联的模型缩放方法是一个复合模型缩放方法,当缩放一个计算块的深度因子时,同时也要计算该块输出通道的变化。

然后,对过渡层以相同的变化量进行宽度因子缩放,这样就可以保持模型在初始设计时的特性,并保持最优结构。

在论文研究中,作者还设计了有计划的重新参数化卷积(Planned re-parameterized convolution)

RepConv在VGG中有比较优异的性能,但当它直接应用于ResNet、DenseNet或者其他架构时,精度会明显降低。

这是因为RepConv中的直连(Identity connection)破坏了ResNet中的残差和DenseNet中的连接。

因此,论文研究中使用没有直连的RepConv(RepConvN)来设计网络结构。

在YOLOv7的标签分配机制中,需要同时考虑网络预测结果与基准,然后将软标签(综合考虑,优化之后的标签)分配到“label assigner”机制。

那么接下来,“软标签要分配给auxiliary head还是lead head呢?”

论文提出了一种新的标签分配法,如下图中的(d)(e),基于lead head预测,生成从粗到细的层次标签,分别用于lead head和auxiliary head的学习。

图(d)让较浅的auxiliary head学习lead head已经学习到的信息,而输lead head则可以更专注于为学习到的残差信息。

而e图中,会生成两组软标签,即粗标签和细标签。auxiliary head不如lead head学习能力强,因此要重点优化它的召回率,避免丢失掉需要学习的信息。

目前,YOLOv7已官方开源,有兴趣的伙伴可以戳下文链接。

参考链接: [1] https://twitter.com/alexeyab84/status/1544877675004788739 [2] https://arxiv.org/abs/2207.02696 [3] https://github.com/WongKinYiu/yolov7/releases

「人工智能」、「智能汽车」微信社群邀你加入!

欢迎关注人工智能、智能汽车的小伙伴们加入我们,与AI从业者交流、切磋,不错过最新行业发展&技术进展。

ps.加好友请务必备注您的姓名-公司-职位哦~

点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 速度、精度都超越其他变体
  • 性能是怎么提升的?
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档