CVPR 2020

2023-10-31

性能优于PDA、MDA和SWDA等网络。

作者团队:北京航空航天大学

 

1 引言

 

 

 

近年来,在基于深度学习的目标检测中见证了巨大的进步。但是,由于domain shift问题,将现成的检测器应用于未知的域会导致性能显著下降。为了解决这个问题,本文提出了一种新颖的从粗到精的特征自适应方法来进行跨域目标检测

在粗粒度阶段,与文献中使用的粗糙图像级或实例级特征对齐不同,采用注意力机制提取前景区域,并通过多层对抗学习根据边缘分布对边缘区域进行对齐。

在细粒度阶段,通过最小化具有相同类别但来自不同域的全局原型的距离来进行前景的条件分布对齐。

由于这种从粗到细的特征自适应,前景区域中的领域知识可以有效地传递。在各种跨域检测方案中进行了广泛的实验,结果证明了所提出方法的广泛适用性和有效性。

 

2 主要思路及贡献

  • 针对的问题:

目前的CNN模型在直接应用于新场景时,由于存在所谓的"域移位"或"数据集偏置"现象,导致性能下降。

 

  • 主要思路

本文作者提出了一个由粗到精的跨域目标检测的特征自适应框架。如下图所示:

 

  • 问题一:考虑到与背景相比,不同域之间的前景具有很多的共同特征。

    作者提出了一个基于注意力的区域转移(ART)模块来突出前景的重要性,它以一种不区分类的粗糙方式工作。利用高级特征中的注意机制提取感兴趣的前景目标,并在特征分布对齐时对其进行标记。通过多层对抗性学习,利用复杂的检测模型可以实现有效的领域交叉。

 

  • 问题二:对象的类别信息会进一步细化前面的自适应特征,在这种情况下,需要区分不同种类的前景目标。不过这在某些batch中可能会出现目标不匹配的情况,这使得UDA的语义匹配比较困难。
    作者使用了一个基于原型的语义对齐(PSA)模块来构建跨域的每个类别的全局原型。原型在每次迭代中都进行自适应更新,从而抑制了假伪标签和类不匹配的负面影响。

 

  • 主要贡献:

•设计了一种新的由粗到精的自适应方法,用于跨域两阶段目标检测,逐步准确地对齐深度特征。

•提出了两个自适应模块,基于注意的区域转移(ART)和基于原型的语义对齐(PSA)方法,利用类别信息学习前景区域的领域知识。

•针对一些典型的场景,在三个主要的基准上进行了大量的实验,结果是最先进的,证明了所提方法的有效性。

 

3 网络架构

 

如上图所示,介绍了本文用于跨域对象检测的功能适配框架,包含一个检测网络两个适配模块

 

3.1 检测网络 backbone

 

作者选了功能强大的Faster R-CNN 作为基础检测器backbone。Faster R-CNN 是一个两阶段的检测器,由三个主要组件组成:1)提取图像特征的骨干网络G,2)同时预测对象范围和对象得分的区域提议网络(RPN),以及3)兴趣(RoI)头,包括边界框回归器B和分类器C以进行进一步细化.Faster R-CNN的整体损失函数定义为:

 

3.2 适配模块 Adaptation Modules

 

思路来源:
与大多数现有研究(通常会减少整个特征空间中的域偏移)不同,作者采用的方法是在各个域之间共享更多共同属性的前景上进行特征对齐。同时,与当前将所有目标的样本视为一个整体的方法相反,作者认为类别信息有助于完成此任务,从而突出显示每个类别的分布以进一步细化特征对齐。
为此,设计了两个自适应模块,即基于注意力的区域转移(ART)基于原型的语义对齐(PSA),以实现前景中从粗到精的知识转移。

 

3.2.1 ART:Attention-based Region Transfer

 

ART模块旨在引起更多关注,以在前景区域内对齐两个域之间的分布。它由两部分组成:域分类器和注意机制。

  • Domain 分类器

为了对齐跨域的特征分布,作者将多个域分类器D集成到主干网络G的最后三个卷积块中,在这里构建了一个二人极大极小博弈。具体来说,域分类器D试图区分特征来自哪个域,而主干网络G旨在混淆分类器。在实践中,G和D之间通过梯度反向层(Gradient Reverse Layer, GRL)进行连接,梯度反向层可以逆转流过G的梯度。当训练过程收敛时,G倾向于提取域不变的特征表示。在形式上,第l-th卷积块中对抗性学习的目标可以表示为:

  • Attension 机制

要使用检测任务对对目标进行本地化和分类,roi通常比背景更重要。然而,域分类器在没有聚焦的情况下对整个图像的所有空间位置进行对齐,这可能会降低自适应性能。为了解决这一问题,作者又提出了一个注意机制来实现前向感知的分布对齐,利用RPN中的高级特征来生成注意力地图,如图3所示。


具体来说:

  1. 给定任意域中的图像x,将Frpn(x)∈RH×W×C作为FPN模块中卷积层的输出特征图,其中H×W和C分别为特征图的空间维数和通道数。

  2. 通过对激活值进行跨通道的平均来构建一个空间注意图。

  3. 过滤(设置为零)那些小于给定阈值的值,这些值更有可能属于背景区域。

  4. 由于注意图的大小与不同卷积块的特征不一致,采用双线性插值进行上采样,从而得到相应的注意图。

  5. 由于注意力地图可能并不总是那么准确,如果一个前地区域被误认为背景,它的注意力权重被设置为零,则无法起到效果。因此,这里在注意图中添加了一个跳跃连接以增强其性能

注意图A(x)∈RH×W可以表示为:

 

最终的ART模块的目标函数可以表示为:

 

 

3.2.2 PSA:Prototype-based Semantic Alignment

 

PSA不是直接训练分类器,而是尝试最小化跨领域具有相同类别的一对原型(PSk,PTk)之间的距离,从而保持特征空间中的语义一致性。形式上,原型可以定义为:

原型的好处有两方面:

(1) 原型没有额外的可训练参数,可以在线性时间内计算出来;

(2) 伪标签的负面影响可以被原型生成时数量大得多的正确伪标签所抑制。

注意:为了解决同一批源图像和目标图像的前景目标可能存在类别不一致使得该batch中所有类的类别对不齐的问题,需要动态地维护全局原型,每个小批的本地原型类型自适应地更新这些原型,如下所示:

注意:不能直接对齐本地原型,而是缩小源全局原型GPSk和目标全局原型GPTk之间的距离,以实现语义对齐。在i-th迭代时,PSA模块的目标可以表述为:

 

 

3.3  网络优化 Network Optimization

 

训练的伪代码如下图所示:

主要包括三个parts:

  • 监督学习。监督检测损耗Ldet只适用于带标记的源域DS。

  • 粗粒度的适应。利用注意机制来提取图像中的前景。然后,重点通过优化LART调整这些区域的特征分布。

  • 细粒度的适应。首先,在目标域中预测伪标签。然后,进一步自适应地更新每个类别的全局原型。最后,通过优化LPSA实现了前台对象的语义对齐。

因此,全局的目标函数可以统一为:

4 实验及结果

 

4.1 模型评估

 

在以下三种适应场景评估:

  • Normal-to-Foggy (Cityscapes→Foggy Cityscapes)

 

  • Synthetic-to-Real(SIM10k→Cityscapes)

 

  • Cross-Camera(Cityscapes→KITTI).
     

 

4.2 深入分析

 

  • 前景特征分布差异

 

  • 最高可信度检测的误差分析:

 

  • 定性结果:

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CVPR 2020 的相关文章

  • SDN控制平面(五)

    目录 一 SDN控制器 1 1 SDN控制器体系架构 1 1 1基本功能层 1 1 2网络基础服务层 1 2 SDN控制器评估要素 7 可靠性 8 网络安全型 二 开源控制器 2 1 NOX POX 2 2 Ryu 2 3 Floodlig
  • ssh登录很慢解决方法

    使用ssh客户端 如 putty 连接Linux服务器 可能会等待10 30秒才有提示输入密码 严重影响工作效率 登录很慢 登录上去后速度正常 这种情况主要有两种可能的原因 1 DNS反向解析问题 OpenSSH在用户登录的时候会验证IP

随机推荐

  • 区块链的技术原理

    作者 萧萧 链接 https www zhihu com question 31112808 answer 122099628 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 看到一些争论区块链定义的回答 突
  • 分析下这个LC振荡电路图

    分析下这个LC振荡电路图 2011 05 30 12 30 kongkailjj 分类 工程技术科学 浏览6322次 请老师们帮忙分析下这个电路的工作过程 从一开始有电压输入到起振是怎么个过程 RB2 CE CB分别是起什么作用的 提问者采
  • denied mysql permission_mysqldump --tab (ErrCode:13-Permission denied)问题解决

    在 mysql 服务器上 可以通过 load data infile file name into table table name 命令将一个文本文件中的所有数据存到指定表中 最粗略形式的例子 load data infile test
  • OpenGL之Shader编程入门

    1 shader 编程基础 1 1 Vertex shader与Fragment shader Vertex shader即顶点着色器 用来改变顶点的属性 Fragment shader即片元着色器 用来改变片元的颜色 在Direct3D中
  • AcWing 1371. 货币系统

    给定 V 种货币 单位 元 每种货币使用的次数不限 不同种类的货币 面值可能是相同的 现在 要你用这 V 种货币凑出 N元钱 请问共有多少种不同的凑法 输入格式 第一行包含两个整数 V 和 N 接下来的若干行 将一共输出 V 个整数 每个整
  • 网易易盾滑块逆向分析 js 滑动轨迹生成_1

    网易易盾无感逆向 提示 仅学习参考 如有涉及侵权联系本人删除 目标网站已做脱敏处理 aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9zZW5zZQ 文章目录 网易易盾无感逆向 加密参数 一 cb参数 二 fp参数 三
  • 笔记/Linux命令

    ls 查看当前文件夹下的内容 pwd 查看当前所在文件夹 cd 目录名 切换文件夹 touch 文件名 如果文件不存在 新建文件 mkdir 目录名 创建目录 rm f 强制删除 忽略不存在的文件 无需提示 r 递归地删除目录下的内容 删除
  • C++ 实现一个消息队列

    文章目录 前言 一 如何实现 1 接口定义 1 推送消息 2 等待消息 3 轮询消息 2 用到的对象 1 队列 2 互斥变量 3 条件变量 3 基本流程 1 线程通信 二 完整代码 三 使用示例 1 线程通信 1 等待消息 2 轮询消息 总
  • 【Twitter 舆论分析】Twitter 爬虫绕过API限制

    0x00 前言 使用API可以很简单的获取到想要的数据 但是由于国内API的申请比较困难 所以如何绕过API直接爬虫是一个迫切需要解决的问题 Github上的点击收藏量高的不限制爬虫都已经被twitter封过了 这里分享的版本是最开始写爬虫
  • 不用加减乘除做加法

    不用加减乘除做加法 写一个函数 求两个整数之和 要求在函数体内不得使用 四则运算符号 示例 输入 a 1 b 1 输出 2 5 7 5 0101 7 0111 我们可以先计算5 7 12中的如果不进位时的数字 然后再把进位加入 1 不算进位
  • select、poll、epoll函数详解

    select和poll的区别 1 select 函数 1 1 概念 1 2 描述符集 1 3 描述符就绪条件 1 3 1 读就绪条件 1 3 2 写就绪条件 1 3 3 异常就绪条件 1 4 select的最大描述符数 2 poll函数 2
  • 震惊!!!一眼就能看懂的getBoundingClientRect用法!!!

    主要介绍getBoundingClientRect的基本属性 以及具体的使用场景和一些需要注意的问题 getBoundingClientRect Element getBoundingClientRect 含义 方法返回元素的大小及其相对于
  • 95-38-025-Buffer-Buffer

    1 ByteBuf总述 引入缓冲区是为了解决速度不匹配的问题 在网络通讯中 CPU处理数据的速度大大快于网络传输数据的速度 所以引入缓冲区 将网络传输的数据放入缓冲区 累积足够的数据再送给CPU处理 1 1 拓扑图 1 2 Buffer的分
  • redis是否支持事务?

    redis是支持事务的 通过multi开启事务 通过exec提交事务 通过discard取消事务 但是redis的事务是 不支持自动回滚的 在事务中 如果执行了多条命令 有一条执行失败了 其他的命令还是正常执行
  • 【梯度下降算法】{2} ——多元线性回归中的梯度下降法

    此处分析一下多元线性回归模型中的梯度下降法 线性回归模型的损失函数 即使是对于样本特征数只有1的线性回归中 中也包含两个值 0和 1 梯度下降法的实现过程 代价函数 梯度下降法 当使用梯度下降法求代价函数函数最小值的时候 有时要对目标函数进
  • eclipse工作空间配置--------新建菜单初始项

    当我们新建new时 找不到我们所需要的新建选项每次都在other里面搜索很是麻烦 我们可以配置菜单的初始项 让新建菜单栏展示我们常用的选项 去掉不用的 下面以Folder为例子 首先查看新建菜单栏初始项发现没有Folder other查看所
  • 自定义VLC播放器 C#实现(一)

    1 Vlc DotNet Forms实现 实现方式 1 通过Nuget工具下载Vlc DotNet Forms包 2 在窗体中载入VlcControl控件 3 设置vlcControl的VlcLibDirectory属性 此属性指向 lib
  • IDEA 使用commit之后一闪而过 没有错误也没有警告

    1 选择行分隔符为CRLF 为windows的utf 8 2 在设置 代码样式 行分隔符中也如上选择 点击应用 3 在设置 文件编码中 如图这三个地方也选择utf 8 点击应用 4 重启IDEA即可 参考链接 https blog csdn
  • upload-labs靶场-Pass-05关-思路以及过程

    开始前的小准备 upload labs靶场 是PHP环境运行的 所以我准备了一个PHP脚本和一张图片 图片好准备 PHP脚本如果不想写的话可以用我的这个获取当前时间的PHP脚本 图片默认不清楚放大看 Pass 05 代码 is upload
  • CVPR 2020

    性能优于PDA MDA和SWDA等网络 作者团队 北京航空航天大学 1 引言 近年来 在基于深度学习的目标检测中见证了巨大的进步 但是 由于domain shift问题 将现成的检测器应用于未知的域会导致性能显著下降 为了解决这个问题 本文