1 引言
本文采用VelodyneVLP-16三维激光雷达进行障碍物检测。使用匈牙利匹配算法解决了传统的匹配算法中计算效率低,匹配准确度不高的问题。针对非线性条件下标准卡尔曼滤波估计不准的问题,使用扩展卡尔曼滤波进行改进。通过实验表明整个检测流程能够在每帧100ms内实现准确、稳定地检测和跟踪。
2 目标跟踪理论及算法
随着时代的不断进步,目标跟踪算法在不断的优化,为了满足所需的计算速度和性能,学者们做了大量的研究。本文算法流程如图1所示。
图1 算法流程
2.1 聚类
聚类是按照一定的要求和规律将事物进行分类的过程,在这个过程中没有任何关于类别的先验知识,仅仅考虑对象之间的相似性作为划分的准则。由于自然环境的多变性和复杂性,激光雷达扫描得到的点云数据中包含了物体之间的距离信息,在没有先验信息的条件下,待聚类的个数和空间分布是未知的。为了快速准确的对目标进行聚类,本文使用PCL库中的欧式聚类法。
距离相似性常用于聚类的分析中,点与点之间的距离可以作为样本相似性的度量,也可以反映样本所属类型的差异。欧式聚类的原理为:设点云数据中m个点,这些点组成了n个类型,在p 维空间中定义某种性质的点与点之间的亲疏聚类,将距离最小的两个类别合为一类,并迭代计算类之间的距离,直到所有的类别之间的距离大于设定的阈值。对于p维空间中的点i 和点j 之间的距离可以表示为:
2.2 匹配
基于目标运动的跟踪算法主要是通过预测下一时刻目标可能出现的区域,并以区域中心向外扩充的方式对目标进行跟踪。在跟踪过程中会出现大量冗余的信息,对目标跟踪的精度产生影响。匈牙利算法计算速度快,准确度在无人车驾驶中有着良好的匹配结果。在障碍物检测中,按照传感器进行分类,将目标预测的结果与测量的点云数据进行匹配,正确的匹配关系是后续的融合算法的基础。匹配过程的算法流程为:
Step1:目标预测的结果与测量的点云数据计算关联矩阵;
Step2:利用匈牙利算法进行匹配关系的确定;
Step3:将数据分为匹配上的目标和未匹配上的目标两类,分别保存,为跟踪做准备。
2.3 信息融合
行驶的道路上车辆密集度较高,单一的传感器难以得到目标的准确位置,因此就需要多传感器进行融合,构建精度更高的检测系统。多传感器信息融合技术在解决目标检测和跟踪问题上具有很多优势。首先它能扩展系统空间和时间覆盖度:多个传感器的探测范围更广,能测到单传感器探测不到的地方;而且多个传感器能够实现异步检测,多传感器间相互协同可以提高检测跟踪的概率。在信息融合中,卡尔曼滤波是最常用的方法,它依据接收器收到的观测值作为输入值,按照之前的要求估计量作为滤波的输出值。在实际应用中,状态方程和量测方程为非线性,因此需要对非线性函数进行线性化近似,最常用的是扩展卡尔曼滤波。
3 实验结果及分析
为了验证本文算法的有效性,在ROS系统下采用c++编程实时显示激光雷达检测的情况。在结构化道路上进行实验,本文利用激光雷达生成的三维点云进行显示,并且与摄像头录取的实际路面情况进行对比验证,实验结果如图2 所示。在点云显示图中,红色方块表示无人车位置,绿色方框表示检测到的障碍物信息。由图2的实验结果可知:
(1)由图2(a)中可知无人车前方有四个障碍物交替错开,在图2(b)的激光雷达点云数据显示中得到与(a)中相对应的位置分布。
(2)图2(a)中障碍物比较密集,相距比较近,由图2(b)中显示结果可以看出能够对相距较近的障碍物进行准确的识别跟踪。说明了匹配与融合算法在实际应用的有效性。
(3)图2(c)中主要检测左方的静态白色车辆和动态的摩托车,前方的动态车辆,由图2(d)中的显示结果可以看出能够对动态与静态的车辆准确的跟踪,对于相对较小的摩托车也能够进行准确的跟踪。
图2 激光雷达障碍物检测与跟踪
4 结论
本文针对无人驾驶汽车中的障碍物检测问题,利用激光雷达获取目标的位置信息,对无人车感知系统中障碍物探测做了相关的理论分析,并结合工程实际实现了相关算法,为无人驾驶车辆提供了障碍物信息。主要的工作如下:
(1)根据三维激光雷达的通讯协议和数据结构,对原始点云数据进行解析和预处理,实现数据的坐标转换。
(2)针对障碍物检测问题,根据预处理得到的数据进行欧式距离聚类,在此基础上使用匈牙利算法对估计位置和测量结果进行匹配,对匹配上的航迹数据运用EKF 算法进行融合,将未匹配上的航迹提出;对没有匹配上的目标创建新的航迹,及时的对障碍物信息进行更新。
(3)将算法运用到工程实际中,通过仿真实验与道路实测对本文算法的可行性进行验证。实验表明本文提出的算法能够对目标的位置进行准确的估计,而且实时性很高。
1 引言
本文采用VelodyneVLP-16三维激光雷达进行障碍物检测。使用匈牙利匹配算法解决了传统的匹配算法中计算效率低,匹配准确度不高的问题。针对非线性条件下标准卡尔曼滤波估计不准的问题,使用扩展卡尔曼滤波进行改进。通过实验表明整个检测流程能够在每帧100ms内实现准确、稳定地检测和跟踪。
2 目标跟踪理论及算法
随着时代的不断进步,目标跟踪算法在不断的优化,为了满足所需的计算速度和性能,学者们做了大量的研究。本文算法流程如图1所示。
图1 算法流程
2.1 聚类
聚类是按照一定的要求和规律将事物进行分类的过程,在这个过程中没有任何关于类别的先验知识,仅仅考虑对象之间的相似性作为划分的准则。由于自然环境的多变性和复杂性,激光雷达扫描得到的点云数据中包含了物体之间的距离信息,在没有先验信息的条件下,待聚类的个数和空间分布是未知的。为了快速准确的对目标进行聚类,本文使用PCL库中的欧式聚类法。
距离相似性常用于聚类的分析中,点与点之间的距离可以作为样本相似性的度量,也可以反映样本所属类型的差异。欧式聚类的原理为:设点云数据中m个点,这些点组成了n个类型,在p 维空间中定义某种性质的点与点之间的亲疏聚类,将距离最小的两个类别合为一类,并迭代计算类之间的距离,直到所有的类别之间的距离大于设定的阈值。对于p维空间中的点i 和点j 之间的距离可以表示为:
2.2 匹配
基于目标运动的跟踪算法主要是通过预测下一时刻目标可能出现的区域,并以区域中心向外扩充的方式对目标进行跟踪。在跟踪过程中会出现大量冗余的信息,对目标跟踪的精度产生影响。匈牙利算法计算速度快,准确度在无人车驾驶中有着良好的匹配结果。在障碍物检测中,按照传感器进行分类,将目标预测的结果与测量的点云数据进行匹配,正确的匹配关系是后续的融合算法的基础。匹配过程的算法流程为:
Step1:目标预测的结果与测量的点云数据计算关联矩阵;
Step2:利用匈牙利算法进行匹配关系的确定;
Step3:将数据分为匹配上的目标和未匹配上的目标两类,分别保存,为跟踪做准备。
2.3 信息融合
行驶的道路上车辆密集度较高,单一的传感器难以得到目标的准确位置,因此就需要多传感器进行融合,构建精度更高的检测系统。多传感器信息融合技术在解决目标检测和跟踪问题上具有很多优势。首先它能扩展系统空间和时间覆盖度:多个传感器的探测范围更广,能测到单传感器探测不到的地方;而且多个传感器能够实现异步检测,多传感器间相互协同可以提高检测跟踪的概率。在信息融合中,卡尔曼滤波是最常用的方法,它依据接收器收到的观测值作为输入值,按照之前的要求估计量作为滤波的输出值。在实际应用中,状态方程和量测方程为非线性,因此需要对非线性函数进行线性化近似,最常用的是扩展卡尔曼滤波。
3 实验结果及分析
为了验证本文算法的有效性,在ROS系统下采用c++编程实时显示激光雷达检测的情况。在结构化道路上进行实验,本文利用激光雷达生成的三维点云进行显示,并且与摄像头录取的实际路面情况进行对比验证,实验结果如图2 所示。在点云显示图中,红色方块表示无人车位置,绿色方框表示检测到的障碍物信息。由图2的实验结果可知:
(1)由图2(a)中可知无人车前方有四个障碍物交替错开,在图2(b)的激光雷达点云数据显示中得到与(a)中相对应的位置分布。
(2)图2(a)中障碍物比较密集,相距比较近,由图2(b)中显示结果可以看出能够对相距较近的障碍物进行准确的识别跟踪。说明了匹配与融合算法在实际应用的有效性。
(3)图2(c)中主要检测左方的静态白色车辆和动态的摩托车,前方的动态车辆,由图2(d)中的显示结果可以看出能够对动态与静态的车辆准确的跟踪,对于相对较小的摩托车也能够进行准确的跟踪。
图2 激光雷达障碍物检测与跟踪
4 结论
本文针对无人驾驶汽车中的障碍物检测问题,利用激光雷达获取目标的位置信息,对无人车感知系统中障碍物探测做了相关的理论分析,并结合工程实际实现了相关算法,为无人驾驶车辆提供了障碍物信息。主要的工作如下:
(1)根据三维激光雷达的通讯协议和数据结构,对原始点云数据进行解析和预处理,实现数据的坐标转换。
(2)针对障碍物检测问题,根据预处理得到的数据进行欧式距离聚类,在此基础上使用匈牙利算法对估计位置和测量结果进行匹配,对匹配上的航迹数据运用EKF 算法进行融合,将未匹配上的航迹提出;对没有匹配上的目标创建新的航迹,及时的对障碍物信息进行更新。
(3)将算法运用到工程实际中,通过仿真实验与道路实测对本文算法的可行性进行验证。实验表明本文提出的算法能够对目标的位置进行准确的估计,而且实时性很高。
举报