一种基于样本模板的数字化妆方法
【技术领域】
[0001] 本发明属于数字图像处理与人工智能技术领域,特别是设及一种人脸图像数字化 妆的处理方法。
【背景技术】
[0002] 现代社会化妆已经成为许多人的生活习惯。随着可摄像智能移动终端的普及和图 像处理技术的发展,如今人们已经开始利用智能移动终端上的应用给自己的图像进行美化 甚至是数字化妆。
[0003] 数字化妆技术在日常生活中有着非常巨大的应用潜力。例如,化妆品电商可W利 用数字化妆应用为客户提供虚拟试用功能;化妆服务提供机构可W利用数字化妆应用为客 户提供最佳的化妆方案;人们日常生活中可W利用数字化妆应用挑选合适自己的妆容;人 们在分享图片到社交网络前可W利用数字化妆应用对自己的图片进行化妆等等。
[0004] 目前,数字人脸化妆技术的文献为数不多。祝秀萍等人在2008年计算机与信息技 术期刊上发表的论文"人脸虚拟化妆系统的研究"中提出建立化妆品颜色和肤色模型,来模 拟人脸化妆效果,但只能提供一些美白、唇彩等基本效果,眼影、眼线等效果并不明显。Wai-Siun Tong等人在2007年发表的会议论文巧xample-based cosmetic transfer"中提出从 同一人脸化妆前和化妆后的人脸图像对中学习出化妆对人脸外观的影响,再将运个影响添 加到另外一张人脸中,实现化妆转移效果。运种方法限制较多,因为对每一个想实现的化妆 效果都必须要收集同一个人脸几乎相同角度的化妆前后图片,而且要求样本图像和目标图 像有相似脸型和表情,甚至需要手动操作使得样本图片和目标图片的眼睛、嘴己在相同位 置,操作复杂,实用程度较低。Dong Guo等人在2009年会议论文"Digital face makeup by example"中提出基于化妆转移思想的数字人脸化妆技术,但不再需要样本人脸化妆前后的 图像对,只需要有化妆后的人脸图像。由于使用薄片扭曲形变算法对准样本人脸和目标人 脸图像,因此不要求样本人脸和目标人脸脸型相似,不需担屯、两个人脸的五官位置对不齐。 但是,该算法采用主动形状模型ASM标注特征点,运个算法准确率不够高,很多时候需要用 户手动去调整特征点位置。
【发明内容】
[0005] 本发明的目的在于利用数字图像处理方法,提供一种基于样本模板的数字化妆方 法,对用户提供的淡妆或素颜人脸照片,经过处理后,输出一张该人脸化妆之后的图像。
[0006] 本发明采用的技术方案如下。
[0007] -种人脸图片数字化妆的方法,对移动智能终端采集的人脸图像和妆容提供图像 分别依次进行人脸检测、人脸特征点定位、人脸变形对准和人脸图像图层分解步骤后,再进 行相应图层合成,最终获得输出的化妆后的人脸图像。
[000引所述的基于样本模板的数字化妆方法包括:
[0009] (1)、人脸检测;
[0010] (2)、人脸特征点检现憶位;
[0011] (3)、人脸变形配准;
[0012] (4)、人脸图层分解;
[0013] (5)、人脸图层合成。
[0014] 所述步骤(1)是人脸检测,其目的是是检测输入图像是否含有人脸,若是,则判断 人脸位置、大小和数量。本发明利用类化ar特征的AdaBoost级联分类器来检测和标示图像 中人脸位置。
[0015] 所述步骤(2)是人脸特征点检测定位,其目的是在图像的人脸区域内,标定出人脸 特征点的位置。人脸特征点是包括人脸五官的轮廓点,本发明利用主动表观模型AAM (Active Appearance Models)进行特征点定位。首先,有效地提取形状及纹理等先验知识, 对事先人工标注好的训练图像集进行统计、分析,获得关于目标对象形状和纹理的模型,然 后根据此形状和纹理模型,对测试样本进行多次迭代捜索、匹配,同时根据测试样本的实际 情况调整先验模型参数,从而得到最终的准确的特征点定位输出。
[0016] 所述步骤(3)是变形配准,其目的是利用图片变形技术将妆容提供图像对准到输 入人脸图像。图像变形算法的主要步骤包括指定特征图元,根据特征图元的对应关系生成 变形函数,最后映射并插值得到最终的输出图像。本发明利用人脸特征点作为特征图元,采 用层次自由形状变形算法(Multilevel化ee-form Deformation,MF抑)进行变形映射,从 而得到对准后的待化妆人脸。
[0017] 具体操作如下:指定使用人脸特征点作为特征图元,根据特征图元的对应关系,推 导出所需要的变形函数,将妆容提供图像对准到输入人脸图像。Ω代表变形目标对象,p = (u,v)(l <u<m且1 < v<n)代表Ω中任意一个点。函数讯(口)=(义(口),7(口))代表〇变形后得 到的形状。针对目标对象Ω构建大小为(m+2) X (n+2)的覆盖于变形目标Ω上的控制网格 巫。控制网格Φ上的控制点在不同状态下可能处于不同位置。用樓=化乃代表当Φ在算法 开始时,第ij个控制点所在位置。通过控制网格Φ上控制点的位置,计算出变形所需要的变 形函数W。变形函数W定义为:
[001 引
[0019]式中,下标满足条件-l,y = _v_ - l,.s = M - _M_ ,? = _v_ -V,函数Bk(s)、Bi(t)是 均匀的Ξ次B样条曲线的基函数,运些函数式如下所示:
[0025] 开始时,控制点在初始位置,经过两个或者W上的共线控制点的B样条曲线肯定是 线性的,此时Φ并没有变形,所W可W得到:
[0026]
[0027]先移动单个特征点,即假设变形目标Ω应该被变形W使得其中的p移动到指定的 位置9上,gPw(p) =9,过程中位移为Δ q = w(p)-w*^(p) =9可,为了简化公式表示,假设口 = (u,v),l <ιι,λΚ2,可得:
[002引
[0029] 其中wki = Bk(s)Bi(t)且s = u-l,t = v-l。Δ φκ满足上式的解有很多个。本发明使 用基于最小平方意义的解法,即如下所示:
[0030]
[0031 ]当移动多个控制点时,假设通过移动控制网格的控制点,将代表目标对象Ω的点 集Ρ中的点全部变形,即对于原点集Ρ中任意一个点Ρ都有W (Ρ) = q,其中q代表Ρ变形后在点 集Q中的位置。令P ' = {(Uc,Vc)}为P中的子集,满足i-2如c<i+2且j-2 < vc< j+2。记Φ为巫中 第ij个控制点并且Φ的初始位置为(i,j),可W看出P'就是受Φ位移影响的特征点集。对P' 中的每个点P。而言,将P。移动到给定目标位置所需的邻近控制点位移A Φ。的计算如式
所示。对于P '中的每个点,A Φ。并不一定相同,所W每个控制点Φ位 移Δ Φ都应该使得所有点的变形误差最小,从而尽可能避免控制点Φ的位移使得P中其他 的点被移动到错误的位置。
[0032] 变形误差定义如下:
[0033]
[0034] 式中,WcA Φ代表由控制点Φ的位移Δ Φ引起的点Pc的位移,WcA Φ。代表实现移 动点P。到指定位置运一目标所需的全部控制点位移导致的点集位移。因此,式
衰明,变形误差代表的是P'中的每个点Pc =(山,Vc)对应的Wc Δ Φ和Wc Δ Φ C 之差的平方和。上式中,Wc = Bk(s)Bi(t)走+ ,./ 二(./ + l) = [v」,. S - 乂_ ? =哈-乂_。由式
巧Δ Φ求导,并使导数为零,可得