首次适应算法c++_获得Open Images冠军,商汤TSD目标检测算法入选CVPR 2020 ?

编者按:此前,在文章《商汤科技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 冠军。

9a2c201bcffaa4ba50688937df922a6d.png

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

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

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

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

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

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

694aa9607be0684b4eb0249e27b93147.png

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

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

9d04df1c36c9944fa57765ccbbdb49c4.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检测器性能稳定超越传统的检测器头部,让分类任务和回归任务的准确度比原始方法更高。

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

bd3e2d43e9453e6cf6dad97c25adfcb1.png

其中

6abb020153b5b72d99a83e7879e741eb.png

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

0f21e759b4319aa0c6335d00f03303e8.png

是预定的Margin。

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

eb065e6bf471c72ca3c017ee38dbfda0.png
e38898892d782bc94e146ca3d912a0ce.png

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

81ac595f9b65a5bcee97c63229c49d10.png

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

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

9ed5130530c3eb5f77f4ec19ae2f7601.png

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

实验结果

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

ec3a29f2d5a8bd01f5b2664e2311d0ed.png

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

d67a59baa484ff6bc81ef7e886d7406c.png

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

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

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

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

3c2650b43f60b4a3ec371fcfa8488e10.png

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

fe3f0dc88384a9dd76c1d5b9c8273b33.png

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

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

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

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

e3f9fddf2cbcaef9331ed9c905454681.png

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

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

9fe46fb3c4977a8b3d2504275228c377.png

表5:在Open Images数据集上,传统方法与TSD方法对比

eadb0bc29818695da4f9a6ce557a7071.png

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

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

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

e1985c420a1ed6f5cfe9b8d717d6f418.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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值