一叶知秋:基于“单目标域样本”的领域自适应方法

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

引言

传统的无监督领域自适应方法(UDA)除了需要大量的源域数据(Source Data)外,还需要足够数量的无标注目标域样本(Target Data)进行训练,比如基于分布对齐、基于伪标签提取和基于熵最小化的方法等均隶属于此范畴。然而在实际场景中,除了数据标注费时费力,数据的采集本身也可能存在困难,比如因数据隐私保护、采集环境苛刻等造成的目标域数据稀缺。因此,即使能够通过计算机生成无限量的虚拟数据,因为真实数据的稀缺,网络也无法通过传统的UDA方法进行正常训练。针对这种目标数据稀缺的现实而具有挑战性的问题,本文提出了一种新的解决方法。文章假设我们只搜集到了一张来自于目标域的珍贵样本,仅仅通过对该样本的充分挖掘,使模型能够感知到潜在的目标域分布,达到“一叶落知天下秋”的效果。原论文发表于NeurIPS2020,标题为 《Adversarial Style Mining for One-Shot Unsupervised Domain Adaptation》,代码已开源。论文第一作者罗亚威,博士毕业于华中科技大学计算机科学与技术学院,现任浙江大学计算机科学与技术学院博士后。

67edffaa2bcdbcba9b0b1bf67d611b1c.jpeg

Paper:Adversarial Style Mining for One-shot Unsupervised Domain Adaptation

Code: Please feel free to contact me at yaweiluo329[at]gmail[dot]com

问题背景

17eb57b7b2c5f2bd6457493135c4f3fd.jpeg

图1(a) 传统的领域自适应方法在源域/目标域数据充足的情况下能达到好的效果,但在目标域数据稀缺(如只有单个样本)的情况下效果不佳。

Unsupervised Domain Adaptation (UDA)

深度学习方法在计算机视觉的多个任务中都取得了令人满意的成果。然而,训练一个良好的神经网络往往需要海量的人工标注数据。当前一个比较流行的思路是借助虚拟的合成数据进行模型训练,比如利用3D游戏截图等等。然而,由虚拟数据训练出的网络在真实数据上往往泛化能力不佳,而造成这一问题的主要原因被称为域偏差(Domain Shift)。为了解决这一问题,研究者利用无监督领域自适应方法来缓解虚拟源域数据和真实目标域数据分布的差距,达到了比较好的效果,如图1(a)左所示。

One-Shot Unsupervised Domain Adaptation (OSUDA)

传统的无监督领域自适应方法除了需要大量的源域数据外,还需要足够数量的无标注目标域样本进行训练,比如基于分布对齐、基于伪标签提取和基于熵最小化的方法等均隶属于此范畴。然而在实际场景中,除了数据标注费时费力,数据的采集本身也可能存在困难,比如因数据隐私保护、采集环境苛刻等造成的目标域数据稀缺。因此,即使能够通过计算机生成无限量的虚拟数据,因为真实数据的稀缺,网络也无法通过传统的UDA方法进行正常训练,如图1(a)右所示。

针对这种目标数据稀缺的现实问题,本文提出了一种新的解决方法。文章假设我们只搜集到了一张来自于目标域的珍贵样本,仅仅通过对该样本的充分挖掘,使模型能够感知到潜在的目标域分布,达到“一叶落知天下秋”的效果。

解决思路

39734eec50129a505bc6073d0b3cdb77.jpeg

图1(b) ASM由风格生成网络G和任务网络M组成。G通过采样,将one-shot目标域样本xt附近的风格赋予源域图片集合{Xs},并在根据M的反馈在每次迭代中生成更多更难的潜在目标域风格,而M则需要正确处理新生成的图片,并将训练损失反馈给G。显然,两者形成了一个对抗的过程。

Domain Adaptive Semantic Segmentation问题假设源域和目标域具有相似的语义内容,但图片风格不同。传统基于风格迁移的Domain Adaptation方法将源域图片转化到目标域图片的风格分布上进行训练,以此降低domain gap。然而,在只有一张目标域图片的情况下,如果直接按照风格迁移的思路,所有的源域图片均会迁移到同一个单调的风格上,造成过拟合。因此,这里我们将OSUDA的问题转化为了风格搜索问题,即如何从一个“孤点”风格搜索出更多潜在的目标域风格,形成“风格分布”,从而让领域自适应变得可行。

到目前为止,One-shot setting下最大的难题还是没有得到解决。因为只有一张图片,潜在的目标域风格分布是完全未知的。那么如何有效地搜索呢?我们的思路是这样的。一方面,我们认为,潜在的目标域风格虽然不可见,但大概分布在该one-shot风格的附近。另一方面,我们应该让搜索出的风格对模型的泛化能力有价值,即不能完全过拟合到one-shot的风格。沿着这种思路,我们设计了ASM方法。

ASM方法以one-shot图片提供的风格作为“锚”风格(anchored style),利用一个图片生成网络G在anchored style周围采样一个相似的风格(该风格离anchored style较近)进行图片生成,然后将下一步的搜索方向确定为对当前任务模型M最难的方向(利用梯度上升实现)进行搜索,从而生成更多更难风格的图像来提高任务特定模型 M 的泛化能力。另一方面,更新后的 M 为 G 提供动态反馈,以指导G下一步的搜索方向。显然,M与G形成了一个对抗的过程。在这种对抗训练过程中,G逐步生成对于M来说更加困难的图片,而M不断地更新G的搜索方向。训练收敛后,M可以对anchored style周围的所有风格具有较强的泛化能力。 

方法详情

风格生成网络RAIN

根据解决思路中的描述,针对OSUDA问题,ASM算法需要一个根据M的训练loss而动态改变迁移风格的模块G,且模块G需要具有采样能力和端到端可导的搜索能力。基于AdaIN方法,我们设计了RAIN模块。RAIN 在原始 AdaIN 的特征空间中额外装备了一个变分自编码器(称为 style VAE)。style VAE将所有的风格分布都编码到了一个正态分布中,因此RAIN在训练完成后,不需要再像AdaIN一样每次输入风格图片进行风格迁移,而是可以直接通过采样进行随机风格迁移。通过改变采样向量,生成的风格也相应的发生变化。因此,直接将梯度反传至采样向量即可完成端到端的对抗训练。RAIN module的详情如图2所示。

98ddd46ea91c2607e0dbfba7b4a54eec.jpeg

对抗风格挖掘网络ASM

有了可采样可求导的风格生成模块G,ASM的实现也就水到渠成了。文章将预训练的G(也就是RAIN)的参数固定(可变的只有采样向量),与M组成一个对抗网络。这里的M以语义分割常用的FCN网络为例,整体框架如图3所示。

1504c5afd98495a0aa56a6122975b595.jpeg

ASM的训练目标是优化两个损失函数。

任务损失: 利用任务损失指导 M 从(已经过风格化的)源域数据和标签中学习知识。

一致性损失: 为了进一步鼓励 M 提取领域不变性特征,算法使用了一致性损失,定义如下。

其中  代表 M 中的深层特征,  代表一个 Batch 内所有图像的深层特征向量平均值。该损失函数的设计动机是因为领域自适应问题假设源域和目标域共享相同的内容空间,但是风格不同,因此不同风格化下的源图像应该在深层保持相似的语义信息。这种损失限制了具有相同内容但不同风格的批图像之间的语义一致性,鼓励了 M 仅仅提取语义信息这种领域间不变的特征,增强了模型的泛化能力。

综上所述, ASM 模型的总体优化目标为:

算法伪代码:

6c3b9b3799523b661e303bd869ed8d66.jpeg

实验结果

本文分别在Classification和Segmentation的OSUDA任务上进行了实验。

OSUDA Classification实验

Classification实验采用了经典的MNIST-USPS-SVHN互相迁移的任务进行效果度量,结果如表1所示。

7b1c61447dce2125cfcc0884b03ccdff.jpeg

我们通过T-SNE图进一步展示ASM的效果,如图4所示。

269489319ebffd57c562a3b912b8d13e.jpeg

图4 tSNE 特征可视化(a):Source only;(b):CycleGAN;(c):OST;(D):ASM

OSUDA Segmentation实验

OSUDA Segmentation实验在GTA2Cityscapes和Synthia2Cityscapes两个任务上进行测试,结果如表2所示。可以看到,在OSUDA setting下ASM获得了SOTA的mIOU,并且在传统的UDA setting下,ASM也能达到很好的效果。

b4eb49ca4d15388e52f28677bd4bf37b.jpeg

图5展示了OSUDA语义分割任务的可视化结果。

e4302bfed8f08b887618117ab25428ce.jpeg

图5 OSUDA语义分割可视化结果

消融实验

消融实验探究了consistency loss的重要性,如表3所示。

b14f00e6757ba6e1df99eb95ce095cd7.jpeg

不同采样策略的结果比较

该实验比较了不同采样类型的风格生成结果,如表4所示。Anchor Sampling是完全在one-shot样本附近的采样策略(无对抗搜索过程),容易造成过拟合;而Random Sampling会生成对M无益的随机风格。ASM方法生成的样本既保证了风格符合潜在的目标域风格分布,又保证了对任务模型的有效泛化能力。

6d4088a32369fc796b8c206e0b3b3af2.jpeg

不同采样策略生成结果可视化,如图6所示。

0fc994afa792f2c48ef0179d3a99e0c9.jpeg

图6 不同采样策略的风格迁移结果 

结论

针对目标域数据可能稀缺的情况,本章提出了新的基于单目标域样本的领域自适应(One-shot Unsupervised Domain Adaptation,简称 OSUDA)问题场景,并针对此问题设计了对抗风格挖掘(Adversarial Style Mining,简称 ASM)算法。OSUDA 问题的困难之处在于,由于无法从单个目标域样本推理目标域的真实分布,因此基于特征对齐、基于伪标签生成和基于熵最小化的一些常见 UDA 方法都无法正常使用。本文所提出的 ASM 以对抗学习的方式将风格转换模块和特定任务模块相结合,迭代地、高效地搜索新的风格化样本,以帮助任务模型泛化到几乎不可见的目标域。ASM 可以被视为一种通用框架,因为特定于任务的子网络 M 可以根据不同的跨域任务进行更改。本章在分类和分割任务上的实验结果表明了 ASM 针对 OSUDA 问题有效性。与其他领域自适应方法相比,ASM 在目标域样本稀缺的情境下具有最优的性能。

OSUDA是一种非常现实却极具挑战性的问题环境,目前相关研究较少,特别是在语义分割任务上还有较大提升空间。

 
 

好消息!

小白学视觉知识星球

开始面向外开放啦👇👇👇

 
 

2d80eef0911e3c49303013c803fbbb0f.jpeg

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值