当前位置:   article > 正文

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

tsd sensetime

本文转载自商汤科技SenseTime。

https://zhuanlan.zhihu.com/p/131576433

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

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

获得此项竞赛冠军的核心算法是基于任务间空间自适应解耦(task-aware spatial disentanglement,TSD)检测算法。如今,该算法的论文也被CVPR 2020收录,并即将在GitHub上开放源代码

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

 

但是,商汤研究团队发表的TSD算法提升了难以置信的3~5% mAP!而且是在行业难度最高的数据集Open Images和COCO。以该算法作为核心的解决方案荣获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、TSDSibling 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.07557.pdf

END

备注:目标检测

目标检测交流群

2D、3D目标检测等最新资讯,若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/695538
推荐阅读
相关标签
  

闽ICP备14008679号