基于虚幻引擎与三维点云的列车障碍物检测仿真系统设计①

2023-11-20 08:36禹鑫燚何伟琪崔朱帆欧林林
高技术通讯 2023年10期
关键词:体素激光雷达障碍物

禹鑫燚 何伟琪 崔朱帆 欧林林

(浙江工业大学信息工程学院 杭州 310023)

0 引言

近年来,我国轨道交通的运输量不断增加,列车运行速度也越来越快,据国家铁路局公布的数据显示,铁路客货运量持续增长[1]。铁道交通运输的发展给人们的生活带来便利的同时,对列车运行的安全性提出了更高的要求。轨道列车非接触式障碍物检测,在列车安全行驶的过程中显得极为重要[2]。列车运行时依靠驾驶员的人为判断前方是否存在障碍物,但无法避免人为因素导致潜在的危险。因此,鉴于行车安全需要智能化保障的背景下,列车前方障碍物检测是必要的。但是铁路交通运行环境封闭,使用传感器采集真实轨道运行时的数据十分困难。

基于仿真平台进行算法仿真测试,不仅可以提高研究测试效率,还可以将列车与自然环境的交互考虑在算法内。轨道列车仿真系统对于轨道列车的障碍物检测研究具有重要的意义。Koh[3]基于Sim-Mobility 模拟平台设计了一个铁路仿真系统,可以根据配置文件灵活地对多种场景和策略进行建模。郭彦宏[4]基于微软的列车模拟器(microsoft train simulate,MSTS)搭建了仿真平台并研究了列车控制算法和列车自动驾驶仿真实验等,但缺少对轨道障碍物检测的仿真研究。Tang[5]基于LabVIEW 软件创建了一个火车检测和物体检测的仿真环境,并在铁路站台的2D 图像中检测障碍物实现列车进站安全预警系统,对轨道交通安全起到有效的作用。目前主流的轨道仿真系统过于理想化,未充分考虑真实场景中的问题,尤其是在轨道障碍物实时检测方面。

根据上述分析,为满足轨道列车障碍物检测仿真系统的模拟真实列车场景的需求,本文设计了轨道列车障碍物检测仿真系统。首先,基于虚幻引擎构建了仿真系统的虚拟仿真环境。通过3D 建模技术,使用建模软件在虚幻引擎构建的场景中创建了地形地貌并覆盖植被,在场景中搭建轨道和列车。其次,根据真实传感器原理设计虚拟激光雷达传感器并采集环境的实验数据。

针对列车行驶安全系统中的轨道障碍物检测问题,现有的研究[6-10]主要通过安装在列车头部的传感器(如相机和激光雷达)获取环境数据进行障碍物检测。基于图像的方法因数据获取便利和物体辨识度高等优点被用于障碍物检测[6-8],但是容易受到极端天气与光照变化的影响,在雨、雪、光强瞬变(进出隧道时)等情况下存在鲁棒性不足的问题。激光雷达主动发射射线获取环境点云,不受天气与光照影响,同时包含精确的目标物体的三维空间信息,因此不断地被应用于环境感知领域[9-11]。郭双全[9]提出采用雷达传感器实现铁路线路异物侵限检测,通过构建轨道地图和设计检测区域模型来检测障碍物,但不能满足实时障碍物检测的需求。蔚增岩[10]提出一种适用于铁路环境的地面滤除方法用于分离目标范围内的地面与障碍物,通过建立物体模型库匹配障碍物类别,但只能用于近距离障碍物检测。

传统的点云处理方法主要是通过人工设计的特征来制定各个类别点云的统计规则和几何模型约束,通常只适用于三维物体模型。深度学习技术的发展[12]为点云语义分割领域提供了新的技术路线,可以分为基于体素和基于点的方法。PointNet[13]是一个开创性的网络框架,它直接对每个点执行全连接操作,利用全连接网络和最大池化层来近似函数的置换不变特性,解决了点云数据的排列顺序问题,但忽略了点云局部特征的提取而导致复杂场景下精度不高。Hu 等人[14]提出了RandLA-Net,其中随机降采样有效地提高模型计算速度,但也容易受到噪声点云影响。基于体素的方法将体素与3D 卷积网络相结合,VoxNet[15]首先被用于点云的目标检测任务中,它使用固定体积的立方体分割点云,但此方法较难适应室外场景点云的稀疏性和密度易变等特点。因此,Zhou 等人[16]提出了圆柱形体素分割,将公路场景的雷达点云根据距离动态划分到扇形体素中,从而产生更均衡的体素与点云分布的关系,在语义分割任务中获得了更高的精度。

针对图像传感器对光照条件敏感与图像数据在空间信息检测上的缺陷,本文研究了基于三维点云的轨道检测方法。首先,根据铁路场景雷达扫描视角与点云数据稀疏性和密度易变的特点,分别设计了锥形体素分割和点云局部特征聚合方法来提取铁轨的高阶几何特征,提出了基于稀疏3D 卷积的点云语义分割网络模型对每个体素分类,根据体素与点的索引关系将体素类别映射到对应的点云,实现轨道点云分割。最后,通过拟合离散的轨道点云获得连续的安全行车3D 区域,基于随机抽样一致性算法[17]分割轨道平面,对区域内剩余点云聚类得到障碍物的三维位置。

1 铁路仿真环境搭建

本节基于虚幻引擎(unreal engine,UE) 开发系统仿真环境,如图1 所示,包括地形地貌、轨道列车和障碍物,通过虚拟激光雷达传感器获取铁路环境数据。地行地貌中有地形、植被等自然环境的元素,还有轨道和运行的列车。构建仿真系统的目的是验证轨道列车障碍物检测方法,需要获得仿真环境的三维点云数据,因此设计了虚拟激光雷达传感器。传感器被安装在列车运行的头部,获取列车运行时环境中的三维点云,用来检测列车运行前方的环境中是否有障碍物。

图1 铁路仿真环境及三维点云获取框架图

1.1 铁路环境构建

环境地形地貌承载整个虚拟仿真场景,是环境的基础。其包括山坡、草坪、岩壁、树林等自然环境元素。地形地貌构建如图2 所示,将建模软件制作的高度图、实物模型、材质资源导入到环境中,使用World Machine 制作基础地形,基于UE 地形编辑系统Land Scape 进一步优化地形细节,并利用Speed Tree 工具编辑树木模型并批量地添加到虚拟仿真环境中,完成地形地貌的构建。基于UE 提供的材质库为地表设计添加草坪的材质纹理,通过Land Scape 的地形修改组件去优化地形,雕刻和绘制山坡和沟堑,对地形高度图生成的地形进行平滑处理。

图2 地形地貌构建

在Speed Tree 软件中为仿真环境设计制作绿植。Speed Tree 使用节点编程模式,依次添加树干、树枝、树叶并调整大小、节点数量、位姿等参数。给树添加材质贴图,树干需要颜色贴图、法线贴图,树叶另外需要透明贴图。将模型导出并添加到UE 的Land Scape 地形编辑器中,批量的设置添加树木到仿真环境中,效果如图3 所示,环境表现接近自然环境。

图3 地形地貌

除了自然环境,仿真环境中还包含轨道、电杆、站台等静物以及在轨道上运行的列车。使用3D Max 三维建模软件搭建轨道、列车、电线杆、站台等模型,将模型按照要求转换为静态网格体导入到UE中,并布置在场景中。仿真环境中的障碍物模型有人体、石头、正方体和圆柱体等。图4 给出了导入完成后的列车、枕木、铁轨、电杆和障碍物等模型。

以单轨道的实际铁路场景为参考,仿真环境构建结果如图5 所示,左转轨道包含人、圆球和石块等障碍物。

图5 铁路仿真环境

1.2 虚拟激光雷达传感器获取点云数据

根据激光雷达扫描单元的结构不同,激光雷达分为机械式、混合式和纯固态激光雷达。机械式激光雷达因原理简单、360 °扫描的特点,被广泛应用于智能驾驶实验测试中。

混合式激光雷达把机械结构集成到体积较小的硅基芯片上,激光发射元件在竖直方向上排布成激光光源线阵,在竖直面内产生不同指向的激光光束,通过微振镜改变单个发射器的发射角度,竖直面内的激光不断旋转由“线”扫描形成“面”,实现对被测对象、环境的三维扫描。以innovusion Jaguar Gen-1激光雷达的参数为依据,其参数如表1,基于混合式激光雷达的原理,使用UE 的光线追踪性能设计仿真环境中获取数据的虚拟激光雷达传感器。

表1 激光雷达硬件参数

虚拟激光雷达感知基于虚幻引擎的光线渲染系统,用于射击游戏中获取被射击目标。其原理如图6所示,射线发出后会去在指定范围内对碰撞体(三角形)求交,依据着色表对交点判断,如果交点有效则触发碰撞(圆点)返回最近交点的距离。

图6 射线追踪

以雷达的位置作为射线的起点,若触发碰撞则得到原点到物体交点的距离,如图7 所示,根据已知的射线垂直角度α和水平角度β,可以得到交点的x、y和z坐标值如式(1)所示。

图7 交点坐标转换图

2 基于三维点云的障碍物检测方法

针对铁路场景列车运行的安全性问题,本节提出的基于三维点云障碍物检测方法分为2 个部分:轨道点云分割和列车安全行驶区域的障碍物判定。

本节提出一种基于深度学习的三维点云语义分割网络与障碍物判定的方法,可以精确地检测出轨道障碍物。方法组成如图8 所示,包括轨道点云分割和障碍物判定。首先对不同的铁路场景(例如直轨道、弯轨道)分割出轨道点云;然后基于离散的轨道点云和列车尺寸信息拟合出列车前方的安全行驶3D 区域,对区域内的轨面点云进行地面分割;最后对剩余的点云聚类并根据每个类别中点的数量判断是否存在障碍物,若存在,则计算障碍物的3D 位置,完成障碍物检测。

图8 障碍物检测方法流程图

2.1 轨道点云分割

点云语义分割网络分为基于体素的三维卷积方法和基于投影的二维语义分割方法。投影法通常是将点云投影到特定的平面或曲面上,再基于图像中的语义分割网络得到点云分割结果。这类方法的最终性能通常要低于基于体素的方法,因为经过投影之后的点云会丢失三维空间的几何结构信息。传统的三维卷积属于密集计算,复杂度达到O(n3),而点云在三维空间中的稀疏性导致三维卷积计算量大,包含大量无效计算。基于稀疏3D 卷积的方法只对非空体素执行卷积,避免了对无效体素的计算,从而加速整体卷积运算速度。

本文创建的仿真激光雷达安装在列车头部,有一个固定的探测范围。如图9 所示,激光雷达的扫描区域为四棱锥形,水平和俯仰角度由仿真雷达的参数决定。在点云采集过程中,由于距离、遮挡和相对位置等因素,近距离的点云密度要比远区的大得多。在相关的工作中,点云被划分为立方体体素[15],这将导致体素的点密度的非均衡性。基于扇形的体素划分思想[16],将点云在极坐标系下表示为

图9 雷达探测范围示意图

式中α、β、r分别为点在极坐标系下的垂直角、水平角和距离。然后进行体素划分,使得每个区域中都包含相同数量的雷达射线。如图10 所示,经过分割后,在笛卡尔坐标系中显示为锥形的体素,随着扫描范围内物体距离变远,每个体素覆盖的体积更广。

图10 体素分割示意图

最后将每个点划分到对应的体素中,即给每个点配对体素编号,具体步骤如下2 步所述。

(1)给定一帧点云P={pn|n=1,…,N},设定体素分割的网格大小为Δα、Δβ和Δr,它们分别表示垂直、水平和距离维度。假设雷达三维扫描的范围是αmin、αmax、βmin、βmax、rmin和rmax,点云被分割到体素为

其中,H、W和L是体素总的个数。

(2)对于点云中的每个点,体素编号为

其中,αn、βn、rn为点pn在极坐标系下的坐标值,h、w、l为点pn划分到体素的位置坐标。

在3D 卷积中,每个体素包含的信息用一个向量表示,此时需要将各个体素中包含的点云特征聚合到这个向量。仿真环境采集的一帧点云的点个数高达10 万个,过多的点云数量聚集到体素中会带来很多的计算量,因此在体素分割的基础上进行降采样,被去除的点不参与后续的卷积网络计算,减少了计算量。同时,为了减少降采样带来的物体几何信息丢失,将点云的局部特征进行编码,聚合到体素的向量中。点云的局部特征聚合的步骤如下4 步所示。

(1)一帧点云经过扇形体素分割并降采样后,留下一个点作为该体素的代表。基于最近邻算法(k-nearest neighbor,KNN),对每个非空体素中的点pn(查询点)查找它附近的K个最近邻点集其中是距离pn的第k个最近点。然后为pn最近的K个点进行相对位置编码操作,其中第k个最近点特征信息表示为

其中pn和是点的x、y和z坐标值,-pn表示2个点的相对空间位置。

(2)经过上述步骤后,点的几何信息和相邻点间的关系被编码到对应的查询点,特征Fn可以表示为

(3)采用多层感知机(multilayer perceptron,MLP)来提取查询点几何的高维特征,对于K个最相邻点的C个特征维度,基于最大池化层(max)保留特征各个维度中最大特征值:

(4)每个体素经过特征提取步骤得到高阶的、带有最显著的局部几何特征。点云通过锥形体素集合表示为R ∈C×H×W×L,其中C表示特征维度,H、W和L分别是垂直、水平和距离维度。

考虑铁路场景是由轨道床、供电杆和线缆等组成的固定结构。在列车转弯或变轨时,轨道在激光雷达视角中不断变化,需要结合多层语义信息提取特征。本文提出了基于稀疏3D 卷积算子[18]的多尺度点云语义分割网络,网络的核心是将高维轨道环境信息作为有效的先验条件,基于mobilenet[19]的可分离卷积结构,构建轻量化的三维卷积升维下采样模块和降采样模块,此外利用上采样和下采样模块构建基于U-Net[20]语义分割的网络结构,最后通过逻辑回归分类器给每个体素预测类别。

点云语义分割网络模型结构如图11所示,网络采用编码和解码结构,由4 个D 模块组成,共经过3次下采样;解码部分由4 个U 模块组成,共经过3 次上采样。编码部分属于收缩路径,用于获取上下文信息即局部特征,每一次下采样,卷积的感受域会扩大一倍;解码部分属于扩张路径,用于精确定位语义分割的位置,同时收缩路径和扩张路径是相互对称的。

图11 语义分割网络模型框架图

网络模型中的D 和U 模块是可分离结构的三维稀疏卷积模块。如图12 所示,方块表示输入与输出的体素特征向量,spconv 是稀疏3D 卷积算子,deconv 是反卷积算子。D 模块的输入是低阶的体素特征,经过一个[1 ×1 ×1,stride=1]的稀疏卷积核对每个特征通道数进行卷积操作,再经过[3 ×3 ×3,stride=1]的深度稀疏卷积和实现特征融合,并将此时的特征图传给上采样模块,最后通过[1 ×1 ×1,stride=2]对体素进行逐点卷积与下采样,得到高阶小尺寸的输出特征图。U 模块的输入是低阶的体素特征,经过一个[1 ×1 ×1,stride=2]的反卷积核对特征图进行反卷积操作并恢复其尺寸,然后聚合与U 模块对称结构的D 模块的特征图,再进行深度可分离稀疏卷积操作得到低阶的特征图。

图12 下采样编码与上采样解码模块

在轨道点云分割的任务中,D 和U 模块基于深度可分离结构,通过减少[3 ×3 ×3]卷积核中的通道数核增加[1 ×1 ×1]卷积核的通道数,目的是在保持模型性能(点云分割精度)的前提下降低模型大小和计算量。以输入特征图大小Cin×H×W×L和输出特征图大小Cout×H×W×L为例,对于标准卷积D×D,其计算量为Cin×Cout×H×W×L×D×D;而对于深度卷积[3 ×3 ×3],其计算量为Cin×H×W×L×D×D,逐点卷积[1 ×1 ×1]的计算量为Cin×Cout×H×W×L;标准卷积核深度可分离卷积的计算量比值为

当输出特征图的通道数Cout很大时,深度可分离卷积可以大约降低D2倍的计算量,同时网络模型的参数量也会降低。

算法1 是本节方法的具体实现过程。

2.2 障碍物检测

激光雷达实时采集环境点云,轨道部分点云在每帧的点云中都是近距离密集和远距离稀疏的特点,轨道形状包括直轨道、弯轨道和直轨道与弯轨道相接等。离散的三维轨道点云需要拟合出轨道中心线,基于中心线推算出列车前方的安全行驶空间。

面对直轨道和弯轨道场景,在轨道线拟合时忽略z轴,将轨道点云看作二维平面上的点。用直线表示轨道线是一种简化的方法,但是在弯轨道的近似结果与真实曲线偏差较大。二次函数可以同时表示直线与弯曲曲线,因此本文基于最小二乘法拟合二次函数来表示轨道的中心线。根据列车安全行车区域的宽和高,平移曲线得到三维矩形盒体范围,即列车前方安全行车区域。

在铁路环境中,障碍物大多数是未知物体,落在轨道上时有可能被识别为轨道,所以要分割出列车行驶区域内的路面点云,才能进一步对障碍物点云聚类以及定位。本文基于随机采样一致(random sample consensus,RANSAC)[17]算法对安全区域内的点云进行去地面处理。RANSAC 是一种在包含离群点的数据集合中,通过迭代的方式估计模型的参数,例如三维空间中的平面。相比于最小二乘法,在密度不均匀的轨道点云中,基于RANSAC 的平面拟合可以缓解点云分布不均匀的问题。假设铁路的地平面模型为α,本文采用基于RANSAC 拟合平面方法的步骤如下。

(1)在点云P中随机选择3 个不共线的点计算出平面α,其方程为

其中,A、B、C、D是3D 空间中确定平面α的参数,x、y、z表示三维坐标系下的值。

(2)依次计算P中所有点到平面α的距离,把距离小于阈值d的点归为内点,得到内点集合In,记录集合In中点的数量N。

(3)迭代步骤(1)和(2),对应于N最大的平面方程即为最优模型;当满足设定条件时退出迭代,例如达到设定的迭代次数。

在列车安全行驶的3D 区域内,去除地面点云后,剩下的都属于地面以上的点,然后对这些点进行聚类,形成多类物体的集合。依次统计集合中点的数量,若数量未超过设定的阈值,则认为无障碍物,反之则判定为存在障碍物。

基于密度的聚类算法(density-based spatial clustering of applications with noise,DBSCAN)[21],与层次和划分聚类方法不同,它将类定义为密度相连点的最大集合,能够把具有足够高密度的点云划分为同一类,并且能抑制离群点的影响。本节基于DBSCAN 算法对点云聚类,如图13 所示,根据ε(在一个点周围邻近区域的半径)、k(邻近区域内至少包含点的个数)2 个参数,把样本点云中的点分成3种:(1)核心点(A 点):以当前点为球心半径为ε的领域内含有不小于k个点云。(2)边缘点(B、C点):当前点云为球心半径为ε的领域内含有小于k且大于0 个点。(3)离群点(D 点):不是核点也不是边缘点。

图13 基于DBSCAN 算法的点云聚类

通过DBSCAN 聚类后,再统计每个聚类结果中的点云,将点的数量超过设定阈值的类别判定为障碍物,并将该类中点的最大和最小坐标值作为障碍物的具体位置,完成列车安全行车区间内障碍物的定位。

算法2 是障碍物判定算法的具体实现过程。

3 实验

本文的实验首先使用设计的虚拟激光雷达从铁路仿真环境中采集点三维云数据并制作数据集,然后训练点云语义分割网络模型并评估模型准确率。将障碍物随机地放置在轨道附近重新采集点云数据,使用训练的模型分割出轨道点云,再拟合连续的列车安全行车区域并得到区域内的点云。最后对安全区域内的点云进行地面分割和障碍物点云聚类等步骤实现障碍物检测。

3.1 铁路环境三维点云采集及数据集标注

在仿真环境中采集点云数据,如图14 所示,3种轨道场景包括直轨道、左转和右转轨道,其中纹状线条表示雷达射线与物体的交点,这些交点的集合即点云。

图14 直轨道、左转轨道和右转轨道的点云采集

如图15 所示,在轨道点云横截面中,轨道枕木和铁轨组成的区域具有明显的几何特征。因此将这个区域作为轨道标记区域,然后手动标注数据中的轨道点云,其余的点云标注为背景,标注完成后的可视化如图16 所示,其中虚线框内的点表示标注为轨道点云。

图15 轨道标记区域

图16 标注结果可视化图

在仿真环境中,一共采集180 帧点云数据并划分训练集和测试集,统计信息如表2 所示,包括60帧直线轨道、60 帧左转弯轨道和60 帧右转弯轨道。数据集包含大约452 万个点,其中轨道大约31.2 万个点。因为场景的空旷程度不一致,点云帧中点的数量范围是2 万~5 万,每个点包含x、y和z值,表示物体在3D 坐标系下被激光雷达扫描到的坐标值。根据铁路场景和轨道的排布类型,分为3 类场景,分别是直轨道,左转轨道和右转轨道。场景1、2、3 作为训练集,共150 帧;场景4、5、6 作为测试集,共30 帧。

表2 轨道环境仿真数据集具体信息

3.2 轨道点云分割实验

本实验的硬件设备是一个6 核3.4 GHz 的AMD CPU 与一张Nvidia 2080Ti 显卡。深度学习环境由Ubuntu-18.04 系统,Pytorch-1.6,Spconv-1.2.1等组成。锥形体素分割、相对位置编码和模型训练的主要参数如表3 所示。为了防止模型参数过拟合,在±5°范围内将点云随机绕z轴旋转,并且在点云上加入高斯噪声。模型训练过程中,动态学习速率设定为每10 个迭代(epoch)减小10 倍,并使用交叉熵损失函数来计算网络输出与真值标签的误差。

表3 网络模型训练的参数

实验结果评估方法使用通用的点云语义分割网络评价指标,分别是交并比(intersection over union,IoU),精度(precision),召回率(recall),表达式为

其中,TP表示真阳性,即正确识别轨道点的数量;FP表示假阳性,即真实背景点被识别为轨道点的数量;FN表示假阴性,即真实轨道点被识别为背景点的数量。

模型首先经过20 个epoch 训练,达到收敛;然后在场景4、5、6 中测试,测试结果如表4 所示,轨道识别的平均IoU达到93.2%。

表4 测试集上的轨道分割结果

轨道点云分割结果的可视化样例如图17 所示,其中虚线框内的点代表预测的TP点,圆形框内的点代表FN点,方形框内的点代表FP点。无论是在近距离密度高轨道还是在远距离点云稀疏的轨道,除了边缘部分有少许识别错误的点,带状的轨道点云基本上被完整分割。

图17 直轨道、左转轨道和右转轨道分割结果

在对比实验中,使用2 个有代表性的语义分割网络模型PointNet 和RandLA-Net 作为对比网络模型,在同样的数据集上训练和调参。对比实验的结果如表5 所示,本文提出的网络模型具有最高的IoU,并且远高于其他2 个对比网络。

表5 轨道点云分割对比实验结果

3.3 障碍物检测实验

使用仿真环境中的障碍物元素,在轨道附近放置1 至2 个障碍物,然后采集有障碍物的点云数据,如图18 所示。为了检验方法的鲁棒性能,在直轨道、左转和右转轨道上分别采样20 帧带有随机放置障碍物的点云,在60 帧点云中手动标注出障碍物的三维位置。

图18 放置圆球障碍物

在标注障碍物时,障碍物的3D 目标框位置使用一个六维向量表示为

其中,[xl,yl,zl] 和[xr,yr,zr] 表示目标框的左下角坐标和右上角坐标,若存在多个障碍物则在标签中有多个对应的位置向量。

将采集的数据输入到训练好的轨道点云分割网络模型中,得到轨道点云。忽略z轴,使用点云的x和y轴坐标值进行二次函数拟合,轨道中心线拟合结果如图19 所示。

图19 轨道中心线拟合

仿真环境列车的宽和高分别为3 m 和4 m,以人与列车的安全距离1 m 为限制,列车的安全行车区域宽的为5 m,向四周平移轨道中心线得到连续的3D 区域,即列车前方安全行车区域,如图20 所示,分别是直轨道、左转和右转轨道,其中安全行车区域由实线框表示,虚线框内的点表示区域内的点云。

图20 列车安全行驶区域

安全行车区域内的点云通常包括轨道、部分轨道床和障碍物等。基于RANSAC 算法分离地面,它的迭代次数设置为1000,距离阈值d取为20 cm,如图21 所示,在3 种轨道场景中均达到较好的分离效果,在地面点云,框内的点包括障碍物与离散的地面点(未被正确分离的地面点云)。

图21 地面点云分割结果

安全区域内的点云分离地面后,会有未被分离的地面点和噪声点,它们都是稀疏地分布在边缘位置,而障碍物则呈现密集的点云。在DBSCAN 对剩余点云聚类时,将邻近区域的半径ε取值为50 cm,邻近区域最小点个数k取值为10 时取得最佳效果且有较好的鲁棒性,过大和过小的邻域半径和不合适的最小包含点取值都会导致障碍物无法被精准地聚类或识别失败。图21 直轨道的聚类结果如图22所示,其中三角框内的是无效点,方形和椭圆形分别为2 类障碍物点云。

图22 直轨道障碍物点云聚类结果

障碍物判定的点云数量阈值为30,即同类点云数量大于30 则被判定为障碍物,然后计算该类所有点的边界值得到3D 物体框,完成障碍物检测。如图23 所示,分别是直轨道、左转轨道和右转轨道的障碍物检测结果,其中灰色的是背景点,虚线框是列车前方安全行驶区域,实线框内的点云分别是障碍物。

图23 直轨道、左转轨道和右转轨道障碍物检测结果

本文实验使用的主机配置包括1 块6 核3.4 GHz的CPU,1 张NVIDIA 2080TI 显卡。图24 是点的数量与算法耗时的关系图,仿真环境中一帧点云包含2.5~5.5 万个点,算法耗时与点的数量呈正比关系,耗时大约在70~90 ms/帧。雷达采集点云的频率为10 Hz,即100 ms/帧,本文算法平均耗时小于雷达采集速度,因此达到实时性。

图24 算法耗时

4 结论

针对铁路场景列车运行的安全性问题,本文设计了一种基于虚幻引擎与三维点云的列车前方障碍物检测仿真系统。首先,本文构建的铁路环境仿真系统和虚拟激光雷达传感器弥补了真实场景采集障

碍物数据困难的缺陷。然后,轨道分割方法中的锥形体素点云分割方法实现了体素随距离增大而包含更多的点,缓解了点云密度对局部特征聚合的影响。最后,提出了一种基于三维点云数据的列车前方障碍物判定方法用于检测障碍物。实验结果表明,点云语义分割网络在仿真环境采集的数据中分割轨道点云的平均IoU达到93.2%,拟合的列车安全行驶区域与铁轨方向一致,障碍物判定方法可以准确地识别障碍物的位置。与传统轨道障碍物检测系统相比,本系统可以高效地构建环境、采集数据和验证方法的有效性。

猜你喜欢
体素激光雷达障碍物
基于多级细分的彩色模型表面体素化算法
手持激光雷达应用解决方案
瘦体素决定肥瘦
法雷奥第二代SCALA?激光雷达
运用边界状态约束的表面体素加密细分算法
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
基于体素格尺度不变特征变换的快速点云配准方法
基于激光雷达通信的地面特征识别技术
基于激光雷达的多旋翼无人机室内定位与避障研究