CN105654548B - 一种基于大规模无序图像的多起点增量式三维重建方法 - Google Patents
一种基于大规模无序图像的多起点增量式三维重建方法 Download PDFInfo
- Publication number
- CN105654548B CN105654548B CN201510999435.6A CN201510999435A CN105654548B CN 105654548 B CN105654548 B CN 105654548B CN 201510999435 A CN201510999435 A CN 201510999435A CN 105654548 B CN105654548 B CN 105654548B
- Authority
- CN
- China
- Prior art keywords
- image
- dimensional
- point
- node
- reconstruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/12—Acquisition of 3D measurements of objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于大规模无序图像的多起点增量式三维重建方法,包括图像匹配与匹配关系图构建、重建起点选择、边界检测、多起点三维重建和子模型拼接的步骤;利用聚类和迭代漂移的策略,自适应地从无序图像集合中选取适合作为起点的图像对同时开始重建;在重建开始之前,根据分层最短路径算法确定每幅图像的最佳重建子过程,确定重建边界;并根据不同子过程得到的子模型,通过其包含的公共部分进行拼接,获得完整的三维重建模型;本发明提供的这种三维重建方法解决了当场景包含多个不重叠部分时重建过程中断的问题,获得图像集合所覆盖的完整的三维模型;也避免了三维结构经由错误的图像匹配传递而发生错误的情况;重建子过程可以并行处理,提高了图像重建效率。
Description
技术领域
本发明属于计算机视觉技术领域,具体涉及一种基于大规模无序图像的多起点增量式三维重建方法。
背景技术
基于计算机视觉技术的三维重建能从二维图像中恢复场景的三维结构,符合人类认知世界的习惯,具有广泛的应用前景。运用互联网上的现有图像进行三维重建,可极大地简化三维重建数据采集的步骤,降低了数据采集的成本,缩短了数据采集的时间但同时具有图像数量大、图像分辨率差异大、相机标定参数未知、图像场景重叠关系未知的问题。
现有的大规模无序图像集合的场景三维重建采用运动恢复结构(Structure fromMotion,SFM)的方法,包括图像匹配、初始像对选取、增量式添加、集束调整(BundleAdjustment,BA)四个步骤;首先进行所有可能图像对之间的特征匹配,随后进行几何验证,保留满足几何约束的匹配。若两幅图像之间的匹配数量大于阈值,则认为这两幅图像存在场景的重叠;在所有图像中寻找两幅具有较多的匹配数量、且具有较宽的基线长度的图像作为重建的起点,以获得较为精确的初始三维结构;从剩下的图像中选出一个与当前重建结果有最多重叠部分的图像,加入当前模型。新加入图像的姿态参数由n点透视(Perspective-n-Point,PnP)算法求出,并依据其参数引入新的三维点。如果一个图像已经被加入当前模型并且已估到其参数,则这幅图像被称作已经标定的图像。为了避免每次加入新的图像导致误差的累积,每加入若干幅图像之后利用BA算法进行一次全局参数优化;以上过程不断重复直到没有新的图像可以加入重建过程。
若在添加过程中剩余所有的图像和已经标定的图像之间的匹配数量都很少,SFM认为剩余图像和已重建模型不存在场景重叠,因此新加入的图像参数无法被估计,重建过程将被中断;SFM只能得到部分场景的重建结果,大部分未被标定的图片被浪费;另外,若新加入的图像与现有重建结果之间的匹配数量不多,但足够估计相机的姿态参数,虽然重建过程不会中断,但经过少量匹配估计的相机姿态可能不准确,而且可能会导致其后加入的图像姿态有较严重的误差。由于从互联网获取的图像的拍摄视点不受限制,图像之间的重叠关系无法预知,上述问题发生的概率较大。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于大规模无序图像的多起点增量式三维重建方法,其目的在于解决由单一起点开始重建导致的中断、相机姿态估计不准确和误差累积的问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于大规模无序图像的多起点增量式三维重建方法,具体包括以下步骤:
(1)从大规模无序图像集合中提取图像特征点,通过特征点匹配获取图像之间的特征匹配点对;并根据匹配点对获得图像之间的重叠关系;根据图像之间的重叠关系生成匹配关系图;
(2)根据图像间的相似度对匹配关系图上的节点进行聚类,获得初始聚类,每一个初始聚类对应一个初始聚类中心;根据初始聚类中心的密度进行筛选,获取有效聚类中心,将有效聚类中心作为初始重建起点,并采用迭代漂移的方法对初始重建起点进行优化,获得重建起点;
(3)边界检测:采用基于分层最短路径的边界检测方法,确定每个图像采用的重建子过程;
边界检测的步骤,是在多个对场景进行三维重建的重建子过程中,确定各图像应该由哪个重建子过程来重建;在确定一副图像应该由哪个重建子过程进行重建时,要求重建子过程的起点图像和该图像存在直接场景重叠,或者二者虽然不存在直接场景重叠,但可以由一系列中间图像传递场景重叠关系;
对于重建子过程的起点图像与该图像存在直接场景重叠的情况,这两幅图像之间的场景重叠应该尽可能大,反映在匹配关系图上就是两个节点之间的边具有较小的权值;
对于重建子过程的起点图像与该图像不存在直接场景重叠的情况,起传递作用的中间图像之间应具有较大且均匀的场景重叠,反映在匹配关系图上就是某个节点到起点之间存在路径,且路径上每一条边的权值尽可能的小,路径上所有边的权值相似度最高;
(4)多起点三维重建;基于步骤(2)所获得的多个重建起点,采用步骤(3)确定的重建子过程,分别从这些重建起点开始,同时采用增量式重建方法对整个场景进行重建,获得多个三维子模型;
每个重建起点对应一个重建子过程,每个重建子过程只重建其边界范围内的图像;
(5)模型拼接:将相互存在重叠的三维子模型进行拼接,获得完整的三维模型。
优选地,上述基于大规模无序图像的多起点增量式三维重建方法,其步骤(1)具体包括如下子步骤:
(1.1)对于包含N幅图像的大规模无序图像集合,生成N个节点,每个节点对应图像集合中的一幅图像;其中,N为大于1的整数;
(1.2)提取大规模无序图像集合中所有图像的特征点,并对任意不同的两幅图像进行特征点匹配,找到两幅图像之间的匹配点对;
(1.3)对匹配点对进行几何关系验证,剔除不满足极线几何约束的错误匹配点对;若两幅图像之间满足极线几何约束的匹配点对的数量大于第一阈值则表明这两幅图像之间存在场景重叠,给这两幅图像对应的节点之间添加一条无向带权的边;
(1.4)由一组节点和一组无向带权的边构成图像集合的匹配关系图G;匹配关系图G用于描述图像之间场景重叠关系;边的权值越小,表明图像的场景重叠程度越大。
优选地,上述基于大规模无序图像的多起点增量式三维重建方法,其步骤(2)具体包括如下子步骤:
(2.1)对图像之间的相似度进行量化,获得图像间的相似度矩阵S;利用该相似度矩阵S和自适应聚类算法对匹配关系图G上的节点进行初始聚类,每个初始聚类对应于一个初始聚类中心;
(2.2)获取每一个初始聚类中心的密度,剔除密度小于第二阈值α的聚类中心;将剩下的聚类中心作为有效聚类中心;
聚类中心的密度用匹配关系图上到该聚类中心距离小于第三阈值d1的节点的数量来表示;
在本发明中,匹配关系图上两个节点的距离是节点之间最短路径的长度;若最短路径不存在,则两个节点之间的距离为无穷大;
(2.3)将有效聚类中心作为初始重建起点,采用迭代漂移的方法对初始重建起点进行优化;
(2.4)重复步骤(2.3),对每个有效聚类中心进行优化,获得迭代漂移收敛后的新节点;
迭代漂移具有合并分布较近的有效聚类中心的功能;在迭代漂移过程中,若多个聚类中心收敛到同一个节点,则将这些聚类中心合并;合并后的重建起点数量比初始重建起点少很多,从而避免三维场景被过分割成太多细小的碎片。
优选地,上述基于大规模无序图像的多起点增量式三维重建方法,其步骤(2.3)具体包括如下子步骤:
(2.3.1)对一个有效聚类中心c,获取其在匹配关系图上的邻域内所有节点作为重建起点的置信度,从中选出置信度最大的节点
其中,c的邻域是指在匹配关系图上到c的距离小于第四阈值d2的所有节点;
(2.3.2)步骤重复(2.3.1),在的邻域内寻找新的置信度最大的节点,并用该节点替换直到两次迭代取得的值相等,停止迭代漂移。
优选的,上述步骤(3),具体包括如下子步骤:
(3.1)统计匹配关系图上所有边权值的范围,获得边权值的最小值a与最大值b;将权值取值范围划分成L等份,每一份的长度为
(3.2)根据层级参数θl,构建(L+1)层匹配关系图;所述层级参数θl=l*Δ+a;其中,l=0,...,L;
其中,第l层匹配关系图Gl是一个包含N个节点的图,每个节点对应于一幅图像;第l层匹配关系图Gl中仅仅包含原匹配关系图G中权值小于层级参数θl的边,即第l层的图上的所有边的权值均小于该层的层级参数θl;随着l的增加,Gl中所包含的边的数量增加,在图上存在连通路径的节点的数量增加,边的权重的均值和方差增加;当l=L时,GL=G;
(3.3)获取第l层匹配关系图Gl中各节点到所有起点之间的最短路径;判断最短路径是否存在,若是,则该节点所对应的图像由最短路径长度最短的起点所对应的重建子过程重建;若否,则在该层对该节点不做任何处理;
遍历l直到l=L,获得每个图像采用的重建子过程;
若一个节点在较低层找到最优重建子过程,则在更高的层不再对该节点进行寻找最优重建子过程的处理;若一个节点在当前层到任何一个起点都不存在最短路径,则在下一层继续对其进行处理;
按照基于分层最短路径的边界检测方法,一个节点如果在某一层找到了到某个起点的最短路径,那么它在更高的层中仍然会找到这个起点的最短路径,因为更高层的图包含更多的边;位于较低层的最短路径具有如下两个优点:1)路径上每条边的权值比较小;2)路径上所有边的权值差异比较小,这恰好满足选择最佳重建子过程的要求。
优选地,上述基于大规模无序图像的多起点增量式三维重建方法,其步骤(4)具体包括如下子步骤:
(4.1)在图像集合中选取两幅起始图像,根据这两幅起始图像之间的匹配计算相机的参数和稀疏三维点云,作为初始三维子模型;
(4.2)将图像集合中的其他图像加入,并计算这些图像对应的相机姿态和稀疏三维点云,更新三维子模型;
(4.3)用集束调整算法对上述步骤(4.2)获得的三维子模型进行全局优化,使得三维点云在所有图像上的重投影误差最小;
与现有技术不同的是,在选两幅起始图像时,起点所对应的图像固定作为第一幅图像,然后从其它图像中选择具有较多匹配和较宽基线的图像作为第二幅图像;多个重建子过程可以并行处理以提高重建效率;
多个重建子过程获得的三维子模型相互独立,分别描述了场景的一个局部;
优选地,上述基于大规模无序图像的多起点增量式三维重建方法,其步骤(5)具体包括如下子步骤:
(5.1)根据三维子模型所包含的公共三维点的数量,判断三维子模型之间是否存在重叠关系,若是,则进入步骤(5.2);若否,则不做任何操作;
子模型之间的公共三维点越多,则三维子模型相互重叠越大;
(5.2)确定一组有重叠的三维子模型的拼接顺序;根据以下方法确定一组有重叠的子模型的拼接顺序:
(a)包含三维点数量少的三维子模型向包含三维点数量多的三维子模型拼接;
(b)若一个含三维点数量少的三维子模型同时与多个三维子模型存在公共三维点,则将其向包含公共三维点数量最多的三维子模型拼接;
(c)如果两个三维子模型之间存在场景重叠,则根据所述两个三维子模型的公共三维点,采用鲁棒的最小二乘法估计三维空间的相似变换对所述两个三维子模型进行拼接。
优选的,步骤(1)中的第一阈值为20。
优选地,边的权值w(i,j)按照如下方式获取:
w(i,j)=1-s(i,j)
其中,|Fi∩Fj|表示图像i和图像j之间公共的匹配特征点的个数,|Fi∪Fj|表示表示图像i和图像j上与其它图像匹配的特征点的总个数;权值w(i,j)位于区间[0,1]内,其大小反映了两幅图像之间重叠程度:权值越大则重叠程度越小,权值越小则重叠程度越大;
图像集合中的图像具有不同的分辨率和纹理信息;分辨率高的图像对比分辨率低的图像对之间拥有更多的匹配;纹理信息丰富的图像对之间会比纹理信息弱的图像对之间拥有更多的匹配;如果使用匹配点数量来衡量场景的重叠程度,会受上述因素的影响产生误差;采用上述方法获取边的权值,能有效抵消由不同图象分辨率和纹理带来的差异。
优选地,步骤(2)中对图像之间的相似度进行量化,根据获得图像间的相似度矩阵S;利用该相似度矩阵S和自适应聚类算法对匹配关系图上的节点进行初始聚类,获得聚类中心;其中,|Fi∩Fj|表示图像i和图像j之间公共的匹配特征点的个数,|Fi∪Fj|表示表示图像i和图像j上与其它图像匹配的特征点的总个数。
优选地,一个节点v作为重建起点的置信度c(v)根据以下方法获得:
c(v)=c1+c2-c3
其中,c1是指节点v在匹配关系图上的度,c2表示节点v的邻域N(v)内所有节点在匹配关系图上的平均度,c3表示节点v与其邻域N(v)内所有节点之间边的权值的平均值;
第一项c1反映了与v所代表的图像有场景重叠的图像的个数;第二项c2反映了与v所代表的图像虽然没有场景重叠,但能通过中间图像建立场景重叠的图像的个数;第三项c3表示v所代表的图像跟与其有场景重叠的图像的重叠程度;置信度c(v)越高,表明与节点v存在较大的场景重叠的图像越多,节点v有更强的潜力把三维结构向周围空间进行传播,越适合作为重建起点。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的基于大规模无序图像的多起点增量式三维重建方法,其中,大规模是指所处理的图像数量的量级在10的3次方以上;该三维重建方法能自适应地从大规模图像集合中选取多个起点同时对整个场景进行三维重建;当匹配关系图只包含一个连通分量时,本发明方法能获得和传统单一起点方法相同的效果;当匹配关系图包含多个不连通或者弱连通的子图时,本发明的方法相比传统单一起点方法在重建效率、精度和完整度上都有很大改善,可用于对大尺度场景如社区、校园、景点、城市的三维建模;
(2)本发明提供的基于大规模无序图像的多起点增量式三维重建方法,由于多个不同的重建子过程可以并行处理,解决了传统增量式重建耗时的问题,很大程度上提高了三维重建的性能;
(3)本发明提供的基于大规模无序图像的多起点增量式三维重建方法,根据基于分层最短路径的边界检测方法,从一个图像的所有重建子过程中选择一个重叠程度最高的对其进行重建,解决了由于较少的场景重叠导致的相机姿态估计不准确的问题;而现有技术采用的单一起点重建方法,若在重建过程中加入了一幅与当前重建模型重叠程度比较小的图像,则该图像对应的相机姿态估计可能存在较大的误差;与现有技术相比,本发明提供的这种三维重建方法提高了对相机姿态估计的准确度;
(4)本发明提供的基于大规模无序图像的多起点增量式三维重建方法,由于每个重建子过程只负责重建其起点附近的图像,避免了传统的单一起点重建方法中需要重建和起点距离很远的图像,因此解决了长距离增量式重建导致的误差累积问题;
(5)本发明提供的基于大规模无序图像的多起点增量式三维重建方法,在每个独立场景中分别选择重建起点,并对其分别进行重建,得到每个独立场景的三维子模型,解决了在场景不连续时模型不完整的问题;当图像集合包含多个互相不重叠的独立场景时,现有技术的单一起点重建方法会因为缺乏场景重叠无法添加新的图像而中断;本发明解决了现有技术由单一起点开始重建导致的中断问题,提高了模型的完整度。
附图说明
图1是本发明提供的大规模无序图像三维重建方法的流程图;
图2为实施例中匹配关系图与重建起点的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1所示,是本发明提供的基于大规模无序图像的多起点增量式三维重建方法的流程图;从输入的大规模无序图像集合中恢复场景的三维信息,包括经过图像匹配关系图构建、起点选择、分层最短路径边界检测、多起点三维重建、重叠检测与模型拼接的步骤;结合实施例具体阐述如下:
(1)数据准备;
在具体实施例中,用户根据需要重建的目标场景的关键词从互联网上搜集图像,获取大规模无序图像集合;
(2)图像匹配和匹配关系图构建:从大规模无序图像集合中提取图像特征点,通过特征点匹配获取图像之间的匹配点对;并根据特征匹配点对判断图像之间的重叠关系;根据图像之间的重叠关系生成匹配关系图;
本发明采用匹配关系图G这一数据结构来描述任意两幅图像之间的场景重叠关系;对于一个包含N幅图像的大规模无序图像集合,其图像匹配和匹配关系图构建的过程,具体包含以下步骤:
(2.1)从每幅图像上提取图像特征点,计算这些特征点的特征描述符,并对任意两幅不同的图像进行图像特征匹配,获得两幅图像之间的匹配点对;其中,图像特征点提取和匹配算法采用尺度不变特征变换(Scale Invariant Feature Transform,SIFT)算法;
(2.2)对任意两幅图像之间的特征匹配进行几何验证,剔除不满足几何约束的错误匹配;其中,采用随机抽样一致(RANdom SAmple Consensus,RANSAC)算法鲁棒地估计两幅图像之间的基础矩阵(如果相机内参数已知,可以估计本质矩阵),剔除不满足基础矩阵约束的错误匹配;
(2.3)构建匹配关系图;
根据大规模无序图像集合中图像的个数N,生成一组节点,每个节点对应于大规模无序图像集合中的一幅图像;
(2.3.1)判断两幅图像之间满足极线几何约束的匹配点对数量是否大于第一阈值若是,则表明该两幅图像之间存在场景重叠,在这两幅图像对应的节点之间添加一条边;
若否,则这两幅图像对应的节点之间不添加边;本实施例中,第一阈值取20;
(2.3.2)根据w(i,j)=1-s(i,j),获取边的权值w(i,j);
其中,|Fi∩Fj|表示图像i和图像j之间公共的匹配特征点的个数,|Fi∪Fj|表示表示图像i和图像j上与其它图像匹配的特征点的总个数;权值w(i,j)位于区间[0,1]内,其大小反映了两幅图像之间重叠程度:权值越大则重叠程度越小,权值越小则重叠程度越大;
若边的权值w(i,j)=0,则表示图像i和图像j包含了完全相同的场景;若w(i,j)=1,则表明图像i和图像j之间不存在场景重叠;由于实施例中,从互联网下载的图像分辨率差异较大,包含的纹理信息的丰富程度也不尽相同;分辨率高的图像对比分辨率低的图像对之间拥有更多的匹配;纹理信息丰富的图像对之间会比纹理信息弱的图像对之间拥有更多的匹配;
如果使用匹配点数量来衡量场景的重叠程度,会受上述因素的影响产生误差;采用本发明提供的这种方法获取边的权值,能有效抵消由不同图像分辨率和纹理带来的差异。
在实施例中,从互联网下载的大规模无序图像集合包含2364幅图像,分辨率在450×600~1600×1200范围内;采用上述步骤,所构建的匹配关系图G包含2364个节点,45395条边。
(3)根据图像间的相似度对匹配关系图上的节点进行聚类,获得初始聚类,每个初始聚类对应于一个初始聚类中心;根据初始聚类中心的密度进行筛选,获取有效聚类中心,将有效聚类中心作为初始重建起点,并采用迭代漂移的方法对初始重建起点进行优化,获得重建起点;具体如下:
(3.1)采用相似度矩阵对图像之间的相似度进行量化,利用该相似度矩阵S,采用自适应聚类算法对匹配关系图上的节点进行初始聚类,获得初始聚类,以及每个初始聚类对应的初始聚类中心;
实施例中,采用近邻传播聚类(Affinity Propagation,AP)算法进行初始聚类,使用AP聚类算法能够自适应地确定数据聚类的个数,具有更广泛的应用范围和更强的处理复杂数据的能力;另外,每个聚类中心都是样本集合中的一个实际样本,而非统计意义上的均值;实施例中,对2364幅图像经过初始AP聚类获得236个初始聚类;
(3.2)获取每一个初始聚类中心的密度,剔除密度小于第二阈值α的初始聚类中心;将剩下的聚类中心作为有效聚类中心;
步骤(3.1)所获得的初始聚类中有些初始聚类所包含的样本数量很少,有些初始聚类所包含的样本点分布较为稀疏,样本之间的相似性较弱;这些类的中心都不适合用作重建的起点;
实施例中,根据初始聚类中心的密度进行筛选,获得有效聚类中心;具体地,将密度小于一个第二阈值α的初始聚类中心剔除,将剩下的聚类中心作为有效聚类中心;
其中,聚类中心的密度用匹配关系图上到该聚类中心距离小于第三阈值d1的节点的数量来表示;在本发明中,匹配关系图上两个节点的距离是他们之间最短路径的长度;若最短路径不存在,则两个节点之间的距离为无穷大;在实施例中,第三阈值d1表示统计密度时的局部邻域范围大小,取值为1.5;
在实施例中,第二阈值α取值为30;第二阈值α指标倾向于选择那些代表较大的而且较紧凑聚类的聚类中心;实施例中,236个初始聚类中心经过步骤(3.2)的筛选,获得57个有效聚类中心。
(3.3)采用迭代漂移的方法,优化重建起点;
步骤(3.2)获得的有效聚类中心是数据分布意义上的最优值,但不一定是重建意义上的最优选择;以下步骤,将有效聚类中心作为初始重建起点,并利用迭代漂移方法对其进行优化;
对每个有效聚类中心c,采用c(v)=c1+c2-c3计算其在匹配关系图上的邻域内所有节点作为重建起点的置信度,从中选出置信度最大的节点
其中,c1是指节点v在匹配关系图上的度,c2表示节点v的邻域N(v)内所有节点在匹配关系图上的平均度,c3表示节点v与其邻域N(v)内所有节点之间边的权值的平均值;
其中,c的邻域是指在匹配关系图上到c的距离小于第四阈值d2的所有节点;在实施例中,第四阈值d2表示进行漂移时局部搜索的范围大小,取值为1.0;
迭代重复,继续在的邻域内寻找新的置信度最大的节点,并用该节点替换当两次迭代获得的置信度最大的节点相同,表明迭代过程已收敛,停止迭代漂移;
对每个有效聚类中心都进行上述迭代漂移,获得迭代漂移收敛后的新的节点;
在本实施例中,上述57个有效的聚类中心作为初始重建起点,经过步骤(3.3)的迭代漂移优化,获得3个重建起点;图2描述了实施例对应的匹配关系图与三个重建起点。
(4)采用基于分层最短路径的边界检测方法,确定每个图像所采用的重建子过程:具体如下:
(4.1)确定层级参数;
统计匹配关系图上所有边权值的范围,得到权值的最小值a和最大值b;将权值取值范围划分成L等份,每一份的长度为获取一组递增的层级参数θl=l*Δ+a;其中,l=0,...,L;
(4.2)构建分层匹配关系图;
根据上述阈值,构建(L+1)层匹配关系图;
其中,第l层匹配关系图Gl是一个包含N个节点的图,每个节点对应于一幅图像;Gl中仅包含G中权值小于θl的边;随着l的增加,Gl中所包含的边的数量增加,在图上存在连通路径的节点的数量增加,同时,这些边的权重的均值和方差也增加;当l=L时,GL=G;
(4.3)根据分层最短路径,为节点所对应的图像选择最佳的重建子过程;
对第l层匹配关系图Gl,获取图中每个节点到所有起点之间的最短路径;若最短路径存在,则该节点所对应的图像由最短路径中长度最短的路径的对应起点所对应的重建子过程重建;
若最短路径不存在,则在该层对该节点不做任何处理;从最低层(l=0)到最高层(l=L),在每一层筛选重建子过程;若一个节点在较低层找到最优重建子过程,则在更高的层不再对该节点进行处理;若一个节点在当前层到任何一个起点都不存在最短路径,则在下一层为其选择最佳重建子过程;
按照上述分层最短路径方法,对于一个节点而言,若在某一层找到了到某个起点的最短路径,那么它在更高的层中仍可找到这个起点的最短路径,因为更高层的图包含更多的边;但是,位于较低层的最短路径具有如下两个优点:1)路径上每条边的权值较小;2)路径上所有边的权值差异较小;使得三维结构能通过较大并且较均匀的重叠从起点传递到该图像。
(5)基于上述多个重建起点,以及确定的重建子过程,分别从这些重建起点开始,同时采用增量式重建方法对整个场景进行重建;
(5.1)根据无序图像集合中的两幅起始图像之间的匹配计算相机的参数和稀疏三维点云,作为初始三维子模型;
(5.2)加入无序图像集合中的剩余图像,并计算它们的相机姿态和对应的稀疏三维点云,更新三维子模型;
(5.3)采用集束调整算法对三维子模型进行全局优化,使得三维点云在所有图像上的重投影误差最小;与传统方法不同的是,在选两幅起始图像时,起点所对应的图像固定作为第一幅图像,然后从其他图像中选择具有较多匹配和较宽基线的图像作为第二幅图像;多个重建子过程可以并行处理以提高重建效率;当所有的重建子过程终止以后,获得每个子过程重建得到的三维子模型。
(6)将相互存在重叠的三维子模型进行拼接,获得完整的三维模型;多个重建子过程得到的三维子模型是相互独立的分别代表场景中的某个局部;为了得到统一的场景,需要根据各个三维子模型之间的重叠关系的顺序变换进行三维子模型拼接;具体如下:
(6.1)根据子模型之间的重叠关系,确定拼接顺序;根据空间的三维点与图像上的特征点之间的对应关系,判断两个子模型之间是否有公共的三维点;若两个子模型之间存在公共的三维点,则对其进行拼接;
根据以下方法确定拼接顺序:
包含三维点数量少的子模型总是向包含三维点数量多的子模型拼接;
若一个包含三维点数量少的子模型同时和多个子模型都存在公共三维点,则将包含三维点数量少的子模型向公共三维点数量最多的三维子模型拼接;
(6.2)根据公共三维点估计两个子模型之间的变换,对其进行拼接;在实施例中,该变换模型是相似变换,描述模型在空间中的旋转、平移和尺度缩放三个方面的差异;由于公共三维点中可能包含噪声,因此采用随机抽样一致(RANdom SAmple Consensus,RANSAC)算法估计相似变换;完成子模型拼接。
(7)输出并保存拼接后的三维点云和相机参数,得到完整的三维模型,完成三维重建。
在上述实施例中,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的基于大规模无序图像的多起点增量式三维重建方法,能自适应地从大规模输入图像集合中选取多个起点同时对整个场景进行三维重建;当匹配关系图只包含一个连通分量时,本发明方法能获得和传统单一起点方法相同的效果;当匹配关系图包含多个不连通或者弱连通的子图时,本发明的方法相比传统单一起点方法在重建效率、精度和完整度上都有很大改善;
(2)本发明提供的基于大规模无序图像的多起点增量式三维重建方法,由于多个不同的重建子过程可以并行处理,解决了传统增量式重建耗时的问题,很大程度上提高了三维重建的性能;
(3)本发明提供的基于大规模无序图像的多起点增量式三维重建方法,根据基于分层最短路径的边界检测方法,从一个图像的所有重建子过程中选择一个重叠程度最高的对其进行重建,解决了由于较少的场景重叠导致的相机姿态估计不准确的问题;而现有技术采用的单一起点重建方法,若在重建过程中加入了一幅与当前重建模型重叠程度比较小的图像,则该图像对应的相机姿态估计可能存在较大的误差;与现有技术相比,本发明提供的这种三维重建方法提高了对相机姿态估计的准确度;
(4)本发明提供的基于大规模无序图像的多起点增量式三维重建方法,由于每个重建子过程只负责重建其起点附近的图像,避免了传统的单一起点重建方法中需要重建和起点距离很远的图像,因此解决了长距离增量式重建导致的误差累积问题;
(5)本发明提供的基于大规模无序图像的多起点增量式三维重建方法,在每个独立场景中分别选择重建起点,并对其分别进行重建,得到每个独立场景的三维子模型,解决了在场景不连续时模型不完整的问题;当图像集合包含多个互相不重叠的独立场景时,现有技术的单一起点重建方法会因为缺乏场景重叠无法添加新的图像而中断;本发明解决了现有技术由单一起点开始重建导致的中断问题,提高了模型的完整度。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于大规模无序图像的多起点增量式三维重建方法,其特征在于,具体包括以下步骤:
(1)从大规模无序图像集合中提取图像特征点,通过特征点匹配获取图像之间的匹配点对;并根据匹配点对获得图像之间的重叠关系;根据图像之间的重叠关系生成匹配关系图G;
(2)根据图像间的相似度矩阵对匹配关系图上的节点进行聚类,获得初始聚类,每一个初始聚类对应一个初始聚类中心;根据初始聚类中心的密度进行筛选,获取有效聚类中心,将有效聚类中心作为初始重建起点,并采用迭代漂移的方法对初始重建起点进行优化,获得重建起点;
(3)采用基于分层最短路径的边界检测方法,确定每个图像采用的重建子过程;
其中,步骤(3)具体包括如下子步骤:
(3.1)统计匹配关系图上所有边权值的范围,获得边权值的最小值a与最大值b;将权值取值范围划分成L等份,每一份的长度为
(3.2)根据层级参数θl,构建(L+1)层匹配关系图;所述层级参数θl=l*Δ+a;其中,l=0,...,L;
(3.3)对于第l层匹配关系图Gl中的每个节点v,获取该节点v到所有起点之间的最短路径;判断最短路径是否存在,若是,则该节点v所对应的图像由与节点v之间路径最短时所对应的起点的重建子过程进行重建;若否,则在该层对该节点v不做任何处理;遍历l直到l=L,获得每个图像采用的重建子过程;
(4)采用步骤(3)确定的重建子过程,基于步骤(2)所获得的多个重建起点,分别从所述重建起点开始,同时采用增量式重建方法对整个场景进行重建,获得多个三维子模型;
(5)将相互存在重叠的三维子模型进行拼接,获得完整的三维模型。
2.如权利要求1所述的多起点增量式三维重建方法,其特征在于,所述步骤(1)具体包括如下子步骤:
(1.1)对于包含N幅图像的大规模无序图像集合,生成N个节点,每个节点对应图像集合中的一幅图像;N为大于1的整数;
(1.2)提取大规模无序图像集合中所有图像的特征点,并对任意不同的两幅图像进行特征点匹配,找到两幅图像之间的匹配点对;
(1.3)对匹配点对进行几何关系验证,剔除不满足极线几何约束的错误匹配点对;对于满足极线几何约束的匹配点对的数量大于第一阈值的两幅图像,在所述两幅图像对应的节点之间添加一条无向带权的边;
(1.4)由一组节点和一组无向带权的边构成图像集合的匹配关系图G。
3.如权利要求1或2所述的多起点增量式三维重建方法,其特征在于,所述步骤(2)具体包括如下子步骤:
(2.1)对图像之间的相似度进行量化,获得图像间的相似度矩阵S;利用所述相似度矩阵S,采用自适应聚类算法对匹配关系图G上的节点进行初始聚类,每个初始聚类对应于一个初始聚类中心;
(2.2)获取每一个初始聚类中心的密度,剔除密度小于第二阈值α的聚类中心,将剩下的聚类中心作为有效聚类中心;
(2.3)将有效聚类中心作为初始重建起点,采用迭代漂移的方法对初始重建起点进行优化;
(2.4)重复步骤(2.3),对每个有效聚类中心进行优化,获得迭代漂移收敛后的新节点。
4.如权利要求3所述的多起点增量式三维重建方法,其特征在于,所述步骤(2.3)具体包括如下子步骤:
(2.3.1)对一个有效聚类中心c,获取其在匹配关系图上的邻域内所有节点作为重建起点的置信度,从中选出置信度最大的节点
(2.3.2)步骤重复(2.3.1),在的邻域内寻找新的置信度最大的节点,并用该节点替换直到两次迭代取得的值相等,停止迭代漂移。
5.如权利要求1或2所述的多起点增量式三维重建方法,其特征在于,所述步骤(4)具体包括如下子步骤:
(4.1)在图像集合中选取两幅起始图像,根据这两幅起始图像之间的匹配计算相机的参数和稀疏三维点云,作为初始三维子模型;
(4.2)将图像集合中的其他图像加入,并计算这些图像对应的相机姿态和稀疏三维点云,更新三维子模型;
(4.3)用集束调整算法对上述步骤(4.2)获得的三维子模型进行全局优化,使得三维点云在所有图像上的重投影误差最小。
6.如权利要求1或2所述的多起点增量式三维重建方法,其特征在于,所述步骤(5)具体包括如下子步骤:
(5.1)根据子模型所包含的公共三维点的数量,判断三维子模型之间是否存在重叠关系,若是,则进入步骤(5.2);若否,则不做任何操作;
(5.2)根据以下方法确定一组有重叠的子模型的拼接顺序:
(a)包含第一三维点数量的三维子模型向包含第二三维点数量的三维子模型拼接,其中,第一三维点数量少于第二三维点数量;
(b)若一个含第一三维点数量的三维子模型同时与多个三维子模型存在公共三维点,则将其向包含公共三维点数量最多的三维子模型拼接;
(c)如果两个三维子模型之间存在场景重叠,则根据所述两个三维子模型的公共三维点,采用鲁棒的最小二乘法估计三维空间的相似变换对所述两个三维子模型进行拼接。
7.如权利要求2所述的多起点增量式三维重建方法,其特征在于,步骤(1)中的第一阈值为20。
8.如权利要求1所述的多起点增量式三维重建方法,其特征在于,边的权值w(i,j)按照如下方式获取:
w(i,j)=1-s(i,j)
其中,|Fi∩Fj|表示图像i和图像j之间公共的匹配特征点的个数,|Fi∪Fj|表示图像i和图像j上与其它图像匹配的特征点的总个数。
9.如权利要求3所述的多起点增量式三维重建方法,其特征在于,所述步骤(2)中,根据获得图像间的相似度矩阵S,其中,|Fi∩Fj|表示图像i和图像j之间公共的匹配特征点的个数,|Fi∪Fj|表示图像i和图像j上与其它图像匹配的特征点的总个数,s(i,j)表示图像i和图像j之间的相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510999435.6A CN105654548B (zh) | 2015-12-24 | 2015-12-24 | 一种基于大规模无序图像的多起点增量式三维重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510999435.6A CN105654548B (zh) | 2015-12-24 | 2015-12-24 | 一种基于大规模无序图像的多起点增量式三维重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105654548A CN105654548A (zh) | 2016-06-08 |
CN105654548B true CN105654548B (zh) | 2018-10-16 |
Family
ID=56478009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510999435.6A Active CN105654548B (zh) | 2015-12-24 | 2015-12-24 | 一种基于大规模无序图像的多起点增量式三维重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105654548B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106408653B (zh) * | 2016-09-06 | 2021-02-02 | 合肥工业大学 | 一种面向大规模三维重建的实时鲁棒的集束调整方法 |
CN106652023B (zh) * | 2016-12-13 | 2019-08-30 | 华中科技大学 | 一种大规模无序图像快速运动恢复结构的方法及系统 |
CN106780579B (zh) * | 2017-01-17 | 2019-08-13 | 华中科技大学 | 一种超大规模图像特征点匹配方法及系统 |
CN107644454B (zh) * | 2017-08-25 | 2020-02-18 | 北京奇禹科技有限公司 | 一种图像处理方法及装置 |
CN107909609B (zh) * | 2017-11-01 | 2019-09-20 | 欧阳聪星 | 一种图像处理方法及装置 |
CN108961263A (zh) * | 2018-05-29 | 2018-12-07 | 郑州易通众联电子科技有限公司 | 一种可视化图形快速应用与传输的方法及系统 |
CN108827249B (zh) * | 2018-06-06 | 2020-10-27 | 歌尔股份有限公司 | 一种地图构建方法和装置 |
CN109166171B (zh) * | 2018-08-09 | 2022-05-13 | 西北工业大学 | 基于全局式和增量式估计的运动恢复结构三维重建方法 |
CN110956700B (zh) * | 2019-12-03 | 2022-03-22 | 西南科技大学 | 一种基于运动恢复结构生成点云的密度调控方法 |
CN111833447A (zh) * | 2020-07-13 | 2020-10-27 | Oppo广东移动通信有限公司 | 三维地图构建方法、三维地图构建装置及终端设备 |
CN112819963B (zh) * | 2021-02-20 | 2022-04-26 | 华中科技大学鄂州工业技术研究院 | 一种树木枝干模型批量差异化建模方法以及相关设备 |
CN113436335B (zh) * | 2021-06-18 | 2023-06-30 | 招远市国有资产经营有限公司 | 一种增量式多视图三维重建方法 |
CN113591616B (zh) * | 2021-07-14 | 2024-02-13 | 华中科技大学 | 一种基于前景点聚类的神经纤维重建方法和系统 |
CN115115847B (zh) * | 2022-08-31 | 2022-12-16 | 海纳云物联科技有限公司 | 三维稀疏重建方法、装置及电子装置 |
CN116228994B (zh) * | 2023-05-09 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 三维模型获取方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127078A (zh) * | 2007-09-13 | 2008-02-20 | 北京航空航天大学 | 一种基于蚁群智能的无人机机器视觉图像匹配方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000253422A (ja) * | 1999-03-03 | 2000-09-14 | Toshiba Corp | 2次元映像からの立体映像生成方法 |
-
2015
- 2015-12-24 CN CN201510999435.6A patent/CN105654548B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127078A (zh) * | 2007-09-13 | 2008-02-20 | 北京航空航天大学 | 一种基于蚁群智能的无人机机器视觉图像匹配方法 |
Non-Patent Citations (2)
Title |
---|
Research and Realization of Medical Image Fusion Based on Three-Dimensional Reconstruction;TAO Ling等;《Chinese Journal of Biomedical Engineering》;20070915(第03期);第117-122页 * |
利用凝聚层次聚类的多视影像重建算法;卢俊等;《测绘科学技术学报》;20150415;第32卷(第2期);第157-163页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105654548A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105654548B (zh) | 一种基于大规模无序图像的多起点增量式三维重建方法 | |
CN109887015B (zh) | 一种基于局部曲面特征直方图的点云自动配准方法 | |
CN109658445A (zh) | 网络训练方法、增量建图方法、定位方法、装置及设备 | |
CN113183469B (zh) | 贴图三维模型的切片方法、打印方法、装置及设备 | |
CN109871803B (zh) | 机器人回环检测方法和装置 | |
CN104596519B (zh) | 基于ransac算法的视觉定位方法 | |
Havlena et al. | Randomized structure from motion based on atomic 3D models from camera triplets | |
CN107274483A (zh) | 一种物体三维模型构建方法 | |
Ni et al. | HyperSfM | |
CN111192364A (zh) | 一种低成本移动多机器人视觉同时定位和地图创建方法 | |
KR101758064B1 (ko) | 깊이 영상을 이용하는 추정기 학습 방법 및 자세 추정 방법 | |
CN111027140A (zh) | 基于多视角点云数据的飞机标准件模型快速重构方法 | |
CN104463953A (zh) | 基于惯性测量单元与rgb-d传感器的三维重建方法 | |
CN114758152A (zh) | 一种基于注意力机制和邻域一致性的特征匹配方法 | |
Dharmasiri et al. | MO-SLAM: Multi object slam with run-time object discovery through duplicates | |
CN107123138B (zh) | 基于vanilla-R点对剔除策略的点云配准方法 | |
CN103544732B (zh) | 一种用于月球车的三维立体重建方法 | |
CN116817887B (zh) | 语义视觉slam地图构建方法、电子设备及存储介质 | |
CN106652023B (zh) | 一种大规模无序图像快速运动恢复结构的方法及系统 | |
Liu et al. | Deep learning of directional truncated signed distance function for robust 3D object recognition | |
CN112101475A (zh) | 若干幅无序影像智能分类与拼接方法 | |
CN104408710B (zh) | 一种全局视差估计方法和系统 | |
CN107194334B (zh) | 基于光流模型的视频卫星影像密集匹配方法及系统 | |
CN113628104B (zh) | 针对无序图像增量式SfM的初始图像对选取方法 | |
CN106846290B (zh) | 基于抗纹理十字和权值十字的立体视差优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |