本发明涉及数字图像处理技术领域,具体地说,涉及一种脸谱映射至人脸的方法、脸谱映射装置。
背景技术:
脸谱是中国传统戏曲中,舞台表演演员脸上绘制的具有特殊谱式的图案。在众多传统戏曲中,京剧作为中国的国粹,经历二百多年的发展,形成了相当完整的艺术风格和表演形式,是我国传统艺术的瑰宝。京剧脸谱也是当今戏曲舞台上谱式最多、最完整的脸谱体系,是演绎、传播中国传统文化的重要手段。京剧脸谱作为文化符号元素也应用在各个领域,如广告等。人们还可以通过一些耳熟能详的京剧人物脸谱来了解我国传统文化,对于脸谱来说,最好的交互理解方式,就是让人们可以尝试脸谱,这样的方式不仅趣味性强,而且寓教于乐。
现有的供人们尝试脸谱的方式主要有以下两种:第一种是让人们戴上绘制有脸谱的面具,第二种是在人们脸上绘制脸谱。但第一种方式中的面具无法充分贴合每个人的脸型,无论是谁,戴上同一面具看着都一样,导致千人一面,降低了脸谱体验的趣味性。另一种绘制脸谱的方法,耗时较长,费用较高,且脸谱上的油彩可能损伤人脸皮肤,不适于大量推广。
技术实现要素:
本发明的目的在于提供一种脸谱映射至人脸的方法、脸谱映射装置,以解决现有技术中人脸与脸谱贴合难度大、成本高的技术问题。
本发明第一方面提供了一种脸谱映射至人脸的方法,该方法包括:
获取正面人脸图片,提取该人脸中用于限定脸型区域、眼睛区域、鼻子区域和嘴巴区域的特征点;
获取待映射的脸谱,提取待映射的脸谱的特征点,脸谱上的特征点与人脸上的特征点一一对应;
基于人脸所提取的特征点,对人脸进行剖分,将人脸剖分为多个三角形;
建立脸谱的特征点与剖分得到的各三角形的映射关系,将脸谱映射至人脸上。
可选的,建立脸谱的特征点与各三角形的映射关系,将脸谱映射至人脸上包括:
基于映射有脸谱的人脸,获取眼睛区域和嘴巴区域对应的三角形;
去除眼睛区域和嘴巴区域的三角形对应的部分脸谱,露出原本人脸的眼睛和嘴巴。
可选的,所述提取用于限定脸型区域的特征点包括:
基于所建立的人脸特征点模型,提取用于限定脸型区域、眼睛区域、鼻子区域和嘴巴区域的特征点。
可选的,所述提取待映射的脸谱的特征点包括:
提取所述脸谱的预存储的特征点。
本发明带来了以下有益效果:本发明实施例提供了一种脸谱映射至人脸的方法,该方法中捕捉正面人脸图像和脸谱的特征点,对人脸进行剖分,将人脸剖分为多个三角形,建立脸谱的特征点与剖分得到的各三角形的映射关系,将脸谱映射至人脸上。能够简单高效地实现人脸与脸谱充分贴合的功能,解决了人脸与脸谱贴合难度大、成本高的技术问题,有利于脸谱、京剧等传统文化的推广和使用。
本发明第二方面提供了一种脸谱映射装置,该装置包括:
获取模块,用于获取正面人脸图片和待映射的脸谱;
特征点提取模块,用于提取该人脸中用于限定脸型区域、眼睛区域、鼻子区域和嘴巴区域的特征点,还用于提取待映射的脸谱的特征点,脸谱上的特征点与人脸上的特征点一一对应;
剖分模块,用于基于人脸所提取的特征点,对人脸进行剖分,将人脸剖分为多个三角形;
映射模块,用于建立脸谱的特征点与剖分得到的各三角形的映射关系,将脸谱映射至人脸上。
可选的,所述映射模块包括:
获取子模块,用于基于映射有脸谱的人脸,获取眼睛区域和嘴巴区域对应的三角形;
处理子模块,用于去除眼睛区域和嘴巴区域的三角形对应的部分脸谱,露出原本人脸的眼睛和嘴巴。
可选的,所述特征点提取模块用于基于所建立的人脸特征点模型,提取用于限定脸型区域、眼睛区域、鼻子区域和嘴巴区域的特征点。
可选的,所述特征点提取模块用于提取所述脸谱的预存储的特征点。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:
图1是本发明实施例提供的脸谱映射至人脸的方法的流程图;
图2是本发明实施例提供的脸谱映射至人脸的示意图;
图3是本发明实施例提供的脸谱映射装置。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
本发明实施例提供了一种脸谱映射至人脸的方法,如图1所示,该方法包括:
步骤S101、获取正面人脸图片,提取该人脸中用于限定脸型区域、眼睛区域、鼻子区域和嘴巴区域的特征点。
本发明实施例中,如图2所示,首先获取来自用户的正面人脸图片,为用户输入的或现拍的正面人脸图片。本发明中为了脸谱映射需要,只要求对正面人脸进行检测提取特征点即可,不需要对这些特征点进行聚类、分析等操作。
为了提取人脸中的各特征点,需要预先建立人脸特征点模型。主要的建立流程大致如下:
首先统计样本训练集中的形状,建立起反映目标形状变化规律的形状统计模 型——特征点分布模型(Point Distribution Model)。该样本训练集包括多张人脸图片,每张人脸图片都具有人工标注的特征点。在本发明实施例中,由于脸谱的眉毛部分与人脸差异较大,所以不对眉毛部分进行特征点的标定。
然后根据特征点所在轮廓的法线方向上的灰度分布情况,来建立起反映灰度分布规律的局部灰度模型。
接下来,考察所建立的局部灰度模型和特征点分布模型与实际人脸是否相符。首先利用训练得到的局部灰度模型对人脸图片进行搜索,获得多个特征点;之后利用特征点分布模型来对搜索到的特征点进行近似表达,同时对各特征点的合理性进行判断,对不合理的特征点进行调整;通过循环迭代,直到收敛,最终得到理想的人脸特征点模型。
基于所建立的人脸特征点模型,可获取到限定脸型区域、眼睛区域、鼻子区域和嘴巴区域的多个特征点。但在得到初步的特征点轮廓后,限定脸部区域的特征点的连线还不够平滑,影响后续的映射,所以还需要在脸型轮廓上插入一些特征点,使得每个特征点之间的距离不会太远,使连接线更加平滑,更贴近人脸的轮廓曲线。
本发明实施例中,优选利用贝塞尔曲线进行特征点的内插。
步骤S102、获取待映射的脸谱,提取待映射的脸谱的特征点,脸谱上的特征点与人脸上的特征点一一对应。
由于在现有图库中,脸谱的脸形、眼睛形状、鼻子形状、嘴巴形状等面部特征均相同。因此,在本发明实施例中,可预先进行一次或数次人工标定脸谱特征点的处理。经过人工标定的脸谱的特征点与人脸的特征点一一对应,便于映射。
之后,将人工标定的脸谱的特征点存储下来,在需要提取脸谱的特征点时,提取脸谱的预存储的特征点,如图2所示。
步骤S103、基于人脸所提取的特征点,对人脸进行剖分,将人脸剖分为多个三角形。
如图2所示,在分析过脸谱和人脸的特征点之后,就可以着手将脸谱映射到人脸上,使脸谱和人脸图像中的脸部特征点一一对应,这其实是一个图像变形的过程。在图像变形中,一般可以分为两个关键技术,分别是坐标变换和图像内插,坐标变换是为了在原始图像和目标图像建立坐标的映射关系,而图像内插是指结合原始图像和目标图像为最终的图像上的像素颜色进行取值。
通过这些特征点的一一对应关系,可以计算出各特征点之间的映射函数,映射后再使用像素插值方法,就可获得变形后的每个像素的像素值,脸谱也就映射到了人脸上。
本发明实施例基于特征点将人脸进行三角剖分。下面将详细介绍三角剖分:三角剖分,在二维的范畴内,是指将平面上的特征点剖分为不同的三角形网格。本发明实施例中,三角剖分有两个必须要满足的准则:1)空圆准则:即在三角剖分的内部,点集中的任意四点不能共圆,任意一个三角形的外接圆内不包含点集中的其它点;2)最小角最大化准则:对任意相邻的两个三角形所构成的四边形来说,要求该四边形的一条对角线所分成的2个三角形中所有的6个内角的最小值,大于另外一条对角线所构成的2个三角形中所有的6个内角中的最小值。这条准则尽可能的避免产生了狭长的畸形的三角形,剖分得到的三角形大多都近似于等边三角形,使得得到三角网格最优。
步骤S104、建立脸谱的特征点与剖分得到的各三角形的映射关系,将脸谱映射至人脸上。
进行了人脸剖分之后,可以根据脸谱的特征点与各三角形的映射关系,进行仿射变换,将脸谱映射至人脸上。即对于人脸剖分得到的每一个三角形,三角形的每个顶点(即人脸的特征点)都可在脸谱中找到唯一确定的特征点,则每个人脸上的三角形,都可在脸谱上建立对应的三角形。之后,对脸谱上的三角形所承载的信息覆盖到人脸上的三角形,即可实现脸谱至人脸的映射。
具体的,仿射变换(Affine Transformation)又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间的过程。它可以用来表达旋转(线性变换),平移(向量加和)和尺度变换(线性变换),保持了二维图形的“平直性”(即:直线经过变换之后依然是直线)和“平行性”(即:二维图形之间的相对位置关系保持不变,平行线依然是平行线,且直线上点的位置顺序不变)。
一个任意的仿射变换都能表示为乘以一个矩阵(线性变换)接着再加上一个向量(平移)的形式。
分段线性仿射的变形原理是使用三角剖分的方式,将需要变形的区域分割成若干个三角形,然后对每个三角形小区域进行线性的区域映射。三角形区域映射,就是将一个三角形通过某种变换变成另一个三角形,同时也要保证在源三角形中 的点能够正确映射到目标三角形中的合适位置。
为了进行二维图像的仿射变换,需要建立变换矩阵。有了变换矩阵后,目标三角形中的任何一点在原三角形中都存在原象,也就是说目标三角形中的任意一个像素都能匹配到原三角形中的某一点。
由于三角形区域映射后不能保证像素之间的一一对应关系,因此需要使用像素插值方式尽可能的保证图像像素的连续性。本发明实施例中,采用双线性插值算法来解决这个问题,每个像素的值均由其相邻的四个像素共同决定。所谓双线性插值,即是进行横向及纵向两次线性插值。
如果一个输出像素映射到的不是输入图像采样栅格的整数坐标处的像素点,则其灰度值就需要基于整数坐标的灰度值进行判断,也就是插值。其中常用的有最邻近插值、双线性插值、区域插值等。最邻近插值的输出像素的值为输入图像中与其最邻近的采样点的像素值,但是容易产生锯齿;双线性插值中,输出像素的值为输入图像中距离它最近的2×2邻域内采样点灰度值的加权平均。
通过人脸剖分得到的三角形与脸谱上的特征点的仿射变换,能够获得基于人脸图像的脸谱变形,但是为了能够区分和辨别不同的人覆盖脸谱的样子,需要露出原始的人脸上的眼睛和嘴巴。所以在映射之后,需要判断眼睛和嘴周围的三角区域,去除眼睛区域和嘴巴区域的三角形对应的部分脸谱,露出原本人脸的眼睛和嘴巴。
综上,本发明实施例提供了一种脸谱映射至人脸的方法,该方法中捕捉正面人脸图像和脸谱的特征点,对人脸进行剖分,将人脸剖分为多个三角形,建立脸谱的特征点与剖分得到的各三角形的映射关系,将脸谱映射至人脸上。能够简单高效地实现人脸与脸谱充分贴合的功能,解决了人脸与脸谱贴合难度大、成本高的技术问题,有利于脸谱、京剧等传统文化的推广和使用。
进一步的,本发明实施例还提供了一种脸谱映射装置,如图3所示,该装置主要包括获取模块、特征点提取模块、剖分模块和映射模块,另外还包括存储模块、显示模块、拍照模块、声音输出模块、图片输出模块、电源模块等。
其中,获取模块用于获取正面人脸图片和待映射的脸谱。具体的,脸谱放置在存储模块中,正面人脸图片可以同样放置在存储模块中,也可通过拍照模块实时采集。
获取到正面人脸图片和脸谱之后,特征点提取模块不仅用于提取该人脸中用 于限定脸型区域、眼睛区域、鼻子区域和嘴巴区域的特征点,还用于提取待映射的脸谱的特征点,脸谱上的特征点与人脸上的特征点一一对应。其中,特征点提取模块用于基于所建立的人脸特征点模型,提取用于限定脸型区域、眼睛区域、鼻子区域和嘴巴区域的特征点。而脸谱的特征点的提取则是提取脸谱的预存储的特征点。
为了实现脸谱映射到人脸上的功能,本发明实施例中的脸谱映射装置还包括用于建立人脸特征点模型的模型建立模块,模型建立模块包括:特征点分布模型建立子模块,用于统计样本训练集中的形状,建立特征点分布模型,样本训练集包括多张具有人工标注的特征点的人脸图片;局部灰度模型建立子模块,根据特征点所在轮廓的法线方向上的灰度分布情况,建立局部灰度模型;特征点模型建立子模块,用于对所建立的局部灰度模型和特征点分布模型进行循环迭代处理,建立人脸特征点模型。
接下来,剖分模块可用于基于人脸所提取的特征点,对人脸进行剖分,将人脸剖分为多个三角形。
最后,映射模块可用于建立脸谱的特征点与剖分得到的各三角形的映射关系,将脸谱映射至人脸上。具体的,映射模块包括获取子模块,用于基于映射有脸谱的人脸,获取眼睛区域和嘴巴区域对应的三角形;处理子模块,用于去除眼睛区域和嘴巴区域的三角形对应的部分脸谱,露出原本人脸的眼睛和嘴巴。
脸谱映射到人脸的过程中,声音输出模块可以向用户播放语音提示信息,显示模块可供用户实时了解映射过程。最后,用户可通过图片输出模块将映射处理后的人脸给输出进行保存。电源模块可实时为各模块供电,以保证各模块的正常工作。
本发明实施例中的脸谱映射装置优选装设有Windows系统的计算机,在该计算机中配置各功能模块,进行算术和逻辑运算,从而实现将脸谱映射到人脸的功能。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。