CN111640055B - 一种二维人脸图片变形方法及系统 - Google Patents
一种二维人脸图片变形方法及系统 Download PDFInfo
- Publication number
- CN111640055B CN111640055B CN202010442141.4A CN202010442141A CN111640055B CN 111640055 B CN111640055 B CN 111640055B CN 202010442141 A CN202010442141 A CN 202010442141A CN 111640055 B CN111640055 B CN 111640055B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- face
- picture
- coordinate
- grid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 88
- 230000007704 transition Effects 0.000 claims abstract description 34
- 239000011159 matrix material Substances 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 229910052731 fluorine Inorganic materials 0.000 claims 1
- 125000001153 fluoro group Chemical group F* 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G06T3/04—
-
- G06T3/067—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明提供了计算机图形学领域的一种二维人脸图片变形方法及系统,方法包括:步骤S10、获取二维人脸图片、三维人脸模型,将三维人脸模型转换为人脸区域二维网格后叠加于二维人脸图片上;步骤S20、选取二维人脸图片与人脸区域二维网格对应特征点,并基于特征点得到坐标映射关系;步骤S30、基于人脸区域二维网格创建非人脸区域二维网格;步骤S40、基于人脸区域二维网格、坐标映射关系、非人脸区域二维网格、非人脸区域过渡规则,对二维人脸图片的像素点进行像素映射,生成变形后的人脸图片。本发明的优点在于:极大的提升了人脸图片变形的灵活性、过渡平滑性,进而极大的提升了最终生成图片的显示效果。
Description
技术领域
本发明涉及计算机图形学领域,特别指一种二维人脸图片变形方法及系统。
背景技术
随着网络技术和数字图像获取技术的方展,人们产生了将拍摄的图片或者视频传送到网络上进行分享的欲望,而为了获得更好的互动效果,时常需要对图片的人脸进行变形。
针对二维人脸图片的变形,传统上采用机器学习,训练得到变化参数,进而通过变化参数对人脸进行变形的方法。但是传统的方法存在如下缺点:依赖于大量的训练结果,由于训练模型遍历不完全,容易使人脸变形的效果差强人意。
因此,如何提供一种二维人脸图片变形方法及系统,实现提升人脸图片变形的灵活性、过渡平滑性,进而提升最终生成图片的显示效果,成为一个亟待解决的问题。
发明内容
本发明要解决的技术问题,在于提供一种二维人脸图片变形方法及系统,实现提升人脸图片变形的灵活性、过渡平滑性,进而提升最终生成图片的显示效果。
一方面,本发明提供了一种二维人脸图片变形方法,包括如下步骤:
步骤S10、获取待处理的二维人脸图片以及三维人脸模型,将所述三维人脸模型转换为由三角形组成的人脸区域二维网格后,叠加于所述二维人脸图片的上方;
步骤S20、选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,并基于30个所述特征点计算得到二维人脸图片与人脸区域二维网格的坐标映射关系;
步骤S30、基于所述人脸区域二维网格创建一非人脸区域二维网格;
步骤S40、基于所述人脸区域二维网格以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的人脸区域图片;
步骤S50、设定一非人脸区域过渡规则,基于所述非人脸区域二维网格、非人脸区域过渡规则以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的非人脸区域图片,将所述人脸区域图片以及非人脸区域图片叠加生成变形后的人脸图片。
进一步地,还包括:
步骤S60、获取叠加图片,将所述叠加图片转换为由三角形组成的叠加区域二维网格后,与所述二维人脸图片进行叠加,并利用所述坐标映射关系以及叠加区域二维网格将位于下层图片的像素点进行像素映射到上层图片,生成叠加后的人脸图片。
进一步地,所述步骤S20具体为:
基于人脸轮廓选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,获取30个所述特征点的二维坐标以及三维坐标,将30个所述特征点的二维坐标以及三维坐标带入如下公式:
uv=pos*modelview*projectview*viewport;
求解得到modelview、projectview以及viewport;其中uv表示二维坐标;pos表示三维坐标;modelview表示旋转矩阵;projectview表示缩放矩阵;viewport表示视图矩阵;
设所述二维人脸图片左上方顶点的二维坐标为(0,0),所述二维人脸图片上任意一个像素点的二维坐标为uvp(x2,y2),像素点所在所述人脸区域二维网格的三角形的三维坐标为a(ax3,ay3),b(bx3,by3),c(cx3,cy3);
基于质心坐标公式求解uvp(x2,y2)、a(ax3,ay3),b(bx3,by3),c(cx3,cy3)、modelview、projectview以及viewport,得到所述二维人脸图片与人脸区域二维网格的坐标映射关系:
x2=ax3*u+bx3*v+cx3*w;
y2=ay3*u+by3*v+cy3*w;
其中u、v、w表示计算过程变量,且u+v+w=1;a、b、c表示坐标系数;x2表示二维人脸图片的横坐标;y2表示二维人脸图片的纵坐标;x3表示人脸区域二维网格的横坐标;y3表示人脸区域二维网格的纵坐标。
进一步地,所述步骤S30具体为:
以所述人脸区域二维网格的外边缘为中心,从内至外设置15个由三角形组成的网格圈,各网格圈的宽度均为1个三角形,进而生成非人脸区域二维网格。
进一步地,所述像素映射具体为:
设所述二维人脸图片坐标为(w,h)的像素为RGB(w,h)=(r,g,b),映射前的三角形网格点为origpos(ox,oy),映射后的三角形网格点为nowpos(nx,ny);
设点(w,h)变形后的坐标为(w1,h1),像素为nowRGB(w1,h1)=(r1,g1,b1);基于所述坐标映射关系,得到:
w1=nax*u+nbx*v+ncx*w;
h1=nay*u+nby*v+ncy*w;
进而得到变形后的坐标(w1,h1)的像素为:
nowRGB(w1,h1)=RGB(oax*u+obx*v+ocx*w,oay*u+oby*v+ocy*w);
其中o和n均表示坐标系数;
所述非人脸区域过渡规则具体为:
外层网格圈的位置偏移量=相邻内层网格圈的位置偏移量*0.9。
另一方面,本发明提供了一种二维人脸图片变形系统,包括如下模块:
初始化模块,用于获取待处理的二维人脸图片以及三维人脸模型,将所述三维人脸模型转换为由三角形组成的人脸区域二维网格后,叠加于所述二维人脸图片的上方;
坐标映射关系计算模块,用于选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,并基于30个所述特征点计算得到二维人脸图片与人脸区域二维网格的坐标映射关系;
非人脸区域二维网格创建模块,用于基于所述人脸区域二维网格创建一非人脸区域二维网格;
人脸区域变形模块,用于基于所述人脸区域二维网格以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的人脸区域图片;
变形图片生成模块,用于设定一非人脸区域过渡规则,基于所述非人脸区域二维网格、非人脸区域过渡规则以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的非人脸区域图片,将所述人脸区域图片以及非人脸区域图片叠加生成变形后的人脸图片。
进一步地,还包括:
图片叠加模块,用于获取叠加图片,将所述叠加图片转换为由三角形组成的叠加区域二维网格后,与所述二维人脸图片进行叠加,并利用所述坐标映射关系以及叠加区域二维网格将位于下层图片的像素点进行像素映射到上层图片,生成叠加后的人脸图片。
进一步地,所述坐标映射关系计算模块具体为:
基于人脸轮廓选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,获取30个所述特征点的二维坐标以及三维坐标,将30个所述特征点的二维坐标以及三维坐标带入如下公式:
uv=pos*modelview*projectview*viewport;
求解得到modelview、projectview以及viewport;其中uv表示二维坐标;pos表示三维坐标;modelview表示旋转矩阵;projectview表示缩放矩阵;viewport表示视图矩阵;
设所述二维人脸图片左上方顶点的二维坐标为(0,0),所述二维人脸图片上任意一个像素点的二维坐标为uvp(x2,y2),像素点所在所述人脸区域二维网格的三角形的三维坐标为a(ax3,ay3),b(bx3,by3),c(cx3,cy3);
基于质心坐标公式求解uvp(x2,y2)、a(ax3,ay3),b(bx3,by3),c(cx3,cy3)、modelview、projectview以及viewport,得到所述二维人脸图片与人脸区域二维网格的坐标映射关系:
x2=ax3*u+bx3*v+cx3*w;
y2=ay3*u+by3*v+cy3*w;
其中u、v、w表示计算过程变量,且u+v+w=1;a、b、c表示坐标系数;x2表示二维人脸图片的横坐标;y2表示二维人脸图片的纵坐标;x3表示人脸区域二维网格的横坐标;y3表示人脸区域二维网格的纵坐标。
进一步地,所述非人脸区域二维网格创建模块具体为:
以所述人脸区域二维网格的外边缘为中心,从内至外设置15个由三角形组成的网格圈,各网格圈的宽度均为1个三角形,进而生成非人脸区域二维网格。
进一步地,所述像素映射具体为:
设所述二维人脸图片坐标为(w,h)的像素为RGB(w,h)=(r,g,b),映射前的三角形网格点为origpos(ox,oy),映射后的三角形网格点为nowpos(nx,ny);
设点(w,h)变形后的坐标为(w1,h1),像素为nowRGB(w1,h1)=(r1,g1,b1);基于所述坐标映射关系,得到:
w1=nax*u+nbx*v+ncx*w;
h1=nay*u+nby*v+ncy*w;
进而得到变形后的坐标(w1,h1)的像素为:
nowRGB(w1,h1)=RGB(oax*u+obx*v+ocx*w,oay*u+oby*v+ocy*w);
其中o和n均表示坐标系数;
所述非人脸区域过渡规则具体为:
外层网格圈的位置偏移量=相邻内层网格圈的位置偏移量*0.9。
本发明的优点在于:
1、通过选取二维人脸图片与三维人脸模型的人脸区域二维网格一一对应的30个特征点,基于质心坐标公式和特征点的坐标求解得到二维人脸图片与三维人脸模型的坐标映射关系,进而利用坐标映射关系以及三维人脸模型对二维人脸图片进行变形,使得二维人脸图片的变形完全参照三维人脸模型,若要变换不同的脸型仅需替换不同的三维人脸模型即可,相对于传统上通过机器学习存在遍历不完全的情况,极大的提升了人脸图片变形的灵活性,极大的提升了最终生成图片的显示效果。
2、通过基于人脸区域二维网格创建一非人脸区域二维网格,并设定非人脸区域过渡规则,即将人脸区域和非人脸区域按照不同策略进行变形,极大的提升了人脸区域和非人脸区域过渡的平滑性,极大的提升了最终生成图片的显示效果。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是本发明一种二维人脸图片变形方法的流程图。
图2是本发明一种二维人脸图片变形系统的结构示意图。
图3是本发明人脸区域二维网格叠加于二维人脸图片的示意图。
图4是本发明非人脸区域二维网格叠加于二维人脸图片的示意图。
图5是本发明人脸变形示意图。
图6是本发明图片叠加示意图。
图7是本发明图片叠加效果图。
具体实施方式
本申请实施例中的技术方案,总体思路如下:通过求取二维人脸图片与三维人脸模型的坐标映射关系,进而利用坐标映射关系对二维人脸图片的像素点进行像素映射,即重新采点,以提升人脸图片变形的灵活性和显示效果;通过设定非人脸区域过渡规则,将人脸区域和非人脸区域按照不同策略进行变形,以提升人脸区域和非人脸区域过渡的平滑性。
请参照图1至图7所示,本发明一种二维人脸图片变形方法的较佳实施例,包括如下步骤:
步骤S10、获取待处理的二维人脸图片以及三维人脸模型,将所述三维人脸模型转换为由三角形组成的人脸区域二维网格后,叠加于所述二维人脸图片的上方;所述三维人脸模型即二维人脸图片变形的参考对象;
步骤S20、选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,并基于30个所述特征点计算得到二维人脸图片与人脸区域二维网格的坐标映射关系;所述特征点即坐标点,基于人脸轮廓的明显特征进行选取,例如脸颊边缘、眼角、鼻子、嘴巴等;
步骤S30、基于所述人脸区域二维网格创建一非人脸区域二维网格,便于对人脸区域和非人脸区域采用不同的变形策略,提升变形的过渡自然性;
步骤S40、基于所述人脸区域二维网格以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的人脸区域图片;即对像素点进行重新采点;
步骤S50、设定一非人脸区域过渡规则,基于所述非人脸区域二维网格、非人脸区域过渡规则以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的非人脸区域图片,将所述人脸区域图片以及非人脸区域图片叠加生成变形后的人脸图片。
若要变换不同的脸型仅需替换不同的所述三维人脸模型即可,实现做出不同表情、旋转、叠加图片等变形,当替换不同的所述三维人脸模型时,所述非人脸区域二维网格也会跟随着发生变化。
还包括:
步骤S60、获取叠加图片,将所述叠加图片转换为由三角形组成的叠加区域二维网格后,与所述二维人脸图片进行叠加,并利用所述坐标映射关系以及叠加区域二维网格将位于下层图片的像素点进行像素映射到上层图片,生成叠加后的人脸图片。例如要在人脸图片上叠加牙齿图片,则将牙齿图片设为上层图片,将人脸图片设为下层图片,而叠加顺序是依据3D模型的深度值来确定的。
由于视频是由若干帧图片组合而成的,本发明也可应用于视频里人脸的变形以及图片叠加。
所述步骤S20具体为:
基于人脸轮廓选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,获取30个所述特征点的二维坐标以及三维坐标,将30个所述特征点的二维坐标以及三维坐标带入如下公式:
uv=pos*modelview*projectview*viewport;
求解得到modelview、projectview以及viewport;其中uv表示二维坐标;pos表示三维坐标;modelview表示旋转矩阵;projectview表示缩放矩阵;viewport表示视图矩阵;
设所述二维人脸图片左上方顶点的二维坐标为(0,0),所述二维人脸图片上任意一个像素点的二维坐标为uvp(x2,y2),像素点所在所述人脸区域二维网格的三角形的三维坐标为a(ax3,ay3),b(bx3,by3),c(cx3,cy3);
基于质心坐标公式求解uvp(x2,y2)、a(ax3,ay3),b(bx3,by3),c(cx3,cy3)、
modelview、projectview以及viewport,得到所述二维人脸图片与人脸区域二维网格的坐标映射关系:
x2=ax3*u+bx3*v+cx3*w;
y2=ay3*u+by3*v+cy3*w;
其中u、v、w表示计算过程变量,且u+v+w=1;a、b、c表示坐标系数;x2表示二维人脸图片的横坐标;y2表示二维人脸图片的纵坐标;x3表示人脸区域二维网格的横坐标;y3表示人脸区域二维网格的纵坐标。质心坐标是指在几何结构中,图形中的点相对各顶点的位置。以三角形为例,三角形内的点都可以由一个矩阵表示,这个矩阵和三角形各顶点有关。
所述步骤S30具体为:
以所述人脸区域二维网格的外边缘为中心,从内至外设置15个由三角形组成的网格圈,各网格圈的宽度均为1个三角形,进而生成非人脸区域二维网格。
所述像素映射具体为:
设所述二维人脸图片坐标为(w,h)的像素为RGB(w,h)=(r,g,b),映射前的三角形网格点为origpos(ox,oy),映射后的三角形网格点为nowpos(nx,ny);
设点(w,h)变形后的坐标为(w1,h1),像素为nowRGB(w1,h1)=(r1,g1,b1);基于所述坐标映射关系,得到:
w1=nax*u+nbx*v+ncx*w;
h1=nay*u+nby*v+ncy*w;
进而得到变形后的坐标(w1,h1)的像素为:
nowRGB(w1,h1)=RGB(oax*u+obx*v+ocx*w,oay*u+oby*v+ocy*w);
其中o和n均表示坐标系数;
所述非人脸区域过渡规则具体为:
外层网格圈的位置偏移量=相邻内层网格圈的位置偏移量*0.9。所述非人脸区域过渡规则达到的效果是离人脸区域越远,偏移量越小,即变形越小,以达到平滑过渡的效果。
本发明一种二维人脸图片变形系统的较佳实施例,包括如下模块:
初始化模块,用于获取待处理的二维人脸图片以及三维人脸模型,将所述三维人脸模型转换为由三角形组成的人脸区域二维网格后,叠加于所述二维人脸图片的上方;所述三维人脸模型即二维人脸图片变形的参考对象;
坐标映射关系计算模块,用于选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,并基于30个所述特征点计算得到二维人脸图片与人脸区域二维网格的坐标映射关系;所述特征点即坐标点,基于人脸轮廓的明显特征进行选取,例如脸颊边缘、眼角、鼻子、嘴巴等;
非人脸区域二维网格创建模块,用于基于所述人脸区域二维网格创建一非人脸区域二维网格,便于对人脸区域和非人脸区域采用不同的变形策略,提升变形的过渡自然性;
人脸区域变形模块,用于基于所述人脸区域二维网格以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的人脸区域图片;即对像素点进行重新采点;
变形图片生成模块,用于设定一非人脸区域过渡规则,基于所述非人脸区域二维网格、非人脸区域过渡规则以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的非人脸区域图片,将所述人脸区域图片以及非人脸区域图片叠加生成变形后的人脸图片。
若要变换不同的脸型仅需替换不同的所述三维人脸模型即可,实现做出不同表情、旋转、叠加图片等变形,当替换不同的所述三维人脸模型时,所述非人脸区域二维网格也会跟随着发生变化。
还包括:
图片叠加模块,用于获取叠加图片,将所述叠加图片转换为由三角形组成的叠加区域二维网格后,与所述二维人脸图片进行叠加,并利用所述坐标映射关系以及叠加区域二维网格将位于下层图片的像素点进行像素映射到上层图片,生成叠加后的人脸图片。例如要在人脸图片上叠加牙齿图片,则将牙齿图片设为上层图片,将人脸图片设为下层图片,而叠加顺序是依据3D模型的深度值来确定的。
由于视频是由若干帧图片组合而成的,本发明也可应用于视频里人脸的变形以及图片叠加。
所述坐标映射关系计算模块具体为:
基于人脸轮廓选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,获取30个所述特征点的二维坐标以及三维坐标,将30个所述特征点的二维坐标以及三维坐标带入如下公式:
uv=pos*modelview*projectview*viewport;
求解得到modelview、projectview以及viewport;其中uv表示二维坐标;pos表示三维坐标;modelview表示旋转矩阵;projectview表示缩放矩阵;viewport表示视图矩阵;
设所述二维人脸图片左上方顶点的二维坐标为(0,0),所述二维人脸图片上任意一个像素点的二维坐标为uvp(x2,y2),像素点所在所述人脸区域二维网格的三角形的三维坐标为a(ax3,ay3),b(bx3,by3),c(cx3,cy3);
基于质心坐标公式求解uvp(x2,y2)、a(ax3,ay3),b(bx3,by3),c(cx3,cy3)、modelview、projectview以及viewport,得到所述二维人脸图片与人脸区域二维网格的坐标映射关系:
x2=ax3*u+bx3*v+cx3*w;
y2=ay3*u+by3*v+cy3*w;
其中u、v、w表示计算过程变量,且u+v+w=1;a、b、c表示坐标系数;x2表示二维人脸图片的横坐标;y2表示二维人脸图片的纵坐标;x3表示人脸区域二维网格的横坐标;y3表示人脸区域二维网格的纵坐标。质心坐标是指在几何结构中,图形中的点相对各顶点的位置。以三角形为例,三角形内的点都可以由一个矩阵表示,这个矩阵和三角形各顶点有关。
所述非人脸区域二维网格创建模块具体为:
以所述人脸区域二维网格的外边缘为中心,从内至外设置15个由三角形组成的网格圈,各网格圈的宽度均为1个三角形,进而生成非人脸区域二维网格。
所述像素映射具体为:
设所述二维人脸图片坐标为(w,h)的像素为RGB(w,h)=(r,g,b),映射前的三角形网格点为origpos(ox,oy),映射后的三角形网格点为nowpos(nx,ny);
设点(w,h)变形后的坐标为(w1,h1),像素为nowRGB(w1,h1)=(r1,g1,b1);基于所述坐标映射关系,得到:
w1=nax*u+nbx*v+ncx*w;
h1=nay*u+nby*v+ncy*w;
进而得到变形后的坐标(w1,h1)的像素为:
nowRGB(w1,h1)=RGB(oax*u+obx*v+ocx*w,oay*u+oby*v+ocy*w);
其中o和n均表示坐标系数;
所述非人脸区域过渡规则具体为:
外层网格圈的位置偏移量=相邻内层网格圈的位置偏移量*0.9。所述非人脸区域过渡规则达到的效果是离人脸区域越远,偏移量越小,即变形越小,以达到平滑过渡的效果。
综上所述,本发明的优点在于:
1、通过选取二维人脸图片与三维人脸模型的人脸区域二维网格一一对应的30个特征点,基于质心坐标公式和特征点的坐标求解得到二维人脸图片与三维人脸模型的坐标映射关系,进而利用坐标映射关系以及三维人脸模型对二维人脸图片进行变形,使得二维人脸图片的变形完全参照三维人脸模型,若要变换不同的脸型仅需替换不同的三维人脸模型即可,相对于传统上通过机器学习存在遍历不完全的情况,极大的提升了人脸图片变形的灵活性,极大的提升了最终生成图片的显示效果。
2、通过基于人脸区域二维网格创建一非人脸区域二维网格,并设定非人脸区域过渡规则,即将人脸区域和非人脸区域按照不同策略进行变形,极大的提升了人脸区域和非人脸区域过渡的平滑性,极大的提升了最终生成图片的显示效果。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (6)
1.一种二维人脸图片变形方法,其特征在于:包括如下步骤:
步骤S10、获取待处理的二维人脸图片以及三维人脸模型,将所述三维人脸模型转换为由三角形组成的人脸区域二维网格后,叠加于所述二维人脸图片的上方;
步骤S20、选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,并基于30个所述特征点计算得到二维人脸图片与人脸区域二维网格的坐标映射关系;
步骤S30、基于所述人脸区域二维网格创建一非人脸区域二维网格;
步骤S40、基于所述人脸区域二维网格以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的人脸区域图片;
步骤S50、设定一非人脸区域过渡规则,基于所述非人脸区域二维网格、非人脸区域过渡规则以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的非人脸区域图片,将所述人脸区域图片以及非人脸区域图片叠加生成变形后的人脸图片;
步骤S60、获取叠加图片,将所述叠加图片转换为由三角形组成的叠加区域二维网格后,与所述二维人脸图片进行叠加,并利用所述坐标映射关系以及叠加区域二维网格将位于下层图片的像素点进行像素映射到上层图片,生成叠加后的人脸图片;
所述步骤S20具体为:
基于人脸轮廓选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,获取30个所述特征点的二维坐标以及三维坐标,将30个所述特征点的二维坐标以及三维坐标带入如下公式:
uv=pos*modelview*projectview*viewport;
求解得到modelview、projectview以及viewport;其中uv表示二维坐标;pos表示三维坐标;modelview表示旋转矩阵;projectview表示缩放矩阵;viewport表示视图矩阵;
设所述二维人脸图片左上方顶点的二维坐标为(0,0),所述二维人脸图片上任意一个像素点的二维坐标为uvp(x2,y2),像素点所在所述人脸区域二维网格的三角形的三维坐标为a(ax3,ay3),b(bx3,by3),c(cx3,cy3);
基于质心坐标公式求解uvp(x2,y2)、a(ax3,ay3),b(bx3,by3),c(cx3,cy3)、modelview、projectview以及viewport,得到所述二维人脸图片与人脸区域二维网格的坐标映射关系:
x2=ax3*u+bx3*v+cx3*w;
y2=ay3*u+by3*v+cy3*w;
其中u、v、w表示计算过程变量,且u+v+w=1;a、b、c表示坐标系数;x2表示二维人脸图片的横坐标;y2表示二维人脸图片的纵坐标;x3表示人脸区域二维网格的横坐标;y3表示人脸区域二维网格的纵坐标。
2.如权利要求1所述的一种二维人脸图片变形方法,其特征在于:所述步骤S30具体为:
以所述人脸区域二维网格的外边缘为中心,从内至外设置15个由三角形组成的网格圈,各网格圈的宽度均为1个三角形,进而生成非人脸区域二维网格。
3.如权利要求2所述的一种二维人脸图片变形方法,其特征在于:所述像素映射具体为:
设所述二维人脸图片坐标为(w,h)的像素为RGB(w,h)=(r,g,b),映射前的三角形网格点为origpos(ox,oy),映射后的三角形网格点为nowpos(nx,ny);
设点(w,h)变形后的坐标为(w1,h1),像素为nowRGB(w1,h1)=(r1,g1,b1);基于所述坐标映射关系,得到:
w1=nax*u+nbx*v+ncx*w;
h1=nay*u+nby*v+ncy*w;
进而得到变形后的坐标(w1,h1)的像素为:
nowRGB(w1,h1)=RGB(oax*u+obx*v+ocx*w,oay*u+oby*v+ocy*w);
其中o和n均表示坐标系数;
所述非人脸区域过渡规则具体为:
外层网格圈的位置偏移量=相邻内层网格圈的位置偏移量*0.9。
4.一种二维人脸图片变形系统,其特征在于:包括如下模块:
初始化模块,用于获取待处理的二维人脸图片以及三维人脸模型,将所述三维人脸模型转换为由三角形组成的人脸区域二维网格后,叠加于所述二维人脸图片的上方;
坐标映射关系计算模块,用于选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,并基于30个所述特征点计算得到二维人脸图片与人脸区域二维网格的坐标映射关系;
非人脸区域二维网格创建模块,用于基于所述人脸区域二维网格创建一非人脸区域二维网格;
人脸区域变形模块,用于基于所述人脸区域二维网格以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的人脸区域图片;
变形图片生成模块,用于设定一非人脸区域过渡规则,基于所述非人脸区域二维网格、非人脸区域过渡规则以及坐标映射关系对二维人脸图片的像素点进行像素映射,生成变形后的非人脸区域图片,将所述人脸区域图片以及非人脸区域图片叠加生成变形后的人脸图片;
图片叠加模块,用于获取叠加图片,将所述叠加图片转换为由三角形组成的叠加区域二维网格后,与所述二维人脸图片进行叠加,并利用所述坐标映射关系以及叠加区域二维网格将位于下层图片的像素点进行像素映射到上层图片,生成叠加后的人脸图片;
所述坐标映射关系计算模块具体为:
基于人脸轮廓选取所述二维人脸图片与人脸区域二维网格一一对应的30个特征点,获取30个所述特征点的二维坐标以及三维坐标,将30个所述特征点的二维坐标以及三维坐标带入如下公式:
uv=pos*modelview*projectview*viewport;
求解得到modelview、projectview以及viewport;其中uv表示二维坐标;pos表示三维坐标;modelview表示旋转矩阵;projectview表示缩放矩阵;viewport表示视图矩阵;
设所述二维人脸图片左上方顶点的二维坐标为(0,0),所述二维人脸图片上任意一个像素点的二维坐标为uvp(x2,y2),像素点所在所述人脸区域二维网格的三角形的三维坐标为a(ax3,ay3),b(bx3,by3),c(cx3,cy3);
基于质心坐标公式求解uvp(x2,y2)、a(ax3,ay3),b(bx3,by3),c(cx3,cy3)、modelview、projectview以及viewport,得到所述二维人脸图片与人脸区域二维网格的坐标映射关系:
x2=ax3*u+bx3*v+cx3*w;
y2=ay3*u+by3*v+cy3*w;
其中u、v、w表示计算过程变量,且u+v+w=1;a、b、c表示坐标系数;x2表示二维人脸图片的横坐标;y2表示二维人脸图片的纵坐标;x3表示人脸区域二维网格的横坐标;y3表示人脸区域二维网格的纵坐标。
5.如权利要求4所述的一种二维人脸图片变形系统,其特征在于:所述非人脸区域二维网格创建模块具体为:
以所述人脸区域二维网格的外边缘为中心,从内至外设置15个由三角形组成的网格圈,各网格圈的宽度均为1个三角形,进而生成非人脸区域二维网格。
6.如权利要求5所述的一种二维人脸图片变形系统,其特征在于:所述像素映射具体为:
设所述二维人脸图片坐标为(w,h)的像素为RGB(w,h)=(r,g,b),映射前的三角形网格点为origpos(ox,oy),映射后的三角形网格点为nowpos(nx,ny);
设点(w,h)变形后的坐标为(w1,h1),像素为nowRGB(w1,h1)=(r1,g1,b1);基于所述坐标映射关系,得到:
w1=nax*u+nbx*v+ncx*w;
h1=nay*u+nby*v+ncy*w;
进而得到变形后的坐标(w1,h1)的像素为:
nowRGB(w1,h1)=RGB(oax*u+obx*v+ocx*w,oay*u+oby*v+ocy*w);
其中o和n均表示坐标系数;
所述非人脸区域过渡规则具体为:
外层网格圈的位置偏移量=相邻内层网格圈的位置偏移量*0.9。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010442141.4A CN111640055B (zh) | 2020-05-22 | 2020-05-22 | 一种二维人脸图片变形方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010442141.4A CN111640055B (zh) | 2020-05-22 | 2020-05-22 | 一种二维人脸图片变形方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111640055A CN111640055A (zh) | 2020-09-08 |
CN111640055B true CN111640055B (zh) | 2023-04-11 |
Family
ID=72329139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010442141.4A Active CN111640055B (zh) | 2020-05-22 | 2020-05-22 | 一种二维人脸图片变形方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111640055B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112766215A (zh) * | 2021-01-29 | 2021-05-07 | 北京字跳网络技术有限公司 | 人脸融合方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383055A (zh) * | 2008-09-18 | 2009-03-11 | 北京中星微电子有限公司 | 一种三维人脸模型的构造方法和系统 |
CN102592136A (zh) * | 2011-12-21 | 2012-07-18 | 东南大学 | 基于几何图像中中频信息的三维人脸识别方法 |
CN103646416A (zh) * | 2013-12-18 | 2014-03-19 | 中国科学院计算技术研究所 | 一种三维卡通人脸纹理生成方法及设备 |
CN107730519A (zh) * | 2017-09-11 | 2018-02-23 | 广东技术师范学院 | 一种人脸二维图像到人脸三维重建的方法及系统 |
CN108986221A (zh) * | 2018-07-27 | 2018-12-11 | 河海大学常州校区 | 一种基于模板人脸逼近的不规范三维人脸网格纹理方法 |
CN110097586A (zh) * | 2019-04-30 | 2019-08-06 | 青岛海信网络科技股份有限公司 | 一种人脸检测追踪方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9881203B2 (en) * | 2013-08-29 | 2018-01-30 | Nec Corporation | Image processing device, image processing method, and program |
-
2020
- 2020-05-22 CN CN202010442141.4A patent/CN111640055B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383055A (zh) * | 2008-09-18 | 2009-03-11 | 北京中星微电子有限公司 | 一种三维人脸模型的构造方法和系统 |
CN102592136A (zh) * | 2011-12-21 | 2012-07-18 | 东南大学 | 基于几何图像中中频信息的三维人脸识别方法 |
CN103646416A (zh) * | 2013-12-18 | 2014-03-19 | 中国科学院计算技术研究所 | 一种三维卡通人脸纹理生成方法及设备 |
CN107730519A (zh) * | 2017-09-11 | 2018-02-23 | 广东技术师范学院 | 一种人脸二维图像到人脸三维重建的方法及系统 |
CN108986221A (zh) * | 2018-07-27 | 2018-12-11 | 河海大学常州校区 | 一种基于模板人脸逼近的不规范三维人脸网格纹理方法 |
CN110097586A (zh) * | 2019-04-30 | 2019-08-06 | 青岛海信网络科技股份有限公司 | 一种人脸检测追踪方法及装置 |
Non-Patent Citations (1)
Title |
---|
《基于特征约束点的纹理映射算法》;江昊等;《计算机仿真》;20090401;第26卷(第1期);237-239 * |
Also Published As
Publication number | Publication date |
---|---|
CN111640055A (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10366533B2 (en) | Image processing device and image processing method | |
US8761501B2 (en) | Method for 3D video content generation | |
US20170278302A1 (en) | Method and device for registering an image to a model | |
US20110050685A1 (en) | Image processing apparatus, image processing method, and program | |
JP2000067267A (ja) | 三次元シーンにおける形状及び模様の復元方法及び装置 | |
WO2005073909A1 (ja) | 化粧シミュレーションプログラム、化粧シミュレーション装置、及び化粧シミュレーション方法 | |
CN101303772A (zh) | 一种基于单幅图像的非线性三维人脸建模方法 | |
CN112734890B (zh) | 基于三维重建的人脸替换方法及装置 | |
CN108550157B (zh) | 一种教学板书的无遮挡处理方法 | |
CN106652037B (zh) | 一种人脸贴图处理方法及装置 | |
CN107358609B (zh) | 一种用于增强现实的图像叠加方法及装置 | |
KR20160088814A (ko) | 2차원 이미지를 3차원 그래픽 모델로 변환하는 방법 | |
CN104778736A (zh) | 单视频内容驱动的服装三维动画生成方法 | |
CN107767357A (zh) | 一种基于多方向字典的深度图像超分辨率方法 | |
CN111640055B (zh) | 一种二维人脸图片变形方法及系统 | |
JP2005275646A (ja) | 3次元描画モデル生成方法、3次元モデル描画方法及びそのプログラム | |
US20110149039A1 (en) | Device and method for producing new 3-d video representation from 2-d video | |
WO2012167475A1 (zh) | 生成形体动画的方法及装置 | |
Divya Udayan et al. | Animage-based approach to the reconstruction of ancient architectures by extracting and arranging 3D spatial components | |
JP5807569B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
US11120606B1 (en) | Systems and methods for image texture uniformization for multiview object capture | |
CN104091318A (zh) | 一种中国手语视频过渡帧的合成方法 | |
CN113379899A (zh) | 一种建筑工程工作面区域图像自动提取方法 | |
Budd et al. | Temporal alignment of 3d video sequences using shape and appearance | |
JP2006004051A (ja) | 画像処理プログラム、画像処理装置、及び画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |