论文部分内容阅读
摘 要:针对车辆检测中传感器数据来源单一的问题,提出综合激光雷达点云与图像信息应用于车辆检测。首先进行激光雷达相对于相机的校准使得点云与图像数据相互匹配,然后对稀疏点云进行插值,得到距离与反射强度密集数据,并将各模态的数据分别输入YOLO-tiny中训练,训练好的分类器可用于车辆检测。实验结果表明,点云数据可以为基于图像的车辆检测提供额外的信息,多模态的车辆检测可以为决策级的融合提供有效依据。
关键词:车辆检测;传感器融合;深度学习
1.前言
目前,我国拥有超过2亿辆汽车保有量,新车年销售量接近3000万辆。智能汽车已成为汽车产业发展的战略方向,发展智能汽车是解决汽车社会交通安全、道路拥堵、能源消耗、环境污染等问题的重要手段[1],所以需要加快推进汽车向智能化方向发展。安全性是智能汽车发展需要实现的最为重要的目标。据调查,现代汽车交通事故有百分之七十以上是因为追尾发生的,因此主动安全中前方碰撞系统需要进一步的优化和改进。汽车前方碰撞预警系统[2]通过时刻监测前方车辆,判断本车与前车之间的距离、方位及相对速度,当存在潜在碰撞危险时对驾驶者进行警告。车辆检测对智能汽车实现碰撞预警至关重要。
目前在车辆检测领域,许多研究都利用来自摄像头的图像信息,而对于激光雷达等传感器的数据利用较少。根据车辆所用传感器类型不同,例如传统CMOS/CCD摄像头或是新型LiDAR,所采集到的信息有所不同。每种类型的传感器都有其优缺点[3]。彩色摄像机可以获得周围世界的颜色和纹理信息,但检测范围有限,且在光照受限或是恶劣的天气条件下效果不理想。激光雷达可以为智能汽车提供精确的距离信息,在夜间也能工作,但不能从中获得颜色信息,且在雨雪天气中工作性能不佳。多传感器融合已经成为目前研究的热点。
针对现有车辆检测方法中所用传感器数据来源单一的问题,提出综合激光雷达点云与图像信息并应用于车辆检测。为融合不同类型传感器的数据,首先进行激光雷达相对于相机的校准,使彩色相机的图像信息和激光雷达的点云数据相互匹配。然后对稀疏的点云数据进行上采样,生成密集的距离数据和反射强度数据。在此基础上,将彩色图像和生成的两类密集数据分别输入到YOLO-tiny中训练,训练好的模型可以用来进行多模态车辆检测,得到的车辆检测结果为决策级的融合提供依据。
2.车辆检测算法概述
2.1激光雷达的校准
在传感器数据融合前,必须要进行激光雷达相对于相机的校准工作。激光雷达需要校准是因为确定激光雷达坐标系相对于相机坐标系进行六自由度变换才能与后者重合,所以校准要做的就是确定前者到后者的变换需要的六个参数,即空间x,y,z三轴的旋转角度和平移距离。这六个参数唯一确定了激光雷达坐标系到相机坐标系的变换矩阵T。校准之后,激光雷达和相机的数据才能匹配上。校准精度越高,传感器的数据匹配度就越高。
使用的图像和点云数据均来自KITTI数据集。KITTI数据集[4]采集自德国卡尔斯鲁厄及其周边地区,包含农村、城市地区真实的交通场景。采集数据的设备有彩色相机和激光雷达。作者对激光雷达进行了初步的校准,可以在此基础上进一步提高校准的精度。
采用文献[5]中的方法,对图像和点云数据进行边缘匹配。提取图像边缘的算法已经较为成熟,而对于激光雷达,使用的是其中的反射强度数据。当点云数据中某个点与相邻点的反射强度的差值超过设定的阈值,该点就成为点云数据中的边缘点。对点云中的每个点,定义该点的不连续度X为:
式中,i表示点云中点的序号,r表示该点的反射强度。
如图1(a)所示,选取某一幅图像,先后对其进行Sobel算子滤波、腐蚀膨胀和高斯滤波提取其边缘。同时,提取了相应点云数据中的边缘点。当这些边缘点投影到边缘图中,就呈现出如图所示的效果。我们把边缘点和边缘图都处理为相同的矩阵大小,对两者进行元素乘法,将结果定义为相似度分数S。
式中, X(T)表示使用变换矩阵T时,点云的不连续度投影到图像平面的矩阵, S(T)表示使用变换矩阵T时求得的相似度分数,E表示图像经过边缘检测后得到的边缘图。
在此基础上运用无梯时度优化算法求该目标函数的最大值,以使得图像和雷达数据中的边缘尽可能匹配,S取最大值时的T就是所求的最佳变换矩阵,最佳六参数同时也唯一确定。经过优化,六个参数与KITTI数据集提供的参数间的相对误差为:7.480969e-04°,1.472487e-03°,1.608395e-04°,4.187419e-05m,1.162718e-04m,6.979999e-05。调整前后点云投影到图像上的效果图分别如图1(b)(c)所示。提升激光雷达与摄像头的数据匹配度有助于两者信息的融合。
图1 (a)校准优化后,边缘点投影至边缘图的匹配效果;(b)校准优化前,点云投影至图像平面;(c)校准优化后,点云投影至图像平面
2.2多模态数据的产生
激光雷达的点云数据是稀疏的,如果想要在深度学习中使用点云数据,需要将其变得密集起来。使用文献[6]所述Delaunay三角化方法,对点云的距离和反射强度数据进行插值,得到两类图像数据:密集的距离数据和密集的反射强度数据,分别称为距离密集图和反射强度密集图。
根据已有的稀疏点云数据,使用最近邻插值来获得其他点处的距离或反射强度数据。以距离密集图的获取为例,将使用已知点的坐标(x0,y0)及其距离数据v0进行最近邻插值获得的函数定义为F
然后利用F便可以获得其余点(x,y)的距离数据v。
反射强度密集图的获得是类似的。值得注意的是,距离密集图和反射强度密集图的生成都没有使用来自相机的图像数据,而仅用了激光雷达的距离数据和反射强度数据。實例如图2所示。
2.3基于YOLO-tiny算法的车辆检测 對于某一帧来说,有四类数据,分别是相机拍摄的彩色图像、点云数据经处理获得的距离密集图、反射强度密集图以及2D车辆标签数据。每一帧的标签数据中记录了车辆在图像坐标系中的位置,标签数据由KITTI数据集提供。
在基于各类传感器的车辆检测领域,人们已经进行了许多研究工作。文献[7]利用二维图像基于先验知识的方法推测图像中潜在的车辆,主要利用车辆的几何结构、日间行驶时车辆下方的阴影、车辆尾灯以及车辆纹理、对称性、色彩等信息。更多的研究者考虑使用基于立体视觉[8]的车辆检测方法,包括视差图方法和逆透视映射法。此外,还有基于运动的方法使用光流法]来计算车辆和背景的相对运动,从而确定车辆的位置。由于发散光流的产生,该方法在检测相反方向运动的车辆时更为有效。近年来,随着卷积神经网络的发展,基于深度学习的方法也被应用于车辆检测。
将从相机获取的图像数据以及根据前文所述方法得到的两类密集图分别输入到神经网络中进行训练,进行多模态的车辆检测。本文采用YOLO-tiny作为深度学习训练网络。YOLO[10]是目前较为先进的目标检测算法,YOLO由24个卷积层、2个全连接层以及边界框输出所组成。YOLO-tiny是YOLO算法的作者提出的一个相对轻量的版本。使用YOLO-tiny在较短时间内实现车辆检测的初步效果。在训练YOLO-tiny时使用的GPU是NVIDAI MX150,并使用cnDNN进行加速。在各模态输入到YOLO-tiny中分别进行7800次迭代之后,得到三个训练好的YOLO-tiny的模型,并在图像上进行了测试,检测效果如图3所示。
从测试的结果可以看出,经过处理的点云数据可以作为车辆检测的依据,有不逊于图像数据的效果。结合三种模态下的检测结果,可以为决策级的融合提供依据。同时,前述相机和激光雷达点云数据的匹配对后续的融合起了积极作用。当然,可以在YOLO等性能更好的网络和更为强劲的GPU上按照本文思路进行实践,从而大幅提升检测效果。
3. 结论
3.1结论
本文综合利用图像与点云数据,使两者信息互为补充,并应用于车辆检测。进行激光雷达相对于相机的校准,使得彩色相机的图像信息和激光雷达的点云数据相互匹配。对稀疏的点云数据进行插值,生成距离密集图和反射强度密集图,可以用于深度学习的训练。实验结果表明,多模态下车辆检测的结果可以为决策级的融合提供依据,在相机使用受限以及车辆的色彩纹理信息与图像背景易混淆时,点云数据的利用有望提高车辆检测在不同环境条件下的鲁棒性。
参考文献:
[1] Tokody D, Mezei I J, Schuster G. An Overview of Autonomous Intelligent Vehicle Systems[M]//Vehicle and Automotive Engineering. Springer, Cham, 2017: 287-307.
关键词:车辆检测;传感器融合;深度学习
1.前言
目前,我国拥有超过2亿辆汽车保有量,新车年销售量接近3000万辆。智能汽车已成为汽车产业发展的战略方向,发展智能汽车是解决汽车社会交通安全、道路拥堵、能源消耗、环境污染等问题的重要手段[1],所以需要加快推进汽车向智能化方向发展。安全性是智能汽车发展需要实现的最为重要的目标。据调查,现代汽车交通事故有百分之七十以上是因为追尾发生的,因此主动安全中前方碰撞系统需要进一步的优化和改进。汽车前方碰撞预警系统[2]通过时刻监测前方车辆,判断本车与前车之间的距离、方位及相对速度,当存在潜在碰撞危险时对驾驶者进行警告。车辆检测对智能汽车实现碰撞预警至关重要。
目前在车辆检测领域,许多研究都利用来自摄像头的图像信息,而对于激光雷达等传感器的数据利用较少。根据车辆所用传感器类型不同,例如传统CMOS/CCD摄像头或是新型LiDAR,所采集到的信息有所不同。每种类型的传感器都有其优缺点[3]。彩色摄像机可以获得周围世界的颜色和纹理信息,但检测范围有限,且在光照受限或是恶劣的天气条件下效果不理想。激光雷达可以为智能汽车提供精确的距离信息,在夜间也能工作,但不能从中获得颜色信息,且在雨雪天气中工作性能不佳。多传感器融合已经成为目前研究的热点。
针对现有车辆检测方法中所用传感器数据来源单一的问题,提出综合激光雷达点云与图像信息并应用于车辆检测。为融合不同类型传感器的数据,首先进行激光雷达相对于相机的校准,使彩色相机的图像信息和激光雷达的点云数据相互匹配。然后对稀疏的点云数据进行上采样,生成密集的距离数据和反射强度数据。在此基础上,将彩色图像和生成的两类密集数据分别输入到YOLO-tiny中训练,训练好的模型可以用来进行多模态车辆检测,得到的车辆检测结果为决策级的融合提供依据。
2.车辆检测算法概述
2.1激光雷达的校准
在传感器数据融合前,必须要进行激光雷达相对于相机的校准工作。激光雷达需要校准是因为确定激光雷达坐标系相对于相机坐标系进行六自由度变换才能与后者重合,所以校准要做的就是确定前者到后者的变换需要的六个参数,即空间x,y,z三轴的旋转角度和平移距离。这六个参数唯一确定了激光雷达坐标系到相机坐标系的变换矩阵T。校准之后,激光雷达和相机的数据才能匹配上。校准精度越高,传感器的数据匹配度就越高。
使用的图像和点云数据均来自KITTI数据集。KITTI数据集[4]采集自德国卡尔斯鲁厄及其周边地区,包含农村、城市地区真实的交通场景。采集数据的设备有彩色相机和激光雷达。作者对激光雷达进行了初步的校准,可以在此基础上进一步提高校准的精度。
采用文献[5]中的方法,对图像和点云数据进行边缘匹配。提取图像边缘的算法已经较为成熟,而对于激光雷达,使用的是其中的反射强度数据。当点云数据中某个点与相邻点的反射强度的差值超过设定的阈值,该点就成为点云数据中的边缘点。对点云中的每个点,定义该点的不连续度X为:
式中,i表示点云中点的序号,r表示该点的反射强度。
如图1(a)所示,选取某一幅图像,先后对其进行Sobel算子滤波、腐蚀膨胀和高斯滤波提取其边缘。同时,提取了相应点云数据中的边缘点。当这些边缘点投影到边缘图中,就呈现出如图所示的效果。我们把边缘点和边缘图都处理为相同的矩阵大小,对两者进行元素乘法,将结果定义为相似度分数S。
式中, X(T)表示使用变换矩阵T时,点云的不连续度投影到图像平面的矩阵, S(T)表示使用变换矩阵T时求得的相似度分数,E表示图像经过边缘检测后得到的边缘图。
在此基础上运用无梯时度优化算法求该目标函数的最大值,以使得图像和雷达数据中的边缘尽可能匹配,S取最大值时的T就是所求的最佳变换矩阵,最佳六参数同时也唯一确定。经过优化,六个参数与KITTI数据集提供的参数间的相对误差为:7.480969e-04°,1.472487e-03°,1.608395e-04°,4.187419e-05m,1.162718e-04m,6.979999e-05。调整前后点云投影到图像上的效果图分别如图1(b)(c)所示。提升激光雷达与摄像头的数据匹配度有助于两者信息的融合。
图1 (a)校准优化后,边缘点投影至边缘图的匹配效果;(b)校准优化前,点云投影至图像平面;(c)校准优化后,点云投影至图像平面
2.2多模态数据的产生
激光雷达的点云数据是稀疏的,如果想要在深度学习中使用点云数据,需要将其变得密集起来。使用文献[6]所述Delaunay三角化方法,对点云的距离和反射强度数据进行插值,得到两类图像数据:密集的距离数据和密集的反射强度数据,分别称为距离密集图和反射强度密集图。
根据已有的稀疏点云数据,使用最近邻插值来获得其他点处的距离或反射强度数据。以距离密集图的获取为例,将使用已知点的坐标(x0,y0)及其距离数据v0进行最近邻插值获得的函数定义为F
然后利用F便可以获得其余点(x,y)的距离数据v。
反射强度密集图的获得是类似的。值得注意的是,距离密集图和反射强度密集图的生成都没有使用来自相机的图像数据,而仅用了激光雷达的距离数据和反射强度数据。實例如图2所示。
2.3基于YOLO-tiny算法的车辆检测 對于某一帧来说,有四类数据,分别是相机拍摄的彩色图像、点云数据经处理获得的距离密集图、反射强度密集图以及2D车辆标签数据。每一帧的标签数据中记录了车辆在图像坐标系中的位置,标签数据由KITTI数据集提供。
在基于各类传感器的车辆检测领域,人们已经进行了许多研究工作。文献[7]利用二维图像基于先验知识的方法推测图像中潜在的车辆,主要利用车辆的几何结构、日间行驶时车辆下方的阴影、车辆尾灯以及车辆纹理、对称性、色彩等信息。更多的研究者考虑使用基于立体视觉[8]的车辆检测方法,包括视差图方法和逆透视映射法。此外,还有基于运动的方法使用光流法]来计算车辆和背景的相对运动,从而确定车辆的位置。由于发散光流的产生,该方法在检测相反方向运动的车辆时更为有效。近年来,随着卷积神经网络的发展,基于深度学习的方法也被应用于车辆检测。
将从相机获取的图像数据以及根据前文所述方法得到的两类密集图分别输入到神经网络中进行训练,进行多模态的车辆检测。本文采用YOLO-tiny作为深度学习训练网络。YOLO[10]是目前较为先进的目标检测算法,YOLO由24个卷积层、2个全连接层以及边界框输出所组成。YOLO-tiny是YOLO算法的作者提出的一个相对轻量的版本。使用YOLO-tiny在较短时间内实现车辆检测的初步效果。在训练YOLO-tiny时使用的GPU是NVIDAI MX150,并使用cnDNN进行加速。在各模态输入到YOLO-tiny中分别进行7800次迭代之后,得到三个训练好的YOLO-tiny的模型,并在图像上进行了测试,检测效果如图3所示。
从测试的结果可以看出,经过处理的点云数据可以作为车辆检测的依据,有不逊于图像数据的效果。结合三种模态下的检测结果,可以为决策级的融合提供依据。同时,前述相机和激光雷达点云数据的匹配对后续的融合起了积极作用。当然,可以在YOLO等性能更好的网络和更为强劲的GPU上按照本文思路进行实践,从而大幅提升检测效果。
3. 结论
3.1结论
本文综合利用图像与点云数据,使两者信息互为补充,并应用于车辆检测。进行激光雷达相对于相机的校准,使得彩色相机的图像信息和激光雷达的点云数据相互匹配。对稀疏的点云数据进行插值,生成距离密集图和反射强度密集图,可以用于深度学习的训练。实验结果表明,多模态下车辆检测的结果可以为决策级的融合提供依据,在相机使用受限以及车辆的色彩纹理信息与图像背景易混淆时,点云数据的利用有望提高车辆检测在不同环境条件下的鲁棒性。
参考文献:
[1] Tokody D, Mezei I J, Schuster G. An Overview of Autonomous Intelligent Vehicle Systems[M]//Vehicle and Automotive Engineering. Springer, Cham, 2017: 287-307.