CN115409932A - 一种三维人头脸模型的纹理映射与补全方法 - Google Patents
一种三维人头脸模型的纹理映射与补全方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013507 mapping Methods 0.000 title claims abstract description 46
- 239000013598 vector Substances 0.000 claims abstract description 97
- 230000004927 fusion Effects 0.000 claims abstract description 71
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 14
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 238000005457 optimization Methods 0.000 claims abstract description 8
- 210000003128 head Anatomy 0.000 claims description 75
- 239000011159 matrix material Substances 0.000 claims description 69
- 230000000007 visual effect Effects 0.000 claims description 45
- 238000004364 calculation method Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 17
- 239000000203 mixture Substances 0.000 claims description 13
- 238000010586 diagram Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 12
- 238000013519 translation Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 9
- 230000036544 posture Effects 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 210000004709 eyebrow Anatomy 0.000 claims description 3
- 238000007499 fusion processing Methods 0.000 claims description 3
- 238000007637 random forest analysis Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 150000001875 compounds Chemical class 0.000 claims description 2
- 238000012850 discrimination method Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 21
- 230000007704 transition Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
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),计算过程如下:
(4)计算投影点(xI_vintex,yI_vintex)的纹理坐标(uvintex,vvintex),计算过程如下:
其中,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);
则有:
式(5)中,i,j,k分别为空间中相互垂直的三条坐标轴的单位向量,且有:
(5)将当前计算获得的法向量存储到FaceNorm矩阵中,并更新面片索引号FaceIntex到下一个面片;
(6)重复操作(1)-(5)直至遍历完网格模型上的所有三角面片,即FaceIntex=22800;
通过计算获得的网格模型面片矩阵FaceNorm为22800×3的矩阵;
其中,FaceNorm为三角面片的法向量矩阵,用于存储模型上每个三角面片的法向量,FaceNum=22800为模型总面片数,FaceIntex为当前三角面片索引号。
优选的,所述的步骤8中,利用步骤3中获得的正面、右侧面与左侧面视角图像对应的人脸姿态参数Ri,i=1,2,3,分别计算三个视角图像在摄像机坐标系下的图像平面法向量i=1,2,3,其中,i=1,2,3的计算公式如下所示:
优选的,所述的步骤9中,以夹角余弦值为权重分配依据,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值;
有效纹理图像筛选与纹理融合流程如下:
(1)网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角计算公式如下:
其中,θi_FaceIntex表示面片索引为FaceIntex的三角面片与第i张视角图像之间的夹角,i=1,2,3分别表示正面、右侧面和左侧面视角图像,表示面片索引为FaceIntex的三角面片法向量,表示第i张视角图像的图像平面法向量;
(2)设置一阈值Threshold,当θi_FaceIntex≥Threshold时,则视角图像i对面片FaceIntex而言为无效纹理图像;
(3)以网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角余弦值为权重分配依据,计算三角面片上的顶点在不同纹理图像上的融合权重;
首先,对面片FaceIntex判断其有效纹理图像个数,并分为以下三种情况:有效纹理图像只有一个;有效纹理图像有两个;有效纹理图像有三个;
(4)根据融合权重,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值;
根据网格模型的面片索引FaceIntex,获取面片上的顶点索引VerIntexΔFaceIntex(p),(p=1,2,3);并根据网格模型顶点在不同纹理图像上的顶点纹理颜色矩阵ColorMatrix_IK,计算面片上的顶点融合后的纹理值,计算公式如下:
优选的,所述的步骤10中,耳部纹理优化的方法如:
(1)利用人脸特征点,确定模型右耳和左耳边界线,从而划分除人头脸模型的左耳和右耳区域;
确定右耳和左耳的两条边界线的方法为:首先获取6个脸廓特征点的坐标,并记为R_Point1,R_Point2,R_Point3和L_Point1,L_Point2,L_Point3,分别根据下式获得右耳和左耳分界线R_earLine和L_earLine:
对模型三角面片的三个顶点进行判断,将三个顶点均在右耳分界线往右的所有三角面片记为模型右耳区域,同理可得到模型左耳区域;
(2)重置左、右面视角图像在人脸模型耳部区域的融合权重为1,并获得重置耳部区域纹理融合权重后的人头脸模型;
(3)对耳部区域边界线双向延拓得到融合带区域,然后分别对侧面视角图像映射结果与步骤9中所得纹理融合结果分配权重ωe1和ωe2,从而得到融合区域的纹理,实现耳部区域在人头脸模型中的平滑相接;
设侧面视角图像与步骤9中纹理融合结果在融合带区域的顶点颜色矩阵分别为ColorMatrix_Band_fromSideI和ColorMatrix_Band_fromFusion,ColorMatrix_Band为最终的融合带区域的顶点颜色矩阵,则融合带区域最终的顶点颜色矩阵由下式表示:
其中,经测试验证,融合带宽选取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');缩放系数的计算公式如下所示:
然后,构造平移矩阵tras,并根据tras对图像B_Image1进行平移,得到图像B_Image2,平移矩阵如下所示:
其中,αx和αy的计算公式如下所示:
(5)判断图像矩阵B_Image2中的越界像素点并删除,得到最终的图像B_Image;
(6)根据匹配后的背面图像对人头脸模型的背面进行纹理补全。
优选的,所述的步骤14的流程为:
(1)根据人脸特征点,划分出人头脸模型鼻子区域:
记鼻子区域的三角面片集合为Δnose={Δni|1≤ni≤Num_nose};
其中,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),计算过程如下:
(4)计算投影点(xI_vintex,yI_vintex)的纹理坐标(uvintex,vvintex),计算过程如下:
其中,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);
则有:
其中:
(5)将当前计算获得的法向量存储到FaceNorm矩阵中,并更新面片索引号FaceIntex到下一个面片;
(6)重复操作(1)-(5)直至遍历完网格模型上的所有三角面片,即FaceIntex=22800。
本发明计算获得的网格模型面片矩阵FaceNorm为22800×3的矩阵。
步骤8:视角图像的平面法向量计算;
步骤9:有效纹理图像筛选与纹理融合;
计算网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角,根据夹角,对模型上的每一个三角面片进行有效纹理图像筛选,并以夹角余弦值为权重分配依据,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值。
其中,本发明设计的有效纹理图像筛选与纹理融合流程如下:
(1)网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角计算公式如下:
其中,θi_FaceIntex表示面片索引为FaceIntex的三角面片与第i张视角图像之间的夹角,i=1,2,3分别表示正面、右侧面和左侧面视角图像,表示面片索引为FaceIntex的三角面片法向量,表示第i张视角图像的图像平面法向量。
(2)设置一阈值Threshold,当θi_FaceIntex≥Threshold时,则视角图像i对面片FaceIntex而言为无效纹理图像;
图10为将阈值设置为60,70和80时,图像在模型上的纹理映射效果,经测试验证,当Threshold=80时,不仅能够筛除纹理映射时大部分效果较差的纹理,还能尽量保留效果较好的纹理,因此本发明设置阈值Threshold=80。
(3)以网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角余弦值为权重分配依据,计算三角面片上的顶点在不同纹理图像上的融合权重;
本发明纹理图像的权重是根据三角面片的法向量与像面法向量的夹角来定义,其权重大小反比于法向量与像面法向量夹角,夹角越大,权重越小。记纹理图像的权重为 其中,ΔFaceIntex表示当前三角面片,IK为有效图像,K为图像序号,为ΔFaceIntex面片下序号为K的图像的权重。
首先,对面片FaceIntex判断其有效纹理图像个数,并分为以下三种情况:有效纹理图像只有一个;有效纹理图像有两个;有效纹理图像有三个。
(4)根据融合权重,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值;
根据网格模型的面片索引FaceIntex,可以获取面片上的顶点索引VerIntexΔFaceIntex(p),(p=1,2,3)并根据网格模型顶点在不同纹理图像上的顶点纹理颜色矩阵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:
对模型三角面片的三个顶点进行判断,将三个顶点均在右耳分界线往右的所有三角面片记为模型右耳区域,同理可得到模型左耳区域,如图12(b)所示。
(2)重置左、右面视角图像在人脸模型耳部区域的融合权重为1,并获得重置耳部区域纹理融合权重后的人头脸模型;
(3)由于在耳部边界线处不可避免地会出现明显的连接痕迹,因此本发明对耳部区域边界线双向延拓得到融合带区域,融合带区域如图12(c)所示,然后分别对侧面视角图像映射结果与步骤9中所得纹理融合结果分配权重ωe1和ωe2,从而得到融合区域的纹理,实现耳部区域在人头脸模型中的平滑相接。
设侧面视角图像与步骤9中纹理融合结果在融合带区域的顶点颜色矩阵分别为ColorMatrix_Band_fromSideI和ColorMatrix_Band_fromFusion,ColorMatrix_Band为最终的融合带区域的顶点颜色矩阵,则融合带区域最终的顶点颜色矩阵可由下式表示:
其中,经测试验证,融合带宽选取12,选取依据如下:
图13所示为不同带宽下的耳部边界融合带。图中红色区域为不同带宽下的融合带区域,融合带区域是为了实现耳部区域纹理与模型其它区域纹理的自然衔接,如果带宽值过小,则难以实现衔接处的平滑过渡,如果带宽值太大,则会影响到其它区域的纹理效果,尤其是模型的眼角区域,因此,本发明通过对不同带宽下的融合带区域进行对比,发现当融合带带宽为12时,能够保证融合带宽值不会太小,并且融合带不会延伸至模型的眼角区域;
其中,经测试验证,选取权重ωe1=0.5,ωe2=0.5,选取依据如下:
融合带中的纹理值由侧面图像和步骤9节的纹理融合结果共同决定,二者的权重分别为ωe1和ωe2,并且有ωe1+ωe2=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')。缩放系数的计算公式如下所示:
然后构造平移矩阵tras,并根据tras对图像B_Image1进行平移,得到图像B_Image2,平移矩阵如下所示:
其中,αx和αy的计算公式如下所示:
(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的特征点所画的矩形边线;
其中,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),计算过程如下:
(4)计算投影点(xI_vintex,yI_vintex)的纹理坐标(uvintex,vvintex),计算过程如下:
其中,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);
则有:
式(5)中,i,j,k分别为空间中相互垂直的三条坐标轴的单位向量,且有:
(5)将当前计算获得的法向量存储到FaceNorm矩阵中,并更新面片索引号FaceIntex到下一个面片;
(6)重复操作(1)-(5)直至遍历完网格模型上的所有三角面片,即FaceIntex=22800;
通过计算获得的网格模型面片矩阵FaceNorm为22800×3的矩阵;
其中,FaceNorm为三角面片的法向量矩阵,用于存储模型上每个三角面片的法向量,FaceNum=22800为模型总面片数,FaceIntex为当前三角面片索引号。
5.如权利要求4所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤9中,以夹角余弦值为权重分配依据,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值;
有效纹理图像筛选与纹理融合流程如下:
(1)网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角计算公式如下:
其中,θi_FaceIntex表示面片索引为FaceIntex的三角面片与第i张视角图像之间的夹角,i=1,2,3分别表示正面、右侧面和左侧面视角图像,表示面片索引为FaceIntex的三角面片法向量,表示第i张视角图像的图像平面法向量;
(2)设置一阈值Threshold,当θi_FaceIntex≥Threshold时,则视角图像i对面片FaceIntex而言为无效纹理图像;
(3)以网格模型上三角面片法向量与三个视角图像的平面法向量之间的夹角余弦值为权重分配依据,计算三角面片上的顶点在不同纹理图像上的融合权重;
首先,对面片FaceIntex判断其有效纹理图像个数,并分为以下三种情况:有效纹理图像只有一个;有效纹理图像有两个;有效纹理图像有三个;
(4)根据融合权重,融合三角面片上的顶点在不同纹理图像上获得的纹理值,得到融合后的顶点纹理值;
根据网格模型的面片索引FaceIntex,获取面片上的顶点索引VerIntexΔFaceIntex(p),(p=1,2,3);并根据网格模型顶点在不同纹理图像上的顶点纹理颜色矩阵ColorMatrix_IK,计算面片上的顶点融合后的纹理值,计算公式如下:
6.如权利要求5所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤10中,耳部纹理优化的方法如:
(1)利用人脸特征点,确定模型右耳和左耳边界线,从而划分除人头脸模型的左耳和右耳区域;
确定右耳和左耳的两条边界线的方法为:首先获取6个脸廓特征点的坐标,并记为R_Point1,R_Point2,R_Point3和L_Point1,L_Point2,L_Point3,分别根据下式获得右耳和左耳分界线R_earLine和L_earLine:
对模型三角面片的三个顶点进行判断,将三个顶点均在右耳分界线往右的所有三角面片记为模型右耳区域,同理可得到模型左耳区域;
(2)重置左、右面视角图像在人脸模型耳部区域的融合权重为1,并获得重置耳部区域纹理融合权重后的人头脸模型;
(3)对耳部区域边界线双向延拓得到融合带区域,然后分别对侧面视角图像映射结果与步骤9中所得纹理融合结果分配权重ωe1和ωe2,从而得到融合区域的纹理,实现耳部区域在人头脸模型中的平滑相接;
设侧面视角图像与步骤9中纹理融合结果在融合带区域的顶点颜色矩阵分别为ColorMatrix_Band_fromSideI和ColorMatrix_Band_fromFusion,ColorMatrix_Band为最终的融合带区域的顶点颜色矩阵,则融合带区域最终的顶点颜色矩阵由下式表示:
其中,经测试验证,融合带宽选取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');缩放系数的计算公式如下所示:
然后,构造平移矩阵tras,并根据tras对图像B_Image1进行平移,得到图像B_Image2,平移矩阵如下所示:
其中,αx和αy的计算公式如下所示:
(5)判断图像矩阵B_Image2中的越界像素点并删除,得到最终的图像B_Image;
(6)根据匹配后的背面图像对人头脸模型的背面进行纹理补全。
10.如权利要求9所述的一种三维人头脸模型的纹理映射与补全方法,其特征为:所述的步骤14的流程为:
(1)根据人脸特征点,划分出人头脸模型鼻子区域:
记鼻子区域的三角面片集合为Δnose={Δni|1≤ni≤Num_nose};
其中,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),直至计算出待补纹理区域中每一面片的顶点纹理值。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116843862A (zh) * | 2023-08-29 | 2023-10-03 | 武汉必盈生物科技有限公司 | 一种三维薄壁模型网格表面纹理合成方法 |
-
2022
- 2022-08-29 CN CN202211041713.3A patent/CN115409932A/zh active Pending
Cited By (2)
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 |