CN116993955A - 三维模型的重拓扑方法、装置、设备及存储介质 - Google Patents

三维模型的重拓扑方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116993955A
CN116993955A CN202310797866.9A CN202310797866A CN116993955A CN 116993955 A CN116993955 A CN 116993955A CN 202310797866 A CN202310797866 A CN 202310797866A CN 116993955 A CN116993955 A CN 116993955A
Authority
CN
China
Prior art keywords
triangular
target
dimensional
coordinates
model
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
CN202310797866.9A
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202310797866.9A priority Critical patent/CN116993955A/zh
Publication of CN116993955A publication Critical patent/CN116993955A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Abstract

本申请提供一种三维模型的重拓扑方法、装置、设备及存储介质,涉及三维模型技术领域。该方法包括:根据预设的三维顶点与三角面片的对应关系,分别确定目标三维网格模型上各顶点对应的第一三角面片;其中,所述第一三角面片为源三维网格模型的一三角面片;根据预设的第一三角面片与初始重心坐标的对应关系,确定所述第一三角面片中各所述顶点的初始重心坐标;根据所述第一三角面片中各所述顶点的坐标,以及各所述顶点的坐标对应的初始重心坐标,确定各所述顶点的目标空间坐标;根据各所述顶点的目标空间坐标,修改所述目标三维网格模型中各所述顶点的坐标,得到修改后的目标三维网格模型。相对于现有技术,避免了重拓扑结果的几何形状会与源三角网格模型存在差异的问题。

Description

三维模型的重拓扑方法、装置、设备及存储介质
技术领域
本申请涉及三维模型技术领域,具体而言,涉及一种三维模型的重拓扑方法、装置、设备及存储介质。
背景技术
近年来,三维人脸模型的重拓扑方法已经取得了广泛的发展,并被应用于许多图形学相关的领域中。当前主流的三维人脸模型的重拓扑方案主要基于语义关键点进行。
现有的基于语义关键点进行三维人脸模型的重拓扑方案,通过保持重拓扑结果与源三角网格模型语义关键点坐标的一致性,一定程度上能得到与源三角网格模型在几何形状上较为接近的重拓扑结果。
但是,由于语义关键点的稀疏性,重拓扑结果的几何形状会与源三角网格模型存在差异。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种三维模型的重拓扑方法、装置、设备及存储介质,以解决现有技术中重拓扑结果的几何形状会与源三角网格模型存在差异的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请一实施例提供了一种三维模型的重拓扑方法,所述方法包括:
根据预设的三维顶点与三角面片的对应关系,分别确定目标三维网格模型上各顶点对应的第一三角面片;其中,所述第一三角面片为源三维网格模型的一三角面片;
根据预设的第一三角面片与初始重心坐标的对应关系,确定所述第一三角面片中各所述顶点的初始重心坐标;
根据所述第一三角面片中各所述顶点的坐标,以及各所述顶点的坐标对应的初始重心坐标,确定各所述顶点的目标空间坐标;
根据各所述顶点的目标空间坐标,修改所述目标三维网格模型中各所述顶点的坐标,得到修改后的目标三维网格模型。
第二方面,本申请另一实施例提供了一种三维模型的重拓扑装置,所述装置包括:确定模块和修改模块,其中:
所述确定模块,用于根据预设的三维顶点与三角面片的对应关系,分别确定目标三维网格模型上各顶点对应的第一三角面片;其中,所述第一三角面片为源三维网格模型的一三角面片;根据预设的第一三角面片与初始重心坐标的对应关系,确定所述第一三角面片中各所述顶点的初始重心坐标;根据所述第一三角面片中各所述顶点的坐标,以及各所述顶点的坐标对应的初始重心坐标,确定各所述顶点的目标空间坐标;
所述修改模块,用于根据各所述顶点的目标空间坐标,修改所述目标三维网格模型中各所述顶点的坐标,得到修改后的目标三维网格模型。
第三方面,本申请另一实施例提供了一种三维模型的重拓扑设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当三维模型的重拓扑设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述第一方面任一所述方法的步骤。
第四方面,本申请另一实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一所述方法的步骤。
本申请的有益效果是:采用本申请提供的三维模型的重拓扑方法,通过预设的三维顶点与三角面片的对应关系,可以直接确定目标三维网格模型上各顶点对应的第一三角面片,并根据预设的第一三角面片与初始重心坐标的对应关系,可以确定第一三角面片中各所述顶点的初始重心坐标,随后根据所述第一三角面片中各所述顶点的坐标,以及各所述顶点的坐标对应的初始重心坐标,确定各所述顶点的目标空间坐标,在对目标三维网格模型中的每个顶点坐标进行修改,修改为各顶点的目标中心坐标的方式,实现由源三维网格模型到目标三维网格模型的重拓扑,这样的拓扑方式只需预设三维顶点与三角面片的对应关系和第一三角面片与初始重心坐标的对应关系,就可以实现自适应地利用中心坐标,对三维网格模型表面的任意位置准确的描述能力,提高三维网格模型重拓扑的精度,从而显著提升重拓扑结果与源三维网格模型之间的相似度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请一实施例提供的三维模型的重拓扑方法的流程示意图;
图2为本申请另一实施例提供的三维模型的重拓扑方法的流程示意图;
图3为本申请一实施例提供的三维模型的重拓扑方法的效果对比图;
图4为本申请一实施例提供的三维模型的重拓扑流程的流程示意图;
图5为本申请另一实施例提供的三维模型的重拓扑流程的流程示意图
图6为本申请一实施例提供的三维模型的重拓扑装置的结构示意图;
图7为本申请另一实施例提供的三维模型的重拓扑装置的结构示意图;
图8为本申请一实施例提供的三维模型的重拓扑设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
为方便对本申请实施例的理解,下述对本申请设计的部分名词进行解释说明:
三维人脸模型:三维人脸模型包含一个三角网格模型表示人脸的几何信息,以及一张或多张纹理贴图表示人脸的颜色和材质信息。
三角网格模型:三角网格模型是一种由多个三角形网格组成的几何模型,其中每个三角形都由三个顶点和三条边组成。三角网格模型中的基本单元是三角形。
纹理贴图:纹理贴图是一种建立二维图像与三维模型表面之间映射的技术,它通过给三维模型的每个顶点分配一个纹理贴图上的二维贴图坐标,实现将三维模型的每个面映射到二维图像上的过程。
重拓扑:重拓扑是指在三维几何建模中,在保持一个几何对象的形状基本不变的前提下,对几何对象的面片拓扑结构进行重构,从而改变其面片拓扑属性,包括顶点和面片的数量、表面布线结构等。
重心坐标:重心坐标是一种在三角网格上表示点位置的方法,用于确定一个点在三角形内的位置。它由三个权重值组成,每个权重值表示该点与三角形三个顶点的关系。将三角形三个顶点坐标与重心坐标的权重值相乘并求和,就得到了该点的位置坐标。
光栅化:光栅化是一种建立二维像素和三角网格模型之间映射的技术,通过将三角网格模型映射到二维平面上,并对二维图像的每个像素,检查其对应的三角形索引以及重心坐标,从而计算出每个像素到三角网格模型的映射关系。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
如下结合多个具体的应用示例,对本申请实施例所提供的一种三维模型的重拓扑方法进行解释说明。图1为本申请一实施例提供的一种三维模型的重拓扑方法的流程示意图,如图1所示,该方法包括:
S101:根据预设的三维顶点与三角面片的对应关系,分别确定目标三维网格模型上各顶点对应的第一三角面片。
其中,第一三角面片为源三维网格模型的一三角面片。
本申请实施例中虽以针对三维人脸模型的重拓扑为例进行说明,但是应当理解,本申请提供的三维模型的重拓扑可以应用于任何三维模型的重拓扑场景下,例如三维人脸模型的重拓扑、三维汽车模型的重拓扑、三维房屋模型的重拓扑等任意需要对三维模型进行重拓扑的场景,具体可以根据用户需要灵活对其应用场景进行调整,并不以上述实施例给出的为限。
在本申请的实施例中,例如预设的三维顶点与三角面片的对应关系记为{fi},对于给定任意待处理的源三维网格模型S′A,根据{fi},确定目标三维网格模型中每个顶点vi对应S′A中的第一三角面片。
确定方式例如可以为:{fi}中例如包括目标三维网格模型中每个顶点vi对应S′A中的第一三角面片的面片索引信息,在给定任意待处理的S′A之后,可以直接根据/>中每个顶点vi以及{fi},确定/>中每个顶点vi对应的面片索引fi,并根据fi在S′A中确定该索引信息对应的第一三角面片,并确定fi对应的第一三角面片的三个顶点坐标v1,v2,v3
S102:根据预设的第一三角面片与初始中心坐标的对应关系,确定第一三角面片中各顶点的初始重心坐标。
在本申请的实施例中,例如预设的第一三角面片与初始中心坐标的对应关系记为{Wi},在确定中每个顶点vi对应的fi后,可以直接根据{Wi}确定fi对应的第一三角面片对应的初始重心坐标wi-1,wi-2,wi-3
S103:根据第一三角面片中各顶点的坐标,以及各顶点的坐标对应的初始重心坐标,确定各顶点的目标空间坐标。
在可选的的实施例中,得到定fi对应的第一三角面片对应的初始重心坐标wi-1,wi-2,wi-3之后,再根据每个顶点vi对应S′A中的fi的顶点坐标v1,v2,v3,确定各顶点的目标空间坐标,确定目标空间坐标/>的方式例如可以为:/>
在本申请的实施例中,V是空间坐标,表示各所述顶点的实际空间位置(x,y,z);W是重心坐标,表示各所述顶点与第一三角面片的三个顶点的相关性权重(w1,w2,w3);在重拓扑时,确定所述顶点的空间坐标的方式是:将第一三角面片三个顶点的空间坐标,用目标重心坐标作为权重,对各顶点的实际空间位置进行加权求和,得到各顶点的目标空间坐标。
S104:根据各顶点的目标空间坐标,修改目标三维网格模型中各顶点的坐标,得到修改后的目标三维网格模型。
示例的,将的第i个顶点vi的坐标修改为/>对所有/>的顶点均进行修改后,得到修改后的/>此时,修改后的/>即为S′A的三角网格模型重拓扑结果。
采用本申请提供的三维模型的重拓扑方法,通过预设的三维顶点与三角面片的对应关系,可以直接确定目标三维网格模型上各顶点对应的第一三角面片,并根据预设的第一三角面片与初始重心坐标的对应关系,可以确定第一三角面片中各顶点的初始重心坐标,随后根据第一三角面片中各顶点的坐标,以及各顶点的坐标对应的初始重心坐标,确定各顶点的目标空间坐标,在对目标三维网格模型中的每个顶点坐标进行修改,修改为各顶点的目标中心坐标的方式,实现由源三维网格模型到目标三维网格模型的重拓扑,这样的拓扑方式只需预设三维顶点与三角面片的对应关系和第一三角面片与初始重心坐标的对应关系,就可以实现自适应地利用中心坐标,对三维网格模型表面的任意位置准确的描述能力,提高三维网格模型重拓扑的精度,从而显著提升重拓扑结果与源三维网格模型之间的相似度。
在本申请的实施例中,建立预设的三维顶点与三角面片的对应关系{fi}的方式例如可以为:分别计算源三维网格模型的多个三角面片与第一三维网格模型的各顶点之间的第一距离;根据第一距离,在源三维网格模型的多个三角面片中,分别确定各顶点对应的第二三角面片;根据各顶点对应的第二三角面片,建立预设的三维顶点与三角面片的对应关系。
示例的,给定的一个表示源拓扑的三角网格模型SA和表示目标拓扑的三角网格模型SB,其中SA在几何表面上紧密对齐;在一些可能的实施例中,对齐方式例如可以为,根据源三维网格模型的顶点位置,对第一三维网格模型的顶点位置进行调整;以使得调整后的第一三维网格模型的顶点与源三维网格模型的顶点位置对齐。
其中,调整方式例如可以为通过用户手动调整的方式,对SB的顶点位置进行修正,以使得调整后的与SA在几何表面上紧密对齐;或者,通过对齐算法(例如,点云匹配算法N-ICP)对SB的顶点位置进行修正,以使得调整后的/>与SA在几何表面上紧密对齐;具体对齐方式可以根据用户需要灵活调整,并不以上述实施例给出的为限。
在确定SA之间在几何表面上对齐之后,对于/>上的每一个顶点vi,计算SA每个三级面片与vi之间的空间距离,并确定与vi距离最近的三角面片为该vi对应的第二三角面片,获取各第二三角面片的索引fi后,保存/>中所有顶点vi与其对应的fi之间的对应关系,从而得到{fi}。
这样的设置方式由于SA之间在几何表面上是对齐,因此,在后续确定顶点vi与其对应的fi之间的对应关系时,得到的对应关系的准确性更好,后续在确定其他/>上各顶点与S′A中各三角面片之间的对应关系时,无需对/>与S′A进行对齐,而是可以直接使用{fi},就可以得到准确的对应结果,大大提高了确定三维顶点与三角面片之间的对应关系的效率。
预设的第一三角面片与初始中心坐标的对应关系的建立方式例如可以为:计算各顶点在对应的第二三角面片中投影的重心坐标;根据计算结果,建立预设的第一三角面片与初始中心坐标的对应关系。
在一些可能的实施例中,确定重心坐标的方式例如可以为:根据第二三角面片的三个顶点,确定第二三角面片的三条边的向量;根据三条边的向量,计算目标顶点在第二三角面片投影的重心坐标。
示例的,仍以上述实施例给定的一个表示源拓扑的三角网格模型SA和表示目标拓扑的三角网格模型SB为例进行说明,根据SA的三角面片信息,确定SA中第fi个三角面片的三个顶点的三维空间坐标va1,va2,va3。随后根据第fi个三角面片的三个顶点的三维空间坐标,计算三角形三条边的向量:e1=va3-va2,e2=va1-va3,e3=va2-va1
在此基础上,计算vi在第fi个三角面片投影的重心坐标Wi={wi-1,wi-2,wi-3},具体计算过程如下:
在本申请的实施例中,一般需要源三维网格模型与第一三维网格模型之间的模型类型相同或类似时,才可以在对源三维网格模型进行重拓扑时,使用根据第一三维网格模型和目标三维网格模型,确定的预设的三维顶点与三角面片的对应关系,和预设的第一三角面片与初始重心坐标的对应关系。
例如,若源三维网格模型与第一三维网格模型的模型类型均为三维人脸模型,则在对源对源三维网格模型进行重拓扑时,可以使用根据第一三维网格模型和目标三维网格模型,确定的预设的三维顶点与三角面片的对应关系,和预设的第一三角面片与初始重心坐标的对应关系。
若源三维网格模型的模型类型为三维椅子模型,第一三维网格模型的模型类型均为三维桌子模型,也即源三维网格模型与第一三维网格模型之间的模型类型不同,此时在对源对源三维网格模型进行重拓扑时,不可以使用根据第一三维网格模型和目标三维网格模型,确定的预设的三维顶点与三角面片的对应关系,和预设的第一三角面片与初始重心坐标的对应关系。
这样的设置方式使得对于相同模型类型的三维模型,在确定了预设的三维顶点与三角面片的对应关系,和预设的第一三角面片与初始重心坐标的对应关系之后,对于该模型类型下的三维模型进行重拓扑时,无需再重拓扑之前对目标三维网格模型和源三维网格模型进行对齐,而是直接使用该模型类型对应的预设的三维顶点与三角面片的对应关系,和预设的第一三角面片与初始重心坐标的对应关系就可以实现针对目标三维网格模型的重拓扑。
并且,不同模型类型的三维模型,具有该模型类型下对应的预设的三维顶点与三角面片的对应关系,和预设的第一三角面片与初始重心坐标的对应关系,使得每种模型类型均有自己对应的预设对应关系,也即本申请的适用性广,可推广性强。
可选地,在上述实施例的基础上,本申请实施例还可提供一种三维模型的重拓扑方法,如下结合附图对上述方法的实现过程进行示例说明。图2为本申请另一实施例提供的一种三维模型的重拓扑方法的流程示意图,如图2所示,该方法还可包括:
S111:根据预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系,分别确定目标纹理贴图中各像素点在源纹理贴图中的像素位置。
目标纹理贴图为目标三维网格模型对应的纹理贴图,源纹理贴图为源三维网格模型对应的纹理贴图。
其中,记预设的目标纹理贴图的像素位置与源纹理贴图的像素位置之间的对应关系为也即,对于任意待处理的源拓扑下三角网格模型S′A对应的源纹理贴图Tex′A,根据预设/>就可以确定/>的目标纹理贴图中各像素点pixj在S′A的源纹理贴图中对应的像素位置的坐标/>
S112:根据源纹理贴图中各像素位置对应的颜色,确定目标纹理贴图中各像素点的目标颜色。
将源纹理贴图Tex′A对应像素位置的坐标为的颜色赋给/>的目标纹理贴图TexB中的像素点pixj处。
S113:根据目标纹理贴图中各像素点的目标颜色,调整目标纹理贴图中每个像素点的颜色,得到修改后的目标纹理贴图。
的目标纹理贴图TexB中的所有像素点都进行颜色赋值后,得到的修改后的目标纹理贴图Tex′B,即为根据源纹理贴图Tex′A确定的重拓扑结果。
图3为本申请一实施例提供的三维模型的重拓扑方法的效果对比图,如图3所示,图3中包括:输入的源三维人脸模型和重拓扑后的目标三维人脸模型,输入的源三维人脸模型中的第一列为源三维网格模型S′A,输入的源三维人脸模型中的第二列为源拓扑下三角网格模型S′A对应的源纹理贴图Tex′A;输入的源三维人脸模型经过利用已计算参数进行重拓扑后,得到重拓扑后的目标三维人脸模型,其中,已计算的参数包括:{fi},{Wi},以及重拓扑后的目标三维人脸模型中的第一列为修改后的目标三维网格模型,重拓扑后的目标三维人脸模型的第二列为修改后的目标纹理贴图。
如图3所示,可以直观地看出采用本申请提供的三维模型的重拓扑方法,使得本申请不但可以对三维模型进行重拓扑,并且还可以对三维模型对应的纹理贴图进行转换,从而生成重拓扑后的目标三维网格模型对应的修改后的目标纹理贴图,使得重拓扑后的三维模型可以直接使用重拓扑后的目标纹理贴图,也即对三维模型进行重拓扑后,可以直接基于修改后的目标纹理贴图,对三维模型进行渲染,解决了现有技术中由于重拓扑后的三维模型的几何形状与源三维网格模型存在差异,导致源纹理贴图无法正常使用的问题,提高了模型处理的效率,减少了模型处理的工作量,实现了对源纹理贴图的有效复用。
在一些可能的实施例中,预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系的建立方式例如可以为:根据第一三维网格模型的纹理贴图的坐标,计算纹理贴图中各像素对应的第一三维网格模型的表面点的目标坐标;确定源三维网格模型中各三角面片与各像素点的目标坐标之间的第二距离;根据第二距离,在源三维网格模型的多个三角面片中,分别确定各像素点对应的第三三角面片;根据各像素点对应的第三三角面片,和各第三三角面片的源纹理贴图,建立预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系。
示例的,建立预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系如下所示:
利用光栅化技术(例如使用pytorch3d库),根据的目标纹理贴图的纹理贴图坐标,计算/>的目标纹理贴图TexB中,每个像素点pixj在/>中对应的的面片索引fj和重心坐标w′j-1,w′j-2,w′j-3;根据得到的面片索引fj以及/>的面片信息,确定/>中fj包含的三个顶点坐标v′b1,v′b2,v′b3,并计算出/>的目标纹理贴图Texb中各像素点pixj对应/>的表面点的空间坐标为pj,其中:pj=w′j-1v′b1+w′j-2v′b2+w′j-3v′b3
随后,根据计算得到的的目标纹理贴图TexB中各像素点pixj对应/>的表面点空间坐标pj,计算SA每个三角面片与pj之间的空间距离,并确定距离最近的三角面片的索引为f′i
根据SA的面片信息,确定SA中第f′i个三角面片的三个顶点的三维空间坐标v′a1,v′a2,v′a3。并根据三个顶点的三维空间坐标,计算三角面片三条边的向量e′1、e′2和e′3,计算方式如下:
e′1=v′a3-v′a2,e′2=v′a1-v′a3,e′3=v′a2-v′a1
根据三角面片三条边的向量e′1、e′2和e′3,计算pj在第f′i个三角面片内投影的重心坐标w′i-1,w′i-2,w′i-3
根据SA的面片信息,确定SA中第f′i个三角面片的三个顶点在源纹理贴图中的坐标T′a1,T′a2,T′a3,根据步骤8的重心坐标w′i-1,w′i-2,w′i-3,计算的纹理贴图TexB中像素pixj对应SA的纹理贴图的坐标/>
在可选的实施例中,建立预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系还包括:计算各像素点在对应的第三三角面片中投影的重心坐标;根据各像素点的重心坐标,确定各像素点在对应的源纹理贴图中的像素位置,以建立预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系。
图4为本申请一实施例提供的三维模型的重拓扑流程的流程示意图,如图4所示,下述以一个完整的实施例,对本申请提供的三维模型的重拓扑流程中,各预设的对应关系的计算方式进行解释说明,预设的对应关系的计算包括:预设的三维顶点与三角面片的对应关系{fi}的计算;预设的第一三角面片与初始中心坐标的对应关系{Wi}的计算;预设的目标纹理贴图的像素位置与源纹理贴图的像素位置之间的对应关系的计算;其中,{fi}和{Wi}的计算所包括的步骤如下:
首先,对于给定的表示第一三维网格模型SA和表示目标三维网格网格模型进行调整,使得调整后的SA与/>在几何表面上紧密对齐。
给定一对表面紧密对齐的SA以及/>对应的目标纹理贴图TexB
随后,对于上的每一个顶点vi,寻找SA上与其距离最近的面片索引fi,并计算vi在该面片的重心坐标Wi,也即,执行下述步骤。
计算每个顶点在SA上最近面片索引fi、重心坐标Wi
根据中各顶点对应的fi和Wi,得到{fi}和{Wi},并执行下述步骤。
保存参数{fi}和{Wi}。
的计算所包括的步骤如下:
对于纹理贴图TexB的每一个像素pixj,通过光栅化技术,计算其对应在/>表面的空间坐标pj,也即,执行下述步骤。
利用光栅化,计算TexB每个像素pixj的表面的空间坐标pj
根据上述步骤的计算结果pixj,寻找SA上与pixj距离最近的面片索引f′i,并计算pixj在该面片的重心坐标W′i,也即,执行下述步骤。
计算pixj在SA上最近面片索引f′i、重心坐标W′i
根据上述步骤计算的重心坐标Wi和面片索引f′i确定的三个顶点的贴图坐标,计算pixj对应在SA上的贴图坐标也即,执行下述步骤。
计算pixj对应的SA上的贴图坐标
纹理贴图TexB的每一个像素pixj对应的SA上的贴图坐标/>进行整理后,得到
保存参数
图5为本申请另一实施例提供的三维模型的重拓扑流程的流程示意图,如图5所示,下述以一个完整的实施例,对本申请提供的三维模型的重拓扑流程中,利用已经确定的预设的对应关系进行重拓扑的流程进行解释说明,其包括的步骤如下:
加载已计算的参数。
其中,已计算的参数包括:{fi},{Wi},以及
输入任意待处理的源三维网格模型S′A及对应的源纹理贴图Tex′A
随后,重拓扑过程中所包括的内容包括对目标三维网格模型的重拓扑,以及对目标三维网格模型对应的目标纹理贴图的重拓扑,其中,对目标三维网格模型的重拓扑所包括的内容如下:
根据{fi}得到目标三维网格模型每个顶点对应的S′A的三角面片索引。
随后,根据上述步骤S133得到的三角面片索引,得到S′A中的顶点坐标,也即执行下述步骤。
根据S′A,得到三角面片的顶点坐标。
随后,根据上述步骤S134得到的顶点坐标和{Wi},计算坐标映射结果,也即,执行下述步骤。
根据{Wi},计算坐标映射结果。
随后,修改目标三维网格每个顶点的空间坐标为上述步骤计算的坐标映射结果,也即执行下述步骤。
修改目标三维网格模型的顶点的空间坐标为坐标映射结果。
随后,保存上述步骤修改顶点空间坐标后的目标三维网格模型S′B也即执行下述步骤。
保存顶点空间坐标修改后的目标三维网格模型S′B
对目标三维网格模型对应的纹理贴图的重拓扑所包括的内容如下:
根据得到目标纹理贴图逐像素对应的Tex′A的像素坐标.
随后,根据上述步骤得到的对应在Tex′A上的像素坐标,取Tex′A的像素颜色,也即执行下述步骤。
根据素坐标,取Tex′A的像素颜色。
将所取的像素颜色赋值给目标纹理贴图的对应像素。
随后,保存步骤赋值像素颜色后的目标纹理贴图Tex′B,也即,执行下述步骤。
保存赋值像素颜色后的目标纹理贴图Tex′B
采用本申请提供的三维模型的重拓扑方法,通过预设的三维顶点与三角面片的对应关系,可以直接确定目标三维网格模型上各顶点对应的第一三角面片,并根据预设的第一三角面片与初始重心坐标的对应关系,可以确定第一三角面片中各顶点的初始重心坐标,随后根据第一三角面片中各顶点的坐标,以及各顶点的坐标对应的初始重心坐标,确定各顶点的目标空间坐标,在对目标三维网格模型中的每个顶点坐标进行修改,修改为各顶点的目标中心坐标的方式,实现由源三维网格模型到目标三维网格模型的重拓扑,这样的拓扑方式只需预设三维顶点与三角面片的对应关系和第一三角面片与初始重心坐标的对应关系,就可以实现自适应地利用中心坐标,对三维网格模型表面的任意位置准确的描述能力,提高三维网格模型重拓扑的精度,从而显著提升重拓扑结果与源三维网格模型之间的相似度;此外,本申请不但可以对三维模型进行重拓扑,并且还可以对三维模型对应的纹理贴图进行转换,从而生成重拓扑后的目标三维网格模型对应的修改后的目标纹理贴图,使得对三维模型进行重拓扑后,可以直接基于修改后的目标纹理贴图,对三维模型进行渲染,提高了模型处理的效率,减少了模型处理的工作量;也即,采用本申请提供的方法,可以充分、自适应地利用重心坐标对三角网格模型表面任意位置的准确描述能力,构建高精度的三维网格模型重拓扑方案,显著提升三维网格模型重拓扑结果的几何相似度,且结合光栅化技术,同时实现对源三维网格模型的纹理贴图的有效复用。
下述结合附图对本申请所提供的三维模型的重拓扑装置进行解释说明,该三维模型的重拓扑装置可执行上述图1-图5任一三维模型的重拓扑方法,其具体实现以及有益效果参照上述,如下不再赘述。
图6为本申请一实施例提供的三维模型的重拓扑装置的结构示意图,如图6所示,该装置包括:确定模块201和修改模块202,其中:
确定模块201,用于根据预设的三维顶点与三角面片的对应关系,分别确定目标三维网格模型上各顶点对应的第一三角面片;其中,第一三角面片为源三维网格模型的一三角面片;根据预设的第一三角面片与初始重心坐标的对应关系,确定第一三角面片中各顶点的初始重心坐标;根据第一三角面片中各顶点的坐标,以及各顶点的坐标对应的初始重心坐标,确定各顶点的目标空间坐标;
修改模块202,用于根据各顶点的目标空间坐标,修改目标三维网格模型中各顶点的坐标,得到修改后的目标三维网格模型。
可选地,在上述实施例的基础上,本申请实施例还可提供一种三维模型的重拓扑装置,如下结合附图对上述图6给出的装置的实现过程进行示例说明。图7为本申请另一实施例提供的三维模型的重拓扑装置的结构示意图,如图7所示,该装置还包括:计算模块203,用于分别计算源三维网格模型的多个三角面片与第一三维网格模型的各顶点之间的第一距离;
确定模块201,具体用于根据第一距离,在源三维网格模型的多个三角面片中,分别确定各顶点对应的第二三角面片;根据各顶点对应的第二三角面片,建立预设的三维顶点与三角面片的对应关系。
可选地,计算模块203,具体用于计算各顶点在对应的第二三角面片中投影的重心坐标;
确定模块201,具体用于根据计算结果,建立预设的第一三角面片与初始中心坐标的对应关系。
可选地,确定模块201,具体用于根据第二三角面片的三个顶点,确定第二三角面片的三条边的向量;
计算模块203,具体用于根据三条边的向量,计算目标顶点在第二三角面片投影的重心坐标。
可选地,该装置还包括:调整模块204,用于根据源三维网格模型的顶点位置,对第一三维网格模型的顶点位置进行调整;以使得调整后的第一三维网格模型的顶点与源三维网格模型的顶点位置对齐。
可选地,确定模块201,具体用于根据预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系,分别确定目标纹理贴图中各像素点在源纹理贴图中的像素位置;其中,目标纹理贴图为目标三维网格模型对应的纹理贴图,源纹理贴图为源三维网格模型对应的纹理贴图;根据源纹理贴图中各像素位置对应的颜色,确定目标纹理贴图中各像素点的目标颜色;
调整模块204,具体用于根据目标纹理贴图中各像素点的目标颜色,调整目标纹理贴图中每个像素点的颜色,得到修改后的目标纹理贴图。
可选地,计算模块203,具体用于根据第一三维网格模型的纹理贴图的坐标,计算纹理贴图中各像素对应的第一三维网格模型的表面点的目标坐标;
确定模块201,具体用于确定源三维网格模型中各三角面片与各像素点的目标坐标之间的第二距离;根据第二距离,在源三维网格模型的多个三角面片中,分别确定各像素点对应的第三三角面片;根据各像素点对应的第三三角面片,和各第三三角面片的源纹理贴图,建立预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系。
可选地,计算模块203,具体用于计算各像素点在对应的第三三角面片中投影的重心坐标;
确定模块201,具体用于根据各像素点的重心坐标,确定各像素点在对应的源纹理贴图中的像素位置,以建立预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图8为本申请一实施例提供的三维模型的重拓扑设备的结构示意图,该三维模型的重拓扑设备可以集成于终端设备或者终端设备的芯片。
如图8所示,该三维模型的重拓扑设备包括:处理器501、总线502和存储介质503。
处理器501用于存储程序,处理器501调用存储介质503存储的程序,以执行上述图1-图5对应的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种程序产品,例如存储介质,该存储介质上存储有计算机程序,包括程序,该程序在被处理器运行时执行上述方法对应的实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (11)

1.一种三维模型的重拓扑方法,其特征在于,所述方法包括:
根据预设的三维顶点与三角面片的对应关系,分别确定目标三维网格模型上各顶点对应的第一三角面片;其中,所述第一三角面片为源三维网格模型的一三角面片;
根据预设的第一三角面片与初始重心坐标的对应关系,确定所述第一三角面片中各所述顶点的初始重心坐标;
根据所述第一三角面片中各所述顶点的坐标,以及各所述顶点的坐标对应的初始重心坐标,确定各所述顶点的目标空间坐标;
根据各所述顶点的目标空间坐标,修改所述目标三维网格模型中各所述顶点的坐标,得到修改后的目标三维网格模型。
2.如权利要求1所述的方法,其特征在于,所述根据预设的三维顶点与三角面片的对应关系,分别确定目标三维网格模型上各顶点对应的第一三角面片之前,所述方法还包括:
分别计算源三维网格模型的多个三角面片与第一三维网格模型的各顶点之间的第一距离;
根据所述第一距离,在所述源三维网格模型的多个三角面片中,分别确定各所述顶点对应的第二三角面片;
根据各所述顶点对应的第二三角面片,建立预设的三维顶点与三角面片的对应关系。
3.如权利要求2所述的方法,其特征在于,所述根据预设的第一三角面片与初始中心坐标的对应关系,确定所述第一三角面片中各所述顶点的初始重心坐标之前,所述方法还包括:
计算各所述顶点在对应的第二三角面片中投影的重心坐标;
根据计算结果,建立预设的第一三角面片与初始中心坐标的对应关系。
4.如权利要求3所述的方法,其特征在于,所述计算各所述顶点在对应的第二三角面片中投影的重心坐标,包括:
根据所述第二三角面片的三个顶点,确定所述第二三角面片的三条边的向量;
根据所述三条边的向量,计算所述目标顶点在所述第二三角面片投影的重心坐标。
5.如权利要求3所述的方法,其特征在于,所述计算各所述顶点在对应的第二三角面片中投影的重心坐标之前,所述方法还包括:
根据所述源三维网格模型的顶点位置,对所述第一三维网格模型的顶点位置进行调整;以使得调整后的所述第一三维网格模型的顶点与所述源三维网格模型的顶点位置对齐。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系,分别确定所述目标纹理贴图中各像素点在所述源纹理贴图中的像素位置;其中,所述目标纹理贴图为所述目标三维网格模型对应的纹理贴图,所述源纹理贴图为所述源三维网格模型对应的纹理贴图;
根据所述源纹理贴图中各所述像素位置对应的颜色,确定所述目标纹理贴图中各所述像素点的目标颜色;
根据所述目标纹理贴图中各所述像素点的目标颜色,调整所述目标纹理贴图中每个像素点的颜色,得到修改后的目标纹理贴图。
7.如权利要求6所述的方法,其特征在于,所述根据预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系,分别确定所述目标纹理贴图中各像素点的像素位置之前,所述方法还包括:
根据第一三维网格模型的纹理贴图的坐标,计算所述纹理贴图中各像素对应的第一三维网格模型的表面点的目标坐标;
确定源三维网格模型中各三角面片与所述各像素点的目标坐标之间的第二距离;
根据所述第二距离,在所述源三维网格模型的多个三角面片中,分别确定所述各像素点对应的第三三角面片;
根据各所述像素点对应的第三三角面片,和各所述第三三角面片的源纹理贴图,建立预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系。
8.如权利要求7所述的方法,其特征在于,所述根据各所述像素点对应的第三三角面片,和各所述第三三角面片的源纹理贴图信息,建立预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系,包括:
计算各所述像素点在对应的第三三角面片中投影的重心坐标;
根据各所述像素点的重心坐标,确定各所述像素点在对应的源纹理贴图中的像素位置,以建立预设的目标纹理贴图像素位置与源纹理贴图像素位置之间的对应关系。
9.一种三维模型的重拓扑装置,其特征在于,所述装置包括:确定模块和修改模块,其中:
所述确定模块,用于根据预设的三维顶点与三角面片的对应关系,分别确定目标三维网格模型上各顶点对应的第一三角面片;其中,所述第一三角面片为源三维网格模型的一三角面片;根据预设的第一三角面片与初始重心坐标的对应关系,确定所述第一三角面片中各所述顶点的初始重心坐标;根据所述第一三角面片中各所述顶点的坐标,以及各所述顶点的坐标对应的初始重心坐标,确定各所述顶点的目标空间坐标;
所述修改模块,用于根据各所述顶点的目标空间坐标,修改所述目标三维网格模型中各所述顶点的坐标,得到修改后的目标三维网格模型。
10.一种三维模型的重拓扑设备,其特征在于,所述设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述三维模型的重拓扑设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行上述权利要求1-8任一项所述的方法。
11.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述权利要求1-8任一项所述的方法。
CN202310797866.9A 2023-06-30 2023-06-30 三维模型的重拓扑方法、装置、设备及存储介质 Pending CN116993955A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310797866.9A CN116993955A (zh) 2023-06-30 2023-06-30 三维模型的重拓扑方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310797866.9A CN116993955A (zh) 2023-06-30 2023-06-30 三维模型的重拓扑方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116993955A true CN116993955A (zh) 2023-11-03

Family

ID=88524049

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310797866.9A Pending CN116993955A (zh) 2023-06-30 2023-06-30 三维模型的重拓扑方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116993955A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117315375A (zh) * 2023-11-20 2023-12-29 腾讯科技(深圳)有限公司 虚拟部件分类方法、装置、电子设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117315375A (zh) * 2023-11-20 2023-12-29 腾讯科技(深圳)有限公司 虚拟部件分类方法、装置、电子设备及可读存储介质
CN117315375B (zh) * 2023-11-20 2024-03-01 腾讯科技(深圳)有限公司 虚拟部件分类方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN115082639B (zh) 图像生成方法、装置、电子设备和存储介质
CN115409933B (zh) 多风格纹理贴图生成方法及其装置
CN114820905B (zh) 虚拟形象生成方法、装置、电子设备及可读存储介质
CN106960470B (zh) 三维点云曲面重建方法及装置
US9965893B2 (en) Curvature-driven normal interpolation for shading applications
CN113628317A (zh) 渲染方法、设备以及系统
CN113313832B (zh) 三维模型的语义生成方法、装置、存储介质与电子设备
CN115375823B (zh) 三维虚拟服饰生成方法、装置、设备及存储介质
CN116993955A (zh) 三维模型的重拓扑方法、装置、设备及存储介质
CN114241151A (zh) 三维模型简化方法、装置、计算机设备和计算机存储介质
CN115018992A (zh) 发型模型的生成方法、装置、电子设备及存储介质
CN114663597B (zh) 基于归一化扩展极线几何的实时结构光重建方法及装置
CN114202597B (zh) 图像处理方法及装置、设备、介质和产品
CN109697748B (zh) 模型压缩处理方法、模型贴图处理方法装置、存储介质
WO2018140223A1 (en) Stereo rendering
CN114998433A (zh) 位姿计算方法、装置、存储介质以及电子设备
EP3422709A1 (en) Stereo rendering
CN114742940A (zh) 构建虚拟形象纹理图的方法、装置、设备及存储介质
CN116310060B (zh) 一种渲染数据的方法、装置、设备及存储介质
US10754498B2 (en) Hybrid image rendering system
CN115375847B (zh) 材质恢复方法、三维模型的生成方法和模型的训练方法
CN110838167A (zh) 模型的渲染方法、装置和存储介质
CN113592994B (zh) 用于纹理贴图的方法、装置和存储介质
CN108921908B (zh) 表面光场的采集方法、装置及电子设备
CN111754632A (zh) 业务服务的处理方法、装置、设备及存储介质

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