一种人脸的纹理贴图生成方法、系统及电子设备与流程

文档序号:20785109发布日期:2020-05-19 21:37阅读:349来源:国知局
一种人脸的纹理贴图生成方法、系统及电子设备与流程

【技术领域】

本发明涉及图像处理领域,特别涉及一种人脸的纹理贴图生成方法、系统及电子设备。



背景技术:

人脸贴图生成方法通常包括对人脸的形状以及对人脸形状上的纹理进行构建,但是现有的人脸的纹理贴图生成方法在构建时,由于在不同角度方向都可以看见部分眼睛特征,导致在融合各个角度的纹理贴图时,对眼睛特征的构建容易造成较大误差,导致对眼睛部分纹理构建的质量较低



技术实现要素:

为了克服目前现有的人脸的纹理贴图生成方法中对眼睛特征部分形成的纹理贴图质量较低的问题,本发明提供人脸的纹理贴图生成方法、系统及电子设备。

本发明为解决上述技术问题,提供一技术方案如下:一种人脸的纹理贴图生成方法,包括如下步骤:步骤s1:获取目标对象的人脸网格模型和通过多个视角采集到的所述目标对象的多张人脸图像,所述人脸图像包括至少一人脸的正视图像和至少左右各一张侧视图像,并获取各个人脸图像对应的视角参数;步骤s2:识别所述人脸的正视图像及侧视图像中的眼睛特征,并将眼睛特征剔除出所述人脸的正视图像及侧视图像,以获得眼睛图像及缺眼正视图、缺眼侧视图;步骤s3:基于所述人脸网格模型中每一网格的顶点对应的三维坐标,根据柱状投影方式计算每一顶点在纹理贴图上的二维坐标,以获得纹理网格图;及步骤s4:基于所述眼睛图像、缺眼正视图及缺眼侧视图,对所述纹理网格图进行像素填充,获得人脸的纹理贴图。

优选地,上述步骤s2主要包括以下步骤:步骤s21:获取所述人脸的正视图像及侧视图像中每一特征点对应的二维坐标;步骤s22:基于步骤s21中的二维坐标,将人脸的正视图像及侧视图像中眼睛特征对应的区域进行裁剪,以获得眼睛图像及正视图像对应的缺眼正视图、缺眼侧视图。

优选地,上述步骤s1主要包括以下步骤:步骤s11:获取目标对象的人脸网格模型,所述人脸网格模型上包括多个网格及网格对应的顶点;及步骤s12:获取所述人脸的正视图像、左视图像及右视图像及获取正视图像、左视图像及右视图像对应的视角参数。

优选地,步骤s11中获取目标对象的人脸网格模型包括但不限于多视图立体视觉的重建方法、单目视频重建及基于结构光重建的一种或多种。

优选地,步骤s4中具体包括:步骤s41:基于缺眼正视图及缺眼侧视图及对应特征点的二维坐标,对所述纹理网格图进行像素填充;步骤s42:判断网格是否位于正视图像上,若是则进入步骤s43,若否则进入步骤s44;步骤s43:将所述眼睛图像对应的像素填充所述网格;步骤s44:根据该网格临近像素值进行填充。

本发明还提供一种人脸的纹理贴图生成系统,包括:模型及图像获取单元,用于获取目标对象的人脸网格模型和通过多个视角采集到的所述目标对象的多张人脸图像,所述人脸图像包括至少一人脸的正视图像和至少左右各一张侧视图像,并获取各个人脸图像对应的视角参数;特征分割单元,用于识别所述人脸的正视图像及侧视图像中的眼睛特征,并将眼睛特征剔除出所述人脸的正视图像及侧视图像,以获得眼睛图像及正视图像对应的缺眼正视图、缺眼侧视图;投影单元,用于基于所述人脸网格模型中每一网格的顶点对应的三维坐标,根据柱状投影方式计算每一顶点在纹理贴图上的二维坐标,以获得纹理网格图;及填充单元,用于基于所述眼睛图像、缺眼正视图及缺眼侧视图,对所述纹理网格图进行像素填充,获得人脸的纹理贴图。

本发明还提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被设置为运行时执行上述任一项中所述的人脸的纹理贴图生成方法;所述处理器被设置为通过所述计算机程序执行上述任一项中所述的人脸的纹理贴图生成方法。

与现有技术相比,本发明提供的一种人脸的纹理贴图生成方法、系统及电子设备,具有以下优点:

1、通过剔除所述眼睛特征,将眼睛图像与其他的人脸图像独立进行纹理贴图的构建后重新融合,以获得最终的纹理贴图,使得在重建人脸的其他特征时,可避免对眼睛特征进行干扰,让眼睛特征独立进行构建,提高了眼睛贴图部分的构建准确性。

2、通过柱状投影方式获取每一顶点在纹理贴图上的二维坐标,以获得纹理网格图,计算更简单,提高计算效率。

3、通过判断所述网格是否位于正视图像上,可将正视图像对应的眼睛特征进行准确的构建,避免出现较大误差,提高纹理贴图对眼睛部分的准确构建。同时,侧视图像中眼睛区域较小,在侧视的纹理中对该区域的眼睛特征构建容易造成较大误差,通过网格临近像素值进行填充,避免对正视图像中的眼睛特征造成影响,将纹理贴图成像造成的误差降低。

【附图说明】

图1为本发明第一实施例提供的一种人脸的纹理贴图生成方法的流程图。

图2为本发明第一实施例提供的一种人脸的纹理贴图生成方法中步骤s1的细节流程图。

图3为本发明第一实施例提供的一种人脸的纹理贴图生成方法的步骤s2的细节流程图。

图4为本发明第一实施例提供的一种人脸的纹理贴图生成方法的步骤s4的细节流程图。

图5为本发明第二实施例提供的一种人脸的纹理贴图生成系统的模块图。

图6为本发明第三实施例提供的一种电子设备的模块图。

附图标记说明:

1、模型及图像获取单元;2、特征分割单元;3、投影单元;4、获取单元;

10、存储器;20、处理器;

【具体实施方式】

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,本发明第一实施例提供一种人脸的纹理贴图生成方法,包括以下步骤:

步骤s1:获取目标对象的人脸网格模型和通过多个视角采集到的所述目标对象的多张人脸图像,所述人脸图像包括至少一人脸的正视图像和至少左右各一张侧视图像,并获取各个人脸图像对应的视角参数。

可以理解,所述人脸网格模型可基于三维人脸重建算法获得,所述三维人脸重建算法包括但不限于多视图立体视觉的重建方法、单目视频重建及基于结构光重建的任一种。

可以理解,所述目标对象的多张人脸图像通过多个视角进行采集,其中包括至少一张人脸的正视图像。上述图像的获取可以通过相机拍摄或视频截取获得,例如,在本实施例中,可通过相机拍摄不同角度的人脸图像,人脸朝向与相机的光轴夹角α范围在-10°<α<10°定义为所述正视图像。

步骤s2:识别所述人脸的正视图像及侧视图像中的眼睛特征,并将眼睛特征剔除出所述人脸的正视图像及侧视图像,以获得眼睛图像及缺眼正视图、缺眼侧视图。

可以理解,通过剔除所述眼睛特征,使得在重建人脸的其他特征时,可避免对眼睛特征进行干扰,让眼睛特征独立进行构建,提高了眼睛贴图部分的构建准确性。

步骤s3:基于所述人脸网格模型中每一网格的顶点对应的三维坐标,根据柱状投影方式计算每一顶点在纹理贴图上的二维坐标,以获得纹理网格图。

可以理解,在步骤s3中,由于人脸外形与柱状结构相近,故采用柱状投影方式进行投影,根据柱状投影方式确定每一网格对应的二维坐标,使得投影获得的纹理网格图符合人脸的形状特征。

步骤s4:基于所述眼睛图像、缺眼正视图及缺眼侧视图,对所述纹理网格图进行像素填充,获得人脸的纹理贴图。

请参阅图2,步骤s1:获取目标对象的人脸网格模型和通过多个视角采集到的所述目标对象的多张人脸图像,所述人脸图像包括至少一人脸的正视图像和至少左右各一张侧视图像,并获取各个人脸图像对应的视角参数。步骤s1具体包括步骤s11~s12:

步骤s11:获取目标对象的人脸网格模型,所述人脸网格模型上包括多个网格及网格对应的顶点;及

步骤s12:获取所述人脸的正视图像、左视图像及右视图像及获取正视图像、左视图像及右视图像对应的视角参数。

可以理解,在步骤s11中,所述人脸网格模型通过三维人脸模型重建算法获得,所述人脸网格模型中由多个三角形面片组合形成,每一三角形面片包括三个顶点,每一顶点具有唯一的三维坐标。

可以理解,在步骤s12中,可基于不同角度的相机对人脸进行拍摄以获取所述人脸的正视图像、左视图像及右视图像,在本实施例中,人脸朝向与相机的光轴夹角α范围在-50°<α<-40°定义为所述左视图像,α范围在40°<α<50°定义为所述右视图像。

可以理解,在步骤s12中,所述视角参数为相机本身固有的已知参数,可基于相机拍摄获取对应图像的相机参数。

可以理解,步骤s11~s12仅为该实施例的一种实施方式,其实施方式并不限定于步骤s11~s12。

请参阅图3,步骤s2:步骤s2:识别所述人脸的正视图像及侧视图像中的眼睛特征,并将眼睛特征剔除出所述人脸的正视图像及侧视图像,以获得眼睛图像及缺眼正视图、缺眼侧视图。步骤s2具体包括步骤s21~s22:

步骤s21:获取所述人脸的正视图像及侧视图像中每一特征点对应的二维坐标;及

步骤s22:基于步骤s21中的二维坐标,将人脸的正视图像及侧视图像中眼睛特征对应的区域进行裁剪,以获得眼睛图像及正视图像对应的缺眼正视图、缺眼侧视图。

可以理解,在步骤s22中,根据二维坐标对眼睛特征进行分割,以获得更加准确的眼睛图像,同时可方便后续步骤根据该二维坐标对纹理贴图进行处理。

可以理解,步骤s21~s22仅为该实施例的一种实施方式,其实施方式并不限定于步骤s21~s22。

请参阅图4,步骤s4:基于所述眼睛图像、缺眼正视图及缺眼侧视图,对所述纹理网格图进行像素填充,获得人脸的纹理贴图。步骤s4具体包括步骤s41~s44:

步骤s41:基于缺眼正视图及缺眼侧视图及对应特征点的二维坐标,对所述纹理网格图进行像素填充;

步骤s42:判断网格是否位于正视图像上,若是则进入步骤s43,若否则进入步骤s44;

步骤s43:将所述眼睛图像对应的像素填充所述网格;及

步骤s44:根据该网格临近像素值进行填充。

可以理解,在步骤s41中,通过所述眼睛图像及正视图像对应的缺眼正视图、缺眼侧视图中每一特征点对应的像素值,根据对应的二维坐标填充至对应的网格中,以实现纹理的构建。

可以理解,在步骤s42中,通过判断所述网格是否位于正视图像上,可将正视图像对应的眼睛特征进行准确的构建,避免出现较大误差,提高纹理贴图对眼睛部分的准确构建。

可以理解,在步骤s44中,通常侧视图像中眼睛区域较小,在侧视的纹理中对该区域的眼睛特征构建容易造成较大误差,故通过网格临近像素值进行填充,避免对正视图像中的眼睛特征造成影响,将纹理贴图成像造成的误差降低。

可以理解,步骤s41~s44仅为该实施例的一种实施方式,其实施方式并不限定于步骤s41~s44。

请参阅图5,本发明第二实施例还提供一种人脸的纹理贴图生成系统。该人脸的纹理贴图生成系统可以包括:

模型及图像获取单元1,用于获取目标对象的人脸网格模型和通过多个视角采集到的所述目标对象的多张人脸图像,所述人脸图像包括至少一人脸的正视图像和至少左右各一张侧视图像,并获取各个人脸图像对应的视角参数;

特征分割单元2,用于识别所述人脸的正视图像及侧视图像中的眼睛特征,并将眼睛特征剔除出所述人脸的正视图像及侧视图像,以获得眼睛图像及缺眼正视图、缺眼侧视图;

投影单元3,用于基于所述人脸网格模型中每一网格的顶点对应的三维坐标,根据柱状投影方式计算每一顶点在纹理贴图上的二维坐标,以获得纹理网格图;及

填充单元4,用于基于所述眼睛图像、缺眼正视图及缺眼侧视图,对所述纹理网格图进行像素填充,获得人脸的纹理贴图。

可以理解,本发明第二实施例还提供一种人脸的纹理贴图生成系统中包括的上述多个单元的实施方式与上述第一实施例中相同,在此不再赘述。

请参阅图6,本发明第三实施例提供一种用于实施上述人脸的纹理贴图生成方法的电子设备,所述电子设备包括存储器10和处理器20,所述存储器10中存储有运算机程序,所述运算机程序被设置为运行时执行上述任一项人脸的纹理贴图生成方法实施例中的步骤。所述处理器20被设置为通过所述运算机程序执行上述任一项人脸的纹理贴图生成方法实施例中的步骤。

可选地,在本实施例中,上述电子设备可以位于运算机网络的多个网络设备中的至少一个网络设备。

与现有技术相比,本发明提供的一种人脸的纹理贴图生成方法、系统及电子设备,具有以下优点:

1、通过剔除所述眼睛特征,将眼睛图像与其他的人脸图像独立进行纹理贴图的构建后重新融合,以获得最终的纹理贴图,使得在重建人脸的其他特征时,可避免对眼睛特征进行干扰,让眼睛特征独立进行构建,提高了眼睛贴图部分的构建准确性。

2、通过柱状投影方式获取每一顶点在纹理贴图上的二维坐标,以获得纹理网格图,计算更简单,提高计算效率。

3、通过判断所述网格是否位于正视图像上,可将正视图像对应的眼睛特征进行准确的构建,避免出现较大误差,提高纹理贴图对眼睛部分的准确构建。同时,侧视图像中眼睛区域较小,在侧视的纹理中对该区域的眼睛特征构建容易造成较大误差,通过网格临近像素值进行填充,避免对正视图像中的眼睛特征造成影响,将纹理贴图成像造成的误差降低。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。

在该计算机程序被处理器执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机存储器可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机存储器例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。

计算机存储器的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读信号介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括模型及图像获取单元、特征分割单元、投影单元以及填充单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,填充单元还可以被描述为“基于所述眼睛图像、缺眼正视图及缺眼侧视图,对所述纹理网格图进行像素填充,获得人脸的纹理贴图”。

作为另一方面,本申请还提供了一种计算机存储器,该计算机存储器可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机存储器承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置执行上述步骤s1-步骤s4的方法。

以上仅为本发明较佳实施例而已,并不用以限制本发明,凡在本发明原则之内所作的任何修改,等同替换和改进等均应包含本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1