本文是CVPR2018的一篇文章,由于官方代码是caffe写的,但是caffe环境的搭建太过繁琐,因此基于pytorch现有的faster-rcnn框架进行了复现,mAP略高于原始论文(可能测试集的设定不是完全一致造成的),具体实现github链接:da-faster-rcnn-pytorch
欢迎star!
1.前言
本文是我目前已知的最早将非生成式对抗学习方法利用到目标检测中,实现领域自适应的目标检测方法,整个过程非常清晰易懂,也算是将其利用到这个领域的开山之作。
文章的开头及相关工作主要就是对目标检测以及领域自适应即domain adaptation两个领域的近期发展进行了相关工作介绍,接着将本文工作聚焦于不同天气环境下的目标检测的鲁棒性
2.具体实现
本文一开始主要介绍了领域自适应最基本的H-旋度,并进一步提出本文方法的概率理论,虽然感觉没有什么实质的内容,就是将一些基本公式赋予一些更加具体的含义,可能仅仅只是为了为本文提供更多的理论支撑吧。
首先放上本文的核心框架图
由于考虑到faster-rcnn本身属于相对比较复杂的框架,因此本文提出了基于图像的自适应以及基于个体的自适应,最后利用正则化的方法统一两个模块。本文的核心是利用了一个称为GRL的梯度反转层,这也是实现非生成式对抗领域自适应方法的核心部件。
在Image-level,作者使用GRL层接一个domain分类器,利用GRL层进行梯度的反转,使骨架网络无法对源域和目标域的样本进行区别,使特征对于域的敏感性降低,也即常说的学习到公共特征。
在Instance-level层,作者对目标的bounding box进行同样的操作,接上一个domain分类器,但是和Image-level不同的是,Instance level就是要一个标准的二分类,而Image-Level是对特征图的每一个位置进行的分类,即基于feature map的二分类
最后使用一个一致性损失来进行正则化,试验证明这一步能够提升1-2%的准确率
3.实验结果
相比于监督学习的目标检测,该方法在目标域的mAP还是存在很大的差距,但是在cityscape-foggy数据集上能够将baseline的结果提升接近8%左右也属于比较大的优化,具体结果可以看下表:
本文感觉主要就是给新型的领域自适应方法在目标检测上的应用开了一个好头,这其中还存在很大的提升空间。