Self-Ensembling with GAN-based Data Augmentation for Domain Adaptation in Semantic Segmentation

摘要

 基于深度学习的语义分割方法有一个内在的局限性,即训练模型需要大量具有像素级标注的数据。为了解决这一具有挑战性的问题,许多研究人员将注意力集中在无监督的领域自适应语义分割上。无监督域自适应试图使在源域上训练的模型适应目标域。在本文中,我们介绍了一种自组装技术,这是分类中领域自适应的成功方法之一。然而,将自组装应用于语义分割是非常困难的,因为自组装中使用的经过大量调整的手动数据增强对于减少语义分割中的大的领域差距没有用处。为了克服这一限制,我们提出了一个由两个相互补充的组件组成的新框架。首先,我们提出了一种基于生成对抗性网络(GANs)的数据扩充方法,该方法在计算上高效,有助于领域对齐。给定这些增强图像,我们应用自组装来提高分割网络在目标域上的性能。所提出的方法在无监督领域自适应基准上优于最先进的语义分割方法。

1、介绍

 语义分割在计算机视觉领域得到了广泛的研究。它的目标是为图像中的每个像素分配图像类别标签。基于深度神经网络的各种算法已经通过足够数量的注释数据集实现了高性能。然而,创建用于语义分割的大型标记数据集成本高昂且耗时。为了克服注释负担,研究人员利用现代计算机图形学轻松生成带有地面实况标签的合成图像。不幸的是,在实践中,使用合成数据训练的模型在现实领域中表现不佳,因为存在一种称为领域偏移的分布差异。无监督域自适应通过将知识从源域中的标记数据集转移到目标域中的未标记数据集来处理域转移。

 最近的领域自适应方法侧重于对齐从源数据和目标数据中提取的特征。特别是,语义分割中的大多数领域自适应方法都依赖于对抗性训练,旨在通过领域混淆来最大限度地减少领域差异。然而,对抗性方法有一个明显的缺点。由于这些方法寻求对齐两个不同领域的全局分布,对抗性损失可能会触发负迁移,从而使目标特征与错误语义类别中的源特征对齐。负迁移可能会对已经很好地对齐的特征产生不利影响。因此,这种自适应通常比仅在源域上训练的网络执行得更差。我们采用另一种方法来执行特征级域对齐,而不是对抗性训练。我们采用自组装,这是分类中领域自适应的有效方法之一。

自组装由教师和学生网络组成,学生被迫对教师提供的目标数据进行一致的预测。由于教师是一个对学生权重进行平均的集合模型,因此教师对目标数据的预测可以被认为是学生的伪标签。虽然最近的自组装证明了其在分类中的有效性,但这些方法需要经过大量调整的手动数据增强才能成功地进行域对齐。此外,尽管这种由各种几何变换组成的数据扩充在分类中是有效的,但它不适合最小化语义分割中的域偏移。每个输入上的两个不同的几何变换可能导致学生和老师预测之间的空间错位。因此,我们提出了一种新的数据扩充方法来处理这个问题。

我们的增强图像合成方法基于生成对抗性网络。我们的目标是生成增强图像,其中保留了语义内容,因为这些具有不一致语义内容的图像由于增强图像和源标签之间的像素级错位而损害了分割性能。因此,我们为生成器添加了语义约束,以保持全局和局部结构,即语义一致性。此外,我们提出了一种目标引导生成器,该生成器根据从目标域提取的风格信息生成图像。换句话说,我们的生成器合成保持语义信息的增强图像,同时仅从目标图像转移样式。

以前大多数基于GAN的图像到图像翻译方法的研究都依赖于各种形式的循环一致性。然而,将循环一致性纳入无监督领域自适应有两个局限性。首先,它需要冗余模块,如目标到源生成器和相应的计算负担。其次,当目标数据与源数据相比稀缺时,循环一致性可能太强,这是无监督领域自适应的一般设置。我们提出的模型没有考虑所有类型的循环一致性。我们将我们的方法称为目标引导和无周期数据增强(TGCF-DA)。

 我们的通用框架如图1所示。我们使用TGCF-DA来生成增强图像。然后,分割网络通过自组装从源数据、目标数据和增强数据中学习。本文的主要贡献总结如下:

我们提出了一种新的数据增强方法,该方法具有目标引导生成器和无循环损失,更有效,适用于无监督领域自适应中的语义分割。

我们建立了一个统一的框架,将自我组装与TGCF-DA相结合。

我们的方法在具有挑战性的基准数据集上实现了最先进的性能。此外,我们对所提出的方法进行了广泛的实验并进行了全面的分析。

2、相关工作

用于语义分割的无监督域自适应

近年来,用于语义分割的无监督领域自适应受到了广泛的关注。这项任务的第一次尝试是野外的FCN[15],它通过对抗性训练同时执行全局和局部调整。对抗性训练是主要的方法,侧重于特征级自适应,以通过领域混淆生成领域不变特征。这一想法被扩展为通过各种技术(如循环一致性损失或风格转移)在像素和特征级别上联合调整表示。除了对抗性训练方法外,还有一种基于自我训练的不同方法。CBST引入了自训练来产生伪标签,并用这些标签重新训练网络。

自我约束

自我嵌入是在半监督学习领域提出的。半监督学习的一种流行方法是一致性正则化,它使用未标记的数据在扰动下产生一致的预测。Laine和Aila提出了使用预测的每样本移动平均值进行时间镶嵌,以获得一致的输出。Tarvainen和Valpola提出了模型权重的指数移动平均值,而不是预测的平均值。自组装方法[9]将Mean-Teacher框架应用于无监督领域自适应,并进行了一些修改。在[35]中,Perone等人通过应用类似于先前方法的自集成方法来解决医学成像分割任务。Yonghao等人利用自组装注意力网络提取注意感知特征进行领域自适应。
图像到图像的翻译

最近的图像到图像(I2I)翻译方法是基于生成对抗性网络(GANs)。在未配对训练图像的情况下,一个流行的约束是循环一致性,它将给定图像映射到目标域并重建原始图像。UNIT引入了用于学习共享潜在空间的约束。然而,上述所有方法都存在翻译图像缺乏多样性的问题。为了产生多模态输出,一种可能的方法是将噪声向量作为额外输入注入生成器,但这可能会导致模式崩溃问题。此外,由于循环一致性限制性太强,因此为多模态I2I翻译开发了循环一致性的变体。一种不同的方法是应用神经风格转移。特别地,并发作品采用自适应实例规范化来将风格从样例转移到原始图像。此外,AugGAN的作者利用分割信息来改进I2I翻译网络。我们的任务与AugGAN完全不同,因为域自适应不能使用目标数据的分割标签。

3、提出的方法

在这项工作中,我们介绍了统一的框架,它建立在语义分割的自组装基础上。提高语义分割自组装能力的关键是基于GAN的数据扩充,以对齐源和目标的表示,而不是现有自组装中主要用于分类的几何变换。为了实现这一目标,我们提出了一种新的目标引导和无周期数据增强(TGCF-DA),它具有目标引导生成器和语义约束。目标引导生成器将源图像转换为目标域中的不同样式。我们的学生网络通过计算交叉熵损失,从具有监督损失的TGCF-DA中学习源图像和增强图像。此外,我们只使用目标样本来计算一致性损失,该损失被定义为学生和教师网络生成的预测图之间的均方误差。
更正式地说,让表示源域和目标域。我们可以访问Ns个标记的源样本,其中和相应的标记映射。目标域具有个未标记的目标样本,其中分别表示源数据分布和目标数据分布。源数据和目标数据共享C类。设f_Sf_T是学生分割网络和教师分割网络。

3.1、目标导向生成器

 基于图像可以分解为内容和风格两种解纠缠的表示的假设,我们采用源编码器生成内容表示,目标编码器提取风格表示。为了正确地组合这两种表示,我们将自适应实例归一化(AdaIN)应用于源图像的特征图。如[21]所述,具有多个完全连接层的目标编码器提供可学习的仿射变换参数,以归一化每个通道的源图像的特征图。AdaIN操作定义为:

 其中表示第i个通道的源特征图。µ(·)和σ(·)分别表示跨空间维度的均值和方差。我们的生成器通过中间残差块处的AdAIN以目标样本的风格信息为指导,同时保持源图像的空间结构,即保持源图像之间的语义一致性。

                 

3.2、语义限制

 我们利用语义约束来在像素级保留语义内容。给定标记的源数据,我们可以对FCN-8s等分割模型进行预训练,以约束生成器。具有固定权重的预训练分割模型促进了翻译前后图像之间的语义一致性。由于这种语义约束,我们的网络可以在不失真的情况下保留图像中的对象。此外,这种约束对于在没有循环一致性的情况下稳定对抗性训练至关重要。由于循环一致性强制了匹配两个分布的严格约束,因此可以有效地防止模式崩溃和稳定对抗性训练[26]。如果没有循环一致性,我们的对抗性训练很容易受到GAN训练的不稳定性的影响。然而,这种语义约束通过强制执行语义一致性来保证稳定的对抗性训练。我们将语义约束损失定义为交叉熵损失:

                            

 其中G(x_s, x_t)是由目标引导生成器G生成的大小为H\times W的生成图像。

 3.3、目标导向和非循环的数据增强

 我们介绍了一种为目标引导和无周期数据增强(TGCF-DA)设计的GAN。如图3所示,G是目标引导生成器,D是所提出的鉴别器。我们使用LSGAN中的对抗性目标,并应用频谱归一化来稳定GAN训练。GAN损失定义为:

                        

  这种损失确保了G在视觉上产生与目标图像相似的新图像,而不会丢失源图像中的语义内容。由于分割模型是固定的,我们联合训练目标引导生成器和鉴别器来优化总体损失:

                         

 其中是用于平衡GAN损失和语义约束的贡献的权重。预训练的目标引导生成器用于合成增强图像,以实现自组装中的数据增强。

3.4、自嵌入

 我们构建了教师网络f_T和学生网络f_S。教师在训练步骤i的权重t_i由学生的权重s_i更新,如下公式所示:

                                

 其中\alpha是指数移动平均衰变。在训练过程中,每个小批量由源样本、增强样本和目标样本组成。我们使用源样本和增广样本来计算监督损失,这是用于语义分割的交叉熵函数。该损失函数使学生网络能够对源样本和增强样本产生语义准确的预测。一致性损失被公式化为从学生和教师网络生成的预测图之间的均方误差:

                        

 其中σ是用于计算预测图的概率的softmax函数。总损失是监督损失和一致性损失的加权和:

                        

其中,是受上升影响的稠度损失的重量。与[9]相反,我们从经验上观察到,重量增加对于提高一致性损失的有效性是必要的。

3.5、目标样本的数据增强

 这里,目标样本的数据扩充与TGCF-DA无关。这种数据扩充仅适用于目标样本,以便计算第3.4节中自组装的一致性损失。在分类[9]中,目标样本的随机数据增强的目标是迫使学生网络对同一目标样本产生不同的预测。如上所述,几何变换等图像级变换对语义分割等像素级预测任务没有帮助[28]。因此,我们将高斯噪声注入到目标样本中,这些样本分别被馈送到学生网络和目标网络。此外,我们将Dropout[42]应用于权重扰动。因此,在每个网络的目标样本和参数的不同扰动下,我们的学生网络被迫与教师网络产生一致的预测。

4、实验

 本节介绍了合成域到实域自适应的实验设置和细节。然后,我们将报告实验结果与先前研究的比较。此外,我们将提供消融研究,以验证我们的方法的有效性。

4.1、数据集

对于合成源域,我们使用了SYNTHIA和GTA5数据集。然后,我们在Cityscapes数据集上评估了我们的方法,将其作为类似设置下的真实世界目标域。我们简要介绍数据集的详细信息如下:

GTA5

GTA5包含24966张带有像素级注释的城市场景图像。这些高分辨率图像是由游戏引擎侠盗猎车手V渲染的。在[15]之后,我们使用了与城市景观兼容的19类注释。我们从GTA5中随机挑选了1000张图像进行验证。
SYNTHIA

SYNTHIA[37]是一个从虚拟城市渲染的视频序列的大规模数据集。我们使用了SYNTHIA-RAND-CITYSCAPES,由9400张带有像素级注释的图像组成。继承之前的工作[51],我们选择了SYNTHIA和Cityscapes中常见的16个类别。我们随机选择了100张图片进行评估。


城市景观

城市景观[7]包含从德国及周边国家的50个城市收集的城市街景。它有一个包含2975张图像的训练集和一个包含500张图像的验证集。我们可以使用来自SYNTHIA或GTA5的源图像和标签,以及来自Cityscapes训练集的没有标签的目标图像。城市景观中的验证集被视为我们领域适应实验的评估集。我们报告了每个类的IoU(并集上的交集)和mIoU(平均IoU)来衡量分割性能。在补充材料中,我们提供了BDD100K数据集的额外实验结果。

4.2、实验设置和实现细节

TGCF-DA

我们的TGCF-DA增强网络由生成器、鉴别器和分割模型组成。该发生器建立在MUNIT使用的自动编码器架构之上,但经过修改,可作为无循环发生器。它由源编码器、目标编码器和解码器组成。源编码器包括用于对源图像进行下采样的跨步卷积层和用于计算内容表示的残差块。解码器由残差块和转置卷积层组成,以对组合表示进行上采样。目标编码器由跨步卷积层和全连接层组成,以提供样式表示。[46]中描述的多尺度鉴别器被用作我们的鉴别器。在所有实验中,我们将权重设置为10。
Self-Ensembling

在我们所有的实验中,我们使用VGG-16主干作为我们的语义分割网络。继Deeplab之后,我们引入了ASPP(Atrous Spatial Pyramid Pooling)作为解码器,然后使用上采样层来获得最终的分割输出。在上采样层之前,最终分类器的输出用于计算第3.4节中的一致性损失。我们利用S形斜坡上升来计算稠度损失权重。第5.3节分析了稠度损失重量的细节。在训练过程中,图像被调整大小并裁剪到480×960的分辨率,为了进行评估,我们将预测图的采样提高到1024×2048的分辨率。我们的架构和实验的细节将在补充材料中提供。

4.3、实验结果

 我们在表1中报告了所提出的方法在两个适应实验中的实验结果。我们将我们提出的方法与课程DA、CyCADA、MCD、LSD-seg、AdaptSegNet、ROAD、Conservative Loss、DCAN和CBST进行了比较。在表1中,自组装(SE)表示在没有我们的数据增强方法的情况下,源和目标通过自组装训练的网络的分割性能。TGCF-DA表示由源数据训练的分割网络,以及由具有相应标签的TGFF-DA生成的增强数据。我们的(TGCFDA+SE)表示我们提出的由TGCF-DA和自组装方法组成的框架。所提出的方法在GTA5上显著优于基线14.2%→城市景观和SYNTHIA 13.1%→城市景观。与纯源基线相比,我们的方法有了进一步的改进,并且在两个实验中都达到了最先进的mIoU分数。

 

 

 4.4、消融研究

自我镶嵌消融(SE):

比较基线和SE,SE显示mIoUs小幅改善,表1-(a)中改善了4.3%,表-1-(b)中改善4.9%。然而,详细地说,我们观察到SE在整个训练过程中表现不佳,如图所示。4(蓝色和橙色线)。与我们提出的方法(TCFDDA+SE)相比,教师和学生网络不保持互补相关性。

消融TGCF-DA:

TGCF-DA是生成合成数据所必需的,这有助于网络减少域偏移。与基线相比,TGCF-DA在表1-(a)中将mIoU提高了7.1%,在表-1-(b)中提高了11.0%。这些改进验证了TGCF-DA是减少域偏移的有用方法。除TGCFDA外,SE在两个实验中都表现出较差的结果。相反,我们在图4中提出的方法(灰色和黄色线)清楚地表明,学生更新的教师继续提高分割能力,并成功地将其知识转移给学生。因此,我们方法的老师和学生同时提高了他们的表现。这些结果证实了我们的直觉,即TGCF-DA增强了自组装算法的语义分割能力。

 

         

 

5、分析

 在本节中,我们提供了对所提出的框架的各个组件的可视化结果和分析。

5.1、可视化

自组装的有效性如图5所示。我们验证了教师网络生成更好的预测,然后教师和学生网络之间的不同预测会导致一致性损失,从而加强其预测的一致性。在图5中,第一行和第三行显示,教师的预测可以很好地代表在训练早期训练学生网络。此外,我们指出,在后期训练阶段,一致性损失集中在每个对象的边界上。因此,一致性损失可能在重新定义语义对象的边界方面发挥作用,其中分割模型可能会输出错误的预测。在图7中,我们显示了TGCFDA与其他图像到图像(I2I)翻译方法比较的示例结果:CycleGAN、UNIT和MUNIT。CycleGAN和UNIT经常生成包含损坏对象和伪影的失真图像。MUNIT能够保留图像中的对象,但我们观察到,目标图像中大多数类的风格通常与源图像中不同类的元素相匹配,这类似于[30]中的“溢出”问题。例如,来自MUNIT的翻译图像显示天空中的伪影,就像目标域的道路纹理一样。与上述方法相比,由于无周期损失,我们的方法不仅计算成本低,内存效率高,而且在保持语义一致性的情况下显示了令人信服的视觉结果。

5.2、每类IOU的自组装分析

为了更好地理解自组装,我们比较了有和没有自组装的方法的每类IOU。在图6中,我们显示了TGCF-DA和我们的之间的每类IoU增益(TGCF-DA+SE)。尽管大多数类别的IoU分数总体上有所提高,但不同类别的绩效收益存在差异。图6表明,大多数类别(如“道路”)的IoU增益通常优于少数类别(如《公共汽车》)。这些实验结果归因于自我整合和阶级失衡问题。由于类别不平衡,分割网络经常对少数类别产生错误的预测[57]。在自组装方法中,这种效果可以得到加强,因为学生是从老师的预测中反复学习的,老师的预测往往会对少数班级而不是多数班级做出错误的预测。因此,与少数类相比,自组装导致了多数类的每类IOU的大幅改进。值得注意的是,这一结果符合我们的直觉,即教师网络的预测是学生网络的伪标签。

 

                 

                 

 在自组装中,一致性损失权重δ和指数移动平均(EMA)衰减α是重要的超参数。我们进行实验来探索这些超参数的敏感性。表2表明,为EMA衰减设定一个合适的值是重要的。在我们所有的实验中,EMA在前37K迭代期间衰减为0.99,之后衰减为0.999。在训练的早期,老师从新学生准确的体重中受益,因为学生快速提高了分割能力。另一方面,由于学生在后期训练中进步缓慢,教师可以从旧的组合模式中获得知识。一致性损失权重\delta遵循公式\delta = 1+ \delta e^{-5(x+1)^2},其中表示当前历元与整个历元之间的比率,\delta_0是上升系数。与通常的S形上升[43]不同,我们在公式中添加了一个,因为在训练开始时保证一致性损失的贡献是至关重要的。我们决定在所有实验中使用\delta_0=30。 

5.4、TGCF-DA的超参数敏感性

语义约束的权重是用于训练我们的扩充网络的超参数。图8显示了SYNTHIA的一些示例结果→ 城市景观。当我们使用较低的值()作为语义约束时,生成器容易混淆增强图像中的对象和场景。另一方面,语义约束的适当值()有助于网络保持图像的局部和全局结构。这些结果证明,语义约束强制我们的增强网络保持语义一致性。

6、结论

我们提出了一个新的框架,由两种互补的方法组成,用于语义分割的无监督领域自适应。我们提出了在目标样本的指导下基于GAN的数据扩充。在不使用循环一致性的情况下,我们的增强网络生成用于域对齐的增强图像。此外,通过将伪标签从教师网络转移到学生网络,与这些增强图像的自组装可以成功地执行自适应。实验结果验证了我们提出的模型优于现有的最先进的方法。

### MobilenetV3 Implementation for LITS Liver Tumor Segmentation Challenge For the application of MobileNetV3 within the context of the LiTS (Liver Tumor Segmentation Challenge), one can consider adapting this efficient architecture to serve as a backbone or feature extractor in medical image analysis tasks, specifically focusing on liver and tumor segmentation from CT scans. #### Adapting MobileNetV3 for Medical Image Analysis MobileNetV3 is designed primarily for mobile vision applications but has shown versatility across various domains due to its efficiency and performance balance. In adapting it for use with LiTS data: - **Input Adaptation**: The input layer must be adjusted according to the dimensions typical of CT scan images used in LiTS. This often involves grayscale images rather than RGB inputs expected by standard architectures like MobileNetV3. - **Feature Extraction Layer Customization**: While retaining the lightweight design principles of MobileNetV3, custom layers may need addition at certain stages where domain-specific features are critical for distinguishing between healthy tissue and tumors[^1]. ```python from tensorflow.keras.applications import MobileNetV3Large from tensorflow.keras.layers import Conv2D, UpSampling2D, Concatenate from tensorflow.keras.models import Model def create_mobilenetv3_liver_model(input_shape=(512, 512, 1)): base_model = MobileNetV3Large(include_top=False, weights=None, # No pretrained weights since we're using medical imaging input_tensor=None, input_shape=input_shape) # Add additional convolutional blocks tailored towards identifying specific characteristics of liver tissues last_layer = base_model.output # Example: Adding upsampling path similar to U-net structure which helps in precise localization required for segmentation task upsampled_output = UpSampling2D(size=(8, 8))(last_layer) output_conv = Conv2D(filters=1, kernel_size=(1, 1), activation='sigmoid')(upsampled_output) model = Model(inputs=[base_model.input], outputs=[output_conv]) return model ``` This code snippet demonstrates how to integrate MobileNetV3 into an encoder-decoder framework suitable for semantic segmentation problems such as those encountered during participation in challenges like LiTS. The provided script initializes a `create_mobilenetv3_liver_model` function that constructs a modified version of MobileNetV3 optimized for processing single-channel medical imagery while incorporating elements inspired by successful approaches seen elsewhere in literature related to biomedical engineering[^4]. --related questions-- 1. How does the choice of pre-processing techniques impact the effectiveness of applying transfer learning models like MobileNetV3 on medical datasets? 2. What modifications would enhance MobileNetV3's ability when dealing specifically with volumetric data common in radiology studies? 3. Can you provide examples of other deep learning frameworks besides V-Net that have been successfully applied to organ segmentation tasks including livers? 4. Are there any particular considerations regarding dataset augmentation strategies beneficial for improving generalizability in cross-institutional collaborations involving diverse patient populations?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wanderer001

ROIAlign原理

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值