🏆本篇论文提出了Coocurrent Feature Model,该模型可以利用整体场景中共现特征,辅助预测目标特征。该模型在Pascal Context 达到
54.0%
mIOU,在Pascal VOC 2012和ADE20K分别达到87.2%
以及44.89%
mIOU。
会议/期刊:CVPR2019
论文题目:《Co-occurrent Features in Semantic Segmentation》
论文链接:Co-Occurrent Features in Semantic Segmentation (thecvf.com)
解决的问题
共现特征
作者发现图像中存在🚀共现特征(即输入图像中与目标特征共同出现的特征)。比如在城市景观图像中,很难分辨的出海洋、湖泊、江河,但是当有帆船在图片上的时候,出现海洋的可能性很大。
同时,这种共现特征不仅出现在2个不同物体间,也出现在同一物体不同部位。比如要识别出长条椅和扶手椅,如果出现了扶手这个特征,那么答案是扶手椅的可能性更大,如下图:
现有的问题
先前的FCN距离较窄,而最近提出的ASPP或者是DASPP结构,只适用于距离较近的共现特征,不具有空间不变性
思路和主要过程
特征共现
作者把特征共现看作是一个概率问题。作者一开始使用了softmax去计算概率
p
(
x
c
∣
x
t
)
=
e
s
(
x
c
,
x
t
)
∑
i
=
1
N
e
s
(
x
i
,
x
t
)
\mathbf{{\Huge } {\color{Purple} p\left(x_{c} \mid x_{t}\right)=\frac{e^{s\left(x_{c}, x_{t}\right)}}{\sum_{i=1}^{N} e^{s\left(x_{i}, x_{t}\right)}}{\large {\color{Orange} } } } }
p(xc∣xt)=∑i=1Nes(xi,xt)es(xc,xt)
经过CNN处理后的特征图X={
x
1
,
x
2
,
.
.
.
,
x
N
x_1,x_2,...,x_N
x1,x2,...,xN};
s ( x c , x t ) s(x_c,x_t) s(xc,xt) 表示目标特征 x t x_t xt和共现特征 x c x_c xc的相似性; p ( x c ∣ x t ) p(x_c|x_t) p(xc∣xt)表示二者出现的概率
但作者发现,在室内场景中椅子与人共同出现,但在室外场景中却期待车辆和建筑物。简单的softmax不能考虑复杂的先验环境
所以,需要在softmax的基础上,加上图像所处的环境信息,作者在此提出了一个🔥混合softmax(Mos)
p
(
x
c
∣
x
t
)
=
∑
k
=
1
K
π
k
e
s
k
(
x
c
,
x
t
)
∑
i
=
1
N
e
s
k
(
x
i
,
x
t
)
,
{\color{Purple} p\left(x_{c} \mid x_{t}\right)=\sum_{k=1}^{K} \pi^{k} \frac{e^{s^{k}\left(x_{c}, x_{t}\right)}}{\sum_{i=1}^{N} e^{s^{k}\left(x_{i}, x_{t}\right)}},{\color{Red} \mathbf{} } }
p(xc∣xt)=k=1∑Kπk∑i=1Nesk(xi,xt)esk(xc,xt),
下面进行一个简单的推导:
s k ( x c , x t ) s^k(x_c,x_t) sk(xc,xt)表示在k这个环境的先验条件下,目标特征和共现特征的相似度。
π
k
\pi^{k}
πk表示网络经过训练,可以判定图片所处的环境是k环境的概率。
w
k
w_k
wk是语义信息,
v
x
v_x
vx是学习到的一个矢量。
π
k
=
exp
(
w
k
⊤
v
x
‾
)
∑
k
′
=
1
K
exp
(
w
k
′
⊤
v
x
‾
)
{ {\color{Blue} \pi^{k}=\frac{\exp \left(w_{k}^{\top} \overline{v_{x}}\right)}{\sum_{k^{\prime}=1}^{K} \exp \left(w_{k^{\prime}}^{\top} \overline{v_{x}}\right)}{\color{Green} \mathbf{} } } {\color{Brown} } }
πk=∑k′=1Kexp(wk′⊤vx)exp(wk⊤vx)
Mos允许不同语义环境下的共现特征可以有不同的先验条件。简而言之,就是考虑了一层环境因素
ACF模块
作者利用这个共现特征,设计了共现特征模块(ACF)。
z
t
=
∑
c
=
1
N
p
(
x
c
∣
x
t
)
⋅
ψ
c
{\large {\color{Red} { z_{t}=\sum_{c=1}^{N} p\left(x_{c} \mid x_{t}\right) \cdot \psi_{c}} \mathbf{} } }
zt=c=1∑Np(xc∣xt)⋅ψc
其中,
p
(
x
c
∣
x
t
)
p(x_c|x_t)
p(xc∣xt)是出现共现特征则判定为目标特征的概率,
ψ
c
\psi_{c}
ψc是图片上的第c个特征
从 1 − N 1-N 1−N将所有特征的概率都累加起来,最后得到 z t z_t zt, z t z_t zt越大,则出现目标特征的概率越大
CFNet
作者设计了一个CFNet网络,如下图所示
其中,有几个小trick:
-
为了减少计算量,作者在Input Features这部分把 H ∗ W ∗ C H*W*C H∗W∗C的图像拉伸到了 ( H ∗ W ) ∗ C (H*W)*C (H∗W)∗C的二维矩阵
-
最上面的Pool是为了获取全局特征而下面的两条支路是为了获取共现特征
实验结果
提出的CFNet(ResNet101)网络在 Pascal Context上实现了当时(2019年)最先进的结果54.0%
mIoU,在Pascal VOC 2012上实现了87.2%
mIoU,在ADE20K上实现了44.89%
mIoU