人脸鼻形3D实时变形方法、装置及计算机设备制造方法及图纸

技术编号:38845015 阅读:13 留言:0更新日期:2023-09-17 09:56
本发明专利技术涉及一种人脸鼻形3D实时变形方法、装置及计算机设备,所述方法包括确定原始图像人脸区域的人脸关键点信息;根据人脸关键点信息得到人脸三维网格;其中,人脸三维网格包括关键点及其拓扑结构;确定人脸三维网格中的鼻子部位,并对鼻子部位进行变形处理,得到变形后的网格关键点;对变形后的网格关键点进行平滑处理,得到平滑后的人脸三维网格;结合人脸三维网格、平滑后的人脸三维网络以及原始图像进行渲染,得到结果图像。本发明专利技术通过3D Face Mesh检测出稠密的人脸关键点及其拓扑关系,与2D人脸关键点相比,3D Face Mesh关键点更为稠密,而且带有法向量,在变形算法支持的前提下,能够得到更加精细、更加自然拟真的3D整形图像。像。像。

【技术实现步骤摘要】
人脸鼻形3D实时变形方法、装置及计算机设备


[0001]本专利技术属于图像处理
,具体涉及一种人脸鼻形3D实时变形方法、装置及计算机设备。

技术介绍

[0002]随着移动手机端人像修图app功能和种类日益丰富,针对人像的图像视频编辑的要求也越来越高,不仅追求静态、二维平面和单一角度的美化效果,更追求动态、全方位多角度的效果自然。其中人脸鼻型美化、图片视频“隆鼻”的正是其中一种日益增强的需求。
[0003]相关技术中,现有技术方案对图片视频人脸鼻型调整的技术,主要方式为识别静态图片或者视频帧的人脸,获取2D平面人脸关键点信息,再通过拉伸、变形调整鼻子部位关键点,来实现鼻形的调整。但是2D关键点存在以下两个主要问题:(1)只能实现平面角度的形变,无法体现纵深空间的变化,不能较好地满足增高鼻梁、增加面部立体度的修图需求。(2)在非正面角度、人物动态变化较多的视频中,2D平面调整的鼻形难以适应多种角度,在人物运动、角度变化时效果连贯性较差,并且容易产生扭曲问题。
[0004]综上所述,2D关键点识别方式无法实现自然拟真的鼻型调整、“隆鼻”效果。而能够实现较好的美化效果,往往又需要复杂繁琐的精细调节,操作成本较大。

技术实现思路

[0005]有鉴于此,本专利技术的目的在于克服现有技术的不足,提供一种人脸鼻形3D实时变形方法、装置及计算机设备,以解决现有技术中人脸鼻形调整方法无法实现自然鼻型调整以及成本较大的问题。
[0006]为实现以上目的,本专利技术采用如下技术方案:一种人脸鼻形3D实时变形方法,包括:
[0007]获取原始图像,确定所述原始图像人脸区域的人脸关键点信息;其中,所述人脸关键点信息至少包括:五官、脸部轮廓在图像中的二维坐标;
[0008]将所述人脸关键点信息输入预构建的人脸三维网格模型中,得到人脸三维网格;其中,所述人脸三维网格包括关键点及其拓扑结构;
[0009]确定所述人脸三维网格中的鼻子部位,并对所述鼻子部位进行变形处理,得到变形后的网格关键点;
[0010]对变形后的网格关键点进行平滑处理,得到平滑后的人脸三维网格;
[0011]结合所述人脸三维网格、所述平滑后的人脸三维网格以及所述原始图像进行渲染,得到结果图像。
[0012]进一步的,所述确定所述人脸三维网格中的鼻子部位,并对所述鼻子部位进行变形处理,得到变形后的网格关键点,之前包括:
[0013]筛选所述人脸三维网格中的鼻子部位,并确定所述鼻子部位所在的封闭区域;
[0014]确定所述封闭区域内的关键点与鼻子部位的连接关系;
[0015]以所述封闭区域最外围的点作为锚点M;所述锚点M为不动点;
[0016]预计算封闭区域的邻接对称矩阵Adj_mat;所述邻接对称矩阵Adj_mat为一个NxN方阵,1~N代表是封闭区域的所有顶点;邻接对称矩阵Adj_mat中的(i,j)元素,表示第i个关键点和第j个关键点之间是否存在直接相连的线段,如果存在,则值为1,否则为0;
[0017]通过所述邻接对称矩阵Adj_mat,预计算对角矩阵D;
[0018]根据所述邻接对称矩阵Adj_mat和所述对角矩阵D,计算得到变换矩阵L,并得到所述变换矩阵L的转置矩阵L_transpose;
[0019]根据所述锚点M及根据控制点组C计算罚函数矩阵S,并得到所述罚函数矩阵的转置矩阵S_transpose;其中,所述罚函数矩阵为对角阵;所述控制点组C根据需要的鼻型进行选定,所述鼻型包括挺鼻和窄鼻;
[0020]预设惩罚因子alpha。
[0021]进一步的,所述确定所述人脸三维网格中的鼻子部位,并对所述鼻子部位进行变形处理,得到变形后的网格关键点,包括:
[0022]计算所述人脸三维网格的关键点的x,y,z坐标值的N*3矩阵X_origin;
[0023]根据所述变换矩阵和N*3矩阵X_origin,得到拉普拉斯坐标X_Lprime;
[0024]根据需要的鼻型,对控制点组C中的所有关键点进行形变;
[0025]计算N*3矩阵p;其中,p(i,0),p(i,1),p(i,2),在i属于锚点M或是控制点C时,其值为PointArray(i)的x,y,z坐标值,反之全为0;
[0026]采用以下方式计算左侧形变LHS,
[0027]LHS=L_transpose*L+alpha*S_tranpose*S。
[0028]采用以下方式计算右侧形变RHS,
[0029]RHS=L_transpose*X_Lprime+alpha*S_tranpose*p。
[0030]采用LDLT求解LHS*DeformPointArray=RHS,得到变形后的网格关键点DeformPointArray。
[0031]进一步的,所述对变形后的网格关键点进行平滑处理,得到平滑后的人脸三维网格,包括:
[0032]确定需要进行平滑处理的第一关键点集合以及不需要进行平滑处理的第二关键点集合;
[0033]确定与所述第一关键点集合中所有关键点直接相连的点,并求取带权均值;
[0034]根据预设平滑强度,在所述第一关键点集合中所有关键点与所述带权均值之间进行线性插值,得到所述第一关键点集合的平滑结果。
[0035]进一步的,当通过视频获取单张图像作为原始图像时,采用卡尔曼滤波对获取的人脸关键点进行平滑处理。
[0036]进一步的,所述获取原始图像,确定所述原始图像人脸区域的人脸关键点信息,包括:
[0037]获取原始图像的图像纹理;
[0038]将所述图像纹理输入预构建的人脸关键点检测模型中,输出人脸关键点信息。
[0039]进一步的,采用OpenGL结合所述人脸三维网格、所述平滑后的人脸三维网格以及所述原始图像进行渲染,得到结果图像。
[0040]进一步的,所述惩罚因子alpha的取值范围为0.5~5。
[0041]本申请实施例提供一种人脸鼻形3D实时变形装置,包括:
[0042]获取模块,用于获取原始图像,确定所述原始图像人脸区域的人脸关键点信息;其中,所述人脸关键点信息至少包括:五官、脸部轮廓在图像中的二维坐标;
[0043]检测模块,用于将所述人脸关键点信息输入预构建的人脸三维网格模型中,得到人脸三维网格;其中,所述人脸三维网格包括关键点及其拓扑结构;
[0044]变形模块,用于确定所述人脸三维网格中的鼻子部位,并对所述鼻子部位进行变形处理,得到变形后的网格关键点;
[0045]处理模块,用于对变形后的网格关键点进行平滑处理,得到平滑后的人脸三维网格;
[0046]渲染模块,用于结合所述人脸三维网格、所述平滑后的人脸三维网格以及所述原始图像进行渲染,得到结果图像。
[0047]本申请实施例提供一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种人脸鼻形3D实时变形方法,其特征在于,包括:获取原始图像,确定所述原始图像人脸区域的人脸关键点信息;其中,所述人脸关键点信息至少包括:五官、脸部轮廓在图像中的二维坐标;将所述人脸关键点信息输入预构建的人脸三维网格模型中,得到人脸三维网格;其中,所述人脸三维网格包括关键点及其拓扑结构;确定所述人脸三维网格中的鼻子部位,并对所述鼻子部位进行变形处理,得到变形后的网格关键点;对变形后的网格关键点进行平滑处理,得到平滑后的人脸三维网格;结合所述人脸三维网格、所述平滑后的人脸三维网格以及所述原始图像进行渲染,得到结果图像。2.根据权利要求1所述的方法,其特征在于,所述确定所述人脸三维网格中的鼻子部位,并对所述鼻子部位进行变形处理,得到变形后的网格关键点,之前包括:筛选所述人脸三维网格中的鼻子部位,并确定所述鼻子部位所在的封闭区域;确定所述封闭区域内的关键点与鼻子部位的连接关系;以所述封闭区域最外围的点作为锚点M;所述锚点M为不动点;预计算封闭区域的邻接对称矩阵Adj_mat;所述邻接对称矩阵Adj_mat为一个NxN方阵,1~N代表是封闭区域的所有顶点;邻接对称矩阵Adj_mat中的(i,j)元素,表示第i个关键点和第j个关键点之间是否存在直接相连的线段,如果存在,则值为1,否则为0;通过所述邻接对称矩阵Adj_mat,预计算对角矩阵D;根据所述邻接对称矩阵Adj_mat和所述对角矩阵D,计算得到变换矩阵L,并得到所述变换矩阵L的转置矩阵L_transpose;根据所述锚点M及根据控制点组C计算罚函数矩阵S,并得到所述罚函数矩阵的转置矩阵S_transpose;其中,所述罚函数矩阵为对角阵;所述控制点组C根据需要的鼻型进行选定,所述鼻型包括挺鼻和窄鼻;预设惩罚因子alpha。3.根据权利要求2所述的方法,其特征在于,所述确定所述人脸三维网格中的鼻子部位,并对所述鼻子部位进行变形处理,得到变形后的网格关键点,包括:计算所述人脸三维网格的关键点的x,y,z坐标值的N*3矩阵X_origin;根据所述变换矩阵和N*3矩阵X_origin,得到拉普拉斯坐标X_Lprime;根据需要的鼻型,对控制点组C中的所有关键点进行形变;计算N*3矩阵p;其中,p(i,0),p(i,1),p(i,2),在i属于锚点M或是控制点C时,其值为PointArray(i)的x,y,z坐标值,反之全为0;采用以下方式计算左侧形变LHS,LHS=L_...

【专利技术属性】
技术研发人员:黄冠喆
申请(专利权)人:广州光锥元信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1