一种智能辅助驾驶方法及系统与流程

文档序号:13472861阅读:475来源:国知局
一种智能辅助驾驶方法及系统与流程

本发明涉及智能辅助驾驶领域,更具体地说,涉及一种智能辅助驾驶方法及系统。



背景技术:

目前,国内外相关研究机构对无人驾驶汽车已展开了广泛深入的研究,研制的产品技术性能不断提高,2011年7月中旬,由国防科技大学自主研制的红旗hq3无人车从京珠高速长沙杨梓冲收费站出发,历时3小时22分钟到达武汉,总里程286公里,行驶过程中自主超车67次,全程自主驾驶平均时速87公里,达到了世界领先水平;北京理工大学也是国内最早开始研究无人驾驶的单位之一,2013年,北京理工大学与比亚迪汽车有限公司签订合作协议,打造了一个用于研究和测试无人驾驶汽车的实验平台,并于去年在北京三环线上实现了全功能自动驾驶路测,无人车全程行驶平稳;百度深度学习研究院将视觉、听觉等识别技术应用在无人汽车系统的研发中,提高了无人车的实用性。在今年4月份的上海车展上,百度高调宣布向所有合作伙伴免费开放无人驾驶能力,这将再一次加速无人驾驶的发展。传统车企方面,北汽、上汽、东风等企业也都开始了无人驾驶的研发,并相继展示了它们的研究成果,2016年4月,位于光谷的依迅公司发布了其联合武汉大学、华为、东风共同开发的北斗自动驾驶技术,且依迅公司将4g、5g通信技术运用到无人驾驶技术中来,使得车载端不再需要进行繁杂的运算,解决了散热和成本等现实问题,保证无人驾驶车辆的可靠运行。

目前,无人驾驶系统的实现主要有两种方法,其中一种是基于英伟达公司提出的端到端学习模型来实现的,这种方法直接训练一个深度卷积神经网络(cnn),形成一种输入图像到驾驶决策之间的映射关系,从而让汽车具备自主驾驶的能力。这种方法不需要人类提供驾驶汽车的先验知识,只需要告诉计算机在不同场景下应该做出何种反应,经过不断的训练最终让车辆学会驾驶行为,验证了端到端学习的可行性。

comma.ai公司提出了另一种基于端到端学习的自动驾驶模拟器。利用变分自编码器(vae)和生成式对抗网络(gan)实现道路视频预测的代价函数,然后在此基础上训练一个基于循环神经网络(rnn)的转换模型,可以对未来几帧驾驶画面进行预测,包括车道线、靠近车辆、前车驶离等驾驶事件。但该模型无法训练出弯道场景。

普林斯顿大学的chenyichen等提出的deepdriving算法在开源赛车游戏torcs上进行驾驶仿真。这种算法也是以图像作为输入,但并不直接输出驾驶行为,而是输出以车辆的角度、与车道线和前方车辆的距离等13个参数来描述当前驾驶环境,从而进行驾驶决策。普林斯顿的另一项工作在大量的真实驾驶数据集上训练车辆的驾驶行为。这些基于端到端学习的方法步骤简单,能利用图片中的全部信息,但需要大量的数据进行训练,且无法适应复杂的驾驶场景。

另一种实现无人驾驶的方法是分为感知加决策两个部分来做的,其中感知部分是无人车采集周边环境的重要环节,主要包括车道、车辆、行人、交通标志等驾驶场景中的主要信息。目前感知部分的实现有很多方法,其中提出的基于激光雷达的道路边缘与十字路口检测得到了较好的精度。利用激光雷达还能与传统地图结合,生成高精地图,实现车道级的定位。激光雷达精度高,适合进行测距、定位等,但其现阶段成本极高,不利于商业应用。

计算机视觉算法在视觉感知中的应用越来越广泛,传统的计算机视觉算法主要有基于先验知识、基于立体视觉以及基于运动信息的三种方法。其中先验知识主要包括目标的几何特征、纹理、颜色等信息,例如dpm算法就是利用目标几何信息实现目标检测的。但这些方法都是采用一些人工提取的特征,对图像的表达不够准确,因此精度较低。

最近,shaoqingren、rossgirshick等提出的一系列基于深度学习的算法将目标检测的精度不断提高,其中fasterr-cnn算法达到了73.2%的精度,但这些算法的实时性不高;rgirshick等提出的yolo算法的计算速度大幅提升,适合实时应用,但是以牺牲精度为代价。

智能辅助驾驶方法及系统利用车内的显示装置,将道路、观察到的形式车辆等信息显示给驾驶者,但是基于上述原因,目前的智能辅助驾驶方法及系统均存在场景的适用性低、成本高、精度低、实时性低等中的一种或者多种缺陷。



技术实现要素:

本发明要解决的技术问题在于,针对上述的目前的智能辅助驾驶方法及系统均存在场景的适用性低、成本高、精度低、实时性低等中的一种或者多种技术缺陷,本发明提供了一种智能辅助驾驶方法及系统来解决上述缺陷。

根据本发明的其中一方面,本发明为解决其技术问题,提供了一种智能辅助驾驶方法,该智能辅助驾驶方法包含在车内显示装置上显示车道线的车道线处理步骤,车道线处理步骤通过下述方法得到车道线:

s1、获取安装于车辆上的摄像头所拍摄的车辆行使方向上道路的图像;

s2、利用相机内参矩阵对所述图像的视频帧进行去畸变处理,然后对去畸变处理后的视频帧的选定待变换区域src利用逆透视变换矩阵进行逆透视变换;

s3、对逆透视变换后的视频帧进行阈值分割,分离车道线与背景区域;

s4、以横坐标代表像素个数,纵坐标代表像素值,对阈值分割后的图像的下面部分进行统计,统计出出现极大值的位置作为车道线与图像底部的交点;

s5、以该张视频帧的所述交点为起点,利用滑动窗口进行搜索,确定车道线对应的m个像素,对m个车道线像素点采用最小二乘法进行曲线方程拟合得到拟合的车道线。

进一步的,在本发明的智能辅助驾驶方法的步骤s2中,

所述相机内参矩阵为根据张正友标定法计算计算得出;

所述逆透视变换矩阵根据下述方法得出:根据选取的一张含直线车道的图片,利用所述相机内参矩阵进行去畸变处理,接着执行hough变换提取直线车道,并计算消失点vp和待变换区域src,根据消失点vp和待变换区域src计算出逆透视变换矩阵。

消失点vp通过下述公式计算得出,

式中,点pi与法向量ni来表示hough变换时车道线对应的第i条直线上的点以及法向量;

待变换区域src为梯形,所述梯形通过下述方法得到:

将梯形的上底确定在消失点以下预设像素,随后根据变换范围的宽度确定梯形上底的两个端点,再由消失点分别与两端点相连,连接线与图像底部形成的交点作为梯形的下底的两个端点。

进一步的,在本发明的智能辅助驾驶方法中,还包括车内显示装置上显示车辆行使方向道路上的其他车辆的车辆处理步骤,车辆处理步骤通过下述方法得到其他车辆:

利用kitti数据集对ssd算法网络参数进行训练和优化,以得到网络模型来提取其他车辆。

进一步的,在本发明的智能辅助驾驶方法中,还包括获取拟合的车道线的曲率半径r的曲率半径处理步骤,曲率半径处理步骤具体是通过下述公式计算得到:

xreal=mxxpix,yreal=myypix;

式中,xreal、yreal分别表示根据图片图像坐标xpix、ypix转换得到的实际物理坐标,mx以及my分别为x轴与y轴的转换系数。

进一步的,在本发明的智能辅助驾驶方法中,还包括步骤:

将前面一段时间内拟合出的车道线存入一个缓冲区,而当一帧新的图片输入时,结合前面多张图片拟合的车道线与当前拟合的车道线进行平滑滤波,作为最终的车道线输出至车内的显示装置上。

进一步的,在本发明的智能辅助驾驶方法中,步骤s5中对m个车道线像素点采用最小二乘法进行曲线方程拟合得到拟合的车道线,具体采用下述公式计算得到:

式中,xi及yi分别表示所述m个像素点中第i个像素在图像中的横坐标及纵坐标,a0、a1、…及an为拟合得到的线性方程上的点,n=2。

根据本发明的另一方面,本发明为解决其技术问题,还提供了一种智能辅助驾驶系统,该智能辅助驾驶系统包含在车内显示装置上显示车道线的车道线处理单元,该车道线处理单元通过下述的模块获取车道线:

图像获取模块,用于获取安装于车辆上的摄像头所拍摄的车辆行使方向上道路的图像;

去畸变及逆透视变换模块,用于利用相机内参矩阵对所述图像的视频帧进行去畸变处理,然后对去畸变处理后的视频帧的选定待变换区域src利用逆透视变换矩阵进行逆透视变换;

阈值分割模块,用于对逆透视变换后的视频帧进行阈值分割,分离车道线与背景区域;

交点确认模块,用于以横坐标代表像素个数,纵坐标代表像素值,对阈值分割后的图像的下面部分进行统计,统计出出现极大值的位置作为车道线与图像底部的交点;

车道线拟合模块,用于以该张视频帧的所述交点为起点,利用滑动窗口进行搜索,确定车道线对应的m个像素,对m个车道线像素点采用最小二乘法进行曲线方程拟合得到拟合的车道线。

进一步的,在本发明的智能辅助驾驶系统中,还包括车内显示装置上显示车辆行使方向道路上的其他车辆的车辆处理单元,车辆处理单元具体利用kitti数据集对ssd算法网络参数进行训练和优化,以得到网络模型来提取其他车辆。

进一步的,在本发明的智能辅助驾驶系统中,还包括获取拟合的车道线的曲率半径r的曲率半径处理单元,半径处理单元具体是通过下述公式计算得到:

xreal=mxxpix,yreal=myypix;

式中,xreal、yreal分别表示根据图片图像坐标xpix、ypix转换得到的实际物理坐标,mx以及my分别为x轴与y轴的转换系数。

进一步的,在本发明的智能辅助驾驶系统中,还包括:

显示处理单元,用于将前面一段时间内拟合出的车道线存入一个缓冲区,而当一帧新的图片输入时,结合前面多张图片拟合的车道线与当前拟合的车道线进行平滑滤波,作为最终的车道线输出至车内的显示装置上。

进一步的,在本发明的智能辅助驾驶系统中,车道线拟合模块中对m个车道线像素点采用最小二乘法进行曲线方程拟合得到拟合的车道线,具体采用下述公式计算得到:

式中,xi及yi分别表示所述m个像素点中第i个像素在图像中的横坐标及纵坐标,a0、a1、…及an为拟合得到的线性方程上的点,n=2。

本方法及系统能能够将车道线显示于车内显示装置中,且该方法及系统对光照突变、树阴遮挡、路面污渍等众多情况均能准确检测,适用性强、成本低、精度高、实时性以及稳定性较好。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明的智能辅助驾驶方法一实施例的流程图

图2本发明的智能辅助驾驶方法的像素直方图统计图;

图3本发明的智能辅助驾驶方法利用滑动窗口进行搜索的示意图;

图4是本发明的智能辅助驾驶方法在进行霍夫变换时多条直线产生多个交点的示意图;

图5是本发明的智能辅助驾驶系统一实施例的原理框图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

如图1所示,其为本发明的智能辅助驾驶方法一实施例的流程图,本实施的智能辅助驾驶方法包含在车内显示装置上显示车道线的车道线处理步骤,车道线处理步骤通过下述方法得到车道线。

s1、获取安装于车辆上的摄像头所拍摄的车辆行使方向上的道路的图像。在本实施例中,摄像头安装在车辆上的横向的中间,横向也即从车子的左边到右边或者右边到左边,因此图像底部的中点为本车的中心位置,两条车道线与图像底部的交点为车道线位置。

s2、利用相机内参矩阵对所述图像的视频帧进行去畸变处理,对然后对去畸变处理后的视频帧的选定待变换区域src利用逆透视变换矩阵进行逆透视变换。

在本步骤中,首先采用张正友标定法计算相机内参矩阵m,即用待标定摄像机从不同角度拍摄若干张包含标定板的图像,通过单目视觉标定实验可以得到计算得到相机标定矩阵m。使用张正友标定法时,需要用相机预先拍摄一些模板图像,假定模板平面在世界坐标系z=0的平面上,则有:

其中,s是常数,[xy1]t为模板平面上的齐次坐标,[uv1]t为模板平面上的点投影到图像平面上对应点的齐次坐标,[r1r2r3]和t分别是摄像机坐标系相对于世界坐标系的旋转矩阵和平移向量。对于投影变换,我们给出单应性矩阵h:

h=[h1h2h3]=λk[r1r2t]

根据旋转矩阵的性质,即和‖r1‖=‖r2‖=1,每幅图像可以获得以下两个内参数矩阵的基本约束,即

在根据上述约束矩阵得出相机内参矩阵m后,然后选取一张含直线车道的图片,利用相机内参矩阵m进行去畸变处理;接着执行hough变换提取直线车道,并计算消失点vp和待变换区域src,确定逆透视图象尺寸,根据消失点vp和待变换区域src计算出逆透视变换矩阵h。与相机标定算法一样,该算法也会输出一个矩阵,即逆透视变换矩阵h,这个矩阵h以及相机内参矩阵m可以在文件中存储,后续中可直接重复利用。

在得出相机内参矩阵m以及透视变换矩阵h后,就可以利用这两个矩阵对安装于车辆上的摄像头所拍摄的图像进行处理。该摄像头拍摄的图像一般为视频图像,对待处理的视频帧利用相机内参矩阵m进行去畸变处理,然后对去畸变处理后的视频帧的选定待变换区域src区域利用逆透视变换矩阵h进行逆透视变换,即

其中[uwvw1]t为世界坐标系的坐标,s是常数,h是逆透视变换矩阵,[uv1]t为模板平面上的点投影到图像平面上对应点的齐次坐标。

s3、对逆透视变换后的视频帧进行阈值分割,分离车道线与背景区域。

s4、对阈值分割后的图像下半部分的像素做直方图统计,根据直方图统计,直方图的横坐标代表像素个数,纵坐标代表像素值,统计图出现极大值的地方作为车道线与图像底部的交点。

由于在车辆正常行驶过程当中,车道线应该无限向前延伸,所以在逆透视图像中车道线表现为具有纵向走势的曲线(段),且车道线不可能具有很大的弯曲程度,因此在较近的一段距离内近似为直线,在鸟瞰图中表现为一段与图像底部接近垂直的线。考虑到这两点特性,我们可以对图像下半部分的像素做直方图统计,出现极大值的地方可认为是车道线与图像底部的交点,如图2所示。

s5、对于单张视频帧,还可以以该张视频帧的步骤s4中的交点为起点,利用滑动窗口进行搜索,确定车道线对应的m个像素,对m个车道线像素点采用最小二乘法进行曲线方程拟合,根据滑动窗口搜索得到的一系列坐标点,求解出一条曲线y=p(x)来表达车道线。假使检测出m个属于车道线的像素点,坐标分别为(i=0,1,···,m),设经过这m个坐标点的近似多项式函数如下:

为求解该多项式的解,使得下式取得最小值:

上述问题可以看做是求解a0,a1,…,an的多元函数的极值问题。对每个变量求偏导得:

上述方程是关于a0,a1,…,an的线性方程组,用矩阵表示为:

式中,xi、yi为第i个像素的横坐标和纵坐标。由上述方程解出ak(k=0,1,···,n),即可得到曲线的拟合方程,由于车道线变化较为平缓,本方法采用二次曲线(n=2)进行拟合。

由于车道线是连续的,因此可以从两个交点开始进行搜索。给定一系列的滑动窗口,从下往上搜索,对于每一个滑动窗口统计窗口内灰度值不为0的像素,若当前统计得到的像素个数大于某一阈值,则认为搜索成功,下一个窗口中心由当前窗口中所有非零像素的横坐标平均值确定;若统计值小于阈值,则可能车道是弯曲的,且即将超出当前滑动窗口的范围,或窗口处于虚线车道的间隔位置,此时取前面n个窗口搜索到的所有像素横坐标的平均值作为下一个窗口的中心位置,从而保证滑动窗口能跟随车道的变化而移动,滑动窗口搜索过程如图3所示。

这种搜索需要大量重复的计算,影响算法的实时性,但考虑到车道变化的连续性,我本发明并不需要对每一帧图片都进行完整的窗口搜索。事实上,在一帧图片处理完成后,可以得到一个曲线方程来表达检测出的车道线,当下一帧图像到来时,可根据前面得到的曲线方程大致预测下一帧的车道线位置,因此不用再对整个区域进行窗口搜索。考虑到车道线是相互平行的,可以计算两条检出车道线所有对应点横坐标的标准差,若此标准差大于某一阈值,说明车道跟踪出现偏离,需要重新对整幅图像进行滑动窗口搜索以重新确定车道位置。

再渲染车道区域,透视变换还原到透视图像。车道线的曲线方程可以很好地表达车道的形状,但是计算机还需要计算出车道相关的参数才能为车辆做出正确的驾驶决策或在出现异常情况时向驾驶员发出警告,对于车道而言,最重要的两个参数是前方车道的弯曲程度(车道曲率半径)以及当前车辆的横向偏移距离。这里得到的车道线的曲线方程,以像素为单位来表示的,要得到真实世界中的车道曲率半径,需要寻找实际距离与像素间距离的对应关系,然后得到曲率半径r。

具体的,将图像坐标转化为实际坐标为:

xreal=mxxpix,yreal=myypix;

式中,mx以及my分别为x轴与y轴的转换系数,该坐标的转换同样适用于本发明的各转换关系,即将xpix、ypix替换为图像中的像素间距离,xreal、yreal替换为实际距离。

设拟合得到的车道线方程为:

从而得到曲率半径r:

xreal、yreal分别表示根据图片图像坐标xpix、ypix转换得到的实际物理坐标。

在对连续视频进行处理时,若只考虑单张图片的信息,将出现较大的噪声,表现为车道线的坐标出现大量不连续的跳变。由于在连续的视频序列中,每帧视频间车道的变化应该是平缓而连续的,所以本发明采用平滑滤波,将前面一段时间内拟合出的车道线存入一个缓冲区,而当一帧新的图片输入时,结合前面多张图片处理的结果与当前检测的结果进行平滑滤波,作为最终的车道线的输出。这里多张的取值决定了滤波的效果,若多张的张数值过小,滤波的效果较差,无法使车道坐标平滑;若张数值过大,会使车道变换过于缓慢而使车道信息存在过大的延时,同时也会增大运算量与存储资源的消耗。本文取张数值=9,得到较好的效果。

在进行平滑滤波后,车道线坐标变得更加平滑。但是,平滑滤波会带来误差的积累,随着误差的不断增加可能会使车道跟踪失败。为了解决此问题,本方法对两车道线横坐标之差设定了一个阈值,若差值大于这一阈值,说明车道跟踪出现了偏离,此时将丢弃缓冲区中的数据,重新对全图进行搜索从而重新跟踪车道。

因为现实中的车道是始终平行的,根据这一规律,本实验对车道之间的关系进行了约束,当左右两车道的横坐标之差的标准差大于某一阈值,说明检测出的车道线不满足相互平行的关系,此时算法应丢弃已有的车道线数据,进行全图窗口搜索,重新跟踪车道。为了验证车道自校验功能,本实验加长逆透视变换的视距,使逆透视图像中噪声更大,从而增大车道跟踪失败的几率。

接着,本方法采用ssd(singleshotmultiboxdetector)算法进行车辆检测,即利用自动驾驶领域常用的kitti数据集对ssd算法网络参数进行训练和优化,以得到网络模型对车辆特征的准确提取和识别,从而提取出摄像头拍摄到的其他车辆的模型。

在上述步骤中,要计算逆透视变换矩阵,首先要找到图像的消失点,本方法通过霍夫变换检测图片中的直线,霍夫变换的实质是对图像进行坐标变换,使变换的结果更易于识别和检测,其表达式为:

ρ=xcosθ+ysinθ

其中,(x,y)表示图像空间的某一点,ρ是图像空间中直线到坐标原点的距离,θ是直线与x轴的夹角。传统的hough变换算法投票空间ρ和θ的选择范围通常为ρ∈(0,r)(其中r为图像对角线的长度),θ∈(0,180°),(ρ,θ)为坐标变换后的参数空间某一点,其将图像空间(x-y)的点转换到参数空间(ρ,θ),可以证明图像空间中同一直线上的点再参数空间中对应的正弦曲线交于一点(ρ,θ)。因此对图像空间的目标点进行坐标变换投影到参数空间,通过统计参数空间的总投票次数较多的点,即可找到图像空间对应的直线方程。

通过霍夫直线变换检测出的车道线延长后的交点便为消失点,但由于车道线有两个边缘,对于每条车道霍夫变换可能得出多条直线,由于算法的误差,这些直线会产生不止一个交点,如图4所示,这给消失点的确定带来了困难。

本方法定义与所有直线均方距离i最小的一点为消失点vp。图中,每条直线可以用其上的一点pi与其法向量ni来表示,则均方距离可表示为:

上式中vp为自变量,均方距离i为因变量。为了找到i最小时对应的vp,可用i对vp求导数:

求解式得:

由于逆透视变换不能到达消失点,且越靠近消失点失真越严重,因此本方法将梯形的上底确定在消失点以下预设像素,通过调节预设像素可以改变最终俯视图所看到的距离,即得到不同视距的逆透视图像。随后确定变换范围的宽度,也就是梯形上底的两个端点,再由消失点分别与两端点相连与图像底部形成的交点便为梯形的下底的两个端点,至此待变换的梯形区域便确定了。

最后融合以上所述算法,构建智能辅助驾驶系统,即在系统信息面板上显示拟合出的车道线、车辆偏移车道中心距离、当前检测到的车辆等信息。

参考图5,其为本发明的智能辅助驾驶系统一实施例的原理框图。在本实施例中,该智能辅助驾驶系统包含在车内显示装置上显示车道线的车道线处理单元,该车道线处理单元包含图像获取模块1、去畸变及逆透视变换模块2、阈值分割模块3、交点确认模块4以及车道线拟合模块5。

图像获取模块1获取安装于车辆上的摄像头所拍摄的车辆行使方向上的道路的图像,去畸变及逆透视变换模块2利用相机内参矩阵对所述图像的视频帧进行去畸变处理,然后对定待变换区域src利用逆透视变换矩阵进行逆透视变换,阈值分割模块3对逆透视变换后的视频帧进行阈值分割,分离车道线与背景区域,交点确认模块4以横坐标代表像素个数,纵坐标代表像素值,对阈值分割后的图像进行统计,统计出出现极大值的位置作为车道线与图像底部的交点,综合处理模块5以该张视频帧的所述交点为起点,利用滑动窗口进行搜索,确定车道线对应的m个像素,对m个车道线像素点采用最小二乘法进行曲线方程拟合得到拟合的车道线。

本发明的智能辅助驾驶系统与上述的方法对应,具体可参考上述方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

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