一种大规模无序图像快速运动恢复结构的方法及系统与流程

文档序号:11145195阅读:378来源:国知局
一种大规模无序图像快速运动恢复结构的方法及系统与制造工艺

本发明属于计算机视觉技术领域,更具体地,涉及一种大规模无序图像快速运动恢复结构的方法及系统。



背景技术:

从图像中恢复场景真实的三维结构,是计算机视觉技术的一个重要应用。随着成像设备的普及和互联网的发展,利用网络图像进行重建,可大大简化数据采集过程,降低数据获取成本,成为近年来的研究热点。然而,网络图像具有数据量大、图象重叠关系未知、相机参数未知等特点,给重建算法带来了新的挑战。

目前,针对大规模无序图像集合,通常采用运动恢复结构(Structure from Motion,SFM)方法进行重建。典型的SFM流程主要包含三个步骤。1)图像匹配。在每幅图像上分别提取特征点,并对图像间的特征点进行匹配,然后,利用误匹配剔除算法剔除错误匹配。2)重建初始模型。从图像集合中选取两幅初始图像,并用其重建初始三维模型,选取的两幅图像应满足:拥有最多的特征匹配个数,同时具有较宽的基线。3)添加新的图像。不断从剩下的图像中选出和当前三维模型有重叠的图像,加入当前模型,估计其相机姿态,并引入新的三维点。新的图像的相机参数由n点透视(Perspective-n-Point,PnP)算法求出,并利用集束调整(Bundle Adjustment,BA)算法进一步优化。如果一个图像对应的相机参数被估计出来,则这幅图像被称作已经标定的图像;反之,称其为未标定图像。

虽然上述方法在中小规模数据上得到了广泛应用,但是无法适应大规模数据处理的需要。首先,当图像数量很多时,顺序地添加这些图像会消耗大量的时间。其次,图像在空间中不是均匀分布的,如果三维结构通过重叠较弱的图像进行传递,会产生较大的误差。最后,图像间的重叠可能是不连续的,采用一个起点重建可能会因为缺少场景重叠断掉。因此,需要在数据分析的基础上,合理地将图像集合划分成多个适合重建的子集,并选取多个最优的重建起点进行重建。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种大规模无序图像快速运动恢复结构的方法及系统,首先,提出了一种多层图贪心策略从图像集合中选择多个核;其次,将所有图像按照它们到核的最优重建路径进行聚类,并提出了一种分层最短路径算法寻找最优重建路径;最后,提出了一种径向融合聚类方法将一个图像聚类中的非核图像划分成平衡的子类,使其在不降低精度的同时,可以并行处理,从而可以显著提高重建效率。由此解决现有技术中大规模数据重建中的速度问题,以及由图像分布不均、场景重叠不连续导致的重建精确度和完整度问题。

为实现上述目的,按照本发明的一个方面,提供了一种大规模无序图像快速运动恢复结构的方法,包括:

(1)对于包含N幅图像的大规模无序图像集合,在每幅图像上提取特征点并对图像间的特征点进行匹配,根据匹配结果生成相似性匹配关系图S和差异性匹配关系图D,其中,N在103以上;

(2)在相似性匹配关系图S中,采用多层贪心策略寻找多个核,在每个核中选择一幅起点图像,作为图像重建的起点;

(3)在差异性匹配关系图D中,采用分层最短路径算法求取图像集合中核之外的每幅图像到核的最优重建路径,并根据最优重建路径将所有图像以核为中心划分成多个图像聚类,其中,每个图像聚类由两部分组成:一部分是位于中心的核,另一部分是核周围的图像,称为叶子图像,图像聚类的数目与核的数目一致;

(4)采用径向融合聚类算法对各图像聚类中的叶子图像进一步划分,得到多个叶子图像聚类;

(5)所有核独立地并行重建,每个核重建得到场景的一个基模型;

(6)所有叶子图像聚类独立地并行重建,将每个叶子图像聚类加到其所属的核重建的基模型中,得到多个独立的子模型;

(7)合并所有包含相同基模型的子模型,得到不同图像聚类的模型;

(8)合并步骤(7)得到的图像聚类的模型,得到完整的场景模型。

优选地,步骤(1)具体包括如下子步骤:

(1.1)从N幅图像中的每幅图像上提取图像特征点,计算这些特征点的特征描述符,其中,N在103以上;

(1.2)将每一幅图像I作为查询图像,利用图像检索方法检索I的K幅近邻图像,将图像I分别和这K幅图像进行特征点的匹配,并剔除误匹配的特征点,其中,I、K为正整数;

(1.3)构建相似性匹配关系图S:生成N个顶点表示N幅图像,如果两幅图像之间的匹配特征点对数大于预设阈值,则在这两幅图像对应的顶点之间添加一条边,其中,边的权值nij表示图像i与图像j之间的匹配特征点对数,ni表示图像i与其他图像有匹配关系的特征点的数量,nj表示图像j与其他图像有匹配关系的特征点的数量;

(1.4)构建差异性匹配关系图D:生成N个顶点表示N幅图像,如果两幅图像之间的匹配特征点对数大于预设阈值,则在这两幅图像对应的顶点之间添加一条边,边的权值dij=1-sij

优选地,步骤(2)具体包括如下子步骤:

(2.1)计算一组递减的边权阈值i=1,2,...,k,将相似性匹配关系图S分成k层,第i层中只加入边权值大于θi的边,其中,a设置为大于或等于差异性匹配关系图S中的最小边权值的一个固定阈值,b为差异性匹配关系图S中的最大边权值,Ω为预设值;

(2.2)从第1层至第k层,依次在每一层中寻找核,对于在第i层中找到的核,将核中包含的图像所对应的顶点从所有大于i的层中删除;

(2.3)在每一个核中,寻找一幅图像作为重建的起点图像。

优选地,步骤(2.2)具体包括如下子步骤:

(2.2.1)初始化层次标号i=1,核中包含的理想图像数量为m;

(2.2.2)在第i层中求连通分量,并将第i层中所有连通分量按连通分量的大小进行降序排序,并初始化连通分量标号j=1,其中,连通分量的大小表示连通分量包含的顶点的数量;

(2.2.3)若第j个连通分量的大小大于ξ*m,则将第j个连通分量中的所有顶点对应的图像按照步骤(2)所述的方法寻找核,其中,ξ为预设值;

(2.2.4)若第j个连通分量的大小大于m但是小于ξ*m,则将该连通分量中的所有顶点对应的图像组成一个核,并将该连通分量中的所有顶点从所有大于i的层中删除,标号j加一,并执行步骤(2.2.3);

(2.2.5)若第j个连通分量的大小小于m,则终止该层中寻找核的操作,并判断i<k是否成立,若成立则将i加1,并执行步骤(2.2.2),若不成立则执行步骤(2.3);

优选地,步骤(2.3)具体包括如下子步骤:

(2.3.1)采用近邻传播聚类AP算法对核中的图像进行初始聚类,其中,AP聚类算法需要的吸引子系数根据相似性匹配关系图S中的边权值得到;

(2.3.2)由AP聚类算法得到的所有初始聚类的中心,以及这些初始聚类的中心在相似性匹配关系图S上的邻接点集合,构成起点图像的候选集合;

(2.3.3)对每一个候选集合中的图像v,计算该图像v的置信度:δ(v)=hdeg(v)+β1·hsim(v)+β2·hndeg(v),其中,hdeg(v)表示v在相似性匹配关系图S上的度,hsim(v)表示v在相似性匹配关系图S上和v邻接顶点的平均相似度,hndeg(v)表示v在相似性匹配关系图S上邻接顶点的度的平均值,β1和β2是权重系数;

(2.3.4)将候选集合中置信度δ(v)最大时对应的图像作为核的起点图像。

优选地,步骤(3)具体包括如下子步骤:

(3.1)计算一组递增的边权阈值i=1,2,...,L,将差异性匹配关系图D分成L层,第i层中只加入边权值小于φi的边,其中,c为差异性匹配关系图D中的最小边权值,d为差异性匹配关系图D中的最大边权值;

(3.2)初始化层次标号i=1;

(3.3)对于第i层,在该层中计算每个顶点到每个核中起点图像的最短路径;

(3.4)如果存在最短路径,则将该顶点分配到最短路径长度最小的核所在的图像聚类中,并将该顶点从后面所有的层中移除;

(3.5)如果i<L,则将i加一,并执行步骤(3.3),反之,则终止。

优选地,步骤(4)具体包括如下子步骤:

(4.1)对于每个图像聚类,判断M>r*m是否成立,若成立则执行步骤(4.2),否则不执行该图像聚类中的叶子图像划分操作,其中,M为一个图像聚类中包含的叶子图像的数量,r为大于1的膨胀系数,m为核中包含的图像数量;

(4.2)通过公式:计算该图像聚类中的叶子图像聚类的个数;

(4.3)设置初始状态,将每个叶子图像单独作为一个叶子图像聚类;

(4.4)对任意两个叶子图像聚类c1和c2构成的一对聚类p,计算聚类p的合并系数其中,gd(p)表示两个聚类c1和c2之间的距离,gk(p)表示若将c1和c2合并,得到的新聚类到核的距离,gr(p)表示c1到核的距离和c2到核的距离的差值的绝对值,gc(p)表示若将c1和c2合并,得到的新聚类的大小,σ1、σ2、σ3、σ4为大于零的权重系数;

(4.5)选取合并系数最大的两个叶子图像聚类进行合并,将叶子图像聚类个数减一;

(4.6)如果叶子图像聚类个数大于Kc,则执行步骤(4.4),反之,则终止。

优选地,步骤(5)具体包括如下子步骤:

(5.1)每个核在独立的线程上进行并行处理,对于每一个核,将该核中的起点图像作为增量式重建的第一幅图像,然后在该核中的所有图像和起点图像之间分别估计一个单应矩阵,在满足单应矩阵内点率小于预设内点率阈值的图像中,选择和起点图像之间匹配点数最多的一幅图像,作为第二幅图像,利用五点法计算第一幅图像和第二幅图像之间的相对姿态和三维点,生成初始模型;

(5.2)迭代地将该核中的剩余图像添加到初始模型中,在每一次迭代中,从剩余图像中寻找一幅和当前模型重叠程度最大的图像,利用n点透视算法PnP求其相对参数和三维点,并通过集束调整算法BA对相对参数和三维点进行优化,重复执行迭代过程直到该核中所有的剩余图像都被加入初始模型或者无法找到可以加入的图像,得到该核的一个基模型。

优选地,步骤(6)具体包括如下子步骤:

(6.1)用多个线程独立地并行重建所有叶子图像聚类,每个线程采用迭代的方式将一个叶子图像聚类中的图像加入到其所属的核对应的基模型中,在每一次迭代中,从叶子图像聚类中当前剩余的叶子图像中寻找一幅和当前模型重叠程度最大的图像,利用n点透视算法PnP求其相对参数和三维点,并通过集束调整算法BA对相对参数和三维点进行优化,重复执行迭代过程直到该叶子图像聚类中的所有图像都被加入当前模型或者无法找到可以加入的图像,得到与该叶子图像聚类对应的子模型。

按照本发明的另一方面,提供了一种大规模无序图像快速运动恢复结构的系统,包括:

匹配关系图建立模块,用于对于包含N幅图像的大规模无序图像集合,在每幅图像上提取特征点并对图像间的特征点进行匹配,根据匹配结果生成相似性匹配关系图S和差异性匹配关系图D,其中,N在103以上;

核寻找模块,用于在相似性匹配关系图S中,采用多层贪心策略寻找多个核,在每个核中选择一幅起点图像,作为图像重建的起点;

图像聚类生成模块,用于在差异性匹配关系图D中,采用分层最短路径算法求取图像集合中核之外的每幅图像到核的最优重建路径,并根据最优重建路径将所有图像以核为中心划分成多个图像聚类,其中,每个图像聚类由两部分组成:一部分是位于中心的核,另一部分是核周围的图像,称为叶子图像,图像聚类的数目与核的数目一致;

叶子图像聚类生成模块,用于采用径向融合聚类算法对各图像聚类中的叶子图像进一步划分,得到多个叶子图像聚类;

基模型生成模块,用于将所有核独立地并行重建,每个核重建得到场景的一个基模型;

子模型生成模块,用于将所有叶子图像聚类独立地并行重建,将每个叶子图像聚类加到其所属的核重建的基模型中,得到多个独立的子模型;

图像聚类模型生成模块,用于合并所有包含相同基模型的子模型,得到不同图像聚类的模型;

场景模型生成模块,用于合并所述图像聚类模型生成模块得到的图像聚类的模型,得到完整的场景模型。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,主要有以下的技术优点:

(1)本发明提供的大规模无序图像快速运动恢复结构的方法,能自适应地对大规模图像集合进行划分,并选取多个合适的重建起点。针对图像集合中图像场景重叠不连续的情况,本发明提供的方法可以重建多个独立的局部模型,提高模型的完整度;针对图像集合中图像分布不均匀的问题,本发明提供的方法可以保证重建从图像稠密的地方向图像稀疏的地方进行,保证重建的精确度。

(2)本发明提供的大规模无序图像快速运动恢复结构的方法,易于大规模并行实现,可以显著提高重建效率。本发明将所有图像划分成核和叶子图像聚类。首先,所有的核可以并行地重建,得到若干个场景的基模型。然后,所有的叶子图像聚类可以并行地重建,每个叶子图像聚类被独立地加入到其所属的核对应的基模型中。假设图像集合包含N幅图像,核和叶子图像聚类的平均大小为sk和sL,则本发明提出的方法的时间复杂度为O(sk+sL)。而传统的增量式的SFM算法时间复杂度为O(N4),目前性能最优的算法具有线性时间复杂度O(N)。因此,本发明提出的方法与现有最好的方法相比,理论上可以获得倍的加速。当图像集合的规模N越大时,本发明提出的方法对重建过程加速的效果越明显。

附图说明

图1为本发明实施例公开的一种大规模无序图像快速运动恢复结构的方法的流程图;

图2为本发明实施例公开的另一种大规模无序图像快速运动恢复结构的方法的流程图;

图3为本发明实施例公开的一种三层多路重建树的结构示意图;

图4为本发明的一个实施例中的重建结果图;

图5为本发明实施例公开的一种大规模无序图像快速运动恢复结构的系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

参阅图1所示,为本发明实施例公开的一种大规模无序图像快速运动恢复结构的方法的流程示意图,在图1所示的方法中包括以下步骤:

(1)对于包含N幅图像的大规模无序图像集合,在每幅图像上提取特征点并对图像间的特征点进行匹配,根据匹配结果生成相似性匹配关系图S和差异性匹配关系图D,其中,N在103以上;

其中,匹配关系图G是一个无向带权图,由一组顶点和边组成,每个顶点代表一幅图像,如果两幅图像之间存在场景重叠,则在其对应的两个顶点之间添加一条边。根据边权值含义的不同,本发明构造两种匹配关系图:相似性匹配关系图S和差异性匹配关系图D。在相似性匹配关系图S中,边的权值sij表示两幅图像的场景相似度,在差异性匹配关系图D中,边的权值dij表示两幅图像的场景差异程度。这两种匹配关系图包含相同数量的顶点,也包含相同数量的边。

对于一个包含N幅图像的大规模无序图像集合,步骤(1)具体包括如下子步骤:

(1.1)从N幅图像中的每幅图像上提取图像特征点,计算这些特征点的特征描述符,其中,N在103以上;

可选地,图像特征点可以采用尺度不变特征变换(Scale Invariant Feature Transform,SIFT)进行特征提取。

(1.2)将每一幅图像I作为查询图像,利用图像检索方法检索I的K幅近邻图像,将图像I分别和这K幅图像进行特征点的匹配,并剔除误匹配的特征点,其中,I、K为正整数;

可选地,可以利用词汇树(Vocabulary Tree,VT)检索图像集合中和I最相似的K幅近邻图像,其中,N幅图像构成一个图像集合。

可选地,特征匹配可以采用快速级联哈希匹配算法,剔除误匹配特征点时可以采用随机抽样一致(RANdom SAmple Consensus,RANSAC)算法结合8点法估计两幅图像之间的基础矩阵F,不满足这一约束的匹配将被删除。

(1.3)构建相似性匹配关系图S:生成N个顶点表示N幅图像,如果两幅图像之间的匹配特征点对数大于预设阈值,则在这两幅图像对应的顶点之间添加一条边,其中,边的权值nij表示图像i与图像j之间的匹配特征点对数,ni表示图像i与其他图像有匹配关系的特征点的数量,nj表示图像j与其他图像有匹配关系的特征点的数量;

其中,边权值sij位于[0,1]之间,其值越大,两幅图像之间的场景重叠程度越高,反之两幅图像之间的场景重叠程度越低。

(1.4)构建差异性匹配关系图D:生成N个顶点表示N幅图像,如果两幅图像之间的匹配特征点对数大于预设阈值,则在这两幅图像对应的顶点之间添加一条边,边的权值dij=1-sij

其中,边权值dij位于[0,1]之间,其值越大,两幅图像之间的场景差异越大,反之两幅图像之间的场景差异越小。

(2)在相似性匹配关系图S中,采用多层贪心策略寻找多个核,在每个核中选择一幅起点图像,作为图像重建的起点;

其中,每个核(如图3所示的圆形结点)是位于图像集合中图像分布稠密区域的一小组图像,这些图像之间有较大的场景重叠,他们能够重建出一个较为精确的初始模型,核的大小和数量都不宜过大。核中的起点图像可以近似看成是一个在图像内容意义上的“中心”,以该图像作为起点,重建得到的初始模型不仅精确,而且能较为方便地将三维结构向周围空间中传播。

优选地,步骤(2)具体包括如下子步骤:

(2.1)计算一组递减的边权阈值i=1,2,...,k,将相似性匹配关系图S分成k层,第i层中只加入边权值大于θi的边,其中,a设置为大于或等于差异性匹配关系图S中的最小边权值的一个固定阈值,b为差异性匹配关系图S中的最大边权值,Ω为预设值;

其中,为了计算θi,首先统计得到相似性匹配关系图S上所有边权值的范围[a,b]。在实际应用中,为了避免重叠过于稀少的图像对算法造成干扰,可以将a设置成一个大于最小边权值的固定阈值,然后,将区间[a,b]划分成k个区间,每个区间的端点分别对应于θi

(2.2)从第1层至第k层,依次在每一层中寻找核,对于在第i层中找到的核,将核中包含的图像所对应的顶点从所有大于i的层中删除;

优选地,步骤(2.2)具体包括如下子步骤:

(2.2.1)初始化层次标号i=1,核中包含的图像数量为m;

(2.2.2)在第i层中求连通分量,并将第i层中所有连通分量按连通分量的大小进行降序排序,并初始化连通分量标号j=1,其中,连通分量的大小表示连通分量包含的顶点的数量;

(2.2.3)若第j个连通分量的大小大于ξ*m,则将第j个连通分量中的所有顶点对应的图像按照步骤(2)所述的方法寻找核,其中,ξ为预设值;

(2.2.4)若第j个连通分量的大小大于m但是小于ξ*m,则将该连通分量中的所有顶点对应的图像组成一个核,并将该连通分量中的所有顶点从所有大于i的层中删除,标号j加一,并执行步骤(2.2.3);

(2.2.5)若第j个连通分量的大小小于m,则终止该层中寻找核的操作,并判断i<k是否成立,若成立则将i加1,并执行步骤(2.2.2),若不成立则执行步骤(2.3);

(2.3)在每一个核中,寻找一幅图像作为重建的起点图像。

其中,步骤(2.3)具体包括如下子步骤:

(2.3.1)采用近邻传播聚类(Affinity Propagation,AP)算法对核中的图像进行初始聚类,其中,AP聚类算法需要的吸引子系数根据相似性匹配关系图S中的边权值得到;

(2.3.2)由AP聚类算法得到的所有初始聚类的中心,以及这些初始聚类的中心在相似性匹配关系图S上的邻接点集合,构成起点图像的候选集合;

(2.3.3)对每一个候选集合中的图像v,计算该图像v的置信度:δ(v)=hdeg(v)+β1·hsim(v)+β2·hndeg(v),其中,hdeg(v)表示v在相似性匹配关系图S上的度,hsim(v)表示v在相似性匹配关系图S上和v邻接顶点的平均相似度,hndeg(v)表示v在相似性匹配关系图S上邻接顶点的度的平均值,β1和β2是权重系数;

(2.3.4)将候选集合中置信度δ(v)最大时对应的图像作为核的起点图像。

(3)在差异性匹配关系图D中,采用分层最短路径算法求取图像集合中核之外的每幅图像到核的最优重建路径,并根据最优重建路径将所有图像以核为中心划分成多个图像聚类,其中,每个图像聚类由两部分组成:一部分是位于中心的核,另一部分是核周围的图像,称为叶子图像,图像聚类的数目与核的数目一致;

其中,在三维重建中,对图像集合进行划分不是一个简单的图像分类问题。为了保证每个图像聚类是适合重建的,我们依据图像到核的最优重建路径对其进行划分。一条重建路径由一系列相互重叠的图像构成。本发明认为,最优的重建路径上相邻图像之间的场景重叠程度应该尽可能的大,而且相似。

优选地,步骤(3)具体包括如下子步骤:

(3.1)计算一组递增的边权阈值i=1,2,...,L,将差异性匹配关系图D分成L层,第i层中只加入边权值小于φi的边,其中,c为差异性匹配关系图D中的最小边权值,d为差异性匹配关系图D中的最大边权值;

其中,为了计算φi,首先统计得到差异性匹配关系图D上所有边权值的范围[c,d]。然后,将区间[c,d]划分成L个区间,每个区间的端点分别对应于φi

(3.2)初始化层次标号i=1;

(3.3)对于第i层,在该层中计算每个顶点到每个核中起点图像的最短路径;

可选地,可以采用Dijkstra算法求最短路径。

(3.4)如果存在最短路径,则将该顶点分配到最短路径长度最小的核所在的图像聚类中,并将该顶点从后面所有的层中移除;

(3.5)如果i<L,则将i加一,并执行步骤(3.3),反之,则终止。

(4)采用径向融合聚类算法对各图像聚类中的叶子图像进一步划分,得到多个叶子图像聚类,如图3中矩形结点所示;

其中,由于图像集合中,核只占很小的一部分,因此每个图像聚类中的叶子图像仍然可能很多,顺序地将这些叶子图像添加到基模型中会耗费大量时间。因此,对这些叶子图像进一步划分成叶子图像聚类,每个叶子图像聚类独立、并行地添加到同一个基模型中,可以显著提高重建效率。

优选地,步骤(4)具体包括如下子步骤:

(4.1)对于每个图像聚类,判断M>r*m是否成立,若成立则执行步骤(4.2),否则不执行该图像聚类中的叶子图像划分操作,其中,M为一个图像聚类中包含的叶子图像的数量,r为大于1的膨胀系数;

(4.2)通过公式:计算该图像聚类中的叶子图像聚类的个数;

(4.3)设置初始状态,将每个叶子图像单独作为一个叶子图像聚类;

(4.4)对任意两个叶子图像聚类c1和c2构成的一对聚类p,计算聚类p的合并系数其中,gd(p)表示两个聚类c1和c2之间的距离,gk(p)表示若将c1和c2合并,得到的新聚类到核的距离,gr(p)表示c1到核的距离和c2到核的距离的差值的绝对值,gc(p)表示若将c1和c2合并,得到的新聚类的大小,σ1、σ2、σ3、σ4为大于零的权重系数;

优选地,在本发明的实施例中,图像之间的距离由它们在差异性匹配关系图D上的最短路径长度来度量。聚类与聚类之间的距离,由两个聚类之间最近的两个样本之间的距离来度量。

(4.5)选取合并系数最大的两个叶子图像聚类进行合并,将叶子图像聚类个数减一;

(4.6)如果叶子图像聚类个数大于Kc,则执行步骤(4.4),反之,则终止。

(5)所有核独立地并行重建,每个核重建得到场景的一个基模型;

优选地,步骤(5)具体包括如下子步骤:

(5.1)每个核在独立的线程上进行并行处理,对于每一个核,将该核中的起点图像作为增量式重建的第一幅图像,然后在该核中的所有图像和起点图像之间分别估计一个单应矩阵,在满足单应矩阵内点率小于预设内点率阈值的图像中,选择和起点图像之间匹配点数最多的一幅图像,作为第二幅图像,利用五点法计算第一幅图像和第二幅图像之间的相对姿态和三维点,生成初始模型;

(5.2)迭代地将该核中的剩余图像添加到初始模型中,在每一次迭代中,从当前剩余图像中寻找一幅和当前模型重叠程度最大的图像,利用n点透视算法(Perspective-n-Point,PnP)求其相对参数和三维点,并通过集束调整算法(Bundle Adjustment,BA)对相对参数和三维点进行优化,重复执行迭代过程直到该核中所有的剩余图像都被加入初始模型或者无法找到可以加入的图像,得到该核的一个基模型。

(6)所有叶子图像聚类独立地并行重建,将每个叶子图像聚类加到其所属的核重建的基模型中,得到多个独立的子模型;

优选地,步骤(6)具体包括如下子步骤:

(6.1)用多个线程独立地并行重建所有叶子图像聚类,每个线程采用迭代的方式将一个叶子图像聚类中的图像加入到其所属的核对应的基模型中,在每一次迭代中,从叶子图像聚类中当前剩余的叶子图像中寻找一幅和当前模型重叠程度最大的图像,利用n点透视算法PnP求其相对参数和三维点,并通过集束调整算法BA对相对参数和三维点进行优化,重复执行迭代过程直到该叶子图像聚类中的所有图像都被加入当前模型或者无法找到可以加入的图像,得到与该叶子图像聚类对应的子模型。

(7)合并所有包含相同基模型的子模型,得到不同图像聚类的模型;

其中,由于这些叶子图像聚类的模型都包含一个公共的基模型,因此可以根据公共基模型的三维点,估计一个三维相似变换对其进行拼接。优选地,在本发明的实施例中,选取最大的叶子图像聚类的模型作为合并的目标模型,将其它叶子图像聚类的模型合并到该模型上。然而,由于同一个三维点在不同子模型中重建出来的位置可能发生偏差,因此,本发明采用随机抽样一致性算法(RANdom SAmple Consensus,RANSAC)鲁棒地估计模型之间的相似变换。

(8)合并步骤(7)得到的图像聚类的模型,得到完整的场景模型。

其中,步骤(8)具体包括以下步骤:

(8.1)检测场景重叠。由于图像集合中图像分布的随机性,图像聚类之间不一定有场景重叠。因此,需要对图像聚类的模型之间进行场景重叠检测。优选地,在本发明的实施例中,总是将较小的模型合并到较大的模型上去。对于两个模型M1和M2,不失一般性,假设模型大小M1>M2,首先在M1中寻找一幅图像满足M2中在该图像上的可见三维点数量最多,记这些可见三维点为P。然后,寻找P的子集P,满足P中的点在M1中也被重建出来。

(8.2)采用随机抽样一致性算法(RANdom SAmple Consensus,RANSAC),利用P中的点,鲁棒地估计M2到M1的相似变换。

如图2所为本发明实施例公开的另一种大规模无序图像快速运动恢复结构的方法的流程示意图,该方法主要包含4个步骤:1)构建匹配关系图。在每幅图像上提取特征点,进行特征匹配并剔除错误匹配,构建相似性匹配关系图和差异性匹配关系图。2)构建三层多路重建树。首先,提出基于分层图的贪心策略从图像集合中选取核;其次,基于最优重建路径将所有图像以核为中心进行聚类;最后,提出一种径向融合聚类方法得到叶子图像聚类。

作为一个可选的实施例,采用公开数据集Montreal Notre Dame进行测试,该数据集包含2298幅图像,在本实施例Montreal Notre Dame数据集上,经过合并,共得到三个有效模型,如图4所示,从左至右依次为模型A、模型B以及模型C。其中,模型A重建了385幅图像,平均重投影误差是0.62像素;模型B重建了355幅图像,平均重投影误差是0.72像素;模型C重建了97幅图像,平均重投影误差是0.51像素。重建过程共耗时217.2秒。

如图5所示为本发明实施例公开的一种大规模无序图像快速运动恢复结构系统的结构示意图,在图5所示的系统中包括:

匹配关系图建立模块,用于对于包含N幅图像的大规模无序图像集合,在每幅图像上提取特征点并对图像间的特征点进行匹配,根据匹配结果生成相似性匹配关系图S和差异性匹配关系图D,其中,N在103以上;

核寻找模块,用于在相似性匹配关系图S中,采用多层贪心策略寻找多个核,在每个核中选择一幅起点图像,作为图像重建的起点;

图像聚类生成模块,用于在差异性匹配关系图D中,采用分层最短路径算法求取图像集合中核之外的每幅图像到核的最优重建路径,并根据最优重建路径将所有图像以核为中心划分成多个图像聚类,其中,每个图像聚类由两部分组成:一部分是位于中心的核,另一部分是核周围的图像,称为叶子图像,图像聚类的数目与核的数目一致;

叶子图像聚类生成模块,用于采用径向融合聚类算法对各图像聚类中的叶子图像进一步划分,得到多个叶子图像聚类;

基模型生成模块,用于将所有核独立地并行重建,每个核重建得到场景的一个基模型;

子模型生成模块,用于将所有叶子图像聚类独立地并行重建,将每个叶子图像聚类加到其所属的核重建的基模型中,得到多个独立的子模型;

图像聚类模型生成模块,用于合并所有包含相同基模型的子模型,得到不同图像聚类的模型;

场景模型生成模块,用于合并所述图像聚类模型生成模块得到的图像聚类的模型,得到完整的场景模型。

其中,各模块的具体实施方式可以参照方法实施例中的表述,本发明实施例将不作复述。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1