商汤提出解偶检测中分类和定位分支的新方法TSD,COCO 51.2mAP | CVPR 2020
目前很多研究表明目标检测中的分类分支和定位分支存在较大的偏差,论文从sibling head改造入手,跳出常规的优化方向,提出TSD方法解决混合任务带来的内在冲突,从主干的proposal中学习不同的task-aware proposal,同时结合PC来保证TSD的性能,在COCO上达到了51.2mAP
来源:晓飞的算法工程笔记 公众号
论文: Revisiting the Sibling Head in Object Detector

Introduction

经典RoI-based定位算法使用sibling head(2-fc)对proposal同时进行分类和回归,由于任务的本质不同,分类任务和定位任务是完全不同的,关注的特征也不一样,如图1所示。分类任务往往需要平移不变性,而定位任务则需要平移可变性。

具体属性的表现如公式10所示,$\forall_{\varepsilon}, IoU(P+\varepsilon,\mathcal{B})\ge T$,$T$为IoU阈值,$f$为共用的特征提取器。因此,共用的特征提取器以及相同的proposal都是目标检测学习的主要障碍。
与以往的方法不同,论文观察到限制定位算法的根本问题在于分类分支和定位分支在空间维度上存在偏差,不是通过设计特征提取器或更好的结构能解决的。因此,论文提出TSD方法,从空间维度和特征提取两方面同时对分类任务和定位任务进行拆解,并且结合精心设计的渐进约束(PC)帮助学习。
论文的贡献如下:
- 深入探讨RoI-based检测算法中混合任务带来的障碍,并揭示限制检测性能的瓶颈
- 提出TSD(task-aware spatial disentanglement)解决混合任务的冲突,能够学习到task-specific特征表达能力
- 提出PC(progressive constraint)来扩大TSD和sibling head间的性能间隔
- 在COCO和OpenImage上验证了有效性,单模型最高可达51.2mAP
Methods

如图2所示,在训练时,TSD和原来的结构共存,定义主干输出的预测框为$P$,TSD输出最终的定位结果$\hat{D}_r$和最终的分类结果$\hat{D}_c$,原sibling head输出的结果为$D$,GT为$\mathcal{B}$,类别为$y$
TSD (task-aware spatial disentanglement)

经典的Faster RCNN基于$P$同时最小化预测框的分类误差和损失误差,如公式1,$\mathcal{H}_1(\cdot)={f(\cdot),\mathcal{C}(\cdot)}$,$\mathcal{H}_2(\cdot)={f(\cdot),\mathcal{R}(\cdot)}$,$f(\cdot)$为特征提取,$\mathcal{C}(\cdot)$和$\mathcal{H}(\cdot)$为分别从特征进行分类和定位的预测函数。由于分类和定位所用到的特征不太一样,一些研究将特征提取拆分为$f_c$和$f_r$,尽管这样的拆分能带来一些提升,但任务混合在空间上的内在冲突仍然潜在(分类和定位所需的bbox其实不一样)

为了解决这个潜在的问题,TSD直接在空间上对分类和定位进行分解,如公式2,从原预测框$P$中预测出分类框$\hat{P}_c = \tau_c(P, \Delta C)$以及定位框$\hat{P}_r = \tau_r(P, \Delta R)$,$\Delta C$为pointwise的形变,$\Delta R$为proposal-wise的变化,具体如图2(b)所示。然后再通过不同的特征提取和head进行分类和定位的预测,$\mathcal{H}_1D(\cdot)={f_c(\cdot),\mathcal{C}(\cdot)}$,$\mathcal{H}_2D(\cdot)={f_r(\cdot),\mathcal{R}(\cdot)}$。由于分解了分类和定位的预测区域,TSD能够学习task-aware的特征表达。
TSD learning


对于定位,使用三层全连接$\mathcal{F}_r$来生成proposal-wise变化$\Delta R\in \mathbb{R}^{1\times 1\times 2}$用于将$P$转换为$\hat{P}_r$,每层的输出为${256, 256, 2}$,$\gamma$为预设的调节标量。$\tau_r$的计算如公式4,即将$P$进行整体移动,新点的值使用双线性插值计算,使得$\Delta R$可微。


对于分类,将规则的$P$变形为不规则的$\hat{P}_c$,$\mathcal{F}_c$为三层全连接层,每层的输出为${256, 256, k\times k\times 2}$,为了减少参数,首层全连接与$\mathcal{F}_r$共用。$\Delta C\in \mathbb{R}^{k\times k\times 2}$为pointwise的x坐标和y坐标变化,$k\times k$为池化后特征$\hat{F}_c$的大小,根据公式6使用$\Delta C$生成池化后的特征图$\hat{F}_c$,这里的池化操作跟Deformable Convolution的一样。$|G(x,y)|$为像素总数,具体大小跟池化前后的特征图大小有关,$(p_x, p_y)$为区域中的坐标,$\mathcal{F}_B(\cdot)$为双线性插值,使$\Delta C$可导。
Progressive constraint
在训练阶段,使用公式1对TSD和sibling head进行联合训练,此外还设计了渐进约束(progressive constraint, PC)来辅助TSD的学习,如图2(c)。

对于分类分支,PC如公式7,$\mathcal{H}(y|\cdot)$为$y$类的置信度,$m_c$约预设的间隔,$|\cdot|_{+}$类似于ReLU函数,即约束TSD的预测置信度需要比sibling head至少高$m_r$,否则即学习不够,产生损失

对于定位分支,PC如公式8,$\hat{\mathcal{B}}$为原方式的最终预测结果,$\hat{\mathcal{B}}_D$为TSD转换后的最终预测结果,仅对正样本进行计算,即约束TSD的预测结果的IoU需要比sibling head至少高$m_r$

最终的损失函数为公式9,结合了所有的损失,推理的时候把sibling head分支和PC去掉。
论文在此处提出的约束方法很好,但是会存在一个问题,若sibling head学习充分了,留给TSD的提升空间本身就小于间隔,这样产生的损失显然有些不合理,所以是否在这种情况应该调整间隔,在可提升空间和预设间隔之间去个最小值。
Experiments
Ablation studies
Task-aware disentanglement


这里对比了TSD与不同的分解策略,比如$D_{s8}$即从stride为8的特征图开始分解。
Joint training with sibling head $\mathcal{H}_*$

Effectiveness of PC

Derived proposal learning manner for $\mathcal{H}_*^D$

Delving to the effective PC

Applicable to variant backbones

基于Faster R-CNN + TSD替换不同主干网络的结果
Applicable to Mask R-CNN

Generalization on large-scale OpenImage

Comparison with state-of-the-Arts

Analysis and discussion
Performance in different IoU criteria

Performance in different scale criteria

What did TSD learn

从图5可以看出,TSD的定位能够学习不易回归的边界,而分类则专注于局部特征以及目标的上下文信息,这里的点为区域$G(x,y)$转换后的中心点
Conclusion
目前很多研究表明目标检测中的分类分支和定位分支存在较大的偏差,论文从sibling head改造入手,跳出常规的优化方向,提出TSD方法解决混合任务带来的内在冲突,从主干的proposal中学习不同的task-aware proposal,同时结合PC来保证TSD的性能,在COCO上达到了51.2mAP
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

商汤提出解偶检测中分类和定位分支的新方法TSD,COCO 51.2mAP | CVPR 2020的更多相关文章
- 计蒜客 第四场 C 商汤科技的行人检测(中等)平面几何好题
商汤科技近日推出的 SenseVideo 能够对视频监控中的对象进行识别与分析,包括行人检测等.在行人检测问题中,最重要的就是对行人移动的检测.由于往往是在视频监控数据中检测行人,我们将图像上的行人抽 ...
- 详解Objective-C的meta-class 分类: ios相关 ios技术 2015-03-07 15:41 51人阅读 评论(0) 收藏
比较简单的一篇英文,重点是讲解meta-class.翻译下,加深理解. 原文标题:What is a meta-class in Objective-C? 原文地址:http://www.cocoaw ...
- 旷视向左、商汤向右,AI一哥之名将落谁家
编辑 | 于斌 出品 | 于见(mpyujian) AI风口历经多年洗礼之后,真正意义上的AI第一股终于要来了. 相比于聚焦在语音识别技术上的科大讯飞.立足互联网产业的百度.发力人形机器人领域的优必选 ...
- 目标检测中的IOU和CIOU原理讲解以及应用(附测试代码)
上期讲解了目标检测中的三种数据增强的方法,这期我们讲讲目标检测中用来评估对象检测算法的IOU和CIOU的原理应用以及代码实现. 交并比IOU(Intersection over union) 在目标检 ...
- SEPC:使用3D卷积从FPN中提取尺度不变特征,涨点神器 | CVPR 2020
论文提出PConv为对特征金字塔进行3D卷积,配合特定的iBN进行正则化,能够有效地融合尺度间的内在关系,另外,论文提出SEPC,使用可变形卷积来适应实际特征间对应的不规律性,保持尺度均衡.PConv ...
- CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等
CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等 CVPR 2020中选论文放榜后,最新开源项目合集也来了. 本届CPVR共接收6656篇论文,中选1470篇,&q ...
- vue学习(十四) 条件搜索框动态查询表中数据 数组的新方法
//html <div id="app"> <label> 名称搜索关键字: <input type="text" clasa=& ...
- 目标检测 1 : 目标检测中的Anchor详解
咸鱼了半年,年底了,把这半年做的关于目标的检测的内容总结下. 本文主要有两部分: 目标检测中的边框表示 Anchor相关的问题,R-CNN,SSD,YOLO 中的anchor 目标检测中的边框表示 目 ...
- 商汤科技汤晓鸥:其实不存在AI行业,唯一存在的是“AI+“行业
https://mp.weixin.qq.com/s/bU-TFh8lBAF5L0JrWEGgUQ 9 月 17 日,2018 世界人工智能大会在上海召开,在上午主论坛大会上,商汤科技联合创始人汤晓鸥 ...
随机推荐
- Gradle系列之初识Gradle
原文首发于微信公众号:躬行之(jzman-blog) 学习 Android 有一段时间了,开发中经常使用到 Gradle ,但是不知道 Gradle 构建项目的原理,计划花一点时间学习一下 Gradl ...
- 15分钟从零开始搭建支持10w+用户的生产环境(一)
前言 这是一个基于中小型企业或团队的架构设计. 不考虑大厂.有充分的理由相信,大厂有绝对的实力来搭建一个相当复杂的环境. 中小型企业或团队是个什么样子? 开发团队人员配置不全,部分人员身兼开发过程上下 ...
- JAVA debug 调试demo
1.设置断点,在代码的行号后面鼠标左键即可2.想要看调用方法的执行流程,那么调用方法也要加断点. package day6_debug; /* * 1.设置断点,在代码的行号后面鼠标左键即可 * 2. ...
- Docker之hello world
Docker Hello World Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world runoob@runoob: ...
- java 泛型实例详解(普通泛型、 通配符、 泛型接口)
java 泛型详解(普通泛型. 通配符. 泛型接口) 2013-02-04 19:49:49| 分类: JAVA | 标签:java |举报|字号 订阅 下载LOFTER客户端 JDK1.5 令我们期 ...
- CentOS7.5 使用Docker部署Jumpserver
1.环境准备 # 查看系统版本 $ cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) # 查看内核版本 $ uname -a L ...
- 背景知识+监督和无监督学习辨析+预备知识(1-1—1-4/用时4h)
1-1/1.2,基本上都是一些基础知识,机器学习的背景,发展,概念,用途 1-3,监督学习: 数据集类型已知,数据信息为已知正解--由已知正解推测趋势(拟合分布函数)-- 给出的模型例子--基本类似于 ...
- Salesforce考试 | 如何维护我的Salesforce认证
问题1 Salesforce证书是需要每年维护吗? Salesforce每年会发布3次Realese,分别是Spring.Summer和Winter,可以理解为一年3次的系统新版本更新,每次Relea ...
- 微信群里一道六年级数学题,求阴影面积,那我只能用python代码了
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...
- windows/linux下如何更换Python的pip源
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:xlixiaohui PS:如有需要Python学习资料的小伙伴可以 ...