近年来,计算机视觉领域的研究一直在不断推进,为了更好地解决领域自适应的问题,ICCV 2021发表了一篇名为《Generalized Source-free Domain Adaptation》的论文。该论文采用了基于PyTorch 1.3和CUDA 10.0的代码,通过阅读’requirements.txt’文件可以了解复现实验结果的必备条件。本文将对该论文进行解读,以及介绍相关的数据集准备、训练过程、检查点、领域分类器等内容。
领域自适应(DA)旨在将从源领域学习到的知识转移到未标记的目标领域。最近的一些工作涉及无源域自适应(SFDA),其中只有源预训练模型可用于自适应到目标域。然而,这些方法没有考虑保持源性能,这在实际应用中具有很高的实用价值。在本文中,我们提出了一种新的域自适应范式,称为广义无源域自适应(G-SFDA),其中学习的模型需要在目标域和源域上都表现良好,在自适应过程中只能访问当前未标记的目标数据。首先,我们提出了局部结构聚类(LSC),旨在将目标特征与其语义相似的邻居进行聚类,从而在缺乏源数据的情况下成功地将模型适应目标领域。其次,我们提出了稀疏域注意力(SDA),它产生一个二元域特定注意力来激活不同域的不同特征通道,同时在自适应过程中利用域注意力来正则化梯度,以保持源信息。在实验中,就目标性能而言,我们的方法与现有的DA和SFDA方法不相上下或更好,特别是它在VisDA上实现了最先进的性能(85.4%),并且我们的方法在适应单个或多个目标域后,适用于所有域。
在ICCV 2021中发表的这篇论文着重介绍了广义源无关领域自适应(Generalized Source-free Domain Adaptation)的方法。为了更深入地理解该方法,还可以查阅NeurIPS 2021中的相关论文《Exploiting the Intrinsic Neighborhood Structure for Source-free Domain Adaptation》。这篇NeurIPS论文更深入地研究了SFDA的邻域聚类,通过引入互递性来改进领域自适应。
为了进行实验,首先需要下载VisDA和Office-Home数据集,并使用提供的图像列表文件标记数据路径。这一步是为了确保实验的可重现性和准确性。
训练模型的过程分为两个主要阶段。首先,在源数据上训练模型,同时考虑源和目标的注意力。然后,在没有源数据的情况下,将模型适应到目标领域。在这个过程中,使用嵌入层自动生成领域注意力。
# VisDA数据集训练
sh visda.sh
# Office-Home数据集训练
sh office-home.sh
作者提供了训练日志文件、源模型和目标模型在VisDA上的链接。可以直接从源模型开始进行无源自适应,以复现实验结果。
论文中提供了一个名为’domain_classifier.ipynb’的文件,其中包含训练领域分类器和使用估计的领域ID评估模型的代码。这一步可以帮助更好地理解模型在VisDA数据集上的性能。
需要注意的是,这些代码是基于ICML 2020中的SHOT(Source-free High-order Task)的基础上进行的。SHOT也是一种源无关的方法,为该论文的实现提供了基础。
通过深入研究这篇ICCV 2021论文,我们可以更好地理解广义源无关领域自适应的方法,为计算机视觉领域的研究和实践提供有益的参考。
https://github.com/Albert0147/G-SFDA
实践无源自适应技术:提供基于PyTorch 1.3和CUDA 10.0的代码,让你可以轻松重现ICCV 2021的实验结果。从数据集准备到模型训练,再到领域自适应,你将亲身体验到这一领域的前沿技术。