一键抹去瑕疵、褶皱:深入解读达摩院高清人像美肤模型ABPN

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 一键抹去瑕疵、褶皱:深入解读达摩院高清人像美肤模型ABPN

作者:达摩院


随着数字文化产业的蓬勃发展,人工智能技术开始广泛应用于图像编辑和美化领域。其中,人像美肤无疑是应用最广、需求最大的技术之一。传统美颜算法利用基于滤波的图像编辑技术,实现了自动化的磨皮去瑕疵效果,在社交、直播等场景取得了广泛的应用。

然而,在门槛较高的专业摄影行业,由于对图像分辨率以及质量标准的较高要求,人工修图师还是作为人像美肤修图的主要生产力,完成包括匀肤、去瑕疵、美白等一系列工作。通常,一位专业修图师对一张高清人像进行美肤操作的平均处理时间为 1-2 分钟,在精度要求更高的广告、影视等领域,该处理时间则更长。

相较于互娱场景的磨皮美颜,广告级、影楼级的精细化美肤给算法带来了更高的要求与挑战。一方面,瑕疵种类众多,包含痘痘、痘印、雀斑、肤色不均等,算法需要对不同瑕疵进行自适应地处理;另一方面,在去除瑕疵的过程中,需要尽可能的保留皮肤的纹理、质感,实现高精度的皮肤修饰;最后也是十分重要的一点,随着摄影设备的不断迭代,专业摄影领域目前常用的图像分辨率已经达到了 4K 甚至 8K,这对算法的处理效率提出了极其严苛的要求。

因此,我们以实现专业级的智能美肤为出发点,研发了一套高清图像的超精细局部修图算法 ABPN,在超清图像中的美肤与服饰去皱任务中都实现了很好的效果与应用。


相关工作3.1 传统美颜算法

传统美颜算法的核心就是让皮肤区域的像素变得更平滑,降低瑕疵的显著程度,从而使皮肤看起来更加光滑。一般来说,现有的美颜算法可划分为三步:1)图像滤波算法,2)图像融合,3)锐化。整体流程如下:


其中为了实现皮肤区域的平滑,同时保留图像中的边缘,传统美颜算法首先使用保边滤波器(如双边滤波、导向滤波等)来对图像进行处理。不同于常用的均值滤波、高斯滤波,保边滤波器考虑了不同区域像素值的变化,对像素变化较大的边缘部分以及变化较为平缓的中间区域像素采取不同的加权,从而实现对于图像边缘的保留。而后,为了不影响背景区域,分割检测算法通常被用于定位皮肤区域,引导原图与平滑后的图像进行融合。最后,锐化操作可以进一步提升边缘的显著性以及感官上的清晰度。下图展示了目前传统美颜算法的效果:


原图像来自 unsplash [31]

从效果来看,传统美颜算法存在两大问题:1)对于瑕疵的处理是非自适应的,无法较好的处理不同类型的瑕疵。2)平滑处理造成了皮肤纹理、质感的丢失。这些问题在高清图像中尤为明显。3.2 现有深度学习算法

为了实现皮肤不同区域、不同瑕疵的自适应修饰,基于数据驱动的深度学习算法似乎是更好的解决方案。考虑任务的相关性,我们对 Image-to-Image Translation、Photo Retouching、Image Inpainting、High-resolution Image Editing 这四类现有方法对于美肤任务的适用性进行了讨论和对比。

  • 3.2.1 Image-to-Image Translation



图像翻译 (Image-to-Image Translation) 任务最开始由 pix2pix [1] 所定义,其将大量计算机视觉任务总结为像素到像素的预测任务,并且提出了一个基于条件生成对抗网络的通用框架来解决这类问题。基于 pix2pix [1],各类方法被陆续提出以解决图像翻译问题,其中包括利用成对数据 (paired images) 的方法 [2,3,4,5] 以及利用非成对数据 (unpaired images)的方法 [6,7,8,9]。一些工作聚焦于某些特定的图像翻译任务(比如语义图像合成 [2,3,5],风格迁移等 [9,10,11,12]),取得了令人印象深刻效果。然而,上述大部分的图像翻译主要关注于图像到图像的整体变换,缺乏对于局部区域的注意力,这限制了其在美肤任务中的表现。

  • 3.2.2 Photo Retouching



受益于深度卷积神经网络的发展,基于学习的方法 [13,14,15,16] 近年来在修图领域展现了出色的效果。然而,与大多数图像翻译方法相似的是,现有的 retouching 算法主要聚焦于操控图像的一些整体属性,比如色彩、光照、曝光等。很少关注局部区域的修饰,而美肤恰恰是一个局部修饰任务(Local Photo Retouching),需要在修饰目标区域的同时,保持背景区域不动。

  • 3.2.3 Image Inpainting



图像补全 (image inpainting) 算法常用于对图像缺失的部分进行补全生成,与美肤任务有着较大的相似性。凭借着强大的特征学习能力,基于深度生成网络的方法 [17,18,19,20] 这些年在 inpainting 任务中取得了巨大的进步。然而,inpainting 方法依赖于目标区域的 mask 作为输入,而在美肤以及其他局部修饰任务中,获取精确的目标区域 mask 本身就是一个非常具有挑战性的任务。因而,大部分的 image inpainting 任务无法直接用于美肤。近年来,一些 blind image inpainting 的方法 [21,22,23] 摆脱了对于 mask 的依赖,实现了目标区域的自动检测与补全。尽管如此,同大多数其他 image inpainting 方法一样,这些方法存在两个问题:a) 缺乏对于目标区域纹理及语义信息的充分利用,b) 计算量较大,难以应用于超高分辨率图像。

  • 3.2.4 High-resolution Image Editing



为了实现高分辨率图像的编辑,[15,24,25,26] 等方法通过将主要的计算量从高分辨率图转移到低分辨率图像中,以减轻空间和时间的负担。尽管在效率上取得了出色的表现,由于缺乏对于局部区域的关注,其中大部分方法都不适用于美肤这类局部修饰任务。
综上,现有的深度学习方法大都难以直接应用于美肤任务中,主要原因在于缺乏对局部区域的关注或者是计算量较大难以应用于高分辨率图像。基于自适应混合金字塔的局部修图框架

美肤本质在于对图像的编辑,不同于大多数其他图像转换任务的是,这种编辑是局部的。与其相似的还有服饰去皱,商品修饰等任务。这类局部修图任务具有很强的共通性,我们总结其三点主要的困难与挑战:1)目标区域的精准定位。2)具有全局一致性以及细节保真度的局部生成(修饰)。3)超高分辨率图像处理。为此,我们提出了一个基于自适应混合金字塔的局部修图框架(ABPN: Adaptive Blend Pyramid Network for Real-Time Local Retouching of Ultra High-Resolution Photo, CVPR2022,[27]),以实现超高分辨率图像的精细化局部修图,下面我们对其实现细节进行介绍。4.1 网络整体结构




如上图所示,网络结构主要由两个部分组成:上下文感知的局部修饰层(LRL)和自适应混合金字塔层(BPL)。其中 LRL 的目的是对降采样后的低分辨率图像进行局部修饰,生成低分辨率的修饰结果图,充分考虑全局的上下文信息以及局部的纹理信息。进一步,BPL 用于将 LRL 中生成的低分辨率结果逐步向上拓展到高分辨率结果。其中,我们设计了一个自适应混合模块(ABM)及其逆向模块(R-ABM),利用中间混合图层 Bi,可实现原图与结果图之间的自适应转换以及向上拓展,展现了强大的可拓展性和细节保真能力。我们在脸部修饰及服饰修饰两个数据集中进行了大量实验,结果表明我们的方法在效果和效率上都大幅度地领先了现有方法。值得一提的是,我们的模型在单卡 P100 上实现了 4K 超高分辨率图像的实时推理。下面,我们对 LRL、BPL 及网络的训练 loss 分别进行介绍。4.2 上下文感知的局部修饰层(Context-aware Local Retouching Layer)

在 LRL 中,我们想要解决三中提到的两个挑战:目标区域的精准定位以及具有全局一致性的局部生成。如 Figure 3 所示,LRL 由一个共享编码器、掩码预测分支 (MPB) 以及局部修饰分支 (LRB) 构成。





总得来说,我们使用了一个多任务的结构,以实现显式的目标区域预测,与局部修饰的引导。其中,共享编码器的结构可以利用两个分支的共同训练优化特征,提高修饰分支对于目标全局的语义信息和局部的感知。大多数的图像翻译方法使用传统的 encoder-decoder 结构直接实现局部的编辑,没有将目标定位与生成进行解耦,从而限制了生成的效果(网络的容量有限),相比之下多分支的结构更利于任务的解耦以及互利。在局部修饰分支 LRB 中我们设计了 LAM(Figure 4),将空间注意力机制与特征注意力机制同时作用,以实现特征的充分融合以及目标区域的语义、纹理的捕捉。消融实验(Figure 6)展现了各个模块设计的有效性。4.3 自适应混合金字塔层(Adaptive Blend Pyramid Layer)

LRL 在低分辨率上实现了局部修饰,如何将修饰的结果拓展到高分辨率同时增强其细节保真度?这是我们在这部分想要解决的问题。

相关文章
|
人工智能 物联网 开发者
让你拥有专属且万能的AI摄影师+AI修图师——FaceChain迎来最大版本更新
自8月11日开源了第一版本证件照后,FaceChain迎来了最大版本的更新,不仅集中上线了一波非常有用的功能,在gradio界面上也做了大幅度优化
|
机器学习/深度学习 自然语言处理 开发工具
ModelScope--人像卡通化、人像美肤
利用ModelScope实现美拍人喜欢的人像处理卡通化、人像美肤
ModelScope--人像卡通化、人像美肤
|
网络协议 Linux Android开发
告别无法访问的github(附解决方案)
最近一行在使用github的时候又登不上去了,挂着NPV都没用 据说是某些不可描述的有关组织机构对该网站的DNS污染或者随机丢包造成的
21977 5
告别无法访问的github(附解决方案)
|
机器学习/深度学习 人工智能 自然语言处理
炸裂!PAI-DSW 和 Free Prompt Editing 图像编辑算法,成就了超神的个人 AIGC 绘图小助理!
【6月更文挑战第11天】PAI-DSW 和 Free Prompt Editing 算法引领图像编辑革命,创造出个人AIGC绘图小助理。PAI-DSW擅长深度图像处理,通过复杂模型和深度学习精准编辑;Free Prompt Editing则允许用户以文本描述编辑图像,拓展编辑创意。结合两者,小助理能根据用户需求生成惊艳图像。简单Python代码示例展示了其魅力,打破传统编辑局限,为专业人士和普通用户提供创新工具,开启图像创作新篇章。未来,它将继续进化,带来更多精彩作品和体验。
312 7
|
机器学习/深度学习 并行计算 PyTorch
从零开始下载torch+cu(无痛版)
这篇文章提供了一个详细的无痛版教程,指导如何从零开始下载并配置支持CUDA的PyTorch GPU版本,包括查看Cuda版本、在官网检索下载包名、下载指定的torch、torchvision、torchaudio库,并在深度学习环境中安装和测试是否成功。
从零开始下载torch+cu(无痛版)
|
Prometheus 监控 Cloud Native
prometheus监控ceph集群环境
文章介绍了如何使用Prometheus监控Ceph集群环境,包括启用Prometheus模块、验证模块启用成功、访问Ceph的exporter、修改Prometheus配置文件、热加载配置,以及Grafana采集数据的方法。同时,还涵盖了监控Ceph集群宿主机的步骤,如在所有节点安装node-exporter、修改Prometheus配置文件、热加载配置,以及Grafana采集数据。
530 6
|
机器学习/深度学习 人工智能 PyTorch
【传知代码】Modnet 人像抠图-论文复现
MODNet是一种轻量级、实时的无trimap人像抠图模型,强调高效和鲁棒性。它由语义预测、细节预测和语义-细节混合三个模块构成,通过自监督学习策略SOC保持模块间一致性。MODNet在人像抠图任务中表现出色,适用于多种场景,如展馆互动、商场引流、图像编辑、广告制作等。论文和源码可在给定链接中获取,项目还提供了WebUI方便用户直接使用。
534 2
【传知代码】Modnet 人像抠图-论文复现
|
达摩院 算法 计算机视觉
一键抹去瑕疵、褶皱:深入解读达摩院高清人像美肤模型ABPN(2)
一键抹去瑕疵、褶皱:深入解读达摩院高清人像美肤模型ABPN
694 1
|
Python 容器
Python与GUI编程:创建图形用户界面
Python的Tkinter库是用于构建GUI应用的内置工具,无需额外安装。它提供了丰富的控件,如按钮、文本框等,让用户通过图形界面与程序交互。创建GUI窗口的基本步骤包括:导入Tkinter库,创建窗口对象,设置窗口属性,添加控件(如标签和按钮),并使用布局管理器(如`pack()`或`grid()`)来组织控件的位置。此外,可以通过绑定事件处理函数来响应用户操作,例如点击按钮。Tkinter还有更多高级功能,适合开发复杂GUI应用。

热门文章

最新文章