CN115409932A - 一种三维人头脸模型的纹理映射与补全方法 - Google Patents

一种三维人头脸模型的纹理映射与补全方法 Download PDF

Info

Publication number
CN115409932A
CN115409932A CN202211041713.3A CN202211041713A CN115409932A CN 115409932 A CN115409932 A CN 115409932A CN 202211041713 A CN202211041713 A CN 202211041713A CN 115409932 A CN115409932 A CN 115409932A
Authority
CN
China
Prior art keywords
model
texture
face
image
patch
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.)
Pending
Application number
CN202211041713.3A
Other languages
English (en)
Inventor
刘诗雅
樊养余
马浩悦
刘洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Star Shark Information Technology Shanghai Co ltd
Original Assignee
Star Shark Information Technology Shanghai Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Star Shark Information Technology Shanghai Co ltd filed Critical Star Shark Information Technology Shanghai Co ltd
Priority to CN202211041713.3A priority Critical patent/CN115409932A/zh
Publication of CN115409932A publication Critical patent/CN115409932A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一种三维人头脸模型的纹理映射与补全方法,首先,构建三维人脸网格模型;其次,对人头脸网格模型进行可见面判别;然后获得失真较小的纹理映射结果;接着,基于面片法向量与像面法向量夹角的加权融合算法,实现多图像纹理融合的平滑过渡;然后,针对耳部纹理效果不佳的问题,通过针对性地计算耳部区域的融合权重,并设置耳部边界融合带,实现耳部区域的纹理优化;最后,利用掩模图像进行纹理缺失检测,并分别实现模型的大区域与小区域纹理补全,获得纹理完整、真实且自然的三维人头脸模型。本发明在不依赖昂贵硬件设备且数据采集成本低的条件下,能够自动化地生成纹理完整、自然的人头脸模型。

Description

一种三维人头脸模型的纹理映射与补全方法
技术领域
本发明属于图像处理和计算机图形学技术领域,具体涉及一种三维人头脸模型的纹理映射与补全方法。
背景技术
纹理作为真实感虚拟人脸的重要组成部分,有效地表现了虚拟人头脸的外貌细节特征,增强了虚拟人头脸模型的真实感。随着技术的发展,人们对自动化的人头脸纹理映射***的需求越来越高,但在实践中,却存在很多难以解决或者效果难以尽如人意的问题:
(1)利用深度学习的三维人脸重建方法可以直接重建出带有纹理的三维人脸模型,且效果较逼真,但大多数方法非常依赖训练数据集,且其人脸相关数据集的生成仍依靠传统方法进行,其次利用深度学习的方法对计算机硬件要求高;
(2)在基于传统方法的三维人脸重建中,大多关于人脸纹理映射的研究都侧重于对人脸网格模型做UV展开,然后对UV进行贴图,并将带有纹理的UV“包裹”到三维模型上,然而人脸本为不可展曲面,这种方法得到的纹理映射结果容易产生较大的失真;
(3)当人脸模型的纹理由同一个体的多张图像生成时,由于图像的光照变化、相机参数导致的几何重建误差等因素,在模型表面会出现明显的非自然“痕迹”,需要对模型进行纹理融合,然而目前大多数纹理融合方法只考虑纹理图像的色调和亮度差异,对模型表面纹理来自于二维图像非目标人脸区域与纹理缺失问题的方法较少。
发明内容
为克服现有技术的不足,本发明公开了一种三维人头脸模型的纹理映射与补全方法,该方法在不依赖昂贵硬件设备且数据采集成本低的条件下,能够自动化地生成纹理完整、自然的人头脸模型。
为实现上述目的,本发明的技术方案是:
一种三维人头脸模型的纹理映射与补全方法,包括:
步骤1:获取目标人物真实人脸的正、右、左、背面视图以及对应四张图像的二值掩模图像;
步骤2:人脸图像特征点检测:
利用基于随机森林的级联式回归模型对人脸的正面、右侧面以及左侧面视图进行人脸特征点预测,分别获得正面、右侧面、左侧面视图中的二维人脸特征点;
步骤3:三维人头脸几何模型重建:
根据正面、右侧面、左侧面视图中的二维人脸特征点,利用基于随机图像集合的人脸低分辨率重建算法,获得三维人头脸模型,以及每张视图对应的人脸姿态参数和相机参数;
其中,三维人脸几何模型为三角网格面片模型,三维人脸几何模型的顶点坐标为世界坐标系下的表示;
步骤4:人脸网格模型的可见面判别:
利用基于光线投射的人脸网格模型可见面判别法,对正面、右侧面以及左侧面视角下的人脸网格模型进行可见网格面判别,分别获得三个视角下的不可见面消隐结果;
步骤5:模型的网格顶点纹理坐标计算:
利用弱透视投影变换,将所述三个视角下的不可见面消隐后的网格模型投影至像素平面坐标系,分别获得三个视角下网格模型的顶点纹理坐标;
步骤6:模型的网格顶点颜色矩阵计算:
利用最近邻点插值法,基于正面、右侧面以及左侧面视角下的网格模型顶点纹理坐标在相应视角图像中插值计算网格模型顶点颜色值,分别获得所述三个视角下人脸网格模型的纹理映射结果;
步骤7:计算人脸网格模型的面片法向量,获得人脸网格面片法向量矩阵;
步骤8:视角图像的平面法向量计算:
利用所述正面、右侧面与左侧面视图对应的人脸姿态参数,分别计算所述三个视图在摄像机坐标系下的图像平面法向量;
步骤9:有效纹理图像筛选与纹理融合:
根据人脸网格面片法向量与所述正面、右侧面以及左侧面视图的图像平面法向量的夹角是否大于80度,对网格模型的每一个面片进行有效纹理图像筛选,获得模型每一个面片的有效图像个数与图像序号;接着,根据人脸网格模型的每一个面片法向量与有效纹理图像的平面法向量夹角的余弦值确定融合权重分配依据,并按照融合权重,对相应视角下人脸模型的网格顶点纹理值进行加权融合,获得人脸网格模型融和后的网格顶点纹理值;
其中,有效纹理图像是指对网格模型的某一面片,图像平面法向量与该面片法向量夹角小于80度的视图图像;
步骤10:模型耳部纹理优化;
根据人脸特征点划分出人头脸模型的左右耳区域,并重置正侧面视角图像在耳部区域的融合权重,对耳部纹理进行优化,同时,对耳部区域边界线双向延拓得到融合带区域,通过对侧面图像的耳部映射结果纹理融合结果分配一定的权重,获得融合区域的纹理,实现耳部区域与其它区域的自然衔接,最终获的耳部区域纹理优化后的人头脸模型;
步骤11:对正、右、左以及背面视图对应的掩膜图像进行二值化处理,并获取该四侧视图的二值掩模图像;
步骤12:模型的无纹理区域判别:
将正、右、左与背面视图的二值掩膜图像映射至人脸网格模型上,获取人脸网格模型的纹理缺失检测结果;
其中,颜色值为0的顶点为纹理缺失的模型网格顶点;
步骤13:模型大区域纹理补全:
根据正面与背面视图的二值掩膜图像计算缩放系数和平移矩阵,对背面视图进行缩放和平移,获得与正面视图形状适配后的背面图像,并按照上述纹理映射方法,将所述适配后的背面图像映射至人脸网格模型上,获取人脸网格模型背面纹理补全后的网格顶点纹理值;
步骤14:模型的小区域纹理补全:
根据人脸特征点在空间中的坐标确定模型鼻子区域,其次,计算待补纹理的模型面片与模型鼻子区域的面片法向量夹角余弦值,并选取夹角余弦值最大的面片顶点纹理为待补纹理的模型面片顶点纹理,获得人脸网格模型小区域纹理补全后的网格顶点纹理值;
其中,待补纹理面片为对人脸网格模型背面纹理补全后的纹理缺失面片。
优选的,所述的步骤2中,采用的人脸特征点定义标准为73点标准,包括:眼睛特征点16个,眉毛特征点12个,脸廓特征点15个,外嘴唇特征点12个,内嘴唇特征点6个,以及鼻子特征点12个。
优选的,所述的步骤3中,三维人头脸模型在世界坐标系中的表示为:Fw,三维人头脸模型分别在正面、右侧面与左侧面视图对应的人脸姿态下的表示为:
Fi=Ri·Fw+Ti (1)
式中,Fi,i=1,2,3;分别代表正面、右侧面与左侧面视角下的三维人头脸模型;Ri,i=1,2,3与Ti,i=1,2,3;分别为正面、右侧面、左侧面视图下的旋转矩阵与平移矩阵;正面、右侧面、左侧面视图对应的相机参数分别为fi,i=1,2,3。
优选的,所述的步骤4中,人脸网格模型可见面判别的算法流程为:
(1)获取正面、右侧面和左侧面中某一视角下的三维人头脸网格模型,作为当前视角下的人头脸网格模型;
(2)遍历当前人头脸网格模型上的每一个顶点,并以模型顶点为入射点做射线,射线的方向与当前视角图像平面的法向量方向平行,判断射线与网格模型三角面片的相交情况;
其中,若射线除入射点外,与模型上的三角面片均不相交,则对模型不进行任何处理;若射线除入射点外,与模型上的其它三角面存在交点,此时判定除入射点外,其它交点所在的三角面片为当前视角下的不可见面片;
(3)隐去当前人头脸网格模型上所有不可见三角面片;
(4)重复操作(1)-(3)直至正面、右侧面和左侧面视角下的三维人头脸网格模型均完成可见面消隐,并分别记不可见面消隐后的模型为Fi',i=1,2,3。
优选的,所述的步骤5中,分别将正面、右侧面和左侧面视角下的不可见面消隐模型Fi',i=1,2,3投影至像素平面坐标系,获得人头脸网格模型在相应视角图像中的模型顶点纹理坐标的计算流程如下:
(1)获取正面、右侧面和左侧面中某一视角下的不可见面消隐模型Fi',以及该视角图像对应的相机参数fi
(2)获取当前不可见面消隐模型上的各顶点坐标(xC_vintex,yC_vintex,zC_vintex);
(3)计算各顶点(xC_vintex,yC_vintex,zC_vintex)经弱透视投影变换后的二维投影点坐标(xI_vintex,yI_vintex),计算过程如下:
Figure BDA0003820598620000051
(4)计算投影点(xI_vintex,yI_vintex)的纹理坐标(uvintex,vvintex),计算过程如下:
Figure BDA0003820598620000052
其中,dx和dy分别表示像素坐标系中的每一行和每一列分别代表多少毫米,u0和v0分别表示图像平面中心的像素坐标;
(5)重复(1)-(4)直至人头脸网格模型在正面、右侧面和左侧面视图中的模型顶点纹理坐标均计算完成。
优选的,所述的步骤6中,利用最近邻插值算法,基于不可见面消隐后的人头脸网格模型在正面、右侧面和左侧面视图中的网格顶点纹理坐标,分别在相应的视角图像中插值计算模型的网格顶点颜色矩阵,并获得三个视角下人头脸网格模型的网格顶点颜色矩阵ColorMatrix_Ii,(i=1,2,3),其中,ColorMatrix_Ii,(i=1,2,3)分别表示正面、右侧面和左侧面视角图像对应的模型网格顶点颜色矩阵。
优选的,所述的步骤7中,人脸网格模型的法向量矩阵的计算流程如下:
(1)从网格模型上的第一个三角面片开始,确定当前面片的索引号FaceIntex;
(2)根据FaceIntex在网格模型的面信息矩阵中获取三个顶点索引VerIntex1,VerIntex2,VerIntex3;
(3)根据VerIntex1,VerIntex2,VerIntex3在网格模型的顶点坐标矩阵中获取三个顶点的空间坐标P0(x0,y0,z0),P1(x1,y1,z1),P2(x2,y2,z2);
(4)计算面片的法向量
Figure BDA0003820598620000053
其中,已知三角面片的顶点坐标P0(x0,y0,z0),P1(x1,y1,z1),P2(x2,y2,z2),其三角面的平面法向量
Figure BDA0003820598620000054
的计算过程如下:
首先,利用
Figure BDA0003820598620000055
Figure BDA0003820598620000056
的叉积来构造平面法向量,如下式所示:
Figure BDA0003820598620000061
则有:
Figure BDA0003820598620000062
式(5)中,i,j,k分别为空间中相互垂直的三条坐标轴的单位向量,且有:
Figure BDA0003820598620000063
(5)将当前计算获得的法向量存储到FaceNorm矩阵中,并更新面片索引号FaceIntex到下一个面片;
(6)重复操作(1)-(5)直至遍历完网格模型上的所有三角面片,即FaceIntex=22800;
通过计算获得的网格模型面片矩阵FaceNorm为22800×3的矩阵;
其中,FaceNorm为三角面片的法向量矩阵,用于存储模型上每个三角面片的法向量,FaceNum=22800为模型总面片数,FaceIntex为当前三角面片索引号。
优选的,所述的步骤8中,利用步骤3中获得的正面、右侧面与左侧面视角图像对应的人脸姿态参数Ri,i=1,2,3,分别计算三个视角图像在摄像机坐标系下的图像平面法向量
Figure BDA0003820598620000064
i=1,2,3,其中,
Figure BDA0003820598620000065
i=1,2,3的计算公式如下所示:
Figure BDA0003820598620000066
优选的,所述的步骤9中,以夹角余弦值为权重分配依据,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值;
有效纹理图像筛选与纹理融合流程如下:
(1)网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角计算公式如下:
Figure BDA0003820598620000067
其中,θi_FaceIntex表示面片索引为FaceIntex的三角面片与第i张视角图像之间的夹角,i=1,2,3分别表示正面、右侧面和左侧面视角图像,
Figure BDA0003820598620000071
表示面片索引为FaceIntex的三角面片法向量,
Figure BDA0003820598620000072
表示第i张视角图像的图像平面法向量;
(2)设置一阈值Threshold,当θi_FaceIntex≥Threshold时,则视角图像i对面片FaceIntex而言为无效纹理图像;
(3)以网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角余弦值为权重分配依据,计算三角面片上的顶点在不同纹理图像上的融合权重;
记纹理图像的权重为
Figure BDA0003820598620000075
其中,ΔFaceIntex表示当前三角面片,IK为有效图像,K为图像序号,
Figure BDA0003820598620000076
为ΔFaceIntex面片下序号为K的图像的权重;
首先,对面片FaceIntex判断其有效纹理图像个数,并分为以下三种情况:有效纹理图像只有一个;有效纹理图像有两个;有效纹理图像有三个;
当有效纹理图像只有1个时,此时该图像的权重
Figure BDA0003820598620000077
当有效纹理图像为2个时,记有效纹理图像分别为IK1,IK2,面片法向量与像面的夹角分别为
Figure BDA0003820598620000079
则有:
Figure BDA0003820598620000073
当有效纹理图像为3个时,记有效纹理图像分别为IK1,IK2,IK3,面片法向量与像面的夹角分别为
Figure BDA0003820598620000078
则有:
Figure BDA0003820598620000074
(4)根据融合权重,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值;
根据网格模型的面片索引FaceIntex,获取面片上的顶点索引VerIntexΔFaceIntex(p),(p=1,2,3);并根据网格模型顶点在不同纹理图像上的顶点纹理颜色矩阵ColorMatrix_IK,计算面片上的顶点融合后的纹理值,计算公式如下:
Figure BDA0003820598620000081
式中,
Figure BDA0003820598620000082
为顶点VerIntexΔFaceIntex(p)的最终纹理值,
Figure BDA0003820598620000083
为顶点VerIntexΔFaceIntex(p)在ColorMatrix_IK中的纹理值。
优选的,所述的步骤10中,耳部纹理优化的方法如:
(1)利用人脸特征点,确定模型右耳和左耳边界线,从而划分除人头脸模型的左耳和右耳区域;
确定右耳和左耳的两条边界线的方法为:首先获取6个脸廓特征点的坐标,并记为R_Point1,R_Point2,R_Point3和L_Point1,L_Point2,L_Point3,分别根据下式获得右耳和左耳分界线R_earLine和L_earLine:
Figure BDA0003820598620000084
对模型三角面片的三个顶点进行判断,将三个顶点均在右耳分界线往右的所有三角面片记为模型右耳区域,同理可得到模型左耳区域;
(2)重置左、右面视角图像在人脸模型耳部区域的融合权重为1,并获得重置耳部区域纹理融合权重后的人头脸模型;
(3)对耳部区域边界线双向延拓得到融合带区域,然后分别对侧面视角图像映射结果与步骤9中所得纹理融合结果分配权重ωe1和ωe2,从而得到融合区域的纹理,实现耳部区域在人头脸模型中的平滑相接;
设侧面视角图像与步骤9中纹理融合结果在融合带区域的顶点颜色矩阵分别为ColorMatrix_Band_fromSideI和ColorMatrix_Band_fromFusion,ColorMatrix_Band为最终的融合带区域的顶点颜色矩阵,则融合带区域最终的顶点颜色矩阵由下式表示:
Figure BDA0003820598620000085
其中,经测试验证,融合带宽选取12,选取权重ωe1=0.5,ωe2=0.5。
优选的,所述的步骤11中,利用MATLAB中的graythresh函数确定阈值,graythresh函数使用最大类间方差法寻找阈值,然后根据im2bw函数对掩模图像做二值化处理。
优选的,所述的步骤12中,利用步骤5-步骤6的方法进行纹理映射,建立人脸模型顶点与二值掩模图像像素点的对应关系,获得模型的顶点颜色矩阵,并判定顶点颜色值为0的顶点为缺失正确纹理的模型网格顶点,将二值掩模图像映射到三维模型上。
优选的,所述的步骤13的流程为:
(1)获得正、背面二值掩膜图像,并对二值掩模图像在脖子处画水平分界线,分界线图17(a)中横线所示,此时图像中白色区域为人物的头与脖子区域;
(2)在两张图像中,分别获取处于分界线上的白色区域边界点Bf0,Bf1和Bb0,Bb1,并得到边界点的像素坐标(xf0,yf0),(xf1,yf1),(xb0,yb0),(xb1,yb1),对于边界点的像素坐标,有yf0=yf1,yb0=yb1
(3)根据两张图像中的分界线,分别计算分界线以上白色区域的像素点的个数,即人头与脖子区域的面积,记为Sf和Sb,Sf和Sb
(4)构造大小为(W,H,3)的图像矩阵B_Image,每个像素点默认初始化为[0,0,0];将人物的背面图像B_Image0以缩放系数步骤cale进行缩放,得到图像B_Image1,并计算该缩放系数下Bb0,Bb1的更新值Bb0'(xb0',yb0'),Bb1'(xb1',yb1');缩放系数的计算公式如下所示:
Figure BDA0003820598620000091
然后,构造平移矩阵tras,并根据tras对图像B_Image1进行平移,得到图像B_Image2,平移矩阵如下所示:
Figure BDA0003820598620000092
其中,αx和αy的计算公式如下所示:
Figure BDA0003820598620000093
(5)判断图像矩阵B_Image2中的越界像素点并删除,得到最终的图像B_Image;
(6)根据匹配后的背面图像对人头脸模型的背面进行纹理补全。
优选的,所述的步骤14的流程为:
(1)根据人脸特征点,划分出人头脸模型鼻子区域:
记鼻子区域的三角面片集合为Δnose={Δni|1≤ni≤Num_nose};
(2)计算待补纹理的面片Δadd_j的法向量
Figure BDA0003820598620000101
与鼻子区域所有面片的法向量
Figure BDA0003820598620000102
的夹角余弦值,计算公式如下所示:
Figure BDA0003820598620000103
其中,cosθadd_j,ni表示待补纹理的面片Δadd_j与鼻子区域的三角面片Δni的夹角余弦值;
(3)筛选出Δadd_j下使cosθadd_j,ni最大的三角面片Δni,并记为Δni maxSi
(4)将三角面片Δni maxSi三个顶点的纹理值赋予给Δadd_j的三个顶点;
(5)重复步骤步骤(2)至步骤(4),直至计算出待补纹理区域中每一面片的顶点纹理值。
本发明一种三维人头脸模型的纹理映射与补全方法的有益效果:
在进行纹理映射时,针对UV贴图的纹理映射方法失真且需手工操作的问题以及在进行纹理融合与补全时,针对模型表面的纹理具有亮度接缝且纹理不完整的问题,本发明设计了一种三维人头脸模型的纹理映射与补全方法,首先,通过正、右和左侧面图像构建与目标人物相似度较高的三维人脸网格模型;其次,对人头脸网格模型进行可见面判别;然后,利用弱透视投影变换获得模型网格顶点在像素坐标系下的投影点坐标,并利用最近邻插值法计算网格顶点的纹理值,自动化地获得失真较小的纹理映射结果;接着,基于面片法向量与像面法向量夹角的加权融合算法,实现多图像纹理融合的平滑过渡;然后,针对耳部纹理效果不佳的问题,通过针对性地计算耳部区域的融合权重,并设置耳部边界融合带,实现耳部区域的纹理优化;最后,利用掩模图像进行纹理缺失检测,并分别实现模型的大区域与小区域纹理补全,获得纹理完整、真实且自然的三维人头脸模型。本发明在不依赖昂贵硬件设备且数据采集成本低的条件下,能够自动化地生成纹理完整、自然的人头脸模型。
附图说明
图1、本发明的流程示意图;
图2、目标人物的正、右侧、左侧、背面视角图像与相应的掩模图像;
图3、(a)是本发明采用的人脸特征点定义标准示意图,(b)是目标人物的正、右侧、左侧面视图的人脸特征点检测结果图;
图4、正面、右侧面与左侧面视角下的三维人头脸模型;
图5、三个视角下的不可见面消隐结果图;
图6、不可见面消隐后的人头脸网格模型在相应的视角图像中的投影;
图7、三个视角下不可见面消隐后的人头脸网格模型在相应视角图像中的纹理映射结果;
图8、(a)是像素坐标为非整数的点的示意图,(b)是最近邻点插值原理图;
图9、人头脸网格模型的法向量矩阵的计算流程图;
图10、将阈值设置为60,70和80时,图像在模型上的纹理映射效果;
图11、纹理融合前后的人头脸模型效果对比图;
图12、(a)是模型的左右耳分界线,(b)是模型的耳部区域,(c)是模型耳部的融合带区域;
图13、不同带宽下的耳部边界融合带;
图14、不同权重值下耳部与模型其它区域的衔接效果图;
图15、耳部优化前后的人头脸模型效果对比图;
图16、模型的背面、左面和右面的纹理缺失检测结果;
图17、(a)是二值掩模图像中定义的分界点与人头区域面积示意图,(b)是模型背面的二维投影,(c)是模型的背面纹理补全效果;
图18、(a)是人头脸模型中的小区域纹理缺失,(b)和(c)是基于特征点划分出的模型鼻子区域;
图19、纹理补全前后的人头脸模型效果对比图;
图20、利用本发明所述方法生成的10组人物的人头脸模型正面效果图。
具体实施方式
以下所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
步骤1:获取待映射人物真实人脸的正面、右侧面、左侧面、背面视图以及这四张图像的掩模图像;
其中,人物图像与掩模图像如图2所示。
步骤2:人脸图像特征点检测;
利用基于随机森林的级联式回归模型对人脸的正面、右侧面以及左侧面视图进行人脸特征点预测,分别获得正面、右侧面、左侧面视图中的二维人脸特征点。其中,采用的人脸特征点定义标准为73点标准,如图3(a)所示。图中,眼睛特征点16个,眉毛特征点12个,脸廓特征点15个,外嘴唇特征点12个,内嘴唇特征点6个,以及鼻子特征点12个。获得的人脸特征点检测如图3(b)所示。
步骤3:三维人头脸几何模型重建;
根据步骤2中获得的正面、右侧面、左侧面视图的二维特征点检测结果,利用基于随机图像集合的人脸低分辨率重建算法,获得三维人头脸网格模型,以及每张视图对应的人脸姿态参数(旋转矩阵和平移矩阵)和相机参数。
其中,三维人头脸模型在世界坐标系中的表示为:Fw,三维人头脸模型分别在正面、右侧面与左侧面视图对应的人脸姿态下的表示为:
Fi=Ri·Fw+Ti (1)
式中,Fi,i=1,2,3分别代表正面、右侧面与左侧面视角下的三维人头脸模型,如图4所示,Ri,i=1,2,3与Ti,i=1,2,3分别为正面、右侧面、左侧面视图下的旋转矩阵与平移矩阵,正面、右侧面、左侧面视图对应的相机参数分别为fi,i=1,2,3。
步骤4:人脸网格模型的可见面判别;
根据基于光线投射的人脸网格模型可见面判别算法,分别对正面、右侧面和左侧面视角下的三维人脸网格模型进行可见面判别,并分别获得三个视角下的不可见面消隐结果,如图5所示。
其中,本发明设计的基于光线投射的人脸网格模型可见面判别算法流程为:
(1)获取正面、右侧面和左侧面中某一视角下的三维人头脸网格模型,作为当前视角下的人头脸网格模型;
(2)遍历当前人头脸网格模型上的每一个顶点,并以模型顶点为入射点做射线,射线的方向与当前视角图像平面的法向量方向平行,判断射线与网格模型三角面片的相交情况;
其中,若射线除入射点外,与模型上的三角面片均不相交,则对模型不进行任何处理;若射线除入射点外,与模型上的其它三角面存在交点,此时判定除入射点外,其它交点所在的三角面片为当前视角下的不可见面片。
(3)隐去当前人头脸网格模型上所有不可见三角面片;
(4)重复操作(1)-(3)直至正面、右侧面和左侧面视角下的三维人头脸网格模型均完成可见面消隐,并分别记不可见面消隐后的模型为Fi',i=1,2,3。
步骤5:模型的网格顶点纹理坐标计算;
利用弱透视投影变换,分别将正面、右侧面和左侧面视角下的不可见面消隐模型Fi',i=1,2,3投影至像素平面坐标系,获得人头脸网格模型在相应视角图像中的模型顶点纹理坐标。图6为不可见面消隐后的人头脸网格模型在相应的视角图像中的投影。具体计算流程如下:
(1)获取正面、右侧面和左侧面中某一视角下的不可见面消隐模型Fi',以及该视角图像对应的相机参数fi
(2)获取当前不可见面消隐模型上的各顶点坐标(xC_vintex,yC_vintex,zC_vintex);
(3)计算各顶点(xC_vintex,yC_vintex,zC_vintex)经弱透视投影变换后的二维投影点坐标(xI_vintex,yI_vintex),计算过程如下:
Figure BDA0003820598620000131
(4)计算投影点(xI_vintex,yI_vintex)的纹理坐标(uvintex,vvintex),计算过程如下:
Figure BDA0003820598620000132
其中,dx和dy分别表示像素坐标系中的每一行和每一列分别代表多少毫米,u0和v0分别表示图像平面中心的像素坐标。
(5)重复(1)-(4)直至人头脸网格模型在正面、右侧面和左侧面视图中的模型顶点纹理坐标均计算完成。
步骤6:模型的网格顶点颜色矩阵计算;
利用最近邻插值算法,基于不可见面消隐后的人头连网格模型在正面、右侧面和左侧面视图中的网格顶点纹理坐标,分别在相应的视角图像中插值计算模型的网格顶点颜色矩阵,并获得三个视角下人头脸网格模型的网格顶点颜色矩阵ColorMatrix_Ii,(i=1,2,3),其中,ColorMatrix_Ii,(i=1,2,3)分别表示正面、右侧面和左侧面视角图像对应的模型网格顶点颜色矩阵。最近邻插值原理为:
在待求像素的四个邻近像素点中,将距离待求像素最近的像素的值赋予待求像素。设(i+Δu,j+Δv)为待求像素坐标,其中,i与j为正整数,Δu与Δv为大于0小于1的小数,如图8(a)所示,则待求像素值f(i+Δu,j+Δv),如图8(b)所示。图8(b)中,若(i+Δu,j+Δv)落在A区,即Δu<0.5,Δv<0.5,则将左上角像素的值赋予给待求像素;若(i+Δu,j+Δv)落在B区,即Δu>0.5,Δv<0.5,则将右上角像素的值赋予给待求像素;若(i+Δu,j+Δv)落在C区,即Δu<0.5,Δv>0.5,则将左下角像素的值赋予给待求像素;若(i+Δu,j+Δv)落在D区,即Δu>0.5,Δv>0.5,则将右下角像素的值赋予给待求像素。
图7为三个视角下不可见面消隐后的人头脸网格模型在相应视角图像中的纹理映射结果;
步骤7:计算人头脸网格模型的法向量矩阵;
图9所示为人头脸网格模型的法向量矩阵的计算流程,其中FaceNorm为三角面片的法向量矩阵,用于存储模型上每个三角面片的法向量,FaceNum=22800为模型总面片数,FaceIntex为当前三角面片索引号。具体计算流程如下:
(1)从网格模型上的第一个三角面片开始,确定当前面片的索引号FaceIntex;
(2)根据FaceIntex在网格模型的面信息矩阵中获取三个顶点索引VerIntex1,VerIntex2,VerIntex3;
(3)根据VerIntex1,VerIntex2,VerIntex3在网格模型的顶点坐标矩阵中获取三个顶点的空间坐标P0(x0,y0,z0),P1(x1,y1,z1),P2(x2,y2,z2);
(4)计算面片的法向量
Figure BDA0003820598620000151
其中,已知三角面片的顶点坐标P0(x0,y0,z0),P1(x1,y1,z1),P2(x2,y2,z2),其三角面的平面法向量
Figure BDA0003820598620000152
的计算过程如下:
首先,利用
Figure BDA0003820598620000153
Figure BDA0003820598620000154
的叉积来构造平面法向量,如下式所示:
Figure BDA0003820598620000155
则有:
Figure BDA0003820598620000156
其中:
Figure BDA0003820598620000157
(5)将当前计算获得的法向量存储到FaceNorm矩阵中,并更新面片索引号FaceIntex到下一个面片;
(6)重复操作(1)-(5)直至遍历完网格模型上的所有三角面片,即FaceIntex=22800。
本发明计算获得的网格模型面片矩阵FaceNorm为22800×3的矩阵。
步骤8:视角图像的平面法向量计算;
利用步骤3中获得的正面、右侧面与左侧面视角图像对应的人脸姿态参数Ri,i=1,2,3,分别计算三个视角图像在摄像机坐标系下的图像平面法向量
Figure BDA0003820598620000158
i=1,2,3,其中,
Figure BDA0003820598620000159
i=1,2,3的计算公式如下所示:
Figure BDA00038205986200001510
步骤9:有效纹理图像筛选与纹理融合;
计算网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角,根据夹角,对模型上的每一个三角面片进行有效纹理图像筛选,并以夹角余弦值为权重分配依据,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值。
其中,本发明设计的有效纹理图像筛选与纹理融合流程如下:
(1)网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角计算公式如下:
Figure BDA0003820598620000161
其中,θi_FaceIntex表示面片索引为FaceIntex的三角面片与第i张视角图像之间的夹角,i=1,2,3分别表示正面、右侧面和左侧面视角图像,
Figure BDA0003820598620000162
表示面片索引为FaceIntex的三角面片法向量,
Figure BDA0003820598620000163
表示第i张视角图像的图像平面法向量。
(2)设置一阈值Threshold,当θi_FaceIntex≥Threshold时,则视角图像i对面片FaceIntex而言为无效纹理图像;
图10为将阈值设置为60,70和80时,图像在模型上的纹理映射效果,经测试验证,当Threshold=80时,不仅能够筛除纹理映射时大部分效果较差的纹理,还能尽量保留效果较好的纹理,因此本发明设置阈值Threshold=80。
(3)以网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角余弦值为权重分配依据,计算三角面片上的顶点在不同纹理图像上的融合权重;
本发明纹理图像的权重是根据三角面片的法向量与像面法向量的夹角来定义,其权重大小反比于法向量与像面法向量夹角,夹角越大,权重越小。记纹理图像的权重为
Figure BDA0003820598620000164
Figure BDA0003820598620000165
其中,ΔFaceIntex表示当前三角面片,IK为有效图像,K为图像序号,
Figure BDA0003820598620000166
为ΔFaceIntex面片下序号为K的图像的权重。
首先,对面片FaceIntex判断其有效纹理图像个数,并分为以下三种情况:有效纹理图像只有一个;有效纹理图像有两个;有效纹理图像有三个。
当有效纹理图像只有1个时,此时该图像的权重
Figure BDA0003820598620000167
当有效纹理图像为2个时,记有效纹理图像分别为IK1,IK2,面片法向量与像面的夹角分别为
Figure BDA0003820598620000168
则有:
Figure BDA0003820598620000171
当有效纹理图像为3个时,记有效纹理图像分别为IK1,IK2,IK3,面片法向量与像面的夹角分别为
Figure BDA0003820598620000176
则有:
Figure BDA0003820598620000172
(4)根据融合权重,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值;
根据网格模型的面片索引FaceIntex,可以获取面片上的顶点索引VerIntexΔFaceIntex(p),(p=1,2,3)并根据网格模型顶点在不同纹理图像上的顶点纹理颜色矩阵ColorMatrix_IK,计算面片上的顶点融合后的纹理值,计算公式如下:
Figure BDA0003820598620000173
其中,
Figure BDA0003820598620000174
为顶点VerIntexΔFaceIntex(p)的最终纹理值,
Figure BDA0003820598620000175
为顶点VerIntexΔFaceIntex(p)在ColorMatrix_IK中的纹理值。
图11为纹理融合前后的人头脸模型效果对比图,图中,第一列为存在明显亮度接缝的人头脸模型,第二列为本发明的纹理融合方法得到的人头脸模型。从图中可以看出,利用本发明所述方法得到的融合后的人头脸模型在大部分区域颜色过渡平滑,由于亮度差异产生的接缝问题得到了改善。
步骤10:模型耳部纹理优化;
本发明设计的模型耳部纹理优化方法如下:首先根据人脸特征点划分出人头脸模型的左右耳区域,并重置正侧面视角图像在耳部区域的融合权重,对耳部纹理进行优化,同时,对耳部区域边界线双向延拓得到融合带区域,通过对侧面图像的耳部映射结果纹理融合结果分配一定的权重,获得融合区域的纹理,实现耳部区域与其它区域的自然衔接,最终获的耳部区域纹理优化后的人头脸模型。具体流程为:
(1)利用人脸特征点,确定模型右耳和左耳边界线,从而划分除人头脸模型的左耳和右耳区域;
人脸特征点的定义在图3(a)中已经给出,脸廓特征点有15个,其对应序号为1,2,3和13,14,15,利用这几个特征点在空间中的坐标,分别可以确定如图12(a)所示右耳和左耳边界线,两条边界线的确定方法如下:首先获取所述6个特征点的坐标,并记为R_Point1,R_Point2,R_Point3和L_Point1,L_Point2,L_Point3,分别根据下式获得右耳和左耳分界线R_earLine和L_earLine:
Figure BDA0003820598620000181
对模型三角面片的三个顶点进行判断,将三个顶点均在右耳分界线往右的所有三角面片记为模型右耳区域,同理可得到模型左耳区域,如图12(b)所示。
(2)重置左、右面视角图像在人脸模型耳部区域的融合权重为1,并获得重置耳部区域纹理融合权重后的人头脸模型;
(3)由于在耳部边界线处不可避免地会出现明显的连接痕迹,因此本发明对耳部区域边界线双向延拓得到融合带区域,融合带区域如图12(c)所示,然后分别对侧面视角图像映射结果与步骤9中所得纹理融合结果分配权重ωe1和ωe2,从而得到融合区域的纹理,实现耳部区域在人头脸模型中的平滑相接。
设侧面视角图像与步骤9中纹理融合结果在融合带区域的顶点颜色矩阵分别为ColorMatrix_Band_fromSideI和ColorMatrix_Band_fromFusion,ColorMatrix_Band为最终的融合带区域的顶点颜色矩阵,则融合带区域最终的顶点颜色矩阵可由下式表示:
Figure BDA0003820598620000182
其中,经测试验证,融合带宽选取12,选取依据如下:
图13所示为不同带宽下的耳部边界融合带。图中红色区域为不同带宽下的融合带区域,融合带区域是为了实现耳部区域纹理与模型其它区域纹理的自然衔接,如果带宽值过小,则难以实现衔接处的平滑过渡,如果带宽值太大,则会影响到其它区域的纹理效果,尤其是模型的眼角区域,因此,本发明通过对不同带宽下的融合带区域进行对比,发现当融合带带宽为12时,能够保证融合带宽值不会太小,并且融合带不会延伸至模型的眼角区域;
其中,经测试验证,选取权重ωe1=0.5,ωe2=0.5,选取依据如下:
融合带中的纹理值由侧面图像和步骤9节的纹理融合结果共同决定,二者的权重分别为ωe1和ωe2,并且有ωe1e2=1。由于步骤9所得纹理融合结果是根据面片法向量与像面夹角进行融合计算的,其已经考虑了侧面图像。因此,权重ωe1过大会将侧面图像的效果在最终的纹理融合结果中的占比变得很大,从而导致其他面图像占比进一步降低导致失真。而且根据测试可以得出,当ωe1到达一定的值后,融合带区域的纹理效果变化不明显,如图14所示。图14展示了不同权重值ωe1下耳部与模型其它区域的衔接效果,红色框所示为模型右耳的融合带区域。当权重ωe1=0时,即对融合带区域处理之前,在耳部边界线处存在衔接缝隙;当权重ωe1=0.5时,衔接缝隙得到了明显改善;当权重ωe1=0.7时,衔接缝隙也得到了明显改善,但与ωe1=0.5时的效果相比,变化不明显;当ωe1=0.9时,由于侧面图像的纹理占比过大,在衔接处再次产生了缝隙。因此,根据上述分析,本发明将选取权重值ωe1=0.5,ωe2=0.5;
图15为耳部优化前后的人头脸模型效果对比图,其中,第一列和第二列分别为耳部区域纹理优化前后的人头脸模型,虚线框中为模型的耳部区域,通过对比优化前后的耳部纹理,发现经本发明所述方法优化后的耳部区域纹理更加完整,视觉效果更好,并且由于设置了融合带,耳部区域与模型其它区域的衔接较为自然,增加了人脸模型的真实感。
步骤11:对步骤1所述的待映射人物真实人脸的正面、右侧面、左侧面、背面视图的掩模图像作二值化处理,获取四张图像的二值掩模图像;
其中,本发明利用MATLAB中的graythresh函数确定阈值,graythresh函数使用最大类间方差法寻找阈值,然后根据im2bw函数对掩模图像做二值化处理。
步骤12:模型的无纹理区域判别;
利用本发明步骤5-步骤6所述纹理映射方法,建立人脸模型顶点与二值掩模图像像素点的对应关系,获得模型的顶点颜色矩阵,并判定顶点颜色值为0的顶点为缺失正确纹理的顶点,将二值掩模图像映射到三维模型上,结果图16所示。图16中展示了模型的背面、左面和右面,其上的黑色区域是由二值掩模图像上的黑色区域映射得到的,即模型中的纹理缺失区域。大部分的纹理缺失区域集中在模型的背面,小部分纹理缺失区域在模型的脖子两侧以及耳廓等区域。
步骤13:模型大区域纹理补全;
本发明设计的模型大区域纹理补全算法通过对正背面图像进行形状适配,从而建立人脸几何模型与背面图像的关系,进而完成模型的背面大区域纹理补全。具体流程为:
(1)获得正、背面二值掩膜图像,并对二值掩模图像在脖子处画水平分界线,分界线图17(a)中横线所示,此时图像中白色区域为人物的头与脖子区域;
(2)在两张图像中,分别获取处于分界线上的白色区域边界点Bf0,Bf1和Bb0,Bb1,并得到边界点的像素坐标(xf0,yf0),(xf1,yf1),(xb0,yb0),(xb1,yb1),如图17(a)所示,对于边界点的像素坐标,有yf0=yf1,yb0=yb1
(3)根据两张图像中的分界线,分别计算分界线以上白色区域的像素点的个数,即人头与脖子区域的面积,记为Sf和Sb,Sf和Sb如图17(a)中画斜线区域所示;
(4)构造大小为(W,H,3)的图像矩阵B_Image,每个像素点默认初始化为[0,0,0]。将人物的背面图像B_Image0以缩放系数步骤cale进行缩放,得到图像B_Image1,并计算该缩放系数下Bb0,Bb1的更新值Bb0'(xb0',yb0'),Bb1'(xb1',yb1')。缩放系数的计算公式如下所示:
Figure BDA0003820598620000201
然后构造平移矩阵tras,并根据tras对图像B_Image1进行平移,得到图像B_Image2,平移矩阵如下所示:
Figure BDA0003820598620000202
其中,αx和αy的计算公式如下所示:
Figure BDA0003820598620000203
(5)判断图像矩阵B_Image2中的越界像素点并删除,得到最终的图像B_Image。
(6)根据匹配后的背面图像对人头脸模型的背面进行纹理补全。
其中,背面人头脸模型的可见面为正面模型可见面的补集,背面模型的投影如图17(b)所示。
图17(c)为人头脸模型的背面纹理补全效果,结果表明,利用形状适配后的背面图像能够对模型的背面区域、脖子部分区域以及耳廓区域的纹理进行补全,并且补全后的纹理在大部分区域表现较好。
步骤14:模型的小区域纹理补全;
对人头脸模型的背面进行纹理补全后,模型中还存在小块区域纹理缺失,如图18(a)所示。
本发明设计的模型小区域纹理补全算法通过步骤7中求得三角面片的法向量,计算待补纹理的面片与鼻子区域的面片法向量夹角余弦值,并选取夹角余弦值最大的面片纹理作为待补纹理的三角面片纹理,从而实现人头脸模型的小区域纹理补全。具体流程为:
(1)根据人脸特征点,划分出人头脸模型鼻子区域。
鼻子区域的三角面片如图18(c)所示,记鼻子区域的三角面片集合为Δnose={Δni1≤ni≤Num_nose}。图18(b)为基于特征点连接的鼻子区域分界线,右图为分割出的鼻子模型。鼻子区域的分界线是由如图3(a)定义的序号为28、30、32与36的特征点所画的矩形边线;
(2)计算待补纹理的面片Δadd_j的法向量
Figure BDA0003820598620000211
与鼻子区域所有面片的法向量
Figure BDA0003820598620000212
的夹角余弦值,计算公式如下所示:
Figure BDA0003820598620000213
其中,cosθadd_j,ni表示待补纹理的面片Δadd_j与鼻子区域的三角面片Δni的夹角余弦值。
(3)筛选出Δadd_j下使cosθadd_j,ni最大的三角面片Δni,并记为Δni maxSi
(4)将三角面片Δni maxSi三个顶点的纹理值赋予给Δadd_j的三个顶点;
(5)重复步骤步骤(2)至步骤(4),直至计算出待补纹理区域中每一面片的顶点纹理值。
图19为纹理补全前后的人头脸模型效果对比图,其中,第一行展示了三个角度下纹理补全前的人头脸模型,第二行展示了三个角度下纹理补全后的人头脸模型。如图中所示,纹理补全前的人头脸模型背面存在大区域纹理缺失的现象,在脖子部分区域与耳廓区域存在小区域纹理缺失现象。本发明所述方法生成的纹理补全后的模型,对模型背面的纹理进行了补全,并且对脖子与耳廓区域的纹理也进行恢复,最终生成了纹理完整且真实感较好的人头脸模型。

Claims (10)

1.一种三维人头脸模型的纹理映射与补全方法,其特征为:包括:
步骤1:获取目标人物真实人脸的正、右、左、背面视图以及对应四张图像的二值掩模图像;
步骤2:人脸图像特征点检测:
利用基于随机森林的级联式回归模型对人脸的正面、右侧面以及左侧面视图进行人脸特征点预测,分别获得正面、右侧面、左侧面视图中的二维人脸特征点;
步骤3:三维人头脸几何模型重建:
根据正面、右侧面、左侧面视图中的二维人脸特征点,利用基于随机图像集合的人脸低分辨率重建算法,获得三维人头脸模型,以及每张视图对应的人脸姿态参数和相机参数;
其中,三维人脸几何模型为三角网格面片模型,三维人脸几何模型的顶点坐标为世界坐标系下的表示;
步骤4:人脸网格模型的可见面判别:
利用基于光线投射的人脸网格模型可见面判别法,对正面、右侧面以及左侧面视角下的人脸网格模型进行可见网格面判别,分别获得三个视角下的不可见面消隐结果;
步骤5:模型的网格顶点纹理坐标计算:
利用弱透视投影变换,将所述三个视角下的不可见面消隐后的网格模型投影至像素平面坐标系,分别获得三个视角下网格模型的顶点纹理坐标;
步骤6:模型的网格顶点颜色矩阵计算:
利用最近邻点插值法,基于正面、右侧面以及左侧面视角下的网格模型顶点纹理坐标在相应视角图像中插值计算网格模型顶点颜色值,分别获得所述三个视角下人脸网格模型的纹理映射结果;
步骤7:计算人脸网格模型的面片法向量,获得人脸网格面片法向量矩阵;
步骤8:视角图像的平面法向量计算:
利用所述正面、右侧面与左侧面视图对应的人脸姿态参数,分别计算所述三个视图在摄像机坐标系下的图像平面法向量;
步骤9:有效纹理图像筛选与纹理融合:
根据人脸网格面片法向量与所述正面、右侧面以及左侧面视图的图像平面法向量的夹角是否大于80度,对网格模型的每一个面片进行有效纹理图像筛选,获得模型每一个面片的有效图像个数与图像序号;接着,根据人脸网格模型的每一个面片法向量与有效纹理图像的平面法向量夹角的余弦值确定融合权重分配依据,并按照融合权重,对相应视角下人脸模型的网格顶点纹理值进行加权融合,获得人脸网格模型融和后的网格顶点纹理值;
其中,有效纹理图像是指对网格模型的某一面片,图像平面法向量与该面片法向量夹角小于80度的视图图像;
步骤10:模型耳部纹理优化;
根据人脸特征点划分出人头脸模型的左右耳区域,并重置正侧面视角图像在耳部区域的融合权重,对耳部纹理进行优化,同时,对耳部区域边界线双向延拓得到融合带区域,通过对侧面图像的耳部映射结果纹理融合结果分配一定的权重,获得融合区域的纹理,实现耳部区域与其它区域的自然衔接,最终获的耳部区域纹理优化后的人头脸模型;
步骤11:对正、右、左以及背面视图对应的掩膜图像进行二值化处理,并获取该四侧视图的二值掩模图像;
步骤12:模型的无纹理区域判别:
将正、右、左与背面视图的二值掩膜图像映射至人脸网格模型上,获取人脸网格模型的纹理缺失检测结果;
其中,颜色值为0的顶点为纹理缺失的模型网格顶点;
步骤13:模型大区域纹理补全:
根据正面与背面视图的二值掩膜图像计算缩放系数和平移矩阵,对背面视图进行缩放和平移,获得与正面视图形状适配后的背面图像,并按照上述纹理映射方法,将所述适配后的背面图像映射至人脸网格模型上,获取人脸网格模型背面纹理补全后的网格顶点纹理值;
步骤14:模型的小区域纹理补全:
根据人脸特征点在空间中的坐标确定模型鼻子区域,其次,计算待补纹理的模型面片与模型鼻子区域的面片法向量夹角余弦值,并选取夹角余弦值最大的面片顶点纹理为待补纹理的模型面片顶点纹理,获得人脸网格模型小区域纹理补全后的网格顶点纹理值;
其中,待补纹理面片为对人脸网格模型背面纹理补全后的纹理缺失面片。
2.如权利要求1所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤2中,采用的人脸特征点定义标准为73点标准,包括:眼睛特征点16个,眉毛特征点12个,脸廓特征点15个,外嘴唇特征点12个,内嘴唇特征点6个,以及鼻子特征点12个;
所述的步骤3中,三维人头脸模型在世界坐标系中的表示为:Fw,三维人头脸模型分别在正面、右侧面与左侧面视图对应的人脸姿态下的表示为:
Fi=Ri·Fw+Ti (1)
式中,Fi,i=1,2,3;分别代表正面、右侧面与左侧面视角下的三维人头脸模型;Ri,i=1,2,3与Ti,i=1,2,3;分别为正面、右侧面、左侧面视图下的旋转矩阵与平移矩阵;正面、右侧面、左侧面视图对应的相机参数分别为fi,i=1,2,3;
所述的步骤4中,人脸网格模型可见面判别的算法流程为:
(1)获取正面、右侧面和左侧面中某一视角下的三维人头脸网格模型,作为当前视角下的人头脸网格模型;
(2)遍历当前人头脸网格模型上的每一个顶点,并以模型顶点为入射点做射线,射线的方向与当前视角图像平面的法向量方向平行,判断射线与网格模型三角面片的相交情况;
其中,若射线除入射点外,与模型上的三角面片均不相交,则对模型不进行任何处理;若射线除入射点外,与模型上的其它三角面存在交点,此时判定除入射点外,其它交点所在的三角面片为当前视角下的不可见面片;
(3)隐去当前人头脸网格模型上所有不可见三角面片;
(4)重复操作(1)-(3)直至正面、右侧面和左侧面视角下的三维人头脸网格模型均完成可见面消隐,并分别记不可见面消隐后的模型为Fi',i=1,2,3。
3.如权利要求2所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤5中,分别将正面、右侧面和左侧面视角下的不可见面消隐模型Fi',i=1,2,3投影至像素平面坐标系,获得人头脸网格模型在相应视角图像中的模型顶点纹理坐标的计算流程如下:
(1)获取正面、右侧面和左侧面中某一视角下的不可见面消隐模型Fi',以及该视角图像对应的相机参数fi
(2)获取当前不可见面消隐模型上的各顶点坐标(xC_vintex,yC_vintex,zC_vintex);
(3)计算各顶点(xC_vintex,yC_vintex,zC_vintex)经弱透视投影变换后的二维投影点坐标(xI_vintex,yI_vintex),计算过程如下:
Figure FDA0003820598610000041
(4)计算投影点(xI_vintex,yI_vintex)的纹理坐标(uvintex,vvintex),计算过程如下:
Figure FDA0003820598610000042
其中,dx和dy分别表示像素坐标系中的每一行和每一列分别代表多少毫米,u0和v0分别表示图像平面中心的像素坐标;
(5)重复(1)-(4)直至人头脸网格模型在正面、右侧面和左侧面视图中的模型顶点纹理坐标均计算完成;
所述的步骤6中,利用最近邻插值算法,基于不可见面消隐后的人头脸网格模型在正面、右侧面和左侧面视图中的网格顶点纹理坐标,分别在相应的视角图像中插值计算模型的网格顶点颜色矩阵,并获得三个视角下人头脸网格模型的网格顶点颜色矩阵ColorMatrix_Ii,(i=1,2,3),其中,ColorMatrix_Ii,(i=1,2,3)分别表示正面、右侧面和左侧面视角图像对应的模型网格顶点颜色矩阵;
所述的步骤7中,人脸网格模型的法向量矩阵的计算流程如下:
(1)从网格模型上的第一个三角面片开始,确定当前面片的索引号FaceIntex;
(2)根据FaceIntex在网格模型的面信息矩阵中获取三个顶点索引VerIntex1,VerIntex2,VerIntex3;
(3)根据VerIntex1,VerIntex2,VerIntex3在网格模型的顶点坐标矩阵中获取三个顶点的空间坐标P0(x0,y0,z0),P1(x1,y1,z1),P2(x2,y2,z2);
(4)计算面片的法向量
Figure FDA0003820598610000043
其中,已知三角面片的顶点坐标P0(x0,y0,z0),P1(x1,y1,z1),P2(x2,y2,z2),其三角面的平面法向量
Figure FDA0003820598610000051
的计算过程如下:
首先,利用
Figure FDA0003820598610000052
Figure FDA0003820598610000053
的叉积来构造平面法向量,如下式所示:
Figure FDA0003820598610000054
则有:
Figure FDA0003820598610000055
式(5)中,i,j,k分别为空间中相互垂直的三条坐标轴的单位向量,且有:
Figure FDA0003820598610000056
(5)将当前计算获得的法向量存储到FaceNorm矩阵中,并更新面片索引号FaceIntex到下一个面片;
(6)重复操作(1)-(5)直至遍历完网格模型上的所有三角面片,即FaceIntex=22800;
通过计算获得的网格模型面片矩阵FaceNorm为22800×3的矩阵;
其中,FaceNorm为三角面片的法向量矩阵,用于存储模型上每个三角面片的法向量,FaceNum=22800为模型总面片数,FaceIntex为当前三角面片索引号。
4.如权利要求3所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤8中,利用步骤3中获得的正面、右侧面与左侧面视角图像对应的人脸姿态参数Ri,i=1,2,3,分别计算三个视角图像在摄像机坐标系下的图像平面法向量
Figure FDA0003820598610000057
i=1,2,3,其中,
Figure FDA0003820598610000058
i=1,2,3的计算公式如下所示:
Figure FDA0003820598610000059
5.如权利要求4所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤9中,以夹角余弦值为权重分配依据,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值;
有效纹理图像筛选与纹理融合流程如下:
(1)网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角计算公式如下:
Figure FDA0003820598610000061
其中,θi_FaceIntex表示面片索引为FaceIntex的三角面片与第i张视角图像之间的夹角,i=1,2,3分别表示正面、右侧面和左侧面视角图像,
Figure FDA0003820598610000062
表示面片索引为FaceIntex的三角面片法向量,
Figure FDA0003820598610000063
表示第i张视角图像的图像平面法向量;
(2)设置一阈值Threshold,当θi_FaceIntex≥Threshold时,则视角图像i对面片FaceIntex而言为无效纹理图像;
(3)以网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角余弦值为权重分配依据,计算三角面片上的顶点在不同纹理图像上的融合权重;
记纹理图像的权重为
Figure FDA0003820598610000064
其中,ΔFaceIntex表示当前三角面片,IK为有效图像,K为图像序号,
Figure FDA0003820598610000065
为ΔFaceIntex面片下序号为K的图像的权重;
首先,对面片FaceIntex判断其有效纹理图像个数,并分为以下三种情况:有效纹理图像只有一个;有效纹理图像有两个;有效纹理图像有三个;
当有效纹理图像只有1个时,此时该图像的权重
Figure FDA0003820598610000066
当有效纹理图像为2个时,记有效纹理图像分别为IK1,IK2,面片法向量与像面的夹角分别为
Figure FDA0003820598610000067
则有:
Figure FDA0003820598610000068
当有效纹理图像为3个时,记有效纹理图像分别为IK1,IK2,IK3,面片法向量与像面的夹角分别为
Figure FDA0003820598610000069
则有:
Figure FDA0003820598610000071
(4)根据融合权重,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值;
根据网格模型的面片索引FaceIntex,获取面片上的顶点索引VerIntexΔFaceIntex(p),(p=1,2,3);并根据网格模型顶点在不同纹理图像上的顶点纹理颜色矩阵ColorMatrix_IK,计算面片上的顶点融合后的纹理值,计算公式如下:
Figure FDA0003820598610000072
式中,
Figure FDA0003820598610000073
为顶点VerIntexΔFaceIntex(p)的最终纹理值,
Figure FDA0003820598610000074
为顶点VerIntexΔFaceIntex(p)在ColorMatrix_IK中的纹理值。
6.如权利要求5所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤10中,耳部纹理优化的方法如:
(1)利用人脸特征点,确定模型右耳和左耳边界线,从而划分除人头脸模型的左耳和右耳区域;
确定右耳和左耳的两条边界线的方法为:首先获取6个脸廓特征点的坐标,并记为R_Point1,R_Point2,R_Point3和L_Point1,L_Point2,L_Point3,分别根据下式获得右耳和左耳分界线R_earLine和L_earLine:
Figure FDA0003820598610000075
对模型三角面片的三个顶点进行判断,将三个顶点均在右耳分界线往右的所有三角面片记为模型右耳区域,同理可得到模型左耳区域;
(2)重置左、右面视角图像在人脸模型耳部区域的融合权重为1,并获得重置耳部区域纹理融合权重后的人头脸模型;
(3)对耳部区域边界线双向延拓得到融合带区域,然后分别对侧面视角图像映射结果与步骤9中所得纹理融合结果分配权重ωe1和ωe2,从而得到融合区域的纹理,实现耳部区域在人头脸模型中的平滑相接;
设侧面视角图像与步骤9中纹理融合结果在融合带区域的顶点颜色矩阵分别为ColorMatrix_Band_fromSideI和ColorMatrix_Band_fromFusion,ColorMatrix_Band为最终的融合带区域的顶点颜色矩阵,则融合带区域最终的顶点颜色矩阵由下式表示:
Figure FDA0003820598610000081
其中,经测试验证,融合带宽选取12,选取权重ωe1=0.5,ωe2=0.5。
7.如权利要求6所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤11中,利用MATLAB中的graythresh函数确定阈值,graythresh函数使用最大类间方差法寻找阈值,然后根据im2bw函数对掩模图像做二值化处理。
8.如权利要求7所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤12中,利用步骤5-步骤6的方法进行纹理映射,建立人脸模型顶点与二值掩模图像像素点的对应关系,获得模型的顶点颜色矩阵,并判定顶点颜色值为0的顶点为缺失正确纹理的模型网格顶点,将二值掩模图像映射到三维模型上。
9.如权利要求8所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤13的流程为:
(1)获得正、背面二值掩膜图像,并对二值掩模图像在脖子处画水平分界线,分界线图17(a)中横线所示,此时图像中白色区域为人物的头与脖子区域;
(2)在两张图像中,分别获取处于分界线上的白色区域边界点Bf0,Bf1和Bb0,Bb1,并得到边界点的像素坐标(xf0,yf0),(xf1,yf1),(xb0,yb0),(xb1,yb1),对于边界点的像素坐标,有yf0=yf1,yb0=yb1
(3)根据两张图像中的分界线,分别计算分界线以上白色区域的像素点的个数,即人头与脖子区域的面积,记为Sf和Sb,Sf和Sb
(4)构造大小为(W,H,3)的图像矩阵B_Image,每个像素点默认初始化为[0,0,0];将人物的背面图像B_Image0以缩放系数步骤cale进行缩放,得到图像B_Image1,并计算该缩放系数下Bb0,Bb1的更新值Bb0'(xb0',yb0'),Bb1'(xb1',yb1');缩放系数的计算公式如下所示:
Figure FDA0003820598610000091
然后,构造平移矩阵tras,并根据tras对图像B_Image1进行平移,得到图像B_Image2,平移矩阵如下所示:
Figure FDA0003820598610000092
其中,αx和αy的计算公式如下所示:
Figure FDA0003820598610000093
(5)判断图像矩阵B_Image2中的越界像素点并删除,得到最终的图像B_Image;
(6)根据匹配后的背面图像对人头脸模型的背面进行纹理补全。
10.如权利要求9所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤14的流程为:
(1)根据人脸特征点,划分出人头脸模型鼻子区域:
记鼻子区域的三角面片集合为Δnose={Δni|1≤ni≤Num_nose};
(2)计算待补纹理的面片Δadd_j的法向量
Figure FDA0003820598610000094
与鼻子区域所有面片的法向量
Figure FDA0003820598610000095
的夹角余弦值,计算公式如下所示:
Figure FDA0003820598610000096
其中,cosθadd_j,ni表示待补纹理的面片Δadd_j与鼻子区域的三角面片Δni的夹角余弦值;
(3)筛选出Δadd_j下使cosθadd_j,ni最大的三角面片Δni,并记为Δni maxSi
(4)将三角面片Δni maxSi三个顶点的纹理值赋予给Δadd_j的三个顶点;
(5)重复步骤步骤(2)至步骤(4),直至计算出待补纹理区域中每一面片的顶点纹理值。
CN202211041713.3A 2022-08-29 2022-08-29 一种三维人头脸模型的纹理映射与补全方法 Pending CN115409932A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211041713.3A CN115409932A (zh) 2022-08-29 2022-08-29 一种三维人头脸模型的纹理映射与补全方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211041713.3A CN115409932A (zh) 2022-08-29 2022-08-29 一种三维人头脸模型的纹理映射与补全方法

Publications (1)

Publication Number Publication Date
CN115409932A true CN115409932A (zh) 2022-11-29

Family

ID=84160834

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211041713.3A Pending CN115409932A (zh) 2022-08-29 2022-08-29 一种三维人头脸模型的纹理映射与补全方法

Country Status (1)

Country Link
CN (1) CN115409932A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116843862A (zh) * 2023-08-29 2023-10-03 武汉必盈生物科技有限公司 一种三维薄壁模型网格表面纹理合成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116843862A (zh) * 2023-08-29 2023-10-03 武汉必盈生物科技有限公司 一种三维薄壁模型网格表面纹理合成方法
CN116843862B (zh) * 2023-08-29 2023-11-24 武汉必盈生物科技有限公司 一种三维薄壁模型网格表面纹理合成方法

Similar Documents

Publication Publication Date Title
CN110807836B (zh) 三维人脸模型的生成方法、装置、设备及介质
US9317970B2 (en) Coupled reconstruction of hair and skin
CN111243093B (zh) 三维人脸网格的生成方法、装置、设备及存储介质
CN111968238A (zh) 基于动态融合算法的人体彩色三维重建方法
CN109325990B (zh) 图像处理方法及图像处理装置、存储介质
CN108305312A (zh) 3d虚拟形象的生成方法和装置
EP4036790A1 (en) Image display method and device
CN107145224B (zh) 基于三维球面泰勒展开的人眼视线跟踪方法和装置
EP4217974A1 (en) Methods and systems for personalized 3d head model deformation
CN113052976A (zh) 基于uv位置图与cgan的单图像大姿态三维彩色人脸重建方法
CN109523622A (zh) 一种非结构化的光场渲染方法
EP4229594A1 (en) Methods and systems for constructing facial position map
JP2024506170A (ja) 個人化された3d頭部モデルおよび顔モデルを形成するための方法、電子装置、およびプログラム
CN113313828A (zh) 基于单图片本征图像分解的三维重建方法与***
KR20230085931A (ko) 얼굴 이미지에서 색상을 추출하기 위한 방법 및 시스템
CN115409932A (zh) 一种三维人头脸模型的纹理映射与补全方法
Tarini et al. Texturing faces
WO2019042028A1 (zh) 全视向的球体光场渲染方法
CN116385619B (zh) 对象模型渲染方法、装置、计算机设备和存储介质
Cushen et al. Markerless real-time garment retexturing from monocular 3d reconstruction
CN112002019B (zh) 一种基于mr混合现实的模拟人物阴影的方法
CN114972601A (zh) 模型生成方法、人脸渲染方法、装置及电子设备
CN116681833B (zh) 一种具有裸眼立体视觉效果的印刷品的制造方法及应用
CN117392319A (zh) 一种基于单目视觉的三维轮廓模型快速构建方法
Che et al. Automatic global path generation for large-scale 3D scene exploration

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