1.一种通过改进ORB-SLAM算法实现定位与构图的方法,其特征在于,包括以下步骤:(1)使用机器人携带的深度视觉传感器采集数据集中的连续两幅图像,以分别得到每一幅图像的彩色图像与深度图像,使用显著性区域检测算法对得到的彩色图像进行感兴趣区域初步提取,使用阈值分割法对提取到的感兴趣区域进行优化,以得到优化后的图像;
(2)在离散化尺度空间下使用ORB算法对步骤(1)得到的优化后的两幅图像进行特征提取,以得到两幅图像的特征描述子;
(3)对步骤(2)中得到的两幅图像的特征描述子进行特征匹配,以生成两幅图像特征匹配的结果;
(4)使用步骤(3)得到的两幅图像特征匹配的结果获得变换矩阵,并将该变换矩阵作为算法迭代初值输入到迭代最近点(Iterative Closest Point,简称ICP)算法中,以得到运动估计结果。
(5)对步骤(2)中得到的两幅图像的特征描述子进行特征单词化处理,基于处理后得到的单词构建视觉词典,并利用视觉词典中的单词对每一幅图像进行场景描述;
(6)对场景描述后的图像与视觉词典中出现过的每幅图像分别进行预匹配处理,对所有预匹配处理的结果进行相似度计算,根据相似度计算结果确定多个候选闭环,基于时间连续性从多个候选闭环中确定最终的闭环,用于对步骤(4)得到的运动估计结果进行优化;
(7)使用非线性最小二乘法对步骤(6)优化后的运动估计结果进行位姿图优化,以得到全局最优的机器人位姿和全局一致的运动轨迹,并利用栅格地图法对该运动轨迹进行建图。
2.根据权利要求1所述的方法,其特征在于,深度视觉传感器是Kinect传感器,显著性区域检测算法是集合多层次卷积特征算法、基于区域的全卷积网络算法、或空间加权相异性算法。
3.根据权利要求1或2所述的方法,其特征在于,步骤(2)建立离散化尺度空间是按照如下方式实现:构造出一个由n个图像层li和n个间隔层bi组成的尺度空间,通过对优化后的图像l0进行1.5倍的下采样来获得第一层间隔层b0,然后分别对l0和b0逐层半采样以获取接下来每层的图像层lj和间隔层bj,图像层li的尺度值为σ(li)=2i,间隔层bi的尺度值为σ(bi)=2i×1.5,其中n可以为任意正整数,i∈(0,n-1),j∈(1,n-1)。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,步骤(3)包括以下子步骤:(3-1)对步骤(2)中得到的两幅图像的每个特征描述子分别进行降维处理;
(3-2)根据降维处理的结果构建对应的哈希函数,并利用该哈希函数构建哈希表;
(3-3)利用步骤(3-2)构建的哈希函数对步骤(3-1)得到的两幅图像降维处理后的每个特征描述子分别进行哈希运算,如果出现本应互相匹配的两个特征描述子对应的哈希桶不相同,或者本应不互相匹配的两个特征描述子对应的哈希桶相同的情况,则设置扰动向量序列(Δ1,Δ2,…,Δp),其中p表示序列长度,其取值范围是小于64,Δ的取值为任意实数,且各不相同,然后将扰动向量序列与第二幅图像对应特征描述子哈希计算的结果相加,从而得到一系列新的哈希值,随后判断这一系列新的哈希值中每一个对应的哈希桶中是否存在有第一幅图像的特征描述子,如果没有,则不处理,如果有,则计算该哈希桶中两幅图像的特征描述子之间的多个汉明距离,并寻找其中最小的汉明距离,该汉明距离对应的两个特征描述子就是两幅图像特征匹配的结果;
(3-4)使用顺序抽样一致性算法对步骤(3-3)得到的两幅图像特征匹配的结果进行剔除误匹配的操作,从而得到最终特征匹配的结果。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,步骤(3-2)中构建哈希函数具体是采用以下公式:H=hm-1·m+hm-2·(m-1)+...+h0·1
其中hk表示降维后的特征描述子的第k位,m表示降维处理后的维数,且有k∈(0,m-1)。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,变换矩阵包括旋转变换矩阵R,以及位移变换矩阵T;
且有:
Y=RX+T
其中X和Y分别表示已经特征匹配好的两幅图像上的特征描述子的三维坐标。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,步骤(6)具体包括以下子步骤:(6-1)使用反向索引方法对场景描述后的图像与视觉词典中出现过的每幅图像分别进行预匹配处理,以得到预匹配处理结果;
(6-2)对所有预匹配处理的结果进行基于分层加权匹配的相似度计算,将小于等于预设阈值的相似度计算结果所对应的预匹配结果作为候选闭环;
具体而言,本步骤中具体采用以下公式:
其中S(X,Y)表示场景描述后的图像与预匹配处理后视觉词典中出现过的图像之间的相似度,L表示视觉词典的层数,ηl表示视觉词典中第l层的匹配强度系数,ΔSl表示视觉词典中第l层与其相邻层之间的相似性增量,k表示视觉词典的深度。
(6-3)基于时间连续性从多个候选闭环中确定最终的闭环,用于对步骤(4)得到的运动估计结果进行优化。
8.根据权利要求1至7中任意一项所述的方法,其特征在于,使用的非线性最小二乘法是通用图优化框架或Ceres Solver库,栅格地图法是八叉树法。
9.一种通过改进ORB-SLAM算法实现定位与构图的系统,其特征在于,包括:第一模块,用于使用机器人携带的深度视觉传感器采集数据集中的连续两幅图像,以分别得到每一幅图像的彩色图像与深度图像,使用显著性区域检测算法对得到的彩色图像进行感兴趣区域初步提取,使用阈值分割法对提取到的感兴趣区域进行优化,以得到优化后的图像;
第二模块,用于在离散化尺度空间下使用ORB算法对第一模块得到的优化后的两幅图像进行特征提取,以得到两幅图像的特征描述子;
第三模块,用于对第二模块中得到的两幅图像的特征描述子进行特征匹配,以生成两幅图像特征匹配的结果;
第四模块,用于使用第三模块得到的两幅图像特征匹配的结果获得变换矩阵,并将该变换矩阵作为算法迭代初值输入到ICP算法中,以得到运动估计结果。
第五模块,用于对第二模块中得到的两幅图像的特征描述子进行特征单词化处理,基于处理后得到的单词构建视觉词典,并利用视觉词典中的单词对每一幅图像进行场景描述;
第六模块,用于对场景描述后的图像与视觉词典中出现过的每幅图像分别进行预匹配处理,对所有预匹配处理的结果进行相似度计算,根据相似度计算结果确定多个候选闭环,基于时间连续性从多个候选闭环中确定最终的闭环,用于对第四模块得到的运动估计结果进行优化;
第七模块,用于使用非线性最小二乘法对第六模块优化后的运动估计结果进行位姿图优化,以得到全局最优的机器人位姿和全局一致的运动轨迹,并利用栅格地图法对该运动轨迹进行建图。