掌桥专利:专业的专利平台
掌桥专利
首页

利用点、线视觉特征实现室内复杂环境下的定位方法

文献发布时间:2024-04-18 19:57:31


利用点、线视觉特征实现室内复杂环境下的定位方法

技术领域

本发明涉及基于视觉特征的定位和建图领域,尤其涉及一种利用点、线视觉特征实现室内复杂环境下的定位方法。

背景技术

实时定位和地图构建(SLAM,Simultaneous Localization and Mapping)是机器人在未知环境下,从起始点到终点之间,利用前端传感器如摄像头、激光雷达等获取环境数据并进行处理,然后根据自身的位置以及先验信息进行定位和地图构建,实现自主导航的技术;近年来,随着SLAM技术的发展以及前端传感器获取内容越来越丰富,其对未知环境的探索能力在军用和民用中都体现出了巨大的需求量,像无人机、机器人、自动驾驶、AR/VR和AGV等领域,SLAM技术已经成为其中不可或缺的一部分。在视觉SLAM中,点特征和线特征通常用于描述对象的形状。

具体地说,点特征提供环境中的角点信息,用于对象特征化和定位,线特征描述对象的边缘信息,以便更好地跟踪;结合点特征和线特征,可以实现一个更鲁棒的系统,在系统实现时,会存在一定的精度损失,因此,提高线特征和点特征的质量就很有必要。

点特征检测主要是基于角点像素值的变化进行判断。在典型的ORB-SLAM2中,来自加速段测试(FAST)的特征用于通过比较图片上中心点和周围点之间的像素差来检测点特征;尽管像素的直接比较可以确保快速检测和简单的SLAM实现,但由于具有整数坐标值的近似位置导致的低精度将影响SLAM定位精度。与点特征检测不同,线特征检测可以为SLAM中的姿态估计提供丰富的对象边缘信息。点和线SLAM(PL-SLAM)是在ORB-SLAM2的基础上通过添加线特征而提出的。然而,对于提取过程,算法仅检测满足当前帧要求的线特征;在处理视觉流时,可能会重复检测某些线段,这在一定程度上导致效率和精度的降低。

目前常用的点特征检测手段主要分为基于二值图像的检测、基于轮廓曲线的检测以及基于灰度图像的检测三类,如Harris角点检测算法、KLT角点检测算法以及SUSAN角点检测算法等,它们都是基于像素级别的检测,但是在世界坐标系下的物体点坐标值大部分都不是整数值,在做特征点匹配和跟踪时会损失一定的精度,增加定位的误差;相比于点特征,线特征可以提供长度、角度、距离等特征信息,在位姿估计上可以提供更丰富的环境信息,增加系统的准确性和鲁棒性,但是在检测与匹配上会耗费较多的时间,并且环境中冗杂的线特征如果处理的不好,如将同一条线特征重复识别为两条,将会增加误匹配率,降低系统定位的精度。

发明内容

有鉴于此,本发明的主要目的在于提供一种利用点、线视觉特征实现室内复杂环境下的定位方法。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供一种利用点、线视觉特征实现室内复杂环境下的定位方法,该方法包括:

对视频流中的图像帧进行预处理,获得预处理后的图像帧;

通过强角点搜索算法搜索所述预处理后的图像帧中150个强角点;

根据分布均匀化处理方法对聚集较近的强角点进行剔除;

根据像素点梯度下降准则,对已经确定使用迭代的方法寻找亚像素角点,并将强角点信息补充到150个;

通过光流法对补充后的中150个强角点进行跟踪,并通过三角法匹配帧间位姿;

对线特征进行提取,使用LSD线特征提取方法,获得线特征;

根据像素聚集点长度,按照60像素点的标准对线特征中的短线特征进行剔除;

对于剔除后的线特征,按照四个象限方向进行线特征补充,将每帧的线特征补充到20条;

将补充后的线特征投影到2d平面内,并根据距离公式确定L1和L2之间的距离;

根据线段与水平线之间的夹角,确定两条线段之间的角度关系;

根据距离、角度判断两条线是否为重复线,如果不是重复线,保留线特征并进行后续匹配,如果为重复线则执行合并删除线特征操作;

根据优化后的线特征,结合点特征和线特征匹配,优化定位精度。

上述方案中,所述对于剔除后的线特征,按照四个象限方向进行线特征补充,具体为:根据线段梯度下降方向,确定线段的方向性:

上述方案中,所述将补充后的线特征投影到2d平面内,并根据距离公式确定L1和L2之间的距离,具体为:根据距离公式计算L1和L2之间的距离:

上述方案中,所述根据距离判断两条线是否为重复线,具体为:对L1和L2的长度进行验证,当两者的长度差大于10个像素长度,则认为两者不是重复线;如果不是,继续根据线的方向信息,判断两条线和水平线的夹角,并对夹角进行相减,当角度差在15度以外,则不认为是重复线,如果在15度以内,则满足判定条件,判定这两条线为重复线。

上述方案中,该方法还包括:当判断两条线为重复线,则执行合并以及剔除。

上述方案中,所述对两条线的合并以及剔除,具体为:

获取两条线的ID,并对ID较大的线执行剔除操作;

更新线特征容器内的ID,并对新增加的线特征重新判断;

对后端非线性优化部分,更新残差量和状态量信息,将剔除之后的线特征状态重新加入优化。

与现有技术相比,本发明的目的在于提出一种基于视觉信息中点和线特征进行室内高精度定位的新方法;为了能更好反映世界点的坐标信息,本发明使用迭代的方法寻找亚像素角点,并提出对点特征进行约束;在线特征提出部分,本发明提出了三种策略进行判断和合并线特征,对于匹配精度上有不小的提升;

本发明可在搭载毫米波雷达、激光雷达、摄像头等传感器的智能移动平台上部署使用。

附图说明

此处所说明的附图用来公开对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1迭代法寻找亚像素角点图。

图2迭代法寻找亚像素角点后的约束。

图3剔除短线后在四个方向上补充线特征。

图4三种策略对线特征的判断和剔除。

图5系统流程图。

图中:(100)IMU预处理;(101)Harris角点;(102)迭代法寻找亚像素角点;(103)KLT光流;(104)LSD线特征提取;(105)360度方向上根据四个象限补充线特征;(106)LBD特征匹配;(107)视觉-惯导联合初始化;(108)线特征三角化;(109)判断是否是重复线;(110)滑窗联合后端非线性优化。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、物品或者装置中还存在另外的相同要素。

在做室内视觉定位时,对物体特征信息的要求通常需要非常准确。本发明公布了一种对视觉环境下点和线特征提高检测精度的算法。首先,利用单目相机采集室内环境的视频流,接着利用OpenCV对视频流进行取帧处理,得到图像帧之后,算法对图像的处理分为两个线程,对点特征和线特征的提取分开进行。在后端非线性优化时,对点和线特征进行紧耦合的优化,分别加入两个特征的状态残差量,并使用最小二乘估计(LM)进行非线性优化,最后得到一个更准确的位姿轨迹。

本发明方法不依赖于环境几何体的任何先验信息,所需的唯一信息是单目相机获取的周围环境信息,以及IMU移动时得到的角速度和线速度信息。本发明中,不对IMU信息进行处理,所以不包含这一部分的优化。对点特征的优化在图1中,假设P现在是角边上的一个点,在它附近,将尝试在亚像素描述中找到更接近世界点的坐标值Q。点q有两个可能的位置,即在点P的邻域边缘上如点q,或在邻域中处于与P相同的灰度如点q’。每当我们找到一个更适合描述世界点的点q时,我们将继续以该点作为新的初始点进行迭代,直到满足阈值条件。

根据像素梯度下降准则,将点P和点q连接起来,这可以用正交方程来描述,以便进行迭代:

在上式中,ε

其中P

本发明对重复线特征的判断如图4所示,算法首先在图像中每个像素点周围生成一个单位向量域,包含方向信息和长度信息。针对这些向量域,找到一个矩形与之对应,并统计矩形区域内像素的个数以及向量域的个数,作为验证矩形框作为可分割的依据。利用区域增长的方向,对矩形区域内的点实现分割,同时剔除掉一部分的杂点信息。利用计算像素的个数信息,对形成的矩形区域进行判断,当线段长度较短时,进行去除短线的操作,设置对短线的识别长度为60。剔除完短线之后,依据向量域的方向性,依据四个坐标域的角度范围,对这四个区域做线段的补充,每个区域补充到5条线,一帧图像中需要包含20条线特征。对形成矩形框之后的线特征,使用距离公式计算两条线特征之间的长度信息对线特征的二维投影距离进行判断,如果两条线距离过近,则有可能是同一条线被重复检测了。

此时进行第二步,对两条线的长度进行判断,如果两条线的长度差值在一定阈值范围内则进行角度判断,考虑到相机移动的幅度大小,设置角度变化范围的阈值,最后执行合并操作时会考虑两条线的ID,考虑到一条重复线被检测两次时其ID应该比较相近,所以设置一个阈值范围,超过这个ID差值范围的线则不会执行合并操作。因为线特征重复一定是后出现的线与前面的线重复,所以只对ID较大的线向前判断,并删除ID较大的线。

为了通过实验验证算法精度的提升,简化了以下模型假设:

1)视觉信息中不存在白墙效应,光流追踪时不会跟丢位姿。

2)IMU的初始化是正常的,且不存在漂移。

3)相机和IMU的外参标定是准确的。

4)相机和IMU的内参数不会随着使用次数的增加出现误差。

本发明公开了一种利用点、线视觉特征实现室内复杂环境下的定位方法,该算法实现如下:

步骤1(100),对视频流中的图像帧进行预处理,对图像进行均衡化处理,平衡亮度信息。

步骤2(101),使用强角点搜索算法,搜索图像帧中150个强角点信息。

步骤3(102),根据分布均匀化处理方法,对部分聚集较近的角点进行剔除。

步骤4(103),根据像素点梯度下降准则,对已经确定使用迭代的方法寻找亚像素角点,并将点特征信息补充到150个。

步骤5(104),使用光流法对特征点进行跟踪,并使用三角法匹配帧间位姿,计算两帧图像之间旋转和平移的转换关系,得到旋转矩阵与平移向量。

步骤6(105),对线特征进行提取,使用LSD线特征提取方法,并对短线特征根据像素聚集点长度,按照60像素点的标准进行剔除。

步骤7(106),对于剔除后的线特征,按照四个象限方向进行线特征补充,根据线段梯度下降方向,确定线段的方向性:

在上式中,g

通过计算灰度值的梯度g

步骤8(107),将线特征投影到2d平面内,并根据距离公式计算L1和L2之间的距离,其中L1和L2是已有线特征容器中任意两条线段,采用遍历的方式进行确定,根据距离判断两条线是否有可能为重复线,如果有可能,则进行下一步操作。

步骤9(108),对L1和L2的长度进行验证,当两者的长度差大于10个像素长度,则认为两者不是重复线。如果不是,继续执行步骤10(109)。

步骤10(109),根据线的方向信息,判断两条线和水平线的夹角,并对夹角进行相减,当角度差在15度以外,则不认为是重复线。如果在15度以内,则满足判定条件,判定这两条线为重复线。

当判断两条线为重复线,则可以执行合并操作。对两条线的合并以及剔除包括以下3个步骤:

步骤11(110):获取两条线的ID,并对ID较大的线执行剔除操作。

步骤12(111):更新线特征容器内的ID,并对新增加的线特征重新判断。

步骤13(112):对后端非线性优化部分,更新残差量和状态量信息,将剔除之后的线特征状态重新加入优化。

综上,使用本发明方法可以不需要事先获取场景的几何参数,可以实时从摄像头获取到视觉特征信息,并进行准确的定位;本发明对复杂环境下出现较多的点和线特征具有准确的检测效果,线特征的加入对于提高系统定位的精度有着重要的作用。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

相关技术
  • 一种室内环境下的动态特征点滤除与重定位方法
  • 一种复杂动态环境孔特征的高精视觉定位方法
技术分类

06120116458481