弱监督语义分割(weakly supervised semantic segmentation 下称W3S)
EM-Adapt
paper: Weakly-and semi-supervised learning of a DCNN for seman- tic image segmentation.
是ICCV15的文章,EM指Expectation-Maximization(期望最大化)。在更早期的工作中,W3S的解决思路是基于multi-instance learning(MIL),结合MCG等推荐算法给出候选区域在验证的思路,即propose-verify模式,RCNN系列也是类似的思路~。
文章将W3S理解为一个最大化数学期望的求解问题。输入图像
x
x
x,已知图像
x
x
x的类别标签
z
z
z,求解图像上每个像素
m
m
m的类别
y
m
y_m
ym,使得最终的联合分布:
P
(
x
,
y
,
z
)
=
P
(
x
)
∗
P
(
y
∣
x
)
∗
P
(
z
∣
x
)
P(x,y,z)=P(x)*P(y|x)*P(z|x)
P(x,y,z)=P(x)∗P(y∣x)∗P(z∣x)最大,其中
P
(
x
)
P(x)
P(x)为1不用关心,
P
(
y
∣
x
)
=
∏
m
=
0
M
P
(
y
m
∣
x
)
P(y|x)=\prod_{m=0}^MP(y_m|x)
P(y∣x)=∏m=0MP(ym∣x),可得:
arg max y P ( x , y , z ) = arg max y P ( x ) ∗ P ( y ∣ x ) ∗ P ( z ∣ x ) \arg \max_y P(x,y,z)=\arg \max_y P(x)*P(y|x)*P(z|x) argymaxP(x,y,z)=argymaxP(x)∗P(y∣x)∗P(z∣x)
= arg max y log P ( x , y , z ) =\arg \max_y \log P(x,y,z) =argymaxlogP(x,y,z)
= arg max y log P ( y ∣ x ) + log P ( z ∣ x ) =\arg \max_y \log P(y|x)+\log P(z|x) =argymaxlogP(y∣x)+logP(z∣x)
= arg max y ∑ m = 0 M log P ( y m ∣ x ) + log P ( z ∣ y ) =\arg \max_y \sum_{m=0}^M\log P(y_m|x)+\log P(z|y) =argymaxm=0∑MlogP(ym∣x)+logP(z∣y)
文章提出了两个版本的EM:EM-fixed和EM-adapt。两个算法在求解
P
(
y
m
∣
x
)
P(y_m|x)
P(ym∣x)部分相同,区别在于
P
(
z
∣
y
m
)
P(z|y_m)
P(z∣ym)的设计。
log
P
(
y
m
∣
x
)
\log P(y_m|x)
logP(ym∣x)也是就是DCNN的输出,输入图像
x
x
x,经过深度卷积输出
L
L
L张score maps,
L
L
L为前景类别数量。对于score maps上位置
m
m
m的
L
L
L维向量,记作
y
m
y_m
ym。
P ( z ∣ y ) P(z|y) P(z∣y) of EM-Fixed
定义
P
(
z
∣
y
)
=
∑
m
=
0
M
ϕ
(
y
m
,
z
)
P(z|y)=\sum_{m=0}^M \phi (y_m,z)
P(z∣y)=m=0∑Mϕ(ym,z)
其中
ϕ
(
y
m
=
l
,
z
)
{
b
l
i
f
z
l
=
1
0
i
f
z
l
=
0
\phi(y_m=l,z)\begin{cases}b_l & if z_l=1 \\ 0& if z_l=0\end{cases}
ϕ(ym=l,z){bl0ifzl=1ifzl=0
其实就是对应DCNN输出的score maps,对于
y
m
y_m
ym向量的第
l
l
l的值
y
m
[
l
]
y_m[l]
ym[l],如果图像
x
x
x中确实有
l
l
l类别,则在其值上加上偏置
b
l
b_l
bl,这一操作使得score maps上对应
z
z
z中存在的类别的map,值进行了增加,至此,我们就完成了
log
P
(
y
m
∣
x
)
+
log
P
(
z
∣
y
)
\log P(y_m|x)+\log P(z|y)
logP(ym∣x)+logP(z∣y)。
PS:fixed在此处指的就是固定
b
l
b_l
bl的大小,对于背景
b
0
=
5
b_0=5
b0=5,对于前景
b
l
=
3
(
l
>
0
)
b_l=3(l>0)
bl=3(l>0)。
P ( z ∣ y ) P(z|y) P(z∣y) of EM-Adapt
考虑fixed版本,固定
b
l
b_l
bl的大小值得商榷,因为对于不同的图像,我们应该制定不同的偏置
b
l
b_l
bl。这也是adapt的出发点。
考虑对于输入图像
x
x
x,类别标签集合
z
z
z,按照上文中的方法,将
x
x
x输入到DCNN中得到了
L
L
L张score maps,加上可变的偏置
b
l
b_l
bl,使得将
L
L
L张score maps经过
arg
max
\arg \max
argmax后融合得到的一张score map中,背景区域至少占到40%,每个类别区域至少占到20%。同时,直接禁止输出不存在
z
z
z中的类别。
performance
VOC12 val(IOU) | VOC 12 test(IOU) |
---|---|
33.8 | 39.6 |
summary
所以本文的思路概括起来就是,原始图像经过DCNN得到score map,对于存在的类别,在其对应的map上增加偏置以鼓励DCNN预测出该类,而对于不存在的类别,不增加偏置以鼓励DCNN不识别出这些类别。
本文与之前常规的MIL的做法相比优点在于不会聚焦于most distinguish的区域(CAM也有这个问题),而是会兼顾物体的所有部位。