论文题目:Adapting Object Detectors via Selective Cross-Domain Alignment(CVPR2019)

论文主要贡献:以往的域自适应的方法在分类和分割中应用较多,检测中的相关论文比较少,顶会论文大概就4-5篇,而以往的域适应的方法主要针对全局的特征对齐(在loss和距离度量上做文章),这在分类和分割上没什么问题,但是检测任务更多的不是基于全局的特征,一个roi的检出更多的是依赖于bbox的instance的特征,因此本论文主要从instance的角度提出检测自适应的创新型算法(主要就是特征对齐从以往的global转变成local方式);

算法背景:

仅仅是同一场景下天气的不同,造成检测模型的性能骤降,除此之外,模型的性能也会收到不同采集设备,不同成像环境、亮度、光照等影响;

论文网络结构:

论文基于faster-rcnn的结构,主要在第二阶段得到的rois上做文章,主要包括Region Mining和Adjusted Region level Alignment两个方面;其中Region Ming解决where to look的问题,即需要对哪部分的特征进行域对齐;而Adjusted Region level Alignment是对第一步挑选出的特征实现对齐,即解决how to align的问题;

具体来说:faster-rcnn经过RPN得到第二阶段所需的rois,这时一个分支是原始的检测网络,即faster-rcnn的第二阶段,对rois进行精细化的回归和分类,同时增加一个分支,对rois进行分组(Group),检测网络得到rois的中心点坐标和宽高,通过K-means对rois的中心点坐标进行聚类,具体需要聚类的个数是个超参数K,然后进行feature reassignment,因为group后的每一个聚类的族中都有不同数目的rois,为了后续的计算方便,需要每一个聚类族中的rois个数相同,这里的每一个族中的rois个数是另一个超参数m,当聚类后,一个族中的rois个数多于m,只取置信度top-m的rois,当一个族的rois个数小于m,则通过复制的形式得到m个rois,这样就得到了K*m个rois,然后取rois的特征,假设每一个roi是d维度特征,则总共有K*m*d的特征,因为后续有生成网络G用于重建Ki(下图中五角星为聚类中心的红色bbox,图中设置的K=4),所以第三个超参数就是每一个聚类族的人为设定的框的大小(需要是固定尺寸,因为后续的判别器需要输入固定尺寸的Ki进行判别),而每一个m*d的特征就用于表示一个族Ki的特征,到此是Region Mining的主要工作;

聚类的族可视化:

第二步是Adjusted Region level Alignment,主要包括Region-Level Adversarial Alignment和Weighting Estimator Dw,其中Region-level Adversarial Alignment主要包括网络结构中的右上和右下分支,包括生成器Gs和Gt,判别器Ds和Dt,其中生成器主要对第一步得到的K*m*d(生成器的输入)重建出K个regions,也就是上图的五角星为中心的红色的bbox对应的原图patch),判别器对重建的regions和原始输入图的对应的regions进行判别(自重建的判别),这是判别fake source和true source以及fake target和true target操作,除此之外,将源域的K*m*d的特征输入到右下分支,生成目标域风格的重建patch,然后Dt对这个重建结果和True target进行判别,同样的目标域的K*m*d的特征输入右上分支,Ds对生成的源域风格的重建patch和true source进行判别(交叉重建的判别);

loss:

具体训练时:优化判别器Ds和Dt,用自重建和交叉重建的判别损失,即loss的前两项;优化生成器Gs和Gt时,是Ds将fake source识别成true source的loss和Dt将fake target识别成true target的loss,没有交叉判别的loss,对应loss的第3、4项;训练检测器时,利用交叉判别的loss,即交叉重建的fake source识别成True target的loss,对应loss的最后一项;

原文描述:

个人看法:感觉这里的自重建和交叉重建很像cycle-gan的思想,只不过cycle-gan是环形重建,并且自重建没有判别器,输入的是图像,而这里的自重建有个判别器,输入是K*m*d的特征,更像cycle-gan的identity loss,即cycle-gan中是A转成B,然后再转成A,这是自重建,A转成B是交叉重建,有个判别器,还有将B输入到A转成B过程的G中,原理上输出更应该是A,这是identity;而论文中的交叉重建也很类似,但是论文的自重建和交叉重建用的同一个判别器,分别是Ds和Dt;

而Weight Estimator Dw主要是因为目标域没有标注,因此基于源域的训练得到的rois即使最后学到的特征与域无关,但是训练的早期,对目标域图片得到的rois包含object的概率很低,召回率大概只有35%-45%(前10个epochs),因此Dw主要用于对目标域的rois进行加权,表示每一个rois包含object的可能性,这里需要用到源域的label,对目标域进行指导;具体的,输入K*m*d的特征,判别器Dw判别源域还是目标域的特征,输出变成K*m维度(经过sigmoid),然后取均值得到K个值,表示K个regions的权重,这个权重是对判别器的K个loss加权,有点类似于Taking A Closer Look at Domain Shift: Category-level Adversaries for Semantics Consistent论文中对分割对抗损失的加权的思想;

总的loss:

第三项是Dw的判别loss,第一项是检测loss,只有源域有标注;

其中第二项是:

是对公式1中的所有目标域的相关loss都有个权重;

具体训练过程:

先训练Ds和Dt;然后训练Dw;接着训练Gs和Gt;最后训练F(检测器);

论文解读:Adapting Object Detectors via Selective Cross-Domain Alignment相关推荐

  1. 论文笔记:Adapting Object Detectors via Selective Cross-Domain Alignment

    论文地址:https://ieeexplore.ieee.org/document/8953252 源码地址:https://github.com/xinge008/SCDA 1 Focus of A ...

  2. 《SCDA:Adapting Object Detectors via Selective Cross-Domain Alignment》论文笔记

    参考代码:SCDA 1. 概述 导读:在之前的Domain Adaption文章中主要是针对分类/分割场景任务,对于检测场景下的挖掘不够,这是由于分类/分割场景关注的是整个特征图范围上的表现,而检测却 ...

  3. Adapting Object Detectors via Selective Cross-Domain Alignment

    https://blog.csdn.net/qq_24548569/article/details/105017990

  4. 论文解读《Semi-Supervised Semantic Segmentation with Cross Pseudo Supervision》

    论文解读<带有交叉伪监督的半监督式语义分割法> 论文出处:CVPR2021 论文地址:论文地址 代码地址:代码地址 一 摘要: (1) 本文通过研究有标签数据和无标签数据,研究了半监督语义 ...

  5. [论文解读] Metamorphic Object Insertion for Testing Object Detection Systems

    Metamorphic Object Insertion for Testing Object Detection Systems 文章目录 Metamorphic Object Insertion ...

  6. 论文解读:Taking A Closer Look at Domain Shift: Category-level Adversaries for Semantics Consistent

    论文题目:Taking A Closer Look at Domain Shift Category-level Adversaries for Semantics Consistent Domain ...

  7. 论文笔记:Harmonizing Transferability and Discriminability for Adapting Object Detectors

    论文地址:https://ieeexplore.ieee.org/document/9157147 源码地址:https://github.com/chaoqichen/HTCN 1 Main Ide ...

  8. 论文简读《Harmonizing Transferability and Discriminability for Adapting Object Detectors》

    CVPR2020 | Code 思想:首先文章提出当前基于对抗的方法 image and instance levels alignment [7], strong-local and weak-gl ...

  9. 搭建目标检测模型之Harmonizing Transferability and Discriminability for Adapting Object Detectors

    搭建环境 准备数据集 下载数据集 数据集1:PASCAL_VOC 07+12 and Clipart 数据集2:cityscapes and foggy_cityscapes 修改数据集配置信息 预训 ...

最新文章

  1. 多项式概率分布(Multinomial probability distribution)和分类分布(categorical distribution)
  2. python pytest allure_python-pytest-Allure2测试报告生成
  3. 可自设定长度,根据各种标点符号去分隔字符串
  4. 转:Jeff Dean的Stanford演讲
  5. 产品经理的高阶能力:商业思维基于商业画布的研习方法论
  6. 反思技术面试题目准备汇总链接汇总
  7. android 自定义checkBox的样式
  8. PHP的SQL注入技术实现以及预防措施
  9. 前端学习(1718):前端系列javascript之生命周期上
  10. Android官方开发文档Training系列课程中文版:性能优化建议
  11. 区块链组织架构_区块链可以加速开放组织的5种方式
  12. matlab教程曲线拟合,matlab 曲线拟合
  13. DELPHI学习---简单类型
  14. 仅需1分钟,让你的电脑变无线路由器
  15. 关于 activit 与 flowable 项目报错 --Cannot resolve the name ‘extension‘ to a (n) ‘element declaration‘ comp
  16. vs2005的MSDN的下载
  17. 用命令设置 ip 地址
  18. Deep Gait Recognition: A Survey 阅读笔记
  19. 群体遗传学习笔记-测序技术学习
  20. 现代密码学-CA与数字证书详解

热门文章

  1. 如何将SSH公钥上载到现有Droplet
  2. 啸叫抑制算法 ------陷波器
  3. 想为自己的网站添加短信验证怎么弄_捷径教程讲解一云手机短信验证码接受平台的聚合...
  4. 必看的电商报 “朋克养生”成主流,90后开始吃保健品了
  5. PHP 数据脱敏显示,数据脱敏处理
  6. zb怎么做渲染图_zbrush怎么渲染?
  7. webgis 行政图报错_WebGIS教程 使用MapServer制图 发布一个矢量图层
  8. deep learning 淘宝验证码识别
  9. 设计模式之代理模式(静态代理动态代理)
  10. 数值计算方法--线性方程组的数值解法(3) 追赶法(Thomas),选择主元(Pivoting),求逆(Inversion)