CN107507277A - 三维点云重构方法和装置、服务器及可读存储介质 - Google Patents
三维点云重构方法和装置、服务器及可读存储介质 Download PDFInfo
- Publication number
- CN107507277A CN107507277A CN201710642160.XA CN201710642160A CN107507277A CN 107507277 A CN107507277 A CN 107507277A CN 201710642160 A CN201710642160 A CN 201710642160A CN 107507277 A CN107507277 A CN 107507277A
- Authority
- CN
- China
- Prior art keywords
- rotation matrix
- images
- global
- matrix
- relative rotation
- 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
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
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
Landscapes
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种三维点云重构方法和装置、服务器及可读存储介质。该方法包括:利用两张图像的特征点之间的匹配关系获取本质矩阵,通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量;基于相对旋转矩阵计算全局旋转矩阵;基于相对位移方向向量计算全局位移方向向量;以及基于两张图像的特征点之间的匹配关系、全局旋转矩阵和全局位移方向向量,获取目标场景的三维点云。本发明通过分解获取到的本质矩阵,能够同时得到两张图像之间的相对旋转矩阵和相对位移方向向量,因此,简化了计算过程,节省了计算时间。
Description
技术领域
本发明涉及虚拟现实技术和计算机视觉领域,正向深度约束尤其涉及一种三维点云重构方法和装置、服务器及可读存储介质。
背景技术
近年来,在计算机视觉领域兴起的运动恢复结构(Structure from Motion,SFM)方法能够利用一定数量的、具有重叠的图像恢复出运动相机的位置、姿态以及所拍摄的场景的三维结构,该方法对图像数据要求低、不受摄影测量理论中的许多假定前提条件的约束、通用性好、自动化程度高,因而在三维重构中取得了比较成功的应用。
目前,按照初始位置和姿态的计算方式,SFM方法可分为增量式SFM(IncrementalSFM,ISFM)方法和全局SFM(Global SFM,GSFM)方法。
增量式SFM方法在特征点匹配的基础上选择初始图像对以得到两张图像的初始化模型,然后不断添加图像,并对新增加的公共特征点进行三角化,以及重新平差解算模型坐标和相机参数,直到所有图像添加完毕。然而,在重构场景的过程中,增量式SFM方法需要进行多次光束法平差(Bundle Adjustment,BA)的迭代运算,即在给定由不同视点拍摄得到场景图像集的情况下,按最小化重投影误差的标准同时优化场景几何关系与相机参数,这导致计算过程复杂、繁琐且耗时严重,因而计算效率不高。
全局SFM方法不依赖于迭代式优化框架,而是仅需要一次性优化即可完成整个三维重构过程,即利用约束条件一次性求解图像的旋转和平移。然而,在计算相机位姿时,全局SFM方法需要首先估计相对旋转矩阵和全局旋转矩阵,然后采用计算出来的全局旋转矩阵结合三焦点张量估计出相对位移方向向量,这导致计算过程复杂、繁琐,并且计算过程使用了随机抽样一致(Random Sample Consensus,RANSAC)算法,因而耗时严重。
发明内容
有鉴于此,本发明的一个目的在于提供一种三维点云重构方法和装置、服务器及可读存储介质,能够简化计算过程,节省计算时间。
本发明的一个方面提供一种三维点云重构方法,该方法包括:利用两张图像的特征点之间的匹配关系获取本质矩阵,通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量;基于相对旋转矩阵计算全局旋转矩阵;基于相对位移方向向量计算全局位移方向向量;以及基于两张图像的特征点之间的匹配关系、全局旋转矩阵和全局位移方向向量,获取目标场景的三维点云。
在本发明的一个实施例中,在获取本质矩阵之前,该方法还包括:获取目标场景的多张图像,多张图像包括两张图像;以及检测多张图像中的两张图像的特征点,并基于特征点对两张图像进行特征点匹配,得到两张图像的特征点之间的匹配关系。
在本发明的一个实施例中,在通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量之后、基于相对旋转矩阵计算全局旋转矩阵之前,该方法还包括:计算相对旋转矩阵的旋转误差;以及基于旋转误差对相对旋转矩阵进行滤波,其中,基于相对旋转矩阵计算全局旋转矩阵,包括:基于滤波后的相对旋转矩阵计算全局旋转矩阵。
在本发明的一个实施例中,旋转误差的预设阈值设定在1°到15°的范围内,其中,基于旋转误差对相对旋转矩阵进行滤波,包括:基于旋转误差和预设阈值对相对旋转矩阵进行滤波。
在本发明的一个实施例中,基于滤波后的相对旋转矩阵计算全局旋转矩阵,采用的公式如下:其中,Ri表示图像i对应的全局旋转矩阵,表示图像j对应的全局旋转矩阵的逆矩阵,Rij表示图像i和图像j之间的相对旋转矩阵,1≤i≤N,1≤j≤N,N为正整数。
本发明的另一个方面提供一种三维点云重构装置,该装置包括:获取模块,用于利用两张图像的特征点之间的匹配关系获取本质矩阵,通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量;以及计算模块,用于基于相对旋转矩阵计算全局旋转矩阵,并基于相对位移方向向量计算全局位移方向向量,其中,获取模块还基于两张图像的特征点之间的匹配关系、全局旋转矩阵和全局位移方向向量,获取目标场景的三维点云。
在本发明的一个实施例中,该装置还包括:检测模块,其中获取模块还获取目标场景的多张图像,多张图像包括两张图像,检测模块用于检测多张图像中的两张图像的特征点,并基于特征点对两张图像进行特征点匹配,得到两张图像的特征点之间的匹配关系。
在本发明的一个实施例中,该装置还包括:滤波模块,其中计算模块还计算相对旋转矩阵的旋转误差,滤波模块用于基于旋转误差对相对旋转矩阵进行滤波,计算模块还基于滤波后的相对旋转矩阵计算全局旋转矩阵。
在本发明的一个实施例中,旋转误差的预设阈值设定在1°到15°的范围内,其中,滤波模块还基于旋转误差和预设阈值对相对旋转矩阵进行滤波。
在本发明的一个实施例中,基于滤波后的相对旋转矩阵计算全局旋转矩阵,采用的公式如下:其中,Ri表示图像i对应的全局旋转矩阵,表示图像j对应的全局旋转矩阵的逆矩阵,Rij表示图像i和图像j之间的相对旋转矩阵,1≤i≤N,1≤j≤N,N为正整数。
本发明的再一个方面提供一种服务器,包括:存储器、处理器及存储在存储器中并可在处理器中运行的可执行指令,处理器执行可执行指令时实现如上所述的任一种方法。
本发明的又一个方面提供一种计算机可读存储介质,其上存储有计算机可执行指令,可执行指令被处理器执行时实现如上所述的任一种方法。
根据本发明实施例提供的技术方案,通过利用两张图像的特征点之间的匹配关系获取本质矩阵,并通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量,基于相对旋转矩阵计算全局旋转矩阵,基于相对位移方向向量计算全局位移方向向量,以及基于两张图像的特征点之间的匹配关系、全局旋转矩阵和全局位移方向向量,获取目标场景的三维点云,能够简化计算过程,进而节省计算时间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据本发明一示例性实施例示出的一种三维点云重构方法的流程图。
图2是根据本发明另一示例性实施例示出的一种三维点云重构方法的流程图。
图3是使用相机拍摄的学校教学楼的场景图。
图4是基于图3的场景图得到的三维点云结果。
图5是根据本发明一示例性实施例示出的一种三维点云重构装置的框图。
图6是根据本发明一示例性实施例示出的用于三维点云重构的装置600的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。根据本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在计算机视觉中,多视图几何的三维重构理论已经有了比较成熟的发展。安徽大学出版社2002年8月出版的“计算机视觉中的多视图几何(Multiple view geometry incomputer vision)”全面讲述了相关的理论和算法。运动恢复结构(Structure fromMotion,SFM)是多视图三维重构的核心技术,这里,“Structure”代表“3D point cloud ofthe scene(场景的三维点云)”,“Motion”代表“Camera location and orientation(相机位置和方向)”,SFM的直观解释为“Get the point cloud from moving cameras(从运动相机获取点云)”,其核心思想是通过特征点匹配获取多视角图像之间的同名点(即地面上同一个点在不同影像上成的像点),然后最小化特征点的重投影误差以求解射影矩阵、相机内参数和特征点世界坐标的最大似然估计。
图1是根据本发明一示例性实施例示出的一种三维点云重构方法的流程图。如图1所示,该方法包括:
110:利用两张图像的特征点之间的匹配关系获取本质矩阵,通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量。
在本发明实施例中,可以利用线性估计方法或非线性估计方法获取本质矩阵Eij(Essential Matrix)。这里,线性估计方法的实时性更好,例如可以是通过对匹配的特征点进行归一化处理的归一化八点算法、仅使用六组匹配的特征点即可求得高精度的本质矩阵的六点算法、通过求解十三次多项式和十次多项式的根的方法来估计本质矩阵的五点算法、RANSAC算法等;而非线性估计方法的精确度更高,例如可以是最小中值平方法等。
具体地,利用五点算法(即给定五对图像对应点)获取本质矩阵Eij。五点算法主要是基于本质矩阵Eij的基本特性来求解的,当两张图像之间存在五个或者更多的公共点时,可以整理出一个多项式方程组,然后通过高斯-乔丹消去法、隐式变量组合法或稀释多重多项式求解法即可得到本质矩阵Eij的所有可能解。由于求解本质矩阵Eij的过程涉及到多项式,所以得到的解往往不唯一,因此需要进行多异解的排除,从而确定正确解。
接续,利用奇异值分解(Singular Value Decomposition,SVD)方法对获取到的本质矩阵Eij进行分解,以得到相对相机位姿的四组可能的解,并对这四组解进行正向深度约束以确定这四组解中唯一的一组正确解,即相对相机位姿(Rij,tij),也就是说,通过分解本质矩阵Eij,能够同时得到两张图像之间的相对旋转矩阵Rij和相对位移方向向量tij。
需要说明的是,在利用五点算法得到的四组解中,仅有一组解的图像i和图像j的成像深度皆为正,因此,通过该组解恢复的空间点在相机的前方。
120:基于相对旋转矩阵计算全局旋转矩阵。
在本发明实施例中,基于从本质矩阵Eij分解得到的两张图像之间的相对旋转矩阵Rij计算全局旋转矩阵Ri,该全局旋转矩阵Ri是图像i的全局旋转矩阵。
130:基于相对位移方向向量计算全局位移方向向量。
在本发明实施例中,基于从本质矩阵Eij分解得到的两张图像之间的相对位移方向向量tij计算全局位移方向向量Ti,该全局位移方向向量Ti是图像i的全局位移方向向量。
140:基于两张图像的特征点之间的匹配关系、全局旋转矩阵和全局位移方向向量,获取目标场景的三维点云。
在本发明实施例中,基于计算出的全局相机位姿(Ri,Ti)与图像对之间的匹配关系,并结合多视点几何及SFM方法三角化出目标场景的三维点云,进一步地,使用光束平差法进行优化和调整以得到更精确的目标场景的三维点云。
根据本发明实施例提供的技术方案,通过利用两张图像的特征点之间的匹配关系获取本质矩阵,并通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量,基于相对旋转矩阵计算全局旋转矩阵,基于相对位移方向向量计算全局位移方向向量,以及基于两张图像的特征点之间的匹配关系、全局旋转矩阵和全局位移方向向量,获取目标场景的三维点云,能够简化计算过程,进而节省计算时间。
另外,由于可以根据从本质矩阵分解得到的相对位移方向向量计算全局位移方向向量,而不需要单独计算相对位移方向向量,因此,节省了时间开销,降低了空间开销。
在本发明的另一个实施例中,在获取本质矩阵之前,图1的方法还包括:获取目标场景的多张图像,多张图像包括两张图像;以及检测多张图像中的两张图像的特征点,并基于特征点对两张图像进行特征点匹配,得到两张图像的特征点之间的匹配关系。
具体地,用具有相同内参的相机以任意多个视角对目标场景进行拍摄,以获取目标场景不同视角的、具有一定重叠区域的多张图像,并将获取到的图像保存在图像集S中。例如,可以采用方向梯度直方图、局部二值模式、尺度不变特征变换(Scale InvariantFeature Transform,SIFT)等特征提取算法来获取图像集S中的各张图像的特征点,并记录所提取的特征点在相应图像中的像点坐标。
接续,如果图像集S中的两张图像i和j之间存在足够多的匹配的特征点,则可以认为这两张图像是相关的。假设本发明实施例的图像集S中的各张图像之间均存在两两匹配关系,则可以基于检测到的特征点并利用级联哈希(Hash)算法对图像集S中的任意两张图像进行特征点匹配,从而得到两张图像之间的匹配关系。根据该匹配关系,将图像集S中的所有相关图像构成一个无向图G=(V,E),该无向图G是用无序偶对代表一条边的图,其中,V={I1,I2,…,In}代表顶点(Vertex)集合,E={eij|i,j∈V}代表边(Edge)集合。在无向图G中,每一个顶点代表一张图像,每一条边代表存在重叠关系的两张图像之间的匹配关系。这里,以图像i和图像j为例,如果存在图像i和图像j之间的相对旋转矩阵Rij,则eij=1,即边存在;如果不存在相对旋转矩阵Rij,则eij=0,即边不存在。
进一步地,可以对得到的匹配关系进行滤波处理,以获得两张图像之间的更可靠的匹配关系。具体地,在无向图G的边集合E中,采用SIFT算法进行图像匹配,若两张图像Ii和Ij的匹配的特征点较少,则说明两张图像之间的重叠区域较小或者两张图像之间的关联较弱,因此可将边(Ii,Ij)从边集合E中剔除。
在本发明的另一个实施例中,在通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量之后、基于相对旋转矩阵计算全局旋转矩阵之前,图1的方法还包括:计算相对旋转矩阵的旋转误差;以及基于旋转误差对相对旋转矩阵进行滤波,其中,基于相对旋转矩阵计算全局旋转矩阵,包括:基于滤波后的相对旋转矩阵计算全局旋转矩阵。
具体地,基于相对旋转矩阵Rij并结合无向图G,计算图像i、图像j和图像k中任意两张图像的相对旋转矩阵之间的旋转误差θ(RijRjkRki),其中,Rij表示图像i和图像j之间的相对旋转矩阵,Rjk表示图像j和图像k之间的相对旋转矩阵,以及Rki表示图像k和图像i之间的相对旋转矩阵。
接续,可以基于计算得到的旋转误差θ(RijRjkRki)对从本质矩阵Eij分解得到的所有相对旋转矩阵Rij进行滤波。这里,滤波的作用是在尽可能保留图像细节特征的前提下对目标图像的噪声进行抑制,该噪声可以包括但不限于高斯噪声、椒盐噪声、随机噪声等。
进一步地,基于滤波后的相对旋转矩阵Rij计算全局旋转矩阵Ri。
可选地,作为另一个实施例,旋转误差的预设阈值设定在1°到15°的范围内,基于旋转误差对相对旋转矩阵进行滤波,包括:基于旋转误差和预设阈值对相对旋转矩阵进行滤波。优选地,旋转误差的预设阈值设定为6°。
可选地,作为另一个实施例,基于滤波后的相对旋转矩阵Rij,采用如下的范数二重求和公式进行全局旋转矩阵Ri的估计:
其中,Ri表示图像i对应的全局旋转矩阵,Rj -1表示图像j对应的全局旋转矩阵的逆矩阵,Rij表示图像i和图像j之间的相对旋转矩阵,1≤i≤N,1≤j≤N,N为正整数。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图2是根据本发明另一示例性实施例示出的一种三维点云重构方法的流程图。如图2所示,该方法包括:
210:获取目标场景的多张图像,多张图像包括两张图像。
在本发明实施例中,用具有相同内参的相机以任意多个视角对目标场景进行拍摄,以获取目标场景不同视角的、具有一定重叠区域的多张图像,并将获取到的图像保存在图像集S中。
需要说明的是,每次拍摄前不需要对相机进行标定,但必须保证所拍摄的图像来自具有相同内参的相机。另外,对所拍摄的图像也没有顺序要求,但必须保证这些图像具有一定程度的重叠。
220:检测多张图像中的两张图像的特征点,并基于特征点对两张图像进行特征点匹配,得到两张图像的特征点之间的匹配关系。
在本发明实施例中,可以采用方向梯度直方图、局部二值模式、尺度不变特征变换(Scale Invariant Feature Transform,SIFT)等特征提取算法来获取图像集S中的各张图像的特征点,并记录所提取的特征点在相应图像中的像点坐标。
这里,SIFT算法是一种检测局部特征的算法,即在尺度空间寻找极值点,提取位置尺度,旋转不变量。应理解的是,特征提取算法不限于SIFT算法,而是可以包括能够有效地实现特征点检测的任何算法,或者对于SIFT算法的多种变化算法都应该属于本发明的保护范围。
接续,如果图像集S中的两张图像i和j之间存在足够多的匹配的特征点,则可以认为这两张图像是相关的。假设本发明实施例的图像集S中的各张图像之间均存在两两匹配关系,则可以基于检测到的特征点并利用级联哈希(Hash)算法对图像集S中的任意两张图像进行特征点匹配,从而得到两张图像之间的匹配关系。根据该匹配关系,将图像集S中的所有相关图像构成一个无向图G=(V,E),该无向图G是用无序偶对代表一条边的图,其中,V={I1,I2,…,In}代表顶点(Vertex)集合,E={eij|i,j∈V}代表边(Edge)集合。在无向图G中,每一个顶点代表一张图像,每一条边代表存在重叠关系的两张图像之间的匹配关系。这里,以图像i和图像j为例,如果存在图像i和图像j之间的相对旋转矩阵Rij,则eij=1,即边存在;如果不存在相对旋转矩阵Rij,则eij=0,即边不存在。
进一步地,可以对得到的匹配关系进行滤波处理,以获得两张图像之间的更可靠的匹配关系。具体地,在无向图G的边集合E中,采用SIFT算法进行图像匹配,若两张图像Ii和Ij的匹配的特征点较少,则说明两张图像之间的重叠区域较小或者两张图像之间的关联较弱,因此可将边(Ii,Ij)从边集合E中剔除。
230:利用两张图像的特征点之间的匹配关系获取本质矩阵,通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量。
240:计算相对旋转矩阵的旋转误差。
在本发明实施例中,基于相对旋转矩阵Rij并结合无向图G,计算图像i、图像j和图像k中任意两张图像的相对旋转矩阵之间的旋转误差θ(RijRjkRki),其中,Rij表示图像i和图像j之间的相对旋转矩阵,Rjk表示图像j和图像k之间的相对旋转矩阵,以及Rki表示图像k和图像i之间的相对旋转矩阵。
在本发明的另一个实施例中,旋转误差θ的预设阈值θ0设定在1°到15°的范围内,优选地,设定为6°。
250:基于旋转误差对相对旋转矩阵进行滤波。
在本发明实施例中,可以基于计算得到的旋转误差θ(RijRjkRki)对从本质矩阵Eij分解得到的所有相对旋转矩阵Rij进行滤波。这里,滤波的作用是在尽可能保留图像细节特征的前提下对目标图像的噪声进行抑制,该噪声可以包括但不限于高斯噪声、椒盐噪声、随机噪声等。
另外,为了保证重建的鲁棒性,需要进一步剔除异常值(即弱关联图像对),进而减小误差。具体地,可以采用投票的方式对得到的相对旋转矩阵Rij进行滤波,如果θ(RijRjkRki)<θ0成立,则对应边eijejkeki的票数分别增加1;反之,则对应边eijejkeki的票数分别减去1,最后,根据边的票数进行滤波并剔除掉票数小于3的边。
260:基于滤波后的相对旋转矩阵计算全局旋转矩阵。
在本发明实施例中,基于滤波后的相对旋转矩阵Rij,采用如下的范数二重求和公式进行全局旋转矩阵Ri的估计:
其中,Ri表示图像i对应的全局旋转矩阵,Rj -1表示图像j对应的全局旋转矩阵的逆矩阵,Rij表示图像i和图像j之间的相对旋转矩阵,1≤i≤N,1≤j≤N,N为正整数。
具体地,全局旋转矩阵R={R1,R2,…,Rn}对应于每张图像的全局旋转,采用如下的优化方程,求得每张图像对应的全局旋转矩阵Ri:
minγ1+γ2
其中,γ1、γ2表示欧拉角,Ri表示图像i对应的全局旋转矩阵,表示图像j对应的全局旋转矩阵的逆矩阵,Rij表示图像i和图像j之间的相对旋转矩阵,1≤i≤N,1≤j≤N,N为正整数,j表示对任意i、j,以及表示对任意i。
270:基于相对位移方向向量计算全局位移方向向量。
在本发明实施例中,基于从本质矩阵Eij分解得到的相对位移方向向量tij,采用如下的公式优化平移向量的角度误差,进而计算全局位移方向向量Ti:
其中,tij表示图像i和j之间的相对位移方向向量,Ti表示图像i的全局位移方向向量,Tj表示图像j的全局位移方向向量,Rij表示图像i和j之间的相对旋转矩阵,以及表示欧拉角。
具体地,采用最小角度误差算法,计算以下优化方程:
其中,表示欧拉角,表示最小角度误差,tij表示图像i和j之间的相对位移方向向量,Tj表示图像j的全局位移方向向量,Ti表示图像i的全局位移方向向量,Rij表示图像i和j之间的相对旋转矩阵,T表示全局平移矩阵,T1=(0,0,0)表示以图像1为全局坐标参考点,j表示对任意i、j,以及eij=1表示存在图像i和图像j之间的相对旋转矩阵Rij。
280:基于两张图像的特征点之间的匹配关系、全局旋转矩阵和全局位移方向向量,获取目标场景的三维点云。
在本发明实施例中,基于计算出的全局相机位姿(Ri,Ti)(即图像i的全局旋转矩阵Ri和全局位移方向向量Ti)与图像对之间的匹配关系,结合多视点几何及SFM方法三角化出目标场景的三维点云,最后使用光束平差法进行优化和调整以得到更精确的目标场景的三维点云。
根据本发明实施例提供的技术方案,在进行相机位姿估计时,执行局部相对旋转矩阵的滤波及全局旋转矩阵误差的平均,以获取更准确的全局旋转矩阵,因此不会出现误差累积的现象,进而在处理大规模场景时,不会出现因误差累积而造成的相机位姿估计偏移的错误。
另外,在进行全局相机位移估计时,采用最小化两视点全局位移方向向量和相对位移向量夹角的方式,因此,不受尺度因子大小的影响。
图3是用相机拍摄的学校教学楼的场景图,以及图4是基于图3的场景图得到的三维点云结果。在下文中,结合图3和图4,以学校的教学楼为例,通过一个示例来对上述三维点云重构的过程进行详细描述。
首先,用具有相同内参的相机从不同位置、方向拍摄322张学校教学楼的场景图像,为了节省空间,图3仅示出了72张场景图像。需要说明的是,所拍摄的这些图像必须具有一定程度的重叠。
接续,找到两张图像之间的特征点,并根据特征点采用SIFT算法进行特征匹配以获得两张图像的匹配关系;进一步地,对所获得的匹配关系进行滤波处理以剔除不需要的边或弱关联图像对,并利用深度优先搜索算法得到图像数量最多的图像集连通分量,从而得到存在稳健关联的图像匹配关系。
再续,利用五点算法获取本质矩阵,并对获取到的本质矩阵进行分解以得到相对旋转矩阵和相对位移方向向量;进一步地,计算旋转误差,并基于计算得到的旋转误差对从本质矩阵分解得到的相对旋转矩阵进行滤波,根据滤波后的相对旋转矩阵计算全局旋转矩阵,以及基于相对位移方向向量计算全局位移方向向量。
最后,基于全局旋转矩阵和全局位移方向向量与图像对之间的匹配关系,结合多视点几何及SFM方法三角化出教学楼的三维点云结果,并利用光束平差法对计算结果进行优化和调整,从而得到更精确的教学楼的三维点云结果,如图4所示。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图5是根据本发明一示例性实施例示出的一种三维点云重构装置500的框图。如图5所示,该装置包括:
获取模块510,用于利用两张图像的特征点之间的匹配关系获取本质矩阵,通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量。
计算模块520,用于基于相对旋转矩阵计算全局旋转矩阵,并基于相对位移方向向量计算全局位移方向向量。
获取模块510还基于两张图像的特征点之间的匹配关系、全局旋转矩阵和全局位移方向向量,获取目标场景的三维点云。
根据本发明实施例提供的技术方案,通过利用两张图像的特征点之间的匹配关系获取本质矩阵,并通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量,基于相对旋转矩阵计算全局旋转矩阵,基于相对位移方向向量计算全局位移方向向量,以及基于两张图像的特征点之间的匹配关系、全局旋转矩阵和全局位移方向向量,获取目标场景的三维点云,能够简化计算过程,进而节省计算时间。
在本发明的另一个实施例中,图5的装置还包括检测模块530,其中获取模块510还获取目标场景的多张图像,多张图像包括两张图像,检测模块530用于检测多张图像中的两张图像的特征点,并基于特征点对两张图像进行特征点匹配,得到两张图像的特征点之间的匹配关系。
在本发明的另一个实施例中,图5的装置还包括滤波模块540,其中计算模块520还计算相对旋转矩阵的旋转误差,滤波模块540用于基于旋转误差对相对旋转矩阵进行滤波,计算模块520还基于滤波后的相对旋转矩阵计算全局旋转矩阵。
在本发明的另一个实施例中,旋转误差的预设阈值设定在1°到15°的范围内,其中,滤波模块540还基于旋转误差和预设阈值对相对旋转矩阵进行滤波。
在本发明的另一个实施例中,基于滤波后的相对旋转矩阵计算全局旋转矩阵,采用的公式如下:其中,Ri表示图像i对应的全局旋转矩阵,表示图像j对应的全局旋转矩阵的逆矩阵,Rij表示图像i和图像j之间的相对旋转矩阵,1≤i≤N,1≤j≤N,N为正整数。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
图6是根据本发明一示例性实施例示出的用于三维点云重构的装置600的框图。
参照图6,装置600包括处理组件610,其进一步包括一个或多个处理器,以及由存储器620所代表的存储器资源,用于存储可由处理组件910的执行的指令,例如应用程序。存储器620中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件610被配置为执行指令,以执行上述三维点云重构方法。
装置600还可以包括一个电源组件630被配置为执行装置600的电源管理,一个有线或无线网络接口640被配置为将装置600连接到网络,和一个输入输出(I/O)接口650。装置600可以操作基于存储在存储器620的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
一种非临时性计算机可读存储介质,当存储介质中的指令由上述装置600的处理器执行时,使得上述装置600能够执行一种三维点云重构方法,包括:利用两张图像的特征点之间的匹配关系获取本质矩阵,通过分解本质矩阵得到两张图像之间的相对旋转矩阵和相对位移方向向量;基于相对旋转矩阵计算全局旋转矩阵;基于相对位移方向向量计算全局位移方向向量;以及基于两张图像的特征点之间的匹配关系、全局旋转矩阵和全局位移方向向量,获取目标场景的三维点云。
本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (12)
1.一种三维点云重构方法,其特征在于,所述方法包括:
利用两张图像的特征点之间的匹配关系获取本质矩阵,通过分解所述本质矩阵得到所述两张图像之间的相对旋转矩阵和相对位移方向向量;
基于所述相对旋转矩阵计算全局旋转矩阵;
基于所述相对位移方向向量计算全局位移方向向量;以及
基于所述两张图像的特征点之间的匹配关系、所述全局旋转矩阵和所述全局位移方向向量,获取目标场景的三维点云。
2.根据权利要求1所述的方法,其特征在于,在所述获取本质矩阵之前,所述方法还包括:
获取所述目标场景的多张图像,所述多张图像包括所述两张图像;以及
检测所述多张图像中的所述两张图像的特征点,并基于所述特征点对所述两张图像进行特征点匹配,得到所述两张图像的特征点之间的匹配关系。
3.根据权利要求1所述的方法,其特征在于,在所述通过分解所述本质矩阵得到所述两张图像之间的相对旋转矩阵和相对位移方向向量之后、所述基于所述相对旋转矩阵计算全局旋转矩阵之前,所述方法还包括:
计算所述相对旋转矩阵的旋转误差;以及
基于所述旋转误差对所述相对旋转矩阵进行滤波,
其中,所述基于所述相对旋转矩阵计算全局旋转矩阵,包括:
基于滤波后的相对旋转矩阵计算所述全局旋转矩阵。
4.根据权利要求3所述的方法,其特征在于,所述旋转误差的预设阈值设定在1°到15°的范围内,
其中,所述基于所述旋转误差对所述相对旋转矩阵进行滤波,包括:
基于所述旋转误差和所述预设阈值对所述相对旋转矩阵进行滤波。
5.根据权利要求3所述的方法,其特征在于,所述基于滤波后的相对旋转矩阵计算所述全局旋转矩阵,采用的公式如下:
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>R</mi>
<mi>j</mi>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>-</mo>
<msub>
<mi>R</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<mo>|</mo>
<mo>,</mo>
</mrow>
其中,Ri表示图像i对应的全局旋转矩阵,表示图像j对应的全局旋转矩阵的逆矩阵,Rij表示图像i和图像j之间的相对旋转矩阵,1≤i≤N,1≤j≤N,N为正整数。
6.一种三维点云重构装置,其特征在于,所述装置包括:
获取模块,用于利用两张图像的特征点之间的匹配关系获取本质矩阵,通过分解所述本质矩阵得到所述两张图像之间的相对旋转矩阵和相对位移方向向量;以及
计算模块,用于基于所述相对旋转矩阵计算全局旋转矩阵,并基于所述相对位移方向向量计算全局位移方向向量,
其中,所述获取模块还基于所述两张图像的特征点之间的匹配关系、所述全局旋转矩阵和所述全局位移方向向量,获取目标场景的三维点云。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:检测模块,其中所述获取模块还获取所述目标场景的多张图像,所述多张图像包括所述两张图像,所述检测模块用于检测所述多张图像中的所述两张图像的特征点,并基于所述特征点对所述两张图像进行特征点匹配,得到所述两张图像的特征点之间的匹配关系。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:滤波模块,其中所述计算模块还计算所述相对旋转矩阵的旋转误差,所述滤波模块用于基于所述旋转误差对所述相对旋转矩阵进行滤波,所述计算模块还基于滤波后的相对旋转矩阵计算所述全局旋转矩阵。
9.根据权利要求8所述的装置,其特征在于,所述旋转误差的预设阈值设定在1°到15°的范围内,
其中,所述滤波模块还基于所述旋转误差和所述预设阈值对所述相对旋转矩阵进行滤波。
10.根据权利要求8所述的装置,其特征在于,所述基于滤波后的相对旋转矩阵计算所述全局旋转矩阵,采用的公式如下:
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>R</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>R</mi>
<mi>i</mi>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>-</mo>
<msub>
<mi>R</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<mo>|</mo>
<mo>,</mo>
</mrow>
其中,Ri表示图像i对应的全局旋转矩阵,表示图像j对应的全局旋转矩阵的逆矩阵,Rij表示图像i和图像j之间的相对旋转矩阵,1≤i≤N,1≤j≤N,N为正整数。
11.一种服务器,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-5中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710642160.XA CN107507277B (zh) | 2017-07-31 | 2017-07-31 | 三维点云重构方法和装置、服务器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710642160.XA CN107507277B (zh) | 2017-07-31 | 2017-07-31 | 三维点云重构方法和装置、服务器及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107507277A true CN107507277A (zh) | 2017-12-22 |
CN107507277B CN107507277B (zh) | 2021-04-06 |
Family
ID=60689450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710642160.XA Active CN107507277B (zh) | 2017-07-31 | 2017-07-31 | 三维点云重构方法和装置、服务器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107507277B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558812A (zh) * | 2018-11-13 | 2019-04-02 | 广州铁路职业技术学院(广州铁路机械学校) | 人脸图像的提取方法和装置、实训系统和存储介质 |
CN110058211A (zh) * | 2019-03-21 | 2019-07-26 | 北京申信达成科技有限公司 | 一种车载LiDAR测量系统检校初值的获取方法及装置 |
CN110312070A (zh) * | 2019-04-23 | 2019-10-08 | 维沃移动通信有限公司 | 一种图像处理方法及终端 |
CN110580737A (zh) * | 2018-06-11 | 2019-12-17 | 深圳市优必选科技有限公司 | 图像处理方法、系统以及具有存储功能的装置 |
CN110837861A (zh) * | 2019-11-06 | 2020-02-25 | 亮风台(上海)信息科技有限公司 | 一种图像匹配方法、装置、设备和存储介质 |
CN112419375A (zh) * | 2020-11-18 | 2021-02-26 | 青岛海尔科技有限公司 | 特征点的匹配方法及装置、存储介质、电子装置 |
WO2021114434A1 (zh) * | 2019-12-11 | 2021-06-17 | 上海交通大学 | 多视图相机位姿和场景的纯位姿解算方法及系统 |
CN114170296A (zh) * | 2021-11-10 | 2022-03-11 | 埃洛克航空科技(北京)有限公司 | 基于多模式综合决策的旋转平均估计方法以及装置 |
CN114666564A (zh) * | 2022-03-23 | 2022-06-24 | 南京邮电大学 | 一种基于隐式神经场景表示进行虚拟视点图像合成的方法 |
CN114742869A (zh) * | 2022-06-15 | 2022-07-12 | 西安交通大学医学院第一附属医院 | 基于图形识别的脑部神经外科配准方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398937A (zh) * | 2008-10-29 | 2009-04-01 | 北京航空航天大学 | 基于同一场景散乱照片集的三维重构方法 |
CN103985154A (zh) * | 2014-04-25 | 2014-08-13 | 北京大学 | 一种基于全局线性方法的三维模型重建方法 |
CN106289188A (zh) * | 2016-08-05 | 2017-01-04 | 航天恒星科技有限公司 | 一种基于多视角航空影像的测量方法及系统 |
-
2017
- 2017-07-31 CN CN201710642160.XA patent/CN107507277B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398937A (zh) * | 2008-10-29 | 2009-04-01 | 北京航空航天大学 | 基于同一场景散乱照片集的三维重构方法 |
CN103985154A (zh) * | 2014-04-25 | 2014-08-13 | 北京大学 | 一种基于全局线性方法的三维模型重建方法 |
CN106289188A (zh) * | 2016-08-05 | 2017-01-04 | 航天恒星科技有限公司 | 一种基于多视角航空影像的测量方法及系统 |
Non-Patent Citations (1)
Title |
---|
崔海楠: "快速鲁棒的大场景三维重建", 《HTTP://WWW.WANFANGDATA.COM.CN/DETAILS/DETAIL.DO?_TYPE=DEGREE&ID=Y3056345#》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580737A (zh) * | 2018-06-11 | 2019-12-17 | 深圳市优必选科技有限公司 | 图像处理方法、系统以及具有存储功能的装置 |
CN110580737B (zh) * | 2018-06-11 | 2023-04-14 | 深圳市优必选科技股份有限公司 | 图像处理方法、系统以及具有存储功能的装置 |
CN109558812A (zh) * | 2018-11-13 | 2019-04-02 | 广州铁路职业技术学院(广州铁路机械学校) | 人脸图像的提取方法和装置、实训系统和存储介质 |
CN110058211A (zh) * | 2019-03-21 | 2019-07-26 | 北京申信达成科技有限公司 | 一种车载LiDAR测量系统检校初值的获取方法及装置 |
CN110312070A (zh) * | 2019-04-23 | 2019-10-08 | 维沃移动通信有限公司 | 一种图像处理方法及终端 |
CN110837861A (zh) * | 2019-11-06 | 2020-02-25 | 亮风台(上海)信息科技有限公司 | 一种图像匹配方法、装置、设备和存储介质 |
WO2021114434A1 (zh) * | 2019-12-11 | 2021-06-17 | 上海交通大学 | 多视图相机位姿和场景的纯位姿解算方法及系统 |
CN112419375B (zh) * | 2020-11-18 | 2023-02-03 | 青岛海尔科技有限公司 | 特征点的匹配方法及装置、存储介质、电子装置 |
CN112419375A (zh) * | 2020-11-18 | 2021-02-26 | 青岛海尔科技有限公司 | 特征点的匹配方法及装置、存储介质、电子装置 |
CN114170296A (zh) * | 2021-11-10 | 2022-03-11 | 埃洛克航空科技(北京)有限公司 | 基于多模式综合决策的旋转平均估计方法以及装置 |
CN114666564A (zh) * | 2022-03-23 | 2022-06-24 | 南京邮电大学 | 一种基于隐式神经场景表示进行虚拟视点图像合成的方法 |
CN114666564B (zh) * | 2022-03-23 | 2024-03-01 | 南京邮电大学 | 一种基于隐式神经场景表示进行虚拟视点图像合成的方法 |
CN114742869A (zh) * | 2022-06-15 | 2022-07-12 | 西安交通大学医学院第一附属医院 | 基于图形识别的脑部神经外科配准方法及电子设备 |
CN114742869B (zh) * | 2022-06-15 | 2022-08-16 | 西安交通大学医学院第一附属医院 | 基于图形识别的脑部神经外科配准方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107507277B (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107507277B (zh) | 三维点云重构方法和装置、服务器及可读存储介质 | |
CN110135455B (zh) | 影像匹配方法、装置及计算机可读存储介质 | |
US10559090B2 (en) | Method and apparatus for calculating dual-camera relative position, and device | |
CN107063228B (zh) | 基于双目视觉的目标姿态解算方法 | |
CN111897349B (zh) | 一种基于双目视觉的水下机器人自主避障方法 | |
CN109360246B (zh) | 基于同步子区搜索的立体视觉三维位移测量方法 | |
JP2018534698A (ja) | Rgbdカメラ姿勢のラージスケール判定のための方法およびシステム | |
US9846974B2 (en) | Absolute rotation estimation including outlier detection via low-rank and sparse matrix decomposition | |
CN103426190B (zh) | 图像重构的方法及系统 | |
CN110243390B (zh) | 位姿的确定方法、装置及里程计 | |
CN109785373B (zh) | 一种基于散斑的六自由度位姿估计系统及方法 | |
JP2016194895A (ja) | 室内2d平面図の生成方法、装置及びシステム | |
CN112150518B (zh) | 一种基于注意力机制的图像立体匹配方法及双目设备 | |
CA3233222A1 (en) | Method, apparatus and device for photogrammetry, and storage medium | |
CN107680035B (zh) | 一种参数标定方法和装置、服务器及可读存储介质 | |
CN112348890A (zh) | 一种空间定位方法、装置及计算机可读存储介质 | |
CN109215118B (zh) | 一种基于图像序列的增量式运动结构恢复优化方法 | |
CN110800020B (zh) | 一种图像信息获取方法、图像处理设备及计算机存储介质 | |
CN111476842B (zh) | 一种像机相对位姿估计方法及系统 | |
Georgiev et al. | A fast and accurate re-calibration technique for misaligned stereo cameras | |
CN108426566B (zh) | 一种基于多摄像机的移动机器人定位方法 | |
Komorowski et al. | Extrinsic camera calibration method and its performance evaluation | |
Nousias et al. | A linear approach to absolute pose estimation for light fields | |
CN117649454B (zh) | 双目相机外参自动校正方法、装置、电子设备及存储介质 | |
Induchoodan et al. | Depth recovery from stereo images |
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 |