本发明涉及计算机视觉技术领域,尤其涉及一种用于人脸三维模型纹理融合的方法和设备。
背景技术:
三维建模在工业设计、艺术设计、建筑设计、立体测量等方面都具有重要的研究意义与应用价值。其中,人脸的三维建模在生物特征领域包括三维人脸建库、三维人脸识别等有着广泛应用。一般而言,物体的三维建模包括两部分:表面三维模型建模与纹理映射。前者在计算机视觉领域获得了广泛关注,而后者,即纹理映射却是一个重要但相对被研究者忽视的方向。纹理映射,是指如何计算较优的纹理图像并贴图至三维模型表面。多视角下的纹理融合与映射对三维建模及其渲染至关重要,其结果好坏直接影响三维模型的真实感。
纹理融合问题的本质实际上是考虑如何拼合纹理碎片,因为在三维模型以及纹理相机参数已知时,模型三维表面与纹理相机纹理图像上的坐标存在一一对应;换言之,纹理图像上的纹理碎片可反向映射至三维模型上。在多纹理相机下,来自多个纹理相机的纹理碎片被映射到相同的三维表面,进而产生信息重叠,而这些纹理碎片很可能具有不同的光照、阴影、反射等特性,因此需对纹理碎片进行融合。
下面对国内外旨在纹理融合与贴图的方法以及专利做相关介绍。lempitsky等人于2007年提出“seamlessmosaicingofimage-basedtexturemaps”(基于图像的纹理贴图的无缝拼接),采用“最优镶嵌”的方法进行纹理融合。其利用图像分割将物体表面分为不同的区域,再通过马尔科夫随机场(markovrandomfield,mrf)消除由“最优镶嵌”带来的纹理接缝,实现模型表面色彩的平滑。但具有复杂拓扑的几何形体一般很难得到理想平滑的融合参数,使得纹理模型表面仍有少量细缝。gal等人于2010年提出“seamlessmontagefortexturingmodels”(用于纹理模型的无缝蒙太奇),采用mrf来允许考虑纹理三角形映射不准确的情况。虽然其允许纹理碎片映射出现偏差,但该方法对mrf的优化十分耗时,且在纹理相机纹理映射较准确的情况下不够实用。此外,上述两种现有方法都非专门针对环境光照不均情形下的人脸纹理融合。
申请号为201511025408.5的中国专利申请公开了“一种三维全脸照纹理相机中高保真全脸纹理融合方法”,虽然其在理想情况下可能实现保真纹理融合,但该方法所计算的纹理权值不适用于现实自然环境中存在表面遮挡等情形,并且其计算所有区域的纹理融合时始终采用线性加权,在纹理相机光照不均时(例如闪光灯下人脸较亮而背景较暗时),在人脸侧面容易引入人造阴影,导致融合结果出现过渡不均匀、不自然的问题。
技术实现要素:
本发明的目的之一至少在于,针对如何克服上述现有技术存在的问题,提供一种用于人脸三维模型纹理融合的方法和设备,能够使得纹理融合后的结果更加自然过渡,避免纹理贴图时鼻翼两侧易出现的过渡不均匀不自然的现象。
为了实现上述目的,本发明采用的技术方案包括以下各方面。
一种用于人脸三维模型纹理融合的方法,其包括:
输入人脸三维模型数据,获取模型表面每个三角面片的三维点云索引数据;输入多幅不同视角下的人脸纹理图像,根据对应的纹理相机参数获取人脸三维模型在人脸纹理图像上的映射数据;对所述人脸纹理图像进行颜色校正;计算每个三角面片在各个纹理相机中的可见性;计算每个三角面片相对于各个纹理相机的纹理权值;修正人脸三维模型上预定区域内的三角面片相对于正脸纹理相机的纹理权值;将相对于各个纹理相机的纹理权值进行平滑和归一化处理;根据每个三角面片相对于各个纹理相机的纹理权值进行纹理融合,并获取人脸三维纹理。
优选的,所述人脸三维模型数据包括人脸三维模型中三维点云数据;所述方法进一步包括根据人脸三维模型表面上每个三角面片的三个顶点的三维坐标对三维点云进行重建,获取每个三角面片的三维点云索引数据。
优选的,所述纹理相机参数包括各个纹理相机光心相对于人脸三维模型的三维坐标。
优选的,所述颜色校正包括对人脸纹理图像中的每一幅进行白平衡与亮度归一化处理,使多个不同视角下的人脸纹理相机纹理图像的色差小于预设阈值,且亮度一致。
优选的,所述确定纹理权值包括:遍历每个三角面片,计算三角面片的法向量,并计算该法向量与三角面片中心到各个纹理相机光心连线的夹角
对第j个三角面片,根据夹角
优选的,所述预定区域为:人脸三维模型中位线与正脸纹理相机光轴所确定的平面两侧分别距离小于或者等于r的区域,r=50mm;
所述修正包括:将所述预定区域内的三角面片相对于正脸纹理相机的纹理权值置为1,并且,将该三角面片相对于其他纹理相机的权值均置0,其中,下表j表示位于该预定区域内的三角面片的对应序号。
优选的,所述平滑处理包括:遍历每个三角面片,确定三角面片在人脸三维模型中近邻的三角面片集合m,并根据公式
所述归一化处理包括:遍历每个三角面片,按式
优选的,所述纹理融合包括:遍历每个三角面片,将三角面片在各个纹理相机视角下进行仿射变换,根据对应的纹理相机获取的人脸纹理图像确定纹理三角形
优选的,所述计算每个三角面片在各个纹理相机中的可见性包括:构建二维记录矩阵并初始化每个元素的值为无穷大;计算每个三角面片在各个纹理相机中的二维投影三角形;计算每个三角面片的中心点到各个纹理相机光心的距离;根据每个三角面片中心到各个纹理相机光心的距离与二维投影三角形更新二维记录矩阵元素的值;根据二维记录矩阵元素的值确定每个三角面片在各个纹理相机中的可见性。
一种用于人脸三维模型纹理融合的设备,其包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述任一方法;所述数据库服务器用于存储带电作业经验数据库。
综上所述,由于采用了上述技术方案,本发明至少具有以下有益效果:
通过图像预处理,与鲁棒的权值计算、平滑,对多视角纹理相机图像进行色彩矫正,结合三维模型表面三角面片的可见性,取最佳纹理相机的纹理进行贴图,使得纹理融合后的结果更加自然过渡,并且对包括鼻子等部位的人脸中间区域进行特殊处理,直接取正面纹理相机的纹理图像进行贴图,避免了纹理贴图时鼻翼两侧易出现的过渡不均匀不自然的现象。
附图说明
图1是根据本发明实施例的用于人脸三维模型纹理融合的方法的流程示意图。
图2是根据本发明实施例的人脸三维模型示意图。
图3是根据本发明实施例的多视角纹理相机及对应的纹理图像示意图。
图4是根据本发明实施例的三角面片的法向量与三角面片中心到纹理相机光心连线的夹角示意图。
图5是根据本发明实施例的人脸三维模型上预定区域示意图。
图6是根据本发明实施例融合后的人脸三维纹理示例图。
图7是根据本发明实施例的计算每个三角面片在各个纹理相机中的可见性的流程示意图。
图8是根据本发明实施例的用于人脸三维模型纹理融合的设备的结构示意图。
具体实施方式
下面结合附图及实施例,对本发明进行进一步详细说明,以使本发明的目的、技术方案及优点更加清楚明白。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例所提供的方法包括在已从基于图像信息(包括双目视觉、深度测量等)的三维重建手段中获得人脸三维模型后,进行真实自然的人脸三维纹理贴图。该方法利用多视角纹理相机图像色彩矫正,结合三维模型表面三角面片的可见性,同时计算三角面片的法线向量与面片到多视角纹理相机光心连线的夹角,来综合确定融合所需的纹理权值。之后对中间正脸纹理相机的纹理权值进行修正,并对纹理权值进行三维空间平滑,来消除纹理拼接的过渡痕迹。
图1示出了根据本发明一实施例的用于人脸三维模型纹理融合的方法的流程示意图。该方法包括如下步骤:
步骤101:输入人脸三维模型数据,获取模型表面每个三角面片的三维点云索引数据
其中,人脸三维模型(如图2所示)可以通过读取预先存储的人脸三维模型来获取,或者单独执行人脸三维表面建模过程而建立。输入的人脸三维模型数据包括人脸三维模型中三维点云数据,例如每个点的三维坐标值以及点云中点的总数量等。进一步可以根据人脸三维模型表面上每个三角面片的三个顶点的三维坐标对三维点云进行重建,获取每个三角面片的三维点云索引数据。
步骤102:输入多幅不同视角下的人脸纹理图像,根据对应的纹理相机参数获取人脸三维模型在人脸纹理图像上的映射数据
例如,可以使用i0,i1,i-1,...来表示所输入的多幅人脸纹理图像,这些图像由对应的多台纹理相机获取,其中,上标“0”表示正对人脸的正脸纹理相机,而“+1”表示正脸纹理相机右方的第一个纹理相机,“-1”表示其左方的第一个纹理相机,“+2”,“-2”等依次类推,以表示更多的人脸纹理图像和对应的更多纹理相机。图3示出了由三台纹理相机来分别获取三幅不同视角下的人脸纹理图像的示意图,下文以此为基础对本发明的实施例进行详细说明。其中,纹理相机参数包括各个纹理相机光心o-1,o0,o+1相对于人脸三维模型的三维坐标。根据纹理相机参数和三维点云可以获取三维模型上的三维点映射到各个纹理相机纹理图像上的二维空间坐标,并可以进一步根据人脸纹理图像i0,i1,i-1获取三维模型上的三维点映射到二维空间坐标后的纹理像素值。但是,在获取纹理像素值的步骤可以在下述步骤之后执行。
步骤103:对人脸纹理图像进行颜色校正
具体地,可以对人脸纹理图像i0,i1,i-1中的每一幅进行白平衡与亮度归一化处理,使多个不同视角下的人脸纹理相机纹理图像的色差小于预设阈值(例如,0.041),且亮度一致(例如,与平均亮度的差值小于2)。
步骤104:计算每个三角面片在各个纹理相机中的可见性
其中,可以通过计算每个三角面片中心到各个纹理相机光心的距离,以及每个三角面片中心在各个纹理相机中的二维投影三角形来获取每个三角面片在各个纹理相机中的可见性
步骤105:计算每个三角面片相对于各个纹理相机的纹理权值
可以根据三角面片的法向量与三角面片中心到纹理相机光心连线的夹角,以及对应的可见性来确定纹理权值。具体地,首先遍历每个三角面片,计算三角面片的法向量,并计算该法向量与三角面片中心到各个纹理相机光心连线的夹角
步骤106:修正人脸三维模型上预定区域内的三角面片相对于正脸纹理相机的纹理权值
其中,预定区域为:人脸三维模型中位线与正脸纹理相机光轴所确定的平面两侧分别距离小于或者等于r(例如,r=50mm)的区域,区域示意图如图5所示。修正具体包括:将该区域内的三角面片相对于正脸纹理相机的纹理权值置为1,例如
步骤107:将相对于各个纹理相机的纹理权值进行平滑和归一化处理
其中,平滑处理包括:遍历每个三角面片,确定三角面片在人脸三维模型中近邻的三角面片集合m,并根据公式
其中,归一化处理包括:遍历每个三角面片,按式
步骤108:根据每个三角面片相对于各个纹理相机的纹理权值进行纹理融合,并获取人脸三维纹理
具体地,纹理融合包括:遍历每个三角面片,将三角面片在各个纹理相机视角下进行仿射变换,根据对应的纹理相机获取的人脸纹理图像确定纹理三角形
上述实施例中,通过对纹理图像进行色彩矫正,能够使多个纹理相机获取的纹理图像的颜色无偏差,且亮度一致,从而提高后续纹理融合的一致性;通过结合三维模型表面三角面片的可见性与法线向量夹角综合确定融合所需的纹理权值,并对中间正脸纹理相机的纹理权值做修正,进一步对纹理权值进行三维空间平滑,来消除纹理拼接的痕迹。由于对鼻子等所在部位的人脸中间区域进行了特殊处理,即选取正面纹理相机的纹理图像进行贴图,能够避免纹理贴图时鼻翼两侧易出现的过渡不均匀不自然的现象,从而获得纹理融合贴图逼真自然的人脸三维纹理。
图7示出了根据本发明实施例的计算每个三角面片在各个纹理相机中的可见性的详细步骤,其具体包括如下步骤,这些步骤可以按照特定顺序执行、部分重复执行或者并行执行:
步骤201:构建二维记录矩阵并初始化每个元素的值为无穷大
具体地,依次遍历各个纹理相机i,构建与对应的纹理图像大小相同的二维记录矩阵ri,并将二维记录矩阵所有元素的值
步骤202:计算每个三角面片在各个纹理相机中的二维投影三角形
依次遍历每个三角面片和各个纹理相机,计算第j个三角面片在纹理相机i中的二维投影三角形
步骤203:计算每个三角面片的中心点到各个纹理相机光心的距离
依次遍历每个三角面片和各个纹理相机,计算第j个三角面片的中心点到纹理相机i光心o的距离
步骤204:根据每个三角面片中心到各个纹理相机光心的距离与二维投影三角形更新二维记录矩阵元素的值
其中,更新二维记录矩阵元素值的更新方式为:依次遍历二维记录矩阵的每个元素、每个三角面片和各个纹理相机,如果二维记录矩阵ri中第n个元素的二维坐标ln位于二维投影三角形
步骤205:根据二维记录矩阵元素的值确定每个三角面片在各个纹理相机中的可见性
具体地,依次遍历二维记录矩阵的每个元素、每个三角面片和各个纹理相机,如果二维记录矩阵ri中第n个元素的二维坐标ln位于二维投影三角形
图8示出了根据本发明实施例的用于人脸三维模型纹理融合的一种设备,即电子设备310(例如具备程序执行功能的计算机服务器),其包括至少一个处理器311,电源314,以及与所述至少一个处理器311通信连接的存储器312和输入输出接口313;所述存储器312存储有可被所述至少一个处理器311执行的指令,所述指令被所述至少一个处理器311执行,以使所述至少一个处理器311能够执行前述任一实施例所公开的方法;所述输入输出接口313可以包括显示器、键盘、鼠标、以及usb接口,用于输入人脸三维模型数据;电源314用于为电子设备310提供电能。
以上所述,仅为本发明具体实施方式的详细说明,而非对本发明的限制。相关技术领域的技术人员在不脱离本发明的原则和范围的情况下,做出的各种替换、变型以及改进均应包含在本发明的保护范围之内。