【Image Matting】Semantic Human Matting

[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的区别:

  1. 输入是6通道而不是4通道
  2. 加上BN
  3. 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=γapag1+(1γ)cpcg1
另一部分是语义分割的分类损失,总的损失函数为:
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. 自然场景效果

在这里插入图片描述
注意手指头的分割只有本文的效果更好

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值