CN115830209B - 纹理映射方法、系统、设备及存储介质 - Google Patents
纹理映射方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN115830209B CN115830209B CN202211193953.5A CN202211193953A CN115830209B CN 115830209 B CN115830209 B CN 115830209B CN 202211193953 A CN202211193953 A CN 202211193953A CN 115830209 B CN115830209 B CN 115830209B
- Authority
- CN
- China
- Prior art keywords
- plane
- mapping
- texture
- patch
- patches
- 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.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种纹理映射方法、系统、设备及存储介质。纹理映射方法包括:获取网格模型和图像数据;其中,网格模型包括多个区域,每个区域分别包括多个面片组,每个面片组分别包括一个初始面片和设于初始面片外周的多个邻域面片,图像数据包括多个纹理;从一个区域的多个面片组中筛选出初始面片和邻域面片均位于同一平面的面片组;将多个位于同一平面的面片组合并,得到映射平面;获取映射平面的平面信息;根据平面信息,从图像数据中获取匹配的纹理,并在纹理与映射平面之间建立映射关系。
Description
技术领域
本发明涉及计算机视觉技术领域,更具体地,涉及一种纹理映射方法、纹理映射系统、终端设备及计算机可读存储介质。
背景技术
随着对三维场景进行重建的计算机技术逐渐发展,在游戏娱乐、影视制作以及城市级别的三维场景纹理重建等领域中发挥了重要的作用。同时,随着计算机视觉、图形学的迅速发展和数码摄影技术的不断提高,对三维场景重建技术的纹理的精度要求也越来越高,对于纹理映射的准确性和真实感的需求也进一步提升。但是,在实际的纹理映射过程中,会出现纹理边界处产生细缝以及纹理模糊等问题,大大影响了纹理映射的准确性,同时降低了纹理的质量。
发明内容
本公开实施例的一个目的是提供一种关于纹理映射方法的新的技术方案。
根据本公开的第一方面,提供了一种纹理映射的方法,用于将图像数据映射至网格模型。纹理映射方法包括:获取网格模型和图像数据;其中,网格模型包括多个区域,每个区域分别包括多个面片组,每个面片组分别包括一个初始面片和设于初始面片外周的多个邻域面片,图像数据包括多个纹理;从一个区域的多个面片组中筛选出初始面片和邻域面片均位于同一平面的面片组;将多个位于同一平面的面片组合并,得到映射平面;获取映射平面的平面信息;根据平面信息,从图像数据中获取匹配的纹理,并在纹理与映射平面之间建立映射关系。
可选地,同一个面片组的多个邻域面片依次环设于初始面片的外周。
可选地,从一个区域的多个面片组中筛选出初始面片和邻域面片均位于同一平面的面片组包括:获取初始面片和多个邻域面片上的多个测试点;根据多个测试点,拟合得到一个对照平面;分别判断多个测试点是否属于对照平面,若多个测试点均属于对照平面,则面片组位于同一平面。
可选地,在每个筛选出的面片组中,将初始面片和邻域面片合并为一个面片。
可选地,将多个位于同一平面的面片组合并,得到映射平面,包括:根据多个位于同一区域的面片组的距离与法线夹角的信息,判断多个面片组是否位于同一平面;将多个位于同一平面的面片组合并,得到映射平面。
可选地,根据平面信息,从图像数据中获取匹配的纹理,并在纹理与映射平面之间建立映射关系,包括:根据已获取的纹理,生成纹理块;合并纹理块,在合并后的纹理块与映射平面之间建立映射关系。
可选地,在合并后的纹理块与映射平面之间建立映射关系,还包括:根据映射平面的平面信息,选择纹理块与映射平面之间的映射角度。
根据本公开的第二方面,还提供了一种纹理映射系统,纹理映射系统包括:数据获取模块,用于获取网格模型和图像数据;其中,网格模型包括多个区域,每个区域分别包括多个面片组,每个面片组分别包括一个初始面片和设于初始面片外周的多个邻域面片,图像数据包括多个纹理;第一处理模块,用于从一个区域的多个面片组中筛选出初始面片和邻域面片均位于同一平面的面片组;第二处理模块,用于将多个位于同一平面的面片组合并,得到映射平面;第三处理模块,用于获取映射平面的平面信息;纹理映射模块,用于根据平面信息,从图像数据中获取匹配的纹理,并在纹理与映射平面之间建立映射关系。
根据本公开的第三方面,还提供了一种终端设备,包括处理器和存储器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现上述如第一方面中任一项所述的纹理映射方法的步骤。
根据本公开的第四方面,还提供了一种计算机可读存储介质,其特征在于,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现上述如第一方面中任一项所述的纹理映射方法的步骤。
本申请实施例提供的纹理映射方法,通过获取网格模型和图像数据,从一个区域的多个面片组中筛选出初始面片和邻域面片均位于同一平面的面片组,再将多个位于同一平面的面片组合并,得到映射平面,根据获取映射平面的平面信息,从图像数据中获取匹配的纹理,并在纹理与映射平面之间建立映射关系。通过这种方式,通过将同一平面上的面片合并成一个映射平面,再根据映射平面的平面信息来辅助后续纹理映射的流程,减少了纹理边界生成的数量,同时提高了映射后纹理的清晰度。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是用于实现一个实施例的终端设备的硬件配置结构图;
图2是根据一个实施例的纹理映射方法的流程示意图;
图3是根据一个实施例的相机投影方向的示意图;
图4是根据再一个实施例的相机投影方向的示意图;
图5是根据再一个实施例的纹理映射的示意图;
图6是根据再一个实施例的相机投影方向的示意图;
图7是可用于实现一个实施例的纹理映射系统的示意图;
图8为根据一个实施例的终端设备的示意图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<实施环境和硬件配置>
图1为可以应用于本发明实施例的纹理映射方法的终端设备1000的硬件配置结构图。
如图1所示,终端设备1000可以包括处理器1100、存储器1200、接口装置1300、显示装置1400、输入装置1500等。其中,处理器1100用于执行计算机程序,该计算机程序可以采用比如x86、Arm、RISC、MIPS、SSE等架构的指令集。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300为实体接口,例如USB接口或耳机接口等。显示装置1400可以是显示屏,该显示屏可以是触摸显示屏。输入装置1500可以包括键盘、鼠标等,也可以包括触摸装置。
在本实施例中,终端设备1000的存储器1200用于存储计算机程序,该计算机程序用于控制处理器1100进行操作以实施根据任意实施例的纹理映射方法。技术人员可以根据本说明书所公开方案设计计算机程序。该计算机程序如何控制处理器1100进行操作,这是本领域公知,故在此不再详细描述。
本领域技术人员应当理解,尽管在图1中示出了终端设备1000的多个装置,本公开实施例的终端设备1000可以仅涉及其中的部分装置,也可以还包含其他装置,在此不做限定。
<方法实施例>
图2示出了根据一个实施例的纹理映射方法,该纹理映射方法用于将图像数据映射至网格模型。该纹理映射方法可以由如图1所示的终端设备1000实施。
该纹理映射方法包括以下步骤S1000至步骤S1400,以下予以详细说明:
步骤S1000,获取网格模型和图像数据;其中,网格模型包括多个区域,每个区域分别包括多个面片组,每个面片组分别包括一个初始面片和设于初始面片外周的多个邻域面片,图像数据包括多个纹理。
在一个实施例中,同一个面片组的多个邻域面片依次环设于初始面片的外周。
网格模型为用于三维场景重建生成的几何模型。网格模型包括房子,树木等不同的模型,因此网格模型包括多个区域。网格模型上每个区域包括多个面片组。每个面片组中又包括多个面片,且每个面片上包括多个顶点。网格模型上任一面片都可能属于一个平面,平面性特征用来表达一个面片属于任一平面的程度。
就网格模型上的平面区域而言,每个面片的顶点相互之间在沿该平面区域的法线方向的距离相似,被归为一个平面的概率较大,例如墙面或者公路等。反之,则被归为一个平面的概率较小。
在三维空间中,顶点的位置可以被拆分为三个方向的分量,分别为顶点沿平面的法线方向以及沿平面延伸的两个方向。其中,面片的多个顶点的位置分布可以用一个平面近似拟合。下述内容中判断面片顶点属于一个平面的程度时,该平面均指由该面片上的多个顶点近似拟合得到的一个平面。根据每个顶点的在三个方向上的分量,分别计算每个顶点属于一个平面的程度。下面给出相关定义:
网格模型的拓扑结构本质上是无向图,现给出对于任意网格模型M的无向图定义G=<V,E>,其中V表示无向图中的顶点,对应于M中每个面片;E表示无向图的边,对应于M中的相邻边。每个网格内任一面片的平面性特征估计是建立在该面片的邻域面片集合上的。设Len(Vi,Vj)为面片Vi和Vj之间的最短路径,则“n-领域”的定义可以为:
其中,δvi(n)可以表示为满足Len(Vi,Vj)最短路径要求的面片集合。可以表示满足以网格模型上任意一个区域,随机选择一个面片作为初始面片,在该初始面片周围存在多个邻域面片。领域面片依次环设于初始面片。对于邻域面片的范围,可以采用“n-领域”进行控制。也就是说,一个初始面片与设于初始面片外周“n-领域”范围内的多个邻域面片组成了一个面片组。每个网格模型上的面片的平面性特征估计是建立在该面片的邻域面片集合上的。
步骤S1100,从一个区域的多个面片组中筛选出初始面片和邻域面片均位于同一平面的面片组。
对随机选择的一个初始面片Vi,对其“n-领域”内每个面片的顶点集合,采用PCA主成分分析方法,得到各个顶点位置分布在三个方向上的特征值λ0,λ1,λ2。此处的PCA主成分分析方法为本领域技术人员可以理解,在此不多赘述。
每个特征向量表示顶点主要分布的方向,其对应的特征值反应了该顶点在对应分布方向上的延伸程度。对于集中在三维区域某平面的区域的面片顶点而言,特征向量在沿由各面片顶点近似拟合出来的平面法线方向上的特征值相应较低,沿平面延伸方向的特征向量对应的特征值较大。由此,可以通过特征值作为反映平面性特征的一个指标。对于任意面片Vi而言,面片Vi的平面性特征fplane的定义如下:
其中,λ0,λ1,λ2是按照升序排列的特征值。其中,λ0为顶点沿平面法线方向的特征值,λ1,λ2为顶点沿平面延伸方向的特征值。当λ0=0时,表示顶点在平面法线方向上较扁平,此时fplane=1;当顶点位置分布无规律时,此时顶点在平面法线方向的特征值λ0较大,由于λ1,λ2按照升序排列,因此假设特征值近似相等,则λ0=λ1=λ2,此时fplane=0,由此可知fplane∈[0,1]。也就是说,当fplane的值较小时,多个顶点对应的面片平面性特征较小。反之,当fplane的值较大时,多个顶点对应的面片平面性特征较大。一般取阈值fmin来判定特征值计算结果,当fplane大于fmin时,判定该顶点属于该平面,当fmin小于或等于fmin,则判定该顶点不属于该平面。
因此,可以使用上述平面性特征来表达该面片属于一个平面区域的程度。平面性特征对应的特征值可以作为表达面片的平面性特征的一个指标。
在一个区域的多个面片组中,筛选出初始平面与其邻域面片均位于同一平面上的面片组,需要对该面片以及邻域面片根据上述内容进行平面性特征检测。
将符合平面性特征的面片与邻域面片所在的面片组从一个区域的多个面片组中筛选出来。
在一个实施例中,步骤S1100从一个区域的多个面片组中筛选出初始面片和邻域面片均位于同一平面的面片组,可以包括如下步骤S1110至S1130,以下予以详细说明:
步骤S1110,获取初始面片和多个邻域面片上的多个测试点。
在一个区域的任一面片组中,随机获取一个初始面片,对其“n-领域”内每个邻域面片的顶点集合,采用PCA主成分分析方法,得到每个面片的顶点位置分布在三个方向上的特征值λ0,λ1,λ2。多个测试点可以使用每个面片的顶点集合,也可以使用每个面片上的其它的点作为测试点,此处不作限定。
步骤S1120,根据多个测试点,拟合得到一个对照平面。
根据上述内容中的多个测试点,在三维空间中,多个测试点的位置可以被拆分为三个方向的分量,所以可以根据多个测试点的位置分布用一个平面近似拟合,得到一个对照平面。此处将三维空间的多个测试点用一个平面近似拟合,本领域技术人员可以理解,此处不多赘述。
步骤S1130,分别判断多个测试点是否属于对照平面,若多个测试点均属于对照平面,则面片组位于同一平面。
在本申请的实施例中,可以对该面片组中的初始面片和邻域面片根据上述方法进行平面性特征检测,初始面片和邻域面片上包括多个测试点。当多个测试点均属于该对照平面,则该面片组位于同一平面。其中需要注意的是,当多个测试点不都属于该对照平面时,则该面片组不属于同一平面。也就是说,该面片组不能成为被筛选出来的面片组。
步骤S1140,在每个筛选出的面片组中,将初始面片和邻域面片合并为一个面片。
在本申请的实施例中,在每个筛选出来的面片组中,初始平面与邻域面片均位于同一平面。初始面片可以对邻域面片进行扩张。根据与初始面片的距离,同一面片组中与初始面片接壤的邻域面片依次合并至初始面片。在合并的过程中,初始面片不断扩大,同时不断地更新,将每一轮合并之后得到的面片作为初始面片,以此类推。在该面片组中的邻域面片被合并至初始面片之后,初始面片和邻域面片被合并为一个面片。
其中需要注意的是,当该面片组的内部合并为一个面片时,该面片组会向周围在上述筛选中未被选出的面片组进行扩张合并。也就是说,对该面片组而言,可以对其“n-领域”内的邻域面片再次进行扩张合并。只需要对该面片组的周围“n-领域”内的每个面片进行平面性特征检测,满足平面性特征的面片可加入该面片组。面片Vi加入面片组的具体规则如下:
其中,n(Vi)表示面片vi的法线,θnormal是法线角度阈值。第一条件为要求面片vi不能属于任何内部合并成一个面片的面片组。第二个要求是对面片vi进行平面性特征检测,判断其是否属于所要加入的面片组所在的平面。第三个条件要求新加入面片的法线和平面法线之间的角度余弦要大于法线角度阈值θnormal。第四条件为要求D(Vi,p)表示面片vi距离映射平面p的最大距离小于等于 为面片集合中所有顶点到映射平面p的平均距离。假设一个映射平面p可以由A,B,C,D四个参数表示,则面片vi距离映射平面p的距离D(Vi,p)可以有如下定义:
每当有新面片加入内部已完成合并的面片组时,需要对面片集合所表示的平面信息进行更新。此时的网格模型表面的大部分平面区域已经被检测出来,进行了相应的合并。但在一部分边缘区域或者尖锐的区域,在初始面片扩张过程中是不能进行合并的。在初始面片扩张结束后,还可以对这些边缘区域或者尖锐的区域进行单独处理,在上述面片vi加入面片组的规则中采用更大的法线角度阈值θnormal和更大的使其可以合并至现有的面片组中。/>为面片集合中所有顶点到映射平面p的平均距离。
步骤S1200,将多个位于同一平面的面片组合并,得到映射平面。
在同一个平面上,经过上述面片组的扩张合并之后,被筛选出来的面片组向周围扩张,与未被筛选出来的面片组中的面片进行合并,因此在网格模型的一个区域上仅存在较少数量的面片组。在同一平面上,这些面片组在上述扩张合并阶段,由于其所包含的初始面片不同,因此这些面片组在扩张合并阶段,只能合并未被筛选出来的面片组中的面片,而不能相互之间进行合并。
将多个位于同一平面的面片组进行合并,在一个平面上得到一个完整的面片,也就是映射平面。
在一个实施例中,该步骤S1200将多个位于同一平面的面片组合并得到映射平面,可以包括如下步骤S1210至S1220,以下予以详细说明:
步骤S1210,根据多个位于同一区域的面片组的距离与法线夹角的信息,判断多个面片组是否位于同一平面。
由于在同一个区域内,相邻的面片组之间在拓扑结构上是相连的,可以根据两个面片组之间的距离以及法线夹角来判断两个面片组是否位于同一平面。计算面片组共面性的方法如下:
其中,第一个条件要求两个面片组的法线夹角余弦大于角度阈值θmerge;第二条件与第三条件要求两个面片组之间的距离小于各自的其中,/>可以为自定义合并阈值,此处不作限制。
步骤S1220,将多个位于同一平面的面片组合并,得到映射平面。
根据上述计算面片组共面性的结果,将同一区域内的多个位于同一平面的面片组依次合并,作为映射平面。
步骤S1300,获取映射平面的平面信息。
根据上述内容中得到的映射平面,可以通过PCA主成分分析得到每个映射平面的平面信息。其中,平面信息包括该映射平面的中心点信息和法线信息。映射平面的平面信息可以辅助纹理映射。此处的PCA主成分分析为本领域技术人员可以理解,此处不多赘述。
步骤S1400,根据平面信息,从图像数据中获取匹配的纹理,并在纹理与映射平面之间建立映射关系。
在得到多个映射平面之后,此时的网格模型由多个映射平面组成,可以在图像数据中选择与该映射平面相匹配的纹理,从而可以在纹理与映射平面之间建立起对应的映射关系。
在此基础上,纹理映射本质为相机将纹理投影至网格模型表面的过程。在将纹理投影至模型的过程中会出现一定程度的质量损失,从投影过程分析质量损失的原因主要有如下三类:第一,相机到模型表面的视线方向和映射平面法线的夹角。如图3所示,图中的θ为相机Camera到模型表面的视线方向和映射平面法线的夹角。由于图像的分辨率大小是确定的,如果夹角θ越大,相机到映射平面的投影倾斜度越大,则一单位像素投影到模型表面的范围也会变大;第二,相机到映射平面的距离。如图4所示,Length为相机Camera到映射平面的距离,当相机Camera距离映射平面越远时,根据相似三角形原理,一单位像素投影到映射平面的区域面积也会随着距离的增加而变大;第三,深度不连续区域。由于每个拍摄的图像投射在网格模型表面的边界位置时深度不连续,当深度变化频率较大时容易出现误投影。
以上提到的三类影响纹理质量损失的原因,本质上是过于放大了几何、相机本身存在的固有误差。由此,可以选择形变指标作为纹理质量的衡量指标。形变指标Deformation(V,L)的具体定义如下:
其中,如图5所示,此处的V代表网格模型上任意一个面片;L代表任意相机;θa,θb和θc分别代表面片A的每个角投影到相机L的三角形A’的对应角之间的差。当不发生形变时,θa=θb=θc=0,Deformation(V,L)=1;反之当形变程度较大时,Deformation(V,L)<1,由此引入对纹理质量的打分指标fscore,如下:
fscore(V,L)=1-Norm(f(V,L))
f(V,L)=G(V,L)Deformation(V,L)Area(V,L)
其中,G(V,L)为平均梯度指标,定义如下:
其中,T代表面片V投影到相机L上的区域。以上指标,不仅可以考虑面片在投影过程中发生的形变程度,还可以联合考虑图像纹理的精度和距离网格模型的距离。
在一个实施例中,该步骤S1400根据平面信息,从图像数据中获取匹配的纹理,并在纹理与映射平面之间建立映射关系,可以包括如下步骤S1410至S1420,以下予以详细说明:
步骤S1410,根据已获取的纹理,生成纹理块。
在本申请的实施例中,可以根据从图像数据中获取的匹配的纹理,生成纹理块。此处为本领域技术人员可以理解,在此不多赘述。
步骤S1420,合并纹理块,在合并后的纹理块与映射平面之间建立映射关系。
根据上述内容中的平面信息,可以结合网格顶点的坐标在纹理块与映射平面之间建立起映射关系。此处为本领域技术人员可以理解,,在此不多赘述。
在一个实施例中,该步骤S1420在合并后的纹理块与映射平面之间建立映射关系,还可以包括如下步骤S1421,以下予以详细说明:
步骤S1421,根据映射平面的平面信息,选择纹理块与映射平面之间的映射角度。
在本申请实施例中,在纹理选择的过程中还引入了相机覆盖率的指标,将映射平面的平面信息作为全局特征。根据该全局特征,选择合适的角度作为纹理块与映射平面之间的映射角度,还可以将其作为相机的投影角度。在本申请的实施例中,采用合适的相机投影角度可以使相机在投影过程中尽可能覆盖大部分平面区域,由此可以减少纹理边界的数量,减轻纹理细缝对纹理质量的影响。
如图6所示,面片va和vb除了选择各自局部最优的相机A与B的投影角度外,更好的选择是选择相机C的投影角度,可以让其同时对va,vb进行投影。这种方法有两个好处:第一是消除了va,vb之间原本的纹理边界,提升了纹理质量;第二,虽然C在面片va,vb上投影的纹理质量不如其各自的局部最优解,但其造成的纹理损失在人眼中其实并不明显。
因此,在为映射平面选择合适的相机投影时,可以引入平面区域的全局信息作为相机投射到平面纹理质量评估指标,同时尽可能让更多的片面区域被相机覆盖。首先引入覆盖率指标R(p,L),定义如下:
其中,L表示相机;S(p)表示映射平面p的总面片数;fscore是上述内容中提到的纹理质量评估指标,θscore是自定义阈值。该公式反映了映射平面p中所有相对相机L的可见区域,即式中的Visible(V,L),在总平面区域中所占的比率。在理想情况下,R(p,L)表示的可见区域占比,其精确的解需要先对映射平面p进行离散化才能得到,但离散化程度过高会影响R(p,L)的计算性能,在实际应用中可以使用映射平面内部的面片的个数来作为可见区域占比的统计。
其中需要注意的是,如果相机L的覆盖率高,说明映射平面p的大块区域由相机L覆盖,相应的纹理边界生成较少。其中,R(p,L)仅反映纹理边界生成数量的多少,并不考虑纹理纹理质量。
上述内容中提到的形变指标针对的是单独的面片,属于局部特征信息,因此除了考虑覆盖率指标以外,还可以引入一种全局性特征用于反映相机投射纹理质量。在上述内容中,每个生成的映射平面的平面信息包括法线、中心点信息,可以将映射平面的平面信息作为全局特征辅助相机选择有如下定义:
其中n(p)代表映射平面点法线方向,c(p)表示映射平面p中心点,Position(L)是相机位置,Norm(c(p),Position(L))表示从平面中心到相机中心的单位向量。该公式对平面法线和相机朝向夹角做了约束,θcos为预设的夹角阈值。任何候选相机应当满足此条件,以尽可能使相机的投射方向接近映射平面的正射方向,这涉及到相机到映射平面p的覆盖率和正射两个因素,由此得到相机投影角度的评估指标:
Q(p,L)=Oortho(p,L)R(p,L)
其中,Q(p,L)∈[0,1],用于选择相机L投影到映射平面p时的估计。Oortho(p,L)用于评价相机L与p之间的正射程度,一般a,β取经验值0.5。Oortho(p,L)∈[0,1]。当相机L方向垂直于p时,Oortho=1;当相机方向与映射平面法线之间的夹角逐渐增大时,Oortho取值逐渐趋近于0。其中,R(p,L)衡量相机在网格表面的覆盖率。
理想状态下,期望指标Q(P,L)评估的相机在映射平面上可达到100%的覆盖率,这样一个映射平面的区域内仅会生成一个纹理块。实际中这种理想情况很少发生,一是不存在任意一个相机可以完全投影覆盖此区域;二是相机拍摄条件较差,大部分相机拍摄角度过于倾斜,每次覆盖率评估时,纹理质量指标会过滤掉一些可见的面片,使相机无法对整个区域全覆盖。为了处理这种情况,可以对所有可见相机集合依据Q(p,L)指标排序进行多次迭代,每轮迭代需要重新计算尚未投影相机的期望指标Q(p,L)。
本申请实施例提供的纹理映射方法,通过获取网格模型和图像数据,从一个区域的多个面片组中筛选出初始面片和邻域面片均位于同一平面的面片组,再将多个位于同一平面的面片组合并,得到映射平面,根据获取映射平面的平面信息,从图像数据中获取匹配的纹理,并在纹理与映射平面之间建立映射关系。根据本申请提供的纹理映射方法,通过将同一平面上的面片合并成一个映射平面,再根据映射平面的平面信息来辅助后续纹理映射的流程,减少了纹理边界生成的数量,同时提高了映射后纹理的清晰度。
<系统实施例>
在本实施例中,还提供一种纹理映射系统。如图7所示,该纹理映射系统包括数据获取模块,第一处理模块,第二处理模块,第三处理模块和纹理映射模块。其中:
数据获取模块,用于获取网格模型和图像数据;其中,网格模型包括多个区域,每个区域分别包括多个面片组,每个面片组分别包括一个初始面片和设于初始面片外周的多个邻域面片,图像数据包括多个纹理;
第一处理模块,用于从一个区域的多个面片组中筛选出初始面片和邻域面片均位于同一平面的面片组;
第二处理模块,用于将多个位于同一平面的面片组合并,得到映射平面;
第三处理模块,用于获取映射平面的平面信息;
纹理映射模块,用于根据平面信息,从图像数据中获取匹配的纹理,并在纹理与映射平面之间建立映射关系。
在本申请的再一个实施例中,数据获取模块可以包括第一获取模块、平面拟合模块和第一判断模块。其中:第一获取模块,用于获取初始面片和多个邻域面片上的多个测试点;平面拟合模块,用于根据多个测试点,拟合得到一个对照平面;第一判断模块,用于分别判断多个测试点是否属于对照平面,若多个测试点均属于对照平面,则面片组位于同一平面。
在本申请的再一个实施例中,第二处理模块可以包括第二判断模块和第四处理模块。其中:第二判断模块,用于根据多个位于同一区域的面片组的距离与法线夹角的信息,判断多个面片组是否位于同一平面;第四处理模块,用于将多个位于同一平面的面片组合并,得到映射平面。
在本申请的再一个实施例中,纹理映射模块可以包括第五处理模块和关系建立模块。其中:第五处理模块,用于根据已获取的纹理,生成纹理块;关系建立模块,用于合并纹理块,在合并后的纹理块与映射平面之间建立映射关系。
在本申请的再一个实施例中,关系建立模块可以包括角度选择模块。其中:角度选择模块,用于根据映射平面的平面信息,选择纹理块与映射平面之间的映射角度。
根据本申请实施例提供的纹理映射系统,通过将同一平面上的面片合并成一个映射平面,再根据映射平面的平面信息来辅助后续纹理映射的流程,减少了纹理边界生成的数量,同时提高了映射后纹理的清晰度。
应当注意,尽管在上文详细描述中提及了用于动作执行的系统的若干模块或者单元,但这种划分并非强制性的。实际上,根据本申请的实施方法,上文描述的两个或者更多模块或者单元的特性和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
<设备实施例>
在本实施例中,还提供一种终端设备。如图8所示,该终端设备7000可以包括处理器7100和存储器7200,存储器7200中存储有计算机指令,计算机指令被处理器7100运行时执行本公开任一实施例的纹理映射方法中的步骤。
<介质实施例>
在本实施例中,还提供一种计算机可读存储介质,其上存储有计算机指令,计算机指令被处理器运行时,实现如本发明任一方法实施例的纹理映射方法。
在本实施例中,还提供一种计算机可读存储介质,其上存储有计算机指令,计算机指令被处理器运行时,实现如本发明任一方法实施例的纹理映射方法中的步骤。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器1100实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器1100,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器1100执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种纹理映射方法,用于将图像数据映射至网格模型,其特征在于,所述纹理映射方法包括:
获取所述网格模型和所述图像数据;其中,所述网格模型包括多个区域,每个所述区域分别包括多个面片组,每个所述面片组分别包括一个初始面片和设于所述初始面片外周的多个邻域面片,所述图像数据包括多个纹理;
从一个所述区域的多个所述面片组中筛选出所述初始面片和所述邻域面片均位于同一平面的所述面片组;
将多个位于同一平面的所述面片组合并,得到映射平面;
获取所述映射平面的平面信息;
根据所述平面信息,从所述图像数据中获取匹配的所述纹理,并在所述纹理与所述映射平面之间建立映射关系。
2.根据权利要求1所述的方法,其特征在于,同一个所述面片组的多个所述邻域面片依次环设于所述初始面片的外周。
3.根据权利要求2所述的方法,其特征在于,从一个所述区域的多个所述面片组中筛选出所述初始面片和所述邻域面片均位于同一平面的所述面片组包括:
获取所述初始面片和多个所述邻域面片上的多个测试点;
根据所述多个测试点,拟合得到一个对照平面;
分别判断所述多个测试点是否属于所述对照平面,若所述多个测试点均属于所述对照平面,则所述面片组位于所述同一平面。
4.根据权利要求3所述的方法,其特征在于,在每个所述筛选出的所述面片组中,将所述初始面片和所述邻域面片合并为一个面片。
5.根据权利要求1所述的方法,其特征在于,将多个位于同一平面的所述面片组合并,得到映射平面,包括:
根据多个位于同一区域的所述面片组的距离与法线夹角的信息,判断多个所述面片组是否位于同一平面;
将多个位于同一平面的所述面片组合并,得到所述映射平面。
6.根据权利要求1所述的纹理映射方法,其特征在于,所述根据所述平面信息,从所述图像数据中获取匹配的纹理,并在所述纹理与所述映射平面之间建立映射关系,包括:
根据已获取的所述纹理,生成纹理块;
合并所述纹理块,在合并后的所述纹理块与所述映射平面之间建立映射关系。
7.根据权利要求6所述的纹理映射方法,其特征在于,所述在合并后的所述纹理块与所述映射平面之间建立映射关系,还包括:
根据所述映射平面的平面信息,选择所述纹理块与所述映射平面之间的映射角度。
8.一种纹理映射系统,用于将图像数据映射至网格模型,其特征在于,所述纹理映射系统包括:
数据获取模块,用于获取所述网格模型和所述图像数据;其中,所述网格模型包括多个区域,每个所述区域分别包括多个面片组,每个所述面片组分别包括一个初始面片和设于所述初始面片外周的多个邻域面片,所述图像数据包括多个纹理;
第一处理模块,用于从一个所述区域的多个所述面片组中筛选出所述初始面片和所述邻域面片均位于同一平面的所述面片组;
第二处理模块,用于将多个所述位于同一平面的所述面片组合并,得到映射平面;
第三处理模块,用于获取所述映射平面的平面信息;
纹理映射模块,用于根据所述平面信息,从所述图像数据中获取匹配的所述纹理,并在所述纹理与所述映射平面之间建立映射关系。
9.一种终端设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7任一项所述纹理映射方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7任一项所述的纹理映射方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211193953.5A CN115830209B (zh) | 2022-09-28 | 2022-09-28 | 纹理映射方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211193953.5A CN115830209B (zh) | 2022-09-28 | 2022-09-28 | 纹理映射方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115830209A CN115830209A (zh) | 2023-03-21 |
CN115830209B true CN115830209B (zh) | 2023-09-05 |
Family
ID=85524163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211193953.5A Active CN115830209B (zh) | 2022-09-28 | 2022-09-28 | 纹理映射方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115830209B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324749A (zh) * | 2008-07-24 | 2008-12-17 | 上海交通大学 | 在纹理平面上进行投影显示的方法 |
CN111369659A (zh) * | 2018-12-26 | 2020-07-03 | 杭州海康威视数字技术股份有限公司 | 一种基于三维模型的纹理映射方法、装置及设备 |
WO2020193038A1 (en) * | 2019-03-22 | 2020-10-01 | Interdigital Vc Holdings France | Processing a point cloud |
CN113327315A (zh) * | 2021-06-11 | 2021-08-31 | 武汉天远视科技有限责任公司 | 多层次细节模型生成方法和装置 |
CN114255314A (zh) * | 2022-02-28 | 2022-03-29 | 深圳大学 | 一种规避遮挡的三维模型自动纹理映射方法、系统及终端 |
CN114596409A (zh) * | 2022-03-14 | 2022-06-07 | 深圳市菲森科技有限公司 | 一种带纹理的人脸三维网格模型获取方法 |
-
2022
- 2022-09-28 CN CN202211193953.5A patent/CN115830209B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324749A (zh) * | 2008-07-24 | 2008-12-17 | 上海交通大学 | 在纹理平面上进行投影显示的方法 |
CN111369659A (zh) * | 2018-12-26 | 2020-07-03 | 杭州海康威视数字技术股份有限公司 | 一种基于三维模型的纹理映射方法、装置及设备 |
WO2020193038A1 (en) * | 2019-03-22 | 2020-10-01 | Interdigital Vc Holdings France | Processing a point cloud |
CN113327315A (zh) * | 2021-06-11 | 2021-08-31 | 武汉天远视科技有限责任公司 | 多层次细节模型生成方法和装置 |
CN114255314A (zh) * | 2022-02-28 | 2022-03-29 | 深圳大学 | 一种规避遮挡的三维模型自动纹理映射方法、系统及终端 |
CN114596409A (zh) * | 2022-03-14 | 2022-06-07 | 深圳市菲森科技有限公司 | 一种带纹理的人脸三维网格模型获取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115830209A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10304244B2 (en) | Motion capture and character synthesis | |
CN111932664B (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
KR100634537B1 (ko) | 3차원 영상의 삼각 분할 장치 및 방법과 그 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체 | |
Nair et al. | Fast high-dimensional bilateral and nonlocal means filtering | |
US8660305B2 (en) | Method and apparatus for removing a visual object from a visual data stream | |
US10019817B2 (en) | Example-based edge-aware directional texture painting | |
US20200241648A1 (en) | Stroke Operation Prediction for Three-Dimensional Digital Content | |
US20200334862A1 (en) | Moving image generation apparatus, moving image generation method, and non-transitory recording medium | |
CN113393577B (zh) | 一种倾斜摄影地形重建方法 | |
US20180197327A1 (en) | Light Path Correlation in Digital Image Rendering of a Digital scene | |
US20100085359A1 (en) | Surface normal reconstruction from a single image | |
CN106504317A (zh) | 一种三维模型的外观纹理提取方法及装置 | |
US10083264B1 (en) | Systems and methods for implicit surface modeling | |
US7586494B2 (en) | Surface detail rendering using leap textures | |
RU2697433C1 (ru) | Способ автоматического определения параметров ионосферных слоев по ионограммам | |
US10089764B2 (en) | Variable patch shape synthesis | |
CN115830209B (zh) | 纹理映射方法、系统、设备及存储介质 | |
CN110378948B (zh) | 3d模型重建方法、装置及电子设备 | |
JP6249508B2 (ja) | 異動検出支援装置、異動検出支援方法、及びプログラム | |
US10762689B2 (en) | Method and apparatus for selecting a surface in a light field, and corresponding computer program product | |
González et al. | Simplification method for textured polygonal meshes based on structural appearance | |
Mahraz et al. | High accuracy optical flow estimation based on PDE decomposition | |
Heimann et al. | Joint Geometry and Attribute Upsampling of Point Clouds Using Frequency-Selective Models with Overlapped Support | |
CN116152389B (zh) | 一种用于纹理贴图的视角选择和纹理对齐方法及相关设备 | |
Wang et al. | Efficient plane-based optimization of geometry and texture for indoor RGB-D reconstruction |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |