2. 浙江大学 国际设计研究院, 浙江 杭州 310027
2. International Design Institute, Zhejiang University, Hangzhou 310027, China
人像皮肤美化的目的是磨去面部的所有瑕疵, 该技术的主要难点就是如何在此基础上更好地保留人像的真实感细节特征.所谓的真实感细节特征主要包含人像的背景信息以及面部轮廓和面部关键区域的细节.虽然目前大部分人像皮肤美化软件都能做到去除面部瑕疵, 但是少有软件能在去除面部瑕疵的同时自动保留人像真实感信息.现有的人像皮肤美化研究方向大部分是针对平滑滤波算法的优化, 而现有的有关保留人像真实感信息的研究主要是针对人脸校准即面部器官特征点定位的优化.
针对人脸校准的部分, Chen等[1]采用了Viola-Jones算法, 但是该检测器实际使用时精准率不太高;Zhang等[2-3]提出了基于深度学习理论的人脸校准方法;Zhou等[4]提出的Face++算法属于国内较为领先的人脸检测算法之一.近几年的实验数据表明, 基于深度学习理论构建的人脸校准算法的检测准确率非常高, 甚至可以超过人眼识别的准确率, 是现阶段较完美的人脸校准算法.
现有的平滑滤波技术主要解决适用于所有类型图像的去噪问题.常见的平滑滤波器有空域滤波器[5-8]和频域滤波器[9-11].近年来, 图像去噪算法的创新突破远远不如人脸校准, 最具里程碑意义的算法仍然是Dabov等[12]于2007年提出的三维块匹配算法(block-matching and 3D filtering, BM3D).虽然采用BM3D算法能得到很好的视觉效果, 但是该算法的时间复杂度非常高.目前也有很多较为常用的图像平滑算法, 如Sugimoto等[13]提出的压缩双边滤波(compressive bilateral filtering, CBLF)算法, 该算法能在图像去噪的基础上很好地保留图像的边界信息.
除了上述针对人脸校准以及图像滤波的基础算法, 还有一些专门用于人像美化的技术.Lee等[14]对皮肤区域检测做了较为深入的研究.Liang等[15]提出的算法能根据用户输入的参数优化人像皮肤美化结果.Brand等[16]提出的算法能较好地去除面部瑕疵以及红眼, 但是训练模型耗时较长.Yang等[17]采用Face++算法提取人像语义信息(如:眉、眼、唇等).Liao等[18]通过建立数学模型对三维人像作立体调整.Guo等[19]提出的人像化妆技术能依照目标人像的妆容为原人像上妆.Guo[20]提出了数字人像年轻化技术.文献[19-20]提出的2种人像美化技术虽然属于分层结构, 但是与本文的分层处理方法仍有不同, 后续的实验会详细介绍几种技术的异同.
本文针对皮肤美化技术中人像细节较难保留的问题, 系统地提出人像皮肤美化所需的4重蒙板, 构建基于蒙板的整体框架.该框架旨在解决磨皮技术中当皮肤美化系数较低时无法去除所有面部瑕疵而当皮肤美化系数较高时会模糊人像细节的矛盾.
1 算法框架该技术系统框架的构建原理是四重蒙板的层叠递进, 具体的操作流程可分为蒙板构建、人像真实感信息保留以及面部瑕疵去除.如图 1所示为整个系统算法的概观.
![]() |
图 1 采用多重蒙板优化技术的人像皮肤美化算法基本流程 Fig. 1 Basic procedure of portrait skin beautification algorithm based on multiple feature masks optimization technology |
1) 面部显著瑕疵特征蒙板.采用高反差保留、迭加强光、计算平滑系数, 构建面部显著瑕疵特征蒙板.该蒙板主要用于突出并去除面部显著瑕疵.
2) 人像背景特征蒙板.采用肤色检测构建人像背景特征蒙板.该蒙板主要用于解决全局人像皮肤美化处理导致的背景过于模糊的问题.
3) 面部关键区域特征蒙板.为了保留人像面部的真实感细节, 采用特征点检测鲁棒性非常高的Face++算法来构建关键区域蒙板, 用于保留面部器官的真实感信息, 同时只对特征区域外的面部皮肤进行皮肤美化处理.
4) 面部立体视觉控制蒙板.采用高反差保留算法, 构建面部立体视觉控制蒙板, 并将经过该蒙板处理后的人像与皮肤美化后去除普通瑕疵的人像进行融合处理, 从而保留人像面部的立体视觉效果.
2 基于面部瑕疵特征的显著瑕疵特征蒙板构建及人像皮肤美化 2.1 基于高反差保留的面部显著瑕疵区域搜寻人像的脸部皮肤或多或少会存在一些比较明显的瑕疵, 如:痘痘、痘印、雀斑和皱纹, 在进行人像皮肤美化之前, 若能将这些显著瑕疵单独计算处理, 则只要使用较低的皮肤美化系数就能获得相对更平滑的面部结果.
图像的低频特征代表图像中较为平滑的特征, 高频特征代表图像中变化较为突兀的特征.利用图像的这一特点, 基于高斯高通滤波器增强人像的高频特征, 并对人像进行高反差保留处理, 能够突显出面部变化较为突兀的特征.变化较为突兀的特征不仅包含了面部器官, 而且包含了面部皮肤上的大部分显著瑕疵.其中高斯高通滤波算法原理[21]如下:
$ H\left( u, v \right)=1-{\rm{exp}}~\left( -\frac{{{D}^{2}}\left( u, v \right)}{2D_{0}^{2}} \right). $ | (1) |
式中:D0为常数, 用于判断频率是否可以通过滤波器, D(u, v)为频域中点(u, v)到频域中心的距离.因此理想高通滤波器为
$ H\left( u, v \right)=\left\{ \begin{matrix} 0,&D\left( u, v \right)\le {{D}_{0}}; \\ 1,&D\left( u, v \right)>{{D}_{0}}. \\ \end{matrix} \right. $ | (2) |
如图 2所示为4幅高反差保留人像结果的实际例子, 其中颜色较深的部分为显著特征, 大面积的灰色区域为无法通过滤波器的无关特征.如果将图中显著特征区域均视为图像的瑕疵部分, 那么面部器官的关键特征也会被判断为瑕疵.这些仅是初步的显著瑕疵检测结果, 将被用于后续的显著瑕疵处理.
![]() |
图 2 高反差保留处理后的人像结果 Fig. 2 Portraits processed by high pass procedure |
从图 2可知, 高反差保留虽然强调了图像的瑕疵部分, 但是用于图像处理时瑕疵仍然不够明显.为了解决这个问题, 利用迭加强光的方法增大高反差保留图像的对比度, 从而突出人像瑕疵的形状特征和位置, 构建面部显著瑕疵蒙板.
每一层强光滤镜均由遍历图像中的每个像素, 重新计算该像素值的方法来建立, 具体计算过程如下.若高反差保留图像的高度为h, 宽度为w, 所有像素点的值为p′n, 坐标为p′n(x′n, y′n), 待计算的蒙板内所有像素点的值为pn, 坐标为pn(xn, yn), 其中x′n, xn∈[0, w]且y′n, yn∈[0, h], 则可基于原像素值p′n计算强光的像素值:
$ {p}'=\left\{ \begin{matrix} {p}'+{\rm{Add}}~\left( {{p}'} \right),&{p}'>255/2; \\ {p}'-{\rm{Sub}}~\left( {{p}'} \right),&{p}'\le 255/2. \\ \end{matrix} \right. $ | (3) |
式中:Add (p′)为基于像素值p′计算得到的像素值增量, Sub (p′)为基于像素值p′计算得到的像素减量, 并且将计算得到的像素值控制在0~255.图像每遍历计算1次, 就迭加了1层强光视觉效果.
高反差保留处理的人像结果迭加4层强光后, 能非常明显地突出面部的大部分瑕疵, 实际应用效果如图 3所示.因为瑕疵区域的像素值仍然较难计算, 所以将迭加强光后的图像拆分为红、绿、蓝3层单通道的图像, 并分别进行二值化处理.大量实验结果表明, 一般的人像只需处理红、蓝2层通道的图像即可达到初步去除面部瑕疵的效果.
![]() |
图 3 基于强光滤波构建的面部显著瑕疵特征蒙板 Fig. 3 Facial apparent blemish feature mask based on hard light filtering |
根据单通道图像中待处理的像素点周围b*b像素块内的像素均值计算该像素点的自适应二值化阈值Tn.若令c为b*b像素块内的高斯加权和, M为像素块内均值, 则
$ {{T}_{n}}=M-c, \ M=\bar{\alpha }. $ | (4) |
$ \alpha =\sum\nolimits_{j=0}^{b-1}{\sum\nolimits_{i=n-b/2}^{n+b/2}{P\left( {{x}_{i}}, {{y}_{n-b/2+j}} \right)}}. $ | (5) |
将求得的阈值Tn与像素值Pn进行对比可得到目标的二值化像素值:
$ {{B}_{n}}=\left\{ \begin{matrix} 0,&{{p}_{n}}>{{T}_{n}}; \\ 255,&{{p}_{n}}\le {{T}_{n}}. \\ \end{matrix} \right. $ | (6) |
二值化图像中大部分像素值为0的黑色小块即为人像的瑕疵部分, 因此视黑色像素所在位置为人像瑕疵位置.针对每一个坐标点, 计算所有面部深色像素的坐标Pn(xn, yn):
$ P\left( x, y \right)=~\left\{ \begin{align} &{\rm{NULL}}, {{\mathit{B}}_{\mathit{n}}}\ne 0; \\ &{p}'\left( {x}', {y}' \right), {{B}_{n}}=0. \\ \end{align} \right. $ | (7) |
将所有不为空的坐标信息组合构成面部显著瑕疵蒙板.
2.3 基于面部显著瑕疵特征蒙板的显著瑕疵去除如图 3所示迭加强光后的面部瑕疵清晰可见.基于面部显著瑕疵特征蒙板去除面部显著瑕疵的过程可分为3步.
1) 基于二值化人像计算显著瑕疵数量.
基于显著瑕疵蒙板p(x, y)绘制每块瑕疵的轮廓并分别计算红、蓝单通道中面部显著瑕疵轮廓的数量.
2) 基于显著瑕疵数量计算平滑系数.
对比红、蓝单通道中瑕疵的轮廓数量, 将轮廓数量较多的通道的平滑系数调整为高, 反之调整为低.此处的平滑系数为需要调高的深色区域(人像瑕疵区域)像素亮度值:
$ {{{{P}''}}_{n}}=\beta {{{{P}'}}_{n}}+\gamma . $ | (8) |
式中:P″n为调亮后的像素值, β和γ分别用于调整像素的对比度和亮度.
为了保留人像原图的真实细节, 不修改像素的对比度, 将β设置为固定值1.经过大量实验测试, 若γ>10, 则会由于局部调整过亮而产生雪花状斑点;若γ<7, 则人像的瑕疵淡化不明显.综上, 将较高的平滑系数设置为9, 较低的平滑系数设置为7, 将默认值设置为8, 也可选择手工调整平滑系数.
3) 基于平滑系数去除显著瑕疵.
调整平滑系数, 将红、蓝2层通道中瑕疵所在位置的像素亮度调高, 若瑕疵在视觉效果上与正常皮肤的亮度相似, 则能达到轻微人像皮肤美化效果.
该方法在计算时仅微调了部分像素的亮度, 能够很好地保留人像皮肤的真实细节.虽然该步骤的皮肤美化程度不深, 但是能淡化甚至去除面部显著瑕疵.在后续的皮肤美化步骤中不仅可以基于较低的皮肤美化系数, 达到更优的整体皮肤美化效果, 而且可以在一定程度上加大皮肤美化系数而不破坏人像的真实感细节.
如图 4所示, 将虚线框区域内存在的深色斑点以及皱纹等诸如此类的深色部分视为显著瑕疵, 将实线框内的这类瑕疵视为普通瑕疵.调整人像的蓝色通道能去除大部分面部显著瑕疵, 并且能保持原图像的真实度和清晰度;调整人像的红色通道后, 人像面部所有的显著瑕疵几乎都被消除了.这为后续的普通瑕疵去除做了很好的铺垫.
![]() |
图 4 基于面部显著瑕疵特征蒙板的人像显著瑕疵去除实例 Fig. 4 Examples of apparent facial blemishes removement based on facial apparent blemish feature mask |
在去除人像面部显著瑕疵之后, 为了保证能够去除人像的所有瑕疵, 采用面部关键区域特征蒙板进一步去除剩余的面部普通瑕疵.
图像的平滑滤波有很多种, 双边滤波在图像去噪的基础上能保持边缘的清晰度, 这正好符合人像平滑处理时保持人像五官以及面部轮廓的需求, 因此选取CBLF算法.该算法是一种权衡速率和平滑效果的双边滤波算法, 能在保持平滑效果的同时固定算法计算复杂度(由滤波窗口大小决定).该算法的核心思想主要为2个要点:1)基于傅里叶分析计算的近似高斯范围内核;2)周期长度的优化.
如图 5所示为仅使用压缩双边滤波(compressive bilateral filtering, CBLF)算法的全局皮肤美化结果, 虽然双边滤波能去除图像中的所有面部普通瑕疵, 且对图像边缘的保持效果较好.但是该滤波是针对整张人像的, 因此经过该步骤全局皮肤美化处理后的人像总体会比较模糊, 失去原人像的真实清晰感.可以看出,人像的面部关键区域(眉、眼、鼻、嘴)以及背景细节几乎全被磨去, 因此本文提出构建多重蒙板优化技术来保留人像的真实感细节.
![]() |
图 5 基于CBLF的普通面部瑕疵去除实例 Fig. 5 Portrait examples of facial normal blemishremovement using CBLF |
Face++[4]是基于机器学习对人像进行一系列分析计算的算法, 其应用范围非常广泛, 包含人脸检测、人脸分析、人脸识别以及许多有趣的衍生小应用等.使用Face++提供的在线API进行二次开发, 可以将检测得到的人脸关键点用于蒙板的建立.
Face++算法包含了4层级联的卷积网络, 能利用由粗略到精细的方式来解决问题, 将这种新的系统框架与几何优化结合在一起能得到非常精确的68个面部关键点.第一层网络包含2个神经网络, 用于初步确定人脸位置;第二层网络利用3个神经网络来训练得到人脸内部的51个点, 并利用1个神经网络来训练得到人脸下半部轮廓的17个点;第三层网络用于精炼人脸内部的定位点;第四层网络用于预测最终的检测结果.因为该算法没有为每一个面部特征点都训练单独的网络, 所以可以大大减少系统测试时间, 检测结果如图 6所示.
![]() |
图 6 基于Face++检测得到的68个人脸关键点 Fig. 6 68 facial key points by Face++ detection |
因为每个人的面部特征都不一样, 所以每张人像的五官形状和大小也完全不同.基于Face++得到的68个人脸关键点, 首先连接眉毛、眼睛和嘴部的特征点构建轮廓, 其中嘴部的牙齿区域被视为不需要进行皮肤美化处理的非皮肤对象.其次鼻部皮肤的颜色与面部皮肤十分相似, 所以保留鼻孔以及鼻孔附近区域作为鼻部特征区域.最后, 需要考虑下巴边界轮廓, 基于Face++得到的轮廓特征点十分精确, 但是线条宽度只有1个像素, 无法作为特征区域, 因此将特征点的角平分线适度向两侧平移, 建立一条人脸边界带作为轮廓特征区域.若所有在轮廓内的像素点是构成蒙板的坐标点P, 则蒙板计算过程如下.
Face++检测得到的坐标点为Fn(xn, yn), 其中F1~F19为脸部轮廓点, F20~F29为左眼轮廓点, F30~F37为左眉毛轮廓点, F38~F46为下嘴唇轮廓点, F47~F55为上嘴唇轮廓点, F56~F65为鼻部轮廓点, F66~F75为右眼轮廓点, F76~F83为右眉毛轮廓点.令D(p′n)为判断像素点是否在轮廓内的函数, 若像素点在轮廓内则D(p′n)返回true, 并保存该像素点作为蒙板点, 若像素点在轮廓内则D(p′n)返回false.
$ P\left( x, y \right)=~\left\{ \begin{align} &{\rm{NULL}}, \mathit{D}({{{{p}'}}_{n}})={\rm{false}}; \\ &{p}'\left( {x}', {y}' \right), D({{{{p}'}}_{n}})={\rm{true}}. \\ \end{align} \right. $ | (9) |
综合上述特征区域, 构建出面部几何区域特征蒙板, 将其中需要被保留的特征区域设为白色, 如图 7所示.
![]() |
图 7 基于Face++构建的面部关键区域特征蒙板 Fig. 7 Facial key features mask constructed by Face++ |
虽然上述步骤的优化已在去除所有瑕疵的基础上保留了人像的部分真实感信息, 但是加入面部关键区域特征蒙板后, 若是仅做简单的迭加处理, 则会在迭加边界产生一些分界线轮廓噪声, 如图 9(b)所示的鼻子附近会有一些马赛克状的斑点.基于上述问题, 针对该噪声类型, 选择高斯滤波对图像进行蒙板平滑过渡处理.图像高斯滤波的原理是对每个像素与该像素邻域内的像素计算加权平均, 二维高斯滤波函数如下:
$ G\left( x, y \right)=\frac{1}{2\pi {{\sigma }^{2}}}{\rm{exp}}~\left( -\frac{{{(x-{{x}_{0}})}^{2}}+{{(y-{{y}_{0}})}^{2}}}{2{{\sigma }^{2}}} \right). $ | (10) |
![]() |
图 9 基于面部关键区域特征蒙板的细节保留效果分析 Fig. 9 Effect analysis of detail-preserving examples based on facial key features mask |
式中:(x, y)为当前像素点的坐标, (x0, y0)为对应像素点的坐标, σ为高斯滤波的处理窗口大小即平滑系数, 默认设置大小为3×3.
这种优化方法能在解决像素过渡不均匀问题的基础上, 保留人像的真实感信息.如图 8所示为基于特征蒙板平滑滤波融合后的人像皮肤美化实例.如图 9所示, 图 9(a)为CBLF全局皮肤美化的结果, 图 9(b)为仅迭加蒙板的结果, 图 9(c)为过渡融合处理的结果, 右下角为虚线框内变化较为明显的细节的放大图, 即为基于该蒙板保留人像真实细节的效果.可以看出, 面部的关键区域特征清晰度均有明显提高, 不过人像的背景特征仍然比较模糊.
![]() |
图 8 基于面部关键区域特征蒙板的细节保留实例 Fig. 8 Detail-preserving examples based on facial key features mask |
人像的背景经过全局皮肤美化处理会变模糊, 导致整张照片看起来严重失真.为了解决这个问题, 采用OpenCV中的皮肤检测算法来保留人像背景细节特征.该算法基于HSV色彩空间, 计算皮肤的Hue阈值, 从而得到人像的皮肤区域[22].这就需要制作一定数量的数据集(手工分割皮肤和非皮肤的人像图)来训练以得到这个Hue阈值.本文采用OpenCV中已经训练好的阈值作为判断依据.
若每个像素的HSV色彩空间值为c, 则人像背景特征蒙板中的像素值计算为
$ p\left( x, y \right)=\left\{ \begin{align} &{\rm{NULL}}, \mathit{c}\notin {\rm{Hue}}; \\ &{p}'\left( {x}', {y}' \right), c\in {\rm{Hue}}. \\ \end{align} \right.~ $ | (11) |
如图 10所示为采用该皮肤检测算法得到的人像背景蒙板, 其中白色区域为计算得到的皮肤区域.该算法虽然准确率不高, 但是可以划分出大部分的非皮肤区域, 还可以根据肤色检测的结果保留小部分嘴唇和眼睛的细节.
![]() |
图 10 基于肤色检测算法的人像背景特征蒙板 Fig. 10 Portrait background feature mask constructed by skin color detection algorithm |
如图 11所示为利用人像背景特征蒙板仅对人像的皮肤进行CBLF皮肤美化, 与未加入蒙板的全局皮肤美化效果对比, 可以明显地看出图中4个例子的背景清晰度均显著提高.如图 12所示为第一张人像的放大对比图, 虚线框内为人像细节变化显著的区域.图 12(a)的人像背景(帽子)和头发很模糊, 加入背景蒙板后帽子和头发纹路的清晰度明显提高, 见图 12(b).虚线框内为清晰度进一步提升的部分, 可以发现人的眼睛(特别是下眼睫毛)和嘴唇都变得更加真实生动.虽然整张人像的真实度有明显的提升,但是鼻梁等面部立体感细节仍然不够理想.
![]() |
图 11 基于人像背景特征蒙板的人像细节保留实例 Fig. 11 Portrait detail-preserving examples based on portrait background feature mask |
![]() |
图 12 基于人像背景特征蒙板的细节保留效果分析 Fig. 12 Analysis of detail-preserving effect based on portrait background feature mask |
第2.1节提及的高反差保留不仅可以将人像的瑕疵筛选出来, 对于已经去除大部分瑕疵的人像来说, 高反差保留还可以用于提取人像的立体视觉特征, 使得人像经过平滑处理后仍然能够保留原图的真实立体细节特征.基于高反差保留, 可以针对去除了显著瑕疵的人像结果构建面部立体视觉控制蒙板.
与构建面部显著瑕疵蒙板的原理相似, 按下式计算构成蒙板的像素点:
$ P\left( x, y \right)=\left\{ \begin{align} &{\rm{NULL}}, {{\mathit{B}}_{\mathit{n}}}\ne 0; \\ &{p}'\left( {x}', {y}' \right), {{B}_{n}}=0. \\ \end{align} \right.~ $ | (12) |
但是与显著瑕疵蒙板不同的是, 这些像素点为需要保留的立体视觉特征信息.
5.2 基于面部立体视觉控制蒙板的立体视觉特征保留如图 13所示为高反差保留处理后的面部立体视觉控制蒙板与上述双重蒙板细节保留结果的线性混合实例.如图 14所示, 图(a)为上一步骤中保留人像背景细节后的结果图, 图(b)为融合面部立体视觉特征蒙板后的人像图, 虚线框内为人像细节效果显著提升区域.面部立体视觉特征层增加了鼻部阴影效果, 增加了人中部位的凹凸感, 并使得下巴边界更加清晰.因为鼻子和人中部位均由色泽相似的皮肤组成, 无法像眼睛和嘴部那样明显区分, 所以鼻部阴影和人中的凹凸感在一般的人像平滑处理中是最难保留和增强的.面部立体视觉控制蒙板的线性混合很好地解决了这个问题.
![]() |
图 13 基于面部立体视觉控制蒙板的人像细节保留实例 Fig. 13 Detail-preserving examples based on facialstereo vision control mask |
![]() |
图 14 基于面部立体视觉控制蒙板的立体视觉特征保留效果分析 Fig. 14 Analysis of detail-preserving effect based onfacial stereo vision control mask |
将普通常用的平滑算法(如:中值滤波、均值滤波和高斯滤波)作为对照组, 逐渐加深皮肤美化程度.人像结果如图 15所示, 皮肤美化程度由系数s决定, s越大则皮肤美化程度越深.在s=7和s=11的情况下, 3种滤波都无法彻底去除人像面部瑕疵;而在s=21的情况下, 虽然大部分面部瑕疵都被去除, 但是3种滤波的人像结果都会变得非常模糊.
![]() |
图 15 普通平滑滤波在不同系数时的皮肤美化效果 Fig. 15 Comparison of skin beautification resultsunder different coefficients based on regularsmoothing filtering |
如图 16所示, 选取4张皮肤瑕疵较为明显的人像作为实验对象.以不加蒙板的CBLF全局皮肤美化人像结果作为实验对照, 将全局皮肤美化的人像结果和采用多重特征蒙板优化方法的人像皮肤美化结果进行对比.图(a)为原图, 图(b)为多重蒙板优化技术能去除瑕疵时所用的CBLF皮肤美化系数sCBLF对应的CBLF算法全局皮肤美化结果图, 图(c)为多重蒙板优化技术去除面部瑕疵结果图, 图(d)为CBLF算法能去除面部瑕疵时的结果图, 图(e)为CBLF算法能去面部除瑕疵时相同sCBLF值对应的多重蒙板优化技术的结果图, 图(f)为较高sCBLF的CBLF算法的结果图, 图(g)为较高sCBLF的多重蒙板优化技术结果图.
![]() |
图 16 皮肤美化系数不同时CBLF算法与多重蒙板优化技术的面部瑕疵去除效果对比 Fig. 16 omparison between facial blemish removement results using CBLF algorithm and multiple feature masks optimization technology under different skin beautification coefficients |
CBLF算法在sCBLF较低时, 无法较好地去除面部瑕疵(见图 16(b)), 而相同sCBLF的多重蒙板优化技术可以较好地去除面部瑕疵(见图 16(c)).提高系数sCBLF后, CBLF算法的去除结果图 16(d)所示, 此时该算法虽然能较好地去除面部瑕疵, 但是无法保留背景以及面部关键特征的清晰度和真实感;在sCBLF相同的情况下, 多重蒙板优化技术不仅能较好地去除人像面部瑕疵, 还能较好地保留人像背景细节、面部几何关键区域细节以及整张人像的面部立体感(见图 16(e)).当CBLF算法采用较极端的系数(sCBLF=50)时, 会产生些许瑕疵回现的问题, 并且人像会呈现出扁平化的卡通画效果(见图 16(f)), 而多重蒙板优化技术采用较极端的系数时仍然能够在保持瑕疵去除力度的同时较好地保留人像真实感信息.
如图 17所示为多重蒙板优化技术针对不同分辨率的人像的处理效果, 其中, 分辨率为72的图是该人像的原图.可以明显地看出, 多重蒙板优化技术对人像的优化效果变化差异不大, 因此人像的分辨率对多重蒙板优化技术并没有什么实质性的影响.
![]() |
图 17 多重蒙板优化技术对不同分辨率的人像的面部瑕疵去除效果对比 Fig. 17 Comparison among facial blemish removement results for portraits with different resolution values using multiple feature masks optimization technology |
多重蒙板优化技术不仅能以较低的皮肤美化系数去除人像面部瑕疵, 还能较好地保留人像真实感信息, 解决了普通磨皮算法在系数较低时无法完全去除瑕疵而在系数较高时易丢失真实感信息的矛盾.
6.2 人像商用系统的对比实验挑选几种较为普及的软件与多重蒙板优化技术进行对比.如图 18所示, 以美图秀秀软件为例, 如图 18(c)所示为多重蒙板优化技术结果叠加美图秀秀默认系数的美白功能, 将其作为实验控制变量.经对比可以发现, 多重蒙板优化技术在面部皮肤瑕疵较为严重的情况下仍然可以完全去除面部皮肤瑕疵, 并保留真实立体感, 而其他美化功能的结果都存在皮肤瑕疵未被完全去除的问题, 如图 18(d)~(f)所示.
![]() |
图 18 皮肤美化系数不同时美图秀秀软件与多重蒙板优化技术的面部瑕疵去除效果对比(括号内为美图秀秀软件使用的皮肤美化系数) Fig. 18 Comparison between facial blemish removement results using MeiTuXiuXiu software and multiple feature masks optimization technology under different MeiTuXiuXiu coefficients (skin beautification coefficients for MeiTuXiuXiu software are in brackets) |
美图秀秀软件在皮肤美化时会利用增白人像来辅助达到去除人像皮肤瑕疵的效果, 因此仅使用磨皮功能时人像也会略微增白, 而多重蒙板优化技术的侧重点在于面部皮肤瑕疵去除, 没有加入人像美白功能.虽然图 18(g)叠加了美白效果, 看上去似乎去除了面部瑕疵, 但是将其与多重蒙板优化技术的结果(图 18(c))对比会发现图 18(g)的人像过于白亮, 失去了原人像应有的真实性和立体感.
综上, 实验证明多重蒙板优化技术能在去除大量面部瑕疵的同时, 实现更真实的人像优化效果, 即使叠加美白功能也不会出现惨白失真的情况, 并且人像所有的立体感细节都能被保留.
如图 19所示为其他几种主流人脸美化软件的结果, 包含百度魔图、美颜相机、Portrait+、PicTreat和Portraiture.为了控制变量, 在多重蒙板优化技术结果的基础上增加美图秀秀软件的美白效果(见图 19(f)), 以便于效果对比.类似于美图秀秀的技术, PicTreat(见图 19(g))和美颜相机(见图 9(h))均会通过调整人像的亮度来提升视觉效果.实验中若这些商用软件没有自动美颜的功能, 则选取软件最大的磨皮系数.其中, 美颜相机的自动美颜功能(见图 19(h))和百变魔图的自动磨皮功能(见图 19(e))效果相对较好, 但是图 19(c)、(e)、(g)、(h)中上排人像的脸颊部分以及图 19(c)、(d)、(e)、(g)、(h)中下排人像的鼻子和人中部分的皮肤瑕疵都没有被完全去除.由于Portrait+在测试时提示无法处理像素小于25万的人像, 为了进行对比实验, 实验时替换了内容相同但是像素不同的人像图片.
![]() |
图 19 多种人像优化软件与多重蒙板优化技术对面部瑕疵去除效果的对比(Portrait+免费版有水印) Fig. 19 Comparison among facial blemish removement results using different facial beautification softwares and multiple feature masks optimization technology (Portrait+ Free version has watermark) |
经过对比可以发现, 多重蒙板优化技术在人像皮肤瑕疵面积大且瑕疵数量大的情况下能实现较好的优化效果, 这是目前市面上主流自动或半自动人脸美化软件无法实现的.但这些软件中的美白、大眼及瘦脸等功能可以更好地美化人像, 这可作为以后的技术优化方向.
6.3 人像数据的多样性实验为了实现测试数据的多样性, 增加针对复杂背景、不同性别、较大人脸姿态、存在头发与眼镜遮挡、不同分辨率以及来源于不同标准人脸数据库的测试实验.如图 20所示为采用多重蒙板优化技术对源于3个不同人像数据库的人像样本(包含从Caltech[23]数据库选取的有刘海遮挡和有胡须遮挡的人像样本, 从FEI[24]数据库选取的不同姿态人像样本, 从LFW[25]数据库选取的侧脸、较夸张面部表情以及有眼镜或墨镜遮挡的人像样本)的处理结果.选择样本时都考虑了性别、年龄以及背景简单或复杂等因素.从图 20(b)能明显看出, 对所有的人像实例, 多重蒙板优化技术都能实现较好的磨皮优化效果.
![]() |
图 20 多重蒙板优化技术对含有不同干扰因子人像的面部瑕疵去除效果对比 Fig. 20 Comparison among facial blemish removement results for portraits with different interference factors using multiple feature masks optimization technology |
实验对比了其他相关文献方法的效果, 结果如图 21所示.虚线框内为与多重蒙板优化技术效果对比较为明显的瑕疵区域.文献技术对比如表 1所示.文献[16]的算法主要运用了条件随机场进行数据训练, 侧重点在于去除面部突出瑕疵以及人像红眼, 与多重蒙板优化技术结构有较大不同.因为采用文献[16]的方法得到的人像处理结果相当于多重蒙板优化技术中显著瑕疵去除蒙板和细节保留蒙板的效果, 所以采用该方法去除单个特别突出的皮肤瑕疵(如:大痘痘)效果非常理想.针对人像面部数量大且不明显突出的瑕疵(如一些小皱纹和胡渣等)多重蒙板优化技术效果更好.因为文献[14]和[15]的算法在处理瑕疵时均未考虑将显著层瑕疵和普通层瑕疵分开处理, 并且2种算法均使用高斯滤波和ASM特征点检测, 效果不如多重蒙板优化技术选用的CBLF和Face++, 导致这2种算法无法完全去除较为显著的瑕疵.文献[15]的算法可以看作是在文献[14]算法基础上的优化, 由于该文献中所用的例子都是瑕疵较少的人像, 对比不明显, 本文将人像的部分瑕疵进行放大对比, 见图 21.可以看出, 本文方法的去除瑕疵效果相对更好.由于文献[15]的算法自动调整了人像的亮度, 为了控制变量进行实验对比, 多重蒙板优化技术在对比时也适当调亮了人像结果.
![]() |
图 21 多重蒙板优化技术与其他相关文献中的技术对人像面部瑕疵去除效果对比 Fig. 21 Comparison among facial blemish removement results for portraits using multiple feature masks optimization technology and technologies in other relevant literatures |
![]() |
表 1 多重蒙板优化技术与其他相关文献中技术的细节对比 Table 1 Comparison among technology details for multiple feature masks optimization technology and technologies in other relevant literatures |
综上所述, 多重蒙板优化技术在面对复杂多样性的人像数据时能保证良好的磨皮效果, 这对现有人像皮肤美化技术的优化有一定的贡献意义和参考价值.
7 结论(1) 基于面部显著瑕疵特征蒙板去除人像瑕疵的方法能以较低的磨皮系数去除人像的面部瑕疵, 而普通的磨皮算法通常需要相对较高的系数来去除人像面部瑕疵.
(2) 基于人像背景特征蒙板和面部几何区域特征蒙板保留人像背景真实感信息的方法可以在不破坏人像真实细节的前提下将系数增大至50左右, 而普通的磨皮算法将系数调至21左右就会产生真实细节丢失的问题.
(3) 基于平滑滤波的蒙板融合不仅采用双重蒙板保留人像的主要面部特征, 还加入了融合处理, 用于解决直接叠加蒙板时接缝处出现的不均匀感问题.
(4) 基于面部立体视觉控制蒙板保留人像立体真实感细节的方法可以很好地保留鼻部阴影、人中凹凸感等较难处理的面部真实感细节特征.
现有的人像平滑处理方法很难在保证瑕疵完全去除的情况下保留人像真实感, 实验结果表明, 多重蒙板优化技术能利用基础的算法原理, 较好地处理这个问题, 即在保留人像重要特征的同时实现人像平滑处理.与现有的皮肤美化软件或是皮肤美化算法相比, 多重蒙板优化技术的人像瑕疵去除力度和人像真实度均大幅度提高, 并能取得较好的人像皮肤美化效果.本文结论能够对目前人像皮肤美化方法的改进提供参考.
[1] | CHEN D, REN S, WEI Y, et al. Joint cascade face detection and alignment[C]//ECCV. Zurich:Springer, 2014:109-122. http://vigir.missouri.edu/~gdesouza/Research/Conference_CDs/ECCV_2014/html/8694/86940109.htm |
[2] | ZHANG K, ZHANG Z, LI Z, et al. Joint face detection and alignment using multi-task cascaded convolutional networks[J]. IEEE Signal Processing Letters, 2016, 23(10): 1499–1503. DOI:10.1109/LSP.2016.2603342 |
[3] | RANJAN R, PATEL V M, CHELLAPPA R. HyperFace:a deep multi-task learning framework for face detection, landmark localization, pose estimation, and gender recognition[J]. IEEE Transactions On Pattern Analysis and Machine Intelligence, 2016(3): 1–10. |
[4] | ZHOU E, FAN H, CAO Z, et al. Extensive facial landmark localization with coarse-to-fine convolutional network cascade[C]//IEEE International Conference on Computer Vision Workshops. Moscow:IEEE, 2013:386-391. http://dl.acm.org/citation.cfm?id=2586273 |
[5] | LIN P H, CHEN B H, CHENG F C, et al. A morphological mean filter for impulse noise removal[J]. Journal of Display Technology, 2016, 12(4): 344–350. |
[6] | KULKARNI R K, LAHOTI C B, MEHER S. Impulse denoising using improved progressive switching median filter[C]//ICWET'10 International Conference and Workshop on Emerging Trends in Technology. New York:ACM, 2010:586-590. https://dl.acm.org/citation.cfm?doid=1741906.1742041 |
[7] | BAEK J, JACOBS D E. Accelerating spatially varying Gaussian filters[J]. Acm Transactions on Graphics, 2010, 29(6): 81–95. |
[8] | ADAMS A, GELFAND N, DOLSON J, et al. Gaussian KD-trees for fast high-dimensional filtering[J]. ACM Transactions on Graphics, 2009, 28(3): 1–12. |
[9] | CARLOS A B M. Filtering the shadows from poorlyilluminated photos[J]. ACM Symposium on Applied Computing, 2010: 1599–1600. |
[10] | FUJITA S, FUKUSHIMA N, KIMURA M, et al. Randomized redundant DCT:efficient denoising byusing random subsampling of DCT patches[C]//SIGGRAPH Asia 2015 Technical Briefs. New York:ACM, 2015:7. http://dl.acm.org/authorize?N06504 |
[11] | LAPARRA V, GUTIERREZ J, CAMPS V G, et al. Image denoising with kernels based on natural image relations[J]. Journal of Machine Learning Research, 2010, 11(1): 873–903. |
[12] | DABOV K, FOI A, KATKOVNIK V, et al. Image denoising by sparse 3D transform-domain collaborative filtering[J]. IEEE Transactions on Image Processing, 2007, 16(8): 2080–2095. DOI:10.1109/TIP.2007.901238 |
[13] | SUGIMOTO K, KAMATA S I. Compressive bilateral filtering[J]. IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society, 2015, 24(11): 3357–3369. DOI:10.1109/TIP.2015.2442916 |
[14] | LEE C, SCHRAMM M T, BOUTIN M, et al. Analgorithm for automatic skin smoothing in digitalportraits[J]. IEEE International Conference on Image Processing Pages, 2009: 3149–3152. |
[15] | LIANG L, JIN L, LI X. Facial skin beautificationusing adaptive region-aware masks[J]. IEEE Transactions on Cybernetics, 2014, 44(12): 2600–2612. DOI:10.1109/TCYB.2014.2311033 |
[16] | BRAND M, PLETSCHER P. A conditional random field for automatic photo editing[C]//IEEE Conference on Computer Vision and Pattern Recognition.Ancholage:IEEE, 2008:1-7. https://www.infona.pl/resource/bwmeta1.element.ieee-art-000004587588 |
[17] | YANG Y, ZHAO H, YOU L, et al. Semantic portrait color transfer with internet images[J]. Multimedia Tools and Applications, 2017, 76(1): 523–541. DOI:10.1007/s11042-015-3063-x |
[18] | LIAO Q, JIN X, ZENG W. Enhancing the symmetry and proportion of 3D face geometry[J]. IEEE Transactions on Visualization and Computer Graphics, 2012, 18(10): 1704–1716. DOI:10.1109/TVCG.2012.26 |
[19] | GUO D, SIM T. Digital face makeup by example[C]//IEEE Conference on Computer Vision and Pattern Recognition. Miami:IEEE, 2009:73-79.https://www.computer.org/csdl/proceedings/cvpr/2009/3992/00/05206833-abs.html |
[20] | GUO G. Digital anti-aging in face images[C]//IEEE International Conference on Computer Vision. Barcelona:IEEE, 2011:6-13.https://www.computer.org/csdl/proceedings/iccv/2011/1101/00/06126537-abs.html |
[21] | GONZALEZ R C, WOODS R E. Digital image processing[M]. 3rd ed. New Jersey: Prentice Hall, 2002: 305-308.https://book.douban.com/subject/2349114/ |
[22] | DADGOSTAR F, SARRAFZADEH A. An adaptive real-time skin detector based on Hue thresholding:a comparison on two motion tracking methods[J]. Pattern Recognition Letters, 2006, 27(12): 1342–1352. DOI:10.1016/j.patrec.2006.01.007 |
[23] | MARKUS W. Caltech:frontal face dataset[EB/OL].[1999-01-01]. http://www.vision.caltech.edu/html-files/. |
[24] | FEI. Face database[EB/OL].[2006-01-01]. http://fei.edu.br/~cet/facedatabase.html. |
[25] | KAE A, SOHN K, LEE H, et al. Augmenting CRFs with Boltzmann machine shape priors for image labeling[C]//IEEE Conference on Computer Vision and Pattern Recognition. Portland:IEEE, 2013:2019-2026. http://dl.acm.org/citation.cfm?id=2516019 |