首页 / 专利库 / 人工智能 / 定位 / 同步定位与地图构建 / 一种基于改进点线特征的结构化场景视觉SLAM方法

一种基于改进点线特征的结构化场景视觉SLAM方法

阅读:597发布:2020-05-16

专利汇可以提供一种基于改进点线特征的结构化场景视觉SLAM方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于改进点线特征的结构化场景视觉SLAM方法,首先对RGB-D相机进行 基础 标定,获得内参信息,之后通过该 深度相机 对结构化场景进行SLAM初始化;提取结构化场景中的ORB点特征与LSD线特征,根据点线特征对应的空间点与空间直线,建立误差模型,通过最小化该模型,对相机 位姿 进行估计并生成结构化场景的三维地图点;在 视频 帧 中决策生成关键帧,使用关键帧集合,建立词袋模型,对三维地图点进行闭环检测;检测到闭环条件后,通过误差模型,对相机位姿与结构化场景三维地图点进行优化,改进SLAM效果。本发明解决了结构化场景中视觉SLAM对于闭环检测 精度 与效率不高的问题,并为视觉SLAM工作提供了较大的便利。,下面是一种基于改进点线特征的结构化场景视觉SLAM方法专利的具体信息内容。

1.一种基于改进点线特征的结构化场景视觉SLAM方法,其特征在于:该方法包括如下步骤:
S1、对RGB-D深度相机进行基础标定,获得内参信息;通过该相机对结构化场景进行视觉SLAM的初始化;
S2、通过相机得到的视频,提取结构化场景中的ORB点特征与LSD线特征,并分别与结构化场景中的空间点、空间直线相对应;
S3、根据ORB点特征与LSD线特征对应的空间点与空间直线,建立基于结构化场景的改进点特征与线特征的误差模型;
S4、通过最小化误差模型,对相机位姿进行估计并生成结构化场景的三维地图点;
S5、根据得到的相机位姿与结构化场景的三维地图点,在视频帧中,通过结构化场景的点、线特征的跟踪情况以及相机定位、建图的状态,决策生成关键帧集合;
S6、使用关键帧集合,建立基于改进点线特征的词袋模型,对三维地图点进行闭环检测;
S7、根据步骤S6得到的闭环检测结果,在检测到闭环条件后,通过点线特征误差模型,对相机位姿与结构化场景三维地图点进行优化,改进同时定位与建图的效果。
2.根据权利要求1所述的一种基于改进点线特征的结构化场景视觉SLAM方法,其特征在于:所述步骤S1中,对RGB-D深度相机进行基础标定,获得内参信息;通过该相机对结构化场景进行视觉SLAM的初始化;具体如下:
S1.1、以结构化场景中的一张黑白棋盘格作为标定物,通过调整标定物与相机的方向,为标定物拍摄不同方向的照片,并从照片中提取棋盘格点;
S1.2、设现实环境中某空间点P的相机坐标为[X,Y,Z]T,X,Y,Z分别为相机在三维空间立体坐标系中的坐标;
在针孔相机模型中根据三角形相似关系得到成像平面内对应成像点P′坐标f为相机焦距;将该点P′转换到像素坐标[U,V],有
其中K为相机内参矩阵;
S1.3、选择校正参数k1,k2,l1,l2,l3,对相机基础标定计算中的径向畸变与切向畸变进行纠正;其中k1,k2为径向畸变校正系数,l1,l2,l3为切向畸变校正系数;
S1.4、提取前fr帧图像的ORB点特征,并选取ORB点特征数NORB超过一定值的视频帧作为初始帧,以选取的初始帧为基准,通过深度相机在结构化场景进行同步定位与建图的初始化。
3.根据权利要求1所述的一种基于改进点线特征的结构化场景视觉SLAM方法,其特征在于:所述步骤S2中,通过相机得到的视频帧,提取结构化场景中的ORB点特征,并与结构化场景中的空间点相对应;具体如下:
S2.1.1、对图像中的像素点提取得到ORB特征点,通过灰度质心法来表达ORB特征点的方向,特征点方向为该点相邻a×a图像几何中心与灰度质心连线的方向;
S2.1.2、在ORB特征点相邻b×b图像块中采用贪婪搜索选取q个像素对(j,k),像素对的灰度值分别为Ij,Ik,比较像素对中两个像素的亮度关系,得到q维由1和0组成的向量描述子来描述特征点与图像的关系,如果Ij>Ik,则描述子的相应位取1,反之则取0,该描述子即为结构化场景中的ORB特征描述子;通过对视频帧图像构建ORB特征描述子,实现ORB点特征的提取;
S2.1.3、将视频帧图像中的每个ORB特征描述子,与其在结构化场景中的三维空间点Pw相对应。
4.根据权利要求3所述的一种基于改进点线特征的结构化场景视觉SLAM方法,其特征在于:所述步骤S2中,通过相机得到的视频帧,提取结构化场景中的LSD线特征,并与结构化场景中的空间直线相对应;具体如下:
S2.2.1、在图像中提取LSD线特征,设LSD线特征的线段支持域为θl,对线段支持域在阈值θll′内的线段l、l′的端点进行合并,合并端点处坐标取线段l、l′端点坐标的均值;
S2.2.2、使用Pliicker坐标表示与LSD线特征对应的结构化场景中的空间直线;
设步骤S2.2.1得到的LSD线特征对应的空间直线的两个端点的齐次坐标为:
P1(x1,y1,z1,1),P2(x2,y2,z2,1)
Pliicker矩阵T表示如下:
则与LSD线特征对应的结构化场景中的空间直线Lw,使用Pliicker坐标表示为:
其中,n、v为空间直线Lw在Pliicker坐标中两个端点坐标向量,其值由Pliicker矩阵T计算得到。
5.根据权利要求4所述的一种基于改进点线特征的结构化场景视觉SLAM方法,其特征在于:所述步骤S3中,根据ORB点特征与LSD线特征对应的空间点与空间直线,建立基于结构化场景的改进点特征与线特征的误差模型;具体如下:
S3.1、建立ORB点特征对应的空间点Pw的误差模型;
根据相机运动方程将结构化场景下的空间点Pw转换到相机坐标下的空间点Pc;
根据小孔成像模型得到像素坐标系投影点P′uv,计算实际坐标Puv与P′uv的误差;
则ORB点特征对应的空间点Pw的误差模型表示为:
其中, 表示第i个空间点Pw,i在像素坐标的投影与其在像素平面的实际坐标Puv,k,i之间的误差;k表示结构化场景下的第k帧图像帧,K为相机内参,Tcw,k为相机坐标系相对于结构化场景坐标系的位姿转换矩阵;
S3.2、建立LSD线特征对应的空间直线Lw的误差模型;
使用LSD线特征对应的空间直线在像素平面的投影L′uv与空间直线在像素平面的实际坐标Luv之间的误差,构建误差模型:
其中,ps,pe为空间线Lw的两个端点,n、v为空间直线Lw在Pliicker坐标中两个端点坐标向量;
则LSD线特征对应的空间直线Lw的误差模型表示为:
其中, 表示第j个空间直线Lw,j在像素坐标的投影与其在像素平面的实际坐标Luv,k,j之间的误差;k表示结构化场景下的第k帧图像帧,K为相机内参,Tcw,k为相机坐标系相对于结构化场景坐标系的位姿转换矩阵;
S3.3、建立整体改进点线特征的二范数误差模型,在整体的误差模型中提高线特征误差模型所占权重,表示如下:
l p l
其中,E为二范数误差,设δ=2δ,δ∈(0.2~1)。
6.根据权利要求1所述的一种基于改进点线特征的结构化场景视觉SLAM方法,其特征在于:所述步骤S4中,通过最小化误差模型,对相机位姿进行估计并生成结构化场景的三维地图点;具体如下:
最小化点线特征误差模型的过程,即对误差模型中的目标函数求最优解的过程;
点线特征误差模型的目标函数,表示如下:
(JTJ+λI)Δx=-JTE
其中,J为目标函数关于变量的雅可比矩阵,所述变量包括:相机位姿Tcw,k以及结构化场景的三维地图点Pw,i,Δx为Tcw,k、Pw,i的极小量的简写,λ为动态调整参数;
采用列文伯格-尔夸特法对目标函数进行近似增量式线性求解,得到相机位姿与结构化场景的三维地图点。
7.根据权利要求1所述的一种基于改进点线特征的结构化场景视觉SLAM方法,其特征在于:所述步骤S5中,在视频帧中,通过结构化场景的点、线特征的跟踪情况以及相机定位、建图的状态,决策生成关键帧集合;具体如下:
S5.1、根据关键帧的选取和判断条件,判断当前帧是否为关键帧;所述条件包括:
(1)当前帧与上一次选取的关键帧间隔超过N1帧;
(2)生成深度相机定位与建图的工作状态稳定,或已有N2帧的图像帧被丢弃;
(3)当前相机得到的图像帧中构建得到大于Ml条空间直线;所述空间直线为基于结构化场景改进点线特征误差模型优化得到的LSD线特征对应的空间直线;
(4)当前相机得到的图像帧中的ORB点特征与前一关键帧的相似度不超过S;所述相似度是指当前帧图像中基于改进点线特征误差模型优化得到的ORB点特征对应的空间点与上一关键帧中空间点相同的数量占全部空间点的比例;
S5.2、将同时满足步骤S5.1所述四个条件的图像帧选取为关键帧;
S5.3、遍历所有视频帧,根据S5.1-S5.2选取全部的关键帧,获得关键帧集合。
8.根据权利要求1所述的一种基于改进点线特征的结构化场景视觉SLAM方法,其特征在于:所述步骤S6中,使用关键帧集合,建立基于改进点线特征的词袋模型,对三维地图点进行闭环检测;具体如下:
S6.1、基于k-means算法生成关键帧集合的单词;
S6.2、判断关键帧集合的单词所对应的点特征是否属于关键帧图像的线特征,并根据单词是否属于线特征,对该单词赋予权重;
S6.3、通过构建点特征单词与它们的权重,建立基于改进点线特征的词袋模型,将该词袋模型应用于结构化场景的视觉SLAM闭环检测;
S6.4、当检测到当前帧图像中的点特征与基于关键帧集合的词袋模型中点特征单词相同数量超过阈值时,即认为检测到闭环。
9.根据权利要求8所述的一种基于改进点线特征的结构化场景视觉SLAM方法,其特征在于:所述步骤S6.1基于k-means算法生成关键帧集合的单词;方法如下:
以关键帧图像中的随机的ORB点特征作为初始聚类中心,确定nword个初始聚类中心,0<nword<nMAX,nMAX为聚类中心数量上限;
在确定第i+1个聚类中心时,与当前第i个聚类中心间隔越远的点,被确定为第i+1个聚类中心的几率越高;
对关键帧中的ORB点特征分别计算其与各个聚类中心的明式距离;
选取距离最近的聚类中心作为该点特征的聚类中心,将该点特征使用八叉树数据结构与其对应的聚类中心连接;最后得到的所有聚类中心即为关键帧集合的单词;
所述步骤S6.2中,判断关键帧集合的单词是否属于关键帧图像的线特征,并根据单词是否属于线特征,对该单词赋予权重;具体如下:
η=ω·TFi×IDFi
其中,η表示描述点线特征的词袋模型,ω表示点线特征的权重,IDFi表示单词Wword中ORB特征数量featurei相对于线特征中所有单词ORB特征数量feature的比值;TFi表示该单词Wword在任意一视频帧中呈现的频率,feature′表示该视频帧图像中出现单词的总个数,featurei′为单词Wword在该视频帧图像中呈现的次数;
若单词属于关键帧图像的线特征,权重ω为1;
若单词不属于关键帧图像的线特征,权重ω为0.1。
10.根据权利要求1-9任一所述的一种基于改进点线特征的结构化场景视觉SLAM方法,其特征在于:所述步骤S7中,在检测到闭环条件后,通过点线特征误差模型,对相机位姿与结构化场景三维地图点进行优化,改进同时定位与建图的效果;具体如下:
S7.1、检测到闭环后,将当前帧的点线特征集合{pref,lref}与闭环检测得到的相似度最高的关键帧的点线特征集合{pkey,lkey}相对应,分别匹配对应的ORB点特征与LSD线特征;其中,pref为当前帧的点特征,lref为当前帧的线特征,pkey为关键帧的点特征,lkey为关键帧的线特征;
S7.2、遍历当前帧与关键帧的集合K{∑(p,l)},融合所有的匹配ORB点特征与LSD线特征,通过代价函数进行最小化重投影误差,优化相机位姿与所有结构化场景三维地图点,改进同时定位与建图的效果;
所述代价函数的表达式如下:
其中,i表示第i个匹配的ORB点特征,j表示第j个匹配的LSD线特征,N,M分别表示匹配的ORB点特征、LSD线特征数量;Eref,Ekey分别为当前视频帧和关键帧的改进点线特征的二范数误差模型。

说明书全文

一种基于改进点线特征的结构化场景视觉SLAM方法

技术领域

[0001] 本发明属于机器视觉技术领域,尤其涉及一种基于改进点线特征的结构化场景视觉SLAM方法。

背景技术

[0002] 随着互联网经济的快速发展,物流、快递与机械加工生产等行业发展迅猛。由于工作量较大、工作任务单一且工作准确度要求较高,因此往往会选择工业机器人完成特定工作。在机器人的图像测量过程以及机器视觉领域,对于结构化场景中的定位与建图需求日益增多。
[0003] 与此同时,基于视觉同步定位与建图(视觉SLAM)的机器视觉技术日益完善,无论处理速度还是定位、建图的精度相较于传统方式都有了长足的进步。但是目前,仍没有一套完整的针对快递分拣、无人物流运输等室内结构化场景的视觉SLAM技术。这也导致了在此类场景中机器人同时定位与建图效率低并且易受环境因素影响而精度不高的问题。因此对于在保证机器人定位与建图工作的速度的同时,提高结构化场景下定位与建图精度的需求就日益凸显。

发明内容

[0004] 发明目的:为了解决机器人同时定位与建图效率低并且易受环境因素影响而精度不高的问题,本发明提供了一种基于改进点线特征的结构化场景视觉SLAM方法,为一些类别环境下的同时定位与建图提供了极大的便利。
[0005] 技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于改进点线特征的结构化场景视觉SLAM方法,包括如下步骤:
[0006] S1、对RGB-D深度相机进行基础标定,获得内参信息;通过该深度相机对结构化场景进行视觉同步定位与建图(视觉SLAM)的初始化;
[0007] S2、通过相机得到的视频,提取结构化场景中的ORB点特征与LSD线特征,并分别与结构化场景中的空间点、空间直线相对应;
[0008] S3、根据ORB点特征与LSD线特征对应的空间点与空间直线,建立基于结构化场景的改进点特征与线特征的误差模型;
[0009] S4、通过最小化误差模型,对相机位姿进行估计并生成结构化场景的三维地图点;
[0010] S5、根据得到的相机位姿与结构化场景的三维地图点,在视频帧中,通过结构化场景的点、线特征的跟踪情况以及相机定位、建图的状态,决策生成关键帧集合;
[0011] S6、使用关键帧集合,建立基于改进点线特征的词袋模型,对三维地图点进行闭环检测;
[0012] S7、根据步骤S6得到的闭环检测结果,在检测到闭环条件后,通过点线特征误差模型,对相机位姿与结构化场景三维地图点进行优化,改进同时定位与建图的效果。
[0013] 进一步,所述步骤S1中,对RGB-D深度相机进行基础标定,获得内参信息;通过该深度相机对结构化场景进行视觉SLAM的初始化;具体如下:
[0014] S1.1、以结构化场景中的一张黑白棋盘格作为标定物,通过调整标定物与相机的方向,为标定物拍摄不同方向的照片,并从照片中提取棋盘格点;
[0015] S1.2、设现实环境中某空间点P的相机坐标为[X,Y,Z]T,X,Y,Z分别为相机在三维空间立体坐标系中的坐标;
[0016] 在针孔相机模型中根据三角形相似关系得到成像平面内对应成像点P′坐标f为相机焦距;将该点P′转换到像素坐标[U,V],有
[0017]
[0018] 其中K为相机内参矩阵;
[0019] S1.3、根据实际情况合理选择校正参数k1,k2,l1,l2,l3,对相机基础标定计算中的径向畸变与切向畸变进行纠正;其中k1,k2为径向畸变校正系数,l1,l2,l3为切向畸变校正系数;
[0020] S1.4、提取前fr帧图像的ORB点特征,并选取ORB点特征数NORB超过一定值的视频帧作为初始帧;一般在前20帧图像内选取,NORB≥50;以选取的初始帧为基准,通过深度相机在结构化场景进行同步定位与建图的初始化。
[0021] 进一步,所述步骤S2中,通过相机得到的视频帧,提取结构化场景中的ORB点特征,并与结构化场景中的空间点相对应;具体如下:
[0022] S2.1.1、对图像中的像素点提取得到ORB特征点,通过灰度质心法来表达ORB特征点的方向,特征点方向为该点相邻a×a图像几何中心与灰度质心连线的方向;
[0023] S2.1.2、在ORB特征点相邻b×b图像块中采用贪婪搜索选取q个像素对(j,k),像素对的灰度值分别为Ij,Ik,比较像素对中两个像素的亮度关系,得到q维由1和0组成的向量描述子来描述特征点与图像的关系,如果Ij>Ik,则描述子的相应位取1,反之则取0,该描述子即为结构化场景中的ORB特征描述子;通过对视频帧图像构建ORB特征描述子,实现ORB点特征的提取;
[0024] S2.1.3、将视频帧图像中的每个ORB特征描述子,与其在结构化场景中的三维空间点Pw相对应。
[0025] 进一步,所述步骤S2中,通过相机得到的视频帧,提取结构化场景中的LSD线特征,并与结构化场景中的空间直线相对应;具体如下:
[0026] 通过提取视频帧图像的LSD线特征,实现结构化场景中的空间直线表示方法;
[0027] S2.2.1、在图像中提取LSD线特征,设LSD线特征的线段支持域为θl,由于在结构化场景中线条规律且密集,因此对线段支持域在阈值θll′内的线段l、l′的端点进行合并,合并端点处坐标取线段l、l′端点坐标的均值;
[0028] S2.2.2、使用Pliicker坐标表示与LSD线特征对应的结构化场景中的空间直线;
[0029] 设步骤S2.2.1得到的LSD线特征对应的空间直线的两个端点的齐次坐标为:
[0030] P1(x1,y1,z1,1),P2(x2,y2,z2,1)
[0031] Pliicker矩阵T表示如下:
[0032]
[0033] 则与LSD线特征对应的结构化场景中的空间直线Lw,使用Pliicker坐标表示为:
[0034]
[0035] 其中,n、v为空间直线Lw在Pliicker坐标中两个端点坐标向量,其值由Pliicker矩阵T计算得到。
[0036] 进一步,所述步骤S3中,根据ORB点特征与LSD线特征对应的空间点与空间直线,建立基于结构化场景的改进点特征与线特征的误差模型;具体如下:
[0037] S3.1、建立ORB点特征对应的空间点Pw的误差模型;
[0038] 根据相机运动方程将结构化场景下的空间点Pw转换到相机坐标下的空间点Pc;
[0039] 根据小孔成像模型得到像素坐标系投影点P′uv,计算实际坐标Puv与P′uv的误差;
[0040] 则ORB点特征对应的空间点Pw的误差模型表示为:
[0041]
[0042] 其中, 表示第i个空间点Pw,i在像素坐标的投影与其在像素平面的实际坐标Puv,k,i之间的误差;k表示结构化场景下的第k帧图像帧,K为相机内参,Tcw,k为相机坐标系相对于结构化场景坐标系的位姿转换矩阵;
[0043] S3.2、建立LSD线特征对应的空间直线Lw的误差模型;
[0044] 使用LSD线特征对应的空间直线在像素平面的投影L′uv与空间直线在像素平面的实际坐标Luv之间的误差,构建误差模型:
[0045]
[0046] 其中,ps,pe为空间线Lw的两个端点,n、v为空间直线Lw在Pliicker坐标中两个端点坐标向量;
[0047] 则LSD线特征对应的空间直线Lw的误差模型表示为:
[0048]
[0049] 其中, 表示第j个空间直线Lw,j在像素坐标的投影与其在像素平面的实际坐标Luv,k,j之间的误差;k表示结构化场景下的第k帧图像帧,K为相机内参,Tcw,k为相机坐标系相对于结构化场景坐标系的位姿转换矩阵;
[0050] S3.3、由于在结构化场景中,线特征相对于点特征更为明显,同时对于闭环检测更为重要,因此,建立整体改进点线特征的二范数误差模型,在整体的误差模型中提高线特征误差模型所占权重,表示如下:
[0051]
[0052] 其中,E为二范数误差,设δl=2δp,δl∈(0.2~1)。
[0053] 进一步,所述步骤S4中,通过最小化误差模型,对相机位姿进行估计并生成结构化场景的三维地图点;具体如下:
[0054] 最小化点线特征误差模型的过程,即对误差模型中的目标函数求最优解的过程;
[0055] 点线特征误差模型的目标函数,表示如下:
[0056] (JTJ+λI)Δx=-JTE
[0057]
[0058] 其中,J为目标函数关于变量的雅可比矩阵,所述变量包括:相机位姿Tcw,k以及结构化场景的三维地图点Pw,i,Δx为Tcw,k、Pw,i的极小量的简写,λ为动态调整参数,为了使目标函数能够求得最优解,λ一般取0.5;
[0059] 采用列文伯格-尔夸特法对目标函数进行近似增量式线性求解,得到相机位姿与结构化场景的三维地图点。
[0060] 进一步,所述步骤S5中,在视频帧中,通过结构化场景的点、线特征的跟踪情况以及相机定位、建图的状态,决策生成关键帧集合;具体如下:
[0061] 在RGB-D深度相机的同步定位与建图(SLAM)过程中,进行闭环检测的前提条件是需要在视频帧中选取数量适中、质量满足预期的关键帧作为闭环检测的参照;
[0062] S5.1、根据关键帧的选取和判断条件,判断当前帧是否为关键帧;所述条件包括:
[0063] (1)当前帧与上一次选取的关键帧间隔超过N1帧;
[0064] (2)生成深度相机定位与建图的工作状态稳定,或已有N2帧的图像帧被丢弃;
[0065] (3)当前相机得到的图像帧中构建得到大于Ml条空间直线;所述空间直线为基于结构化场景改进点线特征误差模型优化得到的LSD线特征对应的空间直线;
[0066] (4)当前相机得到的图像帧中的ORB点特征与前一关键帧的相似度不超过S;所述相似度是指当前帧图像中基于改进点线特征误差模型优化得到的ORB点特征对应的空间点与上一关键帧中空间点相同的数量占全部空间点的比例;
[0067] S5.2、将同时满足步骤S5.1所述四个条件的图像帧选取为关键帧;
[0068] S5.3、遍历所有视频帧,根据S5.1-S5.2选取全部的关键帧,获得关键帧集合。
[0069] 进一步,N1,N2,Ml,S取值可根据实际情况调整;基于经验的取值为:N1=20,N2=20,Ml=50,S=90%。
[0070] 进一步,所述步骤S6中,使用关键帧集合,建立基于改进点线特征的词袋模型,对三维地图点进行闭环检测;具体如下:
[0071] S6.1、基于k-means算法生成关键帧集合的单词;
[0072] S6.2、在结构化场景的闭环检测中,线特征相较于点特征更具有区分度,因此使用关键帧集合的单词,建立基于改进点线特征的词袋模型时,将提高线特征的权重;
[0073] 判断关键帧集合的单词所对应的点特征是否属于关键帧图像的线特征,并根据单词是否属于线特征,对该单词赋予权重;
[0074] S6.3、通过构建点特征单词与它们的权重,建立基于改进点线特征的词袋模型,将该词袋模型应用于结构化场景的视觉SLAM闭环检测;
[0075] S6.4、当检测到当前帧图像中的点特征与基于关键帧集合的词袋模型中点特征单词相同数量超过阈值时,即认为检测到闭环。
[0076] 进一步,所述步骤S6.1基于k-means算法生成关键帧集合的单词;方法如下:
[0077] 以关键帧图像中的随机的ORB点特征作为初始聚类中心,确定nword个初始聚类中心,0<nword<nMAX,nMAX为聚类中心数量上限,通常取100;
[0078] 在确定第i+1个聚类中心时,与当前第i个聚类中心间隔越远的点,被确定为第i+1个聚类中心的几率越高;
[0079] 对关键帧中的ORB点特征分别计算其与各个聚类中心的明式距离;
[0080] 选取距离最近的聚类中心作为该点特征的聚类中心,将该点特征使用八叉树数据结构与其对应的聚类中心连接;最后得到的所有聚类中心即为关键帧集合的单词;
[0081] 进一步,所述步骤S6.2中,判断关键帧集合的单词是否属于关键帧图像的线特征,并根据单词是否属于线特征,对该单词赋予权重;具体如下:
[0082] η=ω·TFi×IDFi
[0083]
[0084]
[0085] 其中,η表示描述点线特征的词袋模型,ω表示点线特征的权重,IDFi表示单词Wword中ORB特征数量featurei相对于线特征中所有单词ORB特征数量feature的比值;TFi表示该单词Wword在任意一视频帧中呈现的频率,feature′表示该视频帧图像中出现单词的总个数,featurei′为单词Wword在该视频帧图像中呈现的次数;
[0086] 若单词在图像中的坐标位于图像中任意线特征坐标内,单词属于关键帧图像的线特征,权重ω为1;
[0087] 若单词在图像中的坐标位于图像中任意线特征坐标外,单词不属于关键帧图像的线特征,权重ω为0.1。
[0088] 进一步,所述步骤S7中,在检测到闭环条件后,通过点线特征误差模型,对相机位姿与结构化场景三维地图点进行优化,改进同时定位与建图的效果;具体如下:
[0089] S7.1、检测到闭环后,将当前帧的点线特征集合{pref,lref}与闭环检测得到的相似度最高的关键帧的点线特征集合{pkey,lkey}相对应,分别匹配对应的ORB点特征与LSD线特征;其中,pref为当前帧的点特征,lref为当前帧的线特征,pkey为关键帧的点特征,lkey为关键帧的线特征;
[0090] S7.2、遍历当前帧与关键帧的集合K{∑(p,l)},融合所有的匹配ORB点特征与LSD线特征,通过代价函数进行最小化重投影误差,优化相机位姿与所有结构化场景三维地图点,改进同时定位与建图的效果;
[0091] 所述代价函数的表达式如下:
[0092]
[0093] 其中,i表示第i个匹配的ORB点特征,j表示第j个匹配的LSD线特征,N,M分别表示匹配的ORB点特征、LSD线特征数量;Eref,Ekey分别为当前视频帧和关键帧的改进点线特征的二范数误差模型。
[0094] 有益效果:与现有技术相比,本发明的技术方案具有以下有益的技术效果:
[0095] 本发明针对室内结构化场景,以在其中工作的深度相机为例,提出了一种由改进点线特征拓展的结构化场景视觉SLAM方案。本发明解决了现有结构化场景中视觉SLAM对于闭环检测精度与效率不高的问题,为特定环境下闭环检测提供了新的解决方法,并为视觉SLAM工作提供了较大的便利。例如在室内车辆的定位、室内分拣快递机器人的工作、扫地机器人的路径规划等领域能够帮助机器人提高对于周边的结构化环境的位置定位与三维地图点重建精度,为这类领域提供了新的、精度更高的可行方案。附图说明
[0096] 图1是本发明的系统流程示意图。

具体实施方式

[0097] 下面结合实施例和附图对本发明的技术方案作进一步详细说明;应理解本实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0098] S1、对RGB-D深度相机进行基础标定,获得内参信息;通过该深度相机对结构化场景进行视觉同步定位与建图(视觉SLAM)的初始化;
[0099] S2、通过相机得到的视频帧,提取结构化场景中的ORB点特征与LSD线特征,并分别与结构化场景中的空间点、空间直线相对应;
[0100] S3、根据ORB点特征与LSD线特征对应的空间点与空间直线,建立基于结构化场景的改进点特征与线特征的误差模型;
[0101] S4、通过最小化误差模型,对相机位姿进行估计并生成结构化场景的三维地图点;
[0102] S5、根据得到的相机位姿与结构化场景的三维地图点,在视频帧中,通过结构化场景的点、线特征的跟踪情况以及相机定位、建图的状态,决策生成关键帧集合;
[0103] S6、使用关键帧集合,建立基于改进点线特征的词袋模型,对三维地图点进行闭环检测;
[0104] S7、根据步骤S6得到的闭环检测结果,在检测到闭环条件后,通过点线特征误差模型,对相机位姿与结构化场景三维地图点进行优化,改进同时定位与建图的效果。
[0105] 所述步骤S1中,对RGB-D深度相机进行基础标定,获得内参信息;通过该相机对结构化场景进行视觉SLAM的初始化;具体如下:
[0106] S1.1、以结构化场景中的一张黑白棋盘格作为标定物,通过调整标定物与相机的方向,为标定物拍摄不同方向的照片,并从照片中提取棋盘格角点;
[0107] S1.2、设现实环境中某空间点P的相机坐标为[X,Y,Z]T,X,Y,Z分别为相机在三维空间立体坐标系中的坐标;
[0108] 在针孔相机模型中根据三角形相似关系得到成像平面内对应成像点P′坐标f为相机焦距;将该点P′转换到像素坐标[U,V],有
[0109]
[0110] 其中K为相机内参矩阵;
[0111] S1.3、根据实际情况合理选择校正参数k1,k2,l1,l2,l3,对相机基础标定计算中的径向畸变与切向畸变进行纠正;其中k1,k2为径向畸变校正系数,l1,l2,l3为切向畸变校正系数;
[0112] S1.4、提取前fr帧图像的ORB点特征,并选取ORB点特征数NORB超过一定值的视频帧作为初始帧;以选取的初始帧为基准,通过深度相机在结构化场景进行同步定位与建图的初始化。本实施例中,在前20帧图像内选取初始帧,NORB≥50。
[0113] 所述步骤S2中,通过相机得到的视频帧,提取结构化场景中的ORB点特征,并与结构化场景中的空间点相对应;具体如下:
[0114] S2.1.1、对图像中的像素点提取得到ORB特征点,通过灰度质心法来表达ORB特征点的方向,特征点方向为该点相邻a×a图像块几何中心与灰度质心连线的方向;
[0115] S2.1.2、在ORB特征点相邻b×b图像块中采用贪婪搜索选取q个像素对(j,k),像素对的灰度值分别为Ij,Ik,比较像素对中两个像素的亮度关系,得到q维由1和0组成的向量描述子来描述特征点与图像的关系,如果Ij>Ik,则描述子的相应位取1,反之则取0,该描述子即为结构化场景中的ORB特征描述子;通过对视频帧图像构建ORB特征描述子,实现ORB点特征的提取;
[0116] S2.1.3、将视频帧图像中的每个ORB特征描述子,与其在结构化场景中的三维空间点Pw相对应。
[0117] 本实施例中,a=4,b=20,q=256。
[0118] 所述步骤S2中,通过相机得到的视频帧,提取结构化场景中的LSD线特征,并与结构化场景中的空间直线相对应;具体如下:
[0119] 通过提取视频帧图像的LSD线特征,实现结构化场景中的空间直线表示方法;
[0120] S2.2.1、在图像中提取LSD线特征,设LSD线特征的线段支持域为θl,由于在结构化场景中线条规律且密集,因此对线段支持域在阈值θll′内的线段l、l′的端点进行合并,合并端点处坐标取线段l、l′端点坐标的均值;
[0121] S2.2.2、使用Pliicker坐标表示与LSD线特征对应的结构化场景中的空间直线;
[0122] 设步骤S2.2.1得到的LSD线特征对应的空间直线的两个端点的齐次坐标为:
[0123] P1(x1,y1,z1,1),P2(x2,y2,z2,1)
[0124] Pliicker矩阵T表示如下:
[0125]
[0126] 则与LSD线特征对应的结构化场景中的空间直线Lw,使用Pliicker坐标表示为:
[0127]
[0128] 其中,n、v为空间直线Lw在Pliicker坐标中两个端点坐标向量,其值由Pliicker矩阵T计算得到。
[0129] 所述步骤S3中,根据ORB点特征与LSD线特征对应的空间点与空间直线,建立基于结构化场景的改进点特征与线特征的误差模型;具体如下:
[0130] S3.1、建立ORB点特征对应的空间点Pw的误差模型;
[0131] 根据相机运动方程将结构化场景下的空间点Pw转换到相机坐标下的空间点Pc;
[0132] 根据小孔成像模型得到像素坐标系投影点P′uv,计算实际坐标Puv与P′uv的误差;
[0133] 则ORB点特征对应的空间点Pw的误差模型表示为:
[0134]
[0135] 其中, 表示第i个空间点Pw,i在像素坐标的投影与其在像素平面的实际坐标Puv,k,i之间的误差;k表示结构化场景下的第k帧图像帧,K为相机内参,Tcw,k为相机坐标系相对于结构化场景坐标系的位姿转换矩阵;
[0136] S3.2、建立LSD线特征对应的空间直线Lw的误差模型;
[0137] 使用LSD线特征对应的空间直线在像素平面的投影L′uv与空间直线在像素平面的实际坐标Luv之间的误差,构建误差模型:
[0138]
[0139] 其中,ps,pe为空间线Lw的两个端点,n、v为空间直线Lw在Pliicker坐标中两个端点坐标向量;
[0140] 则LSD线特征对应的空间直线Lw的误差模型表示为:
[0141]
[0142] 其中, 表示第j个空间直线Lw,j在像素坐标的投影与其在像素平面的实际坐标Luv,k,j之间的误差;k表示结构化场景下的第k帧图像帧,K为相机内参,Tcw,k为相机坐标系相对于结构化场景坐标系的位姿转换矩阵;
[0143] S3.3、由于在结构化场景中,线特征相对于点特征更为明显,同时对于闭环检测更为重要,因此,建立整体改进点线特征的二范数误差模型,在整体的误差模型中提高线特征误差模型所占权重,表示如下:
[0144]
[0145] 其中,E为二范数误差,设δl=2δp,δl∈(0.2~1)。
[0146] 所述步骤S4中,通过最小化误差模型,对相机位姿进行估计并生成结构化场景的三维地图点;具体如下:
[0147] 最小化点线特征误差模型的过程,即对误差模型中的目标函数求最优解的过程;
[0148] 点线特征误差模型的目标函数,表示如下:
[0149] (JTJ+λI)Δx=-JTE
[0150]
[0151] 其中,J为目标函数关于变量的雅可比矩阵,所述变量包括:相机位姿Tcw,k以及结构化场景的三维地图点Pw,i,Δx为Tcw,k、Pw,i的极小量的简写,λ为动态调整参数,为了使目标函数能够求得最优解,λ一般取0.5;
[0152] 采用列文伯格-马尔夸特法对目标函数进行近似增量式线性求解,得到相机位姿与结构化场景的三维地图点。
[0153] 所述步骤S5中,在视频帧中,通过结构化场景的点、线特征的跟踪情况以及相机定位、建图的状态,决策生成关键帧集合;具体如下:
[0154] 在RGB-D深度相机的同步定位与建图(SLAM)过程中,进行闭环检测的前提条件是需要在视频帧中选取数量适中、质量满足预期的关键帧作为闭环检测的参照;
[0155] S5.1、根据关键帧的选取和判断条件,判断当前帧是否为关键帧;所述条件包括:
[0156] (1)当前帧与上一次选取的关键帧间隔超过N1帧;
[0157] (2)生成深度相机定位与建图的工作状态稳定,或已有N2帧的图像帧被丢弃;
[0158] (3)当前相机得到的图像帧中构建得到大于Ml条空间直线;所述空间直线为基于结构化场景改进点线特征误差模型优化得到的LSD线特征对应的空间直线;
[0159] (4)当前相机得到的图像帧中的ORB点特征与前一关键帧的相似度不超过S;所述相似度是指当前帧图像中基于改进点线特征误差模型优化得到的ORB点特征对应的空间点与上一关键帧中空间点相同的数量占全部空间点的比例;
[0160] S5.2、将同时满足步骤S5.1所述四个条件的图像帧选取为关键帧;
[0161] S5.3、遍历所有视频帧,根据S5.1-S5.2选取全部的关键帧,获得关键帧集合。
[0162] 本实施例中,N1=20,N2=20,Ml=50,S=90%。
[0163] 所述步骤S6中,使用关键帧集合,建立基于改进点线特征的词袋模型,对三维地图点进行闭环检测;具体如下:
[0164] S6.1、基于k-means算法生成关键帧集合的单词;
[0165] S6.2、在结构化场景的闭环检测中,线特征相较于点特征更具有区分度,因此使用关键帧集合的单词,建立基于改进点线特征的词袋模型时,将提高线特征的权重;
[0166] 判断关键帧集合的单词所对应的点特征是否属于关键帧图像的线特征,并根据单词是否属于线特征,对该单词赋予权重;
[0167] S6.3、通过构建点特征单词与它们的权重,建立基于改进点线特征的词袋模型,将该词袋模型应用于结构化场景的视觉SLAM闭环检测;
[0168] S6.4、当检测到当前帧图像中的点特征与基于关键帧集合的词袋模型中点特征单词相同数量超过阈值时,即认为检测到闭环。
[0169] 所述步骤S6.1基于k-means算法生成关键帧集合的单词;方法如下:
[0170] 以关键帧图像中的随机的ORB点特征作为初始聚类中心,确定nword个初始聚类中心,0<nword<nMAX,nMAX为聚类中心数量上限,本实施例中nMAX取100;
[0171] 在确定第i+1个聚类中心时,与当前第i个聚类中心间隔越远的点,被确定为第i+1个聚类中心的几率越高;
[0172] 对关键帧中的ORB点特征分别计算其与各个聚类中心的明式距离;
[0173] 选取距离最近的聚类中心作为该点特征的聚类中心,将该点特征使用八叉树数据结构与其对应的聚类中心连接;最后得到的所有聚类中心即为关键帧集合的单词;
[0174] 所述步骤S6.2中,判断关键帧集合的单词是否属于关键帧图像的线特征,并根据单词是否属于线特征,对该单词赋予权重;具体如下:
[0175] η=ω·TFi×IDFi
[0176]
[0177]
[0178] 其中,η表示描述点线特征的词袋模型,用于回环检测中基于点线特征检测是否发生闭环,ω表示点线特征的权重,IDFi表示该单词Wword中ORB特征数量featurei相对于线特征中所有单词ORB特征数量feature的比值;TFi表示该单词Wword在任意一视频帧中呈现的频率,feature′表示该视频帧图像中出现单词的总个数,featurei′为单词Wword在该视频帧图像中呈现的次数;
[0179] 若单词在图像中的坐标位于图像中任意线特征坐标内,单词属于关键帧图像的线特征,权重ω为1;
[0180] 若单词在图像中的坐标位于图像中任意线特征坐标外,单词不属于关键帧图像的线特征,权重ω为0.1。
[0181] 所述步骤S7中,在检测到闭环条件后,通过点线特征误差模型,对相机位姿与结构化场景三维地图点进行优化,改进同时定位与建图的效果;具体如下:
[0182] S7.1、检测到闭环后,将当前帧的点线特征集合{pref,lref}与闭环检测得到的相似度最高的关键帧的点线特征集合{pkey,lkey}相对应,分别匹配对应的ORB点特征与LSD线特征;其中,pref为当前帧的点特征,lref为当前帧的线特征,pkey为关键帧的点特征,lkey为关键帧的线特征;
[0183] S7.2、遍历当前帧与关键帧的集合K{∑(p,l)},融合所有的匹配ORB点特征与LSD线特征,通过代价函数进行最小化重投影误差,优化相机位姿与所有结构化场景三维地图点,改进同时定位与建图的效果;
[0184] 所述代价函数的表达式如下:
[0185]
[0186] 其中,i表示第i个匹配的ORB点特征,j表示第j个匹配的LSD线特征,N,M分别表示匹配的ORB点特征、LSD线特征数量;Eref,Ekey分别为当前视频帧和关键帧的改进点线特征的二范数误差模型。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈