激光SLAM学习笔记

背景
  激光SLAM采用2D或3D激光雷达(也叫单线或多线激光雷达),2D激光雷达一般用于室内机器人上(如扫地机器人),而3D激光雷达一般使用于无人驾驶领域。激光雷达的出现和普及使得测量更快更准,信息更丰富。激光雷达测距比较准确,误差模型简单,在强光直射以外的环境中运行稳定,点云的处理也比较容易。同时,点云信息本身包含直接的几何关系,使得机器人的路径规划和导航变得直观。激光SLAM理论研究也相对成熟,落地产品更丰富。
激光SLAM学习笔记_第1张图片

激光点云所包含的信息及处理

  激光雷达采集到的物体信息呈现出一系列分散的、具有准确角度和距离信息的点,被称为点云。通常,激光SLAM系统通过对不同时刻两片点云的匹配与比对,计算激光雷达相对运动的距离和姿态的改变,也就完成了对机器人自身的定位。因此,有必要详细了解激光点云数据所包含的信息以及处理过程。

点云数据所含信息

  点云是在和目标表面特性的海量点集合。点云数据除了具有几何位置以外,有的还有颜色信息。颜色信息通常是通过相机获取彩色影像,然后将对应位置的像素的颜色信息(RGB)赋予点云中对应的点。强度信息的获取是激光扫描仪接收装置采集到的回波强度,此强度信息与目标的表面材质、粗糙度、入射角方向,以及仪器的发射能量,激光波长有关。
  激光雷达所获得的点云数据信息主要包含:几何位置信息、颜色信息、(反射)强度信息、时间信息等。
  根据激光测量原理得到的点云,包括三维坐标(XYZ)和激光反射强度(Intensity);
  根据摄影测量原理得到的点云,包括三维坐标(XYZ)和颜色信息(RGB);
  结合激光测量和摄影测量原理得到点云,包括三维坐标(XYZ)、激光反射强度(Intensity)和颜色信息(RGB)。
  常见的点云格式:*.pts; *.asc ; .dat; .stl ;.imw;.xyz;

字段名称 实例数据 字段备注
X 508847.974 X坐标
Y 2840039.740 Y坐标
Z 1465.891 Z坐标
I 24 反射强度
R 52992 点云颜色,可转为RGB
G 57088
B 61184

  ①几何位置信息:即三维坐标,X、Y、Z;
  ②颜色信息:通常是通过相机获取彩色影像,然后将对应位置的像素的颜色信息(RGB)赋予点云中对应的点;
  ③(反射)强度信息:激光扫描仪接收装置采集到的回波强度,此强度信息与目标的表面材质、粗糙度、入射角方向,以及仪器的发射能量,激光波长有关。

点云数据的处理

激光SLAM学习笔记_第2张图片

  点云数据的预处理主要是滤波算法以及特征提取两部分。

特征提取

  特征提取是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。
  主要分为以下几类:基于轮廓形状的特征提取,基于拓扑形状的特征提取,基于视觉形状的特征提取。
  常用的方法:针对小样本的线性特征提取;二维模式特征提取方法;局部性特征提取方法;非高斯分布下的特征提取方法;非线性特征提取方法;单分类的特征提取方法。

滤波过程

  滤波算法第一步通过LiDAR数据中的高程值进行初步筛选;然后再根据LiDAR数据中的反射强度进行第二次滤波筛选选出反射强度符合阈值的点划分地面点;第三次对已提取出的点进行距离分析,剔除孤立点。
  空间中的物体点云数据具有其固定的特征,以城市的道路为例,它具有以下三个特征:
  ①道路点云的高程与地面接近,但是低于周围地物,如房屋、树木等;
  ②道路的材质一般为混凝土或者沥青,其在点云数据中强度特征明显区别于建筑物、植被等;
  ③道路在几何形状上,其点云基本呈条带状分布。
  点云数据中地面点特征
  ①高程最低。通常在局部邻域内通常高程最低点为地面点。(大多数算法利用这个特征进行初始化滤波)
  ②坡度小。一般相邻地面点的坡度小于地面点与非地面点之间的坡度。在实际运用中根据  地形的复杂程度的不同设置坡度阈值以适应不同的地形条件。
  ③高程突变小。大部分裸露地表高程突变小,因此地面点与相邻地面点之间的高差小于地面点与非地面点之间的高差。通过设置局部高差阈值就可以识别非地面点(灌木、树木、房屋等)
  ④连续光滑。在局部区域,地面一般是连续光滑的因此可以利用这种地面特征进行拟合,结合前2种地面点特征或者点云曲率信息进行滤波。

点云数据的匹配

  点云匹配:是已知目标的三维坐标(世界坐标)求两者之间的外参,即变化关系。
  二维匹配:提取特征点 ——寻找匹配点——得到匹配关系;
  立体(三维)匹配:一般指双目或多目相机拍出来的图像先进行二维匹配得到匹配关系,根据匹配关系求得视差,然后根据结构信息(外参)求得深度、三维坐标。
  特征匹配的原理是先找出特征显著的特征点(Feature Detect),然后再分别描述两个特征点(Feature Deor),最后比较两个描述的相似程度来判断是否为同一个特征(Feature Match)。而在特征描述之前如果能够做到确定特征的方向,则可以实现旋转不变性(Rotation invarient),如果能确定尺度,则可以实现尺度不变性(Scale invarient)。因此,点云数据数据的配准常采用分步配准的方式,先对已经描述过的点云数据进行粗配准,再进一步对粗配准后的点云进行精配准最终的完成两幅点云图像的配准。

激光SLAM学习笔记_第3张图片

特征描述

  一个理想的特征描述符需要满足一下几个条件:
  (1)易于表达和计算;
  (2)尽量不受边界噪声、变形、模型简化等影响,应具有良好的鲁棒性;
  (3)具有不被模型的平移、旋转、缩放等几何不变性以及不受模型多种格式的变化的拓扑不变性,具有良好的稳定性。
  (4)不同模型的特征表示应该尽量不尽相同,即具有唯一性。
  特征描述一般是对点云的区域和边界描述。这两中不同的部分进行描述时,采用的方法和参数也有不同。
  区域描述:基本形状度量;面积、周长。紧凑度、离散性。矩:基本矩、中心距、不变矩,Zernike矩。
  边界描述:基本方法:链码。傅里叶描述符:离散近似。累加角函数和椭圆傅里叶描述

特征匹配

  这里的特征匹配是指点云数据的特征匹配,特征匹配常见方法分为两类,一是帧间匹配;二是基于势场(不需要找匹配点)。帧间匹配算法直接影响激光SLAM的效果,后端优化只是消除该过程所积累的误差,帧间匹配估计的位姿越准确,后期建图效果越好。常见的帧间匹配算法有:ICP(Iterative Closest Point)、CSM(Correlation Scan Match)、PI-ICP(Pointment-to-Line Closest Point)、NDT(Normal Distance Transform)、Optimization-Based、NICP(Normal Iterative Closest Point)、Feature-Based等。基于势场的特征匹配算法有:高斯牛顿优化(hector SLAM-对初始值敏感)、(NDT-正弦距离转换-高斯分布距离)、相关方法CSM-似然场-分支定界BBA等。

声明

(下一期博客,将介绍有关特征匹配的算法,时间不定)
初次写博客,经验不足,如有错误希望各位看官留言指出,不甚感谢!
以上内容也有部分借鉴了一些他人的内容,如有冒犯请私信联系我,一定予以改正。

你可能感兴趣的:(点云数据处理,激光slam,机器学习,slam,计算机视觉,自动驾驶)