文章目录
前言
本文为8月25日计算机视觉理论学习笔记,分为五个章节:
- 语义分割(Semantic Segementation);
- FCN(Fully Convolutional Networks) 全卷积网络;
- DeepLab v1;
- DeepLab v2;
- DeepLab v3。
一、语义分割(Semantic Segementation)
目标:
- 从像素水平(pixel-level)上理解、识别图片内容;
- 根据语义信息分割。
输入:
- 图片;
输出:
- 同尺寸的分割标记;
- 每个像素会被识别为一个类别(category)。
二、FCN(Fully Convolutional Networks) 全卷积网络
1、全卷积化(Convolutionalization)
- 将所有全连接层转换成卷积层;
- 适应任意尺寸输入,输出低分辨率分割图片;
- 卷积化后的核尺寸:
- FC6:1×1,4096;
- FC7:1×1,4096;
- FC8:1×1,类别 N。
2、反卷积(Deconvolution)
也叫转置卷积(Transposed convolution)。
(1)、外围全补零;
- 输入:2×2;
- 输出:4×4;
- 参数设置:
- 卷积核尺寸:3×3;
- 步长:1;
- Padding:2.
(2)、差零分数步长反卷积
- 输入:3×3;
- 输出:5×5;
- 参数设置:
- 卷积核尺寸:3×3;
- 步长:2;
- Padding:1.
(3)、上采样的三种实现
- 双线性插值:不需要进行学习,运行速度快,操作简单。
2. 反卷积;
3. 反池化:池化过程中,记录下池化后元素在对应 kernel 中的坐标,作为反池化的索引。
3、跳层结构(Skip-layer)
使用前2个卷积层的输出做融合。
三、DeepLab v1
基本结构: 优化后的 CNN + 传统的 CRF 图模型。
1、孔(Hole)算法
- 卷积核结构:
- 尺寸不变(3×3),元素间距变大(1 ⇒ 2);
- 步长不变(1).
2、条件随机场(CRF)
随机场可以看成是一组“对应同一个样本空间的”随机变量的集合。当给一个位置按照某种分布随机赋予一个值之后,其全体就叫做随机场。
P
(
Y
∣
X
)
=
1
Z
(
X
)
P
^
(
Y
,
X
)
P
^
(
Y
,
X
)
=
e
x
p
(
∑
i
w
i
∗
f
i
(
Y
,
X
)
)
Z
(
X
)
=
∑
Y
e
x
p
(
∑
i
w
i
∗
f
i
(
Y
,
X
)
)
P(Y|X) = \frac{1}{Z(X)} \hat{P}(Y, X)\\ \hat{P}(Y, X) = exp(\sum_{i} w_i * f_i(Y, X) ) \\ Z(X) = \sum_{Y} exp(\sum_{i} w_i * f_i(Y, X) )
P(Y∣X)=Z(X)1P^(Y,X)P^(Y,X)=exp(i∑wi∗fi(Y,X))Z(X)=Y∑exp(i∑wi∗fi(Y,X))
对于每个像素
i
i
i 具有类别标签
x
i
x_i
xi 及对应的观测值
y
i
y_i
yi。这样每个像素点作为节点,像素与像素间的关系作为边,即构成了一个条件随机场。如上图所示:
P
(
X
=
x
∣
I
)
=
1
Z
(
I
)
e
x
p
(
−
E
(
x
∣
I
)
)
.
P(X = x|I) = \frac{1}{Z(I)} exp(-E(x|I)).
P(X=x∣I)=Z(I)1exp(−E(x∣I)).
在 DeepLab 中,整个模型的能量函数:
E
(
x
)
=
∑
i
ψ
u
(
x
i
)
+
∑
i
<
j
ψ
p
(
x
i
,
x
j
)
.
E(x) = \sum_{i} \psi_u(x_i) + \sum_{i<j} \psi_p (x_i, x_j).
E(x)=i∑ψu(xi)+i<j∑ψp(xi,xj).
其中,
x
x
x 是对全局 pixels 的概率预测分布,
x
i
x_i
xi 是其中一个 pixels 的概率预测分布。
ψ
u
\psi_u
ψu 是一元势函数:
ψ
u
(
x
i
)
=
−
l
o
g
P
(
x
i
)
\psi_u(x_i) = -logP(x_i)
ψu(xi)=−logP(xi)。
二元势函数:
ψ
p
(
x
i
,
x
j
)
=
μ
(
x
i
,
x
j
)
∑
m
=
1
K
ω
(
m
)
k
(
m
)
(
f
i
,
f
j
)
.
\psi_p(x_i, x_j) = \mu (x_i, x_j) {\textstyle \sum_{m=1}^{K}} \omega^{(m)} k^{(m)} (\textbf{f}_i, \textbf{f}_j ).
ψp(xi,xj)=μ(xi,xj)∑m=1Kω(m)k(m)(fi,fj).
其中,
k
k
k 为 Kernel 数量,
ω
\omega
ω 为权重。
四、DeepLab v2
1、Atrous 空间金字塔化
- 不同感受野(rate)捕捉不同尺度上的特征;
- 在 Conv6 层引入4个并行空洞卷积。
五、DeepLab v3
- 提出了更通用的框架,适用于任何网络;
- 复制了 ResNet 最后的 block,并级联起来;
- 最后一个特征图采用全局平均化。