激光点云预处理研究综述

三维点云数据的预处理是利用有效点云信息进行三维重建和障碍物感知的基础,也是三维点云配准和三维点云拼接的前提。一般的三维点云预处理包括地面点云去除、点云过滤和点云分割。在三维点云数据处理过程中,离群点和噪声点的剔除以及点云数据的配准不仅是点云数据处理的重要环节,也是后期点云数据特征提取和检测的基础。

分割目标对象时,对离散三维数据点聚类的判断是基于点与点之间的距离是否接近。在lidar点云数据中,很大一部分数据属于地面点数据,地面点云有纹理,干扰后续障碍物点云的分类识别。如果不去除这些地面点数据,分割目标物体时分割算法会失效,所以需要先滤波。因此,去除地面点云数据是减少数据量、提高分割算法精度的有效手段。

因此,为了提高地面点云去除算法的精度和鲁棒性,许多学者提出了大量的研究方法,主要包括以下两大类:基于网格图法的地面去除研究和基于三维激光雷达原始扫描线数据的地面去除研究。

激光雷达扫描得到的点云包含了大部分地面点,地面过滤点云常用的栅格地图方法有栅格高差法、法向量法和高度法。网格高度法首先根据网格大小生成网格,计算每个网格最低点和最高点的高度差,将H与预设的高度差阈值大小进行比较,对网格进行分类。最后,根据网格对网格中的点进行分类。法向量法是假设计算的地面法向量垂直向下或向上,即地面点法向量的值为(0,0,1)或(0,0,-1)。方法过程是计算点的法向量,设置点分类的法向量阈值。高度法是去除地面点云最常用、耗时最少的方法。根据激光雷达的安装位置和姿态,点云按照设定的阈值可以直接分为地面点和障碍物点。

基于栅格地图的点云处理方法是将三维点云数据投影到地面,建立多个栅格单元,利用连通区域标注算法或邻域扩展策略对目标进行聚类。该方法广泛应用于激光雷达的三维建模。首先,三维点云到2D平面的投影过程大大减少了数据量,可以提高算法处理的实时性。其次,由于点云到栅格地图的映射,将复杂的3D点云处理问题转化为图像处理问题,可以使用成熟的图像处理相关算法,提高算法处理的时间效率。网格法简单可靠,计算效率高。然而,网格单元参数是固定的,并且通常由经验确定。当远处目标点云稀疏时,会过分割,而当近处目标点云密集时,会欠分割。算法严重依赖于阈值参数的选取,往往需要逐帧分析,难免会损失一些实时性。

由于三维激光雷达的原始三维数据包含了详细的空间信息,因此也可以用来处理相关的点云数据。激光扫描线在地面和障碍物上形成的角度值差异显著,可以作为分离地面点的重要依据。激光雷达中的多束激光水平扫描周围环境中的物体,相邻两个物体之间形成的角度很小,而同一物体的角度值很大。这启示我们可以充分利用这一特性。当大于角度阈值时,可以认为这两点是同一物体,解决了相邻目标欠分割的问题。通过将非地面点云划分为不同的物体,进而识别目标物体,可以为无人车提供更详细的车辆、行人等障碍物信息,从而避免与不同类型的障碍物发生碰撞,及时避让。地面点云分割不足会导致目标漏检,分割过度会影响识别等后续操作。基于激光雷达生成的点云的几何特征,研究人员提出了多种特征构建方法,基于3D激光雷达原始扫描线数据的地面去除研究是比较常用的方法之一。

激光雷达在采集三维点云数据的过程中,会受到各种因素的影响,因此在获取数据时会存在一定的噪声。其实在实际工作中,除了自身测量的误差,还会受到外界环境的影响,比如目标被遮挡、障碍物、被测目标的表面材质等。此外,一些局部大尺度噪声由于远离目标点云,无法用同样的方法滤除。

噪声是一个与目标信息描述无关的点,对整个3D场景的后续重建毫无用处。然而,在实际的点云数据处理算法中,要区分噪声点和具有特征信息的目标点并不容易,在去噪过程中由于外界因素较多,一些特征信息不可避免地会丢失。好的点云滤波算法不仅要求实时性高,而且在去噪的同时还能保留模型的特征信息[88]。有必要深入研究点云数据的噪声点特征,才能提出更好的去噪算法。

点云数据是一种非结构化数据格式。激光雷达扫描的点云数据受物体与雷达距离的影响,分布不均匀。雷达附近物体的点云数据呈密集分布,而远离雷达的物体的点云数据呈稀疏分布。此外,点云数据具有无序性和不对称性的特点,导致在数据表示上缺乏清晰统一的数据结构,加剧了后续点云分割和识别的难度。神经网络作为一种端到端的网络结构,往往处理常规的输入数据,如序列、图像、视频和3D数据,不能直接处理点集等无序数据。用卷积运算处理点云数据时,卷积直接丢弃点云的形状信息,只保留点云的序列信息。

点云滤波是三维重建技术领域的研究热点,也是许多无人应用数据处理中至关重要的一步。三维点云过滤方法主要分为以下三类,包括统计过滤、邻域过滤和投影过滤。

由于统计学的概念特别符合点云的特点,国内外很多学者都将统计学的方法引入到点云过滤技术中。Kalogerakis等人将鲁棒的统计模型框架应用于点云过滤,取得了非常好的过滤效果。在这个统计模型的框架下,利用最小二乘迭代法估计曲率张量,在每次迭代时根据每个点周围的面积给样本分配权重,从而细化每个点周围的每个邻域。然后使用计算的曲率和统计权重来重新校正正态分布。通过计算曲率和法向最小化全局能量和去除离群点,可以很好地保持点云的纹理特征。

基于邻域的点云过滤技术是利用一种相似性度量方法来度量点与其他对过滤效率和结果有较大影响的邻近点的相似性,从而确定过滤点的位置。一般来说,点云的相似性可以用它们的位置、法线和区域位置来衡量。在1998中,Tomasi等人将双边滤波器扩展到3D模型去噪。由于双边滤波具有保持边缘光滑的特点,可以去除点云数据噪声,很好地保留细节。然而,因为该方法通过网格生成过程去噪,所以在网格生成过程中会引入额外的噪声。与规则网格、不规则三角网等数据结构相比,体素是真正的3D结构,并且隐含了邻域关系,可以有效防止网格生成过程中引入噪声。然而,这种方法需要设置更多的参数,不能满足实际的工业应用。

基于投影滤波技术,通过不同的投影测量调整点云中每个点的位置,从而去除噪声点云。但如果输入的点云特别不均匀,经过局部最优投影处理后的点云会变得更加散乱。孙杜等人提出了一种基于多重回波和Fisher判别式的滤波算法。首先,根据网格划分的思想对点云进行网格划分。在每个网格中,将待确定的样本除以点云数据的回波频率和强度。其次,利用Fisher判别分析方法将点云投影到一维空间,通过判断临界值将植被点云与地面点云分离,实现对陡坡点云的过滤。但该方法仅对包含回波强度的点云属性有效,对不包含回波强度信息的点云无效。

为了弥补点云本身的无序性、不对称性、非结构化和信息不足,在进行特征识别和语义分割之前,需要对点云的数据形式进行转换。常用的点云形态变换方法有网格化点云、体素化点云、点云球面映射等。

体素化就是保留点云表面的特征点,过滤掉多余的没有特征的点云数据。因为常用的法向量计算依赖于相邻点的个数,而且两个云点的分辨率也不同。因此,相同体素大小的体素化就是在两个不同分辨率的点云中生成等价的局部区域。在点云配准算法的实际过程中,由于用于配准的源点云数据和目标点云数据数量庞大且密集,并且这些原始点云数据中包含了许多对描述物体形状特征没有影响的点,如果用算法直接配置源点云和目标点云,整个过程会耗费大量时间,因此需要对点云进行降采样,仍然保留点云中能够反映形状轮廓特征的部分。

由于点云的稀疏性、无序性和分布不均匀性,在使用深度全卷积神经网络结构对lidar点云数据进行语义分割时,端到端卷积神经网络无法直接对无序的点云进行操作。为了使端到端神经网络在无序的点云数据上具有通用性,首先需要对点云数据进行映射。常见的投影方法有基于平面的投影、柱面投影和球面点云投影。

参考:

周甜甜等(基于深度神经网络的激光雷达点云语义分割算法研究)

李宏宇(激光雷达点云数据处理研究)

范晓辉(基于激光雷达的行人目标检测与识别)