车道线检测方法、装置及计算机可读存储介质与流程

文档序号:16250420发布日期:2018-12-11 23:58阅读:196来源:国知局
车道线检测方法、装置及计算机可读存储介质与流程

本发明涉及车道线检测技术领域,尤其涉及车道线检测方法、装置及计算机可读存储介质。

背景技术

无人智能驾驶汽车是一个复杂的智能控制系统,包含机械控制、路径规划、路径决策以及环境感知等多个模块。车道线检测是环境感知模块中的重要部分,可以为车辆行驶偏离进行预警、为车道变道提供决策信息。

无人驾驶技术近些年发展迅速。无人车若想实现自动驾驶,从视觉的角度上讲其要先学会观察道路,具体来说,就是检测车道线。包括识别车道线与车的位置关系,是实线还是虚线等。

传统的无人车自动驾驶行驶时,经常需要检测车道线并进行拟合来确定可行驶区域。然而,目前的车道线检测常用单帧图像或单帧点云来检测,检测范围较小,且误检率较高。



技术实现要素:

本发明的主要目的在于提供一种车道线检测方法、装置及计算机可读存储介质,旨在解决现有技术中车道线检测方法检测范围小的技术问题。

为实现上述目的,本发明提供一种车道线检测方法,所述车道线检测方法包括:

获取多帧点云数据,对所述多帧点云数据进行位姿优化后得到所有帧点云的位置;

基于所述多帧点云数据进行云局部建图得到局部地图;

将所述局部地图的格式转换为图像格式;

在图像格式的局部地图中检测车道线,得到车道线数据。

优选地,所述获取多帧点云数据的步骤包括:

获取缓存区存储的历史多帧激光雷达数据;

基于所述历史多帧激光雷达数据获取多帧点云数据。

优选地,所述对所述多帧点云数据进行位姿优化得到优化结果的步骤包括:

通过激光雷达slam算法对所述多帧点云数据中每一帧点云的位置信息和姿态角进行优化,得到所有帧点云的位置。

优选地,所述基于所述多帧点云数据进行云局部建图得到局部地图的步骤包括:

过滤所述多帧点云数据得到第一多帧点云数据,其中,所述第一多帧点云数据为所述优化结果中落在地面上的点云数据;

对所述第一多帧点云数据投影到xy平面上,再进行栅格化处理得到每个栅格的反射强度均值;

根据所述反射强度均值得到局部地图。

优选地,所述过滤所述多帧点云数据得到第一多帧点云数据的步骤包括:

剔除所述多帧点云数据中的第二多帧点云数据,其中,所述第二多帧点云数据为所述多帧点云数据中未落在地面上的点云数据。

优选地,所述根据所述反射强度均值得到局部地图的步骤包括:

对每个栅格的反射强度均值进行加权平均得到反射强度值,基于所述反射强度值得到局部地图。

优选地,所述在图像格式的局部地图中检测车道线,得到车道线数据的步骤包括:

对所述图像格式的局部地图进行图像噪声过滤得到地图图像;

对所述地图图像进行二值化及直方图均衡化后得到直方图像;

利用角点特征和边缘特征对所述直方图像进行车道线检测,得到车道线数据。

优选地,所述在图像格式的局部地图中检测车道线,得到车道线数据的步骤之后,所述车道线检测方法还包括:

基于所述车道线数据,通过霍夫变换进行直线和曲线的拟合,得到拟合结果;

通过拟合结果确定可行驶区域。

此外,为实现上述目的,本发明还提供一种车道线检测装置,所述车道线检测装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的车道线检测程序,所述车道线检测程序被所述处理器执行时实现如上所述的车道线检测方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有车道线检测程序,所述车道线检测程序被处理器执行时实现如上所述的车道线检测方法的步骤。

本发明中,获取多帧点云数据,对多帧点云数据进行位姿优化后得到所有帧点云的位置,得到的点云数据对应的图更准确;基于多帧点云数据进行云局部建图得到局部地图,实现对点云数据的滤波,将局部地图的格式转换为图像格式,便于对局部地图进行直方图均衡化处理,从而实现对车道线的检测,由于采用的是激光测量原理得到多帧点云数据实现检测车道线,可以避免单帧图像或单帧点云检测车道线时的视野盲区,检测到更大范围的车道线数据,且算法比较简单。通过本发明,采用多帧点云数据对车道线进行检测,得到检测范围更大的车道线数据,车道线连续,降低误检率。

附图说明

图1为本发明实施例方案涉及的硬件运行环境的车道线检测装置结构示意图;

图2为本发明车道线检测方法第一实施例的流程示意图;

图3为本发明车道线检测方法第二实施例的流程示意图;

图4为本发明车道线检测方法第三实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的车道线检测装置结构示意图。

本发明实施例车道线检测装置可以是pc,也可以是智能手机、平板电脑、便携计算机等具有一定数据处理能力的终端设备。

如图1所示,该车道线检测装置可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的车道线检测装置结构并不构成对车道线检测装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及车道线检测程序。

在图1所示的车道线检测装置中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的车道线检测程序,并执行以下操作:

获取多帧点云数据,对所述多帧点云数据进行位姿优化后得到所有帧点云的位置;

基于所述多帧点云数据进行云局部建图得到局部地图;

将所述局部地图的格式转换为图像格式;

在图像格式的局部地图中检测车道线,得到车道线数据。

进一步地,处理器1001可以调用存储器1005中存储的车道线检测程序,还执行以下操作:

获取缓存区存储的历史多帧激光雷达数据;

基于所述历史多帧激光雷达数据获取多帧点云数据。

进一步地,处理器1001可以调用存储器1005中存储的车道线检测程序,还执行以下操作:

通过激光雷达slam算法对所述多帧点云数据中每一帧点云的位置信息和姿态角进行优化,得到所有帧点云的位置。

进一步地,处理器1001可以调用存储器1005中存储的车道线检测程序,还执行以下操作:

过滤所述多帧点云数据得到第一多帧点云数据,其中,所述第一多帧点云数据为所述优化结果中落在地面上的点云数据;

对所述第一多帧点云数据投影到xy平面上,再进行栅格化处理得到每个栅格的反射强度均值;

根据所述反射强度均值得到局部地图。

进一步地,处理器1001可以调用存储器1005中存储的车道线检测程序,还执行以下操作:

剔除所述多帧点数据中的第二多帧点云数据,其中,所述第二个多帧点云数据为所述优化结果中未落在地面上的点云数据。

进一步地,处理器1001可以调用存储器1005中存储的车道线检测程序,还执行以下操作:

对每个栅格的反射强度均值进行加权平均得到反射强度值,基于所述反射强度值得到局部地图。

进一步地,处理器1001可以调用存储器1005中存储的车道线检测程序,还执行以下操作:

对所述图像格式的局部地图进行图像噪声过滤得到地图图像;

对所述地图图像进行二值化及直方图均衡化后得到直方图像;

利用角点特征和边缘特征对所述直方图像进行车道线检测,得到车道线数据。

进一步地,处理器1001可以调用存储器1005中存储的车道线检测程序,还执行以下操作:

基于所述车道线数据,通过霍夫变换进行直线和曲线的拟合,得到拟合结果;

通过拟合结果确定可行驶区域。

参照图2,图2为本发明车道线检测方法第一实施例的流程示意图。

在一实施例中,车道线检测方法包括:

步骤s10,获取多帧点云数据,对所述多帧点云数据进行位姿优化后得到所有帧点云的位置。

本实施例中,获取多帧点云数据,对所述多帧点云数据进行位姿优化得到所有帧点云的位置。获取多帧点云数据的方式为:通过一个缓存区保留历史多帧激光雷达数据,基于历史多帧激光雷达数据获取多帧点云数据,对于获取到的多帧激光雷达数据进行位姿优化后得到所有帧点云的位置。

本实施例中,激光雷达是一项光学遥感技术,它利用激光对地球表面进行密集采样,以产生高精度的x,y,z测量值。激光雷达主要用于机载激光制图应用程序中,正日益成为替代传统测量技术(如摄影测量)的具有成本效益的新技术。激光雷达能生成可通过arcgis进行管理、显示、分析以及共享的离散多点云数据集,从空间上进行过组织的激光雷达数据被称为点云数据。初始点云是3d高程点的大集合,其包括x值、y值、z值以及gps时间戳等其他属性。在初始激光雷达点云经过后处理后,可对激光遇到的特定表面要素进行分类,地面、建筑物、森林冠层、高速公路以及任何激光束在测量过程中遇到的物体构成了点云数据。

本实施例中,根据激光测量原理得到的点云,包括三维坐标(xyz)和激光反射强度(intensity),对多帧点云数据进行位姿优化得到优化结果,位姿优化是指通过激光雷达slam算法如loam对所述历史多帧激光雷达数据进行位姿优化,loam的整体思想就是将复杂的slam问题分为:1、高频的运动估计;2、低频的环境建图;激光雷达接收数据,首先进行点云配准,激光雷达测距以10hz的频率进行运动估计和坐标转换,激光雷达制图以1hz的频率构建三维地图,变换积分完成位姿的优化,这样并行的结构保证了系统的实时性。

步骤s20,基于所述多帧点云数据进行云局部建图得到局部地图。

本实施例中,在对多帧点云数据进行位姿优化后得到优化结果,且基于优化结果进行云局部建图得到局部地图。局部建图的具体过程为:先利用激光slam技术求多帧点云的位姿,再进行过滤路面,只保留落在地面上的点。过滤时将落在地面上的点云数据以外的点云数据都剔除掉,保留落在地面上的点云数据,如:激光雷达安装在距离地面高度为1.7米的位置,激光雷达在扫描时,点云数据会落在-1.7米左右之间的三维空间内,我们需要把除了落在路面上的点云数据保留下来,再投影到xy平面上,再进行栅格化处理得到每个栅格的反射强度均值,对每个栅格的反射强度均值进行加权平均,得到一个局部地图。

步骤s30,将所述局部地图的格式转换为图像格式。

本实施例中,通过将局部地图转换为图像格式,得到图像格式的局部地图,可利用opencv的直方图均衡方法来增强对比度,增强车道线与路面的对比度,便于检测车道线。opencv是一个基于bsd许可(开源)发行的跨平台计算机视觉库,可以运行在linux、windows、android和macos操作系统上。直方图均衡化是通过调整图像的灰阶分布,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像主观视觉效果的目的,对比度较低的图像适合使用直方图均衡化方法来增强图像细节。

步骤s40,在图像格式的局部地图中检测车道线,得到车道线数据。

本实施例中,在得到局部地图后,在局部地图中检测车道线。对局部地图进行一些滤波过滤、二值化和直方图均衡化,增强对比度,再在局部地图中利用角点特征和边缘特性来检测车道线,从而得到车道线数据。

本发明中,获取多帧点云数据,对多帧点云数据进行位姿优化后得到多帧点云的位置,得到的点云数据对应的图更准确;基于优化结果进行云局部建图得到局部地图,实现对点云数据的滤波,将局部地图的格式转换为图像格式,便于对局部地图进行直方图均衡化处理,从而实现对车道线的检测,由于采用的是激光测量原理得到多帧点云数据实现检测车道线,可以避免单帧图像或单帧点云检测车道线时的视野盲区,检测到更大范围的车道线数据,且算法比较简单。通过本发明,采用多帧点云数据对车道线进行检测,得到检测范围更大的车道线数据,车道线连续,降低误检率。

进一步的,本发明车道线检测方法一实施例中,所述步骤s10包括:

获取缓存区存储的历史多帧激光雷达数据;

基于所述历史多帧激光雷达数据获取多帧点云数据。

本实施例中,采用缓存区来存储历史多帧激光雷达数据,基于历史多帧雷达数据获取多帧点云数据。由于雷达激光在距离一定的路面高度位置扫描,因此雷达激光扫描时的实时数据无法满足多帧点云数据的获取,设置一个缓存区,用于存储历史多帧激光雷达数据,使得基于历史多帧激光雷达数据能够获取多帧激光点云数据。

进一步的,本发明车道线检测方法一实施例中,所述步骤s10还包括包括:

通过激光雷达slam算法对所述多帧点云数据中每一帧点云的位置信息和姿态角进行优化,得到所有帧点云的位置。

本实施例中,对多帧点云数据位姿优化具体为:通过激光雷达slam算法对多帧点云数据中每一帧点云的位置信息和姿态角进行优化,得到所有帧点云的位置。orb-slam作为单目slam,其精度很大程度上决定于帧与帧之间的位姿优化的是否准确。因此优化在orb-slam里面扮演了很重要的角色。因为摄像机标定和追踪的精度不够。摄像机标定的误差会体现在重建中(比如三角法重建时),而追踪的误差则会体现在不同关键帧之间的位姿中,和重建中(单目)。误差的不断累积会导致后面帧的位姿离实际位姿越来越远,最终会限制系统整体的精度。无论在单目、双目还是rgbd中,追踪得到的位姿都是有误差的。单目slam中,如果两帧之间有足够的特征点,那么既可以直接得到两帧之间的位姿,也可以通过求解一个优化问题得到。由于单目中尺度的不确定性,还会引入尺度的误差。由于跟踪得到的总是相对位姿,前面某一帧的误差会一直传递到后面去,导致跟踪到最后位姿误差有可能非常大。为了提高跟踪的精度,可以在局部和全局优化位姿,也可以利用闭环检测来优化位姿。

进一步的,基于第一实施例,提出本发明车道线检测方法的第二实施例,如图3所示,步骤s20包括:

s21,过滤所述多帧点云数据得到第一多帧点云数据,其中,所述第一多帧点云数据为落在地面上的点云数据;

s22,对所述第一多帧点云数据投影到xy平面上,再进行栅格化处理得到每个栅格的反射强度均值;

s23,根据所述反射强度均值得到局部地图。

本实施例中,过滤所述优化结果得到第一多帧点云数据,其中,所述第一多帧点云数据为落在地面上的点云数据;对所述第一多帧点云数据投影到xy平面上,再进行栅格化处理得到每个栅格的反射强度均值;根据所述反射强度均值得到局部地图。具体为:将落在地面上的点云数据保留,将未落在地面上的点云数据剔除掉;针对落在地面上的点云数据,再投影到地面上进行栅格化处理。由于激光雷达获取的海量点云数据为不规则的离散点数据集,数据点间的几何关系不规则,利用这些离散点数据生成栅格化的数字产品的过程中需要进行栅格点的邻域搜索与排序。假设地面相对平坦,即地面扫描点的z轴方向的波动较小,通过将扫描区域进行栅格划分,将扫描点云投影到xy平面,通过统计栅格中z轴方面的最高点和最低点的差值,判断栅格中的点是否为地面点或障碍物点;在栅格映射障碍物检测后,将障碍物进行聚类,从而实现障碍物分割,得到与障碍物分离的地面。本案中先将点云数据过滤后,直至仅保留落在地面上的点云数据,将投影到xy平面的点云数据进行栅格化处理,直接得到每个栅格的反射强度均值,有效避免对空中点云数据的处理,使得处理过程更为简单,并且,根据所述反射强度均值得到局部地图,完成局部建图,并且,该局部地图为一个反射强度值的局部地图。

本实施例中,采用栅格化处理点云数据的方式,处理方式简单,且利于检测地面上的车道线。

进一步的,本发明车道线检测方法的第二实施例中,步骤s21包括:

剔除所述多帧点云数据中的第二多帧点云数据,以获得所述第一多帧点云数据,其中,所述第二多帧点云数据为所述未落在地面上的点云数据。

本实施例中,第二多帧点云数据为多余的多帧点云数据,需要剔除掉,由于仅仅是对落到地面上的点云数据处理,使得处理过程更加简单。

进一步的,本发明车道线检测方法的第二实施例中步骤s23包括:

对每个栅格的反射强度均值进行加权平均得到反射强度值,基于所述反射强度值得到局部地图。

本实施例中,根据反射强度均值得到局部地图具体为:对每个栅格的反射强度均值进行加权平均得到反射强度值,并根据反射强度值得到局部地图。由于仅仅是对落到地面上的点云数据处理,使得处理过程更加简单。因此,对于每个栅格的反射强度均值进行加权平均得到反射强度值的处理方式更简单且易于实现。

进一步的,基于第一实施例,提出本发明车道线检测方法的第三实施例,如图4所示,步骤s40包括:

s41,对所述图像格式的局部地图进行图像噪声过滤得到地图图像;

s42,对所述地图图像进行二值化及直方图均衡化后得到直方图像;

s43,利用角点特征和边缘特征对所述直方图像进行车道线检测,得到车道线数据。

本实施例中,对所述图像格式的局部地图进行图像噪声过滤得到地图图像;对所述地图图像进行二值化及直方图均衡化后得到直方图像;利用角点特征和边缘特征对所述直方图像进行车道线检测,得到车道线数据。

图像噪声主要可以分为脉冲噪声和高斯噪声,我们在现实中看到的图像一般都会含有噪声,在对图像做后续处理时,要对图像进行去噪处理,这样也被称作图像滤波,图像滤波可分为空间域滤波、频率域滤波两大类。通过对图像格式的局部地图进行滤波后得到地图图像,且得到的地图图像边缘和轮廓更加明显;对地图图像进行二值化处理,图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果,由于过滤得到的地图图像为灰度图像,对地图图像二值化处理即将灰度图像转换为二值图像,把大于某个临界灰度值的像素灰度设为灰度极大值,把小于这个值的像素灰度设为灰度极小值,从而实现二值化。通过二值化处理地图图像,得到车道线大体位置。

由于我们的图片看起来的效果不是那么的清晰,这时候可以对图像进行一些处理来扩大图像像素值显示的范围。例如有些图像整体像素值偏低,图像中的一些特征看的不是很清晰,只是隐约看到一些轮廓痕迹,这时可以经过图像直方图均衡化之后使得图像看起来亮一些,也便于后续的处理。直方图均衡化是灰度变换的一个重要应用,它高效且易于实现,广泛应用于图像增强处理中。图像的像素灰度变化是随机的,直方图的图形高低不齐,直方图均衡化就是用一定的算法使直方图大致平和的方法。本案采用的opencv中直方图均衡化算法的输入图像需为八位单通道图像,也就是灰度图像。若想要处计算彩色图像的均衡化图,可以先将图像用split函数进行通道分离,分别处理每一个通道的图像,在用merge函数进行合并,得到直方图像。

图像的边缘检测是指其周围像素灰度急剧变化的那些像素的集合,它是图像最基本的特征,而图像的边缘检测即先检测图像的边缘点,再按照某种策略将边缘点连接成轮廓,从而构成分割区域;角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在保留图像图形重要特征的同时,可以有效地减少信息的数据量,使其信息的含量很高,有效地提高了计算的速度,有利于图像的可靠匹配,使得实时处理成为可能。角点在三维场景重建、运动估计、目标跟踪、目标识别、图像配准与匹配等计算机视觉领域起着非常重要的作用。目前的角点检测算法可归纳为3类:基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测。角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。对灰度图像、二值图像、边缘轮廓曲线的角点检测算法进行综述,分析了相关的算法,并对各种检测算法给出了评价。本案利用边缘特征提取直方图像中车道线的边缘,结合角点特征得到车道线数据,且车道线连续不间断。

进一步地,步骤40之后,车道线检测方法还包括:

基于所述车道线数据,通过霍夫变换进行直线和曲线的拟合,得到拟合结果,通过拟合结果确定可行驶区域。

本实施例中,霍夫变换(hough)是一个非常重要的检测间断点边界形状的方法,它通过将图像坐标空间变换到参数空间,来实现直线与曲线的拟合。通过霍夫变换对车道线数据实现直线和曲线的拟合,实现可行驶区域的确定。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有车道线检测程序,所述车道线检测程序被处理器执行时实现如上所述的车道线检测方法的步骤。

本发明计算机可读存储介质的具体实施例与上述车道线检测方法的各个实施例基本相同,在此不做赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1