CN108510578A - 三维模型搭建方法、装置及电子设备 - Google Patents
三维模型搭建方法、装置及电子设备 Download PDFInfo
- Publication number
- CN108510578A CN108510578A CN201810205307.3A CN201810205307A CN108510578A CN 108510578 A CN108510578 A CN 108510578A CN 201810205307 A CN201810205307 A CN 201810205307A CN 108510578 A CN108510578 A CN 108510578A
- Authority
- CN
- China
- Prior art keywords
- moment
- vertex
- threedimensional model
- graph
- dimensional
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 239000011159 matrix material Substances 0.000 claims abstract description 77
- 238000010586 diagram Methods 0.000 claims description 24
- 230000004927 fusion Effects 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 7
- 230000014509 gene expression Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 25
- 230000036544 posture Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- SEQDDYPDSLOBDC-UHFFFAOYSA-N Temazepam Chemical compound N=1C(O)C(=O)N(C)C2=CC=C(Cl)C=C2C=1C1=CC=CC=C1 SEQDDYPDSLOBDC-UHFFFAOYSA-N 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明实施例提供一种三维模型搭建方法、装置及电子设备,该方法包括:获取深度图像,根据第K时刻的深度图像确定第K时刻的相对三维顶点图和相对顶点法线图,利用第K时刻的相对三维顶点图、第K‑1时刻的校准后相对三维顶点图和校准后相对顶点法线图确定第K时刻的第一姿态矩阵。将第K时刻的绝对三维顶点图和第K‑1时刻对应的三维模型中包含的数据进行融合,得到第K时刻对应的三维模型。上述方法中,建模设备基于深度图像搭建三维模型,且对第K‑1时刻的相对三维顶点图和相对顶点法线图的校准处理可以提高第K时刻的相机姿态确定的准确性也即是间接提高第K时刻对应的三维模型的精准度,最终使搭建起的真实场景对应的三维模型也是具有较高精准度的。
Description
技术领域
本发明涉及虚拟现实技术领域,尤其涉及一种三维模型搭建方法、装置及电子设备。
背景技术
近几年,虚拟现实(Virtual Reality,简称VR)技术已经在例如,建筑、医疗、媒体等众多领域得到了广泛应用。日常生活中一种最常见的应用场景是:用户使用头戴式显示设备玩游戏,此时,用户在头戴式显示设备中看到的游戏场景可以理解为一个三维模型的一部分。
用户沉浸感的高低与三维模型搭建的精确度有着密切的关系。现有技术中,通常是先利用彩色相机拍摄实物场景对应的颜色图像,再根据颜色图像中的图像信息搭建三维模型。但利用颜色图像并不能准确地估计出物体的空间位置,从而导致搭建出的模型精准度不高。
发明内容
有鉴于此,本发明实施例提供一种三维模型搭建方法、装置及电子设备,用以提高三维模型的搭建的精准度。
本发明实施例提供一种三维模型搭建方法,包括:
获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像;
根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图,其中,K为整数且2<K≤P,P值与所述至少一张深度图像的数目相等;
根据所述第K时刻的相对三维顶点图以及第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图生成深度相机在第K时刻的第一姿态矩阵;
将处于世界坐标系下的第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据融合,以得到第K时刻对应的三维模型,其中,所述第K时刻的绝对三维顶点图是根据所述第K时刻的第一姿态矩阵以及所述第K时刻的相对三维顶点图得到的。
本发明提供一种三维模型搭建装置,包括:
获取模块,用于获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像;
确定模块,用于根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图,其中,K为整数且2<K≤P,P值与所述至少一张深度图像的数目相等;
生成模块,用于根据所述第K时刻的相对三维顶点图以及第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图生成深度相机在第K时刻的第一姿态矩阵;
融合模块,用于将处于世界坐标系下的第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据融合,以得到第K时刻对应的三维模型,其中,所述第K时刻的绝对三维顶点图是根据所述第K时刻的第一姿态矩阵以及所述第K时刻的相对三维顶点图得到的。
本发明实施例提供一种电子设备,包括:存储器,以及与所述存储器连接的处理器;
所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器,用于执行所述一条或多条计算机指令以实现上述三维模型搭建方法。
本发明实施例提供的三维模型搭建方法、装置及电子设备,建模设备获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像,此至少一张深度图像包括真实场景中各个方位的全部内容。然后,建模设备根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图。再利用第K时刻的相对三维顶点图、第K-1时刻的校准后相对三维顶点图以及校准后相对顶点法线图确定相机的第一姿态矩阵即相机在第K时刻时的姿态。接着,建模设备根据第K时刻的第一姿态矩阵将第K时刻的相对三维顶点图转换为处于世界坐标系下的绝对三维顶点图,并将第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据进行融合,从而得到第K时刻对应的三维模型。根据上述描述可知,本发明提供的方法,建模设备是基于可以清楚表明物体位置关系的深度图像进行三维模型的搭建,并且在搭建第K时刻对应的三维模型的过程中建模设备还会对第K-1时刻的相对三维顶点图和相对顶点法线图进行校准,再使用第K-1时刻的校准后相对三维顶点图和校准后相对顶点法线图来确定相机姿态。由于相机姿态的确定需要同时使用相邻两时刻的相对三维顶点图和相对顶点法线图,且每一时刻的相对三维顶点图和相对顶点法线图都是存在误差的,因此,建模设备的校准处理可以有效减少误差的不断累积,提高确定出的第K时刻相机姿态的准确性。由于搭建第K时刻对应的三维模型需要第K时刻的相机姿态,因此,提高确定出的第K时刻相机姿态的准确性也即是间接提高了搭建出的第K时刻对应的三维模型的精准度。建模设备通过提高每一时刻对应的三维模型的精准度来相应提高真实场景对应的三维模型的精准度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的三维模型搭建方法实施例一的流程图;
图2为本发明实施例提供的三维模型搭建方法实施例二的流程图;
图3为本发明实施例提供的三维模型搭建方法实施例三的流程图;
图4为本发明实施例提供的三维模型搭建装置实施例一的结构示意图;
图5为本发明实施例提供的三维模型搭建装置实施例二的结构示意图;
图6为本发明实施例提供的三维模型搭建装置实施例三的结构示意图;
图7为本发明实施例提供的电子设备实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述XXX,但这些XXX不应限于这些术语。这些术语仅用来将XXX彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一XXX也可以被称为第二XXX,类似地,第二XXX也可以被称为第一XXX。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
在介绍本发明提供的三维模型搭建方法的具体实施方式前,首先介绍一下此方法的基本思路:从整体来说,本发明提供的方法可以理解为一种迭代建模方式。具体地,建模设备先获取到第t时刻的深度图像,根据第t时刻的深度图像搭建起对应于此第t时刻的三维模型。然后,建模设备再在第t时刻对应的三维模型的基础上结合第t+1时刻的深度图像搭建起第t+1时刻对应的三维模型,直至搭建设备将最后一个时刻的深度图像使用完毕,也即是搭建起真实场景对应的三维模型。
基于此,图1为本发明实施例提供的三维模型搭建方法实施例一的流程图,本实施例提供的该三维模型搭建方法的执行主体可以为建模设备,如图1所示,该方法包括如下步骤:
S101,获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像。
深度相机可以按照预设时间间隔不断拍摄真实场景对应的深度图片,其中,深度相机拍摄的预设时间间隔可以根据真实场景的情况不同进行人为设置。在实际应用中,可选地,技术人员可以站在真实场景中的中心位置手持深度相机旋转一周,从而使深度相机拍得至少一张深度图像,其中,拍得的至少一张深度图像可以全方位的描述真实场景中包含的所有物体的位置信息。
然后,深度相机可以主动将拍得的至少一张深度图像发送至建模设备,或者建模设备也可以主动向深度相机获取至少一张图像。其中,每一张深度图像对应于一个时刻,具体来说,拍得的第1张深度图像对应于第1时刻,拍得的第T张图像对应于第T时刻。可选地,深度相机可以是基于反射时间测量原理(Time of Flight,简称TOF)的深度相机。
可选地,在实际应用中,技术人员拍得的至少一张深度图像通常为上千张,深度图像的数目越多,搭建出的三维模型越精准。并且,拍摄至少一张深度图像所需的时间可以是预设时间,并且预设时间的长短与真实场景的复杂度有关,场景越复杂,预设时间越长。
S102,根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图,其中,K为整数且2<K≤P,P值与至少一张深度图像的数目相等。
在获取到至少一张深度图像后,建模设备可以根据第K时刻的深度图像确定出处于相机坐标系下的第K时刻的三维顶点图以及顶点法线图。其中,相机坐标系是以相机光轴与图像平面的交点为原点所构成的直角坐标系。由于在拍摄深度图像的过程中深度相机光轴所在的方向是不断变化的,从而导致相机光轴与图像平面的交点也是不断变化的,因此,相机坐标系是一个相对坐标系,所以,第K时刻的三维顶点图以及顶点法线图也分别被称为第K时刻的相对三维顶点图以及相对顶点法线图。
基于上述描述,可选地,建模设备可以采用以下方式来确定第K时刻的相对三维顶点图以及相对顶点法线图。
首先,建模设备先根据以下公式确定第K时刻的相对三维顶点图:
其中,VK(u)为第K时刻的相对三维顶点图,DK(u)为第K时刻的深度图像,L-1为深度相机的内参矩阵,为像素参数,u=(u,v)表示第K时刻的深度图像中任一像素点,u和v分别表示像素点u在深度图像中所在的行和列。
进而,建模设备再根据由第K时刻的相对三维顶点图中的任一顶点和与此任一顶点相邻的两个顶点构成的向量确定第K时刻的相对顶点法线图。
一种可选地方式,针对于第K时刻的相对三维顶点图,其中的任一顶点可以分别和与此任一顶点相邻的两个顶点构成两个向量。建模设备可以根据第K时刻的相对三维顶点图中每个顶点对应的两个向量的向量积来确定出第K时刻的相对顶点法线图。具体来说,建模设备可以根据以下公式确定第K时刻的顶点法线图:
其中,NK(u)为第K时刻的相对顶点法线图,u1=(u+1,v),u2=(u,v+1)分别为在第K时刻的深度图像中分别与u=(u,v)相邻的两个像素点,VK(u),VK(u1),VK(u2)分别为第K时刻的深度图像中像素点u,u1,u2在第K时刻相对三维顶点图中对应的顶点,VK(u1)-VK(u)为由顶点VK(u)和VK(u1)构成的向量,Vk(u2)-Vk(u)为由VK(u)和VK(u2)构成的向量,表示对x进行归一化处理。
需要说明的是,为了进一步提高最终搭建的三维模型的精准度,可选地,在获取到第K时刻的深度图像后,建模设备还可以对此第K时刻的深度图像进行双边滤波处理,以去除深度图像中的噪声,从而得到去噪后的深度图像。建模设备可以对此去噪后的深度图像执行上述处理,从而确定出第K时刻的相对三维顶点图以及相对顶点法线图。具体的确定方式仍然可以采用上述公式,在此不再进行详细描述。
S103,根据第K时刻的相对三维顶点图以及第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图生成深度相机在第K时刻的第一姿态矩阵。
其中,第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图是对第K-1时刻的相对三维顶点图、相对顶点法线图进行校准处理后得到的。同时,第K时刻的第一姿态矩阵也即是相机在第K时刻的姿态。其中,第一姿态矩阵可以同时表示深度相机的旋转角度和平移位移。可选地,在实际应用中,第一姿态矩阵可以是一个4×4的矩阵。
建模设备之所以要对第K-1时刻的相对三维顶点图和相对顶点法线图进行校准处理是因为:第K-1时刻的相对三维顶点图以及相对顶点法线图是不可避免的会存在误差的,而经过校准处理后则可以很好的减小此误差。建模设备便可以基于此误差较小的校准后相对三维顶点图、校准后相对顶点法线图来较为准确地确定出第一姿态矩阵。另外,此校准处理也可以减小随着三维模型的不断搭建相对三维顶点图以及相对顶点法线图中产生的累积误差,从而提高确定出的第一姿态矩阵准确性。
基于此,一种可选地方式,建模设备可以采用以下公式确定第K时刻的第一姿态矩阵:
其中,Tg,K为第K时刻的第一姿态矩阵,VK(u)为第K时刻的相对三维顶点图,为第K-1时刻的校准后相对三维顶点图,为第K-1时刻的校准后相对顶点法线图,u和u'为一对关联点,U为由全部关联点组成的集合。
在此对构成集合U的关联点进行说明:由于建模设备获取的至少一张深度图像是深度相机从真实场景中的不同视点出发拍得的。且相邻两张深度图像对应的视点之间的夹角通常较小,因此,相邻两张深度图像中的绝大多数像素点包含的图像信息是相同的,因此,根据两张相邻深度图像中具有相同图像信息的两个像素点生成的两个顶点可以称为一对关联点。
上述确定第一姿态矩阵的公式可以理解为一个Tg,K为自变量,E(Tg,K)为因变量的函数,因此,利用上述公式求解第K时刻的第一姿态矩阵Tg,K的过程可以理解为:求解当因变量E(Tg,K)具有最小值时自变量Tg,K的值。
此处需要说明的是,上述的校准处理的具体过程以及关联点的具体确定过程都可以参见下述实施例中的相关描述。
S104,将处于世界坐标系下的第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据融合,以得到第K时刻对应的三维模型。
正如实施例一之前的内容中所描述的,搭建第K时刻对应的三维模型需要同时利用第K-1时刻对应的三维模型以及第K时刻的深度图像,也即是在搭建第K时刻对应的三维模型时需要将第K时刻的相对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据进行融合,且第K时刻的深度图像中的数据可以为第K时刻的相对三维顶点图中包含的顶点位置信息。
但第K时刻的相对三维顶点图中的顶点位置信息是处于相机坐标系的,而第K-1时刻对应的三维模型中的三维数据是处于世界坐标系的,如果直接进行数据融合,则会使搭建出的第K时刻对应的三维模型的精准度大大减低。
因此,在进行数据融合之前,搭建设备还需要将第K时刻的相对三维顶点图转换为处于世界坐标系下的三维顶点图。世界坐标系是一个绝对坐标系,所以说,处于世界坐标系下的三维顶点图被称为绝对三维顶点图。
在建模设备确定出第K时刻的第一姿态矩阵后,可选地,建模设备可以利用以下公式将第K时刻的相对三维顶点图转换为第K时刻的绝对三维顶点图:
其中,为第K时刻的绝对三维顶点图,为第一姿态矩阵的逆矩阵,为第K-1时刻的校准后相对三维顶点图。
接着,建模设备可以基于第K时刻的绝对三维顶点图进行数据融合。一种可选地方式:
第K-1时刻对应的三维模型中已经包含有多个物体,且每个物体都是由若干个三维数据点构成的。为了后续描述便捷,在本实施例中可以将当前已经搭建起的三维模型中用于构成物体表面的三维数据点称为表面数据点。建模设备可以分别计算出第K时刻绝对三维顶点图中各个顶点与表面数据点之间的距离值。若距离值不等于0,则表明此顶点不位于由表面数据点构成的物体表面之上;若距离值等于0,则表明此顶点位于由表面数据点构成的物体表面之上。
通过上述计算后,第K时刻的绝对三维顶点图中的每个顶点都有一个对应的距离值,建模设备可以根据距离值将第K时刻的绝对三维顶点图中满足预设条件的顶点重新确定为构成物体表面的表面数据点,并用此重新确定出的表面数据点替换第K-1时刻对应的三维模型中的表面数据点,从而搭建起第K时刻对应的三维模型。可选地,可以重新确定为表面数据点的顶点需要满足以下条件:与可以重新确定为表面数据点的顶点相邻的两个顶点的距离值异号。举例来说,假设第K时刻绝对三维顶点图中相邻的三个顶点A、B、C的距离值分别为-0.2、0.1,0.2,此时,可以将顶点B重新确定为表面数据点。
需要说明的是,建模设备执行步骤S104的过程也即是在第K时刻的绝对三维顶点图中确定出用于构成第K时刻对应的三维模型中各个物体表面的点的过程。本实施例中,建模设备获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像,此至少一张深度图像包括真实场景中各个方位的全部内容。然后,建模设备根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图。再利用第K时刻的相对三维顶点图、第K-1时刻的校准后相对三维顶点图以及校准后相对顶点法线图确定相机的第一姿态矩阵即相机在第K时刻时的姿态。接着,建模设备根据第K时刻的第一姿态矩阵将第K时刻的相对三维顶点图转换为处于世界坐标系下的绝对三维顶点图,并将第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据进行融合,从而得到第K时刻对应的三维模型。根据上述描述可知,本发明提供的方法,建模设备是基于可以清楚表明物体位置关系的深度图像进行三维模型的搭建,并且在搭建第K时刻对应的三维模型的过程中建模设备还会对第K-1时刻的相对三维顶点图和相对顶点法线图进行校准,再使用第K-1时刻的校准后相对三维顶点图和校准后相对顶点法线图来确定相机姿态。由于相机姿态的确定需要同时使用相邻两时刻的相对三维顶点图和相对顶点法线图,且每一时刻的相对三维顶点图和相对顶点法线图都是存在误差的,因此,建模设备的校准处理可以有效减少误差的不断累积,提高确定出的第K时刻相机姿态的准确性。由于搭建第K时刻对应的三维模型需要第K时刻对应的相机姿态,因此,提高确定出的第K时刻相机姿态的准确性也即是间接提高了搭建出的第K时刻对应的三维模型的精准度。建模设备可以通过提高每一时刻对应的三维模型的精准度来相应提高真实场景对应的三维模型的精准度。
图2为本发明实施例提供的三维模型搭建方法实施例二的流程图,如图2所示,该方法包括如下步骤:
S201,获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像。
S202,根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图,其中,K为整数且2<K≤P,P值与至少一张深度图像的数目相等。
上述步骤S201-S202执行过程与前述实施例的相应步骤相似,可以参见如图1所示实施例中的相关描述,在此再不赘述。
S203,根据第K-2时刻对应的三维模型以及深度相机的位置,对第K-1时刻的相对三维顶点图和相对顶点法线图进行校准,以得到第K-1时刻的校准后相对三维顶点图和校准后相对顶点法线图。
正如在实施例一中的描述,为了提高确定出的第一姿态矩阵的准确性,建模设备需要对第K-1时刻的相对三维顶点图和相对顶点法线图进行校准处理,一种可选地方式,建模设备可以通过执行下述步骤来实现校准处理:
第一,计算由深度相机的位置、第K-1时刻的相对三维顶点图中任一顶点构成的直线是否与第K-2时刻对应的三维模型中的物体表面相交。
第二,若直线与物体表面相交,则用交点替换第K-1时刻的相对三维顶点图中的任一顶点,以得到第K-1时刻的校准后相对三维顶点图。
第三,根据第K-1时刻的校准后相对三维顶点图生成第K-1时刻的校准后相对顶点法线图。
具体地,为了描述的清晰,以第K-1时刻的相对三维顶点图中的顶点A进行校准过程的说明:
由于在生成第K-1时刻的相对三维顶点图和相对顶点法线图之前,建模设备已经根据第K-2时刻的数据搭建起第K-2时刻对应的三维模型了,也就意味着建模设备已经知晓构成第K-2时刻对应的三维模型中各个物体的表面方程了。同时,建模设备可以根据第K-1时刻的相对三维顶点图中顶点A的顶点坐标以及深度相机在相机坐标系中的坐标确定出一条直线,并计算直线与各个表面方程之间是否相交,其中,深度相机在相机坐标系中的坐标也即是坐标原点。若直线与某一表面相交,则用计算出的交点替换顶点A在第K-1时刻的相对三维顶点图中的位置。此时也即是完成了对第K-1时刻的相对三维顶点图中顶点A的校准处理。在建模设备对第K-1时刻的相对三维顶点图中所有顶点都进行上述计算以及替换处理后,也即是生成了第K-1时刻的校准后相对三维顶点图。
根据第K-1时刻的校准后相对三维顶点图生成第K-1时刻的校准后相对顶点法线图的方式与根据第K-1时刻的相对三维顶点图生成第K-1时刻的相对顶点法线图类似,具体内容可参见实施例一中步骤S102中提供的相关公式,在此不再赘述。
S204,分别确定第K-1时刻的校准后相对三维顶点图与第K时刻的相对三维顶点图以及第K-1时刻的校准后相对顶点法线图与第K时刻的相对顶点法线图中的关联点。
在建模设备对第K-1时刻的相对三维顶点图以及相对顶点法线图进行校准后,建模设备需要进一步确定出关联点,以最终得到第K时刻相机的第一姿态矩阵。
本实施例在此提供一种可选地确定关联点的方式:
第一,计算第K时刻的相对三维顶点图与第K-1时刻的校准后相对三维顶点图中对应顶点之间的距离值。
其中,每一个时刻的相对三维顶点图中的各个顶点都是根据该时刻的深度图像中的各个像素点计算得到的,也即是相对三维顶点图中的每个顶点都对应于深度图像中的一个像素点。基于此,第K时刻的深度图像中像素坐标为(x,y)的像素点对应的顶点可以和第K-1时刻的深度图像中像素坐标同样为(x,y)的像素点对应的顶点称为一对对应顶点。
建模设备可以分别计算出每对对应顶点之间的距离值。
第二,计算对应顶点的法线之间的夹角。
基于确定出的对应顶点,建模设备还根据第K-1时刻的校准后相对顶点法线图与第K时刻的相对顶点法线图计算每一对对应顶点之间的法线夹角。
第三,确定距离值和夹角同时满足预设距离阈值和预设角度阈值的对应顶点为关联点。
当一对对应顶点的距离值和法线夹角同时满足预设距离值和预设角度阈值时,此一对对应顶点即为一对关联点。可选地,实际应用中,预设距离阈值可以为0.3m,预设角度阈值可以为30°。
S205,根据关联点生成深度相机在第K时刻的第一姿态矩阵。
可选地,建模设备按照实施例一中提供的公式生成深度相机在第K时刻的第一姿态矩阵。具体内容不再此赘述。
建模设备执行上述步骤的过程也即是建模设备根据第K时刻的深度图像确定出第K时刻的第一姿态矩阵的过程。在实际应用中,可选地,建模设备还可以通过统计的方法来进一步提高确定出的第一姿态矩阵准确性。
具体来说,在得到第K时刻的深度图像后,建模设备可以对第K时刻的深度图像的分辨率进行调整,以得到多张不同分辨率的第K时刻的深度图像。针对每一张深度图像,建模设备都可以按照上述方式生成一个对应的第一姿态矩阵。最终,可以将多个第一姿态矩阵的平均值作为第K时刻的第一姿态矩阵,也即是通过多次计算求均值的方式提高第一姿态矩阵的准确性。
S206,将处于世界坐标系下的第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据融合,以得到第K时刻对应的三维模型。
上述步骤S206执行过程与前述实施例的相应步骤相似,可以参见如图1所示实施例中的相关描述,在此再不赘述。
经过步骤S206后,建模设备已经得到了第K时刻对应的三维模型,但此三维模型只是一个较为粗糙的模型,三维模型中物体表面是凹凸不平的,这种三维模型是不能够满足使用要求的。因此,在实际应用中,在步骤S206之后,上述三维模型搭建方法还可以包括:
S207,对第K时刻对应的三维模型进行表面重建。
可选地,建模设备可以根据第K时刻对应的绝对顶点法线图对第K时刻对应的三维模型进行泊松表面重建,从而达到对三维模型进行平滑处理的效果。
与实施例一中第K时刻的绝对三维顶点图获得的方式相类似,可选地,建模设备可以利用以下公式得到第K时刻的绝对顶点法线图:
其中,为第K时刻的绝对三维法线图,为第K-1时刻的校准后相对三维法线图,为第二姿态矩阵的逆矩阵,第二姿态矩阵为第一姿态矩阵的子矩阵,其中包含有相机的旋转角度。可选地,在实际应用中,第二姿态矩阵可以是一个3×3的矩阵。
S208,若K=P,则对表面重建后的第K时刻对应的三维模型进行纹理贴图。
在建模设备对第K时刻对应的三维模型进行表面重建后,即可得到经过表面重建后的第K时刻对应的三维模型也即是物体表面光滑的三维模型。此时,建模设备判断K是否与P相等,也即是判断在第K+1时刻的深度图像。若K=P,则表明不存在第K+1时刻的深度图像建模设备已经将深度相机拍摄的深度图像全部使用完毕。此时建模设备得到的第K时刻的三维模型是一个包含有真实场景中各个物体之间空间位置关系的三维模型。进而,建模设备可以通过纹理贴图的方式将真实场景中各个物体的色彩信息添加到第K时刻对应的三维模型中,以最终完成真实场景对应的三维模型的搭建。若K≠P,则表明存在第K+1时刻的深度图像,此时建模设备需要继续重复上述步骤S201-S206的过程,以进一步得到第K+1时刻的三维模型。
另外,在实际建模过程中还会出现真实场景的距离范围超出了深度相机的最大拍摄距离的情况。为了应对此种情况,可选地,建模设备可以对此大距离范围的真实场景采取分段建模的方式。
具体地,技术人员可以根据深度相机的最大拍摄距离以及真实场景的距离范围将真实场景划分为N段,每一段真实场景的距离范围与深度相机的最大拍摄距离相等,其中,N≥2。
接着,技术人员同样可以利用深度相机分别拍摄每一段真实场景,从而得到针对于每一段真实场景的至少一张深度图像。建模设备遍可以获取到深度相机分别在N段真实场景中按照预设时间间隔拍得的深度图像。在获取到深度图像之后,建模设备可以为每一张深度图像添加位置标识,位置标识用以表示此张深度图像对应于哪一段真实场景。
进而,建模设备可以按照上述实施例一或者实施例二中描述的方法搭建出第M段真实场景对应的三维模型。此时,建模设备记录下在搭建第M段真实场景对应的三维模型的过程中生成的深度相机在最终拍摄时刻时的第一姿态矩阵,并将此最终时刻的第一姿态矩阵确定为第M+1段真实场景的起始拍摄时刻的第一姿态矩阵。建模设备再根据此第一姿态矩阵以及第M+1段真实场景的深度图像搭建起第M+1段真实场景对应的三维模型。
最终,建模图像将全部N段真实场景对应的三维模型中包含的三维数据进行融合,以得到一个大范围的真实场景对应的三维模型。
在此需要说明的是,上述分段建模方式可以适用于本实施例以及上述和下述的所有实施例中。
本实施例中,建模设备在确定出第K时刻的相对三维顶点图以及相对顶点法线图后,建模设备还会对第K-1时刻的相对三维顶点图和相对顶点法线图进行校准,再将第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图以及第K和第K-1相邻两时刻的三维顶点图中的关联点结合使用从而确定出第K时刻的相机姿态。由于相机姿态的确定需要同时使用相邻两时刻的相对三维顶点图和相对顶点法线图,且每一时刻的相对三维顶点图和相对顶点法线图都是存在误差的,因此,建模设备的校准处理可以有效减少误差的不断累积,提高确定出的第K时刻相机姿态的准确性。且搭建第K时刻对应的三维模型需要第K时刻对应的相机姿态,因此,提高确定出的第K时刻相机姿态的准确性也即是间接提高了搭建出的第K时刻对应的三维模型的精准度。同时,为了进一步提高第K时刻对应三维模型的精准度,还可以对第K时刻对应的三维模型进行表面重建,以实现对三维模型中物体的表面的平滑处理。当K=P时,建模设备还会对第K时刻对应的三维模型进行纹理贴图处理,从而得到真实场景对应的三维模型。另外,当真实场景的距离范围超出深度相机的最大拍摄距离时,建模设备可以通过分段建模的方式来搭建此大距离范围的真实场景对应的三维模型。这种分段建模的方式也扩大了本发明提供的三维建模方式的使用场景。
上述实施例都是以技术人员对真实场景进行一次拍摄后得到至少一张深度图像为基础进行描述的。但容易想到的,深度相机拍得的深度图像的数目越多,建模设备最终搭建起的三维模型的精准度也越高。
因此,图3为本发明实施例提供的三维模型搭建方法实施例三的流程图,如图3所示,该方法包括如下步骤:
S301,获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像。
此时,技术人员可以对真实场景进行预设次数的拍摄,以得到多次拍摄到的至少一张深度图像,其中,每次拍摄得到的深度图像的数目是相同的。建模设备在获取到拍得的至少一张深度图像后,会为每张深度图像添加拍摄次数标识,此采集次数标识用以表示此张深度图像是针对于真实场景的第几次拍摄。技术人员对真实场景任一次拍摄的具体过程都可以参加实施例一步骤S101中的相关描述,在此不再赘述。
S302,根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图,其中,K为整数且2<K≤P,P值与至少一张深度图像的数目相等。
S303,根据第K时刻的相对三维顶点图以及第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图生成深度相机在第K时刻的第一姿态矩阵。
对真实场景的多次拍摄会使建模设备获取到多张第K时刻的深度图像,此时,建模设备可以分别得到多个第K时刻的相对三维顶点图以及相对顶点法线图以及多个第K时刻的第一姿态矩阵。可选地,建模设备可以将此多个第K时刻的第一姿态矩阵的平均值作为用于搭建第K时刻对应的三维模型的第一姿态矩阵,也可以将多个第K时刻的第一姿态矩阵的任一矩阵作为用于搭建第K时刻对应的三维模型的第一姿态矩阵。而针对多个第K时刻的第一姿态矩阵中任一第一姿态矩阵,可选地,建模设备还可以通过统计的方法来进一步提高此任一第一姿态矩阵的准确性,具体操作过程可以参见实施例二步骤S205中的相关描述,在此不再赘述。
S304,针对深度相机的任一次拍摄,计算第K时刻的绝对三维顶点图中各顶点到第K-1时刻对应的三维模型中物体表面的距离值。
S305,调整距离值大于预设最大距离或者距离值小于预设最小距离的顶点的权重值。
针对深度相机的任一次拍摄,第K时刻的绝对三维顶点图中各个顶点到第K-1时刻对应的三维模型中物体表面的距离值的计算过程可以参见实施例一步骤S104中的相关描述,在此再不赘述。
建模设备可以按照实施例一中提供的方式计算出每一次拍摄得到的第K时刻深度图像的第K时刻的绝对三维顶点图中各个顶点到第K-1时刻对应的三维模型中物体表面的距离值。当距离值大于预设最大距离或者小于预设最小距离时,建模设备会调整此顶点的权重值,其中,可选地,所有顶点都具有相同的初始权重值,并且预设最大距离和预设最小距离具有相反的正负关系。
一种可选地调整规则可以为:将距离值大于预设最大距离或者小于预设最小距离的顶点的权重值直接调整为0。另一种可选地调整规则可以为:根据距离值与预设最大距离或者最小距离相差的程度高低,梯度调整顶点的权重值。举例来说,距离值与预设最大距离或者最小距离相差的程度较高,可以将具有此距离值的顶点的权重值从初始权重值调整为一个接近于0的数值,距离值与预设最大距离或者最小距离相差的程度较低,可以将具有此距离值的顶点的权重值整为一个与初始权重值相差不大的数值。
上述过程只是对一次拍摄对应的第K时刻的绝对三维顶点图中各个顶点的权重值进行调整的过程。通过多次执行上述操作即可完成对预设次数拍摄分别对应的第K时刻的绝对三维顶点图中各个顶点的权重值进行调整。
S306,根据预设拍摄次数的第K时刻的绝对三维顶点图中各顶点的距离值以及调整后的权重值确定处于第K时刻对应的三维模型中物体表面上的顶点。
S307,根据处于物体表面上的顶点搭建第K时刻的三维模型。
在对顶点的权重值进行调整后,可选地,建模设备可以利用以下公式确定出用于搭建第K时刻对应的三维模型的绝对三维顶点图中任一顶点的距离值:
其中,D(u)为用于搭建第K时刻对应的三维模型的绝对三维顶点图中任一顶点的距离值任一顶点的距离值,wi(u)为第i次拍摄得到的第K时刻的绝对三维顶点图中任一顶点的调整后权重值,di(u)为第i次拍摄得到的第K时刻的绝对三维顶点图中任一顶点的距离值,i为拍摄次数。
其中,用于搭建第K时刻对应的三维模型的绝对三维顶点图是一个虚拟概念,实际搭建过程中并没有生成此绝对三维顶点图,此三维顶点图中各个顶点的距离值实际上根据预设拍摄次数的第K时刻的绝对三维顶点图中各个顶点的距离值计算得到的。
在建模设备通过上述方式计算出各个顶点的距离值后,可选地,建模设备可以根据相邻顶点的距离值确定处于第K时刻对应的三维模型中物体表面上的顶点。举例来说,假设用于搭建第K时刻对应的三维模型的绝对三维顶点图中存在一顶点A,顶点A的距离值为D1,与此顶点A相邻的顶点B、C的距离值分别为D2和D3,若D2>0且D3<0,则顶点A可以确定为处于物体表面上的顶点。此时,由处于物体表面上的顶点组成的集合可以称为点云集合。
接着,一种可选地方式,建模设备可以采用以下方式搭建第K时刻对应的三维模型。
第一,计算处于物体表面上的顶点中的起始顶点与剩余顶点之间的距离,以由起始顶点与两个目标顶点构成第K时刻对应的三维模型中的一平面,其中,起始顶点为处于物体表面上的顶点中的任一顶点,目标顶点为距离起始顶点距离最近的两个剩余顶点。
第二,根据通过遍历物体表面上的所有顶点得到全部平面搭建第K时刻对应的三维模型。
具体地,建模设备可以选取点云集合中的任一顶点作为起始顶点,集合中的其他顶点即为剩余顶点。建模设备计算起始顶点和全部剩余顶点之间的距离,将与起始顶点最近的两个顶点确定为目标顶点,并由起始顶点和目标顶点构成一个三角形平面,此三角形平面也即是第K时刻的三维模型中某物体的一平面。此时起始顶点以及两个目标顶点可以被建模设备标记为已使用顶点。
然后,将前述目标顶点中的任一顶点作为新的起始顶点,并重新计算新的起始顶点与其他非使用顶点之间的距离,以确定出又一平面。在将点云集合中的全部顶点使用完毕后即可生成若干个三角形平面,建模设备可以根据生成的若干个三角形平面搭建起第K时刻对应的三维模型,其中,由生成的若干个三角形平面组成的集合可以称为三角面片集合。三角面片集合中的每个平面都是一个较小的平面,并且都是具有朝向的。
另一种可选地方式,建模设备还可以利用区域扩张重建法、基于隐式曲面重建法或者基于统计学重建法来获得三角面片集合,在此本发明并不对三角面片集合的获取方式进行限定。
S308,对第K时刻对应的三维模型进行表面重建。
经过上述操作后建模设备得到的第K时刻对应的三维模型只是一个较为粗糙的三维模型,因此,建模设备还需要对此三维模型进行表面重建也即是对三维模型中各个物体的表面进行平滑处理。
可选地,建模设备可以采用以下方式对三维模型进行表面重建:
第一,计算在第K时刻对应的三维模型中具有公共顶点的平面的法向量。
第二,根据具有公共顶点的平面的法向量调整第K时刻的绝对顶点法线图中公共顶点的法线方向,其中,第K时刻的绝对顶点法线图由第K时刻的相对顶点法线图以及第二姿态矩阵确定,第二姿态矩阵为第一姿态矩阵的子矩阵。
第三,根据调整后的法线方向对第K时刻搭建的三维模型进行表面重建。
具体来说,一种可选地方式,建模设备可以根据以下公式计算三角面片集合中任一平面的法向量:
其中,f为平面的法向量,i,j,k分别为三角形平面的三个顶点,e(i,j)和e(j,k)为三角形平面的两条边,表示对x进行归一化处理。
上述公式只是一种可选的方式,其中只用到了三角形平面的e(i,j)和e(j,k)两条边。在实际应用中,可选地,三角面片集合中任一平面法向量的计算还可以使用e(j,k)和e(k,i)两条边或者e(k,i)和e(i,j)两条边,但此时上述计算公式也需要进行相应修改。
然后,建模设备可以再根据多个具有公共顶点的平面的法向量确定此公共顶点的法线。
一种可选地方式,可以根据以下公式确定公共顶点的法线:其中,n为公共顶点的法线,m表示由此公共顶点构成的平面的个数,fi为m个平面中任一平面的法向量。
建模设备可以将此公共顶点的法线重新确定为此顶点的法线,也即是实现了根据具有公共顶点的平面的法向量调整第K时刻的绝对顶点法线图中公共顶点法线的过程。其中,第K时刻的绝对顶点法线图可以是根据深度相机对真实场景的任一次拍摄得到的第K时刻的深度图像对应的第K时刻绝对顶点法线图,并且此第K时刻的绝对顶点法线图可以按照上述实施例一步骤S105中的相关描述获得,在此不再赘述。
最后,建模设备根据点云集合中各个顶点的法线对第K时刻的三维模型进行泊松表面重建处理,也即是实现对第K时刻的三维模型进行平滑处理的效果。
S309,若K=P,则对表面重建后的第K时刻对应的三维模型进行纹理贴图。
上述步骤S309执行过程与前述实施例的相应步骤相似,可以参见如图1或图2所示实施例中的相关描述,在此再不赘述。
本实施例中,建模设备利用多次拍摄得到的多张深度图像得到对应的多张绝对三维顶点图。再通过对多张绝对三维顶点图中个顶点的权重值进行调整后确定出处于三维模型中物体表面的顶点。然后,建模设备根据处于三维模型中物体表面的顶点得到三维模型中用于构成物体的若干个三角形小平面,并由此若干三角形小平面组成粗糙的三维模型,最后建模设备利用统计的方式对处于三维模型中物体表面的顶点的法线方向进行调整,并最终根据调整后的法线方向对粗糙的三维模型进行表面重建,以得到一个精准度较高的三维模型。上述过程简单来说就是建模设备通过对真实场景的多次拍摄从而得到数量较多的深度图像,在通过使用多数量深度图像来搭建三维模型,从而提高搭建出的三维模型的精准度。
图4为本发明实施例提供的三维模型搭建装置实施例一的结构示意图,如图4所示,该三维模型搭建装置包括:获取模块11、确定模块12、生成模块13和融合模块14。
获取模块11,用于获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像。
确定模块12,用于根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图,其中,K为整数且2<K≤P,P值与至少一张深度图像的数目相等。
生成模块13,用于根据第K时刻的相对三维顶点图以及第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图生成深度相机在第K时刻的第一姿态矩阵。
融合模块14,用于将处于世界坐标系下的第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据融合,以得到第K时刻对应的三维模型,其中,第K时刻的绝对三维顶点图是根据第K时刻的第一姿态矩阵以及第K时刻的相对三维顶点图得到的。
可选地,该三维模型搭建装置中的确定模块12具体用于:
根据以下公式确定第K时刻的相对三维顶点图:
其中,VK(u)为第K时刻的相对三维顶点图,DK(u)为第K时刻的深度图像,L-1为深度相机的内参矩阵,为像素参数,u=(u,v)表示第K时刻的深度图像中任一像素点的像素位置,以及根据由第K时刻的相对三维顶点图中的任一顶点和与任一顶点相邻的两个顶点构成的向量确定第K时刻的相对顶点法线图。
图4所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
图5为本发明实施例提供的三维模型搭建装置实施例二的结构示意图,如图5所示,在图4所示实施例基础上,该三维模型搭建装置中的生成模块13包括:校准单元131、确定单元132和生成单元133。
校准单元131,用于根据第K-2时刻对应的三维模型以及深度相机的位置,对第K-1时刻的相对三维顶点图和相对顶点法线图进行校准,以得到第K-1时刻的校准后相对三维顶点图和校准后相对顶点法线图。
确定单元132,用于分别确定第K-1时刻的校准后相对三维顶点图与第K时刻的相对三维顶点图以及第K-1时刻的校准后相对顶点法线图与第K时刻的相对顶点法线图中的关联点。
生成单元133,用于根据关联点生成深度相机在第K时刻的第一姿态矩阵。
可选地,该三维模型搭建装置中的校准单元131具体用于:
计算由深度相机的位置、第K-1时刻的相对三维顶点图中任一顶点构成的直线是否与第K-2时刻对应的三维模型中的物体表面相交,以及
若直线与物体表面相交,则用交点替换第K-1时刻的相对三维顶点图中的任一顶点,以得到第K-1时刻的校准后相对三维顶点图,以及
根据第K-1时刻的校准后相对三维顶点图生成第K-1时刻的校准后相对顶点法线图。
可选地,该三维模型搭建装置中的确定单元132具体用于:
计算第K时刻的相对三维顶点图与第K-1时刻的校准后相对三维顶点图中对应顶点之间的距离值,其中,对应顶点分别为由第K时刻的深度图像和第K-1时刻的深度图像中相同位置的像素点生成的一对顶点,以及计算对应顶点的法线之间的夹角,以及确定距离值和夹角同时满足预设距离阈值和预设角度阈值的对应顶点为关联点。
可选地,为了进一步提高第K时刻对应的三维模型的精准度,该三维模型搭建装置还包括:表面重建模块21和纹理贴图模块22。
表面重建模块21,用于对第K时刻对应的三维模型进行表面重建。
纹理贴图模块22,用于若K=P,则对表面重建后的第K时刻对应的三维模型进行纹理贴图。
可选地,在真实场景的距离范围超出了深度相机的最大拍摄距离时,该三维模型搭建装置中的获取模块11还用于:获取深度相机分别在N段真实场景中按照预设时间间隔拍得的深度图像,其中,N≥2且每段真实场景的距离范围与深度相机的最大拍摄距离相等。
生成模块13,还用于通过将第M段真实场景的最终拍摄时刻的第一姿态矩阵确定为第M+1段真实场景的起始拍摄时刻的第一姿态矩阵,生成第M+1段真实场景对应的三维模型,其中,M+1≤N。
融合模块14,还用于将每一段真实场景对应的三维模型中包含的三维数据进行融合,以得到真实场景对应的三维模型。
图5所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。
图6为本发明实施例提供的三维模型搭建装置实施例三的结构示意图,如图6所示,在图5所示实施例基础上,深度相机按照预设时间间隔对真实场景进行预设次数的拍摄;
该三维模型搭建装置中的融合模块14包括:计算单元141、调整单元142、确定单元143和搭建单元144。
计算单元141,用于针对深度相机的任一次拍摄,计算第K时刻的绝对三维顶点图中各顶点到第K-1时刻对应的三维模型中物体表面的距离值。
调整单元142,用于调整距离值大于预设最大距离或者距离值小于预设最小距离的顶点的权重值,其中,预设最大距离和预设最小距离异号。
确定单元143,用于根据预设拍摄次数的第K时刻的绝对三维顶点图中各顶点的距离值以及调整后的权重值确定处于第K时刻对应的三维模型中物体表面上的顶点。
搭建单元144,用于根据处于物体表面上的顶点搭建第K时刻对应的三维模型。
可选地,该三维模型搭建装置中的搭建单元144具体用于:
计算处于物体表面上的顶点中的起始顶点与剩余顶点之间的距离,以由起始顶点与两个目标顶点构成第K时刻对应的三维模型中的一平面,其中,起始顶点为处于物体表面上的顶点中的任一顶点,目标顶点为距离起始顶点距离最近的两个剩余顶点,以及
根据通过遍历物体表面上的所有顶点得到全部平面搭建第K时刻对应的三维模型。
可选地,该三维模型搭建装置中的表面重建模块21具体包括:计算单元211、调整单元212和表面重建单元213。
计算单元211,用于计算在第K时刻对应的三维模型中具有公共顶点的平面的法向量。
调整单元212,用于根据具有公共顶点的平面的法向量调整第K时刻的绝对顶点法线图中公共顶点的法线方向,其中,第K时刻的绝对顶点法线图由第K时刻的相对顶点法线图以及第二姿态矩阵确定,第二姿态矩阵为第一姿态矩阵的子矩阵。
表面重建单元213,用于根据调整后的法线方向对第K时刻对应的三维模型进行表面重建。
图6所示装置可以执行图3所示实施例的方法,本实施例未详细描述的部分,可参考对图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3所示实施例中的描述,在此不再赘述。
以上描述了三维模型搭建装置的内部功能和结构,在一个可能的设计中,三维模型搭建装置的结构可实现为一电子设备,例如计算机。图7为本发明实施例提供的电子设备实施例一的结构示意图,如图7所示,该电子设备包括:存储器31,以及与存储器连接的处理器32,存储器31用于存储电子设备执行上述任一实施例中提供的三维模型搭建方法的程序,处理器32被配置为用于执行存储器31中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器32执行时能够实现如下步骤:
获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像;
根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图,其中,K为整数且2<K≤P,P值与至少一张深度图像的数目相等;
根据第K时刻的相对三维顶点图以及第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图生成深度相机在第K时刻的第一姿态矩阵;
将处于世界坐标系下的第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据融合,以得到第K时刻对应的三维模型,其中,第K时刻的绝对三维顶点图是根据第K时刻的第一姿态矩阵以及第K时刻的相对三维顶点图得到的。
可选地,处理器32还用于执行前述各方法步骤中的全部或部分步骤。
其中,电子设备的结构中还可以包括通信接口33,用于电子设备与其他设备或通信网络通信。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以产品的形式体现出来,该计算机产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种三维模型搭建方法,其特征在于,包括:
获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像;
根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图,其中,K为整数且2<K≤P,P值与所述至少一张深度图像的数目相等;
根据所述第K时刻的相对三维顶点图以及第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图生成深度相机在第K时刻的第一姿态矩阵;
将处于世界坐标系下的第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据融合,以得到第K时刻对应的三维模型,其中,所述第K时刻的绝对三维顶点图是根据所述第K时刻的第一姿态矩阵以及所述第K时刻的相对三维顶点图得到的。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第K时刻的相对三维顶点图以及第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图生成深度相机在第K时刻的第一姿态矩阵,包括:
根据第K-2时刻对应的三维模型以及深度相机的位置,对第K-1时刻的相对三维顶点图和相对顶点法线图进行校准,以得到所述第K-1时刻的校准后相对三维顶点图和校准后相对顶点法线图;
分别确定所述第K-1时刻的校准后相对三维顶点图与所述第K时刻的相对三维顶点图以及所述第K-1时刻的校准后相对顶点法线图与所述第K时刻的相对顶点法线图中的关联点;
根据所述关联点生成深度相机在第K时刻的第一姿态矩阵。
3.根据权利要求2所述的方法,其特征在于,所述根据第K-2时刻对应的三维模型以及深度相机的位置,对第K-1时刻的相对三维顶点图和相对顶点法线图进行校准,以得到所述第K-1时刻的校准后相对三维顶点图和校准后相对顶点法线图,包括:
计算由所述深度相机的位置和所述第K-1时刻的相对三维顶点图中任一顶点构成的直线是否与第K-2时刻对应的三维模型中的物体表面相交;
若所述直线与所述物体表面相交,则用交点替换所述第K-1时刻的相对三维顶点图中的所述任一顶点,以得到所述第K-1时刻的校准后相对三维顶点图;
根据所述第K-1时刻的校准后相对三维顶点图生成所述第K-1时刻的校准后相对顶点法线图。
4.根据权利要求2所述的方法,其特征在于,所述分别确定所述第K-1时刻的校准后相对三维顶点图与所述第K时刻的相对三维顶点图以及所述第K-1时刻的校准后相对顶点法线图与所述第K时刻的相对顶点法线图中的关联点,包括:
计算所述第K时刻的相对三维顶点图与所述第K-1时刻的校准后相对三维顶点图中对应顶点之间的距离值,其中,所述对应顶点分别为由第K时刻的深度图像和第K-1时刻的深度图像中相同位置的像素点生成的一对顶点;
计算所述对应顶点的法线之间的夹角;
确定所述距离值和所述夹角同时满足预设距离阈值和预设角度阈值的对应顶点为所述关联点。
5.根据权利要求1所述的方法,其特征在于,所述根据第K时刻拍得的深度图像确定第K时刻的相对三维顶点图以及相对顶点法线图,包括:
根据以下公式确定所述第K时刻的相对三维顶点图:
其中,VK(u)为第K时刻的相对三维顶点图,DK(u)为第K时刻的深度图像,L-1为深度相机的内参矩阵,为像素参数,u=(u,v)表示所述第K时刻的深度图像中任一像素点的像素位置;
根据由所述第K时刻的相对三维顶点图中的任一顶点和与所述任一顶点相邻的两个顶点构成的向量确定所述第K时刻的相对顶点法线图。
6.根据权利要求1所述的方法,其特征在于,深度相机按照预设时间间隔对所述真实场景进行预设次数的拍摄;
所述将处于世界坐标系下的第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据融合,以得到第K时刻对应的三维模型,包括:
针对深度相机的任一次拍摄,计算第K时刻的绝对三维顶点图中各顶点到第K-1时刻对应的三维模型中物体表面的距离值;
调整所述距离值大于预设最大距离或者所述距离值小于预设最小距离的顶点的权重值;
根据预设拍摄次数的第K时刻的绝对三维顶点图中各顶点的距离值以及调整后的权重值确定处于所述第K时刻对应的三维模型中物体表面上的顶点;
根据处于物体表面上的顶点搭建第K时刻对应的三维模型。
7.根据权利要求6所述的方法,其特征在于,所述根据所述处于物体表面上的顶点搭建第K时刻对应的三维模型,包括:
计算所述处于物体表面上的顶点中的起始顶点与剩余顶点之间的距离,以由所述起始顶点与两个目标顶点构成所述第K时刻对应的三维模型中的一平面,其中,所述起始顶点为所述处于物体表面上的顶点中的任一顶点,所述目标顶点为距离所述起始顶点距离最近的两个剩余顶点;
根据通过遍历所述物体表面上的所有顶点得到全部平面搭建所述第K时刻对应的三维模型。
8.根据权利要求7所述的方法,其特征在于,在所述将处于世界坐标系下的第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据融合,以得到第K时刻对应的三维模型之后,还包括:
若K=P,则对所述第K时刻对应的三维模型进行表面重建;
对表面重建后的第K时刻对应的三维模型进行纹理贴图。
9.根据权利要求8所述的方法,其特征在于,所述对所述第K时刻对应的三维模型进行表面重建,包括:
计算在所述第K时刻对应的三维模型中具有公共顶点的平面的法向量;
根据所述具有公共顶点的平面的法向量调整第K时刻的绝对顶点法线图中所述公共顶点的法线方向,其中,所述第K时刻的绝对顶点法线图由所述第K时刻的相对顶点法线图以及第二姿态矩阵确定,所述第二姿态矩阵为所述第一姿态矩阵的子矩阵;
根据调整后的法线方向对所述第K时刻对应的三维模型进行表面重建。
10.根据权利要求1至9中任一项所述的方法,其特征在于,在真实场景的距离范围超出了所述深度相机的最大拍摄距离时,还包括:
获取深度相机分别在N段真实场景中按照预设时间间隔拍得的深度图像,其中,N≥2且每段真实场景的距离范围与所述深度相机的最大拍摄距离相等;
通过将第M段真实场景的最终拍摄时刻的第一姿态矩阵确定为第M+1段真实场景的起始拍摄时刻的第一姿态矩阵,生成第M+1段真实场景对应的三维模型,其中,M+1≤N;
将每一段真实场景对应的三维模型中包含的三维数据进行融合,以得到真实场景对应的三维模型。
11.一种三维模型搭建装置,其特征在于,包括:
获取模块,用于获取深度相机按照预设时间间隔在真实场景中拍得的至少一张深度图像;
确定模块,用于根据第K时刻拍得的深度图像确定处于相机坐标系下的第K时刻的相对三维顶点图以及相对顶点法线图,其中,K为整数且2<K≤P,P值与所述至少一张深度图像的数目相等;
生成模块,用于根据所述第K时刻的相对三维顶点图以及第K-1时刻的校准后相对三维顶点图、校准后相对顶点法线图生成深度相机在第K时刻的第一姿态矩阵;
融合模块,用于将处于世界坐标系下的第K时刻的绝对三维顶点图中包含的顶点位置信息与第K-1时刻对应的三维模型中包含的三维数据融合,以得到第K时刻对应的三维模型,其中,所述第K时刻的绝对三维顶点图是根据所述第K时刻的第一姿态矩阵以及所述第K时刻的相对三维顶点图得到的。
12.一种电子设备,其特征在于,包括:存储器,以及与所述存储器连接的处理器;
所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器,用于执行所述一条或多条计算机指令以实现权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810205307.3A CN108510578B (zh) | 2018-03-13 | 2018-03-13 | 三维模型搭建方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810205307.3A CN108510578B (zh) | 2018-03-13 | 2018-03-13 | 三维模型搭建方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108510578A true CN108510578A (zh) | 2018-09-07 |
CN108510578B CN108510578B (zh) | 2023-04-07 |
Family
ID=63377407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810205307.3A Active CN108510578B (zh) | 2018-03-13 | 2018-03-13 | 三维模型搭建方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108510578B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237544A (zh) * | 2023-11-13 | 2023-12-15 | 天津云圣智能科技有限责任公司 | 一种训练数据的生成方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559737A (zh) * | 2013-11-12 | 2014-02-05 | 中国科学院自动化研究所 | 一种对象全景建模方法 |
CN103700138A (zh) * | 2013-11-27 | 2014-04-02 | 北京航空航天大学 | 一种基于采样数据的动态水面重建方法 |
CN104376558A (zh) * | 2014-11-13 | 2015-02-25 | 浙江大学 | 一种基于长方体的Kinect深度相机的内参标定方法 |
US20150084955A1 (en) * | 2013-09-23 | 2015-03-26 | Beihang University | Method of constructing 3d clothing model based on a single image |
US20150181198A1 (en) * | 2012-01-13 | 2015-06-25 | Softkinetic Software | Automatic Scene Calibration |
-
2018
- 2018-03-13 CN CN201810205307.3A patent/CN108510578B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150181198A1 (en) * | 2012-01-13 | 2015-06-25 | Softkinetic Software | Automatic Scene Calibration |
US20150084955A1 (en) * | 2013-09-23 | 2015-03-26 | Beihang University | Method of constructing 3d clothing model based on a single image |
CN103559737A (zh) * | 2013-11-12 | 2014-02-05 | 中国科学院自动化研究所 | 一种对象全景建模方法 |
CN103700138A (zh) * | 2013-11-27 | 2014-04-02 | 北京航空航天大学 | 一种基于采样数据的动态水面重建方法 |
CN104376558A (zh) * | 2014-11-13 | 2015-02-25 | 浙江大学 | 一种基于长方体的Kinect深度相机的内参标定方法 |
Non-Patent Citations (6)
Title |
---|
ZHONG ZHOU等: "Automatic Mesh Animation Preview With User Voting-Based Refinement", 《IEEE TRANSACTIONS ON MULTIMEDIA》 * |
岳玉芳等: "运动目标识别与跟踪仿真系统的基本技术问题", 《计算机工程与设计》 * |
朱新山等: "基于单个深度相机的带纹理人脸实时重建算法", 《传感器与微系统》 * |
王聪等: "用飞行时间相机优化可视外壳的实时三维重建算法", 《计算机辅助设计与图形学学报》 * |
葛玲: "基于RGB_D的对象分割与重建技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
陆鹏: "基于视觉的移动机器人三维场景感知技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237544A (zh) * | 2023-11-13 | 2023-12-15 | 天津云圣智能科技有限责任公司 | 一种训练数据的生成方法、装置、电子设备及存储介质 |
CN117237544B (zh) * | 2023-11-13 | 2024-01-26 | 天津云圣智能科技有限责任公司 | 一种训练数据的生成方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108510578B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540576B1 (en) | Panoramic camera systems | |
JP4392507B2 (ja) | 3次元サーフェス生成方法 | |
JP4679033B2 (ja) | 深度マップのメジアン値融合のためのシステムおよび方法 | |
EP3057066B1 (en) | Generation of three-dimensional imagery from a two-dimensional image using a depth map | |
Wei et al. | Fisheye video correction | |
CN108335353A (zh) | 动态场景的三维重建方法、装置和系统、服务器、介质 | |
US20100328308A1 (en) | Three Dimensional Mesh Modeling | |
KR20070095040A (ko) | 카메라 보정 방법 및 이를 이용한 3차원 물체 재구성 방법 | |
CN108735052A (zh) | 一种基于slam的增强现实自由落体实验方法 | |
CN113012293A (zh) | 石刻模型构建方法、装置、设备及存储介质 | |
CN115439607A (zh) | 一种三维重建方法、装置、电子设备及存储介质 | |
WO2023116430A1 (zh) | 视频与城市信息模型三维场景融合方法、系统及存储介质 | |
CN110458924A (zh) | 一种三维脸部模型建立方法、装置和电子设备 | |
IL299465A (en) | An object recognition neural network for predicting a missing visual information center | |
CN115375836A (zh) | 基于多元置信度滤波的点云融合三维重建方法和系统 | |
US20180213215A1 (en) | Method and device for displaying a three-dimensional scene on display surface having an arbitrary non-planar shape | |
Yuan et al. | Presim: A 3d photo-realistic environment simulator for visual ai | |
CN108510578A (zh) | 三维模型搭建方法、装置及电子设备 | |
CN111915739A (zh) | 一种实时三维全景信息互动影息系统 | |
Deepu et al. | 3D Reconstruction from Single 2D Image | |
JP2002520969A (ja) | 動き画像からの自動化された3次元シーン走査方法 | |
JP2003323603A (ja) | ステレオマッチング方法、3次元計測方法及び3次元計測装置並びにステレオマッチング方法のプログラム及び3次元計測のプログラム | |
CN115457206A (zh) | 三维模型生成方法、装置、设备及存储介质 | |
CN115311133A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN114913245A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |