Learning to Adapt Structured Output Space for Semantic Segmentation(2018 CVPR)

1.在本文中,提出了一种在语义分割的背景下进行领域适应的对抗性学习方法。

2.考虑到语义分割是包含源域和目标域之间空间相似性的结构化输出,我们在输出空间中采用对抗性学习。output space:分割网络输出的结果经过softmax之后,变成了一个概率的东西,我们称这个概率为output space。

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.

1.输出空间

此论文的作者认为直接用特征(feature map)做对抗是不好的,不如用output space概率来做对抗,为什么呢?因为作者认为,在原本,就比如分类里面,大家都是用特征来做的,但是分割是不一样的。因为分割的高维度特征,就是你前面的特征部分,是一个非常长的向量,比如Resnet101的最后一层,它的特征长度2048维的(通道数),如此高维度特征,编码的信息当然更加复杂。但是对于语义分割,可能这些复杂信息并不是有用的。这是作者的一个观点。

作者的另一个观点是,语义分割的输出的结果虽然是低维度的,即output space这个概率,实际上只有类别数的这样的一个维度,就是假如类别数c的话,它这个概率对于每个像素点就是c*1的一个向量。虽然是低维度空间,但是一整个图片的输出,实际上包含了场景、布局以及上下文这些丰富的信息。本论文作者认为不管图片来自于源域还是目标域,分割出来的结果在空间上,应该是具有非常强的相似性的。因为不管是仿真数据还是模拟数据,同样都是在做的分割任务上。如上图,其源域和目标域都是针对于自动驾驶来做的。很明显的一个观点是,中间大部分可能是路,上面一般是天,然后左右可能是建筑。这种场景上的分布是有非常强的相似性的,因此作者认为直接使用低维度的这个概率,就是softmax输出,来进行对抗就能取得一个非常好的效果。

x = torch.tensor([[-2, -3, -1], [-1, -2, -3]], dtype=torch.float32)
y = m(x)
print(x)
print(y)
tensor([[-2., -3., -1.],
        [-1., -2., -3.]])
tensor([[0.2447, 0.0900, 0.6652],
        [0.6652, 0.2447, 0.0900]])

基于以上两个insight,作者就设计直接把概率放到判别器里面。训练的过程实际上和GAN是一样的,只不过不再是把特征传入判别器里面,而是把最终输出的概率传到判别器里面。

3.为了进一步增强适应的模型,我们构建了一个多级对抗网络,以有效地在不同的特征水平上进行输出空间领域适应。

2.简介

语义分割的目的是给图像中的每个像素分配一个语义标签&#x

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值