介绍一种高效的线云重建算法ELSR

描述

主要内容:

提出了一种高效的线云重建方法,称为ELSR,其利用了城市场景中常见的场景平面和稀疏的3D点,对于两视图,ELSR可以找到局部场景平面来引导线匹配,并利用稀疏的3D点来加速和约束匹配。

为了重建具有多个视图的3D线段,ELSR利用了一种抽象方法,其基于有代表性的3D线的空间一致性来选择它们。 实验表明,其方法可以有效地重建包含数千张大尺寸图像的大型复杂场景的3D线条。

总的来说,本文是一篇利用场景中的结构化线条来构建线云的算法。 其方法构建的线云如下图所示:

RANSAC

Contributions:

1、提出了一种从多个图像中匹配线条和重建3D线条的有效方法,该方法易于使用,只需要SfM的结果作为先验

2、利用二维线和稀疏三维点之间的几何关系来找到局部单应性。这也是第一个利用这种简单而有效的几何形状进行线段匹配的工作。

3、在大型图像数据集上进行评估时,ELSR在两视图匹配方面比现有算法快1000多倍;在多视图重建中,ELSR比现有方法快4倍,3D线的数量增加了360%

Pipeline:

给定图像序列,首先用SfM算法获取相机姿态和稀疏的3D点;然后匹配两视图的线;最后从图像序列中的所有匹配中提取代表性的3D线。 其包含三个组成部分:

1、单应估计:使用具有两条邻域线的场景平面几何来验证单应,在此期间,粗糙点深度用于加速

2、引导匹配:将单条线与潜在的单应性进行匹配,并使用粗略的点深度来约束匹配。

3、线抽象:对于多个视图,首先找到图像对之间的线匹配的连接,并对空间一致性进行评分;然后选择具有代表性的匹配作为最终的3D线

RANSAC

两视图线匹配: 主要利用场景平面和点去引导两视图下的线段匹配。

成对线的单应性:

RANSAC

RANSAC

RANSAC

当Sang(H)小于给定的阈值时场景平面是正确的,并且H是有效的。

点引导的搜索单应:

算法1是通过点引导寻找单应的方法。 搜索单应以找到满足给定阈值的的成对线匹配,如下图所示,共面的成对线在一个确定点上相交。因此沿着对极线搜索第二视图中的交叉点。

RANSACRANSAC

将第一个相机矩阵表示为P,这是一个3×4的矩阵,设M和c4分别为左边的3×3的子矩阵和P的最后一列,如果x的深度可得,则可以直接计算x在目标空间的位置:

RANSAC

RANSAC

单应引导的匹配:

算法2说明了单应引导的匹配策略,即寻找线li的第k个邻域的单应Hk,这可以通过建立KDtree来得到,用Hk表示线li的映射为:

RANSACRANSAC

如图5所示:

RANSAC

之后可以使用深度约束来控制错误的匹配,设l的端点为x,让3D点邻域的深度范围为dmin和dmax,深度范围可以用来约束x,但是其需要扩展,因为x可能超出深度范围,特别是当局部场景不连续时,但是,不知道目标空间的单位,这可以通过利用像素和物体距离之间的联系来确定扩展,如下图所示,将主点水平移动tpix个像素以获得β,然后计算与像素偏移对应的深度偏移,最后将dmin和dmax分别缩小并扩展以获得深度范围:

RANSAC

由此,线端点的深度为:

RANSAC

RANSAC

同一条线可能有多个单应,其中一些是不正确的,因此利用邻域的单应去引导线,通过位置相似性为匹配打分:

RANSAC

从多个视图中提取线:

两个视图中的每个匹配都将重建一个3D线段;因此需要将与同一条线相关的3D线段合并为簇。然而这很容易失败,原因有三:

1)固定的阈值很容易产生不正确的簇;

2)错误的匹配将导致糟糕的重建;

3)目前没有鲁棒的RANSAC方法来确认线簇的inliers。

因此,ELSR从聚类中提取代表性的行,而不是合并它们,这可能更稳健和高效。

提取包含两个步骤:

1)计算3D线之间的空间相似性;

2)基于其与其他线的空间相似度,在所有视图中抽象出具有代表性的3D线

实验: 在五个数据集上与四种现有方法比较评估了其ELSR。

表1是用到的数据集:

RANSAC

这是通过VisualSFM获得的相机位姿和稀疏点云:

RANSAC

在两视图线匹配上,与LPI、LJL、GLM进行了比较:

RANSACRANSAC

在线云重建上,与Line3D++进行了比较:

RANSAC

RANSAC






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分