你以为这些人像发丝的勾勒是PS做的吗?
NO!这是AI算法的效果!
这么好的效果,大家一定好奇是通过什么AI手段实现的。经过小编的一番调研,这项技术叫做Matting,是指通过计算前景的颜色和透明度,将前景从影像中撷取出来,并生成一张Alpha图的技术。
图片数据引用公开数据集[1]
还是不明白?我们通过和语义分割技术的对比理解会更有益于理解Matting的作用。语义分割是返回像素分类结果,分类结果是整型;而抠图返回的是属于前景或背景的概率p,在前景与背景交互区域会产生渐变的效果,使得抠图更加自然。
图片数据<原图>引用公开数据集[2]
近期PaddleSeg团队复现了经典Matting算法MODNet,并进行了一定改进,提供了更丰富的backbone模型选择,适用边缘端、服务端等多种任务场景。
在这里小编赶紧给大家贴上项目链接地址。欢迎小伙伴们体验:
https://github.com/PaddlePaddle/PaddleSeg/tree/release/2.3/contrib/Matting
同时PaddleSeg团队提供了可部署在手机端的APP应用,欢迎大家收藏链接体验Matting的人像抠图效果。
APP下载链接:https://paddleseg.bj.bcebos.com/matting/models/deploy/app-debug.apk
Matting精细化抠图被广泛应用在多种行业,如视频剪辑,视频合成等领域。
看到这么好的技术,有的小伙伴们会比较关注技术上是怎么实现的,那么我们就一起来看看Matting的技术演化过程。
Matting算法基本结构
基于深度学习的Matting分为两大类:
一种是基于辅助信息输入。即除了原图和标注图像外,还需要输入其他的信息辅助预测。最常见的辅助信息是Trimap,即将图片划分为前景,背景及过度区域三部分。另外也有以背景或交互点作为辅助信息。
一种是不依赖任何辅助信息,直接实现Alpha预测。
本文将分别对两类Matting算法展开介绍,和小伙伴们一起梳理Matting的发展历程。
DIM -Matting
DIM(Deep Image matting)第一次阐述了在给定图像和辅助信息Trimap的情况下,可以通过端到端的方式学习到Alpha。其网络分为两个阶段,第一阶段是深度卷积编码-解码网络, 第二阶段是一个小型卷积神经网络,用来减少编码-解码网络引起的细节损失,提升Alpha预测的准确性和边缘效果。DIM通过卷积神经网络提取高级语义信息,真正打开了卷积神经网络在Matting中的应用,且在DIM之后诞生了大量的基于Trimap的Matting网络。
图片数据引用论文[3]
BGMV2-以背景作为辅助信息
BGMv2(Background Matting v2) 改变思路,利用背景图像取代Trimap来辅助网络进行预测,有效避免了Trimap获取费时费力的问题,并将网络分为Base网络和Refiner两部分。在计算量大的Base网络阶段对低分辨率进行初步预测,在Refiner阶段利用Error Map对高分辨率图像相应的切片进行Refine。通过此,Background Matting v2 实现了高分辨率图像的实时预测。
图片数据引用论文[4]
MODNet
辅助信息的获取极大限制了Matting的应用,为了提升Matting的应用性,Portrait Matting领域的MODNet摒弃了辅助信息,直接实现Alpha预测,实现了实时Matting,极大提升了基于深度学习Matting的应用价值。MODNet将Matting分解成三个子目标进行优化,通过任务分解提升Alpha预测的准确率。
图片数据引用论文[5]
当前PaddleSeg提供的Matting算法便是对MODNet算法的复现,并在原著基础上提供了多个不同主干网络的预训练模型如RestNet50_vd、HRNet_w18等,来满足用户在边缘端、服务端等不同场景部署的需求。
对于这个技术,你觉得如何?评论区留言一起来说说呀!