[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation

时间:2022-02-05 04:36:06

学习适应结构化输出空间进行语义分割

在语义分割场景中,虽然物体在外表上不同,但是他们的输出是结构化且共享很多例如空间分布,

局部内容等信息。所以作者提出了multi-level的输出空间adaptation。

本文提出一种在未知领域强化source领域知识的finetune,作者观察到分割效果不好的痛点

(例如源领域是天气好的图片,目标领域是下雨天气,预测下雨天气分割时,对于车子这些原有领域

已知的目标,我们要强化它的分割效果)。

作者主要做了两组实验,在虚拟数据集如GTA5等训练,然后在真实数据测试。在一个城市的数据

训练,然后在另一个城市测试。

Overview of the Proposed Model

[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation

算法主要流程:

为了解决分割网络在一个领域往另一个领域迁移,首先在source数据集训练一个backbone。然后对于source和target数据集抽样,通过对样本的feature map做输入,训练一个判别网络来判断target图有哪些知识是来源于source。然后用判别器得到的LadvLseg同时对网络进行finetune。

Network Architecture and Training

Discriminator

判别器由{64, 128, 256, 512, 1}x4x4, stride=2的卷积层组合而成,除了最后一层都用0.2的leaky ReLU激活。最后一层加入upsample恢复大小,不使用BN。

Segmentation Network

在deeplab-v2上做改动,改部分层的stride、加入ASPP,实验说在Cityspaces上有65.1% mIoU。

NetworkTraining

输入源图片得到分割输出Ps,求Lseg训练分割网络。然后对于目标输入,得到分割输出后Pt,和Ps一起优化Ld。另外还要优化对抗损失Ladv

Objective Function for Domain Adaptation

总损失函数为[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation,i 是multi-level的不同卷积层特征图进行处理得到的结果,分为前后两部分交叉熵。

第一部分是分割效果的交叉熵:[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation,第二部分则是[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation,在部分的设计在于最大化特征图target中属于source的像素点,目的在于让网络识别哪些是之前source领域有的知识。

至于怎么训练网络判断,[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation,z=0表示点输入目标领域,不在我们知道的知识范围内。训练则通过在两个领域分别采样即可。

优化目标[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation,在最小化source image的分割损失的情况下,最大化目标预测值被认为是源预测值的可能,即最大化运用会原先的知识。

Experimental Results

[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation

[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation