申请试用
登录
核心技术
以原创技术体系为根基,SenseCore商汤AI大装置为核心基座,布局多领域、多方向前沿研究,
快速打通AI在各个垂直场景中的应用,向行业赋能。

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

2020-04-13

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


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


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


erhgtj.jpg


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


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


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


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


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


kergegr.png

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


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


rfewrgth.png



在实验中发现,分类任务(图中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检测器性能稳定超越传统的检测器头部,让分类任务和回归任务的准确度比原始方法更高。

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


rgrhgth.png


其中1111.png表示对于第y类的预测置信度,2222.png是预定的Margin。

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


33333.png


44444.png是原始检测器头部得到的检测框,55555.png是TSD算法得到的检测框。如果当前的Proposal是一个负样本,那么该Loss会被Ignore。

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


666666.png



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


实验结果


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


777.png


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


888.png

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


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


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


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


999.png


表2:传统Sibling head与TSD联合训练可提升性能

11122223.png


表3:加入PC损失函数对于分类和回归准确率影响


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


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


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


qq1.png

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

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


qq2.png

表5:在Open Images数据集上,

传统方法与TSD方法对比

qq44.png


表6:在COCO分割任务上,传统方法与TSD方法对比


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


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


qq55.png


基于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。


ww1.jpg

ww2.jpg

ww3.jpg

ww4.jpg