《Fully Convolutional Adaptation Networks for Semantic Segmentation》笔记

《Fully Convolutional Adaptation Networks for Semantic Segmentation》笔记

  • 学习笔记,如有谬误,还请不吝赐教!
    • 解决的问题
    • 两步走之一:transfer learning
    • 两步走之二:一致特征学习

学习笔记,如有谬误,还请不吝赐教!

解决的问题

本文针对的是深度学习的图像分割算法需要像素级标记的问题(不好标记)。

解决思路是通过游戏获得大量的带有标签的训练数据,对原有图像进行图像分割的训练。直接使用这样的训练集效果自然不好。文中提到效果不好的原因主要是因为“domain shift”,就叫域偏移吧… 就是说训练集和检测集的分布不一样,直观上讲就是训练的图片显然和应用的图片不一样。

那怎么办呢?

两步走之一:transfer learning

文章先提到的就是把游戏图像通过迁移学习转成真实场景中的图像。能这样做的前提是游戏(GTA5)场景和真实场景的语义信息基本相同,都是街景的信息。只不过游戏图像的“风格”和现实图像不一样。因此转换的方法就是保留游戏图像的内容,换成真实场景的风格。方法和《 Image style transfer using convolutional neural networks》差不多。《Fully Convolutional Adaptation Networks for Semantic Segmentation》笔记_第1张图片
就是神经网络的后几层提取的是高级的语义信息,所以为了保持语义信息和游戏一致,就让后几层的特征图和游戏图像的特征图接近;同理,前几层提取的是细节信息,就让前几层的gram矩阵和真实图像的gram矩阵的平均接近。(这里的网络是训练好的网络,训练的是输入的噪声)。

不过呢… 这个方法并没有很好地提升最终的效果。提升最大的是第二个设计。

两步走之二:一致特征学习

虽然训练集和测试集的图像有所不同,但神经网络做预测利用的是学习到的特征。那么就让网络学习两者的都有的特征,用这样的特征来做预测不就可以了。
《Fully Convolutional Adaptation Networks for Semantic Segmentation》笔记_第2张图片

看右半部分,怎么学习一致的特征呢,就是加一个判别器,让判别器来判断经过CNN得到的特征图判别器能不能分辨出是游戏画面还是真实画面(就是GAN的思想)。通过这个判别器来强制前面的CNN学习一致特征。

不过不太明白的是:

  1. 为啥非要一个ASPP结构?
  2. 为啥要做像素级的辨别?像GAN一样做一个整体的判别不可以么?

以上。

你可能感兴趣的:(学习笔记)