3.19学习汇报

1. 比赛程序测试:

(1) Patchwork:

方法来源:
Patchwork: Concentric Zone-Based Region-Wise Ground Segmentation With Ground Likelihood Estimation Using a 3D LiDAR Sensor,RAL 2021

源码:https://github.com/LimHyungTae/patchwork

文中地面点定义:
本方法识别的地面点(ground points)不仅指道路,还包括草坪和人行道等移动小车可能接触到并可以行驶的区域。

处理频率:
≥40Hz。

测试输入:pcd文件
在源码附带的pcd文件上的测试效果:(效果与源码链接中所演示的效果几乎相同)

图中绿色:满足GLE。蓝色:被高程过滤。红色:被平坦度过滤。

 在比赛网站给的样例pcd文件上的测试效果:

 

 

存在问题:
问题1:图中检测为地面(绿色)的区域较大(欠分割),猜测原因与本方法中地面点的定义(包括道路、人行道、草坪等)有关。
改进思路:
学习该方法代码中GLE阶段各参数的含义和作用,修改参数提高高程滤波和平滑度滤波的过滤标准,解决欠分割问题。

问题2::此程序的分割效果在rviz在实时显示,目前不能输出pcd形式的结果文件。

问题3:输出结果中绿色点的筛选和pcd文件“label”标签的添加。

(2) 3D_ground_segmentation:

方法来源:

Fast segmentation of 3D point clouds: A paradigm on LiDAR data for autonomous vehicle applications,ICRA 2017

源码:https://github.com/Amsterdam-AI-Team/3D_Ground_Segmentation

测试效果(输入为.las文件,而比赛要求为.pcd文件):

 问题:针对文件格式不符合的问题希望在程序前后端增加pcd与las文件的转换子程序,但格式转换时间可能会影响该方法整体的实时性。

下步规划:以Patchwork方法为基础,针对GLE阶段中高程滤波和平滑度滤波的参数进行修改调试,尝试在一定程度上解决欠分割问题,再结合LeGO-LOAM的地面识别方法对原程序进行改进,改善整体效果。

2. 论文阅读:

NeuroSLAM: a brain-inspired SLAM system for 3D environments

受生物学启发的3D SLAM方法分为两类:

一种方法是基于蚂蚁、蜜蜂和昆虫的导航行为策略(Sabo et al. 2016, 2017;Stone等人,2016;Dupeyroux等人,2019年)。

另一种方法是基于神经导航机制。

本文主要研究基于三维神经导航机制的导航方法,通过借鉴大脑三维导航神经机制,为机器人开发了一套全新的类脑三维定位与制图系统。NeuroSLAM系统主要由连接位姿细胞模型(conjunctive pose cells),多层体验地图和视觉模块组成。局部视图和自运动线索由透视或全景相机收集的连续图像生成,以连续的图像流作为主要输入来计算局部环境线索和三维运动信息。在此基础上,基于多维连续吸引子神经网络(MD-CAN),建立了一个包含三维网格单元(3D-CAN)和多层头部方向单元(2D-CAN)的连接位姿细胞的功能计算模型,来表达机器人的在三维空间中的4自由度位姿(x, y, z, yaw),同时进行3D路径积分和位姿修正。

为了提高计算效率,降低系统的复杂度,本文对神经网络模型进行了简化。没有建立一个三维空间细胞单元(place cell)模型,取而代之的是将位置细胞的功能特征编码在三维网格细胞网络和三维体验地图中。三维环境中机器人的4DoF位姿(x, y, z, yaw)状态由三维网格单元网络中的活动(x,y,z)和多层头部方向单元网络中的活动(yaw)共同表示。环绕连接(warp-around connections)将MD-CAN的每个边界和其相反的边界进行连接。

通过利用多组不同三维环境下的数据集对系统进行了测试,本系统能够实现生成高精度、拓扑正确的三维经验地图,可支持三维环境中移动机器人的智能自主导航。

系统架构图:

各组成单元机理:

三维网格细胞网络是一种三维MD-CAN,它模拟了哺乳动物大脑中的三维空间神经表征。三维环境的每个区域都由网络中的特定神经元编码。该网络呈现出规则的三维点阵模式,三维网格单元表示三维空间中的绝对位置(x, y, z),活动矩阵则描述了三维网格单元中的活动。该网络三维路径集成所需的三维位置、方向和度量信息。它可以在没有外部感官输入的情况下保持机器人的4DoF姿势,并可以根据自运动线索进行三维路径积分,路径积分将三维栅格细胞活动映射到邻近的细胞中。在偏航yaw(=θ)下,其活动包的转移量由当前沿x、y、z轴的位移速度来计算。局部视图单元格与特定的3D网格单元格相关联,当机器人看到熟悉的场景时,3D MD-CAN可以进行3D定位标定。

三维网格单元网络的活动更新过程包括三个阶段:首先,通过具有激励和抑制的吸引子动态更新活动。然后,根据三维视觉里程计提供的平移速度和旋转速度,通过三维路径集成实现活动数据包的移动。最后,当机器人看到熟悉的场景时,通过局部视图校准更新活动。

多层头部方向单元网络是一种二维MD-CAN,模拟了哺乳动物的三维方向认知的相关神经机制。每个神经元可映射出特定的方向角yaw。头部方向单元也与局部视图单元相关联,用于方向校准。

多层头部方向单元的活动更新过程包括三个阶段:首先,通过吸引子动态更新MD-CAN中的活动。然后,MD-CAN根据旋转速度、高度变化速度和平移速度对三维网格细胞网络进行路径积分后得到的方向变化和高度变化输出,进行头部方向更新。最后,当机器人看到熟悉的视图时,局部视图单元将被激活,通过联想学习(associative learning)将活动注入到特定的连接位姿细胞单元中,进行误差校准,MD-CAN中的活动由局部视图校准过程更新。

MD-CAN的内部吸引子动力学过程包括三个阶段。首先,部分MD-CAN细胞受到局部兴奋过程的刺激。然后,所有MD-CAN细胞都受到全局抑制过程的抑制。最后对该单元的活动进行归一化处理。

多层体验地图是一种全局一致的拓扑图形地图,包含了机器人的三维空间体验(spatial experience),由来自局部视图单元、头部方向单元、三维网格单元和视觉里程计自运动线索的信息共同构成连接代码(conjunctive code),连接代码经过编码来描述三维空间体验。通过计算当前体验与过去已有体验的差异度得分来确定是否为当前体验创建一个新的体验,如果得分超过设定的阈值,则创建新的体验,否则使用得分最低的已有体验作为当前活动的体验,但是要学习新的过度连接矩阵。各个体验之间的过度连接矩阵则表示了体验之间的距离信息与4Dof位姿变化信息。为了保持拓扑的一致性,还采用了多层地图松弛算法。、

不理解环绕连接(warp-around connections)的作用(将MD-CAN的每个边界和其相反的边界进行连接)。

Patchwork: Concentric Zone-Based Region-Wise Ground Segmentation With Ground Likelihood Estimation Using a 3D LiDAR Sensor:

本文将点云被编码并通过基于同心区域模型表示,以一种计算较简单的方式(公式3)在bins中分配适当的云点密度。并进行区域地平面拟合估计每个bin对映的局部地面。最后引入地面似然估计,以大大减少误报。

有三个主要问题阻碍了算法进行精确的地面分割:a)存在局部陡坡或坑坑洼洼的路面;b)路边或花坛使部分区域不均匀;c)由于在地面分割任务中考虑了周围所有物体作为离群值,这些物体阻碍了平面拟合。由于这些原因,有时会出现分割欠拟合的情况,使属于不同对象的点合并到同一部分中。

Patchwork主要由三部分组成:CZM(同心区域模型)、R-GPF(区域式地平面拟合Region-Wise Ground Plane Fitting)和GLE(地面似然度估计)。

系统架构图:

详细机理: 

CZM:以往的方法是把地图划分为在径向上均匀的bins,这导致识别的大部分ground点都在20m范围内,而远处的点过于稀疏导致无法正确判断,而近处的点面积太小则会导致法向量计算不准。以一种计算量不大的方式分配适当的bins密度(公式3),即将点云划分为多个大小不同的同心环状区域,每个区域中的bin大小不同。内圈和外圈的bins设置的更大,以解决稀疏性问题和可表示性问题。这种方式提高了表达能力,便于法向量的准确估计,从而避免了分割欠拟合。另外还减少了bins的数量,从而可以提高工作频率。

R-GPF:为了保证算法的快速性采用了PCA(主成分分析法)作为预处理方法而不是RANSAC,对每个bin通过其中单位面积的点云的协方差矩阵计算特征值和特征向量,特征值最小的特征向量被视为最有可能表示地平面法向量的特征向量,并计算其平面系数(法向量转置*bin内点的平均值)。为了简便,如果bin的数量足够多,那么选择高度最低的点云作为初始点seeds。另外为了解决由近距离反射造成的错误判断问题,在最近的区域内设置地面最低高度的阈值,超出的点视为反射点,而其他区域的阈值会随着距离而变化,防止将下坡地面错视为反射点。通过使用自适应初始seeds选取方式来防止R-GRF收敛到局部最小值(?不理解)。然后,进行局部的地面点合并。

GLE:为一种基于区域的二元分类概率检验方法,用于排除非ground点组成的错误初始平面。通过先验知识,利用垂直度、高度、平度来作为判别ground的标准并构成判别函数。垂直度判别的是传感器平面与路面的垂直度。在高度判别中,设计了一种滤波器,通过比较局部视角的高度与附近区域的平均高度是否差别过大,解决传感器被汽车等物体遮挡而产生错误判断的情况。平坦度检测是为了防止通过高度过滤而错误地将一些陡坡地面过滤掉。

在使用SemanticKITTI数据集估算复杂城市环境中的地面时,这是第一次分析bin大小的影响。Patchwok在超过40Hz的条件下比state-of-the-art, region-wise fitting–based等方法的性能更好,并且该方法估计地面点的召回率方差(recall variance)最小,在一定程度上克服了复杂城市环境下地面点的欠分割问题。

GndNet: Fast Ground Plane Estimation and Point Cloud Segmentation for Autonomous Vehicles:

一种基于深度学习的端到端的地平面估计和点云分割方法。通过网格图来表示地面的高度信息, GndNet使用PointNet来提取点特征,通过网格上的二维卷积来提取空间特征。通过利用这些特征,所提出的网络可以实时学习外观、分析场景并估计地面高程。利用带有完全卷积编码器—解码器的Pillar 特征网络来回归网格中每个单元的局部地面高度。

基于学习的方法的一个问题是需要大量带注释的数据进行训练。 目前,没有带注释的地面高程图的公共数据集可用。为了克服这个困难,我们提出了两种方法:形态学操作和基于 CRF 的方法,以从 SemanticKITTI 数据集中获取地面真实高程图。

它由三个主要阶段组成: (1) 将点云离散化为二维网格; (2) 将点云转换为稀疏伪图像的支柱特征(Pillar features)编码网络; (3)二维卷积编码器解码器网络,用于处理伪图像并产生高阶表示和每个单元的地面高程回归。

系统架构图:

 详细机理:

点云离散化:作者认为不需要对z维度进行分割,即分成了多个pillar,因为这不会影响检测的准确性并且能显著提高计算效率。每个pillar通过xyz坐标的平均值和xp,yp来增加描述维度,c表示pillar中所有点的平均值,p表示每个点相对中心的偏移量。由于点云的稀疏性,有一部分pillar中没有点或很少点,因此固定每个pillar中点数为N来创建一个密集张量(D P N),P为非空pillar的数量,D=9(维数,xyz反射率...),若包含N个以上点,则随机采样N个,若不足N个点,则用零值填充。

Pillar特征编码与伪图像构建:使用简化的(由一个线性层组成的)PointNet网络来提取每个非空pillar的特征,并通过Batchnorm和ReLU来生成(C P N)张量,通过最大池化操作生成输出张量(C P),并合成一个大小为(C H W)的伪图像,HW分别为网格高和宽。(C是特征向量的维数吗?)

编码—解码网络:用于提取空间特征。方法与SegNet网络类似,编码器部分由4个卷积层组成,解码器也是4个卷积层,输出的伪图像形状与输入相同,再通过一个卷积滤波器对输出伪图像中每个像素的地面高度值进行回归。

点云分割:在每个单元中,将预测的地面高度阈值T以上的点分割为障碍物,将预测的地面高度阈值T以下的点分割为地面点。将地面点移除并生成占用网格。

为了解决由遮挡造成的部分网格没有接地点的问题,设计了基于形态学的处理方法(创建蒙版并通过膨胀操作来填充图中漏洞,并用膨胀后的蒙版减去之前的蒙版得到漏洞图,使用在scikit-image中实现的基于双调和函数的修复和表面补全方法来填充高程图中的漏洞)和基于CRF的方法(最终采取,平滑一致性更好)。

网络损失函数包括因素有:回归损失,空间平滑损失。

Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process:

本文提出的JCP(Jump-Convolution-Process)算法将三维点云的分割问题转化为二维图像的平滑问题。首先,将改进的局部特征提取算法(环形高程连接图,the ring-shaped elevation conjunction map,RECM)提取地面高度特征,快速得到粗分割结果。将标记的点云(分为地面点或障碍点),在高程图上附加了地面高度特征(ground height characteristic),增强了其在复杂道路场景下的适用性,并明显改善了过分割问题;然后,用点的标签初始化像素值形成RGB图像,并根据图像卷积不断更新。最后,在卷积过程中引入跳跃运算(JCP),只对可信度传播算法过滤的低置信点进行计算,减少了时间开销。该方法处理64束和128束激光雷达一次扫描数据的平均时间仅为8.61 ms和15.62 ms,实时性较好。

Bogoslavskyi等考虑到激光雷达扫描器光线之间的固定角度关系,提出将点云映射为深度图像,利用邻域关系分割深度图像。由于图结构的灵活性,将点映射成像素后,利用丰富的图像处理库可以快速准确地得到良好的分割效果。

首先利用一种改进的特征提取算法RECM(环形高程连接图,the ring-shaped elevation conjunction map)将原始点云分类为地面点或障碍点,然后将点云映射为RGB图像,根据粗分割结果初始化像素值。然后执行JCP对“低置信点”——可信度传播后的绿色和红色通道的交点——进行重新分类,并对分割结果进行优化。

系统架构图:

 详细机理:

首先利用一种改进的特征提取算法RECM(环形高程连接图,the ring-shaped elevation conjunction map)将原始点云分类为地面点或障碍点,然后将点云映射为RGB图像,根据粗分割结果初始化像素值。然后执行JCP对“低置信点”——可信度传播后的绿色和红色通道的交点——进行重新分类,并对分割结果进行优化。

点云分类:首先利用激光束之间的角度关系对点云进行排序,将每个点的状态向量定义为(x,y,z,lable),下标为t,c均与角度有关。

RECM:将激光点云图在xoy平面建立高程图(M*N)按同心环形(激光束的俯仰角)分割(M-1个),并且按照水平转角等分成N个部分,设环形的径向长度(环距值)为△R。通过提取地面高度特征,短距离内的路面相对平坦,所以不会出现道路高度的突然变化,因此选择较小的∆R值,以避免分割不充分,并在前后网格之间建立了梯度连接,将这些孤立的区域连接起来,可以显著避免过度分割。对于坡度较大的网格,附加对坡度k的判断,若k大于道路的最大坡度值,那么就视为非地面点。

JCP:将上述分割的点云对映成像素映射为RGB图像,地面点标记为绿色,非地面点标记为红色,不准确的分割通常发生在地面和障碍物的交界处。采用图像膨胀算法来描述像素点的可信度,将红色通道图像进行膨胀操作,并将红绿重合点改为蓝色,视为低置信度点。通过比较低置信度点与周围高置信度点的距离来确定其类别:将归一化的加权距离值作为卷积核的元素,卷积运算只对低置信度点(蓝色通道)进行,通过比较红、绿色通道的卷积结果来确定其类别。因为近距离点的置信度更高,所以选择从近到远进行卷积(即图像从下到上),避免了欠分割。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值