编者按:此前,在文章《商汤科技57篇论文入选ICCV 2019,13项竞赛夺冠》里,商汤君报道了商汤科技荣获Open Images Object Detection Challenge 2019 冠军。

由Google AI主办的Open Images大赛是目前通用物体检测和实例分割两个领域中数据量最大、数据分布最复杂、最有挑战性的竞赛。它比COCO数据大一个量级,标注更不规则,场景更复杂。

获得此项竞赛冠军的核心算法是基于任务间空间自适应解耦(task-aware spatial disentanglement,TSD)检测算法。如今,该算法的论文也被CVPR 2020收录,并即将在GitHub上开放源代码,有兴趣的同学可关注https://github.com/Sense-X/TSD。


随着深度学习的不断发展,目标检测精度的提升愈加困难,一般而言能提升1~2%的mAP(平均准确率)便算是很大的突破了。

但是,商汤研究团队发表的TSD算法提升了难以置信的3~5% mAP!而且是在行业难度最高的数据集Open Images和COCO。以该算法作为核心的解决方案(链接:

https://arxiv.org/pdf/2003.07557.pdf)荣获Open Images Object Detection Challenge 2019 冠军。

图1:商汤研究院基础技术与MMLab的联合团队(参赛团队名:MMfruit)获得Open Images Object Detection Challenge 冠军

首次提出分类和回归任务分别学习

机器认识一个物体需要从两个维度:分类和回归。分类是指识别物体的属性,例如判断一幅图片上的动物是一只猫还是一只狗;回归是指识别物体的区域和位置。

传统目标检测方法(比如Faster RCNN)通常是分类和回归一起学习,共享Proposal(物体潜在存在的区域框)和Sibling head(特征提取器)。

它是怎样的过程呢?如图2的下半部分,分类和回归共享一个输入Proposal P(即红色框),以及同一个特征提取器f(·),输出结果W/o TSD。

但是我们发现,最终输出的图片框其分类置信度和检测框的准确度是不一致的,如下图检测框的置信度很高,但是没有框住飞机机翼,即区域框是不准确的。

图2:传统目标检测方法和商汤TSD方法比较

那么为什么会造成这样的问题?商汤研究团队通过一个实验来探寻,发现分类和回归过程的特点,如下图:

在实验中发现,分类任务(图中Classification)更关注语义信息丰富的地方,而回归任务(图中Localization)比较关注物体的边界处。所以传统的Faster RCNN对于分类任务和回归任务共享同一个Proposal和特征提取器就会出现一些内在的矛盾影响检测器的训练

本文提出的基于任务间空间自适应解耦(task-aware spatial disentanglement,TSD)的检测算法,对于分类任务和回归任务,分别让其学习各自适应的Proposal和特征提取器。

如图2上半部分,将输入Proposal P的分类任务变换成P_c,回归任务变换成P_r。再分别通过不同的特征提取器f_c(·)和f_r(·)做分类和回归。

这种方法的输入和特征提取器都是不共享的,从而最大程度地减少由于优化目标不一样带来的冲突,进而显著提升性能。

引入损失函数PC,大幅度提升检测器性能

本文还引入了渐进约束损失函数PC(Progressive Constraint),帮助TSD检测器性能稳定超越传统的检测器头部,让分类任务和回归任务的准确度比原始方法更高。

对于分类任务,通过以下公式保证分类任务准确度比传统方法更高:

其中

表示对于第y类的预测置信度,

是预定的Margin。

对于回归任务,通过以下公式保证回归任务准确度比传统方法更高:

是原始检测器头部得到的检测框,

是TSD算法得到的检测框。如果当前的Proposal是一个负样本,那么该Loss会被Ignore。

综上,在整个训练过程中,整体检测器的优化为:

在推理阶段,原始的检测器头部不再使用。Classical Loss是原始损失函数,TSD Loss是本文提出的损失函数。

实验结果

1、与不同网络解耦方式比较,TSD效果最好

首先将TSD与在不同的网络层进行任务间解耦的结构进行比较,如上图所示。

表1:各类解耦方式与TSD解耦方式比较

综合参数量和性能提升,TSD相比于其他解耦方式,具备明显的优势。

2、TSD与Sibling head联合训练效果更好

在TSD整体的训练中,传统的Sibling head仍然可以进行联合训练来优化Backbone,同时渐进约束损失(PC)可以进一步提升TSD的性能。

表2:传统Sibling head与TSD联合训练可提升性能
表3:加入PC损失函数对于分类和回归准确率影响

从表2可以看出两个Head联合训练可以进一步带来性能的提升。从表3可以看出,加入损失函数PC之后,无论对于分类还是对于回归,PC都可以进一步带来准确率提升,两者都用PC带来的效果是最好的。

3、TSD在COCO、Open Images和网络结构上均能大幅提升准确率

从表4可以看出,在不同网络结构上(包括ResNet-50、ResNet-101、ResNet-152等),本文提出的TSD方法在准确度上均有明显提升。且推理时间增长不超过10%。

表4:在不同网络结构上,传统方法与TSD方法准确度对比

表5可以看出,在谷歌提出的Open Images大规模数据集上,TSD方法均有性能上的显著提升。

表5:在Open Images数据集上,传统方法与TSD方法对比
表6:在COCO分割任务上,传统方法与TSD方法对比

在表6的COCO分割任务上,TSD方法也能带来明显性能提升,而且提升幅度较大。

4、与当前行业领先算法比较

基于ResNet-101的Backbone,TSD算法达到了新的state-of-the-art的性能,并且在SENet154-DCN的基础结构下,COCO的性能达到了51.2 map。

结论

本文针对通用物体检测算法中分类任务和回归任务之间因为优化目标不一致带来的潜在冲突,提出了基于任务间空间自适应解耦的检测算法TSD。

在检测器头部通过特定设计的偏移量生成策略以及联合训练优化渐进损失来有效的提升检测器性能,在额外的推理时间损耗不超过10%的情况下,能够稳定提升3%~5%的检测性能,并且成为Open Images 2019 Object detection challenge夺冠的核心算法。

大量实验证明,TSD可以比较容易的搭配各种不同的网络结构以及Anchor-based的检测框架来进行使用。

更多精彩内容可查看原文,链接:https://arxiv.org/pdf/2003.07540.pdf

招聘

商汤研究院-基础技术团队招聘研究员见习研究员:

1.强化学习方向:探索在复杂环境(如游戏AI、系统优化)中的强化学习方法,研究包括但不限于multi agent RL、imitation learning、model-free场景下sampling efficiency等基础问题;参与实际项目中的RL方法设计与探索。

2.巨型网络优化方向:研究在billion level数据下的超大型网络结构设计与搜索,包括但不限于人脸识别模型优化、sampling based NAS,optimizer设计与搜索等。

有兴趣的小伙伴请投递简历至liuyu@sensetime.com

首次适应算法_CVPR 2020丨?商汤TSD目标检测算法获得Open Images冠军相关推荐

  1. 获得Open Images冠军,商汤TSD目标检测算法入选CVPR 2020 ​

    本文转载自商汤科技SenseTime. https://zhuanlan.zhihu.com/p/131576433 编者按:此前,在文章<ICCV 2019 | 商汤科技57篇论文入选,13项 ...

  2. CVPR 2020 | Open Images冠军方案:商汤TSD目标检测算法解读

    该论文名为 Revisiting the Sibling Head in Object Detector,其提出基于任务间空间自适应解耦(task-aware spatial disentanglem ...

  3. Grid R-CNN解读:商汤最新目标检测算法,定位精度超越Faster R-CNN

    作者 | 周强 来源 | 我爱计算机视觉 Grid R-CNN是商汤科技最新发表于arXiv的一篇目标检测的论文,对Faster R-CNN架构的目标坐标回归部分进行了替换,取得了更加精确的定位精度, ...

  4. Grid R-CNN解读:商汤最新目标检测算法

    点击我爱计算机视觉标星,更快获取CVML新技术 Grid R-CNN是商汤科技最新发表于arXiv的一篇目标检测的论文,对Faster R-CNN架构的目标坐标回归部分进行了替换,取得了更加精确的定位 ...

  5. 港中大、商汤开源目标检测工具包mmdetection,对比Detectron如何?

    近日,香港中文大学-商汤联合实验室开源了基于 PyTorch 的检测库--mmdetection.上个月,商汤和港中大组成的团队在 COCO 比赛的物体检测(Detection)项目中夺得冠军,而 m ...

  6. 【CV】大盘点 | 性能最强的目标检测算法

    前言 去年7月,Amusi 曾做过一篇整理:大盘点 | 性能最强的目标检测算法,那时收集的情况是:改进后的 Cascade R-CNN 算法是截止(2019.07.07)目标检测方向性能最强的算法,其 ...

  7. 大盘点 | 性能最强的目标检测算法

    作者:Amusi Date:2020-05-09 来源:CVer微信公众号 链接:大盘点 | 性能最强的目标检测算法 前言 去年7月,Amusi 曾做过一篇整理:大盘点 | 性能最强的目标检测算法,那 ...

  8. 干货|基于深度学习的目标检测算法面试必备(RCNN~YOLOv5)

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨不出名的小金@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/35406 ...

  9. 基于Matlab深度学习目标检测算法系统GUI,单目标、多目标检测

            深度学习是一种功能强大的机器学习方法,可用于训练稳健的目标检测器.目标检测有多种方法,包括 Faster R-CNN 和 you only look once (YOLO) v2!本文 ...

最新文章

  1. redis集群之REDIS CLUSTER
  2. ADO.NET 2.0 - 读者询问能否使用 SqlBulkCopy 对象来大量复制文字文件
  3. ios编译与android编译区别是什么,为iOS和Android编译C ++代码(XCode)。 这是真的吗?...
  4. Android SO逆向1-ARM介绍
  5. HarmonyOS之跨设备分布式应用调试
  6. 一套完整的导视设计案例_色彩导视艺术:乌克兰基辅语言学校导视设计案例
  7. 服务器IIS asp.net中.aspx映射
  8. Lucene的索引不跨平台
  9. 微信公众平台开发中提示“该公众号提供的服务出现故障”问题解决
  10. yum 命令提示语法错误
  11. centos locale报错问题
  12. linux 网络编程connection refused,《UNIX网络编程》第一个例子出现“connect error: Connection refused”错误提示信息?...
  13. SAP系统中的区域菜单(Area Menu)及SPRO的使用技巧
  14. php 如何使用ck播放视频,[原创]简单代码利用ckplayer播放器实现帝国CMS播放优酷在线视频...
  15. Go test 命令行参数
  16. 10Mbps以太网的帧长度
  17. 定性研究的小技巧与注意事项!
  18. c语言课程设计报告停车系统,停车场管理系统C语言课程设计
  19. 干货!老司机带你了解网易视频云互动直播,你想看的全都有
  20. 进击的JavaScript(对象,继承,单例模式)

热门文章

  1. Struts2面试问答
  2. Java中的紧凑堆外结构/组合
  3. 在Tomcat上设置和使用Apache Solr
  4. Spring Security第1部分–具有数据库的简单登录应用程序
  5. Xuggler教程:帧捕获和视频创建
  6. arduino蓝牙通讯代码_蓝牙4.0模块 无线数据传输模块 无线蓝牙串口 Arduino
  7. toarray方法_机器学习中类别变量的编码方法总结
  8. Linux 及其它类 Unix 系统的系统服务管理和控制程序(初始化系统/init system)简单梳理
  9. IntelliJ IDEA中打开项目时用 Import Project(导入项目) 和 Open(打开项目) 的区别
  10. Mac 如何操控远程的 Windows 电脑