图像语义分割(2)-DeepLabV1: 使用深度卷积网络和全连接条件随机场进行图像语义分割

论文地址:SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS
论文代码:
工程链接1
工程链接2

1. 提出问题

  首先明确一个概念-high level task,是指那些抽象度高且对细节不敏感的任务,low则恰好相反。
  文章指出使用卷积神经网络进行图像语义分割的时候会面临两个问题:

  • (1) 下采样导致细节信息的丢失
  • (2) CNN的空间不变性。即对于分类任务来说,同一张图片进行空间变化(平移等)不影响最后结果,但对于分割任务来说完全不同。

2. 针对性方案

2.1 空洞卷积解决下采样问题

  普通下采样减小了图像的尺寸使得单个像素对应了更大的感受野,但是同时也使得分辨率下降,丢失了部分局部信息。此时自然想到需要一个不采用max pooling且仍能对应大感受野的采样方法,引入空洞卷积来解决下采样问题。

2.2 Dense/FullyConnected CRF解决空间不变性问题

   传统的图像分析中,CRF主要用来做平滑处理,又因为short-range CRFs 可能会对我们恢复局部信息的目标起到反作用,所以使用全连接CRF,考虑全局信息。
  全连接条件随机场的能量函数如下:
E ( x ) = ∑ i θ i ( x i ) + ∑ i j θ i j ( x i , y j ) E(x)=\sum_i \theta_i(x_i)+\sum_{ij} \theta_{ij}(x_i,y_j) E(x)=iθi(xi)+ijθij(xi,yj)

  这个能量函数计算的是所有像素点的量和能量,其中后半部分pairwise部分显示,特征数量是n(n-1)[n指像素个数],所以全连接条件随机场也被称为Dense CRF。
  能量函数的前半部分是一个一元函数:
θ i ( x i ) = − l o g P ( x i ) \theta_i(x_i)=-logP(x_i) θi(xi)=logP(xi)

  我们重点关注pairwise部分:
θ i j ( x i , y j ) = μ ( x i , y j ) ∑ m = 1 K ω m ⋅ k m ( f i , f j ) \theta_{ij}(x_i,y_j)=\mu(x_i,y_j)\sum _{m=1}^K \omega_m \cdot k^m(f_i,f_j) θij(xi,yj)=μ(xi,yj)m=1Kωmkm(fi,fj)

  其中:

  • μ ( x i , y j ) \mu(x_i,y_j) μ(xi,yj),label compatibility:指约束力的传导方向,只有相同的label能量才可以互相传导,例如"像素a可能是飞机"、“像素b可能是飞机”、“像素c可能是人”,1和2才可能相互作用[增强或减弱],二者和3并不能互相影响
  • 加和项是典型的 权重 X 特征,代表了不同像素之间的亲密度:
    k m ( f i , f j ) = ω 1 e x p ( − ∣ ∣ p i − p j ∣ ∣ 2 2 σ α 2 − ∣ ∣ I i − I j ∣ ∣ 2 2 σ β 2 ) + ω 2 e x p ( − ∣ ∣ p i − p j ∣ ∣ 2 2 σ γ 2 ) k^m(f_i,f_j)=\omega_1 exp(-\frac{{||p_i-p_j||^2}}{2 \sigma _\alpha ^2}-\frac{{||I_i-I_j||^2}}{2 \sigma _\beta ^2})+\omega_2 exp(-\frac{{||p_i-p_j||^2}}{2 \sigma _\gamma^2}) km(fi,fj)=ω1exp(2σα2pipj22σβ2IiIj2)+ω2exp(2σγ2pipj2)

    这其中:
          a. 前半部分称为appearance kernel,其中, p p p表示像素的位置-position[2维]; I I I是图像像素值[彩色,对应3维]; 2 σ α 2 2 \sigma _\alpha^2 2σα2, 2 σ σ 2 2 \sigma _\sigma^2 2σσ2, 2 σ γ 2 2 \sigma _\gamma^2 2σγ2表示了高斯分布的scale[方差]。从中我们可以看出:-像素距离越近,颜色越接近,feature越强,反之则减弱;-分母越大,feature就越难强起来 ⟹ \Longrightarrow 在5维空间寻找想进像素并进行特征加强
          b. 后半部分就是一个平滑处理。

2.3 other-多尺度预测

  multi-scale prediction将前四个max pooling后分别添加MLP(3x3x128和1x1x128)得到预测结果,将这四个预测结果与模型输出进行拼接(concentrate),多了128x5个channels。
  但是多尺度预测的结果不如Dense CRF,模型最后结合二者来进行预测。

3. 模型架构

3.1 对原有VGG-16的调整

  • 将全连接层替换为卷积层
  • VGG网络中的后两个max pooling去掉(VGG有5个max pooling),也可以将后两个池化层的步长从2变为1,并加padding=1,只进行8x下采样
  • 后两个max pooling后的普通卷积层替换为空洞卷积
  • 对VGG中的第一个全连接卷积层(核尺寸7*7)使用3x3或者4x4的卷积层来进行替代,这样能够控制感受野,减少计算量(计算时间减少2-3倍)

3.2 其他

  • 损失函数使用交叉熵
  • 训练数据label:原始Ground Truth进行8x下采样
  • 测试数据label:预测结果 双线性插值8x上采样

欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]*
在这里插入图片描述

你可能感兴趣的:(深度学习,语义分割,计算机视觉)