一种基于五官定位快速简单上腮红的图像处理方法与流程

文档序号:14131553阅读:849来源:国知局

本发明涉及一种基于五官定位快速简单上腮红的图像处理方法。



背景技术:

在当前社会中,数字图像处理在移动设备或者嵌入式体验终端中显得越来越重要,其中尤其以人脸美妆或化妆最为普遍流行。在数字图像的化妆过程,需要对腮红部位进行上妆,由于人脸的形态各异,角度各不相同,而腮红的化妆部位和形状往往千变万化,满足不同的腮红处理需求成为解决数字图像处理化妆中的重要一环。

中国专利申请号cn201310530913.x提出一种对人脸自动上腮红的图像处理方法,其通过对原始图像进行人脸检测,一方面进行肤色识别并计算人脸区域的皮肤均色以得出需要的腮红颜色,另一方面进行特征点定位并结合肤色识别结果得出需要上腮红的位置,从而实现智能、自动的对原始图像进行上腮红处理得到新图像。

在中国专利申请号cn201310530913.x进行图像腮红处理需要计算人脸皮肤的均色,而且在定位腮红部位的过程主要使用眼睛和鼻子的位置定位出腮红的椭圆形区域。以方便计算皮肤均色过程耗费时间,另一方面通过鼻子和眼睛位置定位出腮红椭圆区域对于人脸腮红上妆部位和形状有限,降低了腮红上妆的灵活性和多变性。

在当前的移动终端设备(如智能手机、平板电脑、智能穿戴设备等)以及嵌入式体验设备(如虚拟化妆镜、化妆台等),由于在计算化妆部位的数量较多,处理较为复杂,为了达到实时的效果,每个化妆部位的速度和效率成为整体得以实现的基础。



技术实现要素:

本发明旨在提供一种基于五官定位快速简单上腮红的图像处理方法,达到腮红上妆的灵活性和多样性的目的,拟合在真实世界中的腮红化妆效果,达到更加逼真的效果。

为解决上述技术问题,本发明所采用的技术方案是:

本发明利用五官定位获取标点数据,根据不同的腮红形状风格组合不同的特征点组合,直接获得各种各样的腮红上妆风格,通过该方法达到腮红上妆的多变性和灵活性。同时使用高斯滤波和经过缩小和放大的方法加速滤波的速度效率和进一步使得腮红形状的平滑化,达到更加逼真的效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例流程示意图;

图2为本发明实施例腮红处理演示图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

如图1、2所示,一种基于五官定位快速简单上腮红的图像处理方法,具体步骤如下:

1)接收原始图像,以rgb模式加载原始图像。

2)使用预先训练好的人脸识别模型(卷积神经网络模型)对原图进行人脸识别和五官以及脸部轮廓标点(共计106个特征点)。

3)对原图像矩阵进行线性归一化处理,处理公式如下:

c=(a-minvalue)/(maxvalue-minvalue)

其中minvalue取值为0.0,maxvalue取值为255.0

4)根据预设选择的腮红形状风格选取从步骤2)中获取的相应的特征点,参见附图中的腮红常见形状和特征点的组合。对于部分特征点需要经过一定的变换处理,如人脸轮廓边缘的标点,为了达到更好的效果,会将其标点向脸的中部缩进。这样是为了更好的构建腮红上妆部位的有效区域。

5)构建一幅图像矩阵,格式为灰度图的单通道模式,像素类型为浮点数类型,像素值均取0.0(即为纯黑色),尺寸为按照原图尺寸比例进行等比例缩小到200px以下,此图像为mask(掩膜)图。

6)计算步骤4)中获取的特征点组合的相对原图像的相对坐标值,计算公式如下:

x’=x/width

y’=y/height

其中x为特征点的横轴坐标值,y为特征点的纵轴坐标值,

width为原图像的宽度,height为原图像的高度。

7)使用步骤6)中得到的相对坐标还原到步骤5)中构建的mask(掩膜)图,成为绝对坐标,还原公式如下:

x=x’*width

y=y’*height

其中x’为横轴的相对坐标量,y’为纵轴的相对坐标量,width为mask(掩膜)图的宽度,height为mask(掩膜)图的高度。

8)利用道格拉斯-普克算法(douglas–peuckeralgorithm)获得步骤7)中坐标集合的拟合曲线,得到腮红部位轮廓的像素集合。

9)构建腮红部位的最小包围矩形,即取腮红轮廓的最小x值作为矩形左上角的x值,最大x值为矩形右下角的x值,最小y值为矩形左上角y值,最大y值为矩形右下角y值。遍历矩形内像素,根据像素坐标是否在腮红轮廓内,得到腮红部位的所有像素集合,并将腮红部位的像素设定为1.0。

10)经过步骤9)后即可以得到一幅腮红部位内为纯白色,其余为纯黑色的mask(掩膜)图。

11)对步骤10)后的mask(掩膜)图进行高斯滤波,滤波的作用主要为了羽化腮红部位的边缘,应用公式如下:

其中r是模糊半径,σ是正态分布的标准偏差。

12)将mask(掩膜)图放大到与原图形成1:1的尺寸关系。该步骤将小尺寸图片放大,一方面更小尺寸的图像矩阵使用高斯滤波能够获得更高的执行效率,另一方面经过放大后能够进一步使得边缘模糊,达到进一步羽化的效果,经过该步骤后多边形的腮红形状将变为平滑过渡的曲线形状(如椭圆形,不规则椭圆等)。

13)对经过步骤3)进行归一化后的原图进行图像混合处理,处理模式使用正片叠底、柔光、叠加三种方式的其中一种。对应的公式如下:

正片叠底:c=a2

叠加:c=a2*α,a≤1/α

c=1–(1-a)2*α,a>1/α

柔光:c=a2*α+a2*(1-2*a),a≤1/α

c=a*(1-a)*α+√a*(2*a-1),a>1/α

其中α=(255.0/128.0),a为原图中的单个像素值。注明:由于原图经过归一化处理,所以公式与原始的计算公式有所不同。

14)步骤13)中经过图像混合处理后得到的图像rgb三通道矩阵分别与mask(掩膜)图作矩阵逐像素乘法。由于mask(掩膜)图中腮红部位内部的像素值为1.0,其余的像素为0.0,经过逐像素相乘后得到经过边缘羽化的腮红部位的矩阵图像(除腮红部位外其他像素值均为0.0,即为纯黑色)。并且在逐像素相乘过程中根据rgb通道的不同分别与对应的rgb调整权重相乘,以根据rgb权重值调整腮红的颜色。其中:权重值α∈{0,1}。

15)对mask(掩膜)图进行取反操作后与经过步骤3)归一化后的原图rgb三通道矩阵分别进行逐像素相乘,得到一幅与原图相同但是腮红部位内像素为0.0(即为纯黑色)的图像矩阵。

16)将步骤14)得到的矩阵与步骤15)得到的矩阵进行加法运算,并与透明度系数相乘,得到合成处理的结果图像。公式如下

c=a*α+b*(1.0-α),α∈{0,1}

其中a为步骤11)中的结果图像矩阵,b为步骤12)中的结果矩阵,α为透明度系数。

17)将16)步骤中的结果进行还原处理(还原成为原始整型像素数据),得到最终的效果图像。公式为:

c=a*(maxvalue-minvalue)+minvalue

其中minvalue取值为0.0,maxvalue取值为255.0。

本发明利用人脸识别和五官定位,根据不同的关键点组合不同的腮红形状风格,在使用灵活性和多变性上更具优势。不同于中国专利申请号cn201310530913.x提出的一种对人脸自动上腮红的图像处理方法,本发明通过人脸五官直接的标点,可以确保在不同形态下的人脸的腮红位置而具有更加拟合的效果。如侧脸效果,使用标点组合,直接拟合腮红区域。

根据不同的人脸特征标点的组合,可以拟合出千变万化的腮红形状风格组合。

另外本发明在实施和执行过程更加的简单明了,为在移动终端中实现更加的简单,由于变换的过程中流程简单,计算量较少,执行效率十分高。巧妙的利用mask(掩膜)图的高斯滤波和缩小放大产生的变化,使得腮红的多边形成为平滑的曲线形状,进行图像混合处理后,效果与真实腮红化妆极为接近。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1