文章的研究动机是什么?
减小源域和目标域之间的域间差异,使得使用源域的图片和Label训练的分割模型可以用于目标域的分割。
关于Domain Adaptation Segmentation的介绍,之前文章中介绍过,如果不是很了解,详见下文介绍。
AI图像分割算法|了解减小域间差异的分割算法LSD-seg
1、网络架构
2、方法:
本文提出了一种基于全卷积网络的无监督域自适应语义分割框架。利用全局(Global Domain Alignment)和具体类别(Category Specific Adaptation)两方面的特征对齐减小Domain Shift进行分割。
(1)Global Domain Alignment
利用encoder网络对source domain和target domain的图片进行提取图片特征,利用图片特征进行对抗训练,如图中Domain Adversarial Training,同对抗训练,使得提取到的特征具有相似的数据分布,使得Source domain image提取的特征与target image提取的特征相似,对齐全局整体信息。
一般的对抗生成网络,有一个生成器和一个判别器,训练判别器时,使得判别器对真实的图片和生成的图片有很好的判别能力,能够判别真假,而生成器则希望生成的图片足够的真实,可以骗过判别器,让判别器将其判别为真。而这两个之间有一定的矛盾,也就是这个矛盾构成了“对抗”。而这里针对一个特征提取器和一个分类判别器,如何构成这个“对抗”关系,利用GAN的原理进行训练呢?
定义encoder网络提取到的特征,以及分类网络对每一个像素预测为每一个类别可能性:
domain classifier loss:
判别器判别出source domain image 提取的特征为Fake,target domain image 提取的特征为Real.
inverse domain loss :
判别器判别出source domain image 提取的特征为Real,target domain image 提取的特征为Fake.
整体对抗Loss:
从上面可以看出LD和LDinv是矛盾的,而这里两个Loss通过迭代训练,可以实现对抗训练的目的。
(2)Category Specific Adaptation
利用全卷积约束的MIL Loss[1]对齐类别空间局部信息,通过约束图片中类别的存在与否以及物体的尺寸,从而完成具体类别上的信息对齐。[1] Fully convolutional multi-class multiple instance learning. In ICLR
通过上一篇文章中定义的MIL Loss进行约束,利用每一个类别对应feature map的预测最大分值,构建损失函数,促使存在的类别具有较大的预测分值,抑制不存在的类别的存在。
MIL Loss详见下文:
如何使用图片级类别标注对像素级分割任务进行训练之MIL Loss详解
对于有label的source domain,统计每一类物体的label的像素数目占整个图片尺寸的比例,由于aource domain 和target domain拥有共同的label space,所以Source domain统计的数据比例关系可以预测target domain的比例关系。
对于每一类的统计数据,定义像素百分比lower 10% boundary为αc,定义the upper 10% 为γc, 定义the average value为δc。即对数据集中的特定类c,将该类物体在图片中所占的比例大小进行排序,统计出αc、γc、δc具体的百分比数值。
对于class c,约束该类别占图片像素中的百分比为所有数据的最大10%和均值之间。松弛下界但不能松弛上界,约束类别在图片中所占的比例。
约束图片中不同类别物体尺寸,达到平衡数据集的作用,使得不会因为物体过小而被网络忽略。
3、损失函数:
Lseg为普通的用于分割的交叉熵Loss,Lda为Global Domain Alignment部分的损失函数,Lmi为Category Specific Adaptation部分的损失函数。