Title: Task-Specific Context Decoupling for Object Detection

Paper: https://arxiv.org/pdf/2303.01047v1.pdf

导读

相比于图像分类任务而言,目标检测还需要定位出图像中每个感兴趣目标所在的位置。以最流行的YOLOv5检测器为例,输出端一般有三个不同的感受野分支,每个分支均是一个耦合的头部(Coupled Head),直接一步到位预测出分类和回归任务,如下图所示:

当然,这种用于分类和定位的共享头最早可追溯到来两阶段网络的Fast RCNN中,在早期的目标检测中几乎是标配。不过,正如TSD中指出的,两个子任务互相耦合其实是会极大的影响网络收敛的,它们之间存在一种空间不对齐(spatial misalignment)的问题,简单点理解就是两个子任务Focus的点并不同:

如图所示,某些显着区域的特征可能具有丰富的分类信息,而边界周围的特征可能擅长边界框回归。另外,还有Double-Head-Ext中也提到了类似的问题,作者同样通过实验分析并发现了一个有趣的事实,即两个头部结构对这两个子任务的偏好相反。根据文章的结论,作者提出全连接头可能更适合分类任务,而卷积头则更适合定位任务,这是因为fc-headconv-head具备更高的空间敏感性,具有更强的区分完整对象和部分对象的能力,但对于回归整个对象并不稳健。因此,作者提出了如下图所示的解耦头方法:

再接下来便是YOLOX直接把解耦头用上了,直接在YOLOv3的基础上提升了1.1个百分点的mAP

最后,便是主流的PPYOLO-EYOLOv6甚至是YOLOv5官方新出版的YOLOv8均采用了这种范式。本文同样围绕这个方向提出了一种新颖的即插即用的特定于任务的上下文解耦头(Task-Specific COntext DEcoupling, TSCODE),通过进一步解开两个任务的特征编码来提升网络整体的性能。实验表明,所提方法可以有效的提升现有目标检测器的性能!

动机

可能不少小伙伴还在纳闷,检测头解耦,不就是拆成两个独立分支分别做分类和定位,这还能怎么水改?或者你以为是加点注意力去改善,但对不起,这次可能要让你失望了。如上所述,我们知道这两个子任务对特征上下文的偏好并不一致,其中,定位需要更多的边界感知特征来准确地回归边界框,而分类任务则需要更多的语义上下文信息。

而现有的方法通常都是利用解耦头来为每个任务学习不同的特征上下文。然而,不同head输入的特征却是相同的(没看懂的仔细观察上面的图片),作者认为这必然会导致分类和定位之间的仍然会有影响。于是,本文提倡对于分类任务应该生成空间粗糙但语义信息更强的的特征编码,而对于定位任务则需要提供包含更多边缘信息的高分辨率特征图,以更好地回归对象边界。笔者第一次看到的时候顿时有种“退一步海阔天空”的感觉。下面一起看看具体的实验分析:

图中显示的是NMS之前的结果,上半部分展示了利用原始FCOS推理结果,而下半部分则是插入TSCODE模块的效果。其中,与GT具有最高 IoU 的边界框以绿色框表示,而具有最高类别分数的前 3 个边界框以其他颜色标记。从图中可以明显的看出,原始的检测头机制存在明显的竞争关系,即具有最佳IoU(图中绿色框)的边界框反而具有较低的分类置信度,而具有最佳类别得分(图中蓝色框)的边界框却没有很好的贴齐目标,这岂不是乱了?

另一方面,我们可以观察到,加入TSCODE之后,图片瞬间变得清晰多了,即类别得分高的其目标框回归的也约贴近原始GT。这个方法也很简单,今天主要介绍下思想,下面快速的带大家过一遍,Let's go!

方法

一图胜千言,其实看图就知道作者在做什么了,但是遵循国际惯例,我们还是简单的讲解下凑下篇幅。

分类和定位是目标检测中两个高度相关但互相“矛盾”的任务。对于每个对象,分类属于粗粒度的戏细分任务,需要更丰富的语义上下文,而定位则相当细粒度,需要能提供更多丰富细节的边界信息。这一点不难理解,分类通常需要站在全局的角度去审时度势,这也是为什么大多数分类任务会采用全局上下文池化(Global Average Pooling, GAP)的原因。

如上所述,诸如YOLOX等常规的解耦头设置中,分类和回归分支都是共享来自Neck输出的相同输入特征。虽然它们使用单独的参数进行学习,以便为每个任务提供不同的特征上下文,即参数解耦,但这种简单的设计并不能从本质上解决问题。这是因为不同的输入特征其涵盖的语义和空间细节信息是并相同的。通常来说,低层特征具备更丰富的细节信息而缺乏语义信息,而高层特征则与之相反,这必然不能最大限度的发挥这种“解耦头”的优势。

如图所示,TSCODE整体的网络架构与常规的单阶段目标检测器并无多大差异,都是包含BackboneNeckHead。其中骨干网络充当特征提取器从输入图像生成多尺度特征图。随后通过类似于FPNBiFPN之类的特征金字塔结构进行深、浅层的特征融合,最后再分别输入到头部进行相应的解码输出。需要注意的是,这里TSCODE接收来自中间三个层级输出的特征图,并生成用于分类和定位的解耦特征图。更重要的是,TSCODE是即插即用的,可以很容易地集成到大多数流行的检测器中,无论是Anchor-based还是Anchor-free

至于为什么会选择中间三层特征,笔者猜想这是因为这三层在语义和细节信息的获取上是均衡的,严谨一点当然还是要做下消融实验验证下。下面一起看下这两个分支的具体操作流程。

Semantic Context Encoding for Classification

正如我们前面所提及的,分类任务需要更丰富的上下文语义信息。而深层特征便是具备这一特性,因此,一种自然而然的想法便是融合来自深层的特征,将丰富的语义信息嵌入到当前特征图中。

Detail-Preserving Encoding for Localization

另一方面,回归任务则需要更丰富的空间细节信息,这一点浅层特征能够提供所需要的。因此,很容易想到的一点便是将浅层的信息引导回流至下一层特征图中。一般而言,当前层级的特征以两个相邻层特征相关度较高,而其它层级的输出特征由于跨度太大可能会导致“语义鸿沟”(Semantic Gap),因此通常都会优先考虑相邻层的特征融合。作者此处便借鉴了U-Net的思想完成了一次改造。

效果

Ablation Studies

如表1所示,仅应用SCE可将基线模型的AP提高 0.6∼0.9 点,同时将FLOPs降低 9%。当同时应用SCEDPE时可以进一步提升模型性能,这说明两种机制本质上是互相促进的。

表2展示了SCE模块的消融实验,其表明了下采样方式采用 3 × 3 3\times3 3×3的步长卷积能取得最佳性能。

表3展示了DPE模块的消融实验,可以看出融合相邻层特征能获取最优的结果,并不是“越多越好”!

Generality to Different Detectors

总结

本文深入的探讨了目标检测任务中分类和定位分支之间的"冲突"原因,并提出了一种新颖的特定于任务的上下文解耦头机制来极大的缓解这种现象。TSCODE通过语义上下文编码用于保留局部细节编码两种高效的设计将两个任务的语义上下文进行解耦,分别引入了更丰富的语义信息和用于定位的更多边缘信息的特征。最后,通过大量的实验验证表明了所提方法可以轻松插入各大主流的目标检测器小痛涨点!

写在最后

如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!

同时欢迎添加小编微信: cv_huber,备注CSDN,加入官方学术|技术|招聘交流群,一起探讨更多有趣的话题!

即插即用! | 国防科大联合慕尼黑工业大学提出新型解耦头 TSCODE: 助力目标检测器轻松涨点!相关推荐

  1. 慕尼黑工业大学开源含四季的数据集:用于自动驾驶的视觉长期定位

    以下内容来自[从零开始机器人SLAM知识星球] 每日更新内容 点击领取学习资料 → 机器人SLAM学习资料大礼包 #论文# #开源数据集# 4Seasons: Benchmarking Visual ...

  2. 重磅直播|慕尼黑工业大学博士详解室内SLAM中的几何约束

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 大家好,本公众号现已开启线上视频公开课,主讲人通过B站直播间,对3D视觉领域相关知识点进行讲解,并在微 ...

  3. 高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!

    0. 笔者个人体会 众所周知,ORB-SLAM3具有单目.双目.RGB-D以及相应的惯性模式,其内部的数据关联极大的提高了定位建图精度.但在自动驾驶环境中,ORB-SLAM3却出现了不同程度的问题.对 ...

  4. GNN论文周报 | 来自北航、中科院、MSRA、新加坡国立大学、慕尼黑工业大学等机构前沿论文研究...

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 近年来,由于图结构的强大表示能力,用机器学习方法分析图结构的研究越来越受到重视.图神经网络(GNN)是图领域中一类基于深度学习的方法,由 ...

  5. 慕尼黑工业大学人形机器人,不依赖人类感知和决策能力自主行走

    全国硕博士生成果及创意展报名 全国硕博士生成果及创意展作为第六届中国机器人峰会的重要项目组成,旨在为全国高校与科研机构的硕博士生提供一个开放的学术交流平台.本次硕博成果展采用展览展示+项目路演的方式, ...

  6. Tableau收购慕尼黑工业大学(TUM)开发的高性能数据库系统HyPer

    作为敏捷商业分析软件的全球领导者,Tableau Software公司近日宣布已收购最初由慕尼黑工业大学(TUM)开发的研究项目--高性能数据库系统HyPer.根据技术收购协议,Tableau公司将为 ...

  7. 孟丽秋教授当选为慕尼黑工业大学第一副校长

    21.02.2008慕尼黑工业大学讯 http://portal.mytum.de/pressestelle/pressemitteilungen/news_article.2008-02-21.15 ...

  8. 德国慕尼黑工业大学计算机学院,德国哪些大学有英文授课?慕尼黑工业大学有吗?...

    德国大学的英语硕士授课和德语授课一样,大部分减免学费,对于很多想去德国留学却又担心德语难学的同学们可以考虑申请德国英语授课,下面我们就来看看德国哪些大学有英语授课的硕士. 慕尼黑工业大学 计算力学 托 ...

  9. 慕尼黑工业大学计算机博士申请条件,德国慕尼黑工业大学录取要求的三个评分标准...

    原标题:德国慕尼黑工业大学录取要求的三个评分标准 德国作为欧洲留学的热门国家,也是众多中国学生去留学的选择之一.德国不仅有浓厚的西方文化环境,在汽车.机械.工程.制造.电子等领域也位于世界前列,相关专 ...

最新文章

  1. python list越界原因(list assignment index out of range)
  2. 鸿蒙os内测版应用名称,鸿蒙OS2.0发布,只有两款机型可以申请内测
  3. FCPX插件:Color Titles动画彩色文本标题
  4. 【系统】windows2003 至少有一个服务或驱动程序无法加载或错误
  5. 蔚来事故启示录:被夸大的和被误导的自动驾驶
  6. ajax get 缓存 ie,Ajax异步同步请求被IE缓存的问题解决方法(get方式)
  7. sorted()函数快速实现字典输出
  8. 面向对象中private理解
  9. Error in mounted hook: “TypeError: Cannot read property ‘init‘ of undefined“
  10. python条件语句练习题_[python](1)---条件语句练习题
  11. android弹出窗背景透明,Android Dialog 弹框之外的区域 默认透明背景色修改
  12. 12306抢票软件相关接口以及数据格式
  13. python码合并txt文件
  14. 试用期程序员应该了解的事儿
  15. 安装Kali Linux系统 全流程详解
  16. 教程 | 使用小O地图制作文字标注地图
  17. VC和VS的区别--通俗易懂
  18. 基于单片机的血压计c语言,基于AT89C51单片机的便携式数字血压计的设计
  19. 基于asp.net816mvc汽车维修保养年检管理系统三层架构
  20. ppt基础篇--自学笔记

热门文章

  1. python 视频滤镜_Python实现PS滤镜功能之波浪特效示例
  2. Java六-七章总结
  3. Faster R-CNN论文翻译
  4. 罗德与施瓦茨CBT蓝牙测试仪
  5. 补充第二篇:Windows 环境下,配置Nginx
  6. 我们为什么是中国人?
  7. JS小游戏-宇宙战机
  8. 阿sa vs 马化腾
  9. C++ API 设计 08 第三章 模式
  10. 使用方式一 实现电影院买票 并且存在问题