CN111133477B - 三维重建方法、装置、系统和存储介质 - Google Patents
三维重建方法、装置、系统和存储介质 Download PDFInfo
- Publication number
- CN111133477B CN111133477B CN201980003597.6A CN201980003597A CN111133477B CN 111133477 B CN111133477 B CN 111133477B CN 201980003597 A CN201980003597 A CN 201980003597A CN 111133477 B CN111133477 B CN 111133477B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- reconstruction
- supplementary
- original
- training
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012549 training Methods 0.000 claims description 123
- 238000013528 artificial neural network Methods 0.000 claims description 51
- 230000000153 supplemental effect Effects 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 21
- 230000000007 visual effect Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 238000000611 regression analysis Methods 0.000 claims description 8
- 230000004927 fusion Effects 0.000 claims description 5
- 238000012935 Averaging Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013178 mathematical model Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009466 transformation 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/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- 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
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- 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
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0012—Biomedical image inspection
-
- 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
-
- 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/55—Depth or shape recovery from multiple images
-
- 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
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- 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/10016—Video; Image sequence
-
- 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/20076—Probabilistic image processing
-
- 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/20081—Training; Learning
-
- 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/20084—Artificial neural networks [ANN]
-
- 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/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30168—Image quality inspection
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
本发明实施例提供了一种三维重建方法、装置、计算机系统及计算机可读存储介质,所述方法包括:对目标物体的原始二维图像进行三维重建,以生成与所述原始二维图像相对应的原始三维物体;基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角;根据所述补充视角,获取所述目标物体的补充二维图像;对所述补充二维图像进行三维重建,以生成与所述补充二维图像相对应的补充三维物体;对所述原始三维物体和所述补充三维物体进行融合,以获得所述目标物体的三维重建结果。上述方案能够利用较少的二维图像得到高质量的重建三维物体。
Description
技术领域
本发明涉及计算机视觉技术领域,更具体地涉及一种三维重建方法、装置、系统和存储介质。
背景技术
三维重建是基于已知的二维图像生成对应的三维物体的过程。由于二维图像是在特定相机视角下拍摄的目标物体,因此只能反映出该特定相机视角下的目标物体特征,而无法展现出目标物体的全部特征。从理论上来说,拍摄目标物体时选取的相机视角越多,重建生成的三维物体相对于目标物体的还原度越高,重建质量就越好。
然而在实际操作中,考虑到计算机资源成本、时间成本、人力成本等因素,不可能无限制地对大量二维图像进行三维重建。因此,如何选取合适视角下的二维图像,并基于选取到的二维图像进行三维重建,成为本领域技术人员亟待解决的技术问题。
发明内容
考虑到上述问题而提出了本发明。
根据本发明一个方面,提供了一种三维重建方法。所述方法包括:
对目标物体的原始二维图像进行三维重建,以生成与所述原始二维图像相对应的原始三维物体;
基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角;
根据所述补充视角,获取所述目标物体的补充二维图像;
对所述补充二维图像进行三维重建,以生成与所述补充二维图像相对应的补充三维物体;以及
对所述原始三维物体和所述补充三维物体进行融合,以获得所述目标物体的三维重建结果。
示例性地,所述对目标物体的原始二维图像进行三维重建包括:
从所述原始二维图像中提取原始图像特征;
对所述原始图像特征通过体素神经网络进行解码,以获得所述目标物体的体素立方体;
基于所述体素立方体确定所述原始三维物体。
示例性地,所述在所述候选视角中选择所述目标物体的补充视角包括:
对所述原始三维物体进行回归分析,以确定所述原始三维物体在多个候选视角下的重建质量;
将最差的重建质量所对应的候选视角确定为所述补充视角。
示例性地,所述对所述原始三维物体进行回归分析利用第一神经网络实现,其中,所述第一神经网络通过以下步骤训练获得:
获取现实的训练物体的训练三维物体;
获取所述训练物体的训练二维图像;
基于所述训练物体的训练二维图像进行三维重建,以生成训练重建物体;
基于预设的训练视角,对所述训练重建物体进行投影,以获得第一投影深度图;
基于所述训练视角,对所述训练三维物体进行投影,以获得第二投影深度图;
计算所述第一投影深度图相对于所述第二投影深度图的差异度;
将所述训练重建物体作为输入数据并将所述差异度作为真值数据,训练所述第一神经网络。
示例性地,所述计算所述第一投影深度图相对于所述第二投影深度图的差异度包括:
获取所述第一投影深度图中的、所述训练重建物体在所述训练视角下可见的每个体素的第一深度值;
对于每个第一深度值,获取所述第二投影深度图中的、所述训练三维物体的对应体素的第二深度值;
计算所述第二深度值和所述第一深度值之间的深度差与所述第二深度值之间的比值;
将所述第一投影深度图中的、所述训练重建物体在所述训练视角下可见的所有体素对应的比值平均,以作为所述差异度。
示例性地,所述训练所述第一神经网络包括:
基于所述输入数据,获取所述第一神经网络对应的输出数据;
根据所述输出数据和所述真值数据计算所述第一神经网络的损失函数;
基于所述损失函数更新所述第一神经网络的参数。
示例性地,所述根据所述补充视角获取所述目标物体的补充二维图像包括:
从数据库中选取与所述补充视角最接近的视角对应的二维图像,以作为所述补充二维图像;或者
基于所述补充视角的相机位姿调整相机,并由所述相机采集所述补充二维图像。
示例性地,所述从数据库中选取与所述补充视角最接近的视角对应的二维图像包括:
获取所述数据库中存储的二维图像的位姿标识符,其中,所述位姿标识符用于标识二维图像对应的视角的相机位姿;
根据所述位姿标识符,确定所述二维图像对应的视角的相机位姿与所述补充视角的相机位姿之间的位姿差;
在位姿差取得最小值的情况,将对应的二维图像确定为所述补充二维图像。
示例性地,在所述对所述原始三维物体和所述补充三维物体进行融合之后,所述三维重建方法还包括:
判断所述三维重建结果中可见的体素占比是否大于第一比例;
对于不大于第一比例的情况,将所述三维重建结果作为所述原始三维物体,并再次基于补充视角进行三维重建,直至所述三维重建结果中可见的体素占比大于所述第一比例。
根据本发明另一方面,还提供了一种三维重建装置,包括:
第一重建模块,用于对目标物体的原始二维图像进行三维重建,以生成与所述原始二维图像相对应的原始三维物体;
补充视角模块,用于基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角;
补充图像模块,用于根据所述补充视角,获取所述目标物体的补充二维图像;
第二重建模块,用于对所述补充二维图像进行三维重建,以生成与所述补充二维图像相对应的补充三维物体;以及
融合模块,用于对所述原始三维物体和所述补充三维物体进行融合,以获得所述目标物体的三维重建结果。
根据本发明再一方面,还提供了一种三维重建系统,包括:处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述的三维重建方法。
根据本发明又一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述的三维重建方法。
根据本发明实施例的技术方案,根据三维物体的重建质量确定补充视角,利用补充视角下的二维图像进行三维重建,能够利用较少的二维图像得到高质量的重建三维物体。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出了根据本发明一个实施例的三维重建方法的示意性流程图;
图2示出了根据本发明一个实施例选择补充视角的示意性流程图;
图3示出了根据本发明一个实施例获得第一神经网络的示意性流程图;
图4示出了根据本发明一个实施例计算差异度的示意性流程图;
图5示出了根据本发明一个实施例训练第一神经网络的示意性流程图;
图6示出了根据本发明一个实施例训练第一神经网络的示意性框图;
图7示出了根据本发明一个实施例从数据库中选取补充二维图像的示意性流程图;
图8示出了根据本发明另一个实施例三维重建方法的示意性流程图;
图9示出了根据本发明一个实施例的三维重建装置的示意性框图;
图10示出了根据本发明一个实施例的用于三维重建系统的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
本文描述的三维重建方案用于在原始二维图像的基础上,根据该原始二维图像的重建质量的反馈,选择更有意义的补充视角下的二维图像,基于原始视角的二维图像和补充视角的二维图像共同进行三维重建,从而利用较少的二维图像得到重建质量较好的重建三维物体。
图1示出了根据本发明一个实施例的三维重建方法100的示意性流程图。如图1所示,所述方法100包括以下步骤。
S110:对目标物体的原始二维图像进行三维重建,以生成与所述原始二维图像相对应的原始三维物体。
原始二维图像可以是利用照相机或摄像机等成像设备直接采集的目标物体的图像。原始二维图像还可以是经预处理操作的图像。示例性地,可以对所采集的图像执行滤波等预处理操作,以获取质量更佳的原始二维图像。原始二维图像可以是在单一视角下得到的单张图像,也可以是在多个不同的视角下得到的多张图像。
可以利用任何现有的或未来研发的基于已知二维图像进行三维重建的方法实现步骤S110的三维重建,以生成原始三维物体,例如基于神经网络的三维重建方法。
所生成的原始三维物体与原始二维图像呈对应关系。该原始三维物体可以用以下方式来表示:点云(Point Cloud)、网格(Mesh)、体素(Voxel)或深度图(Depth map)等。在本发明一个具体示例中,通过体素表示原始三维物体。体素的表示方式是将目标物体所在空间看作是由多个立体方格组成地体素立方体,每个立体方格的取值表示物体在该方格所在的空间位置是否存在体素。例如取值为0代表物体在对应方格所在地空间位置上不存在体素,取值为1代表存在体素。
S120:基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角。
可以理解,每个二维图像都存在一个对应的相机视角,该相机视角是相机采集该二维图像时的视角。相机视角由相机位姿来决定,可以通过相机位姿来表征相机视角。相机位姿是相机采集二维图像时的位置和姿态。可以基于各种坐标系来表示相机位姿。下面以球面坐标系为例来说明相机位姿。示例性地,可以将物体所在位置作为球面坐标系的原点,相机位姿可以用向量R和T表示。R=[α,β],其中α表示相机的方位角、β表示相机的仰角;T表示相机与物体之间的距离ρ。
本领域普通技术人员理解,世界坐标系和上述球面坐标系之间存在对应的转换关系。如已知某相机在世界坐标系中的坐标(x,y,z),其中x表示相机在X轴的坐标,y表示相机在Y轴的坐标,z表示相机在Z轴的坐标,可以对应地知道该相机在球面坐标系中地方位角a,仰角β和距离ρ。
本领域技术人员理解,对于给定的原始二维图像,可以根据原始二维图像对应的相机参数确定生成该图像时的相机位姿。为描述简单,将原始二维图像的相机位姿对应的视角称为第一视角。
在已知原始二维图像的第一视角的基础上,本步骤基于重建质量从候选视角中确定一个新的补充视角,该补充视角与第一视角不同。换言之,补充视角的相机位姿与第一视角的相机位姿不同。
重建质量表示重建所生成的原始三维物体与实际的目标物体之间的相似程度。原始三维物体在特定视角下的重建质量表示原始三维物体在该特定视角下可见的部分与目标物体中对应部分之间的相似程度。原始三维物体在不同视角下的重建质量是不同的。原始三维物体在第一视角下的重建质量是最好的,因为原始三维物体中第一视角下可见的部分包含了最多的来自原始二维图像的可信信息。原始三维物体在其它视角下可见的部分或多或少包含原始二维图像中不存在的预测信息,因此重建质量稍差。
示例性地,可以根据预设规则,基于重建质量从候选视角中选择补充视角。例如,选择重建质量在预设阈值范围之内的候选视角作为补充视角。
S130:根据所述补充视角,获取所述目标物体的补充二维图像。
在确定了补充视角的相机位姿的基础上,本步骤用于获取目标物体的对应的补充二维图像。可以理解,针对一个目标物体,可以从多个不同的视角拍摄图像,从而得到多张不同视角下的二维图像。在确定了补充视角的基础上,可以通过多种方式获得该视角下的二维图像。例如,从存储海量目标物体的二维图像的数据库中选取目标图像,以作为补充二维图像。该目标图像的视角与补充视角相同或相近。又例如,根据确定的补充视角调整相机位姿,使相机在补充视角的位姿下对目标物体再次拍摄,从而得到目标物体在补充视角下的补充二维图像。
S140:对所述补充二维图像进行三维重建,以生成与所述补充二维图像相对应的补充三维物体。
本步骤与步骤S110执行的操作相似,只是步骤S110针对原始二维图像进行操作,而本步骤S140针对补充二维图像进行操作。为了简洁,不再赘述。
在一个示例中,该补充三维物体也通过体素的形式进行表示。可以理解,由于补充二维图像中包含了原始二维图像信息中不存在的可信信息,因此生成的补充三维物体中在补充视角下可见体素必然与原始三维物体在第一视角下可见体素不同。
S150:对所述原始三维物体和所述补充三维物体进行融合,以获得所述目标物体的三维重建结果。
示例性地,可以通过对原始三维物体和补充三维物体的体素取并集的方式确定目标物体的最终三维重建结果。对于空间任意位置,只要原始三维物体或者补充三维物体中的任一个在该位置存在体素,那么就确定三维重建结果在该位置存在体素。
替代地,还可以通过对原始三维物体和补充三维物体的体素取交集的方式确定目标物体的最终的三维重建结果。对于空间中任意位置,只有原始三维物体和补充三维物体二者在该位置都存在体素,那么才确定三维重建结果在该位置存在体素。
在上述技术方案中,原始三维物体在各个视角下的重建质量对视角的采样质量进行了反馈。因此,可以基于反馈结果确定更合理的补充视角,融合原始三维物体和利用补充视角下的补充二维图像所重建的补充三维物体,以获得最终的三维重建结果。这样,可以使得三维重建过程中图像的选择更加具有针对性,从而提高三维重建效率,提升三维重建质量。
示例性地,上述步骤S110可以包括以下步骤。
S111:从原始二维图像中提取原始图像特征。例如,可以利用卷积神经网络(CNN)组成的编码器从原始二维图像中提取原始图像特征。原始图像特征可以包括多个特征向量。其中每个特征向量对应于原始二维图像中的相应像素点。以单张原始二维图像为例,可以自该原始二维图像中提取H×W个特征向量(H代表原始二维图像的高度,W代表原始二维图像的宽度)。每个特征向量的维度都是C。
S112:对所述原始图像特征通过体素神经网络进行解码,以获得所述目标物体的体素立方体。体素神经网络可以包括多个2D卷积层,其用于根据原始图像特征输出由多个立体方格组成的体素立方体。
S113:基于所述体素立方体确定所述原始三维物体。在此步骤中,根据体素立方体中的方格的取值确定该方格所在的空间位置是否存在体素。所有存在体素构成了原始三维物体。
通过体素立方体确定原始三维物体,可以有效地利用原始二维图像中的信息,使得生成的原始三维物体更加接近目标物体。
根据前文所述,在步骤S120中,基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角。图2示出了根据本发明一个实施例步骤S120选择补充视角的示意性流程图。如图2所示,步骤S120选择补充视角可以具体包括以下步骤。
S121:对所述原始三维物体进行回归分析,以确定所述原始三维物体在多个候选视角下的重建质量。
上文所述回归分析可以用第一神经网络来实现。第一神经网络用于针对输入的任一重建三维物体确定并输出该重建三维物体在各个不同视角下的重建质量。可以将原始三维物体输入第一神经网络,通过第一神经网络预测该原始三维物体在多个候选视角下的重建质量。
本发明中的多个候选视角可以是预设的,其分别对应于不同的相机位姿。每个候选视角的相机位姿可以表示为球面坐标系中的方位角和仰角。示例性地,在将原始三维物体作为坐标系原点的基础上,选取方位角a为以下集合中的元素:[0,45,90,135,180,225,270,315],仰角β为集合[-60,-30,0,30,60]中的元素,距离为1的相机位姿作为候选视角的相机位姿。
重建物体在候选视角下的重建质量可以通过多种方式进行衡量。
在一个示例中,可以通过重建物体在某视角下的可见的体素占比衡量该重建物体在该视角下的重建质量。所谓视角下的可见的体素占比是指所重建的三维物体在该视角下可见体素中在第一视角下可见的体素的个数占比。例如,原始三维物体在某候选视角下可见的体素个数为n个,且这n个体素中在第一视角下可见的体素个数为N个,那么该原始三维物体在该候选视角下的可见度为N/n。可见的体素占比越高,重建质量越好。
在另一个实施例中,还可以通过重建物体在视角下的投影深度图差异度来衡量重建质量。可以理解,投影深度图中的原始三维物体的像素分别对应于原始三维物体在预设视角下可见的体素。原始三维物体中每个可见的体素与投影平面之间的距离为该可见的体素对应的深度值,也即投影深度图中对应像素的像素值。例如,原始三维物体在某候选视角下包含可见体素P,该可见体素P与投影平面之间的距离为d,该可见体素P在投影深度图中对应的像素为P’,则该投影深度图中像素P’的像素值为d。
深度图差异度是指原始三维物体在某视角下的深度图与目标物体该视角下的深度图之间的差异程度。可以理解,差异度越大,表明在该视角下原始三维物体与目标物体的区别越大,因此重建质量越差;差异度越小,表明在该视角下原始三维物体与目标物体的区别越小,因此重建质量越好。
S122:将最差的重建质量所对应的候选视角确定为所述补充视角。
利用回归分析确定原始三维物体在各个视角下的重建质量并将最差的重建质量所对应的候选视角作为补充视角。从而,根据该补充视角获取补充二维图像,并基于补充二维图像再次进行三维重建。这可以更有效地弥补原始三维物体中的质量缺陷,从而提升重建质量。
根据前文所述,可以通过第一神经网络预测原始三维物体在特定视角下的重建质量。该第一神经网络可以通过训练获得。图3示出了根据本发明一个实施例训练第一神经网络的示意性流程图。如图3所示,第一神经网络是通过以下步骤获得的。
S310:获取现实的训练物体的训练三维物体。
现实的训练物体是实际存在的具有特定形状体积的物体,例如立方体、球体、圆柱体等。为了达到较好的训练效果,优选具有不规则形状的物体,如汽车模型、建筑物模型等。
进一步,可以将现实的训练物体处理成计算机可识别的数学模型。在一个示例中,可以通过扫描仪对训练物体扫描得到其点云数据。另外,还可以通过手工建模的方式将现实的训练物体转化为对应的数学模型。本发明对获取训练物体的训练三维物体的方式不做限定。
S320:获取所述训练物体的训练二维图像。
可以利用照相机或摄像机等成像装置直接采集训练物体在不同视角下的照片作为训练二维图像。也可以对采集到的照片进行预处理,例如滤波处理,将预处理后的照片作为训练二维图像,本发明对此不做限定。
S330:基于所述训练物体的训练二维图像进行三维重建,以生成训练重建物体。
可以利用现有的三维重建技术对训练二维图像进行三维重建。在一个示例中,首先利用卷积神经网络组成的编码器从训练二维图像中提取图像特征,然后利用卷积神经网络组成的解码器对图像特征进行解码以确定基于训练二维图像的训练重建物体。该步骤与步骤S110类似,为了简洁,在此不再赘述。
S340:基于预设的训练视角,对所述训练重建物体进行投影,以获得第一投影深度图。
预设的训练视角可以是固定相机位姿对应的视角。示例性地,在将训练重建物体作为坐标系原点的基础上,选取方位角a为以下集合中的元素:[0,45,90,135,180,225,270,315],仰角β为集合[-60,-30,0,30,60]中的元素,距离为1的相机位姿作为训练视角的相机位姿。
基于预设的训练视角对训练重建物体进行投影,相当于将训练重建物体中可见的体素,映射为投影平面中的像素。在一个示例中,投影平面是相机成像平面。上述可见的体素到投影平面之间的距离,为投影深度图中对应像素的像素值。为描述简单,将基于训练重建物体生成的投影深度图称为第一投影深度图。
在一个示例中,可以基于训练重建物体在训练视角下距离投影平面最近的体素来确定投影深度图。其中投影平面可以是相机所在的垂直于训练视角的平面。假设训练视角是X轴的方向,可以通过以下公式确定训练重建物体在训练视角下距离投影平面最近的体素。
d(y,z)=argmin(P(:,y,z)),其中P(:,y,z)>0
其中P(:,y,z)表示训练重建物体的Y轴坐标为y,Z轴坐标为z的平行于X轴的直线上的所有体素。当训练重建物体在某位置(x,y,z)存在体素时,P(x,y,z)=1;否则,P(x,y,z)=0。在限制了P(:,y,z)>0的情况下,argmin(P(:,y,z))表示训练重建物体的、在前述直线上的体素与投影平面距离的最小值。根据上式,假设存在P(:,y,z)>0的m个体素,且中m个体素的X轴坐标分别为{x1,x2,...,xm},则d(y,z)取这些X轴坐标的最小值,即等于min{x1,x2,...,xm}。由此,该直线上存在训练重建物体的投影。否则,假设不存在P(:,y,z)>0的体素,则d(y,z)=0。由此,该直线上不存在训练重建物体的投影。综上,可以获得训练重建物体在训练视角下的投影深度图。
S350:基于所述训练视角,对所述训练三维物体进行投影,以获得第二投影深度图。
如前所示,训练三维物体是基于现实存在的物体生成的数学模型。在一个示例中,基于预设的训练视角对训练三维物体进行投影,相当于将训练三维物体中可见的体素映射为投影平面中的像素。这里的投影平面可以是相机的成像平面。上述可见的体素到投影平面之间的距离,为投影深度图中对应像素的像素值。在本示例中,将基于训练三维物体生成的投影深度图作为第二投影深度图。
S360:计算所述第一投影深度图相对于所述第二投影深度图的差异度。
在一个示例中,差异度用来表征第一投影深度图相对于第二投影深度图的差距。如前所述,差异度可以用来衡量训练重建物体的重建质量。差异度越大,表明训练重建物体与目标三维物体的区别越大,因此重建质量越差;差异度越小,表明训练重建物体与目标三维物体的区别越小,因此重建质量越好。
示例性地,可以将第一投影深度图和第二投影深度图中各个对应像素的差值之和作为所述差异度。
S370:将所述训练重建物体作为输入数据并将所述差异度作为真值数据(groundtruth),训练所述第一神经网络。由此,使得对于输入的任一重建物体,第一神经网络能够输出该重建物体在训练视角下的差异度。从而可以根据所输出的差异度确定该重建物体在该训练视角下的重建质量。
在上述技术方案中,通过投影深度图的差异度来训练第一神经网络,可以使第一神经网络准确确定重建物体的重建质量。进而,保证根据该重建质量获得的最终重建结果的准确性。
根据前文所述,可以将第一投影深度图相对于第二投影深度图的差异度作为真值数据来训练第一神经网络。图4示出了根据本发明一个实施例的上述步骤S360计算差异度的示意性流程图。如图4所示,计算差异度包括以下步骤。
S361:获取所述第一投影深度图中的、所述训练重建物体在所述训练视角下可见的每个体素的第一深度值。
如前所述,第一投影深度图中的像素值表示训练重建物体在训练视角下可见的对应体素的深度值。在一个示例中,将第一投影深度图中的深度值作为第一深度值。
S362:对于每个第一深度值,获取所述第二投影深度图中的、所述训练三维物体的对应体素的第二深度值。
如前所述,第二投影深度图中的像素值表示训练三维物体在训练视角下可见的对应体素的深度值。由于训练重建物体和训练三维物体都是基于同一训练物体获得的,对于第一投影深度图中的每个像素,可以获得第二投影深度图中的对应像素,进而将其像素值作为第二深度值。
例如,在步骤S361中已获得第一投影深度图中的、体素P的第一深度值D,那么本步骤S362中,获取第二投影深度图中的、与体素P相对应的体素P’对应的第二深度值D’。
S363:计算所述第二深度值和所述第一深度值之间的深度差与所述第二深度值之间的比值。
仍以上例说明,步骤S362已知第一深度值D和第二深度值D’,那么第二深度值和第一深度值之间的深度差为D’-D,进一步,深度差与第二深度值之间的比值为(D’-D)/D’。
S364:将所述第一投影深度图中的、所述训练重建物体在所述训练视角下可见的所有体素对应的比值平均,以作为所述差异度。
可以理解,第一投影深度图和第二投影深度图中包含多个体素,对应的会得到多个差异度。基于此,在一个示例中,通过mean函数对多个差异度取平均,将mean[(D’-D)/D’]作为最终差异度。
在上述技术方案中,以投影深度图中的深度值差异与真实的投影深度值之间的比率作为用于评价重建质量的差异度。其对重建质量的表达能力较强,由此,获得的重建质量更准确,进而使得最终重建结果更准确。
根据前文所述,在步骤S370中可以将所述训练重建物体作为输入数据并将所述差异度作为真值数据,训练所述第一神经网络。图5示出了根据本发明一个实施例步骤S370训练第一神经网络的示意性流程图。如图5所述,步骤S370训练第一神经网络包括以下步骤:
S371:基于所述输入数据,获取所述第一神经网络对应的输出数据。
将输入数据,即训练重建物体,输入第一神经网络,以通过第一神经网络的计算而获得输出数据。第一神经网络对于输入的任一重建物体,能够输出该重建物体在训练视角下的差异度。在一个示例中,所述输入数据可以是任意重建物体,所述输出数据可以是该重建物体在训练视角下的深度图差异度。
S372:根据所述输出数据和所述真值数据计算所述第一神经网络的损失函数。
根据前文所述,真值数据是第一投影深度图和第二投影深度图之间的差异度,其中第一投影深度图是基于训练重建物体生成的,第二投影深度图是基于训练三维物体生成的。
假设第一神经网络的输出数据为Y,前文计算得到的真值数据为Y0,可以根据二者确定损失函数。损失函数用于表征输出数据Y与真值数据Y0之间的差异。在本申请的实施例中,可以利用以下损失函数中的一种:交叉熵损失函数、指数损失函数、平方损失函数等。
S373:基于所述损失函数更新所述第一神经网络的参数。在此步骤中,可以通过调整第一神经网络中的相关参数,使得损失函数取最小值。使得训练结束后,第一神经网络对于输入的任一重建物体,可以输出比较准确的在训练视角下的差异度。在一个示例中,预设视角包括40个,第一神经网络会输出对应的40个视角下的差异度。
通过上述训练步骤,可以使第一神经网络的输出数据更加准确。进而,使最终重建结果更准确。
图6示出了根据本发明一个实施例训练第一神经网络的示意性框图。如图6所示,输入数据610输入第一神经网络620后,得到输出数据630。真值数据640是用来和输出数据630进行比较的基准数据,根据输入数据630和真值数据640之间的差距得到损失函数650,通过调整第一神经网络620中的参数来改变损失函数650的取值,使得输出数据630更加接近真值数据640。在一个示例中,输入数据610为利用三维重建技术生成的任一三维重建物体,输出数据630为所述三维重建物体在预设的多个视角下的深度图差异度,真值数据640为利用已知训练数据计算得到的三维重建物体在预设的多个视角下的深度图差异度,损失函数650为平方损失函数。
在确定了补充视角的基础上,在上述步骤S130中获取目标物体的补充二维图像。可以通过多种方式获取补充二维图像。在一个示例中,基于所述补充视角的相机位姿调整相机,并由所述相机采集所述补充二维图像。例如,以目标物体所在位置作为坐标原点,若已知球坐标系下补充视角的相机位姿为(a0,β0,ρ0),其中a0表示相机的方位角,β0表示相机的仰角,ρ0表示相机与坐标原点之间的直线距离,那么可以将相机调整到(a0,β0,ρ0)对应的位置和姿态下对目标物体进行图像采集,从而获得在补充二维图像。该示例中,利用相机采集补充二维图像,这可以保证补充二维图像是在补充视角下。由此,补充二维图像的信息更充分,进而最终重建结果准确度更高。
在另一个示例中,从数据库中选取与所述补充视角最接近的视角对应的二维图像,以作为所述补充二维图像。图7示出了根据本发明一个实施例从数据库中选取补充二维图像的示意性流程图。如图7所示,选取补充二维图像的步骤包括:
S131:获取所述数据库中存储的二维图像的位姿标识符,其中,所述位姿标识符用于标识二维图像对应的视角的相机位姿。
数据库在存储二维图像时,可以同时存储该二维图像对应的位姿标识符,该位姿标识符可以是采集上述二维图像时对应的相机位姿。从数据库中获取二维图像,可以一并获取到该二维图像对应的位姿标识符。
S132:根据所述位姿标识符,确定所述二维图像对应的视角的相机位姿与所述补充视角的相机位姿之间的位姿差。
在一个示例中,以被摄物体所在位置作为球面坐标系的原点,通过相机的方位角a,仰角β以及与原点之间的距离ρ来表示二维图像对应的相机位姿。假设二维图像对应的视角的相机位姿为(a1,β1,ρ1),补充视角的相机位姿为(a2,β2,ρ2),那么两者之间的位姿差可以表示为(a1-a2,β1-β2,ρ1-ρ2)。
S133:在位姿差取得最小值的情况,将对应的二维图像确定为所述补充二维图像。
在前面的示例中,位姿差是方位角差、仰角差和距离差组成的三维向量。为了表示位姿差的大小,可以将上述三维向量归一化为一个数值。在一个示例中,可以对方位角差、仰角差和距离差求平方和,将得到的平方和作为位姿差,从而比较位姿差的大小。可以理解,最理想的情况是位姿差为零,此时二维图像对应的视角的相机位姿与补充视角的相机位姿完全重合。当从数据库中无法获得位姿差为零的二维图像时,可以选择位姿差最小的二维图像作为补充二维图像。
通过上述步骤,可以从存储海量图像的数据库中选取到最接近补充视角的二维图像作为补充二维图像,并基于补充二维图像进行三维重建。直接利用数据库中的现有二维图像作为原始二维图像的补充,不仅保证了最终重建结果的准确性且有效利用了现有资源,而且避免了重新采集图像的麻烦。
可以理解,选择的补充视角越多,生成的补充三维物体就越多,从而三维重建结果越接近目标物体的真实形状。因此,可以对步骤S120至步骤S150的过程进行多次迭代,并根据是否满足迭代终止条件来确定最终三维重建结果。
示例性地,上述三维重建方法还可以包括以下步骤:判断所述三维重建结果中可见的体素占比是否大于第一比例。对于不大于第一比例的情况,将当前的三维重建结果作为原始三维物体,并再次基于补充视角进行三维重建,直至所述三维重建结果中可见的体素占比大于所述第一比例。换言之,在此步骤中,将当前三维重建结果作为原始三维物体,再次重新执行上述步骤S120至S150,直至获得理想的最终重建结果。
图8示出了根据本发明另一个实施例三维重建方法800的示意性流程图。如图8所示,该三维重建方法包括以下步骤。
S810:对目标物体的原始二维图像进行三维重建,以生成与所述原始二维图像相对应的原始三维物体。
S820:基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角。
S830:根据所述补充视角,获取所述目标物体的补充二维图像。
S840:对所述补充二维图像进行三维重建,以生成与所述补充二维图像相对应的补充三维物体。
S850:对所述原始三维物体和所述补充三维物体进行融合,以获得所述目标物体的三维重建结果。以上步骤与步骤S110-S150类似,本文不再赘述。
S860:判断所述三维重建结果中可见的体素占比是否大于第二比例。
三维重建结果中可见的体素占比是三维重建结果在补充视角下的可见体素中在第一视角下可见的体素的个数占比。例如三维重建结果在补充视角下可见的体素共有m个,其中这些体素中同时在第一视角下可见的个数为M个,则可见的体素占比为M/m。可以理解,可见的体素占比能够反映三维重建结果的可信程度。第二比例可以是70%至90%之间的任意值。在一个示例中,上述第二比例为85%。该数值兼顾了计算资源的消耗和计算结果的准确性。
对于不大于第二比例的情况,将所述三维重建结果作为原始三维物体,并转步骤S820。由此,再次基于新的补充视角获取新的补充二维图像进行三维重建。若可见的体素占比不大于第二比例,说明当前的三维重建结果与真实的目标物体还存在一定差距,因此需要再次基于新的补充视角的相机位姿进行三维重建。
对于大于所述第二比例的情况,执行步骤S870。
S870:将所述三维重建结果作为最终结果。三维重建方法结束。
若可见的体素占比大于第二比例,说明当前视角下生成的三维物体与真实的三维物体已经比较接近,因此可以将三维重建结果作为最终结果。
通过上述步骤,可以保证通过有限次的迭代之后,得到的三维重建结果是符合预期的结果,进一步保证了重建三维物体的质量。
根据本发明另一方面,还提供了一种三维重建装置。图9示出了根据本发明一个实施例的三维重建装置的示意性框图。
如图9所示,装置900包括第一重建模块910、补充视角模块920、补充图像模块930、第二重建模块940和融合模块950。
所述各个模块可分别执行上文中所述的三维重建方法的各个步骤/功能。以下仅对该装置900的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
第一重建模块910,用于对目标物体的原始二维图像进行三维重建,以生成与所述原始二维图像相对应的原始三维物体;
补充视角模块920,用于基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角;
补充图像模块930,用于根据所述补充视角,获取所述目标物体的补充二维图像;
第二重建模块940,用于对所述补充二维图像进行三维重建,以生成与所述补充二维图像相对应的补充三维物体;以及
融合模块950,用于对所述原始三维物体和所述补充三维物体进行融合,以获得所述目标物体的三维重建结果。
根据本发明再一方面,还提供了一种三维重建系统,包括:处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述的三维重建方法。
图10示出了根据本发明一个实施例的用于三维重建系统1000的示意性框图。如图10所示,系统1000包括输入装置1010、存储装置1020、处理器1030以及输出装置1040。
所述输入装置1010用于接收用户所输入的操作指令以及采集数据。输入装置1010可以包括键盘、鼠标、麦克风、触摸屏和图像采集装置等中的一个或多个。
所述存储装置1020存储用于实现根据本发明实施例的三维重建方法中的相应步骤的计算机程序指令。
所述处理器1030用于运行所述存储装置1020中存储的计算机程序指令,以执行根据本发明实施例的三维重建方法的相应步骤,并且用于实现根据本发明实施例的三维重建装置中的第一重建模块910、补充视角模块920、补充图像模块930、第二重建模块940和融合模块950。
所述输出装置1040用于向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。
在一个实施例中,在所述计算机程序指令被所述处理器1030运行时使所述系统1000执行以下步骤:
对目标物体的原始二维图像进行三维重建,以生成与所述原始二维图像相对应的原始三维物体;
基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角;
获取所述目标物体在所述补充二维图像;
对所述补充二维图像进行三维重建,以生成与所述补充二维图像相对应的补充三维物体;以及
对所述原始三维物体和所述补充三维物体进行融合,以获得所述目标物体的三维重建结果。
此外,根据本发明又一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时使得所述计算机或处理器执行本发明实施例的上述三维重建方法的相应步骤,并且用于实现根据本发明实施例的上述三维重建装置中的相应模块或上述用于三维重建系统中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
在一个实施例中,所述计算机程序指令被计算机或处理器运行时,使得所述计算机或处理器执行以下步骤:
对目标物体的原始二维图像进行三维重建,以生成与所述原始二维图像相对应的原始三维物体;
基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角;
获取所述目标物体在所述补充二维图像;
对所述补充二维图像进行三维重建,以生成与所述补充二维图像相对应的补充三维物体;以及
对所述原始三维物体和所述补充三维物体进行融合,以获得所述目标物体的三维重建结果。
本领域普通技术人员通过参考图1至图8阅读上述关于三维重建方法的相关描述,可以理解上述三维重建装置、系统以及存储介质的具体实现。为了简洁,在此不再赘述。
上述三维重建方案,根据原始三维物体的重建质量确定补充视角,利用补充视角下的补充二维图像进行三维重建,能够利用较少的二维图像得到高质量的重建三维物体。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的三维重建装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种三维重建方法,其特征在于,包括:
对目标物体的原始二维图像进行三维重建,以生成与所述原始二维图像相对应的原始三维物体;
基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角,所述重建质量表示重建所生成的原始三维物体与实际的目标物体之间的相似程度;
根据所述补充视角,获取所述目标物体的补充二维图像;
对所述补充二维图像进行三维重建,以生成与所述补充二维图像相对应的补充三维物体;以及
对所述原始三维物体和所述补充三维物体进行融合,以获得所述目标物体的三维重建结果;
所述在所述候选视角中选择所述目标物体的补充视角包括:
对所述原始三维物体进行回归分析,以确定所述原始三维物体在多个候选视角下的重建质量;
将最差的重建质量所对应的候选视角确定为所述补充视角。
2.根据权利要求1所述的三维重建方法,其特征在于,所述对目标物体的原始二维图像进行三维重建包括:
从所述原始二维图像中提取原始图像特征;
对所述原始图像特征通过体素神经网络进行解码,以获得所述目标物体的体素立方体;
基于所述体素立方体确定所述原始三维物体。
3.根据权利要求1所述的三维重建方法,其特征在于,所述对所述原始三维物体进行回归分析利用第一神经网络实现,其中,所述第一神经网络通过以下步骤训练获得:
获取现实的训练物体的训练三维物体;
获取所述训练物体的训练二维图像;
基于所述训练物体的训练二维图像进行三维重建,以生成训练重建物体;
基于预设的训练视角,对所述训练重建物体进行投影,以获得第一投影深度图;
基于所述训练视角,对所述训练三维物体进行投影,以获得第二投影深度图;
计算所述第一投影深度图相对于所述第二投影深度图的差异度;
将所述训练重建物体作为输入数据并将所述差异度作为真值数据,训练所述第一神经网络。
4.根据权利要求3所述的三维重建方法,其特征在于,所述计算所述第一投影深度图相对于所述第二投影深度图的差异度包括:
获取所述第一投影深度图中的、所述训练重建物体在所述训练视角下可见的每个体素的第一深度值;
对于每个第一深度值,获取所述第二投影深度图中的、所述训练三维物体的对应体素的第二深度值;
计算所述第二深度值和所述第一深度值之间的深度差与所述第二深度值之间的比值;
将所述第一投影深度图中的、所述训练重建物体在所述训练视角下可见的所有体素对应的比值平均,以作为所述差异度。
5.根据权利要求3所述的三维重建方法,其特征在于,所述训练所述第一神经网络包括:
基于所述输入数据,获取所述第一神经网络对应的输出数据;
根据所述输出数据和所述真值数据计算所述第一神经网络的损失函数;
基于所述损失函数更新所述第一神经网络的参数。
6.根据权利要求1所述的三维重建方法,其特征在于,所述根据所述补充视角获取所述目标物体的补充二维图像包括:
从数据库中选取与所述补充视角最接近的视角对应的二维图像,以作为所述补充二维图像;或者
基于所述补充视角的相机位姿调整相机,并由所述相机采集所述补充二维图像。
7.根据权利要求6所述的三维重建方法,其特征在于,所述从数据库中选取与所述补充视角最接近的视角对应的二维图像包括:
获取所述数据库中存储的二维图像的位姿标识符,其中,所述位姿标识符用于标识二维图像对应的视角的相机位姿;
根据所述位姿标识符,确定所述二维图像对应的视角的相机位姿与所述补充视角的相机位姿之间的位姿差;
在位姿差取得最小值的情况,将对应的二维图像确定为所述补充二维图像。
8.根据权利要求1所述的三维重建方法,其特征在于,在所述对所述原始三维物体和所述补充三维物体进行融合之后,所述三维重建方法还包括:
判断所述三维重建结果中可见的体素占比是否大于第一比例;
对于不大于第一比例的情况,将所述三维重建结果作为所述原始三维物体,并再次基于补充视角进行三维重建,直至所述三维重建结果中可见的体素占比大于所述第一比例。
9.一种三维重建装置,其特征在于,包括:
第一重建模块,用于对目标物体的原始二维图像进行三维重建,以生成与所述原始二维图像相对应的原始三维物体;
补充视角模块,用于基于所述原始三维物体在候选视角下的重建质量,在所述候选视角中选择所述目标物体的补充视角,所述重建质量表示重建所生成的原始三维物体与实际的目标物体之间的相似程度;
补充图像模块,用于根据所述补充视角,获取所述目标物体的补充二维图像;
第二重建模块,用于对所述补充二维图像进行三维重建,以生成与所述补充二维图像相对应的补充三维物体;以及
融合模块,用于对所述原始三维物体和所述补充三维物体进行融合,以获得所述目标物体的三维重建结果;
所述补充视角模块在所述候选视角中选择所述目标物体的补充视角时,具体用于:
对所述原始三维物体进行回归分析,以确定所述原始三维物体在多个候选视角下的重建质量;
将最差的重建质量所对应的候选视角确定为所述补充视角。
10.一种三维重建系统,包括:处理器和存储器,其中,所述存储器中存储有计算机程序指令,其特征在于,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至8任一项所述的三维重建方法。
11.一种存储介质,在所述存储介质上存储了程序指令,其特征在于,所述程序指令在运行时用于执行如权利要求1至8任一项所述的三维重建方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/127020 WO2021120175A1 (zh) | 2019-12-20 | 2019-12-20 | 三维重建方法、装置、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111133477A CN111133477A (zh) | 2020-05-08 |
CN111133477B true CN111133477B (zh) | 2023-06-23 |
Family
ID=70507756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980003597.6A Active CN111133477B (zh) | 2019-12-20 | 2019-12-20 | 三维重建方法、装置、系统和存储介质 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP4075389A4 (zh) |
JP (1) | JP7245574B2 (zh) |
KR (1) | KR102506701B1 (zh) |
CN (1) | CN111133477B (zh) |
WO (1) | WO2021120175A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023044605A1 (zh) * | 2021-09-22 | 2023-03-30 | 深圳先进技术研究院 | 极端环境下脑结构的三维重建方法、装置及可读存储介质 |
CN114119839B (zh) * | 2022-01-24 | 2022-07-01 | 阿里巴巴(中国)有限公司 | 三维模型重建与图像生成方法、设备以及存储介质 |
CN115063485B (zh) * | 2022-08-19 | 2022-11-29 | 深圳市其域创新科技有限公司 | 三维重建方法、装置及计算机可读存储介质 |
CN116206077B (zh) * | 2023-03-24 | 2024-05-17 | 清华大学 | 基于非全局重复建模的三维重构模型局部优化方法和装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0126526D0 (en) * | 2001-11-05 | 2002-01-02 | Canon Europa Nv | Three-dimensional computer modelling |
JP4229398B2 (ja) * | 2003-03-28 | 2009-02-25 | 財団法人北九州産業学術推進機構 | 3次元モデリング・プログラム、3次元モデリング制御プログラム、3次元モデリング・データ伝送プログラム、記録媒体および3次元モデリング方法 |
JP2011043879A (ja) * | 2009-08-19 | 2011-03-03 | Kddi Corp | マスク画像を抽出する方法及びプログラム並びにボクセルデータを構築する方法及びプログラム |
US20150178988A1 (en) * | 2012-05-22 | 2015-06-25 | Telefonica, S.A. | Method and a system for generating a realistic 3d reconstruction model for an object or being |
EP2946365B1 (en) * | 2013-01-21 | 2018-08-08 | Vricon Systems Aktiebolag | Method and arrangement for developing a three dimensional model of an environment |
EP3005290A1 (en) * | 2013-05-31 | 2016-04-13 | Longsand Limited | Three-dimensional object modeling |
KR101835434B1 (ko) * | 2015-07-08 | 2018-03-09 | 고려대학교 산학협력단 | 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법 |
EP3330924A1 (en) * | 2016-12-01 | 2018-06-06 | Thomson Licensing | Method for 3d reconstruction of an environment of a mobile device, corresponding computer program product and device |
JP6901885B2 (ja) * | 2017-03-24 | 2021-07-14 | Kddi株式会社 | 前景抽出装置及びプログラム |
CN108898630B (zh) * | 2018-06-27 | 2020-12-15 | 清华-伯克利深圳学院筹备办公室 | 一种三维重建方法、装置、设备和存储介质 |
CN109801374B (zh) * | 2019-01-14 | 2023-02-24 | 盾钰(上海)互联网科技有限公司 | 一种通过多角度图像集重构三维模型的方法、介质及系统 |
CN110288712B (zh) * | 2019-03-30 | 2023-05-12 | 天津大学 | 室内场景的稀疏多视角三维重建方法 |
CN110047144A (zh) * | 2019-04-01 | 2019-07-23 | 西安电子科技大学 | 一种基于Kinectv2的完整物体实时三维重建方法 |
WO2020254448A1 (en) * | 2019-06-17 | 2020-12-24 | Ariel Ai Inc. | Scene reconstruction in three-dimensions from two-dimensional images |
CN110490917A (zh) * | 2019-08-12 | 2019-11-22 | 北京影谱科技股份有限公司 | 三维重建方法及装置 |
CN110570522B (zh) * | 2019-08-22 | 2023-04-07 | 天津大学 | 一种多视图三维重建方法 |
KR20210128203A (ko) * | 2020-04-16 | 2021-10-26 | 주식회사 케이티 | 볼륨메트릭 3d 동영상 제공 시스템 및 방법 |
-
2019
- 2019-12-20 CN CN201980003597.6A patent/CN111133477B/zh active Active
- 2019-12-20 JP JP2022537293A patent/JP7245574B2/ja active Active
- 2019-12-20 KR KR1020227023684A patent/KR102506701B1/ko active IP Right Grant
- 2019-12-20 WO PCT/CN2019/127020 patent/WO2021120175A1/zh unknown
- 2019-12-20 EP EP19956313.1A patent/EP4075389A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230040550A1 (en) | 2023-02-09 |
EP4075389A1 (en) | 2022-10-19 |
WO2021120175A1 (zh) | 2021-06-24 |
JP7245574B2 (ja) | 2023-03-24 |
JP2022550639A (ja) | 2022-12-02 |
EP4075389A4 (en) | 2023-02-15 |
CN111133477A (zh) | 2020-05-08 |
KR20220113774A (ko) | 2022-08-16 |
KR102506701B1 (ko) | 2023-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111133477B (zh) | 三维重建方法、装置、系统和存储介质 | |
Tian et al. | Depth estimation using a self-supervised network based on cross-layer feature fusion and the quadtree constraint | |
CN110998671B (zh) | 三维重建方法、装置、系统和存储介质 | |
Hoppe et al. | Online Feedback for Structure-from-Motion Image Acquisition. | |
Ulusoy et al. | Semantic multi-view stereo: Jointly estimating objects and voxels | |
KR101428627B1 (ko) | 개선된 이미지 매칭을 위한 방법 및 장치 | |
CN104350525A (zh) | 组合用于三维建模的窄基线和宽基线立体 | |
CN109740659B (zh) | 一种图像匹配方法及装置、电子设备、存储介质 | |
CN111382618B (zh) | 一种人脸图像的光照检测方法、装置、设备和存储介质 | |
CN114627227B (zh) | 基于pbr材质的物体重建方法、设备及计算机可读存储介质 | |
Irschara et al. | Large-scale, dense city reconstruction from user-contributed photos | |
CN113220251A (zh) | 物体显示方法、装置、电子设备及存储介质 | |
Luo et al. | Sparse RGB-D images create a real thing: A flexible voxel based 3D reconstruction pipeline for single object | |
Liu et al. | Adaptive matching norm based disparity estimation from light field data | |
Meng et al. | Mirror-3dgs: Incorporating mirror reflections into 3d gaussian splatting | |
Rodríguez‐Gonzálvez et al. | A hybrid approach to create an archaeological visualization system for a Palaeolithic cave | |
JP2016114445A (ja) | 3次元位置算出装置およびそのプログラム、ならびに、cg合成装置 | |
Ranade et al. | Novel single view constraints for manhattan 3d line reconstruction | |
US12026827B2 (en) | Method, apparatus, system, and storage medium for 3D reconstruction | |
CN114998743A (zh) | 一种视觉地图点的构建方法、装置、设备及介质 | |
Marelli et al. | A Blender plug-in for comparing Structure from Motion pipelines | |
Miljković et al. | Vehicle Distance Estimation Based on Stereo Camera System with Implementation on a Real ADAS Board | |
Glumova et al. | Investigation of algorithms for generating surfaces of 3D models based on an unstructured point cloud | |
CN117876609B (zh) | 一种多特征三维人脸重建方法、系统、设备及存储介质 | |
Lai | Augmented Reality visualization of building information model |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211008 Address after: No.1 Factory building, no.299, Hongye Road, Dayun Town, Jiashan County, Jiaxing City, Zhejiang Province Applicant after: UISEE TECHNOLOGY (ZHEJIANG) Co.,Ltd. Address before: 211106 Room 201, building C7, moling ninth workshop, No. 55, Liyuan South Road, Jiangning District, Nanjing, Jiangsu Province Applicant before: Yushi Technology (Nanjing) Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |