面向工业落地的新检测框架【AIRDet】,超越YOLO系列

简介: 1.简介物体检测一直是CV领域的热点话题,学术界每年都有层出不穷的新技术涌出,刷新着物体检测任务的SOTA。然而具体到工业应用时,受到平台算力、部署工具等的限制,新的SOTA技术不一定是工业界好应用(industry friendly)的技术。为了加速学术创新在工业场景的落地,结合多种在工业实践中反复验证过的技术,我们提出了AIRDet(Advanced Industrial-oRiented o

1.简介

物体检测一直是CV领域的热点话题,学术界每年都有层出不穷的新技术涌出,刷新着物体检测任务的SOTA。然而具体到工业应用时,受到平台算力、部署工具等的限制,新的SOTA技术不一定是工业界好应用(industry friendly)的技术。为了加速学术创新在工业场景的落地,结合多种在工业实践中反复验证过的技术,我们提出了AIRDet(Advanced Industrial-oRiented object Detection),代码开源在GitHub - tinyvision/AIRDet: Advanced industrial efficiency-oriented object detection. AIRDet是一个anchor free的物体检测框架,其中结合了AutoAugmentation、GiraffeNeck、GFocalHead等多项技术,在严格限制模型FLOPS的条件下,将小网络的物体检测精度推向新的高度,超越yolov5、yoloX、pp-yoloE、yolov6。在接下来的篇幅中,我们将从Neck改进、Head改进、标签分配以及数据增强四个方面具体分析AIRDet中的提点路程。

2.框架改进

i.Neck改进

在FPN(Feature Pyramid Network)中,多尺度特征融合旨在对从backbone不同stage输出的特征进行聚合,从而增强输出特征的表达能力,提升模型性能。传统的FPN引入top-to-down的路径来融合多尺度特征。考虑到单向信息流的限制,PAFPN增加了一个额外的自底向上的路径聚合网络,然而增加了计算成本。为了降低计算量,YOLO系列检测网络选择带有CSPNet的PAFPN来融合来自backbone输出的多尺度特征。

我们在ICLR2022的工作GiraffeDet[1]中提出了新颖的Light-Backbone Heavy-Neck结构并达到了SOTA性能,原因在于给出的neck结构GFPN(Generalized FPN)能够充分交换高级语义信息和低级空间信息。在GFPN中,多尺度特征融合发生在前一层和当前层的不同尺度特征中,此外,log_2(n)的跨层连接提供了更有效的信息传输,可以扩展到更深的网络。但是,当我们用原来的GFPN直接用CSPNet替换PAFPN作为一个小版本模型时,我们发现它在COCO上不能产生更高的性能。 这个看似令人沮丧的结果是可以预期的,因为在轻量级计算量约束下: (1) 大量冗余的1x1卷积作为channel-wise的pooling占据了较多计算量; (2) 不同尺度特征共享同一个宽度(通道数),导致难以给出一个最优宽度(通道数)来保证高层低分辨率特征和低层高分辨率特征具有同样丰富的表达能力; (3) 在轻量级计算量约束下,3x3卷积进行特征信息融合并不高效。进行分析后,我们针对GFPN做了如下改进,1)不同尺度特征使用不同的通道数,从而在轻量级计算量约束下,灵活控制高层特征和低层特征的表达能力;2)使用CSPNet进行跨尺度特征融合,在降低模型计算量的同时保证梯度的有效传播;3)移除入度为1的节点的3x3卷积,改为identity操作,减少冗余的计算量;

基于上述改进,我们给出了GFPN_CSP网络结构,如图1所示:

图1 GFPN结构

消融实验见下表,可以看到,在轻量级计算量约束下,使用GFPN作为neck模型性能相比PANet降低0.6% AP,改进为GFPN_CSP后,模型性能提升 0.3% AP。此外,如果我们稍微增加一些计算量,模型能够提升1.1% AP。

表1 GFPN性能分析

ii.Head改进

在这个小节,我们主要介绍AIRDet中的检测头(Head)以及Loss函数。我们的工业实践中发现,检测分数和框的质量的不匹配会很容易带来误报。这是因为在nms过程中,无法抑制掉分类置信度高但是边界回归质量差的框,如图2所示,图中低质量的白框和高质量的绿框在做nms时,白框无法被抑制。

图2 误报示例

如果能像分类置信度一样有一个回归置信度,这个问题是不是就能得到解决了呢?正是为此,学术界提出LQE(Localization Quality Estimation),即对回归质量进行估计,从而实现对分类置信度高但回归质量差的框的过滤,得到更好的性能表现。AIRDet中采用GFocalV2-Head[2]来解决这个问题,其结构如图3所示。

图3 GFocalV2-Head结构

GFocalV2将检测框的边界回归建模成一个连续概率分布估计问题,并根据边界的概率分布的峰值(top4)对框的回归质量进行打分,以极其微小的计算量代价实现了LQE,得到了显著的性能提升。为了进一步挖掘GFocalV2在小模型上的潜力,我们根据自己的业务实践,对其进行了一系列的修改。GFocalV2-Head中,不同尺度的head参数是共享的,但是实际上每个尺度有自己的归纳偏置(inductive bias)。当模型较大,Head参数量较多的时候这个问题还不明显,因为参数量充足时,共享的Head有容量容纳这些偏置(inductive bias)。然而当模型较小,需要用更小参数量的Head结构时,这个瓶颈就比较明显了。于是,我们提升为了小模型上的精度,用尺度解耦的方式取代了原来的尺度参数共享。我们还尝试了大伙们都在用的sycnbn以及silu激活函数,都有不同程度的提点。值得注意的是,在尺度解耦的情况下,sycnbn能够取得更加明显的提升。在loss选择上,我们和GFocalV2保持一致,在分类分支使用QFL,在回归分支使用DFL和GIoULoss。

表2 GFocalV2改进分析

iii.标签分配

标签分配(label assignment)是物体检测中的一个关键组件,以往的静态分配方法往往只考虑anchor与ground truth的IoU,这类分配方法容易导致分类任务的失焦,如图4左图所示,手的检测框要用玩偶熊身上的点去做预测,这对模型来说是不合理的为难,理想中的标签如图4右图所示。另外,此类方法依赖anchor先验,在工业应用中,被检物体尺度变化多端,要找到一个最合适的anchor先验十分繁琐。

图4 静态和动态分配差异

为了克服以上的问题,学术界涌现了一批利用模型的分类和回归预测值进行动态分配的标签分配方法,该类方法消除了标签分配对anchor的依赖,并且在分配时同时考虑分类和回归的影响,一定程度上消除失焦问题。OTA[3]是其中的一个经典工作,其根据模型的分类和回归预测值计算分配cost,并且使用Sinkhorn-Knopp算法求解全局最优匹配,在复杂分配场景下性能优异,但是由于Sinkhorn-Knopp求解较为耗时,OTA会带来约30%的额外训练时间。simOTA是OTA的简化版,其使用贪婪的Topk策略代替了OTA中的Sinkhorn-Knopp求解,显著提升训练效率的同时保持了优异的分配效果。综合考虑训练效率与精度,我们采用simOTA作为我们的标签分配方案。另外值得一提的是,对于那些想要在AIRDet中进行loss修改的同学们,simOTA中的分配cost计算需要和模型训练loss保持一致才能取得理想的效果,大家在修改检测器训练的loss时,也别忘了修改simOTA中的cost计算。

iiii.数据增强

数据增强(Data Augmentation)也是物体检测训练中的重要一环,精心设计的数据增强有助于提高模型在各个场景下的泛化能力。

在AIRDet中,我们将数据增强分为image-level和box-level两部分。image-level增强包括mosaic和mixup,这两个增强算子在检测和分类任务上都受到了广泛的应用。但是我们在实践中发现,mosaic能够提高小物体检测性能,但是一定程度上会导致训练集和验证集之间的domain shift。于是我们在训练过程中引入了mosaic增强的衰减,即在训练末期衰减mosaic增强,减少train和val之间的domain shift,获得更好的模型性能。在image-level增强的基础上,我们将SADA中的Box-level增强引入AIRDet。SADA中的box-level增强使用gaussaian mask平滑了检测框内和背景之间的图像变化,避免在图片上造成明显的label相关的artifacts。

3.性能对比

我们在MSCOCO val集上验证了AIRDet的性能。可以看到,结合上述的改进点,AIRDet在严格限制Flops的情况下精度取得了显著的提升,超越yolox、pp-yoloe、yolov6等框架。

Model

input size

epochs

mAP

V100-Latency

trt-fp16-bs32

GFlops

yolox-s

640

300

40.5

2.3ms

26.8

pp-yoloe-s

640

300

43.0

--

17.4

yolov6-s

640

400

43.1

1.7ms

44.2

AIRDet-s

640

300

44.2

2.8ms

27.6

4.未来规划

AIRDet从新颖的学术paper中汲取养分,结合我们在工业应用上的思考与观察,刷新了小模型的SOTA记录,超越经典的yolo框架(yolov5,yolox,pp-yoloe,yolov6),同时保持了易用与高速的优点。未来我们将持续推进和完善AIRDet,主要工作包括以下几个方面:

1.面向轻量化和高速化,推出AIRDet-Tiny、AIRDet-Nano完善AIRDet系列模型。

2.聚焦端上检测,完善蒸馏、量化、部署工具链。

3.示范性提供实际工业场景中的应用实例和竞赛冠军方案。

AIRDet是一个新生的、尚处在高速发展中的检测框架,如果您在使用中有任何问题和建议,请随时联系我们!欢迎加入AIRDet答疑群(钉钉联系,拉你入群),或者直接邮件联系xianzhe.xxz@alibaba-inc.com!

参考

相关文章
|
机器学习/深度学习 数据可视化 测试技术
YOLO11实战:新颖的多尺度卷积注意力(MSCA)加在网络不同位置的涨点情况 | 创新点如何在自己数据集上高效涨点,解决不涨点掉点等问题
本文探讨了创新点在自定义数据集上表现不稳定的问题,分析了不同数据集和网络位置对创新效果的影响。通过在YOLO11的不同位置引入MSCAAttention模块,展示了三种不同的改进方案及其效果。实验结果显示,改进方案在mAP50指标上分别提升了至0.788、0.792和0.775。建议多尝试不同配置,找到最适合特定数据集的解决方案。
3257 0
|
算法 数据库 计算机视觉
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
|
10月前
|
编解码 算法 计算机视觉
YOLOv11改进策略【Head】| 增加针对 大目标 的检测层 (四个检测头)
YOLOv11改进策略【Head】| 增加针对 大目标 的检测层 (四个检测头)
1693 7
|
4月前
|
人工智能 数据可视化 数据挖掘
团队日报不用愁!自动化生成工具亲测:任务进度实时同步
本文深入分析了传统手动日报在数据孤岛、格式混乱和时效性差三大痛点,并探讨了自动化日报带来的效率提升、决策优化等四大核心价值。通过对板栗看板、SmartBrief、n8n 等六款主流工具的功能、适用场景及实战效果进行测评,为企业提供科学的选型建议与实施路径。
团队日报不用愁!自动化生成工具亲测:任务进度实时同步
halcon算子模板匹配(一)基于形状的模板匹配
halcon算子模板匹配(一)基于形状的模板匹配
4070 0
|
10月前
|
机器学习/深度学习 存储 TensorFlow
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
2380 11
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
|
人工智能 vr&ar Android开发
深入探索安卓与iOS的未来发展
【10月更文挑战第8天】 本文将深入探讨安卓和iOS两个主流操作系统的未来发展,从技术创新、用户体验和市场竞争等多个角度进行分析,揭示它们在技术演进中的趋势以及面临的挑战。
252 3
|
10月前
|
人工智能 机器人 开发工具
LazyLLM:还在为AI应用开发掉头发?商汤开源智能体低代码开发工具,三行代码部署聊天机器人
LazyLLM 是一个低代码开发平台,可帮助开发者快速构建多智能体大语言模型应用,支持一键部署、跨平台操作和多种复杂功能。
567 3
|
10月前
|
机器学习/深度学习 人工智能 安全
云工开物合作动态丨2025西安交通大学 -阿里云课程(第一批)上线
2025年春季学期,西安交通大学联合阿里云推出九门特色课程,涵盖工程、法律、生命科学、经济管理等领域。这些课程打破传统学科壁垒,提供AI实践工具、动手实验资源及专属算力支持,帮助学生在理论学习之余进行实际操作,提升能力。结课后还将颁发阿里云创作者证书,助力学生成长为跨领域复合型人才。无论专业背景如何,都能找到适合自己的AI进化路径。机会难得,不容错过!
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
5289 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)