目前很多研究表明目标检测中的分类分支和定位分支存在较大的偏差,论文从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的更多相关文章

  1. 计蒜客 第四场 C 商汤科技的行人检测(中等)平面几何好题

    商汤科技近日推出的 SenseVideo 能够对视频监控中的对象进行识别与分析,包括行人检测等.在行人检测问题中,最重要的就是对行人移动的检测.由于往往是在视频监控数据中检测行人,我们将图像上的行人抽 ...

  2. 详解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 ...

  3. 旷视向左、商汤向右,AI一哥之名将落谁家

    编辑 | 于斌 出品 | 于见(mpyujian) AI风口历经多年洗礼之后,真正意义上的AI第一股终于要来了. 相比于聚焦在语音识别技术上的科大讯飞.立足互联网产业的百度.发力人形机器人领域的优必选 ...

  4. 目标检测中的IOU和CIOU原理讲解以及应用(附测试代码)

    上期讲解了目标检测中的三种数据增强的方法,这期我们讲讲目标检测中用来评估对象检测算法的IOU和CIOU的原理应用以及代码实现. 交并比IOU(Intersection over union) 在目标检 ...

  5. SEPC:使用3D卷积从FPN中提取尺度不变特征,涨点神器 | CVPR 2020

    论文提出PConv为对特征金字塔进行3D卷积,配合特定的iBN进行正则化,能够有效地融合尺度间的内在关系,另外,论文提出SEPC,使用可变形卷积来适应实际特征间对应的不规律性,保持尺度均衡.PConv ...

  6. CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等

    CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等 CVPR 2020中选论文放榜后,最新开源项目合集也来了. 本届CPVR共接收6656篇论文,中选1470篇,&q ...

  7. vue学习(十四) 条件搜索框动态查询表中数据 数组的新方法

    //html <div id="app"> <label> 名称搜索关键字: <input type="text" clasa=& ...

  8. 目标检测 1 : 目标检测中的Anchor详解

    咸鱼了半年,年底了,把这半年做的关于目标的检测的内容总结下. 本文主要有两部分: 目标检测中的边框表示 Anchor相关的问题,R-CNN,SSD,YOLO 中的anchor 目标检测中的边框表示 目 ...

  9. 商汤科技汤晓鸥:其实不存在AI行业,唯一存在的是“AI+“行业

    https://mp.weixin.qq.com/s/bU-TFh8lBAF5L0JrWEGgUQ 9 月 17 日,2018 世界人工智能大会在上海召开,在上午主论坛大会上,商汤科技联合创始人汤晓鸥 ...

随机推荐

  1. Nuxt内导航栏的两种实现方式

    方式一 | 通过嵌套路由实现 在pages页面根据nuxt的路由规则,建立页面 1. 创建文件目录及文件 根据规则,如果要创建子路由,子路由的文件夹名字,必须和父路由名字相同 所以,我们的文件夹也为i ...

  2. 【Selenium04篇】python+selenium实现Web自动化:文件上传,Cookie操作,调用 JavaScript,窗口截图

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第四篇博 ...

  3. vueThink框架搭建与填坑(new)

    自己跟着官网搭建vueThink框架,发现github上文档有很多坑.所以总结一下(仅针对WIN端下载使用) 1.安装node.js 前端部分是基于node.js上运行的,所以必须先安装node.js ...

  4. android学习笔记——使用QuickContactBadge关联联系人

    本文大部分内容来自<疯狂android讲义>. QuickContactBadge继承了ImageView,因此它的本质也是图片,也可以通过android:src属性指定它显示的图片.Qu ...

  5. Linux/UNIX 下终端复用利器 tmux

    简介 tmux 是一个终端复用器类自由软件,功能类似 GNU Screen,但使用 BSD 许可发布.用户可以通过 tmux 在一个终端内管理多个分离的会话,窗口及面板,对于同时使用多个命令行,或多个 ...

  6. unity使用Animator做一个简单的动画

    1.在unity的物体上添加Animator组件 2.在Project下的Assets下添加Animator Controller 3.在Animator Controller添加动作 4.在动作之间 ...

  7. L21 Momentum RMSProp等优化方法

    airfoil4755 下载 链接:https://pan.baidu.com/s/1YEtNjJ0_G9eeH6A6vHXhnA 提取码:dwjq 11.6 Momentum 在 Section 1 ...

  8. 百度智能云虚拟主机 Typecho 分类功能失效 | 开启伪静态地址

    出现的问题 $this->is() 方法失效,无法正确判断 archive.category.tags 页面类型. 点击分类页面.归档页面时,虽然 URL 是正确的,但网页内容却是 index. ...

  9. Maven+JSP+SSM+Mysql+C3P0实现的学生管理系统

    项目简介 项目来源于:https://gitee.com/wu_yun_long/student_management_system 本系统是基于Maven+JSP+SSM+Mysql+C3P0实现的 ...

  10. api接口安全

    API接口安全 在做app开发中,如何保证api的接口安全,不被其他app去调用? 接口安全的措施很多,今天记录一个常用的措施 签名: 前台想要调用接口,需要使用几个参数生成签名: 时间戳:当前时间 ...