本技术涉及智能驾驶,具体而言,涉及一种基于自适应特征提取的slam方法及装置。
背景技术:
1、slam技术目前在自动驾驶、无人机、机器人导航等领域具有广泛应用,该技术可以帮助设备确定自身位置和周围环境的地形和障碍物,slam技术可以应用于无人车,且目前已经应用于港口、矿山及工作园区等。
2、目前人们提出的slam算法往往在特征明显的场景效果较好,然而真实的测试环境中,特征点往往存在诸多干扰,且各传感器本身存在失效状态,将会对slam的精度产生影响:当采用某一种传感器时,信息获取单一,一旦传感器发生故障,将会产生较大误差;在室外环境下,天空和地面占比较多,极远点对位姿计算存在干扰;采用单一固定阈值提取特征点,容易产生局部极值的缺陷,从而影响定位和建图的准确度。
技术实现思路
1、本技术实施例的目的在于提供一种基于自适应特征提取的slam方法及装置,通过运动失效检测,避免因某一传感性故障引发的系统性误差,通过自适应有效激光点提取,剔除极远点,减小误差,通过自适应阈值提取特征点,可以避免陷入局部极值,提高定位和建图的精度,解决了现有方法定位和建图的准确度不高的问题。
2、本技术实施例提供了一种基于自适应特征提取的slam方法,所述方法包括:
3、获取激光点数据、rgb图像和imu传感器数据;
4、对所述激光点数据进行自适应有效激光点筛选以及对rgb图像灰度化处理,分别获得激光点云深度图和灰度图;
5、对所述激光点云深度图进行自适应特征点提取,获得激光里程计因子;
6、对所述imu传感器数据进行预积分处理,得到预积分因子;
7、基于所述灰度图提取sift特征点并采用帧间匹配算法计算帧间位姿,以获得视觉里程计因子;
8、对所述激光点云深度图利用全局描述符构建回环检测因子;
9、对所述激光里程计因子、预积分因子、视觉里程计因子和回环检测因子进行运动失效检测和优化,并在优化后生成全局轨迹地图。
10、在上述实现过程中,通过运动失效检测,避免因某一传感性故障引发的系统性误差,同时能够减少计算量,降低成本;通过自适应有效激光点提取,剔除极远点,减小误差;通过自适应阈值提取特征点,可以避免陷入局部极值,提高定位和建图的精度,解决了现有方法定位和建图的准确度不高的问题。
11、进一步地,对所述激光点数据进行自适应有效激光点筛选,获得激光点云深度图,包括:
12、基于激光点的距离对激光点进行自适应筛选,获得有效激光点:
13、;
14、其中,;
15、其中, d表示激光点数据中的距离,表示筛选阈值,表示标记阈值,表示任一帧激光点云深度图的特征点数量;
16、对所述有效激光点进行深度投影,得到激光点云深度图并进行归一化处理。
17、在上述实现过程中,若激光点打向的距离过远,对位姿匹配的误差较大,因此可通过自适应有效激光点筛选,剔除极远点,减小误差。
18、进一步地,所述对所述激光点云深度图进行自适应特征点提取,获得激光里程计因子,包括:
19、在所述激光点云深度图中随机选取关键点,利用自适应阈值判断所述关键点是否为边缘点和平面点,其中,特征判断阈值公式为:
20、;
21、其中,表示关键点归一化后的距离, s表示计算平滑度选取的相邻点的个数, m和表示整数;
22、并且, s的值随关键点的深度自适应变化,具体公式如下:
23、;
24、构建边缘点误差函数和平面点误差函数:
25、;
26、;
27、其中,表示边缘点误差函数,表示平面点误差函数,表示第 i+1时刻第 k行的边缘点,表示第 i+1时刻第 k行的平面点,表示第 i时刻第 u行上的边缘点,表示第 i时刻离第 u行最近的第 v行上的边缘点,表示第 i时刻第 k行的边缘点,表示第 i时刻第 k行的平面点,表示第 i时刻第 u行上的平面点,表示第 i时刻离第 u行最近的第 v行上的平面点,表示第 i时刻离第 v行最近的第 w行上的平面点;
28、基于边缘点误差函数和平面点误差函数获得激光里程计因子。
29、在上述实现过程中,因为关键点的深度越小,所需的邻近点越多,其深度越大所需的邻近点越少,因此采用自适应特征点提取算法,可提高特征提取的准确度和计算的准确度。
30、进一步地,所述对所述imu传感器数据进行预积分处理,得到预积分因子,包括:
31、对imu传感器数据进行预积分处理,分别获得车辆速度、加速度和旋转方向的变化关系,具体公式为:
32、;
33、;
34、;
35、其中,和分别表示imu测量值中的旋转角速度和加速度,表示在 t时刻旋转角速度的随机游走,表示在 t时刻加速度的随机游走,和分别表示在 t时刻旋转角速度和加速度的白噪声,和分别表示角速度和加速度的实际值, g表示重力常量,表示在 t时刻到变换时间内的速度变化,表示在 t时刻的旋转矩阵。
36、在上述实现过程中,对imu传感器数据进行imu预积分处理,得到预积分因子,从而提高计算效率。
37、进一步地,所述基于所述灰度图提取sift特征点,包括:
38、基于灰度图使用高斯差分函数构建尺度空间金字塔;
39、在所述尺度空间金字塔中检测局部灰度最大值和最小值并作为候选关键点;
40、对所述候选关键点进行高斯曲率拟合,以确定关键点的位置和尺度;
41、计算关键点周围像素灰度的梯度方向直方图,以选取主方向作为关键点的方向;
42、在关键点周围的邻域内构建高斯金字塔,计算每个像素灰度的梯度幅值和方向,生成特征向量描述符。
43、在上述实现过程中,在灰度图中提取sift特征点,再采用帧间匹配算法计算位姿,得到视觉里程计因子。
44、进一步地,所述对所述激光点云深度图利用全局描述符构建回环检测因子,包括:
45、将所述激光点云深度图中的边缘点和平面点集合沿半径增大方向等分成个圆环,每个圆环的宽度表示为:
46、;
47、表示像素点对应的最远距离,表示分割的圆环数;
48、将分割后的激光点云深度图对应到的scan context中,并将两帧scancontext间的距离函数定义为:
49、;
50、其中,表示第 u个矩阵的值,表示第 u个scan context内第 b个格子的所有点到激光雷达的平均值;
51、若距离最小时,对应的列平移量以及相应的两帧之间的旋转角度分别为:
52、;
53、;
54、其中,表示第 c个scan context的第 n列的值;
55、将所述旋转角度作为初始位姿获得闭环约束的相对位姿以及回环检测因子。
56、在上述实现过程中,采用scan context描述符实现回环检测,构建回环检测因子。
57、进一步地,所述对所述激光里程计因子、预积分因子、视觉里程计因子和回环检测因子进行运动失效检测和优化,包括:
58、将视觉失效参数设置为:
59、;
60、其中,表示当前位置视觉里程计因子 x轴坐标,表示当前位置激光里程计因子 x轴坐标;
61、将imu失效参数设置为:
62、;
63、其中,表示当前位置预积分因子 x轴坐标;
64、若均小于设置的运动失效检测阈值,则运动有效,对所述激光里程计因子、预积分因子、视觉里程计因子和回环检测因子进行优化;
65、若大于所述运动失效检测阈值,则剔除激光里程计因子和视觉里程计因子,只对预积分因子和回环检测因子进行优化;
66、若大于所述运动失效检测阈值,则剔除预积分因子,只对所述激光里程计因子、视觉里程计因子和回环检测因子进行优化。
67、在上述实现过程中,通过运动失效检测,剔除因剧烈运动和故障而计算不准确的因子,从而减小误差。
68、本技术实施例还提供一种基于自适应特征提取的slam装置,所述装置包括:
69、数据获取模块,用于获取激光点数据、rgb图像和imu传感器数据;
70、预处理模块,用于对所述激光点数据进行自适应有效激光点筛选以及对rgb图像灰度化处理,分别获得激光点云深度图和灰度图;
71、激光里程计因子获取模块,用于对所述激光点云深度图进行自适应特征点提取,获得激光里程计因子;
72、预积分因子获取模块,用于对所述imu传感器数据进行预积分处理,得到预积分因子;
73、视觉里程计因子获取模块,用于基于所述灰度图提取sift特征点并采用帧间匹配算法计算帧间位姿,以获得视觉里程计因子;
74、回环检测因子构建模块,用于对所述激光点云深度图利用全局描述符构建回环检测因子;
75、运动失效检测模块,用于对所述激光里程计因子、预积分因子、视觉里程计因子和回环检测因子进行运动失效检测和优化,并在优化后生成全局轨迹地图。
76、在上述实现过程中,通过运动失效检测,避免因某一传感性故障引发的系统性误差,同时能够减少计算量,降低成本;通过自适应有效激光点提取,剔除极远点,减小误差;通过自适应阈值提取特征点,可以避免陷入局部极值,提高定位和建图的精度,解决了现有方法定位和建图的准确度不高的问题。
77、本技术实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行上述中任一项所述的基于自适应特征提取的slam方法。
78、本技术实施例还提供一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的基于自适应特征提取的slam方法。
1.一种基于自适应特征提取的slam方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于自适应特征提取的slam方法,其特征在于,对所述激光点数据进行自适应有效激光点筛选,获得激光点云深度图,包括:
3.根据权利要求1所述的基于自适应特征提取的slam方法,其特征在于,所述对所述激光点云深度图进行自适应特征点提取,获得激光里程计因子,包括:
4.根据权利要求1所述的基于自适应特征提取的slam方法,其特征在于,所述对所述imu传感器数据进行预积分处理,得到预积分因子,包括:
5.根据权利要求1所述的基于自适应特征提取的slam方法,其特征在于,所述基于所述灰度图提取sift特征点,包括:
6.根据权利要求1所述的基于自适应特征提取的slam方法,其特征在于,所述对所述激光点云深度图利用全局描述符构建回环检测因子,包括:
7.根据权利要求1所述的基于自适应特征提取的slam方法,其特征在于,所述对所述激光里程计因子、预积分因子、视觉里程计因子和回环检测因子进行运动失效检测和优化,包括:
8.一种基于自适应特征提取的slam装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行根据权利要求1至7中任一项所述的基于自适应特征提取的slam方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至7中任一项所述的基于自适应特征提取的slam方法。
