Deep Image Matting
论文地址:https://arxiv.org/abs/1703.03872
TF复现地址:https://github.com/Joker316701882/Deep-Image-Matting
领域
主题
主要思想
实践
数据集
49300张训练图像和1000张测试图像
当前基于抠图的数据集太小,alphamatting.com数据集只有27张训练图片和8张测试图片,训练出来的模型泛化能力较差。
针对该问题,作者将前景抠出来,并放入到不同的背景下,从而构建一个大规模抠图数据集。
模型
深度模型分为两个阶段。
Matting encoder-decoder stage
该神经网络将原图和对应的trimap作为输入,并预测图像的alpha matte。
网络:输入图像块和对应的trimap,输出是alpha预测。编码阶段是14个卷积层和5个池化层,得到低分辨率的特征图,解码阶段是6个卷积层的小网络,5次unpooling得到原图大小的alpha prediction.
Loss: 使用了两个loss,第一个是alpha-prediction loss,是预测的alpha values 和ground truth的alpha values的绝对差。第二个loss是compositional loss,预测的RGB颜色值和对应的ground truth绝对差。两个loss以0.5加权得到最终的loss。
实现:数据处理技巧有随机裁剪(320*320),不同尺度输入(resize到320*320),图片翻转等;编码加载VGG16模型的前面,译码阶段使用Xavier随机初始化。
Matting refinement stage
该网络对第一个网络预测的alpha matte进行精炼,从而拥有更准确的α值和锐化边缘。
网络:4个卷积层,输入是图像块和预测的alpha prediction。
实现:先训练编解码网络,待其收敛后用于更新refine网络,第二个网络只使用alpha-prediction loss。
理论
主要解决传统方法中只有low-level features和缺乏high-level context的问题。
一是当前方法将抠图方程设计为两个颜色的线性组合,即将抠图看做一个染色问题,这种方法将颜色看做是一个可区分的特征。但是当前景和背景的颜色空间分布重叠时,这种方法的效果就不是很好了。使用深度学习不首要依赖色彩信息,它会学习图像的自然结构,并将其反映到alpha matte。
二是
Deep Image Matting的更多相关文章
- Matting任务里的Gradient与Connectivity指标
Matting任务里的Gradient与Connectivity指标 主要背景 Matting任务就是把α(不透明度, 也就是像素属于前景的概率).F(前景色)和B(背景色)三个变量给解出来. C为图 ...
- Alpha matting算法发展
一.抠图算法简介 Alpha matting算法研究的是如何将一幅图像中的前景信息和背景信息分离的问题,即抠图.这类问题是数字图像处理与数字图像编辑领域中的一类经典问题,广泛应用于视频编缉与视频分割领 ...
- CVPR 2017 Paper list
CVPR2017 paper list Machine Learning 1 Spotlight 1-1A Exclusivity-Consistency Regularized Multi-View ...
- zz视频分割在移动端的算法进展综述
视频分割在移动端的算法进展综述 语义分割任务要求给图像上的每一个像素赋予一个带有语义的标签,视频语义分割任务是要求给视频中的每一帧图像上的每一个像素赋予一个带有语义的标签. 视频分割是一项广泛使用的技 ...
- Background removal with deep learning
[原文链接] Background removal with deep learning This post describes our work and research on the gree ...
- Deep Photo的TensorFlow版本
Prisma这个应用,你可能很熟悉.这是一个能将不同的绘画风格,迁移到照片中,形成不同艺术风格的图片. 2017年4月,美国康奈尔大学和Adobe的一个研究团队在arvix上通过论文“Deep Pho ...
- On-Demand Learning for Deep Image Restoration
摘要 论文来源:ICCV 2017 之前的缺点:目前的机器学习方法只专注于在特定困难程度的图像损坏(如一定程度的噪声或模糊)情况下进行良好的训练模型. 改进的方法:提出了一种基于深度卷积神经网络的按需 ...
- Deep learning:五十一(CNN的反向求导及练习)
前言: CNN作为DL中最成功的模型之一,有必要对其更进一步研究它.虽然在前面的博文Stacked CNN简单介绍中有大概介绍过CNN的使用,不过那是有个前提的:CNN中的参数必须已提前学习好.而本文 ...
- 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting
一.序言 陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的.除了利用和Photoshop中的魔棒一样的技术或者 ...
随机推荐
- Android 基础-1.0 按钮4种点击事件
第一种 测试使用 直接xml添加,平时在自己的测试demo中使用比较多. 1.直接在xml里给按钮添加点击事件 android:onClick="btn_click" 2.按住op ...
- asp.net中异步调用WebService(异步页)[转]
由于asp2.0提供了异步页的支持使异步调用WebService的性能有了真正的提升.使用异步页,首先要设置Async="true",异步页是在Prerender和Prerende ...
- PHP面试题,自己几斤几两,看看就知道了
0.简单做一下自我介绍,? 然后谈一下近三年来你的得意之作? 1.面试官看过你的简历,会问一些你做的项目的用户量.pv.吞吐量.相关难点和解决方法等 2.数据库设计经验,为什么进行分表? 分库? 一般 ...
- freeMarker(十六)——FAQ
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 1.JSP 和 FreeMarker ? 我们比较 FreeMarke ...
- 【LeetCode】010. Regular Expression Matching
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- oracle 12c 多租户 pdb 恢复(单个pdb数据文件、非系统pdb表空间、整个pdb数据库)
环境:数据库版本 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 实验准备:1.-- 数据库归 ...
- [转]SCSS 和 SASS 和 HAML 和CoffeeScript
Asset Pipeline 提供了内建直接使用 Sass 撰写 CSS 的功能. 你也许会生出这样的疑惑:什么是 Sass? Why should I care? Sass (Syntactical ...
- Python模块-logging模块(一)
logging模块用来写日志文件 有5个级别,debug(),info(),warning(),error()和critical(),级别最高的为critical() debug()为调试模式,inf ...
- [hdu4734]F(x)数位dp
题意:求0~f(b)中,有几个小于等于 f(a)的. 解题关键:数位dp #include<bits/stdc++.h> using namespace std; typedef long ...
- SpringBoot05 数据操作03 -> JPA查询方法的规则定义
请参见<springboot详解>springjpa部分知识 1 按照方法命名来进行查询 待更新... package cn.xiangxu.springboot.repository; ...