论文速读:简化目标检测的无源域适应-有效的自我训练策略和性能洞察(ECCV2024)
中文标题:简化目标检测的无源域适应:有效的自我训练策略和性能洞察
原文标题:Simplifying Source-Free Domain Adaptation for Object Detection: Effective Self-Training Strategies and Performance Insights
1、Abstract
本文重点关注计算机视觉中目标检测的无源域适应。这项任务非常具有挑战性并且具有很大的实际意义,因为获取每个新领域的带注释数据集的成本很高。最近的研究针对无源目标检测(SFOD)提出了各种各样的解决方案,其中大多数是具有不同特征对齐、正则化和伪标签选择策略的师生架构的变体。我们的工作研究了在几种适应场景中与更复杂的 SFOD 方法相比更简单的方法及其性能。我们强调了检测器主干中批量归一化层的重要性,并表明仅调整批量统计数据就能使模型成为 SFOD 的强大基线。我们在无源设置中针对 Mean Teacher 提出具有强弱增强(strong-weak augmentation)的简单扩展,即无源无偏教师 (SF-UT),并表明它实际上优于以前的大多数 SFOD 方法。此外我们还展示了一种更简单的策略,即在一组固定的伪标签上进行训练,可以实现与更复杂的师生相互学习相似的性能,提高计算效率的同时并减轻师生崩溃的主要问题。我们使用(Foggy)Cityscapes、Sim10k 和 KITTI 等基准驱动数据集对多项适应任务进行了实验,与 SFOD 的最新技术相比,在 Cityscapes→FoggyCityscapes 上实现了 4.7% AP50 的显著改进。
2、Introduction
2.1、无源域适应的定义与价值
领域适应旨在将从源领域获取的知识转移到具有一定相关性但数据分布不同的目标领域,其特征是领域转移。无源域适应 (SFDA) 解决了一个更具挑战性的场景,即只能访问来自源域的预训练模型和来自目标域的未标记数据。这与标准的无监督域适应 (UDA) 形成鲜明对比,后者可以使用标记的源数据。在难以获得目标域数据标签,以及由于隐私问题、存储限制或部署约束而限制源数据使用的情况下,SFDA变得特别有价值。我们关注的是无源目标检测(source - free Object Detection, SFOD),其目的是在不访问源数据的情况下,将在源域上训练的检测器适应于未标记的目标域。
2.2、目标检测
目标检测是在图像中同时定位和分类多个目标的任务,是计算机视觉的一个主要领域,具有许多实际应用。虽然基于深度学习的目标检测器近年来取得了显著的成功,但它们的性能在存在域转移的情况下往往会出现显著的下降。目标检测的领域适应明显比分类更具挑战性,因为它不仅需要准确的分类,还需要精确的定位。为了应对这一挑战,人们提出了各种无监督域适应的方法来解决目标检测任务(UDAOD)。
2.3、无源域适应目标检测
尽管具有实际意义,但 SFOD 受到的关注相对较少。当存在显著的域转移并且源数据不可访问时,该任务变得特别艰巨,阻止了域转移的显式减少。大多数提出的 SFOD 方法采用 Mean Teacher (MT) 框架,在置信伪标签上进行自我训练。Mean Teacher 最初是为半监督学习(semi-supervised learning,SSL)引入的,是 temporal ensembling 的一种变体,其中知识从教师网络提取到学生网络。学生从教师那里接收伪标签,并通过标准的基于梯度的学习进行更新,而老师则通过先前学生权重的指数移动平均值(EMA)逐渐更新。这种方法旨在提高对未标记目标数据的不准确和噪声预测的鲁棒性。在完全无标签的师生架构训练中,一个主要问题是教师和学生在训练过程中的崩溃。具体来说,每当教师在目标域的表现开始下降时,就会导致学生的进一步下降,进而导致两个网络中的表现崩溃。为了缓解这一挑战,有研究将教师更新的周期增加到2500步(没有指定更新速率,也没有指定如何设置更新周期)。PETS 建议教师和学生定期交换,并增加一名更新较慢的教师,以有效防止灾难性崩溃;然而,这增加了整个体系结构的复杂性,并且需要根据经验设置交换周期。
2.4、本文提出的方法
在这项工作中,我们证明了与前面提到的更复杂的 SFOD 方法相比,一种更简单的 SFOD 方法的有效性。首先,我们强调批量归一化(BN)层的重要性,使用更现代的主干 VGG16-BN(带有 BN 层)而不是之前工作中使用的 VGG16 来展示它们对适应的影响。具体来说,仅通过调整未标记目标训练数据的批量统计数据(一种称为 AdaBN 的技术)被证明是 SFOD 的强大基线。其次,我们提出将无偏见教师(UT)直接扩展到无源设置,称为无源无偏见教师(SF-UT)。最后,我们探索了 SFOD 自我训练策略的各种配置(见图 1)。这包括不同的教师 EMA 更新率、弱强增强的使用以及批量统计数据的适应。我们研究了教师更新率 α 的极端情况,范围从 α = 0(相当于仅使用未标记数据的伪标签训练(Pseudo-Label training)的无源版本,SF-PL)到 α = 1(对应于固定的教师,即在源训练模型产生的固定初始伪标签集上进行训练)。当 SF-PL 与弱强增强相结合时,它相当于 FixMatch的无源版本 (SF-FM) 。对于后者 α = 1 的情况(即固定伪标签),我们将它们分别称为Fixed SF-PL 和Fixed SF-FM,分别用于有和没有弱强增强的情况。我们证明了 AdaBN + Fixed SF-FM 方法,使用由预先使用 AdaBN 适应目标域的源模型生成的固定初始伪标签,其效果几乎与适用于源的成熟的 Unbiased Teacher 一样有效(本文SF-UT)。我们提出的方法 AdaBN + Fixed SF-FM 具有稳定训练的优点,因为它在教师和学生之间没有反馈循环,同时实现了类似的良好性能。
图1:具有不同教师更新率α和使用弱-强增强的SFOD的无源平均教师配置概述。α = 0(即教师=学生)的极端情况分别对应于(无源)Pseudo-Label 和FixMatch。α = 1可以表示为将教师冻结并在一组固定的伪标签上进行训练。令人惊讶的是,AdaBN之后的固定伪标签训练产生的效果与更复杂的师生相互学习相似,并对最先进的SFOD方法提出了挑战。
2.5、本文贡献
1)我们强调了批归一化层的重要性,并证明了批统计适应无源目标检测任务的有效性。
2)我们介绍了一个无源扩展的无偏教师(SF-UT)。
3)我们提出了一种新颖的轻量级策略,将AdaBN与使用弱-强增强的一组固定伪标签的训练相结合(AdaBN + Fixed SF-FixMatch)。
4)我们在三种 SFOD 适应场景中进行了实验:恶劣天气适应(Cityscapes→Foggy-Cityscapes)、跨摄像机适应(KITTI→Cityscapes)和合成到真实的适应(SIM10k→Cityscapes)。与更复杂的最先进 SFOD 方法相比,我们证明了 SF-UT 具有优越或接近的性能。此外,简单的AdaBN+Fixed SF-FixMatch策略也取得了有竞争力的结果,并避免了师生方法中常见的崩溃。
3、Related work
3.1、UDA for Object Detection (UDAOD)
1)领域自适应的目的是将学习到的知识从源领域转移到目标领域。在无监督域自适应(Unsupervised Domain Adaptation,UDA)中,源域中有标记的数据可用,目标域中只有未标记的样本可用。大多数UDA方法共享的主要原则是在对源数据联合执行有监督训练的同时显式地减少域移位。域差异的减少可以通过匹配源和目标的特征分布、最优传输或通过核学习或域对抗训练来学习域不变特征来实现。
2)在用于目标检测任务(UDAOD)的 UDA 中,一种流行的方法是通过域对抗训练在图像或实例级别对齐源域和目标域之间的特征,包括 DA-Faster 、SW-Faster、SSA-DA、ICR-CCR、SGA-S、ATF、MeGACDA 和 CST-DA。还研究了在目标域上使用伪标签的方法。例如,NL 设计了一种用于目标检测的鲁棒噪声训练方案,该方案在从目标域获取具有噪声的边界框和标签作为伪真实值进行训练。MTOR、UMT 和 AT 采用 Mean Teacher (MT) 架构。SAPNet利用了注意力机制来关注最具区别性的特征。
3.2、Source-Free Object Detection (SFOD)
无源目标检测(SFOD)由于无法在没有源域数据的情况下显式地减少域差异而具有挑战性。最近,已经提出了几种方法来解决这个问题。由于只有未标记的目标数据可用,他们采用对目标样本进行伪标签的自我训练策略。SED 采用自熵下降策略获得合适的伪标签置信阈值。HCL 探索了基于记忆的学习,针对实例区分和类别区分提出了历史对比学习方法。最近的方法基于 Mean Teacher 范式,并结合各种附加对齐、伪标签选择或正则化策略。SOAP 使用对抗性学习,通过用特定领域的噪声扰乱目标图像来转移检测器。同样,LODS 通过增强每个目标域图像的风格,并利用原始图像与增强图像之间的风格程度差异来指导自适应,从而学习域转移。A2SFOD 提出了一种分四个阶段的方法,根据方差标准对目标数据进行划分,并通过对抗性训练对其特征进行对齐。IRG 使用图卷积网络增加了基于学习实例关系的图引导约束损失。ESOD 使用熵最小化来寻找最优置信阈值。在RPL 中,MT 架构利用了类别感知的伪标签自适应阈值和定位感知的伪标签分配策略。Chen等人为空间对比损失项中使用的低置信度提案引入了第二个置信度阈值。最后,PETS 通过定期交换教师和学生,以及增加一个更新较慢的动态教师来稳定训练,解决了师生相互学习崩溃的问题。
3.3、Self-training
1)对置信伪标签(PL)进行自我训练是半监督学习(SSL)中的一种有效技术。对未标记数据的置信预测会被当作伪标签,并添加到下一轮训练的标记数据中。FixMatch 提出利用弱-强增强,并使用来自弱增强输入的得到伪标签作为强增强输入的监督目标。
2)Mean Teacher (MT)是 temporal ensembling 的变体,其中知识通过一致性损失或伪标签策略从教师网络中提取到学生网络中。学生通过标准的梯度学习进行更新,而教师通过先前学生权重的指数移动平均值(EMA)逐渐更新,从而得到先前学生迭代的集合。该方法旨在提高对未标记目标数据的不准确和噪声预测的鲁棒性。与之前维持保持EMA 的工作不同,权重 EMA 允许更短的更新周期,因为预测每个周期仅更改一次,而权重每一步都会更改。
3)Unbiased Teacher (UT)提出了一种弱-强增强的Mean Teacher算法,用于半监督目标检测。经过一个纯源训练阶段后,教师接受弱增强的目标数据输入,生成伪标签来训练接受强增强输入的学生。 Adaptive Teacher 将UT扩展到无监督域自适应,此外它采用了对抗性学习,在学生网络中结合了一个鉴别器来对齐两个领域的图像级特征。
4、Benchmark results
在本节中,我们将本文提出的 SF-UT 与 UDAOD 和 SFOD 的各种最先进的方法进行比较。三个适应任务的结果显示在表 3、表 4 和表 5 中。我们还根据论文和可用代码指出了每种方法的主干。请注意对于 VGG16 主干,作者并不总是指出 BN 的存在。
在所有比较的 SFOD 方法中,SF-UT 在 Cityscapes→Foggy 上表现出最好的性能,mAP 为 45.0%,大大优于之前最先进的 RPL。这部分归功于 VGG16-BN 主干网的优越性。因此,我们还对之前方法中使用的 VGG16 主干进行了实验。在这种情况下,SF-UT 达到 39.2 mAP,仍然接近最先进的水平。然而SF-UT 要简单得多,并且不包含其他更复杂方法中使用的正则化、对齐或伪标签增强技术。
5、Conclusion
在这项研究中,我们研究和评估了简单而有效的无源域自适应目标检测方法。在展示了批量归一化的重要性和AdaBN的有效性之后,我们提出了一种无源无偏教师(SF-UT),在Foggy-Cityscapes上取得了最先进的性能,在其他基准测试上取得了具有竞争力的结果。此外,我们引入了一种简单的策略,包括在批量统计适应(AdaBN + fixed SF-FM)之后对一组固定的伪标签进行强增强训练,也产生了令人满意的性能,并显著减轻了自训练中的崩溃问题。 总的来说,我们展示了如何以更简单的方法超越以前复杂得多的SFOD方法。
许多现代架构,如ConvNeXt或Transformers,都支持GroupNorm或LayerNorm。据我们所知,GN和LN层对域适应的适应尚未被探索,并且是一个有趣的研究视角。作为未来工作的一部分,我们还考虑评估各种不同的骨干和检测器。
相关文章:

论文速读:简化目标检测的无源域适应-有效的自我训练策略和性能洞察(ECCV2024)
中文标题:简化目标检测的无源域适应:有效的自我训练策略和性能洞察 原文标题:Simplifying Source-Free Domain Adaptation for Object Detection: Effective Self-Training Strategies and Performance Insights 1、Abstract 本文重点关注计算…...

ros与mqtt相互转换
vda5050 VDA5050协议介绍 和 详细翻译-CSDN博客 ros与mqtt相互转换 如何转换的,通过某个中转包,获取ros的消息然后以需要的格式转换为mqtt 需要的参数 ros相关 parameters[ (ros_subscriber_type, vda5050_msgs/NodeState), (ros_subscriber_queue…...

Golang | Leetcode Golang题解之第522题最长特殊序列II
题目: 题解: func isSubseq(s, t string) bool {ptS : 0for ptT : range t {if s[ptS] t[ptT] {if ptS; ptS len(s) {return true}}}return false }func findLUSlength(strs []string) int {ans : -1 next:for i, s : range strs {for j, t : range s…...

安卓开发之数据库的创建与删除
目录 前言:基础夯实:数据库的创建数据库的删除注意事项 效果展示:遇到问题:如何在虚拟机里面找到这个文件首先,找到虚拟机文件的位置其次,找到数据库文件的位置 核心代码: 前言: 安…...

数据结构:LRUCache
什么是LRUCache 首先我们来看看什么是cache 缓存(Cache)通常用于两个速度不同的介质之间,以提高数据访问的速度和效率。这里有几个典型的应用场景: 处理器和内存之间: 处理器(CPU)的运算速度远…...

shell脚本案例:创建用户和组
使用场景 在部署程序时,往往首要任务是创建用户和组。有的程序可能用到的组、用户比较多;且不知道服务器环境是否已经有了所需的组和用户。所以针对这个情况,根据Oracle RAC部署时的实际情况写了个脚本。 Linux版本 脚本代码 #!/bin/bash …...

C++笔试题之实现一个定时器
一.定时器(timer)的需求 1.执行定时任务的时,主线程不阻塞,所以timer必须至少持有一个线程用于执行定时任务 2.考虑到timer线程资源的合理利用,一个timer需要能够管理多个定时任务,所以timer要支持增删任务…...

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-13
文件下载与邀请翻译者 学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么ÿ…...

快消零售行业的培训创新:构建在线培训知识库
在快速消费品(FMCG)行业中,员工的培训和发展对于保持竞争力至关重要。随着电子商务的兴起和消费者行为的变化,快消零售行业需要不断适应新的市场趋势。在线培训知识库作为一种有效的培训工具,可以帮助企业提升员工技能…...

【AI开源项目】Botpress - 开源智能聊天机器人平台及其部署方案
文章目录 Botpress 概述Botpress 的定位 Botpress 的主要特点1. OpenAI 集成2. 易于使用3. 定制和扩展性4. 多平台支持5. 集成和扩展 API6. 活跃的社区和详尽的文档 部署方案集成集成开发集成部署机器人示例开发工具代理本地开发先决条件从源代码构建 Botpress 如何解决常见问题…...

一文读懂系列:SSL加密流量检测技术详解
SSL加密流量检测功能的主要目的是为了对加密流量做解密处理,并对解密后的流量做内容安全检查(比如反病毒、入侵防御、URL远程查询、内容过滤、文件过滤和邮件过滤等)和审计(防止信息泄露)。接下来我们详细介绍SSL加密流…...

Android Studio各种历史版本
下载地址:AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载...

大数据导论及分布式存储HadoopHDFS入门
思维导图 数据导论 数据是什么? 进入21世纪,我们的生活就迈入了"数据时代" 作为21世纪的新青年,"数据"一词经常出现。 数据无时无刻的在影响着我们的现实生活 什么是数据? 数据又如何影响现实生活? 数据…...

语言模型的采样方法
语言模型的采样方法 语言模型的输出为一个向量,该向量的每一维代表着词典中对应词的概率。 在采用自回归范式的文本生成任务中,语言模型将依次生成一组向量并将其解码为文本。将这组向量解码为文本的过程被成为语言模型解码。 解码过程显著影响着生成文本…...

使用 Nginx 配置真实 IP 地址转发
使用 Nginx 配置真实 IP 地址转发 在许多 web 应用程序中,获取客户端的真实 IP 地址非常重要,尤其是在使用反向代理服务器(如 Nginx)时。本文将指导你如何在 Nginx 中配置 X-Real-IP 和 X-Forwarded-For 头部,以确保你…...

WPF+MVVM案例实战与特效(二十四)- 粒子字体效果实现
文章目录 1、案例效果2、案例实现1、文件创建2.代码实现3、界面与功能代码3、总结1、案例效果 提示:这里可以添加本文要记录的大概内容: 2、案例实现 1、文件创建 打开 Wpf_Examples 项目,在 Views 文件夹下创建窗体界面 ParticleWindow.xaml,在 Models 文件夹下创建粒子…...

Oracle视频基础1.4.3练习
15个视频 1.4.3 できない dbca删除数据库 id ls cd cd dbs ls ls -l dbca# delete a database 勾选 # chris 勾选手动删除数据库 ls ls -l ls -l cd /u01/oradata ls cd /u01/admin/ ls cd chris/ ls clear 初始化参数文件,admin,数据文件#新版本了…...

energy 发布 v2.4.5
更新内容 修复 energy cli install 命令安装开发环境 修复 动态库加载error未暴露 增加 JS ipc.on 监听模式,异步返回结果 修复 energy cli 不能强制退出问题 修复 MacOS 开发模式 debug 时不更新 helper 进程 优化 energy cli 在 MacOS 开发模式和安装包制作 link…...

一文详解工单管理系统,工单系统是什么意思
在现代企业管理中,工单管理系统已经成为提升效率和客户满意度的重要工具。随着企业规模的扩大和业务复杂性的增加,传统的手工工单处理方式已经无法满足企业的需求。本文将详细解析工单管理系统的定义、功能、优势,并推荐一款优秀的工单管理系…...

【无标题】基于SpringBoot的母婴商城的设计与实现
一、项目背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,…...

你需要了解的Android主题相关知识
在 Android 开发中,主题(Theme)是用于定义应用的视觉风格的一组样式集合。主题决定了应用的配色、字体样式、控件外观等,是整个应用的一致性视觉体验的重要组成部分。以下是对 Android 主题的全面介绍,包括主题的基础概…...

基于Multisim数控直流稳压电源电路(含仿真和报告)
【全套资料.zip】数控直流稳压电源电路设计Multisim仿真设计数字电子技术 文章目录 功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真报告讲解视频.zip】 功能 1.输出直流电压调节范围5-12V。 2.输出电流0-500mA。 3.输出直流电压能步进调节,步…...

精读预告Bigtable
文章目录 1. 引言:2. 背景 1. 引言: 在本期的精读会中,我们将深入解读另一篇具有里程碑意义的论文——《Bigtable: A Distributed Storage System for Structured Data》。这篇论文详细介绍了 Bigtable 作为谷歌用于管理结构化数据的分布式存…...

软件架构演变:从单体架构到LLM链式调用
0 前言 软件架构——我们数字世界的蓝图——自20世纪中叶计算机时代诞生以来,已经发生了巨大演变。 20世纪60年代和70年代早期,以大型主机和单体软件为主导。而今天,数字领域已完全不同,运行在由云计算、API连接、AI算法、微服务…...

Redis-“自动分片、一定程度的高可用性”(sharding水平拆分、failover故障转移)特性(Sentinel、Cluster)
文章目录 零、写在前面一、水平拆分(sharding/分片)、故障转移(failover)机制介绍水平拆分(Sharding)故障转移机制 二、Redis的水平拆分的机制有关的配置1. 环境准备2. 配置文件配置3. 启动所有Redis实例4. 创建集群5. 测试集群读/写6. 集群管理 三、Red…...

操作系统(9) (并发-----原子性/互斥临界区/生产者消费者问题/临界区问题三条件/互斥性/进展性/公平性)
目录 1. 并发(Concurrency)的定义 2. 原子性(Atomicity) 3. 互斥(Mutual Exclusion) 4. 生产者-消费者问题(Producer-Consumer Problem) 5. 临界区Critical Section 6. 临界区问题…...

Django响应
HTTPResponse: 是由Django创造的, 他的返回格式为 HTTPResponse(content响应体,content_type响应体数据类型,status状态码), 可以修改返回的数据类型,适用于返回图片,视频,音频等二进…...

算法:图的相关算法
图的相关算法 1. 图的遍历算法1.1 深度优先搜索1.2 广度优先搜索 2. 最小生成树求解算法普里姆(Prim)算法克鲁斯卡尔(Kruskal)算法 3. 拓扑排序4. 最短路径算法 1. 图的遍历算法 图的遍历是指从某个顶点出发,沿着某条搜索路径对图中的所有顶点进行访问且只访问次的…...

django的models使用介绍。
from django.db import modelsfrom utils.models import CommonModel# Create your models here. class User(CommonModel):#用户数据模型username models.CharField(用户名,max_length32, uniqueTrue)password models.CharField(密码,max_length256)nickname models.CharFi…...

【分布式技术】分布式事务深入理解
文章目录 概述产生原因关键点 分布式事务解决方案3PC3PC的三个阶段:3PC相比于2PC的改进:3PC的缺点: TCCTCC事务的三个阶段:TCC事务的设计原则:TCC事务的适用场景:TCC事务的优缺点:如何解决TCC模…...