无需配对数据的对比学习图像到图像转换,助力跨域物体检测 | BMVC'24
来源:晓飞的算法工程笔记 公众号,转载请注明出处
论文: Improving Object Detection via Local-global Contrastive Learning

创新点
- 提出了一种新颖的图像到图像转换方法,用于跨域物体检测。
- 该方法为一个具有引导先验的对比学习框架,通过空间注意力掩码优化物体实例的外观,隐式地将场景划分为与目标物体实例相关的前景区域和非物体的背景区域。
- 在转换过程中,该方法并不依赖物体标注来明确体实例,而是通过对比局部与全局信息来学习表示物体。
- 在三个具有挑战性的基准上进行了多个跨域物体检测设置的实验,得到了最先进的性能。
内容概述

检测模型通常依赖于大规模的标注数据来学习具有代表性的特征,但往往难以很好地泛化到存在视觉差异的新目标领域(如阴雾天气与晴朗天气场景)。图像到图像(I2I)转换旨在缓解输入级别的这种领域差距,从而减少视觉领域中的分布转移。
高成本的配对图像(领域间)数据收集促进了业界对无配对图像到图像转换的研究,但往往会导致严重的内容畸变和形状变形,这种失败可能会对下游物体检测任务的性能产生不利影响。指明物体实例可以为改善图像转换提供了直观的方向,但这依赖于物体标注,以便在目标领域中区分物体和背景的空间图像区域,从根本上限制了它们的适用性。
对比学习通过最大化对应输入和输出区域之间的互信息,已成为解决图像到图像转换的一种有前景的策略。但现有方法将图像转换视为一个全局任务,处理具有复杂局部结构的物体的图像时效果不佳。由于物体与背景之间的视觉差异通常很大,论文认为隐式地建模背景和前景物体区域可以提升局部显著区域的转换质量,从而显著改善下游物体检测。此外,前景和背景的分离可以通过局部-全局对比学习来实现。
基于这一直觉,论文提出了一种基于对比学习的图像到图像转换框架,用于跨域物体检测。该框架引入一种结构诱导先验,通过空间注意力掩码优化物体实例的外观,能够有效地将场景解构为背景和前景区域。
整体方案
用于无配对I2I转换的对比学习
自监督表示是在对比学习机制下,通过考虑字典查找任务实现的。给定一个编码查询 \(q\) ,任务是识别在一组编码键 \(\{k_0, k_1, ...\}\) 中的与查询 \(q\) 匹配的唯一正键 \(k_{{+}}\) 。使用InfoNCE损失函数来使 \(q\) 靠近 \(k_{{+}}\) 的同时,推动其远离一组替代负键 \(\{k_{{-}}\}\) :
\mathcal{L}^{\text{NCE}}
= -\log\frac{\exp(q \cdot k_{{+}} \mathbin{/} \tau )}{\exp(q\cdot k_{{+}} \mathbin{/} \tau ) + \sum_{k_{-} } \exp(q\cdot k_{{-}} \mathbin{/} \tau ) }
\label{eq:nce},
\end{equation}
\]
通过约束输入图像和转换输出图像之间匹配的空间位置(图像块)具有高互信息,对比技术可以用于图像到图像的翻译任务。在这种情况下,查询嵌入 \(q\) 是通过编码输出图像的局部区域生成的。正键 \(k_{{+}}\) 是指输入的相应区域,而负键集 \(\{k_{{-}}\}\) 是通过编码输入图像的不同区域进行选择的。

用于I2I转换的空间注意力
论文提出了一种以注意力驱动的方案,学习将输入图像 \(x\) 分解为前景和背景区域,并鼓励翻译模型专注于优化前景物体的外观。
方案采用编码器-解码器架构,其中编码器 \(E_B\) 作为特征提取器,将输入图像 \(x\) 编码低维度的图像表示 \(m_E = E_B(x)\) 。解码器将 \(m_E\) 作为输入,分为两个组件:1)内容生成器 \(G_C\) 生成一组 \(n\) 个内容图 \(\{C_t \,|\, t \in [0,n{-}1]\}\) 。2)注意力生成器 \(G_A\) 输出一组 \(n+1\) 个注意力掩码 \(\{A_t \,|\, t \in [0,n]\}\) 。
通过对生成的前景内容图进行加权求和得到转换后的图像 \(G(x)\) ,权重由相应的注意力掩码给出,并加上一个额外的表示图像的背景内容:
G(x)=\sum_{t=1}^{n} \underbrace{(C^{t} \odot A^{t})}_\textrm{foreground}
+
\underbrace{(x \odot A^{n+1})}_\textrm{background}.
\label{eq:fb}
\end{equation}
\]
使用在公式1中找到的InfoNCE损失来训练生成器,该损失在图像块级别上强制内容和结构的一致性。为了确保转换后的图像与源域 \(Y\) 的外观相匹配,进一步加入经过标准对抗损失训练的鉴别模块 \(D\) :
\mathcal{L}_{adv} = -\mathbb{E}_{y \sim Y} \log D(y)
-\mathbb{E}_{x \sim X} \log (1- D(G(x)))
\label{eq:adv}.
\end{equation}
\]
鉴别器然后最小化标准二分类任务的负对数似然,这等同于最小化模型输出分布与真实源域分布 \(Y\) 之间的Jensen-Shannon(JS) 散度。
局部全局对比学习
为了进一步引导转换任务关注包含具有语义意义的内容的图像区域,在注意力生成器上引入了额外的损失 \(\mathcal{L}_{G_A}\) ,该损失利用了局部和全局图像块之间的关系,完整的优化目标为:
\mathcal{L}_{G} = \mathcal{L}_{adv} + \mathcal{L}^{\text{NCE}} + \mathcal{L}_{G_A}
\label{eq:total1}.
\end{equation}
\]
对 \(x\) 应用两种不同的随机增强,生成变换后的图像 \(x_1\) 和 \(x_2\) ,并相应地得到两组变换后的图像块 \(P_1\) 和 \(P_2\) 。为了获得用于对比学习的局部和全局表征,在注意力生成器 \(G_{A}\) 上附加了两个投影头以及引入了动量复制的 \(G_{Am}\) 和 \(E_{Bm}\) (权重使用指数移动平均进行更新),生成两组全局和局部特征表征 \(\{ f_{A}x_1,f_{A}x_2, f_{A}x_{1}^p, f_{A}x_{2}^p \}\) 和 \(\{ f_{Am}x_1,f_{Am}x_2, f_{Am}x_{1}^p, f_{Am}x_{2}^p \}\) ,计算这些特征集中的所有对之间的 \(\mathcal{L}^{NCE}\) 以优化模型的区分能力,负对则从内存库中抽取。
最后,定义多尺度监督以提高模型识别显著区域的能力。在 \(G_A\) 的每一层输出处引入额外的局部和全局MLP层,并计算每新特征集的infoNCE损失。
因此,对 \(G_A\) 的无监督损失可以表示如下:
\mathcal{L}_{G_A}=\sum_{i=1}^{L} w_i \mathcal{L}^{NCE}_{g \leftrightarrow g} + \sum_{i=1}^{L} w_i \mathcal{L}^{NCE}_{g \leftrightarrow l} +
\sum_{i=1}^{L} w_i \mathcal{L}^{NCE}_{l \leftrightarrow l},
\label{eq:detco}
\end{equation}
\]
其中 \(L\) 是 \(G_A\) 中的层数, \(w_i\) 是一个权重参数,用于控制每层贡献的重要性。
通过将上述损失附加到 \(G_A\) 模块的特征上,能够鼓励注意力生成器提高对语义内容的敏感性,并关注对目标检测任务重要的转换区域。
主要实验


如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

无需配对数据的对比学习图像到图像转换,助力跨域物体检测 | BMVC'24的更多相关文章
- AJAX学习笔记2:XHR实现跨域资源共享(CORS)以及和JSONP的对比----转载
1 前言: 首先对参考文章作者表示感谢,你们的经验总结给我们这些新手提供了太多资源.本文致力于解决AJAX的CORS问题,我在逻辑上进行了梳理:首先,系统的总结了CORS问题的起源-同源策略:其次,介 ...
- 学习ASP.NET Core(11)-解决跨域问题与程序部署
上一篇我们介绍了系统日志与测试相关的内容并添加了相关的功能:本章我们将介绍跨域与程序部署相关的内容 一.跨域 1.跨域的概念 1.什么是跨域? 一个请求的URL由协议,域名,端口号组成,以百度的htt ...
- JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- JavaScript学习总结(二)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- SpringBoot学习笔记(7)-----CORS支持解决跨域问题
在实际应用开发中,跨域是一个比较常见的问题,解决方法可以用jsonp,frame,cors等, 这里示例的是SpringBoot对CORS的支持的三种实现方式 第一种:配置一种全局的支持,这种方式需要 ...
- opencv学习之路(37)、运动物体检测(二)
一.运动物体轮廓椭圆拟合及中心 #include "opencv2/opencv.hpp" #include<iostream> using namespace std ...
- 深度学习原理与框架-卷积网络细节-三代物体检测算法 1.R-CNN 2.Fast R-CNN 3.Faster R-CNN
目标检测的选框操作:第一步:找出一些边缘信息,进行图像合并,获得少量的边框信息 1.R-CNN, 第一步:进行图像的选框,对于选出来的框,使用卷积计算其相似度,选择最相似ROI的选框,即最大值抑制RO ...
- opencv学习之路(36)、运动物体检测(一)
一.简介 二.背景减法 图片说明 #include "opencv2/opencv.hpp"using namespace cv; void main() { Mat img1 = ...
- 深度学习(六十四)Faster R-CNN物体检测
随机推荐
- HTML & CSS – Styling Table
前言 Table (表格) 历史悠久, 它有许多独特的默认样式, 它也是最早的布局方案方案哦 (现在依然有用 table 来做布局的, 比如 email template). 这篇来介绍一下基本的 t ...
- SQL Management studio copy paste result out (string_agg line break)
refer : https://stackoverflow.com/questions/59283754/string-agg-with-line-break string agg char(10) ...
- MyBatis——案例——修改(修改全部字段,修改动态字段)
修改-修改全部字段 1.编写接口方法:Mapper接口 参数:所有数据 结果:void(通过异常捕获判断成功修改与否) int (表示sql语句影响的行数) /** ...
- QT框架实现自定义形状截图效果
文章目录 QT框架普通截图运行效果 QT框架系统级热键的原理 注册热键 反注册热键 获取系统级唯一的整数ID 删除系统级唯一整数ID 原生事件过滤器 QT框架截图的原理 截图窗口 拉框操作 系统剪切板 ...
- ArgoWorkflow教程(五)---Workflow 的多种触发模式:手动、定时任务与事件触发
上一篇我们分析了argo-workflow 中的 archive,包括 流水线GC.流水线归档.日志归档等功能.本篇主要分析 Workflow 中的几种触发方式,包括手动触发.定时触发.Event 事 ...
- [30] CSP 加赛 1
A.小W与伙伴招募 考虑贪心,可以发现,每一天只需要优先选择价值低的即可 这种贪心思路有一个错误的扩展,就是先把 \(m\) 天的货一次性补齐再一次性买,这样做的问题在于有可能买到次日的货,而这样做是 ...
- .NET 工具库高效生成 PDF 文档
前言 QuestPDF 是一个开源 .NET 库,用于生成 PDF 文档.使用了C# Fluent API方式可简化开发.减少错误并提高工作效率.利用它可以轻松生成 PDF 报告.发票.导出文件等. ...
- 强大的USB协议分析工具
2020年最后一天了,感谢大家一年来对我文章的支持,有你们的支持就是我强大的动力. 今天来给大家介绍一个USB 协议分析软件LeCroy USB Advisor,软件安装包下载连接如下: 链接:htt ...
- manim边学边做--无向图
无向图属于数学中的图论这一学科, 所谓无向图G,就是由顶点集V(非空集合)和边集E(由V中元素构成的无序二元组的集合)组成的图, 可表示为G=(V,E). 在无向图中,边没有方向,即从顶点A到顶点B的 ...
- Java日期时间API系列37-----时间段是否有重叠(交集)的计算方法
在日程安排或预约排期等场景中,经常会需要对比2个或多个时间段是重叠的功能,我经过整理和验证,发现了下面的算法比较好一些,分享一下. 1.只有2个时间段的情况 例如:存在区间A.区间B,重叠的情况很多, ...