一种基于人脸网格的缩小鼻翼方法、装置和计算设备与流程

文档序号:12366989阅读:403来源:国知局
一种基于人脸网格的缩小鼻翼方法、装置和计算设备与流程

本发明涉及图像处理领域,尤其涉及一种基于人脸网格的缩小鼻翼方法、装置和计算设备。



背景技术:

随着图像处理领域的发展,人脸图像的美型已经成为一个越来越重要的美化功能。越来越多的用户乐忠于使用图像处理软件来调整自己五官结构,从而达到美化或者搞怪的效果。然而,受限于用户的拍照环境以及拍照角度的差异,很多情况下用户拍摄后的图片并未真正展现出自己最好的一面。因此,用户就可以使用图像美型类的应用对拍摄后不满意的图片进行五官上的调整。

在现有的修改五官的技术中,用户一般会使用PhotoShop的液化功能对图片进行手动调整,这种情况一般需要多次地调整图片才能达到更好的效果,而且调整出来的效果也不一定就能够表现出最自然的人像。尤其是鼻翼区域的图像,需要鼻梁和鼻翼的综合调整才会表现出最自然的图像状态。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于人脸网格的缩小鼻翼方法、装置和计算设备。

根据本发明的一个方面,提供一种基于人脸网格的缩小鼻翼方法,该方法包括:采集待处理的人脸图像;通过对人脸图像进行人脸识别得到其脸部区域的特征点,所述脸部区域的特征点中至少包括嘴角、鼻翼区域和脸颊外周轮廓的特征点;根据所述鼻翼区域的特征点与外周轮廓及嘴角之间的距离比例进行插值处理,得到鼻翼区域的补充特征点,所述补充特征点与鼻翼区域的原有特征点共同构成鼻翼区域的点集;根据鼻翼区域的点集对其进行三角剖分,得到多个三角网格;从多个三角网格的顶点中选取位于鼻子上且分布在鼻梁两侧的顶点;对选取的网格顶点进行位置调整,得到变换后的新三角网格。

可选地,在根据本发明的方法中,还包括:对新三角网格进行渲染处理,得到缩小鼻翼后的人脸图像。

可选地,在根据本发明的方法中,得到的脸部区域的特征点包括:沿着眉毛以下的脸部外周轮廓弧线均匀分布的特征点Ai,i=1,2……M;鼻翼区域的原有特征点,包括:上鼻翼的左侧特征点B1和右侧特征点B2;左鼻孔的上顶点C1、左顶点C2和下顶点C3;右鼻孔的上顶点D1、右顶点D2和下顶点D3;鼻骨下顶点E0;沿着鼻梁方向均匀分布的特征点Ej,j=1,2……N;左眼右顶点F1和右眼左顶点F2;以及嘴唇左顶点G1和嘴唇左顶点G2

可选地,在根据本发明的方法中,得到补充特征点的步骤包括:将点B1与点C1之间的中点与点A1连线,得到线段S1;将点B2与点D1之间的中点与点AM-1连线,得到线段S1';分别从线段S1和S1'上选取靠近鼻梁方向第一比例处的点作为第一和第二补充特征点H1和H2

可选地,在根据本发明的方法中,得到补充特征点的步骤还包括:分别连接点C1和点A2,以及点D1和点AM-2,并分别从线段C1A2和D1AM-2上选取靠近鼻梁方向第二比例处的点作为第三和第四补充特征点。

可选地,在根据本发明的方法中,得到补充特征点的步骤还包括:分别连接点C2和点A3,以及点D2和点AM-3,并分别从线段C2A3和D2AM-3上选取靠近鼻梁方向第三比例处的点作为第五和第六补充特征点。

可选地,在根据本发明的方法中,得到补充特征点的步骤还包括:将点G1与点C2之间的中点与点A4连线,得到线段S4,以及将点G2与点D2之间的中点与点AM-4连线,得到线段S4',并分别从直线S4和S4'上选取靠近鼻梁方向第四比例处的点作为第七和第八补充特征点。

可选地,在根据本发明的方法中,得到补充特征点的步骤还包括:分别选取点C2与点G1之间的中点以及点D2与点G2之间的中点作为第九和第十补充特征点,并在这两点之间做插值处理得到中间5个点,将其分别作为第十一至第十五个补充特征点。

可选地,在根据本发明的方法中,得到补充特征点的步骤还包括:连接点C1和点D1得到线段C1D1,将该线段三等分,取中间两个等分点分别作为第十六和第十七个补充特征点H16和H17

可选地,在根据本发明的方法中,得到补充特征点的步骤还包括:分别获取点C2、D2、C3、D3和E0的坐标P(C2)、P(D2)、P(C3)、P(D3)和P(E0),并计算点C2和点D2之间的中点M的坐标P(M);根据P(H18)=λ*P(M)+(1-λ)*P(C2)计算第18个补充特征点H18的坐标;根据P(H19)=λ*P(M)+(1-λ)*P(D2)计算第19个补充特征点H19的坐标;根据P(H20)=λ*P(E0)+(1-λ)*P(C3)计算第20个补充特征点H20的坐标;根据P(H21)=λ*P(E0)+(1-λ)*P(D3)计算第21个补充特征点H21的坐标;其中,λ为比例系数,其取值范围为[0.4,0.8]。

可选地,在根据本发明的方法中,对选取的网格顶点进行位置调整的步骤包括:分别计算点E3与点C1之间的距离l1,以及点E3和点D1的距离l1';计算点C1和点D1连线所对应的鼻梁位置PMid-1=P(C1)*l1'/(l1+l1')+P(D1)*l1/(l1+l1');将点X1变换到新坐标P(X1)'=(P(X1)–PMid-1)*w(X1)+PMid-1,其中,点X1包括点C1、点D1、点H16和点H17,w(X1)是关于点X1的权重系数。

可选地,在根据本发明的方法中,对选取的网格顶点进行位置调整的步骤还包括:分别计算点E4与点C2之间的距离l2,以及点E4和点D2的距离l2';计算点C2和点D2连线所对应的鼻梁位置PMid-2=P(C2)*l2'/(l2+l2')+P(D2)*l2/(l2+l2');将点X2变换到新坐标P(X2)'=(P(X2)–PMid-2)*w(X2)+PMid-2;其中,点X2包括点C2、点D2、点H18和点H19,w(X2)是关于点X2的权重系数。

可选地,在根据本发明的方法中,对选取的网格顶点进行位置调整的步骤还包括:分别计算点E0与点C3之间的距离l3,以及点E0和点D3的距离l3';计算点C3和点D3连线所对应的鼻梁位置PMid-3=P(C3)*l3'/(l3+l3')+P(D3)*l3/(l3+l3');将点X3变换到新坐标P(X3)'=(P(X3)–PMid-3)*w(X3)+PMid-3;其中,点X3包括点C3、点D3、点H20和点H21,w(X3)是关于点X3的权重系数。

可选地,在根据本发明的方法中,对选取的网格顶点进行位置调整的步骤还包括:分别计算点E2与点H1之间的距离l4,以及点E0和点H2的距离l4';计算点H1和点H2连线所对应的鼻梁位置PMid-4=P(H1)*l4'/(l4+l4')+P(H2)*l4/l4+l4');以及分别根据P(H1)'=(P(H1)–P(E2))*w(H1)+PMid-4和P(H2)'=(P(H2)–P(E2))*w(H2)+PMid-4将点H1和点H2变换到新坐标;其中,w(H1)和w(H2)分别是点H1和点H2的权重系数,取值范围为[0.7,0.9]。

可选地,在根据本发明的方法中,M=32,N=3,λ=0.6,w(C2)=w(D2)=0.88,w(H18)=w(H19)=0.8。

根据本发明的另一个发明,提供一种基于人脸网格的缩小鼻翼装置,该装置包括:图像采集单元,适于采集待处理的人脸图像;人脸识别单元,适于通过对所述人脸图像进行人脸识别得其脸部区域的特征点,所述脸部区域的特征点中至少包括嘴角、鼻翼区域和脸颊外周轮廓的特征点;插值处理单元,适于根据所述鼻翼区域的特征点与外周轮廓及嘴角之间的距离比例进行插值处理,得到鼻翼区域的补充特征点,所述补充特征点与鼻翼区域的原有特征点共同构成所述鼻翼区域的点集;三角剖分单元,适于根据所述鼻翼区域的点集对其进行三角剖分,得到多个三角网格;顶点选择单元,适于从所述多个三角网格的顶点中选取位于人脸鼻子上且分布在鼻梁两侧的网格顶点;以及位置调整单元,适于对所述选取的网格顶点进行位置调整,得到变换后的新三角网格。

可选地,在根据本发明的装置中,还包括图像渲染单元,适于对新三角网格进行渲染处理,得到缩小鼻翼后的人脸图像。

可选地,在根据本发明的装置中,所得到的图像区域的特征点包括:沿着眉毛以下的脸部外周轮廓弧线均匀分布的特征点Ai,i=1,2……M;鼻翼区域的原有特征点,包括:上鼻翼的左侧特征点B1和右侧特征点B2;左鼻孔的上顶点C1、左顶点C2和下顶点C3;右鼻孔的上顶点D1、右顶点D2和下顶点D3;鼻骨下顶点E0;沿着鼻梁方向均匀分布的特征点Ej,j=1,2……N;左眼右顶点F1和右眼左顶点F2;以及嘴唇左顶点G1和嘴唇左顶点G2

可选地,在根据本发明的装置中,插值处理单元适于将点B1与点C1之间的中点与点A1连线,得到线段S1,以及将点B2与点D1之间的中点与点AM-1连线,得到线段S1';并分别从线段S1和S1'上选取靠近鼻梁方向第一比例处的点作为第一和第二补充特征点H1和H2

可选地,在根据本发明的装置中,插值处理单元还适于分别连接点C1和点A2,以及点D1和点AM-2,并分别从线段C1A2和D1AM-2上选取靠近鼻梁方向第二比例处的点作为第三和第四补充特征点。

可选地,在根据本发明的装置中,插值处理单元还适于分别连接点C2和点A3,以及点D2和点AM-3,并分别从线段C2A3和D2AM-3上选取靠近鼻梁方向第三比例处的点作为第五和第六补充特征点。

可选地,在根据本发明的装置中,插值处理单元还适于将点G1与点C2之间的中点与点A4连线,得到线段S4,以及将点G2与点D2之间的中点与点AM-4连线,得到线段S4',并分别从线段S4和S4'上选取靠近鼻梁方向第四比例处的点作为第七和第八补充特征点。

可选地,在根据本发明的装置中,插值处理单元还适于分别选取点C2与点G1之间的中点以及点D2与点G2之间的中点作为第九和第十补充特征点,并在这两点之间做插值处理得到中间5个点,将其分别作为第十一至第十五个补充特征点。

可选地,在根据本发明的装置中,插值处理单元还适于连接点C1和点D1,得到线段C1D1,并将该线段三等分,取中间两个等分点分别作为第十六和第十七个补充特征点H16和H17

可选地,在根据本发明的装置中,插值处理单元还适于获取点C2、点D2、点C3、点D3和点E0的坐标P(C2)、P(D2)、P(C3)、P(D3)和P(E0),并计算点C2和点D2之间的中点M的坐标P(M);以及根据P(H18)=λ*P(M)+(1-λ)*P(C2)计算第18个补充特征点H18的坐标;根据P(H19)=λ*P(M)+(1-λ)*P(D2)计算第19个补充特征点H19的坐标;根据P(H20)=λ*P(E0)+(1-λ)*P(C3)计算第20个补充特征点H20的坐标;根据P(H21)=λ*P(E0)+(1-λ)*P(D3)计算第21个补充特征点H21的坐标;其中,λ为比例系数,其取值范围为[0.4,0.8]。

可选地,在根据本发明的装置中,位置调整单元适于根据以下方法对网格顶点进行位置调整:分别计算点E3与点C1之间的距离l1,以及点E3和点D1的距离l1';计算点C1和点D1连线所对应的鼻梁位置PMid-1=P(C1)*l1'/(l1+l1')+P(D1)*l1/(l1+l1');将点X1变换到新坐标P(X1)'=(P(X1)–PMid-1)*w(X1)+PMid-1;其中,点X1包括点C1、点D1、点H16和点H17,w(X1)是关于点X1的权重系数。

可选地,在根据本发明的装置中,位置调整单元还适于根据以下方法对网格顶点进行位置调整:分别计算点E4与点C2之间的距离l2,以及点E4和点D2的距离l2';计算点C2和点D2连线所对应的鼻梁位置PMid-2=P(C2)*l2'/(l2+l2')+P(D2)*l2/(l2+l2');将点X2变换到新坐标P(X2)'=(P(X2)–PMid-2)*w(X2)+PMid-2;其中,点X2包括点C2、点D2、点H18和点H19,w(X2)是关于点X2的权重系数。

可选地,在根据本发明的装置中,位置调整单元还适于根据以下方法对网格顶点进行位置调整:分别计算点E0与点C3之间的距离l3,以及点E0和点D3的距离l3';计算点C3和点D3连线所对应的鼻梁位置PMid-3=P(C3)*l3'/(l3+l3')+P(D3)*l3/(l3+l3');将点X3变换到新坐标P(X3)'=(P(X3)–PMid-3)*w(X3)+PMid-3;其中,点X3包括点C3、点D3、点H20和点H21,w(X3)是关于点X3的权重系数。

可选地,在根据本发明的装置中,位置调整单元还适于根据以下方法对网格顶点进行位置调整:分别计算点E2与点H1之间的距离l4,以及点E2和点H2的距离l4';计算点H1和点H2连线所对应的鼻梁位置PMid-4=P(H1)*l4'/(l4+l4')+P(H2)*l4/l4+l4');以及分别根据P(H1)'=(P(H1)–P(E2))*w(H1)+PMid-4和P(H2)'=(P(H2)–P(E2))*w(H2)+PMid-4将点H1和点H2变换到新坐标;其中,w(H1)和w(H2)分别是点H1和点H2的权重系数,取值范围是[0.7,0.9]。

可选地,在根据本发明的装置中,M=32,N=4,λ=0.6,w(C2)=w(D2)=0.88,w(H18)=w(H19)=0.8。

根据本发明的又一方面,提供一种计算设备,包括如上所述的基于人脸网格的缩小鼻翼装置。根据本发明的技术方案,通过人脸识别和五官定位技术识别出人脸区域的特征点,尤其是鼻翼区域的特征点。之后通过计算鼻翼区域与其他人脸区域的特征点的位置比例,插值得到包围鼻翼变换区域的点集。通过对这些点集进行三角剖分得到包围变换区域的三角网格,并通过调整缩小鼻翼所需要的三角网格顶点,得到变换后的新三角网格。最后,使用OpenGL绘制三角网格(三角仿射变换)渲染出缩小鼻翼后的人脸图像。这样,通过使用网格模型可以达到类3D变换的效果,使得变换后的网格效果更加自然,并且支持不同角度不同大小的人脸图像,应用更加广泛。此外,通过对需要变换的网格点预设变换权重即可以实现鼻翼的自动缩小,而不用输入其他繁琐的内容,操作便捷,极大地方便了用户体验。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明一个实施例的计算设备100的结构框图;

图2示出了根据本发明一个实施例的基于人脸网格的缩小鼻翼方法200的流程图;

图3示出了根据本发明一个实施例的根据人脸识别技术识别出的人脸特征点的示意图;

图4示出了根据本发明一个实施例的鼻翼区域的点集;

图5示出了根据本发明一个实施例的对鼻翼区域进行三角剖分后得到的三角网格示意图;

图6示出了根据本发明一个实施例的缩小鼻翼后的鼻翼区域的新三角网格示意图;

图7示出了根据本发明一个实施例的基于人脸网格的缩小鼻翼装置700的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明提供一种基于人脸网格的缩小鼻翼装置,可以驻留在拍摄终端中,如相机、摄像机和具有拍照功能的移动终端等,也可以驻留在计算设备中,图1为布置为实现根据本发明的基于人脸网格的缩小鼻翼装置的示例计算设备100的结构框图。

如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。

取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。

取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。

计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。

计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,计算设备100被配置为执行根据本发明的基于人脸网格的缩小鼻翼方法200,其中应用122包括根据本发明的基于人脸网格的缩小鼻翼装置800。

图2示出了根据本发明一个实施例的基于人脸网格的缩小鼻翼方法200,该方法始于步骤S210。

在步骤S210中,采集待处理的人脸图像,并在步骤S220通过对所述人脸图像进行人脸识别得到其脸部区域的特征点。其中,所述脸部区域的特征点中至少包括嘴角、鼻翼区域和脸颊外周轮廓的特征点。

图3示出了根据本发明一个实施例的根据人脸识别技术识别出的特征点。其中,共识别出106个特征点,其中包括:

分布在左右眉毛上的各9个特征点;

脸部外周轮廓弧线上的特征点Ai,i=0,1……M,其中A1-A4和AM-1-AM-4是靠近脸颊区域的轮廓点;

上鼻翼的左侧特征点B1和右侧特征点B2

左鼻孔的上顶点C1、左顶点C2、下顶点C3

右鼻孔的上顶点D1、右顶点D2、下顶点D3

在鼻梁线上均匀分布的4个特征点,从下至上依次为点E1、点E2、点E3和点E4;鼻骨下顶点E0

左眼的10个特征点,其中包括左眼右顶点F1

右眼的10个特征点,其中包括右眼左顶点F2;以及

嘴唇区域的20个特征点,其中包括嘴角左顶点G1和右顶点G2

虽然现有技术中能检测到诸多特征点,但本发明中实际只需检测到嘴角、鼻翼区域和脸颊外周轮廓的特征点,即上述用字母标出的点B1、点B2、点C1-C3、点D1-D3、点E0-E4、点F1、点F2,以及两侧脸颊区域的特征点A1-A4和AM-1-AM-4(如图3中所示)。根据一个实施例,可以取M=32,此时右侧脸颊区域的轮廓点为A28-A31

应当理解,人脸识别的精度不尽相同,对于鼻梁上或脸部外周轮廓弧线上的点,检测出来的结果可能并不完全如图3所示。实际上,鼻梁上或轮廓线上也可以检测到其他数目的特征点分布于不同的位置,本发明对此并不作限制。在后续的计算过程中,若在某点处,如点E3处并未检测到特征点,则只需尽量从同一属性的特征点中选取最接近该点的特征点进行计算。即,这些点的字母表示仅代表处于该位置的点,而不代表点的数目。例如,点E3代表的是距离点C1和C2较近的鼻梁上的一个特征点,而不专指鼻梁线上的第三个特征点。若采用其他人脸识别算法识别出的离C1和C2较近的鼻梁上的特征点略位于点E3下方,则依然可以用该点代替E3进行计算。

在上述识别出的特征点中,点B1、点B2、点C1-C3、点D1-D3、点E0-E4、点F1和点F2是鼻翼区域的原有特征点。但仅用这15个原有特征点进行人脸网格的三角剖分,可能会导致计算结果不够精确,因此还需要对鼻翼区域的原有特征点进行扩展补充。

也就是,在步骤S230中,根据所述鼻翼区域的特征点与外周轮廓及嘴角之间的距离比例进行插值处理,得到鼻翼区域的补充特征点,所述补充特征点与鼻翼区域的原有特征点共同构成所述鼻翼区域的点集。

具体地,将点B1与点C1之间的中点与点A1连线,得到线段S1;将点B2与点D1之间的中点与点AM-1连线,得到线段S1';分别从线段S1和S1'上选取靠近鼻梁方向第一比例处的点作为第一和第二补充特征点H1和H2。其中,点AM-1可以取图3中的点A31,第一比例可以取1/6。当然,如果实际操作中并未在点A31所在的位置检测出特征点,则可以选取距离该位置最近的特征点的代替。

分别连接点C1和点A2,以及点D1和点AM-2,并分别从线段C1A2和D1AM-2上选取靠近鼻梁方向第二比例处的点作为第三和第四补充特征点。其中,点AM-2可以取图3中的点A30,第二比例可以取1/5。

分别连接点C2和点A3,以及点D2和点AM-3,并分别从线段C2A3和D2AM-3上选取靠近鼻梁方向第三比例处的点作为第五和第六补充特征点。其中,点AM-3可以取图3中的点A29,第三比例可以取1/4。

将点G1与点C2之间的中点与点A4连线,得到线段S4,以及将点G2与点D2之间的中点与点AM-4连线,得到线段S4',并分别从直线S4和S4'上选取靠近鼻梁方向第四比例处的点作为第七和第八补充特征点。其中,点AM-4可以取图3中的点A28,第四比例可以取1/3。

分别选取点C2与点G1之间的中点以及点D2与点G2之间的中点作为第九和第十补充特征点,并在这两点之间做插值处理得到中间5个点,将其分别作为第十一至第十五个补充特征点。其中,可以采取拉格朗日插值方法,或Newton插值、Hermite插值等其他常用的插值算法,本发明对此不作限制。

连接点C1和点D1得到线段C1D1,将该线段三等分,取中间两个等分点分别作为第十六和第十七个补充特征点H16和H17

分别获取点C2、D2、C3、D3和E0的坐标P(C2)、P(D2)、P(C3)、P(D3)和P(E0),并计算点C2和点D2之间的中点M的坐标P(M);

根据P(H18)=λ*P(M)+(1-λ)*P(C2)计算第18个补充特征点H18的坐标;根

据P(H19)=λ*P(M)+(1-λ)*P(D2)计算第19个补充特征点H19的坐标;

根据P(H20)=λ*P(E0)+(1-λ)*P(C3)计算第20个补充特征点H20的坐标;

根据P(H21)=λ*P(E0)+(1-λ)*P(D3)计算第21个补充特征点H21的坐标;

其中,λ为比例系数,其取值范围为[0.4,0.8],根据一个实施例,可以取0.6。

图4示出了根据本发明一个实施例的鼻翼区域的点集,其中包括原有的15个特征点,以及如上所述插值处理得到了21个补充特征点。

随后,在步骤S240中,根据所述鼻翼区域的点集对其进行三角剖分,得到多个三角网格。图5示出了根据本发明一个实施例的对鼻翼区域进行三角剖分后得到的三角网格示意图。其中,三角剖分方法可以采用现有技术中的任意一种方法,如Delaunay三角剖分,即生成的三角形网格中,各三角形的最小内角和为最大;或者选择另一种,即在生成的三角网格中,所有三角形的边长和最小。其中,Delaunay三角剖分可以采用Lawson算法、基础三角网增长法、径向扫描算法、BowyerWatson算法等现有技术中的任意一种,本发明对此不作限制。

随后,在步骤S250中,从所述多个三角网格的顶点中选取位于鼻子上且分布在鼻梁两侧的顶点,并在步骤S260中,对所述选取的网格顶点进行位置调整,得到变换后的新三角网格。具体地,选取的网格顶点包括:点C1-C3、点D1-点D3,此外,为了使得整体的缩进更加自然,也选择点H1、点H2和点H16-H21进行微调。当然,对于这些选取的网格顶点,可以全部选择对鼻翼区域进行调整,也可以选择部分点进行调整,而其他点不变动,如只调整除点点H1和点H2之外的其他网格顶点。也可以根据实际需要选择距离这些点所在位置较近的特征点作为替代,本发明对此均不作限制。

在步骤S250中,还包括:分别获取点C1-C3、点D1-点D3、点H1、点H2和点H16-H21的坐标,分别以P(C1)、P(C2)、P(C3)、P(D1)、P(D2)、P(D3)、P(H1)、P(H2)、P(H16)、P(H17)、P(H18)、P(H19)、P(H20)、P(H21)表示。应当理解,获取的坐标可以是按照空间坐标系上的值表示,也可以按照人脸图像上的像素单位表示,本发明对此不作限制。

在进行位置调整时,考虑到人脸拍照姿态的不同,可能左右脸的特征点并不对称分布,因此需要先计算鼻梁的实际位置。

首先缩小上鼻翼,选取点C1和点D1往鼻梁进行压缩。考虑到侧脸的情况,需要先计算出鼻梁的实际位置。其中,点E3为人脸识别出来的鼻梁上的一点,可以作为参考点。通过计算点E3和点C1的距离l1,以及点E3和点D1的距离l1',可以计算得出点C1和点D1连线所对应的鼻梁位置的坐标为PMid-1=P(C1)*l1'/(l1+l1')+P(D1)*l1/(l1+l1')。

之后,根据鼻梁位置PMid-1,将点X1变换到新坐标P(X1)'=(P(X1)–PMid-1)*w(X1)+PMid-1。其中,点X1包括点C1和点D1,为了使得整体的缩进更加自然,点X1也可以包括点H16和点H17,即对这两点进行微调。w(X1)是关于点X1的权重系数,即对点X1进行缩进的力度,其取值范围为[0.7,0.9]。根据一个实施例,可以选择w(C1)=w(D1)=0.85,w(H16)=w(H17)=0.8。

其次缩小下鼻翼,选取点C2和点D2往鼻梁进行压缩,依然需先计算出鼻梁的实际位置。其中,点E4为人脸识别出来的鼻梁上的一点,可以作为参考点。通过计算点E4和点C2的距离l2,以及点E4和点D2的距离l2',可以计算得出点C2和点D2连线所对应的鼻梁位置的坐标为PMid-2=P(C2)*l2'/(l2+l2')+P(D2)*l2/(l2+l2')。

之后,根据鼻梁位置PMid-2,将点X2变换到新坐标P(X2)'=(P(X2)–PMid-2)*w(X2)+PMid-2。其中,点X2包括点C2和点D2,为了使得整体的缩进更加自然,点X2也可以包括点H18和点H19,即对这两点进行微调。w(X2)是关于点X2的权重系数,即对点X2的缩进力度,其取值范围为[0.7,0.9]。根据一个实施例,可以选择w(C2)=w(D2)=0.88,w(H18)=w(H19)=0.8。

随后,缩小下鼻翼,选取点C3和点D3往鼻梁进行压缩,依然需先计算出鼻梁的实际位置。其中,点E0为人脸识别出来的鼻梁上的一点,可以作为参考点。通过计算点E0与点C3之间的距离l3,以及点E0和点D3的距离l3',可以计算得出点C3和点D3连线所对应的鼻梁位置PMid-3=P(C3)*l3'/(l3+l3')+P(D3)*l3/(l3+l3')。

之后,根据鼻梁位置PMid-3,将点X3变换到新坐标P(X3)'=(P(X3)–PMid-3)*w(X3)+PMid-3。其中,点X3包括点C3和点D3,为了使得整体的缩进更加自然,点X2也可以包括点H20和点H21,即对这两点进行微调。w(X3)是关于点X3的权重系数,即对点X3的缩进力度,其取值范围为[0.7,0.9]。根据一个实施例,可以选择w(C3)=w(D3)=0.88,w(H20)=w(H21)=0.8。

最后,缩小并拉挺鼻梁,选取点H1和点H2往鼻梁进行压缩,依然需先计算出鼻梁的实际位置。考虑到E2处于点H1和点H2的上方,往点E2拉伸可以达到缩小和拉挺鼻梁的效果,使用点E2作为缩进的中点。通过计算点E2与点H1之间的距离l4,以及点E0和点H2的距离l4',可以计算得到点H1和点H2连线所对应的鼻梁位置PMid-4=P(H1)*l4'/(l4+l4')+P(H2)*l4/l4+l4')。

之后,根据鼻梁位置PMid-4,分别根据P(H1)'=(P(H1)–P(E2))*w(H1)+PMid-4和P(H2)'=(P(H2)–P(E2))*w(H2)+PMid-4将点H1和点H2变换到新坐标。其中,w(H1)和w(H2)分别是点H1和点H2的权重系数,即对该点的缩进力度,取值范围为[0.7,0.9]。根据一个实施例,可以选择w(H1)=w(H2)=0.85。

总之,将图4中的点C1-C3、点D1-点D3、点H1、点H2和点H16-H21向鼻梁方向进行缩进,即可得到变换后的鼻翼区域的特征点。根据这些特征点可构建出新的三角网格,如图6中所示。

此外,还可以对上述新三角网格进行渲染处理,得到缩小鼻翼后的人脸图像。具体地,通过OpenGL绘制三角网格(三角仿射变换),根据变换前后的网格设置顶点和纹理坐标,把最终的结果渲染出来。

图7示出了根据本发明一个实施例的基于人脸网格的缩小鼻翼装置700的结构框图。如图7所示,该装置包括:图像采集单元710、人脸识别单元720、插值处理单元730、三角剖分单元740、顶点选择单元750和位置调整单元760。

图像采集单元710适于采集待处理的人脸图像。人脸识别单元720适于通过对所述人脸图像进行人脸识别得其脸部区域的特征点,所述脸部区域的特征点中至少包括嘴角、鼻翼区域和脸颊外周轮廓的特征点。

插值处理单元730适于根据所述鼻翼区域的特征点与外周轮廓及嘴角之间的距离比例进行插值处理,得到鼻翼区域的补充特征点,所述补充特征点与鼻翼区域的原有特征点共同构成所述鼻翼区域的点集。

三角剖分单元740适于根据所述鼻翼区域的点集对其进行三角剖分,得到多个三角网格。

顶点选择单元750适于从所述多个三角网格的顶点中选取位于人脸鼻子上且分布在鼻梁两侧的网格顶点。位置调整单元760适于对所述选取的网格顶点进行位置调整,得到变换后的新三角网格。

另外,装置700还可以包括图像渲染单元,适于对新三角网格进行渲染处理,得到缩小鼻翼后的人脸图像。

根据本发明的基于人脸网格的缩小鼻翼装置700,其具体细节,尤其是插值处理得到补充特征点以及对三角网格进行位置调整的细节,已在基于图1至图6的描述中详细公开,在此不再赘述。

根据本发明的技术方案,利用人脸识别技术识别出脸部区域的特征点,通过选取和插值处理得到包围鼻翼变换区域的点集,并对人脸进行三角网格分割。通过调整人脸网格结构进行仿射变换,按一定的计算方法自动计算网格变换,达到自动缩小鼻翼的效果。通过预设的网格点的权重,可以实现自动缩小鼻翼,而不需要其他的输入。这种使用网格模型的方法可以达到类3D变换的效果,使得变换后的网格效果自然,并且支持不同角度不同大小的人脸图像,从而保证用户快捷又美观的对鼻翼区域进行调整。

A9、如A3所述的方法,其中所述得到补充特征点的步骤还包括:

连接点C1和点D1得到线段C1D1,将该线段三等分,取中间两个等分点分别作为第十六和第十七个补充特征点H16和H17

A10、如A3所述的方法,其中所述得到补充特征点的步骤还包括:

分别获取点C2、D2、C3、D3和E0的坐标P(C2)、P(D2)、P(C3)、P(D3)和P(E0),并计算点C2和点D2之间的中点M的坐标P(M);

根据P(H18)=λ*P(M)+(1-λ)*P(C2)计算第18个补充特征点H18的坐标;

根据P(H19)=λ*P(M)+(1-λ)*P(D2)计算第19个补充特征点H19的坐标;

根据P(H20)=λ*P(E0)+(1-λ)*P(C3)计算第20个补充特征点H20的坐标;

根据P(H21)=λ*P(E0)+(1-λ)*P(D3)计算第21个补充特征点H21的坐标;

其中,λ为比例系数,其取值范围为[0.4,0.8]。

A11、如A9所述的方法,所述调整网格顶点的位置的步骤包括:

分别计算点E3与点C1之间的距离l1,以及点E3和点D1的距离l1';

计算点C1和点D1连线所对应的鼻梁位置PMid-1=P(C1)*l1'/(l1+l1')+P(D1)*l1/(l1+l1');

将点X1变换到新坐标P(X1)'=(P(X1)–PMid-1)*w(X1)+PMid-1;其中,

点X1包括点C1、点D1、点H16和点H17,w(X1)是关于点X1的权重系数。

A12、如A10所述的方法,所述调整网格顶点的位置的步骤还包括:

分别计算点E4与点C2之间的距离l2,以及点E4和点D2的距离l2';

计算点C2和点D2连线所对应的鼻梁位置PMid-2=P(C2)*l2'/(l2+l2')+P(D2)*l2/(l2+l2');

将点X2变换到新坐标P(X2)'=(P(X2)–PMid-2)*w(X2)+PMid-2;其中,

点X2包括点C2、点D2、点H18和点H19,w(X2)是关于点X2的权重系数。

A13、如A10所述的方法,所述调整网格顶点的位置的步骤还包括:

分别计算点E0与点C3之间的距离l3,以及点E0和点D3的距离l3';

计算点C3和点D3连线所对应的鼻梁位置PMid-3=P(C3)*l3'/(l3+l3')+P(D3)*l3/(l3+l3');

将点X3变换到新坐标P(X3)'=(P(X3)–PMid-3)*w(X3)+PMid-3;其中,

点X3包括点C3、点D3、点H20和点H21,w(X3)是关于点X3的权重系数。

A14、如A4所述的方法,所述调整网格顶点的位置的步骤还包括:

分别计算点E2与点H1之间的距离l4,以及点E0和点H2的距离l4';

计算点H1和点H2连线所对应的鼻梁位置PMid-4=P(H1)*l4'/(l4+l4')+P(H2)*l4/l4+l4');以及

分别根据P(H1)'=(P(H1)–P(E2))*w(H1)+PMid-4和P(H2)'=(P(H2)–P(E2))*w(H2)+PMid-4将点H1和点H2变换到新坐标;其中,

w(H1)和w(H2)分别是点H1和点H2的权重系数,取值范围为[0.7,0.9]。

A15、如A12所述的方法,其中M=32,N=4,λ=0.6,w(C2)=w(D2)=0.88,w(H18)=w(H19)=0.8。

B17、如B16所述的装置,还包括图像渲染单元,适于对所述新三角网格进行渲染处理,得到缩小鼻翼后的人脸图像。

B18、如B16所述的装置,其中所述得到的图像区域的特征点包括:

沿着眉毛以下的脸部外周轮廓弧线均匀分布的特征点Ai,i=0,1……M;

鼻翼区域的原有特征点,包括:

上鼻翼的左侧特征点B1和右侧特征点B2;左鼻孔的上顶点C1、左顶点C2和下顶点C3;右鼻孔的上顶点D1、右顶点D2和下顶点D3;鼻骨下顶点E0;沿着鼻梁方向均匀分布的特征点Ej,j=1,2……N;左眼右顶点F1和右眼左顶点F2;以及

嘴唇左顶点G1和嘴唇左顶点G2

B19、如B18所述的装置,其中所述插值处理单元适于将点B1与点C1之间的中点与点A1连线,得到线段S1,以及将点B2与点D1之间的中点与点AM-1连线,得到线段S1';并分别从线段S1和S1'上选取靠近鼻梁方向第一比例处的点作为第一和第二补充特征点H1和H2

B20、如B18所述的装置,其中所述插值处理单元还适于分别连接点C1和点A2,以及点D1和点AM-2,并分别从线段C1A2和D1AM-2上选取靠近鼻梁方向第二比例处的点作为第三和第四补充特征点。

B21、如B18所述的装置,其中所述插值处理单元还适于分别连接点C2和点A3,以及点D2和点AM-3,并分别从线段C2A3和D2AM-3上选取靠近鼻梁方向第三比例处的点作为第五和第六补充特征点。

B22、如B18所述的装置,其中所述插值处理单元还适于将点G1与点C2之间的中点与点A4连线,得到线段S4,以及将点G2与点D2之间的中点与点AM-4连线,得到线段S4',并分别从线段S4和S4'上选取靠近鼻梁方向第四比例处的点作为第七和第八补充特征点。

B23、如B18所述的装置,其中所述插值处理单元还适于分别选取点C2与点G1之间的中点以及点D2与点G2之间的中点作为第九和第十补充特征点,并在这两点之间做插值处理得到中间5个点,将其分别作为第十一至第十五个补充特征点。

B24、如B18所述的装置,其中所述插值处理单元还适于连接点C1和点D1,得到线段C1D1,并将该线段三等分,取中间两个等分点分别作为第十六和第十七个补充特征点H16和H17

B25、如B18所述的装置,所述插值处理单元还适于获取点C2、点D2、点C3、点D3和点E0的坐标P(C2)、P(D2)、P(C3)、P(D3)和P(E0),并计算点C2和点D2之间的中点M的坐标P(M);以及

根据P(H18)=λ*P(M)+(1-λ)*P(C2)计算第18个补充特征点H18的坐标;

根据P(H19)=λ*P(M)+(1-λ)*P(D2)计算第19个补充特征点H19的坐标;

根据P(H20)=λ*P(E0)+(1-λ)*P(C3)计算第20个补充特征点H20的坐标;

根据P(H21)=λ*P(E0)+(1-λ)*P(D3)计算第21个补充特征点H21的坐标;

其中,λ为比例系数,其取值范围为[0.4,0.8]。

B26、如B24所述的装置,所述位置调整单元适于根据以下方法对网格顶点进行位置调整:

分别计算点E3与点C1之间的距离l1,以及点E3和点D1的距离l1';

计算点C1和点D1连线所对应的鼻梁位置PMid-1=P(C1)*l1'/(l1+l1')+P(D1)*l1/(l1+l1');

将点X1变换到新坐标P(X1)'=(P(X1)–PMid-1)*w(X1)+PMid-1,其中,

点X1包括点C1、点D1、点H16和点H17,w(X1)是关于点X1的权重系数。

B27、如B25所述的装置,所述位置调整单元还适于根据以下方法对网格顶点进行位置调整:

分别计算点E4与点C2之间的距离l2,以及点E4和点D2的距离l2';

计算点C2和点D2连线所对应的鼻梁位置PMid-2=P(C2)*l2'/(l2+l2')+P(D2)*l2/(l2+l2');

将点X2变换到新坐标P(X2)'=(P(X2)–PMid-2)*w(X2)+PMid-2;其中,

点X2包括点C2、点D2、点H18和点H19,w(X2)是关于点X2的权重系数。

B28、如B25所述的装置,所述位置调整单元还适于根据以下方法对网格顶点进行位置调整:

分别计算点E0与点C3之间的距离l3,以及点E0和点D3的距离l3';

计算点C3和点D3连线所对应的鼻梁位置PMid-3=P(C3)*l3'/(l3+l3')+P(D3)*l3/(l3+l3');

将点X3变换到新坐标P(X3)'=(P(X3)–PMid-3)*w(X3)+PMid-3;其中,

点X3包括点C3、点D3、点H20和点H21,w(X3)是关于点X3的权重系数。

B29、如B19所述的装置,所述位置调整单元还适于根据以下方法对网格顶点进行位置调整:

分别计算点E2与点H1之间的距离l4,以及点E2和点H2的距离l4';

计算点H1和点H2连线所对应的鼻梁位置PMid-4=P(H1)*l4'/(l4+l4')+P(H2)*l4/l4+l4');以及

分别根据P(H1)'=(P(H1)–P(E2))*w(H1)+PMid-4和P(H2)'=(P(H2)–P(E2))*w(H2)+PMid-4将点H1和点H2变换到新坐标;其中,

w(H1)和w(H2)分别是点H1和点H2的权重系数,取值范围是[0.7,0.9]。

B30、如B26所述的装置,其中M=32,N=4,λ=0.6,w(C2)=w(D2)=0.88,w(H18)=w(H19)=0.8。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

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