| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Learning to Adapt Structured Output Space for Semantic Segmentation -> 正文阅读 |
|
[人工智能]Learning to Adapt Structured Output Space for Semantic Segmentation |
2018年 CVPR Tsai Y H, Hung W C, Schulter S, et al. Learning to adapt structured output space for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 7472-7481. 0.摘要1.在本文中,我们提出了一种在语义分割的背景下进行领域适应的对抗性学习方法。 2.考虑到语义分割是包含源域和目标域之间空间相似性的结构化输出,我们在输出空间中采用对抗性学习。output space:分割网络输出的结果经过softmax之后,变成了一个概率的东西,我们称这个概率为output space。 补充: 此论文的作者认为直接用特征做对抗是不好的,不如用output space概率来做对抗,为什么呢?因为作者认为,在原本,就比如分类里面,大家都是用特征来做的,但是分割是不一样的。因为分割的高维度特征,就是你前面的特征部分,是一个非常长的向量,比如Resnet101的最后一层,它的特征长度2048维的,如此高维度特征,编码的信息当然更加复杂。但是对于语义分割,可能这些复杂信息并不是有用的。这是作者的一个观点。 作者的另一个观点是,语义分割的输出的结果虽然是低维度的,即output space这个概率,实际上只有类别数的这样的一个维度,就是假如类别数c的话,它这个概率对于每个像素点就是c*1的一个向量。虽然是低维度空间,但是一整个图片的输出,实际上包含了场景、布局以及上下文这些丰富的信息。本论文作者认为不管图片来自于源域还是目标域,分割出来的结果在空间上,应该是具有非常强的相似性的。因为不管是仿真数据还是模拟数据,同样都是在做的分割任务上。如上图,其源域和目标域都是针对于自动驾驶来做的。很明显的一个观点是,中间大部分可能是路,上面一般是天,然后左右可能是建筑。这种场景上的分布是有非常强的相似性的,因此作者认为直接使用低维度的这个概率,就是softmax输出来进行对抗就能取得一个非常好的效果。 基于以上两个insight,作者就设计直接把概率放到判别器里面。训练的过程实际上和GAN是一样的,只不过不再是把特征传入判别器里面,而是把最终输出的概率传到判别器里面。 3.为了进一步增强适应的模型,我们构建了一个多级对抗网络,以有效地在不同的特征水平上进行输出空间领域适应。 1.简介语义分割的目的是给图像中的每个像素分配一个语义标签,例如,人、车、路或树。最近,基于卷积神经网络(CNN)的方法在语义分割方面取得了重大进展[2, 21, 23, 24, 40, 42, 43],应用于自动驾驶[9]和图像编辑[36]。基于CNN的方法的核心是注释大量的图像,涵盖可能的场景变化。然而,这种训练有素的模型可能不能很好地推广到未见过的图像,特别是当训练(源)和测试(目标)图像之间存在领域差距时。例如,在不同的城市,物体和场景的外观分布可能会有所不同,甚至在同一个城市,天气和照明条件也会发生很大的变化。在这种情况下,仅仅依靠需要在不同场景下重新注释每个像素gt的监督模型,会带来过高的劳动成本。 为了解决这个问题,人们提出了知识转移或领域适应技术,以缩小源域和目标域之间的差距,在目标域中没有注释。对于图像分类来说,一种有效的方法是将两个领域的特征统一起来[8, 25],这样适应的特征就可以推广到两个领域。类似的努力也被用于通过特征空间的对抗性学习进行语义分割[3, 13]。然而,与图像分类任务不同的是,用于语义分割的特征适应可能会受到高维特征的复杂性的影响,这些特征需要编码不同的视觉线索,包括外观、形状和背景。这促使我们开发一种有效的方法来适应像素级预测任务,而不是使用特征适应。在语义分割中,我们注意到输出空间包含丰富的信息,包括空间和局部信息。例如,即使两个领域的图像在外观上非常不同,它们的分割输出也有大量的相似之处,如空间布局和局部环境(见图1)。基于这一观察,我们在输出(分割)空间中解决像素级领域适应问题。 在本文中,我们为语义分割提出了一种基于CNN的端到端领域适应算法。我们的表述是基于输出空间的对抗性学习,其中的直观是直接使源域和目标域之间预测的标签分布相互接近。基于生成对抗网络(GAN)[10, 31, 22],提出的模型由两部分组成:1)预测输出结果的分割模型;2)区分输入是来自源分割还是目标分割输出的鉴别器。通过对抗性损失,提议的分割模型旨在混淆判别器,目的是为源图像或目标图像在输出空间产生类似的分布。 所提出的方法也能适应特征,因为误差从输出标签反向传播到特征层面。然而,一个值得关注的问题是,低级别的特征可能不能很好地适应,因为它们离高级别的输出标签很远。为了解决这个问题,我们通过在分割模型的不同特征层次上加入对抗性学习,开发了一种多层次策略。例如,我们可以同时使用conv5和conv4特征来预测输出空间的分割结果。然后,两个判别器可以连接到每个预测的输出,进行多层次的对抗性学习。我们对分割模型和判别器共同进行一个阶段的端到端训练,而不使用目标域中数据的任何先验知识。在测试阶段,我们可以简单地抛弃判别器,在目标图像上使用适应的分割模型,没有额外的计算要求。(?) 由于注释分割gt的劳动成本很高,人们对带有注释的大规模合成数据集产生了极大的兴趣,例如GTA5[32]和SYNTHIA[33]。因此,一个关键的设置是使在合成数据上训练的模型适应真实世界的数据集,如Cityscapes[4]。我们遵循这一设定,进行广泛的实验来验证所提出的领域适应方法。首先,我们使用一个强大的baseline,它能够泛化到不同的领域。我们注意到,一个强大的baseline有利于现实世界的应用,可以评估所提出的适应方法的局限性。基于这个baseline,我们展示了在特征和输出空间使用对抗性适应的比较。此外,我们表明多级对抗性学习比单级适应性学习提高了结果。除了从合成到真实的设置,我们还展示了跨城市数据集[3]的实验结果,其中注释是在一个城市(源)提供的,同时在另一个未见过的城市(目标)测试模型。总的来说,我们的方法在不同设置下的众多基准数据集上的表现优于最先进的算法。 这项工作的贡献如下。首先,我们提出了一种通过对抗性学习进行像素级语义分割的领域适应方法。第二,我们证明了在输出(分割)空间的适应可以有效地调整源图像和目标图像之间的场景布局和局部环境。第三,开发了一个多层次的对抗性学习方案,以适应分割模型不同层次的特征,从而提高性能。 2. 相关工作 语义分割。目前最先进的语义分割方法主要是基于最近的深度神经网络的进展。正如Long等人[24]所提议的,人们可以将分类CNN(例如AlexNet[19]、VGG[34]或ResNet[11])转化为完全卷积网络(FCN),用于语义分割。此后,人们开发了许多方法,通过利用上下文信息[15, 42]或扩大接受域[2, 40]来改进这一模型。为了训练这些先进的网络,必须收集大量密集的像素注释,以匹配深度CNN的模型能力。因此,近年来提出了弱监督和半监督的方法[5, 14, 17, 29, 30],以减少收集分割基本事实的沉重标注成本。然而,在大多数现实世界的应用中,要获得弱注释是很困难的,而且训练好的模型可能不能很好地推广到未见过的图像领域。 另一种解决注释问题的方法是构建基于渲染的合成数据集,例如GTA5[32]和SYNTHIA[33]。虽然数据收集的成本较低,因为像素级的注释可以通过部分自动化过程完成,但这些数据集通常与真实世界的数据集一起使用,进行联合学习以提高性能。然而,当仅仅在合成数据集上进行训练时,模型并不能很好地归纳到真实世界的数据上,这主要是由于合成图像和真实世界的图像之间存在很大的领域偏移,也就是说,在目前的渲染技术下,外观差异仍然是很大的。尽管合成更真实的图像可以减少域的偏移,但有必要使用域的适应性来缩小性能差距。 域适应。图像分类的领域适应方法已经被开发出来,以解决源域和目标域之间的领域转换问题。许多方法[7, 8, 25, 26, 35, 37, 38]是在CNN分类器的基础上发展起来的,因为性能得到了提高。这些方法背后的主要观点是通过调整源图像和目标图像之间的特征分布来解决这个问题。Ganin等人[7, 8]提出了领域对抗性神经网络(DANN)来转移特征分布。此后,又提出了一些具有不同损失函数[25, 37, 38]或分类器[26]的变体。最近,PixelDA方法[1]通过将源图像转移到目标域,从而获得目标图像的模拟训练集,解决了图像分类的领域适应问题。 我们注意到,像素级预测任务的领域适应性还没有得到广泛的探索。Hoffman等人[13]通过将对抗性学习(即DANN)以完全卷积的方式应用于特征表示和类似于受限CNN[30]的额外类别约束,介绍了语义分割上的领域适应任务。其他方法主要是通过采用类别对抗学习[3]或标签转移[3]来适应合成-真实或跨城市图像。与PixelDA方法[1]类似,一项同时进行的工作,CyDA[12]使用CycleGAN[44],并通过像素对齐将源域图像转移到目标域,从而产生与特征空间对抗性学习相结合的额外训练数据[13]。 尽管特征空间适应已经成功地应用于图像分类,但基于特征适应的方法,像语义分割这样的像素级任务仍然具有挑战性。在本文中,我们利用像素级预测是包含空间和局部信息的结构化输出这一特性,通过输出空间的对抗性学习,提出一种高效的领域适应算法。 3.算法概述 3.1.模型概述 我们的领域适应算法由两个模块组成:分割网络G和判别器Di ,其中i表示多级对抗学习中判别器的级别。来自源域和目标域的两组图像H×W×3。我们首先将处理源图像来优化G。然后我们预测目标图像(无注释)的分割softmax输出Pt。由于我们的目标是使源图像和目标图像的分割预测结果P(即Ps和Pt)相互接近,我们使用这两个预测结果作为判别器Di的输入,以区分输入是来自源域还是目标域。在目标预测的对抗性损失下,网络将梯度从Di传播到G,这将鼓励G在目标域产生与源预测相似的分割分布。图2显示了提出的算法的概况。可以看到,左边的两个DA,它们是多尺度的。回到我们一开始讲到的语义分割网络,它分为特征提取器和分类器,分类器的输入实际上就是特征提取器提取出来的特征。 大家都知道,Resnet实际上有好几层。作者基于这个事实提出,可以分别在最后一层以及倒数第二层,这两部分上来做output space的对抗。也就是把这两部分特征送到分类器上,然后把分类器的结果拿出来,输入判别器(Discriminator)里面来做对抗。 3.2. 领域适应的目标函数 ? 我们制定了包含两个模块的损失函数的适应任务。Lseg是使用源域中的gt注释的交叉熵损失,Ladv是使目标图像的预测分割适应于源预测分布的对抗性损失(见第4节)。在(1)中,λadv是用于平衡这两种损失的权重。 4. 输出空间适应 与基于描述图像整体视觉信息的特征[8, 25]的图像分类不同,为语义分割学习的高维特征编码了复杂的表征。因此,特征空间的适应性可能不是语义分割的最佳选择。另一方面,虽然分割输出是在低维空间,但它们包含丰富的信息,如场景布局和背景。我们的直觉是,无论图像是来自源域还是目标域,它们的分割结果在空间上和局部上都应该有很强的相似性。因此,我们利用这一特性,通过对抗性学习方案来调整分割预测的低维softmax输出。 4.1. 单层对抗性学习 鉴别器训练。在介绍如何通过对抗性学习来适应分割网络之前,我们首先描述一下判别器的训练目标。考虑到分割的softmax输出P=G(I)∈R H×W×C,其中C是类别的数量,我们将P转发给一个完全卷积的判别器D,对两个类别(即源和目标)使用交叉熵损失L d。该损失可以写成: ?其中,如果样本来自目标域,则z=0;如果样本来自源域,则z=1。分割网络训练。首先,我们将(1)中的分割损失定义为来自源域的图像的交叉熵损失: 其中Y s是源图像的gt注释,P s = G(I s )是分割输出。其次,对于目标域中的图像,我们将其转发给G,并获得预测P t = G(I t )。为了使P t的分布更接近P s,我们在(1)中使用对抗性损失L adv为: 这种损失是为了训练分割网络,并通过最大限度地提高目标预测被视为源预测的概率来愚弄判别器。 4.2. 多层次对抗性学习 虽然在输出空间进行对抗性学习可以直接适应预测,但低层特征可能无法很好地适应,因为它们离输出很远。与使用辅助损失进行语义分割的深度监督方法[20][42]类似,我们在低层特征空间中加入了额外的对抗模块以增强适应性。分割网络的训练目标可以从(1)中扩展为: 其中i表示用于预测分割输出的级别。我们注意到,在通过个别判别器进行对抗性学习之前,分割输出仍然是在每个特征空间中预测的。因此,仍然分别与(3)和(4)中的形式相同。基于(5),我们对以下最小-最大标准进行优化。 ? ?最终目标是使源图像在G中的分割损失最小,同时使目标预测被认为是源预测的概率最大化。 5. 网络结构和训练 鉴别器。对于鉴别器,我们使用了类似于[31]的结构,但利用所有的完全卷积层来保留空间信息。该网络由5个卷积层组成,内核为4×4,跨度为2,其中,通道数分别为{64、128、256、512、1}。除最后一层外,每个卷积层后面都有一个参数为0.2的 a leaky ReLU[27]。我们不使用任何批处理规范化层[16],因为我们使用小批处理量联合训练判别器和分割网络。 分割网络。在一个好的baseline的基础上实现高质量的分割结果是至关重要的[2, 40, 42]。我们采用DeepLab-v2[2]框架和在ImageNet[6]上预训练的ResNet-101[11]模型作为我们的分割baseline。然而,由于内存问题,我们没有使用多尺度融合策略[2]。与最近的语义分割工作[2, 40]类似,我们去掉了最后一个分类层,并将最后两个卷积层的步长从2修改为1,使得输出特征图的分辨率实际上是输入图像尺寸的1/8倍。为了扩大感受野,我们在conv4和conv5层应用扩张卷积层[40],其步长分别为2和4。在最后一层之后,我们使用Atrous Spatial Pyramid Pooling(ASPP)[2]作为最后的分类器。最后,我们将上采样层与softmax输出一起应用,以匹配输入图像的大小。基于这种结构,我们的分割模型在Cityscapes[4]训练集上训练并在Cityscapes验证集上测试时,达到了65.1%的平均IoU。 表1. 将GTA5改编为Cityscapes的结果。我们首先将我们在输出空间使用单级对抗学习的结果与其他基于VGG-16模型的最先进的算法进行比较。然后,我们采用了基于ResNet-101的模型,并对我们提出的方法的不同部分进行了消融研究。 结果:第一条数据Baseline(Resnet)在源域上训练一个模型,然后拿到目标域上去测试。第二条数据是在特征维度上做出来一个结果,39.3。虽然相比于source only的模型有所提升,但是和下面两个在output space上做的对抗是相对较低的。第一个single level,是直接在Resnet最后一层提取出了特征,然后输入到分类器产生得到的结果;第二个multi-level是在Resnet倒数一二层都做对抗,结果可以看到,是会更好。 多层次适应模型。我们构建了上述的判别器和分割网络作为我们的单层适应模型。对于多级结构,我们从conv4层提取特征图,并添加一个ASPP模块作为辅助分类器。同样地,一个具有相同结构的判别器被添加到对抗性学习中。图2显示了拟议的多级适应模型。在本文中,我们使用了两个层次,以平衡其效率和准确性。 网络训练。为了训练拟议的单/多级适应模型,我们发现在一个阶段联合训练分割网络和鉴别器是有效的。在每个训练批次中,我们首先将源图像Is转发给优化L seg的分割网络(3),并产生输出P s。对于目标图像I t,我们获得分割输出P t,并将其与P s一起传给判别器,以优化L d(2)。此外,我们为目标预测P t计算(4)中的对抗性损失L adv。对于(5)中的多级训练目标,我们只需对每个适应模块重复同样的程序。 我们使用PyTorch工具箱在12GB内存的单个Titan X GPU上实现我们的网络。为了训练分割网络,我们使用带有Nesterov加速度的随机梯度下降(SGD)优化器,其中动量为0.9,重量衰减为5×10-4。初始学习率被设定为2.5×10-4,并使用[2]中提到的功率为0.9的多项式衰减来减少。对于判别器的训练,我们使用亚当优化器[18],学习率为10-4,并使用与分割网络相同的多项式衰减。动量被设定为0.9和0.99。 表2. 调整后的模型与全监督模型之间的性能差距。我们先用基于VGG的模型与最先进的方法进行比较,然后用ResNet的模型展示我们的结果。 6. 实验结果 在本节中,我们提出了实验结果,以验证所提出的在不同环境下进行语义分割的领域适应方法。首先,我们展示了在合成数据集(即GTA5[32]和SYNTHIA[33])上训练的模型的评估,并在Cityscapes[4]数据集的真实世界图像上测试适应的模型。还进行了广泛的实验,包括与最先进的方法和消融研究的比较,例如,在特征/输出空间和单/多级对抗学习中的适应。其次,我们在Cross-City数据集[3]上进行了实验,模型在一个城市被训练,并在不使用注释的情况下适应另一个城市。在所有的实验中,都使用了IoU指标。代码和模型可以在下面找到。 https: //github.com/wasidennis/AdaptSegNet 6.1. GTA5 GTA5数据集[32]由24966幅图像组成,分辨率为1914×1052,由基于洛杉矶市的视频游戏合成。地面真实注释与包含19个类别的Cityscapes数据集[4]兼容。继[13]之后,我们使用了GTA5的全部数据集,并使模型适应具有2975张图像的Cityscapes训练集。在测试过程中,我们对有500张图片的Cityscapes验证集进行评估。 总体结果。我们在表1中展示了与最先进的领域适应方法[12, 13, 41]相比较的适应结果。对于这些方法,基线模型是使用基于VGG的架构训练的[24, 40]。为了公平地评估我们的方法,我们首先使用相同的基线架构(VGG-16),并使用提议的单级适应模块训练我们的模型。表1显示,我们的方法在与其他算法的比较中表现良好。虽然这些方法都有特征适应模块,但我们的结果表明,在输出空间中适应模型能达到更好的性能。我们注意到,CyCADA[12]有一个像素适应模块,通过将源域图像转换到目标域,从而获得额外的训练样本。虽然这个策略实现了与我们类似的性能,但人们总是可以应用像素转换与我们的输出空间适应相结合来改善结果。 另一方面,我们认为,利用一个更强大的基线模型对于理解不同适应成分的重要性以及提高性能以实现真实世界的应用至关重要。因此,我们使用第5节中介绍的基于ResNet-101的网络,并训练拟议的适应性模型。表1显示了仅在没有适应性的源图像上训练的基线结果,并与我们在不同设置下的适应性模型进行了比较,包括特征适应和输出空间的单/多级对抗学习。图3展示了一些适应性分割的例子结果。我们注意到,对于像电线杆和交通标志这样的小物体,它们更难适应,因为它们很容易与背景类合并。 此外,评估适应性能的另一个因素是衡量适应模型和完全监督模型之间的差距有多大。因此,我们使用Cityscapes数据集中的注解的地面真相作为神谕结果来训练模型。表2显示了不同基线模型下的差距。我们观察到,尽管基于VGG-16和ResNet-101的模型的神谕结果差别不大,但VGG模型的差距更大。这提示我们,为了缩小差距,使用容量更大的深层模型是更实用的。 参数分析。在优化分割网络G的过程中,平衡分割和对抗性损失之间的权重是至关重要的。我们首先考虑(1)中的单级情况,并进行实验来观察改变λ adv的影响。表3显示,较小的λ adv可能不会明显地促进训练过程,而较大的λ adv可能会向网络传播不正确的梯度。我们根据经验,在单层设置中选择λ adv为0.001。 特征水平与输出空间的适应性。在(1)中的单级设置中,我们通过对抗性学习使用特征级或输出空间适应来比较结果。对于特征层面的适应,我们采用与[13, 3]类似的策略,并相应地训练我们的模型。表1显示,建议的输出空间适应方法比特征层面的适应方法表现更好。 此外,表3显示,特征空间的适应性对λ adv更加敏感,这导致训练过程更加困难,而输出空间的适应性允许更大范围的λ adv。一个原因是,由于特征适应是在高维空间进行的,判别器的问题变得更容易。因此,这种适应性模型不能通过对抗性学习有效地匹配源域和目标域之间的分布。 单层次与多层次对抗性学习。我们已经展示了在输出空间采用对抗性学习的优点。此外,我们在表1中介绍了使用多级对抗性学习的结果。在这里,我们利用一个额外的对抗性模块(见图2),对两个层次的(5)进行联合优化。为了适当平衡λseg i和λ adv i,我们对高层次输出空间使用与单层次设置相同的权重(即λ 1 seg = 1,λadv 1 = 0.001)。由于低级输出携带的预测分割的信息较少,我们对分割和对抗性损失都使用较小的权重(即λ 2 seg = 0.1和λ adv 2 = 0.0002)。评估结果表明,我们的多级对抗性适应性进一步提高了分割的准确性。更多结果和分析见补充材料。 7. 结语 在本文中,我们利用了分割是结构化输出的事实,并且在源域和目标域之间有许多相似之处。我们通过输出空间的对抗性学习来解决语义分割的领域适应问题。为了进一步增强适应的模型,我们构建了一个多级对抗网络,以有效地在不同的特征水平上进行输出空间领域适应。实验结果表明,所提出的方法在与众多基线模型和最先进的算法的比较中表现良好。我们希望我们提出的方法能够成为一个通用的适应模型,用于广泛的像素级预测任务。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 17:31:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |