一种基于多特征视觉里程计和图优化模型的VSLAM方法技术

技术编号:18368003 阅读:95 留言:0更新日期:2018-07-05 10:00
本发明专利技术公开了一种基于多特征视觉里程计和图优化模型的VSLAM方法,属于机器人SLAM领域。该方法首先利用FAST(Features from Accelerated Segment Test)和改进的LSD算法提取彩色图像中的点、线特征,进而使用不同的描述符描述特征,之后进行特征匹配,最后使用改进的NICP(Normal Iterative Closest Point)算法和PnL(Perspective n Line)算法估计机器人初始位姿。对图像提取线特征扩大了算法的应用场景,且得到了较好的机器人初始位姿。随后将多特征视觉里程计表示成贝叶斯网络,在贝叶斯网络基础上得到因子图,并利用最大后验概率估计因子图中机器人的全局位姿,使用高斯‑牛顿法求解最大后验概率得到更新后的位姿图。最后,融合位姿图与相应帧的三维点得到重构的三维地图。

A VSLAM method based on multi feature visual odometer and graph optimization model

The invention discloses a VSLAM method based on multi feature visual odometer and graph optimization model, which belongs to the field of robot SLAM. This method first uses FAST (Features from Accelerated Segment Test) and improved LSD algorithm to extract the point and line features of the color image, then uses different descriptors to describe the features and then performs the feature matching. Finally, the improved NICP (Normal Iterative Closest Point) algorithm and the improved NICP (Normal Iterative) algorithm are used. The algorithm is used to estimate the initial position of the robot. The image extraction line features extend the application scenario of the algorithm and get a better initial pose of the robot. Then the multi feature visual odometer is expressed as Bayesian network, the factor graph is obtained on the basis of Bayesian network, and the global pose of the robot is used in the maximum posterior probability estimation factor graph, and the Gauss's Newton method is used to obtain the updated position and attitude map. Finally, the 3D map is reconstructed by merging the pose map with the 3D point of the corresponding frame.

【技术实现步骤摘要】
一种基于多特征视觉里程计和图优化模型的VSLAM方法
本专利技术属于机器人SLAM(SimultaneousLocalizationandMapping)领域。结合改进的LSD(LineSegmentDetector)算法,完成对采集图像中特征线段的提取,尤其涉及一种基于图优化模型的三维地图创建方法。
技术介绍
近年来,随着计算机视觉设备及方法的飞速发展,基于视觉的同时定位与地图创建(VisualSLAM)方法被广泛应用在机器人人机交互、无人驾驶、无人机、虚拟现实以及增强现实等诸多领域。VSLAM以图像作为环境感知信息源估计摄像机位姿,通过多视图几何理论重构三维地图。视觉里程计(VisualOdometry)算法是一种重要的位姿估计方法,仅依靠视觉信息,通过连续配准前后两帧数据获得机器人(相机)的绝对位姿。目前广泛使用图像点特征来配准前后两帧数据。但是,基于点特征的视觉里程计计算量较大,以三维点云作为环境地图描述,精度不高且存储地图所需空间较大。此外,点特征很容易受到光线变化及阴影等环境因素的影响,基于点特征重构的三维地图也不利于后续的场景理解及人机交互等应用。而在结构化的人造环境中,线段特征非常丰富,与点特征相比,其受环境影响较小。线段特征能够很好地刻画环境结构信息,建立更高层次的环境地图,且同时能有效减少特征数量,降低计算复杂度。针对特征的提取与描述计算耗时等问题,近年来出现了基于直接法的视觉里程计,其利用像素梯度变化得到相机位姿,省去了计算特征和描述子的时间,可在特征缺失的场合下使用。但是,当机器人运动较大时,依靠基于梯度搜索的直接法计算获取的机器人位姿可靠性较低,所以直接法只适用于机器人运动较小的场合。此外,基于视觉里程计的VSLAM算法经过长时间帧与帧的配准,得到的机器人位姿会有累积误差。传统消除累积误差的方法通常基于概率框架(如卡尔曼滤波),但其计算量较大且主要应用于中小场景中。本专利技术在GTSAM(GeorgiaTechSmoothingandMapping)图优化模型下,首先利用点、线特征估计机器人位姿,然后构建基于点、线特征的观测模型,最后建立用特征描述约束的点、线段特征数据关联方法及系统状态更新模型。最终,融合位姿图与相应帧的三维点完成机器人的自主定位与高精度建图。
技术实现思路
本专利技术的目的是提供一种准确且高效的图像集三维地图创建方法。本专利技术采用如下的技术方案:为了充分利用人造环境的结构信息和提高机器人在环境纹理特征少或图像模糊等情况下的定位精度,提出了基于多特征的视觉里程计方法。该方法首先利用FAST(FeaturesfromAcceleratedSegmentTest)和改进的LSD算法提取彩色图像中的点、线特征,进而使用不同的描述符描述特征,之后进行特征匹配,最后使用改进的NICP(NormalIterativeClosestPoint)算法和PnL(PerspectivenLine)算法估计机器人初始位姿。对图像提取线特征扩大了算法的应用场景,且得到了较好的机器人初始位姿。随后将多特征视觉里程计表示成贝叶斯网络,在贝叶斯网络基础上得到因子图,并利用最大后验概率估计因子图中机器人的全局位姿,使用高斯-牛顿法求解最大后验概率得到更新后的位姿图。最后,融合位姿图与相应帧的三维点得到重构的三维地图。本专利技术的技术特征如下:(1)基于多特征的视觉里程计在环境纹理特征少或图像模糊情况下,提取图像特征点不足以得到机器人的位姿,为此,同时提取人造环境中丰富的线段信息以得到较好的机器人位姿。在提取特征时,首先,建立原始图像的5层高斯金字塔,并在其中选取区域极值点或区域内方向一致的线作为所提特征。然后,利用区域极值点或线邻域内像素构成特征的描述子。其次,根据特征的描述子相似性得到匹配的特征。最后,依据多视图几何理论得出匹配特征的旋转平移矩阵,即机器人位姿。基于多特征的视觉里程计具体包括以下四个步骤:步骤一,提取图像的点、线特征。采用FAST算法提取特征点。而采用改进的LSD算法检测图像线特征,其算法步骤为:1)对原始图像进行高斯降采样,长宽缩放为原来的0.8倍;2)计算每个像素点的梯度值及梯度方向;3)根据梯度值的大小对所有像素点排序,建立状态列表,所有像素点的状态均设为0即未使用;4)将状态列表中梯度值小于2的像素点的状态设置为1即被使用;5)取出状态列表中梯度最大的像素点作为种子点,并设置其状态为1即被使用,并做以下计算:a)以种子点为起点,搜索周围状态为0且梯度方向为正负22.5度内的点,更改状态为1;b)生成包含所有满足点的矩形;c)判断矩形内的点密度是否大于阈值0.7,若不满足则分割原矩形为多个小矩形框,直至满足该条件;d)计算NFA(NumberofFalseAlarms):NFA(r)=(NM)5/2γB(n(r),k,g)(1)其中,r代表计算NFA值的矩形框,N和M是采样后图像的行和列,γ为改变概率阈值的次数,B(n,k,g)符合二项分布,n(r)为矩形框内像素个数,k为满足矩形主方向阈值内的像素个数,g为概率阈值。e)改变矩形框使NFA的值更小直至小于阈值1,将矩形框加入输出列表。步骤二,分别使用BRIEF(BinaryRobustIndependentElementaryFeatures)算法、LBD(LineBandDescriptor)算法描述步骤一所提取的点与线特征。步骤三,计算两帧特征描述符的汉明距离,使用BF(BruteForce)和KNN(KNearestNeighbors)算法获得匹配的特征。根据帧间特征的汉明距离,先利用BF算法进行特征粗匹配,之后使用KNN算法获得特征最终匹配结果。步骤四,计算帧间位姿。根据匹配的特征集合求出3×3的旋转矩阵R和3×1的位移矢量t,使得对于任意的t存在如式(2)的关系。pi=Rqi+t(2)其中,pi,qi代表第i组匹配的三维空间特征。然而,在实际中由于误差的存在,需要通过最小化误差来求解R,t。其中,N为特征最大匹配数量。最终,位姿表示为4×4的矩阵T。对于匹配的点特征集合,使用改进的NICP算法求解位姿矩阵T,该算法为每个三维空间特征点增添一个用Lab颜色空间表示的向量,即特征点表示为P=(cefαLαaαb)T,其中,c,e,f分别为特征点的x,y,z轴坐标值,L表示特征点的亮度,a表示特征点从洋红色至绿色变化的颜色值,b表示特征点从黄色至蓝色变化的颜色值。,α为颜色权重,α的取值范围为0.006≤α≤0.03。第k次迭代后的最佳位姿满足以下关系:其中,Pm和Qn为第m与n个匹配后用Lab颜色空间约束的三维空间特征点,Ωmn为Pm与Qn之间的6×6信息矩阵,是将Qn进行位姿矩阵T变换的运算符号。对于匹配的线特征,使用PnL算法,即通过优化直线投影误差来获得机器人位姿。(2)基于GTSAM模型优化位姿图及创建三维地图SLAM的本质是根据观测数据,计算机器人的运动轨迹与地图。然而,在现实中,误差影响了机器人的自定位与建图精度。为了消除误差的影响,本方法将VSLAM表示为GTSAM模型下的图优化问题。首先,假设机器人的运动与测量模型服从高斯概率分布,之后将机器人运动与测量过程表示成贝叶斯网络。其次,用因子图表示贝叶斯网本文档来自技高网
...
一种基于多特征视觉里程计和图优化模型的VSLAM方法

【技术保护点】
1.一种基于多特征视觉里程计和图优化模型的VSLAM方法,其特征在于:为了充分利用人造环境的结构信息和提高机器人在环境纹理特征少或图像模糊等情况下的定位精度,提出了基于多特征的视觉里程计方法。该方法首先利用FAST(Features fromAccelerated Segment Test)和改进的LSD算法提取彩色图像中的点、线特征,进而使用不同的描述符描述特征,之后进行特征匹配,最后使用改进的NICP(Normal Iterative Closest Point)算法和PnL(Perspective n Line)算法估计机器人初始位姿。对图像提取线特征扩大了算法的应用场景,且得到了较好的机器人初始位姿。随后将多特征视觉里程计表示成贝叶斯网络,在贝叶斯网络基础上得到因子图,并利用最大后验概率估计因子图中机器人的全局位姿,使用高斯‑牛顿法求解最大后验概率得到更新后的位姿图。最后,融合位姿图与相应帧的三维点得到重构的三维地图。本方法的实现过程如下:(1)基于多特征的视觉里程计在环境纹理特征少或图像模糊情况下,提取图像特征点不足以得到机器人的位姿,为此,同时提取人造环境中丰富的线段信息以得到较好的机器人位姿。在提取特征时,首先,建立原始图像的5层高斯金字塔,并在其中选取区域极值点或区域内方向一致的线作为所提特征。然后,利用区域极值点或线邻域内像素构成特征的描述子。其次,根据特征的描述子相似性得到匹配的特征。最后,依据多视图几何理论得出匹配特征的旋转平移矩阵,即机器人位姿。基于多特征的视觉里程计具体包括以下四个步骤:步骤一,提取图像的点、线特征。采用FAST算法提取特征点。而采用改进的LSD算法检测图像线特征,其算法步骤为:1)对原始图像进行高斯降采样,长宽缩放为原来的0.8倍;2)计算每个像素点的梯度值及梯度方向;3)根据梯度值的大小对所有像素点排序,建立状态列表,所有像素点的状态均设为0即未使用;4)将状态列表中梯度值小于2的像素点的状态设置为1即被使用;5)取出状态列表中梯度最大的像素点作为种子点,并设置其状态为1即被使用,并做以下计算:a)以种子点为起点,搜索周围状态为0且梯度方向为正负22.5度内的点,更改状态为1;b)生成包含所有满足点的矩形;c)判断矩形内的点密度是否大于阈值0.7,若不满足则分割原矩形为多个小矩形框,直至满足该条件;d)计算NFA(Number of False Alarms):NFA(r)=(NM)5/2γB(n(r),k,g)  (1)其中,r代表计算NFA值的矩形框,N和M是采样后图像的行和列,γ为改变概率阈值的次数,B(n,k,g)符合二项分布,n(r)为矩形框内像素个数,k为满足矩形主方向阈值内的像素个数,g为概率阈值。e)改变矩形框使NFA的值更小直至小于阈值1,将矩形框加入输出列表。步骤二,分别使用BRIEF(Binary Robust Independent Elementary Features)算法、LBD(Line Band Descriptor)算法描述步骤一所提取的点与线特征。步骤三,计算两帧特征描述符的汉明距离,使用BF(Brute Force)和KNN(K Nearest Neighbors)算法获得匹配的特征。根据帧间特征的汉明距离,先利用BF算法进行特征粗匹配,之后使用KNN算法获得特征最终匹配结果。步骤四,计算帧间位姿。根据匹配的特征集合求出3×3的旋转矩阵R和3×1的位移矢量t,使得对于任意的t存在如式(2)的关系。pi=Rqi+t  (2)其中,pi,qi代表第i组匹配的三维空间特征。然而,在实际中由于误差的存在,需要通过最小化误差来求解R,t。...

【技术特征摘要】
1.一种基于多特征视觉里程计和图优化模型的VSLAM方法,其特征在于:为了充分利用人造环境的结构信息和提高机器人在环境纹理特征少或图像模糊等情况下的定位精度,提出了基于多特征的视觉里程计方法。该方法首先利用FAST(FeaturesfromAcceleratedSegmentTest)和改进的LSD算法提取彩色图像中的点、线特征,进而使用不同的描述符描述特征,之后进行特征匹配,最后使用改进的NICP(NormalIterativeClosestPoint)算法和PnL(PerspectivenLine)算法估计机器人初始位姿。对图像提取线特征扩大了算法的应用场景,且得到了较好的机器人初始位姿。随后将多特征视觉里程计表示成贝叶斯网络,在贝叶斯网络基础上得到因子图,并利用最大后验概率估计因子图中机器人的全局位姿,使用高斯-牛顿法求解最大后验概率得到更新后的位姿图。最后,融合位姿图与相应帧的三维点得到重构的三维地图。本方法的实现过程如下:(1)基于多特征的视觉里程计在环境纹理特征少或图像模糊情况下,提取图像特征点不足以得到机器人的位姿,为此,同时提取人造环境中丰富的线段信息以得到较好的机器人位姿。在提取特征时,首先,建立原始图像的5层高斯金字塔,并在其中选取区域极值点或区域内方向一致的线作为所提特征。然后,利用区域极值点或线邻域内像素构成特征的描述子。其次,根据特征的描述子相似性得到匹配的特征。最后,依据多视图几何理论得出匹配特征的旋转平移矩阵,即机器人位姿。基于多特征的视觉里程计具体包括以下四个步骤:步骤一,提取图像的点、线特征。采用FAST算法提取特征点。而采用改进的LSD算法检测图像线特征,其算法步骤为:1)对原始图像进行高斯降采样,长宽缩放为原来的0.8倍;2)计算每个像素点的梯度值及梯度方向;3)根据梯度值的大小对所有像素点排序,建立状态列表,所有像素点的状态均设为0即未使用;4)将状态列表中梯度值小于2的像素点的状态设置为1即被使用;5)取出状态列表中梯度最大的像素点作为种子点,并设置其状态为1即被使用,并做以下计算:a)以种子点为起点,搜索周围状态为0且梯度方向为正负22.5度内的点,更改状态为1;b)生成包含所有满足点的矩形;c)判断矩形内的点密度是否大于阈值0.7,若不满足则分割原矩形为多个小矩形框,直至满足该条件;d)计算NFA(NumberofFalseAlarms):NFA(r)=(NM)5/2γB(n(r),k,g)(1)其中,r代表计算NFA值的矩形框,N和M是采样后图像的行和列,γ为改变概率阈值的次数,B(n,k,g)符合二项分布,n(r)为矩形框内像素个数,k为满足矩形主方向阈值内的像素个数,g为概率阈值。e)改变矩形框使NFA的值更小直至小于阈值1,将矩形框加入输出列表。步骤二,分别使用BRIEF(BinaryRobustIndependentElementaryFeatures)算法、LBD(LineBandDescriptor)算法描述步骤一所提取的点与线特征。步骤三,计算两帧特征描述符的汉明距离,使用BF(BruteForce)和KNN(KNearestNeighbors)算法获得匹配的特征。根据帧间特征的汉明距离,先利用BF算法进行特征粗匹配,之后使用KNN算法获得特征最终匹配结果。步骤四,计...

【专利技术属性】
技术研发人员:贾松敏丁明超张国梁李秀智张祥银
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1