ramy  2020-12-31 16:52:19  图像处理 |   查看评论   

为了减少生成图像的棋盘格伪影,将解码器中的反卷积层替换为一个双线性上采样层和一个卷积层。邢台金老歪

生成网络结构如图 9 所示,提取全局特征的网络分支具体结构如图 10 所示。

美图云AI修图

▲生成网络结构图

美图云AI修图

▲全局分支网络结构

判别器设计

为了能够获得更加逼近真实结果的图像,此处采用了对抗性损失来最小化实际光分布和输出正态光分布之间的距离。但是一个图像级的鉴别器往往不能处理空间变化的图像,例如输入图像是在室内复杂光源场景下获取的,受到室内光源漫反射的影响,每个区域需要校正的程度不同,那么单独使用全局图像判别器往往无法提供所需的自适应能力。

为了自适应地校正局部区域色偏,MTlab 采用文献[4]EnlightenGAN 中的 D 网络。该结构使用 PatchGAN 进行真假鉴别。判别器包含全局以及局部两个分支,全局分支判断校正图像的真实性,局部分支从输入图像随机剪裁 5 个 patch 进行判别,改善局部色偏校正效果。D 网络的输入图像与 target 图像,都会从 RGB 颜色域转换成 LAB 颜色域,Lab 是基于人对颜色的感觉来设计的,而且与设备无关,能够,使用 Lab 进行判别能够获得相对稳定的效果。全局 - 局部判别器网络结构如图 11 所示。

美图云AI修图

▲全局 - 局部判别器

Loss 函数的设计包括 L1 loss, MS-SSIM loss, VGG loss, color loss and GAN loss。其中 L1 loss 保证图像的色彩亮度的真实性;MS-SSIM loss 使得生成图像不会丢失细节,保留结构性信息,VGG loss 限制图像感知相似性;color loss 分别将增强网络得到 image 与 target 先进行高斯模糊,也就是去掉部分的边缘细节纹理部分,剩下的能作为比较的就是对比度以及颜色;GAN loss 确保图像更加真实。这五个 loss 相加就构成了 AWBGAN 的损失函数。

最终色偏校正方案的校正效果如图 12 所示。

美图云AI修图

▲美图云修智能白平衡结果。(左:色温 6500K 情况,中:色温 2850K 情况,右:校正后图像)

智能祛除技术

修图师在修图过程中,会祛除一些皮肤本身固有的瑕疵,如皱纹、黑眼圈、泪沟等。对于赢咖4的后期人像修图来说,皱纹检测有着重要的现实意义:一方面有助于皮肤衰老度的分析,揭示皱纹发生的区域和严重程度,成为评估肤龄的依据;另一方面,则能为图像中的自动化人脸祛皱带来更便捷的体验,即在后期修图的过程中,用户可以利用算法自动快速定位皱纹区域,从而告别繁复的手工液化摸匀的过程。

1. 皱纹识别

在科研领域中,常用的皱纹检测算法主要有以下几种:

基于一般边缘检测的方法:比如常见的 Canny 算子、Laplace 算子、DoG 算子,但这些算子所检出的边缘实质上是图像中两个灰度值有一定差异的平坦区域之间的分界处,而不是皱纹的凹陷处,故不利于检出具有一定宽度的皱纹;

基于纹理提取的方法:有以文献 [5] 的 Hybrid Hessian Filter(HHF)以及文献 [6] 的 Hessian Line Tracking (HLT)为代表的,基于图像 Hessian 矩阵的特征值做滤波的方法,可用来提取图像中的线性结构;也有以文献 [7] 的 Gabor Filter Bank 为代表的,利用在提取线性纹理的 Gabor 滤波的方法。这些方法需要手工设计滤波器,带来了额外的调参代价,而且通常只能检测线状的抬头纹和眼周纹,对于沟状的法令纹的兼容较差,检测结果也容易受到其他皮肤纹理或非皮肤物体的影响;

基于 3D 扫描的方法:如文献 [8] 提出的利用 3D 点云的深度信息映射到 2D 图像的分析方法,但该方法依赖于额外的采集设备,在算法的普适性上较弱。邢台金老歪

在自动化人脸祛皱的需求引领下,为了摆脱传统皱纹检测算法的限制,美图影像实验室 MTlab 自主研发了一套全脸 (含脖子) 皱纹检测技术。该技术在覆盖全年龄段的真实人脸皱纹数据的驱动之下,发挥了深度学习表征能力强和兼容性高的优势,实现了端到端的抬头纹、框周纹、法令纹和颈纹的精准分割,成为了自动化祛皱算法的关键一环。

由于抬头纹、框周纹、法令纹和颈纹这四类皱纹的类内模式相似性较高而类间模式相似较低,MTlab 采用零件化的思想,将全脸皱纹检测任务分解成四个互相独立的子任务,分别对上述的四类皱纹进行检测。在四类皱纹的人脸区域定位上, MTlab 的人脸语义关键点检测技术发挥了重要作用。在不同拍摄场景以及人脸姿态下,该技术都能正确划分额头、眼周、脸颊和颈部区,从而为皱纹检测任务提供了稳定可靠的输入来源。MTlab 还利用眼周和脸颊区域的左右对称性,在进一步减少网络输入尺寸的同时,也让网络在模式学习上变得更简单。

美图云AI修图

▲皱纹检测网络结构图

类 U-Net 的网络结构在图像特征编码和高低层语义信息融合上有着先天的优势,故受到许多分割任务的青睐。鉴于皱纹检测本质也是分割任务,MTlab 也在 U-Net 的基础上进行网络设计,并做了以下调整:

保留了编码器浅层的高分辨率特征图,并将其与解码器相同尺度的特征图进行信息融合:有助于引导解码器定位皱纹在图像中的位置,提升了宽度较细的皱纹检出率;

将解码器中的反卷积层替换为一个双线性上采样层和一个卷积层:避免分割结果的格状边缘效应,让网络输出的结果更贴合皱纹的原始形状。

皱纹检测的 loss 需要能起到真正监督的作用,为此总体的 loss 由两部分组合而成:Binary Cross Entropy Loss 以及 SSIM Loss。Binary Cross Entropy Loss 是分割任务的常用 loss,主要帮助网络区分前景像素和背景像素;SSIM Loss 则更关注网络分割结果与 GT 的结构相似性,有助于网络学习一个更准确的皱纹形态。

2. 皱纹自动祛除

皱纹祛除主要是基于图片补全实现,将皱纹部分作为图片中的待修复区域,借助图片补全技术重新填充对应像素。目前,图片补全技术包含传统方法和深度学习两大类:

传统图片补全技术,这类方法无需数据训练,包括基于图片块 (patch)[9,11] 和基于像素 [2] 这两类补全方法。这两类方法的基本思想是根据一定的规则逐步的对图像中的受损区域进行填充。此类方法速度快,但需要人工划定待修复区域,适用于小范围的图像修复,受损区域跨度较大时容易出现模糊和填充不自然的情况。

基于深度学习的 Inpainting 技术 [12,13,14,15],这类方法需收集大量的图片数据进行训练。基本思想是在完整的图片上通过矩形(或不规则图形) 模拟受损区域,以此训练深度学习模型。现有方法的缺陷在于所用数据集及假定的受损区域与实际应用差异较大,应用过程易出现皱纹无法修复或是纹理不清,填充不自然的情况。

鉴于影楼用户对于智能修图的迫切需求,美图影像实验室 MTlab 自主研发了一套能够适应复杂场景的的皱纹祛除方案。MTlab 提出的智能皱纹祛除方案,依靠海量场景的真实数据,在识别皱纹线的基础上借助 Inpainting 的深度学习网络予以消除,提供端到端的一键式祛除皱纹,使其具备以下 2 个效果:

一致性:填充区域纹理连续,与周围皮肤衔接自然。

鲁棒性:受外部环境影响小,效果稳定。

MTlab 针对该问题收集的海量数据集能够涵盖日常生活场景中的多数场景光源,赋能模型训练最大驱动力,保障模型的性能,较好的解决了上述问题,并成功落地于应用场景。

针对现有方案存在的缺陷,MTlab 根据皱纹的特点设计了皱纹祛除模型(WrinkleNet)。将原始图片和皱纹 mask 同时送入祛除模型,即可以快速的完成祛除,并且保持了资深人工修图在效果上自然、精细的优点,在各种复杂场景都有较强的鲁棒性,不仅对脸部皱纹有效,同时也可用于其他皮肤区域(如颈部)的皱纹祛除,其核心流程如图 14 所示。

美图云AI修图

▲祛皱核心流程

数据集制作:

如前所述,数据集会极大的影响深度学习模型的最终效果,目前主流的图像补全模型多采用开源数据集,使用矩形或不规则图形模拟图像中待补全的区域。针对皱纹祛除任务这么做是不合理的。一方皮肤区域在颜色和纹理上较图片其他区域差异较大,另一方面皱纹多为弧形细线条,其形状不同于已有的补齐模式(矩形、不规则图形),这也是导致现有模型效果不够理想的原因之一。因此,在数据集的准备上,MTlab 不仅收集了海量数据,对其皱纹进行标注,同时采用更贴近皱纹纹理的线状图形模拟待填充区域。

生成网络设计:

生成网络基于 Unet 设计,鉴于直接使用原始的 U-Net 网络生成的图像会存在纹理衔接不自然,纹理不清的问题,因此对其结构做了一些调整。1)解码的其输出为 4 通道,其中一个通道为 texture 回归,用于预测补齐后的图片纹理;2)在 Unet 的 concat 支路加入了多特征融合注意力模块(简称 FFA)结构,FFA 的结构如图 15 所示,该结构旨在通过多层特征融合注意力模块,如图 16 所示,提高模型对细节纹理的关注度。

美图云AI修图

▲生成网络结构图

美图云AI修图

▲多特征融合注意力模块

Loss 设计:

Loss 函数的设计包括 L1-loss, L2-loss, VGG-loss,以及 GAN-loss。其中 L1-loss 度量输出图像与真实图像间的像素距离;L2-Loss 用于度量输出纹理与真实纹理间的差异;VGG loss 限制图像感知相似性;GAN loss 采用 PatchGAN 结构,确保图像更加真实。这四个 loss 相加就构成了 WrinklNet 的损失函数。邢台金老歪

最终脸部和脖子的祛皱效果分别如图 17 和图 18 所示。

美图云AI修图

▲美图云修脸部祛皱效果

美图云AI修图

▲美图云修脖子祛皱效果

智能修复技术

在现实生活中,龅牙、缺牙、牙缝、牙齿畸形等等问题会让用户在拍照时不敢做过多如大笑等露出牙齿的表情,对拍摄效果有一定影响。美图云修基于 MTlab 自主研发的一个基于深度学习技术的网络架构,提出了全新的牙齿修复算法,可以对用户各类不美观的牙齿进行修复,生成整齐、美观的牙齿,修复效果如图 19 所示。

美图云AI修图

▲美图云修牙齿修复效果

MTAITeeth 牙齿修复方案:

要将牙齿修复算法真正落地到产品层面需要保证以下两个方面的效果:

真实性,生成的牙齿不仅要美观整齐,同时也要保证生成牙齿的立体度和光泽感,使其看起来更为自然。

鲁棒性,不仅要对大多数常规表情(如微笑)下的牙齿做修复和美化,同时也要保证算法能够适应某些夸张表情(如大笑、龇牙等)。

MTlab 提出的 MTAITeeth 牙齿修复算法,较好地解决了上述两个问题,并率先将技术落地到实际产品中,其核心流程如图 20 所示。

美图云AI修图

▲AITeeth 牙齿修复方案流程图

图中所展示的流程主要包括: G 网络模块和训练 Loss 模块,该方案的完整工作流程如下:

通过 MTlab 自主研发的人脸关键点检测算法检测出人脸点,根据人脸点判断是否有张嘴;

若判定为张嘴,则裁剪出嘴巴区域并旋转至水平,再根据人脸点计算出嘴唇 mask、牙齿区域 mask 以及整个嘴巴区域(包括嘴唇和牙齿)的 mask;

根据嘴巴区域的 mask 得到网络输入图,根据牙齿区域和嘴唇区域的 mask,分别计算对应区域的均值,得到网络输入图,两个输入图均为 3 通道;

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自AI靠什么超越人类修图师?万字长文看懂“美图云修”AI修图解决方案-邢台金老歪

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]