StructSLAM:建筑结构线的视觉猛击

原文名称:StructSLAM: Visual SLAM With Building Structure Lines

原文链接:
https://www.researchgate.net/publication/271134047_StructSLAM_Visual_SLAM_with_building_structure_lines
摘要-根据人工建筑环境的结构规律,提出了一种新的6自由度视觉同步定位与映射(SLAM)方法。我们的想法是使用建筑结构线作为定位和映射的特征。与其他线特征不同,建筑物结构线编码随时间限制照相机航向的全局方位信息,从而消除累积的方向误差并减少位置漂移。我们扩展了标准的扩展卡尔曼滤波器视觉SLAM方法,采用一种新的参数化方法来表示主导方向的结构线。实验已经在合成和真实世界场景中进行。结果表明,该方法在位置误差和方位误差方面明显优于现有方法。在公共RAWSEEDS数据集的室内场景测试中,虽然没有采用闭环算法,但借助于车轮里程计,该方法在967m路径上产生了约0.79m的有界位置误差。

一、引言
同时定位与映射(SLAM)是近年来在计算机视觉和机器人领域研究的一个重要课题。使用摄像机作为传感器输入的视觉SLAM,有利于在系统成本、能量和重量要求有限的平台上应用,例如微型飞行器系统。在过去的十年中,已经提出了大量的视觉SLAM方法。它们中的许多使用点作为特征来估计相机姿态和由稀疏点云表示的环境地图。
当场景中包含稳定的特征点时,最新的视觉SLAM算法[1]、[2]可以产生与激光测距仪精度相当的结果。然而,如果场景中特征点很少,视觉SLAM算法通常会产生较大的位置和方向漂移误差,甚至无法工作。它通常发生在场景中,主要由无纹理的表面组成。有些还使用视觉SLAM(3)-[6 ]的线特征。当场景中没有足够的点特征时,线条特征是很好的补充。然而,基于直线的可视化SLAM方法在性能上基本没有显著改善,并且由于难以鲁棒地跟踪直线,有时会产生更差的结果。
无论使用点特征还是线特征,视觉SLAM方法都存在众所周知的漂移问题,即定位误差随时间累积。如果没有一些特殊处理,例如,闭环算法[7],或一些辅助传感器,在大规模环境中很难达到期望的精度。
人造建筑在我们的生活环境中无处不在,表现出很强的结构规律。在大多数情况下,人造建筑可以被抽象为与三个主要方向堆叠在一起的块,这被称为曼哈顿世界假设[8]。研究人员已经将观察作为先验知识用于诸如室内建模[9]、[10]、场景理解[11]和航向估计之类的应用[12]。受这种人造建筑物的强烈规律性的启发,我们提出了一种新颖的可视化SLAM方法,该方法采用建筑物结构线进行定位和映射。所谓建筑结构线,是指与建筑物的三个主要方向对齐的线,如图1所示。
结构线特征和现有视觉SLAM系统中使用的线特征的主要区别在于结构线编码全局方位信息。采用建筑结构线作为标志的好处是显而易见的:可以消除累积的定位误差。从而减小了累计位置误差,提高了SLAM系统的精度。
从实验中可以看出,该方法在精度和鲁棒性方面都优于目前最先进的视觉SLAM方法。在使用RAWSEEDS数据集的测试中,使用里程计作为运动预测器,在不应用任何闭环算法的情况下,我们的方法沿967m路径产生小于1m的有界位置误差。我们还展示了在现有的可视化SLAM方法失败的具有挑战性的情况下,我们的方法的鲁棒性。我们强调我们的工作的主要贡献如下。
采用一种新的参数化方法,构造了六自由度SLAM的三条主导方向的结构线,全局地约束了摄像机的定向,从而减小了总体漂移误差,使六自由度SLAM在具有manmad的环境中成为可视的SLAM。E建筑更加稳定准确。
由三维结构线构成的地图提供了场景的额外信息,这对于场景建模和理解是有用的。所提出的视觉SLAM方法在室内车辆技术(如室内停车和自主服务机器人)的应用中具有潜在的应用价值。

二。相关工作
大多数视觉SLAM方法使用特征点作为输入来估计传感器主体的自我运动和环境地图。它们可以分为两类:结构自运动(SFM)方法[2]、[13]和基于滤波器的方法[14]。在SFM方法中,通常通过局部和全局操作的优化以确定性的方式估计自我运动和地图。这种代表性的工作是并行跟踪和映射(PTAM)系统〔2〕。
PTAM系统可以通过将耗时的束调整放入单独的线程中来实时处理数百个特征点。然而,基于滤波器的方法[14]、[15]以概率方式工作,其中估计的精度由协方差维持。虽然基于滤波器的方法比SFM方法效率低,但是由于协方差是可用的,因此它们更有利于与其他传感器进行融合。
一些方法使用线特征进行定位和映射[3 ] -〔6〕。在它们的工作中,线段特征由具有两个端点的段表示。其他使用线特征的方法采用不同的设置,而不是单眼针孔相机。Jeong和Lee在[16]中提出了一种利用全向摄像机捕获的室内环境中垂直线特征的SLAM方法。在〔17〕中,钱德拉克等人。使用立体相机捕捉线条特征。线特征作为一种比点特征更高层次的结构表示,可以用来提高输出映射的质量。在[10]和[18]中,作者试图从基于点的SLAM算法的输出中自动发现三维线,然后用它们来检测平面结构。最终模型由有助于场景建模和理解的平面结构表示。在〔19〕中,Sola等人。对点和线的不同参数化方法作了一个很好的评述
特征。
线特征比点特征更难跟踪的缺点使得基于线的SLAM方法不如基于点的SLAM方法流行,因为线在图像中经常被部分遮挡,并且它们的终点难以定位。在文献[20]中,提出了一种利用消失点作为室内环境全局特征的扩展卡尔曼滤波(EKF)SLAM的改进方法。实验结果表明,在消失点的帮助下,SLAM的性能显著提高。在〔21〕中,张某等人。采用垂直线和地线作为解决三自由度砰击问题的特征。为了减少航向累积误差,采用消失点作为额外测量值,并用于闭环闭合。他们的工作令人印象深刻地表明,如果恰当地使用结构规律,SLAM的精度可以显著提高。
受前人工作的启发,我们试图利用结构规律来解决包含人造建筑物的环境中单针孔相机的6-DoF SLAM问题。我们建议在曼哈顿世界定位和测绘的假设下,使用三个主导方向的建筑结构线。我们将表明,结合建筑结构线的EKF可视化SLAM方法的扩展可以在大规模室内环境中获得显著的鲁棒性和准确性,并且产生由三维建筑线结构组成的地图,这些地图可用于三维CAD地图的生成,以及场景理解。

三、建筑结构线
大多数人造建筑都展现出曼哈顿世界的特性,即表面与三个主要方向对齐。换句话说,这些表面的交叉线也与三个主要方向对齐。我们说可以和那些主要方向对齐的线是结构线,如图1所示。每个结构线都与能够由图像中的消失点表示的主导方向相关联。
为了对结构线进行参数化,我们通过世界框架的原点选择三个正交平面,即XY、Y Z和ZX平面。结构线可以由参数平面上的点以及相关的主导方向来表示。
通过比较相关主方向与平面法线之间的角距离,选择参数化平面。选择具有最近角距离的参数平面作为参数平面。
然后,结构线由参数平面中的点表示,该点具有类似于[15]中的逆深度表示,即

这里,[ca,cb]T是沿着主导方向(图2中的)投影到参数平面上的相机中心(图2中的O)。θ是通过相机中心与结构线和参数平面的交点(图2中的A)的投影来描述光线的角度。h是逆深度值,其中1/h是摄像机中心的投影和参数平面上的交点之间的距离,如图2所示。这种逆深度表示用于最小化[15]中描述的初始化中的非线性影响。在下面的章节中,我们将详细介绍我们的SLAM框架。

IV.具有结构线的可视化同时定位和映射框架
视觉SLAM的主要任务是根据图像序列中检测到的特征来估计摄像机的运动,同时建立周围环境的三维地图。我们使用EKF框架来解决类似于[1]中的SLAM问题,其中要估计的所有变量都放在状态向量x中。RAME,以及摄像机框架中的角速度ωc。状态向量X的其余部分由代表特征点XP的向量组成。我们通过附加表示结构线XL的向量来扩展框架。因此,我们的SLAM框架中的状态向量被写成 

扫描二维码关注公众号,回复: 4490825 查看本文章

其中XP=[MT 1,MT 2,…] t,和xl=[lt 1,lt 2,...]点线特征和结构线特征均用逆深度参数化(mi∈R6×1和li∈R4×1)表示。估计不确定性由协方差矩阵描述,即,

其中,对角块矩阵是摄像机的协方差、点特征和结构线特征。其余的块矩阵是不同变量之间的交叉方差。
A.估计主导方向
像点一样,我们需要在国家中经常添加新的结构线来增长地图。在初始化任何结构线之前,它需要估计世界框架中的主导方向。这可以通过将图像中检测到的消失点反向投影到世界帧中来实现。
消失点V可以通过在图像中相交平行线来计算。数学上,这可以通过求解线性系统来实现,即,

其中S是一个3×m矩阵,其中列代表平行线的方程。在这里,我们使用3×1的齐次坐标来表示消失点V。
我们使用[22]和[23]中描述的J连杆对图像中的平行线进行分类,然后使用(4)计算消失点的粗略估计。然后,我们通过非线性最小二乘优化来细化结果,该优化最小化从观测线段的端点到连接消失点和观测线段的中点的线的距离。
在得到图像中的消失点v之后,就可以得到三维空间中的主导方向,即:

这里,是表示三维空间中的主导方向的3×1矢量,Rwc是对应于qwc的相机旋转矩阵,表示从相机帧到世界帧的旋转变换。K是相机的固有矩阵,可以预先校准。校正后的图像中的失真可以被去除。
相反,如果已知主导方向,则可以获得它们在图像中的相应消失点,即,

这里,Rcw=(RWC)T表示从世界帧到相机帧的旋转变换。图像中的消失点v可用于确定图像中新检测的线段的主要部分,这将在下面部分中进行描述。
由于假定主导方向彼此垂直,因此需要至少两组平行线来估计它们。(第三个方向可以通过前两个方向的叉积得到。)我们使用(4)和(5)估计主要方向的粗略值,并使用叉积对其进行正交化。然后,通过使从(6)计算的消失点与从(4)获得的观察点之间的距离最小的旋转来稍微调整三个方向。如果检测到多于三组平行线,则使用成员数最多的三组进行估计。
b.结构线的初始化
新的结构线初始化时,一些线段新出现在图像中。在初始化新的结构线之前,我们尝试确定与新的线段相关的主要方向。我们将主导方向i投影到图像上,使用(6)获得相应的消失点vi。通过绘制一条线穿过观察线段的消失点和中点,如果该线可以与观察线段紧密对准(在我们的实验中在四像素对准误差内),则观察线段的主导方向被设置为i。
如果在图像内部有一个消失点,则线段可以与两个可能的消失点对齐。在初始化结构线时会引起歧义。我们简单地丢弃这些线段以避免生成分配了错误的主导方向的结构线。
不必对所有新的线段初始化结构线,因为它可能增加计算成本并使数据关联变得困难。我们只选择不接近图像中预测结构线的长段进行初始化。

初始化过程分为两个阶段。第一阶段是计算相机中心沿主导方向(ca,cb)在参数平面上的投影。第二阶段是获得从摄像机中心到参数平面上结构线交点的投影方向,用法向量[cos(θ),sin(θ)]T表示。结构线的状态初始化为l=[ca,cb,θ,h]T,默认深度值为1/h,在增加一条新的结构线后,还需要对协方差矩阵进行扩充。
在附录A中描述了初始化的细节。在初始化结构线之后,我们还将图像补丁保持在线段的中点附近,用于后面部分介绍的数据关联。在我们的实验中,图像块被设置为大小为11×11像素。
C.动态模型与状态预测
我们在相机动力学模型中使用了恒定速度和恒定角速度,与[1]中的相同,即

在这里,我们使用一个条形码来识别预测的变量。动态特性受到噪声n=[δvwT,δT]T的干扰,其协方差被写成n。

在“jacobian的动态模型和噪声

传播的不确定性可以描述为

在许多机器人平台中,通常存在可用来预测机器人运动的传感器,例如IMU和轮里程表。在这些情况下,我们简单地从它们中提取速度和角速度信息,并分别替换v_w和w_c。
D.结构线的测量模型
测量或观测是由LSD检测器(24)检测到的线段。要计算创新,需要获得结构线的图像位置并测量结构线及其相关线段之间的距离。
结构线的图像可以通过连接相关消失点的图像位置和结构线和参数平面的交点来计算,如图2所示。详细计算在附录B中给出。

假设SJ是与ITH结构线相关联的线段。我们用Li=(Li 1,Li 2,Li 3)T表示结构线在图像中的投影。线段的端点即sa j、sb j和投影结构线即li之间的符号距离构成了测量函数。

以下情况使得结构线的测量模型得以仔细设计:1)结构线通常与图像中检测到的多个片段相关;2)长线段的测量应该比短线段的测量具有更强的作用。
对于第一种情况,我们允许将一条结构线与多个线段相关联,这意味着结构线li的测量函数具有以下形式:

为了使线段的测量影响与其长度成正比,我们简单地将长线段分成几个短线段并计算测量函数。通过这样做,较长的段将导致更多的残差,并对EKF更新步骤产生更大的影响。在我们的实验中,我们将长段分割成图像长度为30像素的短段。
整个状态的测量函数是

这里,P(x)是特征点的测量函数〔14〕。n是由协方差矩阵描述的测量噪声,其中只有对话元素是非零值2。值通常设置为几个像素,这取决于特征检测精度(在我们的实验中是两个像素)。
创新计算为


其中UI代表图像中检测到的特征点。
E.状态更新
EKF更新遵循标准卡尔曼滤波公式,即
 

这里,H是H(x)的雅可比,而创新R是在(14)中定义的R(x)。在实现中,我们没有尝试获得需要复杂计算的解析形式,而是使用中心差分来获得雅可比矩阵。
除了使用H、N和r的部分之外,我们还仅使用部分测量值来更新状态以获得初步估计,其步骤与(15)相同。部分更新对于在鲁棒关联中拒绝异常值是有用的,并且在现有工作中显示了其显著的性能[25]。我们还使用数据关联中的部分更新来拒绝异常值,如以下部分所述。
F.结构线的鲁棒数据关联
由于线在图像中通常被分成若干段,并且沿着不同结构线的纹理通常彼此相似,因此将观测值与结构线关联起来比将特征点关联起来更困难。有一些工作致力于寻找有效的线特征描述符〔26〕,〔27〕。考虑到运行时间的效率,我们简单地使用最初关联的线段的中点周围的图像补丁作为描述符。我们发现,这种简单的表示方法在保持较高的计算效率的同时,也取得了很好的结果。虽然可以找到更好的行描述符,但这不是我们的主要兴趣所在。我们在将来的工作中离开。
结构线数据关联的第一步是通过比较图像块来寻找接近预测结构线并且具有与结构线相似外观的候选段。预测结构线与线段之间的紧密度由计算为

这里,ri是第i条结构线的2×1残差向量[参见(11)和(14)],Hi是对应的雅可比矩阵。被拒绝的大于2(大于5%的概率)的线段被拒绝。然后,利用零均值归一化互相关(ZNCC)∈[1,1]对线段与结构线之间的相似性进行度量。
在我们的实验中,对于大多数情况,ZNCC设置为0.8。在获得候选片段之后,我们使用RANSAC来计算剩余的离群值,如基于点的可视化SLAM方法[25]中所描述的。然而,与点特征不同,一条直线通常具有多个相关的线段,因为线很容易通过线检测算法被分成若干段。因此,我们做了一些修改,以适应我们的框架,概述如下。
1)从所有候选段随机地采样线段。
2)我们使用所选择的线段运行一个初步的EKF更新,并使用更新的状态再次预测图像上的所有结构线。
3)通过检查结构线与其相关段之间的距离来确定初始值。如果距离小于阈值(在我们的方法中使用3),我们将关联的线段视为内嵌线。因此,在上述步骤之后,我们得到了一个内集。我们递归地执行这些步骤,直到达到最大次数的RANSAC迭代。最后,最大成员数的内集是我们的内集。其余的线段被视为离群值,并且被排除在EKF更新中(15)。之后,我们使用所有的内嵌段运行EKF更新。
当在框架中使用点和结构线时,异常拒绝以类似的方式工作。正如我们在图17的实验结果中所看到的,ZNCC匹配产生的错误关联将通过离群点剔除来消除,这增加了算法的鲁棒性。

G 特征管理
由于映射中的特征数量随时间增长,因此随着状态的维数变大,它将显著降低运行时效率。与管理点特性类似,我们还为每个主导方向设置保持在状态的结构线的最大数量。只有当结构线的数目小于预期时才初始化新的结构线。
为了将线特征的数量限制在合理的范围内,我们需要删除图像中没有出现的旧特征。为了管理这些特性,我们为每个特性保留许多匹配失败(NoF)变量,以指示它不能与任何观察关联的连续步骤的数量。当特征再次成功匹配某些观测值时,NOF被重置为零。当特征数超过预定义的阈值(在我们的实验中使用预期特征数15的两倍)时,具有最大NoF的特征被从状态中移除。协方差矩阵也相应地更新。
五、实验
A 合成场景
为了更好地理解不同算法的特点,我们合成一个简单的场景进行评估。合成场景由20×20m四边形屏障组成,包括88条线(80条垂直线,8条水平线)和160个点。一个透视相机(90_FOV,640×320像素,加上一个双像素高斯测量噪声)在栅栏内部移动,在XZ平面内完成一个正方形轨迹,朝向栅栏。总共生成794幅连续图像,在每个帧中,我们让线和点的数量大致相同。
比较使用了四种方法:基于点的方法[15]、基于线的方法[3]、仅使用结构线的方法以及同时使用点和结构线的方法。对于四种方法,所有初始化条件和相关参数保持相同。估计轨迹显示在图3中。很明显,只使用点和线的方法比我们的方法更差。它们不能构造障碍物的正方形形状,并且具有较大的闭环误差。利用结构线的优势是显而易见的:利用结构线编码的全局方位信息,轨迹和三维地标都与地面真实情况很好地吻合。
图4显示了基于线的方法和我们的方法的三维地图之间的并排比较。如图所示,在基于直线的方法中,许多行的取向是不正确的。我们以垂直线为例,其方向误差分布如图4(c)所示。86条垂直线中有15条误差大于2,而我们的方法没有这样的问题,即所有的线都与其真实方向很好地对齐。

为了进行定量分析,我们进行了25次蒙特卡洛实验。在每个帧上,计算相机姿态分量(X、Y、Z的平移和横摇、俯仰、偏航的方向)在25次运行中的均方根误差(RMSE)。结果如图5所示。当摄像机在第一个拐角处转弯时,基于点的方法和基于线的方法都开始显示估计误差的增加。特别是对于基于直线的方法,俯仰方向的误差在每个角落处都大大增加,最终达到高达0.3180rad(比提出的方法0.0143rad多十倍)。这可能是由于两点[3]的线表示的冗余DOF:两个非重叠点可以沿着线定位在任何地方,使得让线收敛到真实姿态更加困难。
相比之下,在整个弹道(4×20m)中,所提出的方法的位置误差总是保持在较小的值(0.2m)内,如果单独使用结构线(例如X中的RMSE,结构线仅:0.1311m,混合:0.0576m),则位置误差略有增加。因此,它清楚地表明,在我们提出的方法中,结构线起着关键作用,其中采用了点和结构线。为了检验算法的一致性,我们使用平均归一化估计误差平方(NEES),正如[29]中所解释的。如图6所示,仅使用线和点的方法不一致,主要是因为它们的不精确。然而,我们方法的平均NEES总是在上限之下,并且被认为是一致的。
总之,简单的实例表明,在SLAM框架中采用结构线将显著提高方位和位置的估计精度。在下面的实验中,我们将测试我们的方法在真实场景中有或没有地面的真相。

B.与大型室内场景的基准
我们在RAWSEEDS 2009[30]中的Biccoca_2009-02-25b和Biccoca_2009-02-27a数据集上测试了我们的方法,这些数据集已经被提出作为SLAM问题的基准。数据集由安装在办公楼内的多个传感器的轮式机器人收集。室内场景包括各种不同的建筑特征,例如,大厅、宽窄走廊、建筑物和图书馆之间的通道,并且不同地方的光条件显著变化。在实验中,我们使用来自前置相机的图像序列(图像分辨率为320×240)进行测试。为了评估结果,我们通过将起点设置为地面真值1,并且通过最小化它们之间的距离使轨迹向地面真值旋转,来将得到的轨迹与扩展的地面真值对齐[30]。将仅使用点(MonoSLAM)[14]和线(LineSLAM)[3]的现有可视SLAM方法与提出的方法进行比较。对于所有方法,采用车轮里程计进行运动预测(参见IV-C节),在基准解决方案[31]中也采用了这种方法。
1)BiCOCAX 2009—02-25B:该数据集由52个671帧图像在30分钟内以15个FPS捕获。整个路径长达774米,具有多个循环和重新访问的区域。由于某些区域缺乏纹理,并且通道非常狭窄,因此该序列非常具有挑战性。
除了与MonoSLAM和LineSLAM方法比较之外,我们还将本例中的基准解决方案[31]的发布结果进行比较。基准解决方案,被称为CI-Graph SLAM,使用机器人上的另外两个摄像机进行估计。它是目前最先进的视觉SLAM方法,通过频繁地应用环路闭合检测和环路闭合算法,在大规模场景中表现良好。结果如图7所示。注意,对于MonoSLAM和LineSLAM,方向误差在无纹理角落的每个转弯处都会增加。误差累积,最终导致较大的位置误差。由于CI图SLAM方法在检测循环时采用循环闭合算法来校正累积误差,因此比MonoSLAM和LineSLAM具有更好的效果。然而,由于缺乏如图7(b)所示的特征,在第二个建筑物的狭窄角落之后仍然有清晰的方向漂移。我们的StructSLAM方法利用结构线的方向信息作为对估计的全局约束,这意味着每个时间步的误差将被全局纠正。因此,在整个轨迹中,误差不是累积的,而是有界的(2米以内)。为了更好地说明,我们显示了图9中所有方法的绝对位置误差和绝对偏航误差。如表I所示,我们的方法给出了精确的估计,平均绝对误差为0.79m和0.01rad,优于CI图SLAM的2.24m和0.06rad的结果,远远优于MonoSLAM和LineSLAM的结果。还值得注意的是,我们的StructSLAM仅使用一个相机而不使用闭环算法来实现这种性能。
2)Biccoca_2009-02-27a:该序列(包括68063帧)在与Biccoca_2009-02-25b相同的场景中沿着不同的路径捕获,并且具有较长的距离(967m)。我们给出与图8中的地面实线一致的结果。在这种情况下,所提出的方法仍能很好地执行。平均定位误差为0.793 m,平均定位误差为0.017弧度。由于CI图方法不适用于此数据集,因此我们只将之与MonoSLAM和LineSLAM方法进行比较。正如我们在图中看到的,由于累积的方向误差,它们产生非常大的位置误差。我们在图9中显示了在两个数据集上执行的所有方法的绝对误差,并在表I中列出了统计结果。注意,我们的方法对于两个数据集产生几乎相同的误差,尽管它们的长度不同。这表明,我们的方法产生有界误差,而不随行进距离增长。

C.运行时间效率
所提出的方法在Matlab和C++中实现。MATLAB的版本比较慢,大约需要0.5_1s来处理大约40个特性,包括点和结构线。C++版本快得多,我们还记录了用于处理BICCOCAH 2009—02-27 A数据集的每个图像和状态中相应数量的特征的时间。如图10所示,最大点数被限制为40,结构线的数量被限制为每个方向的8条(总共24条)。当存在更多特征时,运行时间增加。每个图像的平均运行时间约为25.8ms,最大运行时间为62.9ms,这对于实时应用来说足够快。
真实世界使用手持式相机
我们使用手持相机(90_FOV)获得分辨率为640×320像素的图像序列。三个场景进行了测试。第一个场景是一系列带有封闭环路的室内走廊。在这个测试中,我们证明了在无纹理场景下我们方法的鲁棒性,其中传统的视觉SLAM方法失败。第二次测试是在夜间由走廊包围的大厅中进行的,经历巨大的光照变化,以相对随机的路线进行。第三个测试是在室外庭院中进行的,该庭院具有与主导方向不一致的干扰线特征。见网上公布的视频结果。1
1)闭环室内走廊:本实验采用沿着走廊的矩形闭环路径(12×33m)采集图像序列。该序列对于视觉SLAM来说具有挑战性,因为它主要包含无纹理的墙壁(参见图11)。我们将我们的方法与来自Javier Civera实现的标准基于点的SLAM代码(MonoSLAM)进行比较[15]。由不同方法产生的三维摄像机轨迹如图12(a)所示,在图12(a)中,我们将摄像机轨迹对准坐标系,以便进行更清晰的比较。所提出的方法使用点和结构线产生更好的结果比MONSOLAM。注意,MonoSLAM产生了显著的漂移误差,如图12(b)所示。这是由于场景中缺少特征点造成的,尤其是在角落附近,如图11所示。相比之下,我们的方法在无纹理的角落处工作平稳,并且产生更少的漂移误差。结果如图13所示。该方法在返回到起点时产生的漂移误差为整个行程距离的1%。对于这种具有挑战性的情况,这是有希望的,并且这种水平的漂移误差可以通过闭环算法容易地消除。还值得注意的是,用结构线表示的三维地图比用点表示的更适合描述场景的结构。这对于室内建模或场景理解应用可能是有用的。

2)夜间大厅:在这个测试中,相机以一个虚构的路径移动,并返回到室内环境的起点,其中心有一个大厅。当照明发生显著变化时,夜间拍摄图像。图14显示我们的方法成功地处理了这些情况。在图15中示出了3-D地图和相机轨迹。在线观看演示视频。


3)走廊和庭院:在评价了我们提出的方法与室内环境之后,在室外场景中验证它是非常有趣的。我们从一个走廊捕捉场景然后进入庭院走走。最后的结果如图16所示。值得注意的是,户外场景包含一组丰富的特征,其中包括不与图17所示的主要方向对齐的线条。我们的方法可以通过鲁棒数据关联来丢弃它们。
l
 

六、结论与未来工作
本文提出了一种以结构构造线为新特征与点特征互补的可视化6自由度SLAM方法。我们的方法在合成场景和真实场景中都得到了验证。结果表明,对于缺乏点特征的室内环境,传统的基于点的SLAM会产生较大的漂移误差甚至失效,而我们的方法在处理结构线时效果良好,并且由于摄像机方位的全局约束,漂移误差小得多。结果还表明,当场景中存在不与三个主要方向对齐的线段时,我们的方法仍然通过采用鲁棒数据关联方法拒绝它们而工作良好,表明了我们方法的鲁棒性。
线点混合策略也使我们的方法灵活地适应不同的场景。对于主要包含无纹理墙壁的室内场景,可以提取线段并用于定位和映射。相比之下,对于包含较少的人造结构的户外场景,点特征在我们的方法中占主导地位。
对于大多数人造建筑物来说,场景中有三个垂直方向的假设成立,但有时也有例外,即存在超过三个主导方向或者主导方向彼此不垂直。我们的方法只是把没有与三个垂直方向对齐的线特征当作离群值。当这样的离群值的数目不可忽略时,这可能导致问题。这是我们在未来要解决的第一个问题。另一个问题是,我们仅仅使用线段的中点周围的图像补丁来进行数据关联。由于线特征在图像中比点特征更难区分(在图像中通常有许多具有相似外观的线),所以使用这个简单的描述符通常会导致错误的匹配。在我们的实现中,我们将用于匹配的ZNCC阈值设置为高达0.8,以减少错误匹配。然而,随着视点改变,高阈值还减少了正确关联的数量,这导致从应该关联到一条结构线的线段初始化的重复行。因此,我们将研究一个更好的描述符匹配线特征在未来。附录A
初始化结构线

假设m是用于初始化的线段的中点的3×1齐次坐标。它在字框架中的三维坐标被计算为

世界框架中的结构线可以用P.er矩阵L=mT_mT来描述,其中∈R3×1是相关的主导方向。结构线和参数平面π的交点,如图2所示,由A表示,计算如下

参数平面中的交点的二维坐标由

这里,lw是从齐次表示lw计算的三维坐标,P∈R2×3是将三维矢量变换成二维参数矢量的投影矩阵。

以同样的方式,通过照相机中心沿主导方向的线与参数平面上的点相交(图2中的O)

因此,我们得到摄像机中心在二维坐标中的投影。

之后,我们可以从(19)和(21)AS导出初始化结构线的参数。

其中H0是预设的反深度值。
为了在初始化新的结构线之后扩充协方差矩阵,我们需要计算新初始化的结构线的协方差,即,l(i),如

它涉及计算结构线相对于相机变量xc、线段s和反深度值h的雅可比矩阵。这里,l(i)/h=[0,0,0,1]T。其他雅可比矩阵是用数值方法计算的,使用我们实现中的中心差分。噪声协方差n4×4是一个对角元素为2的对角矩阵,与(13)中的定义相同。
新初始化的结构线与状态中的其他变量之间的交叉方差计算为

这里,1∶13,…表示协方差矩阵的前13行。在初始化新结构线L(i)之后,状态被增强,即,


然后将整个状态的协方差增大为

附录B
将结构线投影到图像上

我们使用(6)得到与结构线相关的图像消失点,用v表示。

这里,P∈R2×3是一个将三维矢量变换成二维参数矢量的投影矩阵,我们将方程的两边乘以逆深度h,从而可以安全地用于无限情况,即h=0。
在获得世界框架中的点之后,我们将其转换成相机帧,即,

然后得到图像中的点作为

因此,投影结构线被计算为消失点和投影点的叉积。

REFERENCES
[1] A. Davison, “Real-time simultaneous localisation and mapping with a single camera,” in IEEE Proc. IEEE Int. Conf. Comput. Vis., 2003, pp. 1403–1410.
[2] G. Klein and D. Murray, “Parallel tracking and mapping for small AR workspaces,” in Proc. IEEE ACM Proc. Int. Symp. Mixed Augmented Reality, 2007, pp. 225–234. 
[3] P. Smith, I. D. Reid, and A. J. Davison, “Real-time monocular slam with straight lines,” in Proc. BMVC, 2006, vol. 6, pp. 17–26.
[4] T. Lemaire and S. Lacroix, “Monocular-vision based SLAM using line segments,” in Proc. IEEE Robot. Autom., 2007, pp. 2791–2796.
[5] J. Sola, T. Vidal-Calleja, and M. Devy, “Undelayed initialization of line segments in monocular SLAM,” in Proc. IEEE/RSJ Intell. Robots Syst., 2009, pp. 1553–1558.
[6] E. Perdices, L. M. López, and J. M. Cañas, “LineSLAM: Visual real time localization using lines and UKF,” in Proc. 1st ROBOT Iberian Robot. Conf., 2014, pp. 663–678.
[7] B. Williams et al., “A comparison of loop closing techniques in monocular SLAM,”Robot.Auton. Syst., vol. 57, no. 12, pp. 1188–1197, Dec. 2009. 
[8] J. M. Coughlan and A. L. Yuille, “Manhattan world: Compass direction from a single image by Bayesian inference,” in Proc. IEEE Int. Conf. Comput. Vis., 1999, vol. 2, pp. 941–947.
[9] Y. Furukawa, B. Curless, S. M. Seitz, and R. Szeliski, “Manhattanworld stereo,” in Proc. IEEE Conf. Comput. Vis. Pattern Recog., 2009, pp. 1422–1429.
[10] A. Flint, C. Mei, I. Reid, and D. Murray, “Growing semantically meaningful models for visual SLAM,” in Proc. IEEE Conf. Comput. Vis. Pattern Recog., 2010, pp. 467–474.
[11] A. Gupta, A. A. Efros, and M. Hebert, “Blocks world revisited: Image understanding using qualitative geometry and mechanics,” in Proc. Eur. Conf. Comput. Vis., 2010, pp. 482–496.
[12] L. Ruotsalainen, J. Bancroft, and G. Lachapelle, “Mitigation of attitude and gyro errors through vision aiding,” in Proc. IEEE Indoor Position. Indoor Navig., 2012, pp. 1–9.
[13] N. Snavely, S. M. Seitz, and R. Szeliski, “Photo tourism: Exploring photo collections in 3D,” ACM Trans. Graphics, vol. 25, no. 3, pp. 835–846, Jul. 2006.
[14] A. J. Davison, I. D. Reid, N. D. Molton, and O. Stasse, “MonoSLAM: Real-time single camera SLAM,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 29, no. 6, pp. 1052–1067, Jun. 2007.
[15] J. Civera, A. J. Davison, and J. Montiel, “Inverse depth parametrization for monocular SLAM,” IEEE Trans. Robot., vol. 24, no. 5, pp. 932–945, Oct. 2008.
[16] W. Y. Jeong and K. M. Lee, “Visual SLAM with line and corner features,” in Proc. IEEE/RSJ Intell. Robots Syst., 2006, pp. 2570–2575.
[17] M. Chandraker, J. Lim, and D. Kriegman, “Moving in stereo: Efficient structure and motion using lines,” in Proc. IEEE Int. Conf. Comput. Vis., 2009, pp. 1741–1748.
[18] G. Tsai, C. Xu, J. Liu, and B. Kuipers, “Real-time indoor scene understanding using Bayesian filtering with motion cues,” in Proc. IEEE Int. Conf. Comput. Vis., 2011, pp. 121–128.
[19] J. Sola, T. Vidal-Calleja, J. Civera, and J. M. M. Montiel, “Impact of landmark parametrization on monocular EKF-SLAM with points and lines,” Int. J. Comput. Vis., vol. 97, no. 3, pp. 339–368, May 2012.
[20] Y. H. Lee et al., “VPass: Algorithmic compass using vanishing points in indoor environments,” in Proc. IEEE/RSJ Intell. Robots Syst., 2009, pp. 936–941.
[21] G. Zhang, D. H. Kang, and I. H. Suh, “Loop closure through vanishing points in a line-based monocular SLAM,” in Proc. IEEE Robot. Autom., 2012, pp. 4565–4570.
[22] R. Toldo and A. Fusiello, “Robust multiple structures estimation with J-linkage,” in Proc. Eur. Conf. Comput. Vis., 2008, pp. 537–547.
[23] J.-P. Tardif, “Non-iterative approach for fast and accurate vanishing point detection,” inProc.IEEE Int. Conf. Comput. Vis., 2009, pp. 1250–1257.
[24] R. G. Von Gioi, J. Jakubowicz, J.-M. Morel, and G. Randall, “LSD: A line segment detector,” Image Process. Line, vol. 2012, no. 2, pp. 35–55, Mar. 2012.
[25] J. Civera, O. G. Grasa, A. J. Davison, and J. Montiel, “1-point RANSAC for extended Kalman filtering: Application to real-time structure from motion and visual odometry,” J. Field Robot., vol. 27, no. 5, pp. 609–631, Sep./Oct. 2010.
[26] Z. Wang, F. Wu, and Z. Hu, “MSLD: A robust descriptor for line matching,” Pattern Recognition, vol. 42, no. 5, pp. 941–953, May 2009. 
[27] K. Hirose and H. Saito, “Fast line description for line-based SLAM,” in Proc. Brit. Mach. Vis. Conf., 2012, pp. 1–11.
[28] Y. Bar-Shalom, X. R. Li, and T. Kirubarajan, Estimation With Applications to Tracking and Navigation: Theory Algorithms and Software. Hoboken, NJ, USA: Wiley, 2004.
[29] T. Bailey, J. Nieto, J. Guivant, M. Stevens, and E. Nebot, “Consistency of the EKF-SLAM algorithm,” in Proc. IEEE/RSJ Int. Conf. Intelli. Robots Syst., Oct 2006, pp. 3562–3568.
[30] B. Andrea et al., “RAWSEEDS: Robotics advancement through webpublishing of sensorial and elaborated extensive data sets,” in Proc. IROS Workshop Benchmarks Robot. Res., Beijing, China, 2006, pp. 16–23. [Online]. Available:  http://www.robot.uji.es/EURON/en/iros06.htm
[31] P. Piniés, L. M. Paz, D. Gálvez-López, and J. D. Tardós, “CI-graph simultaneous localization and mapping for three-dimensional reconstruction of large and complex environments using a multicamera system,” J. Field Robot., vol. 27, no. 5, pp. 561–586, Sep./Oct. 2010.

猜你喜欢

转载自blog.csdn.net/weixin_36662031/article/details/84874422