CVPR 2018 | ETH Zurich提出利用对抗策略,解决目标检测的域适配问题
CVPR 2018 | ETH Zurich提出利用对抗策略,解决目标检测的域适配问题
论文地址:https://arxiv.org/abs/1803.03243
摘要:本文是 ETH Zurich 发表于 CVPR 2018 的工作,论文提出了采用当前火热的对抗策略,解决目标检测任务中使用不同数据集训练的域适配问题。(ETH Zurich发表于CVPR的另一项工作极市也有文章解读,详情可见文末)
背景介绍
基于有监督的目标检测器(如Faster R-CNN, SSD)在有标签数据集上(Pscal VOC, COCO等)取得了很好的性能。然而,一方面检测器的训练严重依赖大量有标签数据,在现实场景中这些有标签数据的获取代价是很大的。另一方面,在一个场景上训练的模型难以generalize到另一个场景中,例如在自动驾驶场景下,当遇到没有标签数据的新场景时,如何使得旧场景上训好的模型在新场景上也有很好的表现?本文对此做了一次有益尝试。
域适配(Domain Adaptation, DA)问题已经在图像分类任务上得到了广泛研究并取得了惊人进展,今年CVPR上也有很多相关工作。其本质属于迁移学习的一种,问题设定是:如何使得源域(Source Domain)上训练好的分类器能够很好地迁移到没有标签数据的目标域上(Target Domain)上。其中两个代表性的工作有:DSN [1]和ADDA [2]。
这种域适配问题在目标检测同样存在,如下图所示,在自动驾驶场景中,来自不同数据集的图像分别来自不同的场景,也就是这里的Domain,比如在KITTI数据集(源域)上训练的检测器直接用于检测Cityscape数据集(目标域)中的目标,效果是很差的,一种显而易见的思路是拿Cityscape的数据去FineTune检测器使得检测器在Cityscape数据集也有很好的表现,但需要对Cityscape数据集进行标注以进行有监督的训练,然而现实场景中更普遍的一种情况是大量目标域的图像没有标签。如何使得源域上训练的检测器在目标域中也有很好的检测性能?这是本文需要解决的问题。
解决思路
本文首先从概率分布的角度论证了进行域适配的必要性,据此引出了本文的两点贡献:提出图像层面的适配(Image-Level Adaptation)和目标层面的适配(Instance-Level Adaptation),用于解决自动驾驶场景下目标检测任务使用不同数据训练的域适配问题。
模型结构
图2给出了本文方法的处理流程,检测器采用的是当前主流的Faster R-CNN,训练时一个batch包含两张图像,分别来自源域和目标域,所以网络的输入实际上是两张图像(图中只画了一张)。结合图2, 下面重点论述下本文是所采用的两个层面的域适配:
1、Image-Level Adaptation
源域的图像是有标签的,而目标域的图像是无标签的,如果只用源域的图像进行训练,会使得网络学到的特征在源域上非常discriminative,但在目标域上表现欠佳,所以应该做图像层面上的适配,也即使得来自源域的图像特征和来自目标域的图像特征满足同一分布,这里可以采用图2中的Image-level domain classifier,如果使得domain classifier无法区分开特征图到底是来自源域还是来自目标域,那么我们的目的就达到了,而在训练过程中domain classifier则是要尽量把二者区分开,其实这里体现的就是GAN中的对抗策略了,只不过作者用的并不是当前火热的GAN,而是通过文献[3]提出的gradient reverse layer实现的,domain classifier的更新是正常的梯度反传,而将负梯度反传到前面的检测器。对抗损失如下式所示:
2、Instance-Level Adaptation
同样,我们还需要目标层面的适配,也就是每个ROI的特征也要满足同一分布,同上面的对抗策略一致,对应的对抗损失如下式所示:
此外,为了保证两个层面的域适配的一致性,作者还提出了一种一致性约束(Consistency Regularization),如式(9),其目的是为了保证两个层面的domain classifier的判断是一致的、
最后加上原始Faster R-CNN检测器的loss,就可以端到端地训练了。
实验分析
实验分为三个部分,分别从三个视角进行论证:
1、合成数据集和真实数据集之间的域适配问题;
2、两个不同气候条件下的域适配问题;
3、两个不同驾驶场景下的域适配问题。
从上图可以发现,左图是合成数据集SIM 10k,右图是真实场景Cityscape数据集,通过本文的域适配,即使没有使用Cityscape中的标签数据进行训练,检测器性能提升了约8%。
从上图可以发现,左图是Cityscape数据集,右图是Foggy Cityscape数据集,通过本文的域适配,检测器在不同类的目标上都有显著提升。
从上图可以发现,左图是Cityscape数据集,右图是KITTI数据集,通过本文的域适配,无论是Cityscape到KITTI还是从KITTI到Cityscape,检测器都有显著提升。
总结展望
本文贡献:
(1)从概率分布的角度提出了目标检测任务中的域适配问题;
(2)提出了两个层面的适配策略(图像层面的适配和目标层面的适配),用于解决该问题
个人见解:
(1)熟悉Unsupervised Domain Adaptation的同学可能知道,这篇文章主要借鉴了[3]的核心思想,并将其成功应用于目标检测领域,是利用对抗思想解决目标检测任务中域适配问题的一次成功探索。此外本文一作还有一篇论文被CVPR2018接收,将对抗思想用于解决语义分割中的域适配问题,详见[4]。
(2)实验部分论证了本文的训练策略可以使得检测器在目标域得到性能提升,然而是否会导致检测器在源域的检测性能下降?直觉上判断,网络在训练过程中会朝着源域和目标域的特征indistinguishable的方向优化,然而这种优化对目标域是否有利还有待实验的进一步验证。
参考文献
[1] Domain Separation Networks. NIPS (2016)
[2] Adversarial Discriminative Domain Adaptation. CVPR (2017)
[3] Unsupervised Domain Adaptation by Backpropagation. ICML(2015)
[4] ROAD: Reality Oriented Adaptation for Semantic Segmentation of Urban Scenes. CVPR (2018)
注:[4]已有论文解读发表于极市技术博客:
http://cvmart.net/community/article/detail/240
CVPR 2018 | ETH Zurich提出利用对抗策略,解决目标检测的域适配问题相关推荐
- CVPR 2020 |商汤提出应对尺度变化的目标检测新算法
在CVPR 2020上,为了更好的解决物体检测中的尺度问题,商汤EIG算法中台团队重新设计了经典的单阶段检测器的FPN[1]以及HEAD结构,通过构造更具等变性的特征金子塔,以提高检测器应对尺度变化的 ...
- 对抗网络之目标检测应用:A-Fast-RCNN
对抗网络之目标检测应用:A-Fast-RCNN 论文:A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection ...
- 超越MobileNetV3,谷歌提出MobileDets:移动端目标检测新标杆
[导读]:在移动端上的目标检测架构,目前比较流行的三大派系分别为:谷歌出品的MobileNet系列(v1-v3).旷视科技产品的ShuffleNet系列(v1-v2).Facebook出品的FBNet ...
- 超越 MobileNet,谷歌提出 MobileDets:移动端目标检测新标杆
原文链接:超越 MobileNet,谷歌提出 MobileDets:移动端目标检测新标杆 导读:在移动端上的目标检测架构,目前比较流行的三大派系分别为:谷歌出品的MobileNet系列(v1-v3). ...
- 利用代理页面解决html iframe跨域访问网站问题
原文:利用代理页面解决html iframe跨域访问网站问题 源代码下载地址: http://www.zuidaima.com/share/1854884509142016.htm 在做项目的时候遇到 ...
- Softer-NMS:CMU旷视最新论文提出定位更加精确的目标检测算法
Softer-NMS:CMU&旷视最新论文提出定位更加精确的目标检测算法 前天arXiv新上论文<Softer-NMS: Rethinking Bounding Box Regressi ...
- DL之SSD:基于tensorflow利用SSD算法实现目标检测(21类)
DL之SSD:基于tensorflow利用SSD算法实现目标检测(21类) 目录 输出结果 SSD代码 输出结果 VOC_LABELS = {'none': (0, 'Background'),'ae ...
- 【CVPR 2021】解决目标检测长尾分布:Adaptive Class Suppression Loss for Long-Tail Object Detection
Adaptive Class Suppression Loss for Long-Tail Object Detection 论文简介: 具体实现: 基于类群的方法的局限性 ACSL 的实现 相比以前 ...
- ETH Zurich提出新型网络「ROAD-Net」,解决语义分割域适配问题
问题背景 本文研究的是无人驾驶场景中的语义分割问题.语义分割的样本标记成本很高,使用合成数据能帮助解决样本不足问题.但是合成的数据和真实的数据之间存在差异,这种差异会极大影响使用合成数据训练的模型在真 ...
最新文章
- maven mvn Failed during checkstyle execution
- ZOJ - 3872 Beauty of Array
- iOS 让视图UIView 单独显示某一侧的边框线
- 实现一个函数,对一个正整数n,算得到1
- 如果要用thinkphp框架_php需要改哪些配置,thinkPHP框架动态配置用法实例分析
- Spring boot Tomcat配置
- 数据(数字)资产的开放现状、价值、趋势及未来
- 第00次博文——我对Python的期待与思考
- osea/ Overview 概述
- win10系统右键没有新建文本文件选项
- 五笔打字--思成五笔秘方
- GDC演讲翻译——看门狗2的载具同步
- win10专业版有必要吗_Win10专业版和家庭版系统有什么不同?
- highCharts3D圆柱图的使用
- 两台codesys设备之间通过modbus TCP通讯案例
- 【IDEA】idea插件的安装和删除
- Linux 集群技术
- android 横竖切换demo,移动页面横竖屏切换提示 - 轩枫阁
- PLC流程控制类指令(JMP)编程应用
- 利用SMB实现局域网共享文件夹
热门文章
- CPU与内存的那些事
- android拍照自动裁剪_新功能上线!智能人像抠图、图片自由裁剪,PPT 还能这么玩?...
- linux 5 防火墙,CentOS 5 Linux iptables防火墙的配置
- java输出gc_GC输出澄清
- linux ssh和sftp区别,使用 SSH 和 SFTP 协议
- java数组 相同颜色距离最远的_java-数组列表并找到具有相同编号的最长子...
- java什么时候用链表,java - 手写LRU(使用链表,时间复杂度O(n))
- Log4j2再发新版本2.16.0,完全删除Message Lookups的支持,加固漏洞防御!
- Java 9 - 17 特性解读:​Java 13
- 皮一皮:童话里都是骗人的...