CN112270737A - 一种纹理映射方法及装置、电子设备和存储介质 - Google Patents
一种纹理映射方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112270737A CN112270737A CN202011337091.XA CN202011337091A CN112270737A CN 112270737 A CN112270737 A CN 112270737A CN 202011337091 A CN202011337091 A CN 202011337091A CN 112270737 A CN112270737 A CN 112270737A
- Authority
- CN
- China
- Prior art keywords
- patch
- image
- target image
- dimensional model
- texture
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 230000006870 function Effects 0.000 claims description 92
- 230000000875 corresponding effect Effects 0.000 claims description 46
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 230000002596 correlated effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000010146 3D printing Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 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
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/529—Depth or shape recovery from texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- 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/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- 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/20068—Projection on vertical or horizontal image axis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本公开涉及一种纹理映射方法及装置、电子设备和存储介质,所述方法包括:从三维模型对应的多个拍摄方向的图像中,确定与所述三维模型的面片相对应的第一目标图像,其中,所述面片与相对应的第一目标图像的相对关系符合预设条件,所述预设条件包括:在所述图像的拍摄方向,所述面片未被所述三维模型遮挡;在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像。通过本公开实施例确定的面片的纹理图像更加准确,减少了纹理图像贴错的情况。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种纹理映射方法及装置、电子设备和存储介质。
背景技术
在计算机视觉领域,三维重建技术能够利用物体的深度信息和二维图像,构建物体的三维影像,广泛应用于增强现实、游戏以及三维打印等场景中。
在三维重建的过程中,可以根据物体的深度信息构建物体的三维模型,然后再将从多个拍摄方向得到的物体的图像贴到三维模型上,即可构建物体的三维影像。
由于从多个拍摄方向得到了物体的多张图像,因此,在将图像贴到三维模型的过程中,会确定三维模型上的面片与图像的映射关系,也即进行纹理映射,与面片具备映射关系的图像即为面片的纹理图像。
目前,如何从拍摄的图像中准确地找到面片所映射的纹理图像,是亟待解决的技术问题。
发明内容
本公开提出了一种纹理映射技术方案。
根据本公开的一方面,提供了一种纹理映射方法,包括:
从三维模型对应的多个拍摄方向的图像中,确定与所述三维模型的面片相对应的第一目标图像,其中,所述面片与相对应的第一目标图像的相对关系符合预设条件,所述预设条件包括:在所述图像的拍摄方向,所述面片未被所述三维模型遮挡;
在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像。
在一种可能的实现方式中,所述方法还包括:
根据所述面片在所述图像中投影的高度,以及所述面片在所述图像中投影的像素点的深度,确定所述面片是否被所述三维模型遮挡。
在一种可能的实现方式中,所述确定所述面片是否被所述三维模型遮挡,包括:
响应于所述高度和所述深度的差异值在预设范围内,确定所述面片未被所述三维模型遮挡。
在一种可能的实现方式中,所述预设条件还包括下述至少一种:
所述面片的正面朝向所述图像的拍摄方向;
所述面片的正面朝向所述图像的视点至所述面片中心的方向;
所述面片在所述图像中的投影区在所述图像的边界范围内。
在一种可能的实现方式中,所述在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像,包括:
根据所述第一目标图像以及第一参数,确定作为所述面片的纹理图像的第二目标图像;
所述第一参数包括下述至少一种:
所述面片的法向与所述第一目标图像的拍摄方向的夹角;
所述面片与所述第一目标图像的视点的距离;
所述面片在所述第一目标图像中的投影区域的图像清晰度。
在一种可能的实现方式中,所述在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像,包括:
确定面片和第一目标图像之间的多种映射方式;
针对各所述映射方式分别计算能量函数的值,所述能量函数根据所述第一参数构建;
根据使得所述能量函数的值最小的映射方式,确定作为所述面片的纹理图像的第二目标图像。
在一种可能的实现方式中,所述能量函数的值与所述夹角负相关;所述能量函数的值与所述距离正相关;所述能量函数的值与所述图像清晰度负相关。
在一种可能的实现方式中,所述第一参数还包括惩罚参数;
所述惩罚参数,用于表征所述三维模型中的相邻面片是否与同一第一目标图像相对应;
所述惩罚参数,在所述三维模型中的相邻面片不与同一第一目标图像相对应的情况下,使得所述能量函数的值变大。
在一种可能的实现方式中,所述针对各所述映射方式分别计算能量函数的值,包括:
针对与所述面片相对应的第一目标图像,通过最大流最小割算法得到各映射方式,并计算各映射方式的能量函数的值。
根据本公开的一方面,提供了一种纹理映射装置,包括:
第一目标图像确定模块,用于从三维模型对应的多个拍摄方向的图像中,确定与所述三维模型的面片相对应的第一目标图像,其中,所述面片与相对应的第一目标图像的相对关系符合预设条件,所述预设条件包括:在所述图像的拍摄方向,所述面片未被所述三维模型遮挡;
第二目标图像确定模块,用于在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像。
在一种可能的实现方式中,所述装置还包括:
遮挡确定模块,用于根据所述面片在所述图像中投影的高度,以及所述面片在所述图像中投影的像素点的深度,确定所述面片是否被所述三维模型遮挡。
在一种可能的实现方式中,所述遮挡确定模块,用于响应于所述高度和所述深度的差异值在预设范围内,确定所述面片未被所述三维模型遮挡。
在一种可能的实现方式中,所述预设条件还包括下述至少一种:
所述面片的正面朝向所述图像的拍摄方向;
所述面片的正面朝向所述图像的视点至所述面片中心的方向;
所述面片在所述图像中的投影区在所述图像的边界范围内。
在一种可能的实现方式中,所述第二目标图像确定模块,用于根据所述第一目标图像以及第一参数,确定作为所述面片的纹理图像的第二目标图像;
所述第一参数包括下述至少一种:
所述面片的法向与所述第一目标图像的拍摄方向的夹角;
所述面片与所述第一目标图像的视点的距离;
所述面片在所述第一目标图像中的投影区域的图像清晰度。
在一种可能的实现方式中,所述第二目标图像确定模块,用于确定面片和第一目标图像之间的多种映射方式;针对各所述映射方式分别计算能量函数的值,所述能量函数根据所述第一参数构建;根据使得所述能量函数的值最小的映射方式,确定作为所述面片的纹理图像的第二目标图像。
在一种可能的实现方式中,所述能量函数的值与所述夹角负相关;
所述能量函数的值与所述距离正相关;
所述能量函数的值与所述图像清晰度负相关。
在一种可能的实现方式中,所述第一参数还包括惩罚参数;
所述惩罚参数,用于表征所述三维模型中的相邻面片是否与同一第一目标图像相对应;
所述惩罚参数,在所述三维模型中的相邻面片不与同一第一目标图像相对应的情况下,使得所述能量函数的值变大。
在一种可能的实现方式中,所述第二目标图像确定模块,用于针对与所述面片相对应的第一目标图像,通过最大流最小割算法得到各映射方式,并计算各映射方式的能量函数的值。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,在确定面片对应的纹理图像的过程中,筛选出在图像的拍摄方向,面片未被三维模型遮挡的第一目标图像,然后再进一步从第一目标图像中确定面片的纹理贴图。这样能够将拍摄方向面片被三维模型遮挡的图像排除掉,确定的面片的纹理图像将会更加准确,减少了纹理图像贴错的情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的纹理映射方法的流程图;
图2示出本公开实施例提供的某一拍摄方向得到的图像与面片的关系的示意图;
图3示出根据本公开实施例的一种纹理映射方法的应用场景示意图;
图4示出根据本公开实施例的一种纹理映射装置的框图;
图5示出根据本公开实施例的一种电子设备的框图;
图6示出根据本公开实施例的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
计算机视觉近年来取得了长足的发展,应用前景广阔,在计算机视觉中,三维重建在计算机视觉中发挥着重要作用,而三维重建过程中的纹理映射更是至关重要。
本公开提出了一种纹理映射的技术方案,能够更加精准地从图像中找到三维模型的面片所映射的纹理图像,利用该纹理图像贴图后得到的三维影像,便能够更加精准地还原真实物体的形貌。纹理贴图得到的物体的三维影像可广泛应用于增强现实、游戏、骨骼动画以及三维打印等场景中,具备较高的应用价值。
举例来说,在增强现实中,通过本公开的纹理贴图得到的三维影像能够更好地与现实世界场景进行结合与交互,让增强现实中的三维影像更加逼真;在游戏中,高度还原真实物体形貌的三维影像能够带给玩家更好的游戏体验;在三维打印场景中,对物体进行三维打印,能够得到真实感强的带纹理的实体三维模型。
纹理映射过程中所使用的图像,可以是从多个拍摄方向对目标物体进行拍摄得到的,这些图像是在多个视角下目标物体的图像;而纹理映射过程中所使用的三维模型,可以是根据对目标物体进行扫描得到的深度信息来构建的。
构建好的三维模型的表面可以划分为多个面片,面片的形状可以为三角形,在纹理映射的过程中,会确定出每个面片所对应的纹理图像,下面将结合具体的实现方式,详细阐述本公开提供的纹理映射技术方案。
请参照图1,图1示出根据本公开实施例的纹理映射方法的流程图,如图1所示,所述纹理映射方法包括:
在步骤S11中,从三维模型对应的多个拍摄方向的图像中,确定与所述三维模型的面片相对应的第一目标图像。
其中,所述面片与相对应的第一目标图像的相对关系符合预设条件,所述预设条件包括:在所述图像的拍摄方向,所述面片未被所述三维模型遮挡。
在步骤S12中,在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像。
由于本公开中会通过步骤S12从第一目标图像中进一步筛选作为面片纹理图像的第二目标图像,因此,这里的第一目标图像,可以视为面片的候选纹理图像。
在确定第一目标图像的过程中,可以按照预设条件从多个拍摄方向的图像中确定,预设条件还可以包括多种,具体将在后文本公开可能的实现方式中进行描述,此处暂不赘述。
如前文所述,三维模型的表面被划分为多块面片,为便于后续描述,这里将面片所对应的物体表面的朝向,作为面片的正面,具体可以是面片上的某一参考点所对应的物体表面的朝向,该朝向可以为面片的法向,该参考点可以是面片上的任何一点,例如,在面片的形状为三角形的情况下,该参考点具体可以是面片的重心、内心、垂心等。
由于三维模型是立体的,因此可能会存在朝向多个方向的面片,即不同的面片分别朝向不同的方向,在选择面片的第一目标图像的过程中,可以筛选面片的正面朝向图像拍摄方向的图像。
然而,有些面片虽然正面朝向图像拍摄方向,但是可能面片对应的物体部位被物体自身的部位遮挡了,那么,在选择面片的第一目标图像的过程中,会将在拍摄方向面片被三维模型自身遮挡的图像排除掉。例如,对于某一人体三维模型,在图像A的拍摄方向,模型腰部的某一面片a虽然是正面朝向该图像A的拍摄方向,但是被模型的手臂遮挡了,因此可以将图像A排除掉,不作为面片a的第一目标图像。
因此,在确定面片对应的纹理图像的过程中,筛选出在图像的拍摄方向,面片未被三维模型遮挡的第一目标图像,然后再进一步从第一目标图像中确定面片的纹理贴图。这样能够将拍摄方向面片被三维模型遮挡的图像排除掉,确定的面片的纹理图像将会更加准确,减少了纹理图像贴错的情况。
本公开提供的纹理映射方法还可以有多种实现方式,在一种可能的实现方式中,预设条件还可以包括下述至少一种:所述面片的正面朝向所述图像的拍摄方向;所述面片的正面朝向所述图像的视点至所述面片中心的方向;所述面片在所述图像所在平面中的投影在所述图像的边界范围内。
在一种可能的实现方式中,可以找到满足“所述面片的正面朝向所述图像的拍摄方向”;“所述面片的正面朝向所述图像的视点至所述面片中心的方向”;“所述面片在所述图像中的投影区在所述图像的边界范围内”这三个条件中任一一个或多个条件的图像,并将在图像的拍摄方向,面片被三维模型遮挡的图像排除,即得到第一目标图像。
图2示出了本公开实施例提供的某一拍摄方向得到的图像与面片的关系的示意图,下面结合图2分别对以上各条件做详细说明:
针对预设条件:所述面片的正面朝向所述图像的拍摄方向。
图像的拍摄方向具体可以是图像的中心视线方向,中心视线是在拍摄图像时位于摄像机的视锥体正中央的视线,该视线朝向被拍摄物体。
在拍摄图像时,被拍摄物体成像于摄像机感光元件上,进而被采集为图像,中心视线和摄像机中物体成像的平面垂直,中心视线与成像平面的交点可以称为图像的视点,由于成像平面位于摄像机感光元件上,因此,视点往往位于感光元件的中心位置。
面片的正面朝向图像的拍摄方向,可通过如下公式(1)进行表示:
Norm(f)·View(I)<0 (1)
其中,Norm(f)表示面片f的法向,View(I)表示图像I的中心视线方向,在面片的正面朝向图像的拍摄方向的情况下,这两个方向的夹角大于90度,因此,表示这两个方向的向量点乘的结果小于0。
预设条件:面片的正面朝向图像的视点至面片中心的方向。
面片中心可以是能表征面片几何形状整体位置的点,例如,对于三角形面片,面片的中心可以是三角形面片的重心、内心等。
面片的正面朝向图像的视点至面片中心的方向,可通过如下公式(2)进行表示:
Norm(f)·(C(I)-Vc(f))<0, (2)
其中,C(I)为图像I的视点,Vc(f)为面片f的中心,那么C(I)-Vc(f)即可表征图像的视点至面片中心的方向,在面片的正面(法向)Norm(f)朝向图像的拍摄方向的情况下,这两个方向的夹角大于90度,因此,表示这两个方向的向量的点乘小于0。
确定的第一目标图像的视点至面片中心的方向与面片的正面相对,可以使得面片对应的纹理图像尽可能地是正视角度下的图像,减少了贴图后纹理图像拉扯的情况,提高了贴图后得到的三维影像的视觉效果。
预设条件:面片在图像所在平面上的投影在图像的边界范围内。
具体可计算面片各个顶点在图像所在平面上投影的坐标,图像所在的平面可以是物体成像平面,投影的坐标可以是顶点在成像平面上所成像的像素点坐标,该坐标具体可以根据顶点坐标和相机参数来确定,此处不做赘述。
如果像素点位于图像的边界范围以外,则贴图后图像无法完全覆盖面片,面片上会有空白部分,因此,为保证得到的三维影像的视觉效果,面片各个顶点在图像所在平面上投影的坐标,应当是图像中的坐标,即应当在图像的边界范围内。
在一种可能的实现方式中,所述方法还包括:根据所述面片在所述图像中投影的高度,以及所述面片在所述图像中投影的像素点的深度,确定所述面片是否被所述三维模型遮挡。
图像中的像素点的深度可以是已知的,在采集图像的过程中即可确定,例如,可以通过具备深度信息采集功能的图像采集设备来确定。这里像素点的深度表示像素点对应于物体上的点距离图像采集设备的距离,而面片在图像中投影的高度,可以视为面片距离图像采集设备的距离。
在面片被三维模型某个部位遮挡的情况下,面片在图像中投影的像素点的深度,应当是遮挡该面片的部位的深度,因为该像素点是对该部位进行采集得到的,即该部位距图像采集设备更近,因此该像素点的深度必然会小于面片在图像中投影的高度。
而在面片未被三维模型遮挡的情况下,面片在图像中投影的高度,以及面片在图像中投影的像素点的深度,这两者之间的差异值应当在预设范围以内。在理想的情况下,两者的值应该是相等的。这里的差异值为反映两者差异的值,例如可以是两者的差值,或者是两者的比值,或者是通过归一化参数对两者的差值进行归一化后得到的归一化值,等等。
那么,确定所述面片是否被所述三维模型遮挡,可以包括:响应于所述高度和所述深度的差异值在预设范围内,确定所述面片未被所述三维模型遮挡。
下面以差异值为上述归一化值为例,通过下述公式(3),对确定面片是否被三维模型遮挡的过程进行示例性说明。
|ZI(Vc(f))-Depth(PI(Vc(f)))|/Depth(PI(Vc(f)))<0.01 (3)
其中,ZI(Vc(f))表示面片f的第C个顶点Vc(f)在图像I中的投影的高度,PI(Vc(f))指Vc(f)在图像I中投影的像素点,Depth(PI(Vc(f)))表示像素点PI(V1(f))在图像I中的深度值,该深度值可以作为归一化参数对上述差值进行归一化,预设范围为归一化值小于0.01。在面片和图像之间的关系满足公式(3)的情况下,即可视为面片未被三维模型遮挡。
在本公开实施例中,通过根据面片在图像中投影的高度,以及面片在图像中投影的像素点的深度,确定面片是否被三维模型遮挡,能够精准地确定面片是否被三维模型遮挡。在差异值在预设范围内的情况下,即可确定面片未被所述三维模型遮挡,以便能够更加精准地从图像中找到三维模型的面片所映射的纹理图像。
还可采用其他适当方式,确定在图像的拍摄方向,面片是否被三维模型遮挡,本公开对此不作限制。
在确定出第一目标图像后,便可以从第一目标图像中确定作为面片的纹理图像的第二目标图像,具体确定的实现方式可以有多种,在一种可能的实现方式中,在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像,包括:根据所述第一目标图像以及第一参数,确定作为所述面片的纹理图像的第二目标图像。
所述第一参数包括下述至少一种:所述面片的法向与所述第一目标图像的拍摄方向的夹角;所述面片与所述第一目标图像的视点的距离;所述面片在所述第一目标图像中的投影区域的图像清晰度。
由于面片的法向表征了面片的正面朝向,因此,依据面片的法向与第一目标图像的拍摄方向的夹角,能够判断面片与第一目标图像之间的正视程度,正视程度越高,则最终得到的三维影像观感越好,因此,可以依据面片的法向与第一目标图像的拍摄方向的夹角,来确定作为面片的纹理图像的第二目标图像。
另外,通过面片与第一目标图像的视点之间的距离,也能够反映面片与第一目标图像之间的正视程度,距离越近则正视程度越高,最终得到的三维影像观感越好,另外,距离越近,得到的三维影像越清晰,因此,可以依据面片与第一目标图像的视点之间的距离,来确定作为面片的纹理图像的第二目标图像。
由于图像的清晰度越高,则三维影像的观感越好,因此,可以依据面片在第一目标图像中的投影区域的图像清晰度,来确定作为面片的纹理图像的第二目标图像。
在一种可能的实现方式中,由于可以根据第一参数来确定作为所述面片的纹理图像的第二目标图像,因此可以基于第一参数来构建能量函数,并依据能量函数来确定第二目标图像。
具体地,在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像,包括:确定面片和第一目标图像之间的多种映射方式,在每种映射方式中,各面片分别与相对应的一个第一目标图像建立映射关系;针对各所述映射方式分别计算能量函数的值,所述能量函数根据所述第一参数构建;根据使得所述能量函数的值最小的映射方式,确定作为所述面片的纹理图像的第二目标图像。
在进行纹理贴图时,一个面片会对应一个纹理图像,这样才能将确定的纹理图像贴到面片上去,而不会将两个不同的纹理图像一起贴到同一个面片上。但是,经过步骤S11,与每一块面片相对应的第一目标图像可能存在多个。
那么,对于一个三维模型而言,由于三维模型上存在多块面片,因此,多块面片和各面片相对应的至少一个第一目标图像分别进行组合,可以组合出多种映射方式,在每种映射方式中,一块面片与相对应的一个第一目标图像建立映射关系。
针对组合出的各映射方式,分别计算能量函数的值,可以将使得能量函数的值最小的映射方式,作为纹理贴图所依据的映射方式,该映射方式中与面片具备映射关系的第一目标图像,即可作为面片的纹理图像的第二目标图像。
举例来说,根据预设条件,可以筛选出,面片1对应第一目标图像A、B面片2对应第一目标图像B、D,面片3对应第一目标图像E、F,则可能的映射方式包括:
方式1:面片1-第一目标图像A,面片2-第一目标图像B,面片3-第一目标图像E;
方式2:面片1-第一目标图像A,面片2-第一目标图像B,面片3-第一目标图像F;
方式3:面片1-第一目标图像A,面片2-第一目标图像D,面片3-第一目标图像E;
方式4:面片1-第一目标图像A,面片2-第一目标图像D,面片3-第一目标图像F;
方式5:面片1-第一目标图像B,面片2-第一目标图像D,面片3-第一目标图像E;
方式6:面片1-第一目标图像B,面片2-第一目标图像D,面片3-第一目标图像F;
方式7:面片1-第一目标图像B,面片2-第一目标图像B,面片3-第一目标图像E;
方式8:面片1-第一目标图像B,面片2-第一目标图像B,面片3-第一目标图像F。
针对这8种方式,分别计算8个能量函数的值,找到使得能量函数的值最小的映射方式,例如是方式7,则最终确定的面片1的纹理图像为第一目标图像B,面片2的纹理图像为第一目标图像B,面前3的纹理图像为第一目标图像E。
通过确定面片和第一目标图像之间的多种映射方式,每种映射方式中各面片与相对应的一个第一目标图像建立映射关系,然后通过能量函数计算每种映射方式的能量值,这样对于每种映射方式而言,是从整体上来衡量面片与相对应的第一目标图像的匹配程度,使得整体的映射关系达到最优,纹理贴图后得到的三维影像在整体上观感较佳。
在一种可能的实现方式中,所述能量函数的值与所述夹角负相关,该夹角为面片的法向与第一目标图像的拍摄方向的夹角;所述能量函数的值与所述距离正相关,该距离为面片与第一目标图像的视点之间的距离;所述能量函数的值与所述图像清晰度负相关。
当面片的法向与第一目标图像的拍摄方向一致时,面片的法向与拍摄方向的夹角为0度,随着拍摄方向的旋转,面片的法向与拍摄方向的夹角逐渐变大,当面片的法向与拍摄方向正对时,面片的法向与拍摄方向的夹角为180度,随着拍摄方向的继续旋转,面片的法向与拍摄方向的夹角逐渐变小。
显然,面片的法向与第一目标图像的拍摄方向的夹角越大,则面片与第一目标图像之间的正视程度越高,因此,通过使得能量函数的值与“面片的法向和拍摄方向的夹角”负相关,则能量函数的值越小,求得的第一目标图像的拍摄方向与面片的法向的夹角越大,面片与第一目标图像之间的正视程度越高。
面片与第一目标图像的视点之间的距离越小,则面片与第一目标图像之间的正视程度越高,第一目标图像的清晰度越高,则能量函数的值越小。因此,通过使得能量函数的值与“面片和第一目标图像的视点之间的距离”正相关,则能量函数的值越小,求得的第一目标图像的视点与面片的距离越小,面片与第一目标图像之间的正视程度越高,第一目标图像的清晰度越高。
如前文所述,图像的清晰度越高,则三维影像的观感越好,因此,通过使得能量函数的值与图像清晰度负相关,则能量函数的值越小,求得的第一目标图像的清晰度越高。
在一种可能的实现方式中,所述第一参数还包括惩罚参数;所述惩罚参数,用于表征所述三维模型中的相邻面片是否与同一第一目标图像相对应;所述惩罚参数,在所述三维模型中的相邻面片不与同一第一目标图像相对应的情况下,使得所述能量函数的值变大。
在相邻的面片对应同一张纹理图像的情况下,贴图后的相邻面片对应的是同一图像上相邻接的两部分区域,这样在三维影像在视觉上的过度更为自然,而如果相邻的面片对应不同的纹理图像,则贴图后两个面片的衔接处可能会存在错位,即存在纹理缝隙。
因此,在能量函数中,也可将相邻面片是否与同一第一目标图像相对应考虑进去,具体地,可以通过在能量函数中增加惩罚参数来实现,该惩罚参数用于表征三维模型中的相邻面片是否与同一第一目标图像相对应,在三维模型中的相邻面片不与同一第一目标图像相对应的情况下,该惩罚参数能够使得能量函数的值变大,而求解能量函数时是求解使得能量函数最小的映射方式,因此,该惩罚参数能够使得求解出的映射方式中,相邻面片尽可能地与同一第一目标图像相对应,减少相邻面片之间的纹理缝隙,提高纹理贴片后的三维影像的视觉效果。
或者,在三维模型中的相邻面片与同一第一目标图像相对应的情况下,该惩罚参数能够使得能量函数的值变小,而求解能量函数时是求解使得能量函数最小的映射方式,同样的,该惩罚参数能够使得求解出的映射方式中,相邻面片尽可能地与同一第一目标图像相对应,减少相邻面片之间的纹理缝隙,提高纹理贴片后的三维影像的视觉效果。
仍以上文为例,面片1对应第一目标图像A、B,面片2对应第一目标图像B、D,若面片1、面片2为相邻面片,则上述方式7、方式8这两种映射方式中,面片1、面片2对应相同的第一目标图像B,这两种方式相应的能量函数值中的惩罚参数比其他方式更小。
为便于理解从第一目标图像中确定面片的纹理图像的过程,下面通过具体的表达式来进行示例性说明。
首先对前文的三种第一参数进行说明:
面片的法向与第一目标图像的拍摄方向的夹角Angle(f,Is)通过如下公式(4)衡量。
Angle(f,Is)=-Norm(f)·View(Is) (4)
其中,View(Is)表示图像Is的中心视线方向(即拍摄方向),Angle(f,Is)能够指示面片f的法向与第一目标图像Is的拍摄方向的夹角,该值越大,指示面片与第一目标图像之间的正视程度越高。
面片与第一目标图像的视点的距离Dist(f,Is)通过如下公式(5)衡量。
面片在第一目标图像中的投影区域的图像清晰度Image(f,Is)通过如下公式(6)衡量。
其中,表示顶点Vc(f)在图像Is中投影的像素点,为像素的图像梯度值,该梯度值例如可以是Sobel值,能够衡量面片在图像中投影的清晰度,因此,Image(f,Is)指示面片在图像中投影区域的图像清晰度,该值越大,图像清晰度越高。
在同时考虑以上三个参数的情况下,可以通过公式(7)将以上三个参数进行综合。
Df(Is)=Angle(f,Is)Dist(f,Is)Image(f,Is) (7)
Df(Is)指示综合考虑Angle(f,Is)、Dist(f,Is)、Image(f,Is)三个参数后的分值,该分值越高,则纹理贴片后的三维影像的视觉效果越好。
依据第一参数构建的能量函数如公式(8)所示:
其中,Is(f)为面片f和相对应的第一目标图像IS的映射关系,也是方程要求解的未知数,F为三维模型的面片集合,每个面片f∈F,面片的相邻关系记为N。
Ed(f,Is(f))为单个面片f关于第一目标图像Is(f)的数据项,该数据项与单个面片和第一目标图像的第一参数相关,其计算方法为Ed(f,Is(f))=1-Df(Is)。Ed(f,Is(f))与Df(Is)负相关,这样当Df(Is)越大时,便能够使得能量函数越小,以对能量函数进行求解。
Es(f1,f2,Is(f1),Is(f2))为惩罚参数,在相邻面片f1和f2对应的第一目标图像Is(f1)和Is(f2)不同的情况下,使得能量函数的值变大,即用来惩罚Is(f1)和Is(f2)不一致的情况,其计算方法如公式(9)所示:
即,当相邻面片不与同一第一目标图像相对应的情况下,该惩罚参数能够使得能量函数的值变大,相邻面片与同一第一目标图像相对应的情况下,该惩罚参数能够保持能量函数的值不变。以使得能量函数最小时求解出的映射方式中,相邻面片尽可能地与同一第一目标图像相对应,减少相邻面片之间的纹理缝隙,提高纹理贴片后的三维影像的视觉效果。
以上公式均为示意性的,三种第一参数的计算方式、综合方式、能量函数的计算公式等均可根据需要来选择,只要满足上述正相关或负相关的定性关系即可,本公开对此不作限制。
在一种可能的实现方式中,所述针对各所述映射方式分别计算能量函数的值,包括:针对与所述面片相对应的第一目标图像,通过最大流最小割算法得到各映射方式,并计算各映射方式的能量函数的值。
在根据最大流最小割算法求解能量函数的过程中,最大流最小割算法会在相邻的两个面片之间进行第一目标图像的交换,以得到多种不同的映射方式。例如,对于相邻面片的两个面片分别标记为α和β,假如与面片α相对应的第一目标图像为I1和I2,与面片β相对应的第一目标图像也是I1和I2,最大流最小割算法会在α和β之间进行第一目标图像的交换,以得到四种不同的映射方式:α-I1和β-I1;α-I1和β-I2;α-I2和β-I1;α-I2和β-I2。
针对得到的每个映射方式,计算能量函数的值,最终遍历所有的映射方式,找到使得能量函数的值最小的映射方式。
在本公开实施例中,由于从多个拍摄方向的图像中预先确定了面片对应的第一目标图像,在通过最大流最小割算法确定映射方式并计算能量函数的值的过程中,第一目标图像以外的其它图像无需参与计算,因此可以加快能量函数求解的速度,提高了纹理映射的效率,能够更好地适用于手机等移动设备。
利用本公开提供的纹理映射算法,可以通过移动设备的深度摄像头(RGBD摄像头)拍摄目标物体,得到目标物体的深度信息和多个拍摄方向的图像,在依据深度信息构建目标物体的三维模型之后,可以利用本公开提供的纹理映射算法高效地完成三维模型的纹理映射,从而在移动设备中向用户展现带有多视角纹理贴图的三维模型。
请参阅图3,为本公开提供的一种纹理映射方法的应用场景示意图,在该应用场景中,从多个拍摄角度拍摄了雕塑的图像,为便于描述,这里将该图像构成的集合称为多视图图像集。
图3左下角的三维模型可以是通过雕塑的深度信息构建的,三维模型上没有色彩信息,深度信息往往只能反映雕塑的结构轮廓。图3中的三维模型的表面可以划分出多块面片,面片的划分在图中并未示出。
针对三维模型中框选的眼部区域,分别从多视图图像集中选取了三张图像,作为与眼部区域的面片相对应的第一目标图像;针对三维模型中框选的嘴部区域,也分别从多视图图像集中选取了三张图像,作为与嘴部区域的面片相对应的第一目标图像。
得到的第一目标图像即为面片候选的纹理图像,这里将第一目标图像构成的集合称为第一目标图像集。需要说明的是,得到的第一目标图像可以是多视图图像相集中的未进行裁切的图像,或者,也可以是对多视图图像相集中的图像进行裁剪后的图像。
在从多视图图像集中选取第一目标图像的过程中,会依据前文所述的预设条件来选取,以尽可能地选取角度正视、清晰以及未被三维模型遮挡的图像作为面片的第一目标图像,具体过程请参见前文确定第一目标图像的实现方式,此处不做赘述。
在确定与面片相对应的第一目标图像后,由于面片和第一目标图像之间可以组合出多种映射方式,因此,可以通过前文所述的能量函数,利用最大流最小割算法对能量函数进行求解,得到使得能量函数的值最小的映射方式,该映射方式中图像与面片之间的映射关系即为最优的映射关系,然后依据最优的映射关系对面片进行纹理贴图,即可得到如图2中右上角所示的三维影像。
在一种可能的实现方式中,所述纹理映射方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。或者,可通过服务器执行所述方法。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了纹理映射装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种纹理映射方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图4示出根据本公开实施例的纹理映射装置的框图,如图4所示,所述装置40包括:
第一目标图像确定模块41,用于从三维模型对应的多个拍摄方向的图像中,确定与所述三维模型的面片相对应的第一目标图像,其中,所述面片与相对应的第一目标图像的相对关系符合预设条件,所述预设条件包括:在所述图像的拍摄方向,所述面片未被所述三维模型遮挡;
第二目标图像确定模块42,用于在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像。
在一种可能的实现方式中,所述装置还包括:
遮挡确定模块,用于根据所述面片在所述图像中投影的高度,以及所述面片在所述图像中投影的像素点的深度,确定所述面片是否被所述三维模型遮挡。
在一种可能的实现方式中,所述遮挡确定模块,用于响应于所述高度和所述深度的差异值在预设范围内,确定所述面片未被所述三维模型遮挡。
在一种可能的实现方式中,所述预设条件还包括下述至少一种:
所述面片的正面朝向所述图像的拍摄方向;
所述面片的正面朝向所述图像的视点至所述面片中心的方向;
所述面片在所述图像中的投影区在所述图像的边界范围内。
在一种可能的实现方式中,所述第二目标图像确定模块42,用于根据所述第一目标图像以及第一参数,确定作为所述面片的纹理图像的第二目标图像;
所述第一参数包括下述至少一种:
所述面片的法向与所述第一目标图像的拍摄方向的夹角;
所述面片与所述第一目标图像的视点的距离;
所述面片在所述第一目标图像中的投影区域的图像清晰度。
在一种可能的实现方式中,所述第二目标图像确定模块42,用于确定面片和第一目标图像之间的多种映射方式;针对各所述映射方式分别计算能量函数的值,所述能量函数根据所述第一参数构建;根据使得所述能量函数的值最小的映射方式,确定作为所述面片的纹理图像的第二目标图像。
在一种可能的实现方式中,所述能量函数的值与所述夹角负相关;
所述能量函数的值与所述距离正相关;
所述能量函数的值与所述图像清晰度负相关。
在一种可能的实现方式中,所述第一参数还包括惩罚参数;
所述惩罚参数,用于表征所述三维模型中的相邻面片是否与同一第一目标图像相对应;
所述惩罚参数,在所述三维模型中的相邻面片不与同一第一目标图像相对应的情况下,使得所述能量函数的值变大。
在一种可能的实现方式中,所述第二目标图像确定模块42,用于针对与所述面片相对应的第一目标图像,通过最大流最小割算法得到各映射方式,并计算各映射方式的能量函数的值。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的纹理映射方法的指令。
本公开实施例还提供了另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的纹理映射方法的操作。
电子设备可以被提供为终端、服务器或其它形态的设备。
图5示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
参照图5,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如互补金属氧化物半导体(CMOS)或电荷耦合装置(CCD)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如无线网络(WiFi),第二代移动通信技术(2G)或第三代移动通信技术(3G),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图6示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图6,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows ServerTM),苹果公司推出的基于图形用户界面操作系统(Mac OSXTM),多用户多进程的计算机操作系统(UnixTM),自由和开放原代码的类Unix操作系统(LinuxTM),开放原代码的类Unix操作系统(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (12)
1.一种纹理映射方法,其特征在于,包括:
从三维模型对应的多个拍摄方向的图像中,确定与所述三维模型的面片相对应的第一目标图像,其中,所述面片与相对应的第一目标图像的相对关系符合预设条件,所述预设条件包括:在所述图像的拍摄方向,所述面片未被所述三维模型遮挡;
在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述面片在所述图像中投影的高度,以及所述面片在所述图像中投影的像素点的深度,确定所述面片是否被所述三维模型遮挡。
3.根据权利要求2所述的方法,其特征在于,所述确定所述面片是否被所述三维模型遮挡,包括:
响应于所述高度和所述深度的差异值在预设范围内,确定所述面片未被所述三维模型遮挡。
4.根据权利要求1-3任一所述的方法,其特征在于,所述预设条件还包括下述至少一种:
所述面片的正面朝向所述图像的拍摄方向;
所述面片的正面朝向所述图像的视点至所述面片中心的方向;
所述面片在所述图像中的投影区在所述图像的边界范围内。
5.根据权利要求1-3任一所述方法,其特征在于,所述在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像,包括:
根据所述第一目标图像以及第一参数,确定作为所述面片的纹理图像的第二目标图像;
所述第一参数包括下述至少一种:
所述面片的法向与所述第一目标图像的拍摄方向的夹角;
所述面片与所述第一目标图像的视点的距离;
所述面片在所述第一目标图像中的投影区域的图像清晰度。
6.根据权利要求5所述方法,其特征在于,所述在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像,包括:
确定面片和第一目标图像之间的多种映射方式;
针对各所述映射方式分别计算能量函数的值,所述能量函数根据所述第一参数构建;
根据使得所述能量函数的值最小的映射方式,确定作为所述面片的纹理图像的第二目标图像。
7.根据权利要求6所述方法,其特征在于,
所述能量函数的值与所述夹角负相关;
所述能量函数的值与所述距离正相关;
所述能量函数的值与所述图像清晰度负相关。
8.根据权利要求6所述方法,其特征在于,所述第一参数还包括惩罚参数;
所述惩罚参数,用于表征所述三维模型中的相邻面片是否与同一第一目标图像相对应;
所述惩罚参数,在所述三维模型中的相邻面片不与同一第一目标图像相对应的情况下,使得所述能量函数的值变大。
9.根据权利要求6所述方法,其特征在于,所述针对各所述映射方式分别计算能量函数的值,包括:
针对与所述面片相对应的第一目标图像,通过最大流最小割算法得到各映射方式,并计算各映射方式的能量函数的值。
10.一种纹理映射装置,其特征在于,包括:
第一目标图像确定模块,用于从三维模型对应的多个拍摄方向的图像中,确定与所述三维模型的面片相对应的第一目标图像,其中,所述面片与相对应的第一目标图像的相对关系符合预设条件,所述预设条件包括:在所述图像的拍摄方向,所述面片未被所述三维模型遮挡;
第二目标图像确定模块,用于在所述第一目标图像中,确定作为所述面片的纹理图像的第二目标图像。
11.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至9中任意一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至9中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011337091.XA CN112270737A (zh) | 2020-11-25 | 2020-11-25 | 一种纹理映射方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011337091.XA CN112270737A (zh) | 2020-11-25 | 2020-11-25 | 一种纹理映射方法及装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112270737A true CN112270737A (zh) | 2021-01-26 |
Family
ID=74340351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011337091.XA Pending CN112270737A (zh) | 2020-11-25 | 2020-11-25 | 一种纹理映射方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112270737A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113822936A (zh) * | 2021-09-29 | 2021-12-21 | 北京市商汤科技开发有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100315412A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Piecewise planar reconstruction of three-dimensional scenes |
CN104574501A (zh) * | 2014-12-19 | 2015-04-29 | 浙江大学 | 一种针对复杂三维场景的高质量纹理映射方法 |
US20170046868A1 (en) * | 2015-08-14 | 2017-02-16 | Samsung Electronics Co., Ltd. | Method and apparatus for constructing three dimensional model of object |
CN107610108A (zh) * | 2017-09-04 | 2018-01-19 | 腾讯科技(深圳)有限公司 | 图像处理方法和装置 |
CN108154553A (zh) * | 2018-01-04 | 2018-06-12 | 中测新图(北京)遥感技术有限责任公司 | 一种三维模型与监控视频的无缝融合方法及装置 |
US20190108646A1 (en) * | 2017-10-11 | 2019-04-11 | Alibaba Group Holding Limited | Image processing method, apparatus, and storage medium |
US20190244412A1 (en) * | 2018-02-06 | 2019-08-08 | A9.Com, Inc. | Photorealistic three dimensional texturing using canonical views and a two-stage approach |
CN110163947A (zh) * | 2019-05-24 | 2019-08-23 | 北京华捷艾米科技有限公司 | 一种纹理贴图的方法和相关装置 |
CN110378948A (zh) * | 2019-07-02 | 2019-10-25 | 北京字节跳动网络技术有限公司 | 3d模型重建方法、装置及电子设备 |
CN110807451A (zh) * | 2020-01-08 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 人脸关键点检测方法、装置、设备及存储介质 |
CN111369659A (zh) * | 2018-12-26 | 2020-07-03 | 杭州海康威视数字技术股份有限公司 | 一种基于三维模型的纹理映射方法、装置及设备 |
CN111563950A (zh) * | 2020-05-07 | 2020-08-21 | 贝壳技术有限公司 | 纹理映射策略确定方法、装置及计算机可读存储介质 |
CN111627119A (zh) * | 2020-05-22 | 2020-09-04 | Oppo广东移动通信有限公司 | 纹理贴图方法及装置、设备、存储介质 |
-
2020
- 2020-11-25 CN CN202011337091.XA patent/CN112270737A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100315412A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Piecewise planar reconstruction of three-dimensional scenes |
CN104574501A (zh) * | 2014-12-19 | 2015-04-29 | 浙江大学 | 一种针对复杂三维场景的高质量纹理映射方法 |
US20170046868A1 (en) * | 2015-08-14 | 2017-02-16 | Samsung Electronics Co., Ltd. | Method and apparatus for constructing three dimensional model of object |
CN107610108A (zh) * | 2017-09-04 | 2018-01-19 | 腾讯科技(深圳)有限公司 | 图像处理方法和装置 |
US20190108646A1 (en) * | 2017-10-11 | 2019-04-11 | Alibaba Group Holding Limited | Image processing method, apparatus, and storage medium |
CN108154553A (zh) * | 2018-01-04 | 2018-06-12 | 中测新图(北京)遥感技术有限责任公司 | 一种三维模型与监控视频的无缝融合方法及装置 |
US20190244412A1 (en) * | 2018-02-06 | 2019-08-08 | A9.Com, Inc. | Photorealistic three dimensional texturing using canonical views and a two-stage approach |
CN111369659A (zh) * | 2018-12-26 | 2020-07-03 | 杭州海康威视数字技术股份有限公司 | 一种基于三维模型的纹理映射方法、装置及设备 |
CN110163947A (zh) * | 2019-05-24 | 2019-08-23 | 北京华捷艾米科技有限公司 | 一种纹理贴图的方法和相关装置 |
CN110378948A (zh) * | 2019-07-02 | 2019-10-25 | 北京字节跳动网络技术有限公司 | 3d模型重建方法、装置及电子设备 |
CN110807451A (zh) * | 2020-01-08 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 人脸关键点检测方法、装置、设备及存储介质 |
CN111563950A (zh) * | 2020-05-07 | 2020-08-21 | 贝壳技术有限公司 | 纹理映射策略确定方法、装置及计算机可读存储介质 |
CN111627119A (zh) * | 2020-05-22 | 2020-09-04 | Oppo广东移动通信有限公司 | 纹理贴图方法及装置、设备、存储介质 |
Non-Patent Citations (4)
Title |
---|
JIE SHU 等: "Rich and Seamless Texture Mapping to 3D Mesh Models", 《ADVANCES IN IMAGE AND GRAPHICS TECHNOLOGIES》, pages 69 * |
姜翰青 等: "面向复杂三维场景的高质量纹理映射", 《计算机学报》, vol. 38, no. 12, pages 2349 - 2360 * |
王一 等: "一种基于梯度和与一致性组合策略的无缝纹理映射方法研究", 《测绘工程》, vol. 26, no. 11, pages 6 - 11 * |
郭复胜 等: "无人机图像全自动生成大比例尺真正射影像方法", 《中国科学:信息科学》, vol. 43, no. 11, pages 1383 - 1397 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113822936A (zh) * | 2021-09-29 | 2021-12-21 | 北京市商汤科技开发有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11205282B2 (en) | Relocalization method and apparatus in camera pose tracking process and storage medium | |
CN110097576B (zh) | 图像特征点的运动信息确定方法、任务执行方法和设备 | |
EP3511864A1 (en) | Method and apparatus for synthesizing virtual and real objects | |
CN110148178B (zh) | 相机定位方法、装置、终端及存储介质 | |
CN110321048B (zh) | 三维全景场景信息处理、交互方法及装置 | |
CN109584362B (zh) | 三维模型构建方法及装置、电子设备和存储介质 | |
CN111246095B (zh) | 控制镜头运动的方法、装置、设备及存储介质 | |
CN109302632B (zh) | 获取直播视频画面的方法、装置、终端及存储介质 | |
CN110928627A (zh) | 界面展示方法及装置、电子设备和存储介质 | |
TWI752473B (zh) | 圖像處理方法及裝置、電子設備和電腦可讀儲存媒體 | |
WO2021238564A1 (zh) | 显示设备及其畸变参数确定方法、装置、系统及存储介质 | |
WO2022134475A1 (zh) | 点云地图构建方法及装置、电子设备、存储介质和程序 | |
CN112184787A (zh) | 图像配准方法及装置、电子设备和存储介质 | |
CN112581358A (zh) | 图像处理模型的训练方法、图像处理方法及装置 | |
WO2023273498A1 (zh) | 深度检测方法及装置、电子设备和存储介质 | |
CN110807769B (zh) | 图像显示控制方法及装置 | |
CN112308103B (zh) | 生成训练样本的方法和装置 | |
CN113345000A (zh) | 深度检测方法及装置、电子设备和存储介质 | |
CN112270737A (zh) | 一种纹理映射方法及装置、电子设备和存储介质 | |
CN112837372A (zh) | 数据生成方法及装置、电子设备和存储介质 | |
CN108304841B (zh) | 乳头定位方法、装置及存储介质 | |
CN110335224B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN110443841B (zh) | 地面深度的测量方法、装置及系统 | |
CN114390189A (zh) | 图像处理方法、装置、存储介质及移动终端 | |
CN112767541A (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 |