ICCV 2019 | 旷视研究院提出新型抠图方法AdaMatting,实现当前最佳

本文主要是介绍ICCV 2019 | 旷视研究院提出新型抠图方法AdaMatting,实现当前最佳,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


两年一度的国际计算机视觉大会 ICCV 2019 ( IEEE International Conference on Computer Vision) 将于当地时间 10 月 27 至 11 月 2 日在韩国首尔举办。旷视研究院共有 11 篇接收论文,涵盖通用物体检测及数据集、文字检测与识别、半监督学习、分割算法、视频分析、影像处理、行人/车辆再识别、AutoML、度量学习、强化学习、元学习等众多领域。在此之前,旷视研究院将每周介绍一篇 ICCV 2019 接收论文,助力计算机视觉技术的交流与落地。

本文是第 6 篇,由于发现了抠图可分为 trimap adaptation 和 alpha estimation 两个任务,并受此启发,旷视研究院提出了一个简单但强大的抠图框架,称之为 AdaMatting (Adaptation and Matting) ,同时克服了诸多局限性。该方法在最为通用的数据集 Adobe Composition-1k 上刷新了当前最优成绩,并在 alphamatting.com 上取得第一。

论文名称:Disentangled Image Matting

论文地址:https://arxiv.org/abs/1909.04686

目录

  • 导语

  • 简介

  • 方法

    • Trimap Adaptation

    • Network Overview

    • Multi-task Loss

  • 实验

    • Results on alphamatting.com

    • Results on Composition-1k

  • 讨论

    • Accuracy of Trimap Adaptation

    • Real World Image Matting

  • 结论

  • 附录

    • More Qualitative Results

  • 参考文献

  • 往期解读

导语

抠图旨在精确地评估图像和视频中前景物体的不透明度。它是一系列应用的预处理,比如电影制片和数字图像编辑。

一般来讲,输入图像 I 被建模为前景和背景色彩的线性结合,如下所示:

其中,F_i、B_i、α_i 分别是指像素 i 前景色彩和背景色彩以及前景蒙版(alpha matte)估值。给定一张图像 I,抠图旨在同时解决 F、B、α。

由等式 1 可知,这一问题是高度不适定的(highly ill-posed)。对于一张 RGB 图像,每个像素需要 7 个变量来共同界定,却只有 3 个已知变量。

对于大多数现有的抠图算法,约束解空间的基本输入是三元图(trimap),一个指示不透明度和未知区域的粗糙的分割图。

三元图由使用者涂鸦交互生成,或者由二值图像分割结果自动生成。无论何种方式,输入的三元图通常是粗糙的,即未知区域(图 1b 中的灰色区域)包含真实的半透明像素以及大量的不透明像素。这是因为通过人工标注来提供精确的三元图极其繁琐,并且难以使用运行在低分辨率图像的图像分割方法来实现。

图 1:(a) 输入图像, (b) 输入三元图,(c) 本文抠图结果, (d) trimap adaptation 相应结果

不幸的是,先前的抠图方法经常忽视输入三元图的不精确性,并尝试直接估值一个好的前景蒙版。

旷视研究院认为,在这一过程中,一个分类问题没有得到充分解决。如果仔细观看三元图,未知区域的像素将会分入三个集合:不透明前景,不透明背景以及半透明区域。前两类称之为不透明像素,后一类称之为混合像素。

抠图方法的期望行为是为不透明像素生产精确的 0 和 1,同时精确评估混合像素的微小不透明度(介于 0 和 1 之间)。

由此可见,抠图这一任务包含两个相关但又不同的任务。第一个是分类未知区域中的像素以确认混合像素,本文称之为 trimap adaptation,第二个是精确计算混合像素的不透明值,本文称之为 alpha estimation。

研究员观察到,这两项任务需要相当不同的算法能力。第一种更多地依赖对物体形状和结构的很好的语义理解,从而可基于图像特征有效识别未知区域的前景和背景区域。

对于第二种任务,合理的利用低语义的图像线索更为关键。其中 trimap adaptation 可被建模为一个分类任务,而 alpha estimation 可被看作一个典型的回归任务。

大多数现有抠图方法把抠图当作单一的回归任务,它们忽略了抠图中的分类属性。这一观察带来的问题是,如何在一个解决方案中协调抠图问题的两个不同方面。

现有抠图方法,尤其是基于优化的方法,太过依赖于低阶的特征,比如色彩分布和局部纹理,并且缺乏整合高阶特征的能力。

正如最近一些工作所示,更好地理解物体的结构和形状有利于图像抠图。尽管宣称使用高阶特征,这些方法通常只利用预训练特征,并且不使用显式的语义目标作指导。

简介

正是由于发现抠图可分为 trimap adaptation 和 alpha estimation 两个任务,并受此启发,旷视研究院提出了一个简单但强大的抠图框架,称之为 AdaMatting (Adaptation and Matting) ,同时克服了上述的局限性。

AdaMatting 借助多任务的方式在两个不同的解码器分支内执行这两个任务。通过显式监督模型以区分混合像素和不透明像素,接着使用优化的三元图约束 alpha estimation 的输出,这个两个分支分别处理这一任务的不同方面。

此外,通过共享两个任务的特征,大大提升了对模型的物体形状和结构信息的理解,如图 2 所示。

图 2:AdaMatting pipeline

本文主要贡献如下:

  • 提出一种新观点,即抠图应区分为 trimap adaptation 和 alpha estimation 两个任务,并证明这一区分对于提升基于 CNN 的抠图方法至关重要。

  • 提出一个全新的框架,其中这两种任务可以多任务的方式进行联合优化。大量实验表明,这一方法可以更好地利用语义信息为已训练的 CNN 模型提供额外的结构感知力和三元图容错能力。

  • 该方法在最为通用的数据集 Adobe Composition-1k 上刷新了当前最优成绩,并在 alphamat-ting.com 上取得第一。

方法

本节首先准确界定 trimap adaptation 这一任务,接着描述 AdaMatting 的 pipeline 和训练方案。

Trimap Adaptation

令 α_gt 作为前景蒙版 ground truth ,那么,一张图像相应的最优三元图 T_opt 可写为:

给定一张已做三元图处理的输入图像, trimap adaptation 的目的是预测最优的三元图 T_opt,直观来讲, 即是把半透明的区域与不透明的前景和背景分开。

根据 T_opt 的定义,抠图自然地分为两步:1)确定 α 是否正好为 0、1 或者两者都不是;2)如果区域是半透明的,精确计算 α。

注意,本文不需要预测标签与输入三元图良好兼容:如果用户输入存在镜像错误,研究员希望模型可以修正它。

图 1d 给出了由本文模型给出的 trimap adaptation 实例。由图可知,第一个输入三元图中的未知区域宽泛且有错误,由于低质量标注而没有覆盖所有的头发。

执行 trimap adaptation 之后,输出三元图不仅缩小而且被纠正,从而产生了更可靠的前景蒙版。

对于第二张输入图像,自动化三元图生产算法没能给出一个有意义的三元图。但是,在这种极端情况下,AdaMatting 令人吃惊地改写了一个相对精确的三元图,并且完美解决了抠图的这一困难问题。

Network Overview

本文设计了一个完全端到端的 CNN 模型,称之为 AdaMatting,图 2 给出了其 pipeline。它包含一个产生共享表征的编码器,以及两个相互独立的解码器,以分别处理 trimap adaptation 和 alpha estimation 两个任务。trimap adaptation 和中间前景蒙版的结果接着输入到 propagation unit,形成最终的前景蒙版。

AdaMatting 把与相应三元图相连的图像作为输入。首先,一个前端全卷积编码器产生深度特征以作为共享的特征。接着,两个独立的解码器用于每个任务,旨在学习从共表征到期望输出的映射。

每个解码器包含若干个 3x3 卷积层以及上采样模块。三元图解码器输出 3 个通道的分类 logits,由交叉熵损失来引导;α 解码器输出 1 个通道的中间值 α 估计,进入 propagation unit 以做进一步优化。

Multi-task Loss

如上所述,在 AdaMatting 中,trimap adaptation 可被建模为一个分割任务,把输入图像分为前景、背景和半透明区域。解决这类分割问题的过程可带来丰富的语义特征,反过来这有助于解决前景蒙版回归的问题。

本文采用了不确定性损失,而不是线性结合的损失函数。这一损失可写为:

实验

本文开展了大量实验,证明  AdaMatting 在两个公开数据集上的有效性:1) al-phamatting.com,2) Adobe Composition-1k test set,且后者的物体种类更多,背景区域更为复杂。本节将会把 AdaMatting 与当前最优方法从定量和定性两个方面做对比。

Results on alphamatting.com

本文把结果提交至 alphamatting.com,取得了当前最佳的表现,在所有三项指标的平均性能上位列第一。梯度误差和 MSE 结果如表 1 所示。

表 1:alphamatting.com 数据集上本文方法与其他 5 个当前最优方法的平均排名结果

视觉对比效果如图 4 所示。

图 4:alphamatting.com test set 两张图像的定性对比结果

Results on Composition-1k

在 Composition-1k test set 上,本文对 6 个最新的抠图方法做了评估,它们是 Closed Form、KNN、DCNN、Information Flow、AlphaGAN 和 Deep Image Matting。Grad、SAD 和 MSE 下的量化结果如表 2 所示。很明显,AdaMatting 在所有指标上大幅超越其他所有方法。

表 2:Composition-1k test set 上的定量对比结果

另外,数据集中给出了一些非常困难的图像,其中前景颜色和背景很难区分。两个实例如图 5 所示。

图 5:Adobe Composition-1k test set 上的定性对比结果

很明显可以看到,相较于所有其他方法,本文结果包含更为生动的细节,伪影也大幅减少。

讨论

Accuracy of Trimap Adapatation

本文还对 trimap adaptation 任务对抠图任务的影响进行了鲁棒性分析。

表 3:在Adobe 测试集上三元图自适应的准确率(Acc,IOU)以及Gradient Error

Real World Image Matting

图 6:真实世界里图像的抠图结果。输入的三元图由对人像二元分割掩码进行膨胀后得到

结论

本文从一种解构的视角来分析抠图方法,即该任务可被分为两个子任务:trimap adaptation 和 alpha estimation。

从这一视角出发,本文提出一种新型抠图方法,称之为 AdaMatting,以借助多任务损失联合解决这两项子任务。

通过现实分离两个子任务,并根据不同目标优化它们,模型可从包含丰富语义和音素信息的共享表征中受益巨大。

大量实验证实了 AdaMatting 具有额外的结构感知能力和三元图容错能力。此外,从定量与定性的实验结果来看, AdaMatting 还在两个广泛使用的数据集上展现了优异性能,成为抠图方向上新的当前最佳。

附录

More Qualitative Results

在 Composition-1k 上的更多结果,如下:

图 7:Adobe Composition-1k test set 上的定性对比结果

在 Real Image 上的更多结果,如下:

图 8:真实世界里的背景替换效果对比

参考文献

  • Yung-Yu Chuang, Brian Curless, David H Salesin, and Richard Szeliski. A bayesian approach to digital matting. In Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the 2001 IEEE Computer Society Con- ference on, volume 2, pages II–II. IEEE, 2001.

  • Yag ̆iz Aksoy, Tae-Hyun Oh, Sylvain Paris, Marc Pollefeys, and Wojciech Matusik. Semantic soft segmentation. ACM Transactions on Graphics (TOG), 37(4):72, 2018.

  • Christoph Rhemann, Carsten Rother, Jue Wang, Margrit Gelautz, Pushmeet Kohli, and Pamela Rott. A perceptually motivated online benchmark for image matting. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on, pages 1826–1833. IEEE, 2009.

  • Ning Xu, Brian Price, Scott Cohen, and Thomas Huang. Deep image matting. In Computer Vision and Pattern Recog- nition (CVPR), 2017.

  • Yagız Aksoy, Tunc ̧ Ozan Aydın, Marc Pollefeys, and ETH Zu ̈rich. Designing effective inter-pixel information flow for natural image matting. In Computer Vision and Pattern Recognition (CVPR), 2017. 

  • Qifeng Chen, Dingzeyu Li, and Chi-Keung Tang. Knn mat- ting. IEEE transactions on pattern analysis and machine intelligence, 35(9):2175–2188, 2013.

  • Donghyeon Cho, Yu-Wing Tai, and Inso Kweon. Natural image matting using deep convolutional neural networks. In European Conference on Computer Vision, pages 626–643. Springer, 2016.

  • Anat Levin, Dani Lischinski, and Yair Weiss. A closed-form solution to natural image matting. IEEE Transactions on Pattern Analysis and Machine Intelligence, 30(2):228–242, 2008.

  • Sebastian Lutz, Konstantinos Amplianitis, and Aljosa Smolic. AlphaGAN: Generative adversarial networks for natural image matting. 2018.

往期解读

  • ICCV 2019 | 旷视研究院提出MetaPruning:基于元学习和AutoML的模型压缩新方法

  • ICCV 2019 | 旷视研究院提出新型矫正网络ScRN,优化场景文字识别性能

  • ICCV 2019 | 旷视研究院提出基于互向导的半监督皮肤检测新方法

  • ICCV 2019 | 旷视研究院推出基于深度强化学习的绘画智能体

  • ICCV 2019 | 旷视研究院提出文字检测新方法:像素聚合网络PAN

传送门 

欢迎大家关注如下 旷视研究院 官方微信号????

这篇关于ICCV 2019 | 旷视研究院提出新型抠图方法AdaMatting,实现当前最佳的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/248338

相关文章

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

Python pyinstaller实现图形化打包工具

《Pythonpyinstaller实现图形化打包工具》:本文主要介绍一个使用PythonPYQT5制作的关于pyinstaller打包工具,代替传统的cmd黑窗口模式打包页面,实现更快捷方便的... 目录1.简介2.运行效果3.相关源码1.简介一个使用python PYQT5制作的关于pyinstall

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文