【Image Matting】Semantic Human Matting
[MM 18] Semantic Human Matting
- Paper : https://arxiv.org/pdf/1809.01354.pdf
摘要
- 首次实现无需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. 自然场景效果
注意手指头的分割只有本文的效果更好
【Image Matting】Semantic Human Matting相关推荐
- 【SHM】Semantic Human Matting抠图算法调试
前言: 2018年阿里的论文<Semantatic Human Matting>给出了抠图领域的一个新方法,可惜阿里并没有公布源码,而牛人在Github上对这个论文进行了复现,我也是依赖G ...
- 【Image Matting】 Deep Image Matting
[CVPR 2017]Deep Image Matting Paper: https://arxiv.org/abs/1703.03872 摘要 需要输入原图和Trimap. 使用Two Stage的 ...
- 【论文阅读】 AdaptivePose: Human Parts as Adaptive Points
DOI:https://doi.org/10.1609/aaai.v36i3.20185 AAAI 2022 Published:2022-06-28 Others阅读/整理:翻译1. ...
- 【学习笔记】Integral Human Pose Regression
[学习资料]一文总结Integral Pose Regression方法的方方面面 - 知乎(总结的很到位,一定要去看) 1.两种基本方法的对比 1.解码方式 softmax和argmax的区别: 由 ...
- 论文阅读:Semantic Human Matting
论文地址:https://arxiv.org/pdf/1809.01354.pdf 内容简介 这个网络是用来做人像抠图的(Matting),只能抠人不能抠别的 制作了一个很大的高质量人像抠图数据集(5 ...
- 【IJCV2020】【语义编辑】Semantic Hierarchy Emerges in Deep Generative Representations for Scene Synthesis
注:拉到最后有视频版~ 论文地址:https://genforce.github.io/higan 这次给大家分享一篇做场景编辑的文章,作者是周博磊老师组的杨策元,中的是 IJCV2020 我会从这五 ...
- 【论文笔记】3D Human Pose Estimation with Spatial and Temporal Transformers
论文链接:https://arxiv.org/pdf/2103.10455.pdf github地址:https://github.com/zczcwh/PoseFormer 1. 方法归类 3d h ...
- 【CVPR 2019】Semantic Image Synthesis with Spatially-Adaptive Normalization(SPADE)
文章目录 Introduction 3. Semantic Image Synthesis Spatially-adaptive denormalization. conclusion # 空间自适应 ...
- 基于阿里Semantatic Human Matting算法,实现精细化人物抠图
人像抠图 基于深度学习技术研发的人像抠图技术.可识别视频图像中的人像区域,包括头部.半身.全身位置,抠出人像部分后,配以不同背景图片.效果,实现娱乐化需求,支持用户玩转更多个性化操作,常用于直播.视频 ...
最新文章
- Linux --Solr 安装/配置
- 数字化转型的路上,手握一张地图,但路还得自己走
- 《大数据原理:复杂信息的准备、共享和分析》一一2.5 在标识符中嵌入信息:不推荐...
- 计算机网络在我国的发展,04. 当前现状ISP典型架构 计算机网络在我国的发展
- TabActivity,LocalActivityManager,TabHost,TabWidget深度分析(一)
- 软件界面是怎么做出来的_可可英语这个软件怎么样?了解的人出来说说真实情况...
- 精益标准工时软件VIOOVI:没有标准工时,别谈精益改善!
- HTTP长连接与短链接以及推送技术原理
- sob攻略超详细攻略_超详细西安旅游攻略
- 金仓数据库KingbaseES高可用最佳应用实践(Clusterware)
- 智能手表,能否成为苹果的二次革命?
- Java EE(进阶版)
- Powershell 免杀过 defender 火绒,附自动化工具
- Topcoder SRM 700 1000pts:AnyNumber(DP)
- 「新拟物化」过时了!此刻你最应该拥抱的是「玻璃拟物化」
- 三国时期曹魏五大名将-五子良将
- 就地初始化与列表初始化
- 微信开发详解scope---snsapi_base和snaspi_userinfo 区别
- idea2019导入maven项目中的某些问题
- CAN,RS485终端接120R电阻作用
热门文章
- 电脑自动修复失败之后
- 电脑服务器出现内存错误的信息,内存异常会出现什么问题
- iphone 密码输入错误_如何使用iPhone在Apple TV上输入密码
- CANoe-如何基于DoIP协议在诊断控制台诊断通信
- argparse 用法
- js根据日期判断周几
- python批量替换数值_通过python批量修改mxd的数据源
- 一种简单可行的abtest流量切换实现方案
- 视频剪辑培训班要学多久 视频剪辑的培训班有用吗
- 计算机毕业设计springboot基于SpringBoot框架的民俗文化交流与交易平台的设计与实现4557w源码+系统+程序+lw文档+部署