来自 MIT CSAIL 的研究人员开发了一种精细程度远超传统语义分割方法的「语义软分割」技术,连头发都能清晰地在分割掩码中呈现。在对比实验中,他们的结果远远优于 PSPNet、Mask R-CNN、spectral matting 等基准。这项技术对于电影行业的 CGI 技术具有重大意义,精细的分割掩码能很好地分离图像中的前景和背景,只要鼠标一点,就能轻易地改变前景、背景的种类。也就是说,像《变形金刚》《复仇者联盟》《奇幻森林》中的大部分电影特效将可以完全自动化地生成。

随着电影越来越关注 CGI,电影制作人必须更加擅长「合成」,即将前景和背景图像融合,比如将演员放在飞机或行星上,或者放在电影《黑豹》里瓦坎达这样的虚构世界中。

让这些图像看起来真实并不容易。编辑必须捕捉前景和背景之间微妙的美学过渡,这对于头发这种复杂精细的材料来说尤其困难,因为人们已经习惯了它的样子。

麻省理工学院计算机科学与人工智能实验室(MIT CSAIL)的访问研究员 Yagiz Aksoy 说:「这些图像的棘手之处在于,并非每个像素都只属于一个物体。很多情况下,你很难确定哪些像素属于背景,哪些属于特定的人。」

除了那些经验最丰富的编辑,对其他人来说要把这些细节都处理好是一件乏味、耗时且非常困难的事情。但是在一篇新论文中,Aksoy 和他在 MIT CSAIL 的同事展示了一种方法,使用机器学习来自动化照片编辑过程中的多个步骤,并且称这种方法也可用于运动图像。

该方法允许他们自动将输入图像分解成一组不同的层,这些层被层之间的一系列「软过渡」分隔开。

该系统被称为「语义软分割」(semantic soft segmentation,SSS),它分析原始图像的纹理和颜色,并将其与神经网络收集的图像中物体的实际信息相结合。

Aksoy 说,「一旦计算出这些软分割,用户就不必手动改变过渡或对图像特定层的外观进行单独修改。」他上周在温哥华的计算机图形学会议 SIGGRAPH 上展示了这篇论文。「手动编辑任务,如替换背景和调整颜色,将会变得更加容易。」

不过要说明的一点是,SSS 目前专注于静态图像。但是该团队表示,不久以后将它用于视频也是可以的,这将推动其在电影制作中的应用。

Aksoy 表示,该方法不需要专业编辑花几分钟时间逐个帧、逐个像素地调整图像,而是使处理过程更简单、快速,以便非专业用户也可以更容易地进行图像编辑。他们期望,编辑只需点击一下鼠标,就能组合图像,创造那些成熟、真实的幻想世界。

他还表示,SSS 的目前版本可用于社交平台,如 Instagram 和 Snapchat,以使其过滤器更加真实,特别是用于改变自拍背景或模拟特定类型的相机时。未来,研究人员计划将计算图像所需时间从几分钟缩短到几秒钟,并通过提高系统匹配颜色和处理光照、阴影等问题的能力使图像变得更加逼真。

论文:Semantic Soft Segmentation

论文链接:http://cfg.mit.edu/sites/cfg.mit.edu/files/sss_3.pdf

摘要:对图像区域之间的软过渡进行准确表征对于高品质图像编辑及合成至关重要。生成此类表征的现有技术很大程度上依赖于技术娴熟的视觉艺术家,因为执行此类精确目标选择是一项繁冗的任务。本研究介绍了语义软分割——一组与图像中语义有意义的区域相对应的层,它们在不同对象之间有准确的软过渡。我们利用光谱分割角度来处理这个问题,并提出了一种图结构,其包含图像的纹理和颜色特征以及神经网络生成的高级语义信息。软分割是通过精心构建的拉普拉斯矩阵的特征分解完全自动生成的。使用我们的语义软分割,原本复杂的图像编辑任务可以毫不费力地完成。

图 1:我们提出了一种方法,通过将高层次和低层次的图像特征融合在一个图结构中来自动生成软分割,即表示语义上有意义的区域以及它们之间软过渡的层。语义软分割使用为每个分割部分分配纯色的方法实现可视化,它们可用作目标图像编辑任务的掩码,所选图层可在图层颜色评估之后用于合成。原始图像来自 [Lin et al. 2014](左上、右下)、Death to the Stock Photo(右上)、Y. Aksoy(左下)。

图 2:对于输入图像,我们生成像素级的超维语义特征向量,并利用纹理和语义信息定义一张图。构建该图的目的是使对应的拉普拉斯矩阵及其特征向量能够揭示语义对象和对象之间的软过渡(soft transition)。我们使用特征向量创建初步的软分割集,并结合它们获取具备语义含义的分割。最后,我们细化软分割,使之可用于目标图像编辑任务。图源:[Lin et al. 2014],编辑结果的背景来自 Flickr 用户 rumpleteaser。

图 9、10:我们展示了我们的结果以及 Zhao et al. [2017] (PSPNet)、He et al. [2017] (Mask R-CNN) 和光谱抠图(spectral matting)[Levin et al. 2008b] 的结果。分割结果在灰度图像上重叠展示,方便围绕分割边界进行更好的评估。注意:PSPNet 和 Mask R-CNN 在物体边界方面不够准确,而光谱抠图的软分割结果超出了对象边界。图源:[Lin et al. 2014]。

图 11:利用输入图像(a)和特征向量(b),我们的方法生成了 matte,见(c)。我们展示了具备不同未知区域宽度的 trimap,它们通过 PSPNet [Zhao et al. 2017] (d) 或 Mask R-CNN [He et al. 2017] (e) 的语义分割方法生成,无法可靠地提供前景和背景区域,对使用信息流抠图(information-flow matting)[Aksoy et al. 2017a] 生成的结果造成负面影响。在底部示例中,PSPNet trimap 是通过选择与对象对应的单个类别(左)或所有类别而生成的。我们还提供利用结果(f)生成的 trimap 的抠图结果,展示了在给出准确 trimap 的情况下抠图算法的性能。图源: [Lin et al. 2014]。

方法

我们的目标是从输入图像自动生成软分割,也就是将场景中的目标分解成多个层进行表征,包括透明度和软过渡。每个层的每个像素由一个不透明度α∈[0,1] 增强,α=0 表示全透明,α=1 表示完全不透明,中间值表示部分不透明的程度。和该领域的其它研究(如 [Aksoy et al. 2017b; Singaraju and Vidal 2011])一样,我们使用了一个加性的图像构造模型:

即我们将输入的 RGB 像素表达为每个层 i 的像素之和,这些层由对应的α值加权。我们还把每个像素的多个α值的和限制为 1,以表示完整的不透明输入图像。

我们的方法使用了与光谱抠图相同的形式,也就是将软分割任务形式化为特征值估计问题 [Levin et al. 2008b]。该方法的核心是构建拉普拉斯矩阵 L 来表征图像中每对像素属于同一个分割的可能性。尽管光谱抠图仅使用了低级局部颜色信息来构建矩阵,我们描述了如何通过非局部线索和高级语义信息来增强这一方法。原始的方法也描述了如何利用稀疏化来从 L 的特征值来创建层,我们的研究表明,该原始技术的放宽限制的版本可以获得更佳的结果。图 2 展示了我们的方法的概览。

图 5:输入图像(a)、语义特征(b),与对应本文提出的拉普拉斯矩阵(c,顶行)以及(光谱抠图中使用的)抠图拉普拉斯矩阵(d,底行)的最小特征值的几个特征向量。绿色表示特征向量的正值,红色表示负值。我们的拉普拉斯矩阵很清晰地揭示了特征向量中的语义边界,而抠图拉普拉斯矩阵的特征向量延伸到了语义边界之外,如图虚线框中所示。图源:[Lin et al. 2014]。

图 6:输入图像(a),像素级稀疏化之前的软分割结果(b),像素级稀疏化之后的软分割结果(c)。颜色编码的分割部分使用单个阿尔法通道来展示,阿尔法通道对应前景物体。最后一步清理因特征向量表达能力有限而造成的杂乱阿尔法值,同时维持软过渡。底部示例展示了使用常数 0.9 作为稀疏化参数 γ 的稀疏化结果(d),而我们使用空间变化的 γ_p 在过渡区域进行松弛的稀疏化操作。其效果见嵌套小图,我们的结果(c)保持了头发周围的软过渡,而常数变量(d)导致了过度稀疏的结果。图源:[Lin et al. 2014]。

图 7:输入图像和计算出的语义特征(左),具备很多层的初始估计软分割(中),grouping 后的中间软分割结果(右)。通过为每个分割部分指定一个纯色来可视化软分割结果。注意这些结果会随着松弛的稀疏化(relaxed sparsification)进行进一步细化。图源:[Lin et al. 2014]。

参考地址:https://www.csail.mit.edu/news/ai-cgi

MIT提出精细到头发丝的语义分割技术,打造效果惊艳的特效电影的更多相关文章

  1. 笔记︱图像语义分割(FCN、CRF、MRF)、论文延伸(Pixel Objectness、)

    图像语义分割的意思就是机器自动分割并识别出图像中的内容,我的理解是抠图- 之前在Faster R-CNN中借用了RPN(region proposal network)选择候选框,但是仅仅是候选框,那 ...

  2. 笔记:基于DCNN的图像语义分割综述

    写在前面:一篇魏云超博士的综述论文,完整题目为<基于DCNN的图像语义分割综述>,在这里选择性摘抄和理解,以加深自己印象,同时达到对近年来图像语义分割历史学习和了解的目的,博古才能通今!感 ...

  3. 多篇开源CVPR 2020 语义分割论文

    多篇开源CVPR 2020 语义分割论文 前言 1. DynamicRouting:针对语义分割的动态路径选择网络 Learning Dynamic Routing for Semantic Segm ...

  4. CVPR2020:点云弱监督三维语义分割的多路径区域挖掘

    CVPR2020:点云弱监督三维语义分割的多路径区域挖掘 Multi-Path Region Mining for Weakly Supervised 3D Semantic Segmentation ...

  5. PyTorch中的MIT ADE20K数据集的语义分割

    PyTorch中的MIT ADE20K数据集的语义分割 代码地址:https://github.com/CSAILVision/semantic-segmentation-pytorch Semant ...

  6. 人工智能必须要知道的语义分割模型:DeepLabv3+

    图像分割是计算机视觉中除了分类和检测外的另一项基本任务,它意味着要将图片根据内容分割成不同的块.相比图像分类和检测,分割是一项更精细的工作,因为需要对每个像素点分类,如下图的街景分割,由于对每个像素点 ...

  7. 【Semantic segmentation Overview】一文概览主要语义分割网络(转)

    文章来源:https://www.tinymind.cn/articles/410 本文来自 CSDN 网站,译者蓝三金 图像的语义分割是将输入图像中的每个像素分配一个语义类别,以得到像素化的密集分类 ...

  8. 语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet,语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类;目标检测只有两类,目标和非目标,就是在一张图片中找到并用box标注出所有的目标.

    from:https://blog.csdn.net/u012931582/article/details/70314859 2017年04月21日 14:54:10 阅读数:4369 前言 在这里, ...

  9. 语义分割丨DeepLab系列总结「v1、v2、v3、v3+」

    花了点时间梳理了一下DeepLab系列的工作,主要关注每篇工作的背景和贡献,理清它们之间的联系,而实验和部分细节并没有过多介绍,请见谅. DeepLabv1 Semantic image segmen ...

随机推荐

  1. [LeetCode&Python] Problem 897. Increasing Order Search Tree

    Given a tree, rearrange the tree in in-order so that the leftmost node in the tree is now the root o ...

  2. NSObject之二

    前面一章我们整理了NSObject类,这一章我们来看看NSObject协议的内容. NSObject协议提供了一组方法作为Objective-C对象的基础.其实我们对照一个NSObject类和NSOb ...

  3. L3-018 森森美图 (30 分)

    森森最近想让自己的朋友圈熠熠生辉,所以他决定自己写个美化照片的软件,并起名为森森美图.众所周知,在合照中美化自己的面部而不美化合照者的面部是让自己占据朋友圈高点的绝好方法,因此森森美图里当然得有这个功 ...

  4. MyBatis 与 Spring Data JPA 选择谁?

    MyBatis 与 Spring Data JPA 选择谁? https://www.v2ex.com/t/285081 jpa predicate优缺点 https://blog.csdn.net/ ...

  5. SQLite数据库学习小结——Frameworks层实现

    3. SQLite的Frameworks层实现 3.1 Frameworks层架构 Android系统方便应用使用,在Frameworks层中封装了一套Content框架,之所以叫Content框架而 ...

  6. linux平台下防火墙iptables原理

    iptables简单介绍 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它能够取代昂贵的商业 ...

  7. C#编程之IList<T>、List<T>、ArrayList、IList, ICollection、IEnumerable、IEnumerator、IQueryable 和 IEnumerable的区别

    额...今天看了半天Ilist<T>和List<T>的区别,然后惊奇的发现使用IList<T>还是List<T>对我的项目来说没有区别...  在C#中 ...

  8. 01.ubuntu14.04安装HI3518EV200 SDK的过程

    转载,侵删 1.海思SDK安装编译 Hi3518EV200_SDK是基于Hi3518EV200_DMEB的软件开发包,包含了在Linux相关应用开发时使用的各种工具及其源代码,是用户开发中最基本的软件 ...

  9. Java 虚拟机(JVM)

    java 中的 JIT (Just in time) compiler:即时编译器.

  10. CDN、浏览器缓存

    CDN是什么? 谈到CDN的作用,可以用8年买火车票的经历来形象比喻: 8年前,还没有火车票代售点一说,12306.cn更是无从说起.那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火 ...