[MM 18] Semantic Human Matting
摘要
- 首次实现无需Trimap方式生成alpha图
- 提出了新的fusion的策略,用概率估计alpha matte
- 构造了新的数据集
Human Matting数据集
文章使用了两个数据集。
- Fashion Model dataset: 淘宝自己的电商人像数据集,数据量巨大,不仅包含人像,可以包含人的身体的部位和不同的姿势。
- DIM dataset: 前面一文的数据集。
方法
SHM为了捕获粗糙的语义分割的分类信息,和细粒度的matting信息,将网络分成两个部分。
- TNet: 对前景、背景、未知区域做像素级别的分类。
- MNet: 将TNet的输出当做输入,生成更加精细的alpha matte。
- 两个网络的输出经过Fusion Module生成最终的结果
1. Trimap generation: T-Net
T-Net作用是进行语义分割,大致的估计出前景区域:生成3个通道的特征图,代表前景、背景和未知区域(PSPNet-50)
2. Matting network: M-Net
类似DIM的Encoder-Decoder的结构。
将RGB的输入图和3通道的T-Net的输出构成一个6通道的输入。
Encoder有13个卷积层和4个Max-pooling层
Decoder有6个卷积层和4个Unpooling层
跟DIM的区别:
- 输入是6通道而不是4通道
- 加上BN
- conv6和deconv6被移除,防止过拟合
3. Fusion Module
用F,B,U代表前景、背景、未知区域。
T-Net的输出经过softmax.因此属于前景的概率可以写为:
F
s
=
e
x
p
(
F
)
e
x
p
(
F
)
+
e
x
p
(
B
)
+
e
x
p
(
U
)
F_s = \frac{exp(F)}{exp(F) + exp(B) + exp(U)}
Fs=exp(F)+exp(B)+exp(U)exp(F)
其中
a
r
a_r
ar表示M-Net的输出。
当T-Net的输出的Trimap代表输入3个区域中的概率值的时候,当处于未知区域的时候,一般是接近轮廓的时候,这时候结构和纹理比较复杂,这时候更偏向使用
a
r
a_r
ar的结果。得到如下公式:
a
p
=
F
s
+
U
s
a
r
a_p = F_s + U_s a_r
ap=Fs+Usar
直观上理解:粗糙的语义分割的结果,通过refine后得到更细节的部分,需要refine的部分主要在未知的区域进行。
Loss
Loss有两部分组成,一部分是DIM中的alpha prediction loss 和 compositional loss
L
p
=
γ
∣
∣
a
p
−
a
g
∣
∣
1
+
(
1
−
γ
)
∣
∣
c
p
−
c
g
∣
∣
1
\mathcal L_{p} = \gamma || a_p - a_g||_1 + (1- \gamma)||c_p-c_g||_1
Lp=γ∣∣ap−ag∣∣1+(1−γ)∣∣cp−cg∣∣1
另一部分是语义分割的分类损失,总的损失函数为:
L
=
L
p
+
γ
L
t
\mathcal L = \mathcal L_{p} + \gamma \mathcal L_{t}
L=Lp+γLt
训练方式
1. T-Net pre-train
- Trimap GT:在alpha mattes上做膨胀得到(用于分类Loss)。
- 随机裁剪resize到400*400
- 数据增强:随机旋转、水平反转
- PSPNet50在ImageNet上预训练
- 使用交叉熵损失。
2. M-Net pre-train
- 3-channel的trimap生成通过alpha mattes上做膨胀得到
- 数据增强
- 只使用DIM中的两项损失 L p \mathcal L_p Lp。
3. End-to-End traning
- 数据增强
- 联合训练
实验结果
1. 量化指标和视觉效果对比
使用T-Net生成的Tripmap的性能优于PSP50+DIM,说明了Fusion Module的有效性
从视觉效果上看,边缘更加锐化,语义的错误也减少了
2. 自动抠图和交互式的对比
使用GT的trimap作为输入时,结果比DIM的效果略低,但是毕竟是全自动的抠图,只使用RGB作为输入,可视化效果上跟其相当。
3. 消融实验
- no end-to-end:只使用预训练的参数
- no Fusion:直接用M-Net的输出当做最后的alpha matte,可以看出对Connectivity的影响比较大,只使用M-Net的输出会模糊结构的细节。
- no
L
p
\mathcal L_p
Lp : 去掉分类的损失函数。分类的损失函数保证Trimap的生成更加的稳定和有意义。
可视化各个网络的中间输出。 - T-Net可以分类出人体的边缘和结构信息。
- M-Net可以在未知区域融合前景和背景的信息和alpha的结构信息
- 最终通过Fushion Module获得更精确的alpha信息
4. 自然场景效果
注意手指头的分割只有本文的效果更好