点击下方卡片,关注「AI视界引擎」公众号
本文提出了一种新的基于数据增强的语义分割域泛化方法,使用在训练后的多个模型上进行权重平均的重参化视觉Transformer(ReVT)。在几个基准数据集上评估了本文我们的方法,在常用的基准数据集上,实现了小型模型的47.3%(先前成果:46.3%)和中等模型的50.1%(先前成果:47.8%)的mIoU性能,达到了最先进的水平。
与此同时,本文的方法需要更少的参数,并且在推断时达到更高的帧率,而且易于实现,不像网络集成一样,在推断期间不会增加任何计算复杂性。
代码:https://github.com/ifnspaml/ReVT
1、简介
许多机器感知方法,例如语义分割,使用深度神经网络(DNNs)。由于语义分割数据的标注成本很高,越来越多的合成数据被用于训练这些DNNs。在标记的(源)域上训练后,它们应该在类似但未见的(目标)域中尽可能稳健地运行。
然而,通常情况下并非如此,因为目标域的数据与训练域的数据不同,导致所谓的域差异。有许多方法来处理这种域差异,要么在训练期间需要来自目标域的样本,要么在推断期间更改目标数据或网络参数。一种没有这些缺点的方法是域泛化(DG)。
域泛化的目标是以一种方式训练网络,使其能够在没有任何适应步骤的情况下很好地推广到未见的域。尽管使用视觉Transformer编码器的神经网络目前在分割任务中表现最好,但现代DG方法大多以基于ResNet的模型为例,例如DeepLabv3+和FCN。由于SegFormer具有强大的性能,并具有可比较或更少的参数数量,因此将其用作本文域泛化方法的Baseline。
在许多应用中已经证明有效的一种训练或后处理方法是重参化。在这里,可以对个别层,例如卷积层,或使用可能不同的增强训练的整个模型进行平均,以提高最终模型的性能和泛化性能。平均可以在训练期间或训练后执行。
如图1所示,在本文的工作中有利地结合了选定的图像增强的优势与重参化,并且表明这种方法可以显着提高基于Transformer的模型的泛化能力。作者还表明,当使用AdamW优化器时,该方法不会改善常用的基于ResNet的模型在使用标准随机梯度下降(SGD)训练时的性能,但可以克服这一问题。
如图1所示,首先训练M个基本模型,这些模型具有预训练编码器,但具有不同的随机解码器种子,以及可能具有不同的增强。然后,可以将编码器网络平均为一个新的编码器(重参化),该编码器提取更好的泛化特征。然后,可以将此编码器与先前训练的任何解码器组合,并直接用于分割。
本文工作贡献有4个方面:
首先,提出了一种域泛化语义分割的重参化视觉Transformer ReVT,该模型是由M个增强个体基础模型生成的。与使用基于ResNet的方法相比,在未见的域上实现了更高的mIoU,同时需要更少的参数,并且在性能上达到了更高的帧率,优于最佳现有方法。 其次,分析了不同的网络体系结构、网络部件、层类型和优化器对重参化的影响。 第三,在领域中更多的真实数据集上报告了结果,而且还超越了领域内的惯例,对数据分割进行了严格的训练、开发和测试集划分。 最后,在合成到真实域泛化任务的语义分割中,建立了一个新的最先进的基准。2、相关方法
2.1. 域泛化(DG)
在语义分割的域泛化中,模型是在来自特定(源)域DS的一组带标签的数据上进行训练的,然后在来自未见(目标)域DT的新数据上进行评估。其目标是训练一个可以很好地泛化到不同域并准确分割新图像的模型。根据Qiao等人的说法,区分域泛化和单源域泛化。这两者之间的主要区别在于,在前者中,模型可以在训练过程中暴露于多个域,例如,多个带标签的源域或附加的辅助域。常用作辅助域的数据集是ImageNet,它用于学习真实图像的风格。在单源域泛化任务中,模型仅在一个单一域上进行训练。
Muandet等人提出了一种称为域不变分量分析(DICA)的方法,通过在训练过程中减小域之间的差异来实现。Li等人通过低秩参数化的CNNs在多个域上学习了一个与域无关的模型。Zhang等人使用元学习进行域泛化以及在目标域中适应批次归一化统计数据的改编,因此不提供纯粹的DG方法。Li等人提出了一种通过汇总来自多个源域的数据进行训练的简单方法的分集训练。Yue等人首先使用真实域的风格对图像进行随机化,然后还在不同风格之间强制执行金字塔一致性。他们的方法不是单一源域,但需要用于风格转移的辅助域。Huang等人采用类似的方法,但建议在图像的频域中执行域随机化。Pan等人提出了一种更强健的实例批次归一化(IBN),对外观变化(如颜色偏移或亮度变化)更具鲁棒性。Choi等人提出了一种使用实例选择性白化的先进损失。Peng等人提出了一个包括语义感知归一化(SAN)和语义感知白化(SAW)的网络。
WildNet采用了来自辅助域的特征风格化,并强制执行分割图像的风格化和原始图像的分割Mask之间以及风格化图像的分割Mask和标签之间的语义一致性。
与以前的方法不同,这些方法要么执行检查点选择,要么在目标域的评估数据(官方验证集)上进行超参数调优,本文采用了一种严格的方法,采用不同的开发集进行方法设计和超参数调优,并且不执行检查点选择。此外,作者还在其他真实域上评估了本文的方法,其中一些代表了强烈的领域变化,并且以前的方法未曾探索这些领域。
2.2. 图像增强
图像增强技术旨在通过增加训练数据的变异性来提高DNNs的性能。它们减少了过拟合的风险,例如对合成纹理的过拟合,并可以提高模型的泛化能力。
一些最近的增强方法混合了全图像、图像的一部分、特定类别的像素,或将前述增强策略与其他图像变换相结合。建议使用一些称为基本模型的M个模型,这些模型具有来自PixMix、双边滤波以及SegFormer方法的基本增强。
2.3. 模型重参化
随机权重平均(SWA)方法在使用循环或常数学习率的随机梯度下降(SGD)训练过程中对模型的网络权重进行平均。同样,Sämann等人也在训练期间采用了模型平均。Kamp等人研究了一种相关方法,作为高效的分散式学习协议。
与在训练过程中采用重参化的方法不同,采用了Wortsman等人称之为“模型汤”的重参化方法,并在各种训练过程之后对模型权重进行了平均。
请注意,还可以重参化特定层并在重参化后更改体系结构,例如使用RepVGG。Wang等人分析了在不同网络中重参化策略的卷积层,并提出了一个先进的计划重参化模型。
3、本文方法
3.1. 数学符号
在图2中,提供了所采用的训练设置的高级概述。在标记的源域DS中进行训练时,图像经过增强方法后被表示为,其中G表示整数灰度值的集合,H和W表示以像素为单位的图像高度和宽度,C=3表示颜色通道的数量。
然后,通过分割网络F(具有网络参数θ)将增强后的图像转换为输出张量,该张量包含每个像素索引上所有类的像素级后验概率,其中。
分割网络由编码器θ和解码器(分割头)θ组成,具有参数θ 和θ,因此θθθ。参数张量中的参数数量表示为θ。
对于相同架构的不同参数张量θ,用下标标记,其中是相应的索引集,是模型总数。类别集合包含了源域训练和目标域推断(封闭集)的相同S个类别。为了获得最终的分类映射,计算。
3.2. 重参化的视觉Transformer(ReVT)
据所知,这是第一个将视觉Transformer重参化引入到用于语义分割的域泛化中的人。具体而言,每个基础模型在训练过程中都看到了一个独立的增强策略。在图1中提供了提出的语义分割的单源域泛化方法的示意概述。
首先,使用ImageNet预训练的编码器和不同的随机解码器种子,以及可能不同的增强策略,训练了相同架构的M个分割网络。
图像增强:在训练过程中采用的基础模型个体增强步骤是本文方法的重要组成部分。在图3中说明了图像增强流程。Baseline增强流程包括调整大小、随机裁剪、随机翻转(Random Flip)、光度增强(PhotoAug),然后进行零均值和单位方差的归一化。
双边滤波器可以插入到随机翻转之前(图3,上方的灰色框)。虽然PhotoAug是默认选择,但可以选择用PixMix 算法(图3,下方的灰色框)替换。原始的PixMix算法应用了随机选择的增强。在这里使用Baseline增强(Random Flip + PhotoAug),这就是为什么将PixMix变体称为PixMix*。
增强方法的详细描述在下面的部分中,详细描述所使用的增强方法。
随机裁剪:参数 ϱ定义了随机裁剪中单个类别可以占据的最大比例。
光度增强(PhotoAug):光度增强(PhotoAug)包括以下步骤:每个变换以0.5的概率应用于图像。随机对比度调整的位置在第2(模式 ➊)或倒数第2个位置(模式 ➋)。
对于每个图像,位置都是随机选择的。
随机亮度 如果 ➊:随机对比度 将颜色从RGB转换为HSV 随机饱和度 随机色调 将颜色从HSV转换为RGB 如果 ➋:随机对比度 随机交换通道双边滤波器:双边滤波器在保持锐利边缘的同时平滑图像。它的重点是去除噪音和纹理。一般来说,它是一个高斯滤波器,它在非均匀区域(边缘区域)中平滑较少,在均匀图像区域(非边缘区域)中平滑较多。像素索引处的双边滤波器可以描述为:
其中,相邻像素索引表示为,来自于邻域。邻域由从1像素到15像素的均匀分布中采样的核大小定义。距离 和 分别表示(欧氏)像素距离和颜色差异,其中和是像素的高度和宽度位置,表示像素的RGB值的向量(像素也是如此)。将空间距离设置为σ,颜色距离设置为σ。应用此滤波器的概率设置为。
PixMix:PixMix 增强方法包括如下所示的多个处理步骤。这里,表示输入图像,表示来自PixMix分形图像集合Z的混合图像。将最大混合轮数设置为。
请注意,当随机选择 = 0 时,for循环不会执行。函数随机选择为加法(add)或乘法(multiply)。它接受图像和以及β作为输入,用于生成图像的独立权重因子。权重因子从Beta分布中采样。在PixMix伪代码中的函数中,仅使用了Baseline增强方法PhotoAug和Random Flip(参见图3),这就是为什么将该方法称为PixMix*。
重参化的视觉Transformer(ReVT):在训练后,模型权重θ,可以平均,得到θ。新的平均模型权重θ可以在推断过程中使用。与Sämann等人描述的方法不同,只重参化编码器权重
结果是提出的ReVT,如下所示
其中是任意选择的解码器。
模型架构在实验中,使用了两种不同的网络架构,这些架构都采用了编码器-解码器结构,如图2所示。所使用的分割网络以及相应的参数数量列在表2中。
首先,使用了SegFormer 架构,它具有从早期层到解码器的多个跳跃连接(SegFormer Head)。
其次,研究了DeepLabv3+,它只有一个从早期层到解码器的 Short-Cut 连接。为了确保与其他参考方法的可比性,还将使用几种不同的编码器大小进行实验。如果只提到了SegFormer并且没有提供额外的信息,那么这将是指使用了MiT-B5编码器。如果只提到了DeepLabv3+并且没有提供额外的信息,那么这将是指使用了ResNet-101编码器。
为了重参化模型,需要多个编码器。如图1所示,用于此过程的M个模型将被称为基础模型(不要与Baseline模型混淆,Baseline模型只是标准的SegFormer或DeepLabv3+模型),每个模型都具有潜在的不同的图像增强。每个基础模型m的不同图像增强由1、2等标识。如果相同的图像增强被多次使用,例如,那么个基础模型只是用不同的随机种子进行了训练。然后,用{1, 1, 1}来表示所使用的增强方式。
4、实验
4.1、消融实验
重参化的网络部分:在表3中,研究了将重参化应用于不同网络部分时的效果。比较了Baseline模型(无重参化)以及仅对编码器、仅对解码器和整个网络进行重参化的结果。展示了SegFormer和DeepLabv3+的结果。可以看出,仅对编码器进行重参化是唯一能够改进结果的设置,其绝对改进幅度为3.2%,从44.3%提高到47.5%。
还可以看到,DeepLabv3+实际上并不从任何形式的重参化中受益,实际上性能从34.7%下降到了31.9%。因此,在本文的其余部分,将使用重参化来获得视觉Transformer SegFormer的ReVT。还将简单地将仅对编码器进行的重参化称为重参化。在接下来的实验中,将进一步研究为什么DeepLabv3+没有从重参化中受益以及如何避免这种效果。
优化器选择:在表4中,研究了在使用不同优化器设置训练时,Baseline模型和重参化模型的性能差异。优化器设置包括有关训练过程的所有设置。作者测试了SegFormer(AdamW,灰色行)和DeepLabv3+(SGD,黄色行)的标准优化器设置的影响。
可以看出,当使用DeepLabv3+的设置时,SegFormer的Baseline表现更好(46.2% vs. 44.3%),但是重参化的收益变得显著较小(0.7%的绝对改进 vs. 3.2%的绝对改进)。对于DeepLabv3+,SegFormer的优化器设置是更好的选择,因为一方面Baseline性能更好(35.3% vs. 34.7%),另一方面,它显示出显著的改进(3.2%的绝对改进),而不是恶化(-2.8%的绝对改进)。
重参化的块/层类型:在表5中研究了在SegFormer编码器内对不同块和层类型进行重参化的性能。对于每一行,仅对所述的块或层进行重参化,所有的其余模型保持相同。
从表5可以看出,当对编码器的所有参数进行重参化时,该方法效果最好。选择特定的块或层并不带来任何优势。然而,所有独立评估的层/块类型都比Baseline模型获得了改进。
基础模型的数量:在图4中展示了在不同数量M的模型上,重参化与各种组合技术的性能比较。对于ReVT(绿色),mIoU是通过平均编码器和所有相关的M个解码器来计算的。对于编码器组合(蓝色),来自编码器的特征图z被平均,然后由所有相关的M个解码器进行处理。对于网络组合,M个输出后验被平均(橙色)或相乘(红色)。对于,所有方法在持续超越Baseline(虚线)。
在本文的情况下,3个基础模型(M = 3)为重参化和网络组合提供了最佳结果。另一方面,编码器组合从更多的基础模型中获益,对于M = 7,它提供了最佳的性能。重参化在所有M值下都至少比所有集合技术高出1.5%的绝对改进,对于M = 3,至少高出2.0%的绝对改进。它还具有较低的推理计算复杂度(M倍降低)。
数据增强4.2、ReVT Method Design
4.3、SOTA对比
5、参考
[1].A Re-Parameterized Vision Transformer (ReVT) for Domain-Generalized Semantic Segmentation.
6、推荐阅读
YOLO-MDE多任务框架 | 目标检测+深度估计都可以实现SOTA
Q-YOLO | 带你学习一个YOLOv5、YOLOv7量化不掉点的PTQ方法
TurboViT出世 | 比MobileViT小3倍,速度精度同时完成超车!!!
点击上方卡片,关注「AI视界引擎」公众号