一种车道偏离报警系统的制作方法

专利2022-06-29  69


本发明涉及车道线检测技术领域,具体涉及一种车道偏离报警系统。



背景技术:

当前,大多数的车道偏离报警系统都是首先通过车载的ccd摄像头、红外摄像头获取道路图像,系统主机去通过图像处理算法检测出车道线,然后再计算出当前汽车在当前行驶道路上是否车道偏离,最后根据计算结果进行车道偏离报警。

目前的车道偏离系统的车道检测模块对复杂道路情况下的车道线检测鲁棒性差,只适合比较规则、无干扰的道路情况。在实际复杂的道路场景下,比如断断续续的阴影情况,阴影与道路的边界区域是灰度级突变的地方,传统的边缘检测就会错误的提取出来,将其视为车道线检测处理,造成错误的道路偏离报警。另一方面,所适用的hough变换虽然对直线像素检测效果较好,但实际情况中,弯曲的道路更为常见,当汽车在弯曲道路行驶时,系统主机对道路偏离的计算会和实际情况有较大差异,无法准确的进行道路偏离报警。可见传统技术遇到道路弯曲、道路阴影、遮挡等情况时准确率、鲁棒性会显著下降,不具有普适性。

除此之外,大多数的车道偏离报警模型是基于汽车当前的坐标信息去衡量汽车是否偏离车道。当汽车距离两边车道的距离小于一定的安全距离阈值时,判断汽车将偏离车道。这种方法计算简单,但是在靠车道线较近行驶时会造成误报,以及汽车突然发生大幅的方向偏离时又不能正确的及时进行偏离报警。



技术实现要素:

针对现有技术的不足,本发明公开了一种车道偏离报警系统,为了适应各种复杂道路如阴影、遮挡、模糊等道路场景下的道路检测和道路偏离报警功能,提高道路偏离预警的准确性、及时性。

本发明通过以下技术方案予以实现:

一种车道偏离报警系统,包括系统主机,所述系统主机用于信息处理存储和命令发送及执行;还包括道路图像获取模块、道路图像处理模块和偏离报警模块;所述道路图像获取模块包括红外摄像头和ccd摄像头,用以获取实时的路况图像;所述道路图像处理模块对获取到的道路图像进行车道线的检测,所述偏离报警模块结合汽车偏离车道的时间和汽车偏移角,利用所检测车道线的曲率信息,进行汽车偏离报警。

更进一步的,所述道路图像处理模块包括预处理、边缘提取、滑动窗口分组和车道线拟合。

更进一步的,所述预处理主要的处理有将彩色的道路图像灰度化和,计算公式如下:

grey=r*0.299 g*0.587 b*0.114

其中的r、g、b分别为红色、绿色、蓝色通道;

对于图像的下采样,算法采用的双线性插值的方法,点(x,y)用双线性插值进行放缩后的浮点坐标为(x1 u,y1 v),其中x1,y1是其浮点坐标的整数部分,u,v为浮点坐标的小数部分;则计算公式如下:

更进一步的,所述边缘提取采用高斯平滑滤波器,二维形式如下:

其中,x,y是距离频率矩形中心的距离,σ是关于中心的扩展度度量;

利用sobel算子进行道路图像的边缘提取工作,sobel算子包含了两组矩阵模版,用于横向和纵向的卷积运算,横向和纵向的卷积模版如下:

以下两个公式分别计算每个像素的梯度大小和梯度方向:

更进一步的,所述滑动窗口分组对于边缘提取所得到的像素点,利用图像的hog特征大致定位各条车道线的位置;再设置一个一定大小的矩形区域,用两个起始点均值坐标作为矩形区域的下边中点,存储矩形区域内的像素点坐标,对存储的像素点横坐标取均值,计算出点坐标,作为下一窗口的矩形下边中点坐标,按照上述步骤持续搜索下去,直到将所有的车道线像素点分组完毕。

更进一步的,所述车道线拟合采用神经网络进行非线性回归的方法取拟合道路车道线,设置6节点的网络隐藏层,采用tanh激活函数进行非线形变化,首先进行线性的变换,公式如下:

z=θ0 θ1x1 θ2x2 … θ6x6

其中θ0-θ6为权重,并对结果采用tanh函数进行非线性的变换,公式如下:

损失函数采用均方误差mse,公式如下:

其中f(zt)为实际值,predt为预测值;

采用随机梯度下降法sgd进行最优化求解,其数学公式如下:

其中为α学习率,θi最终收敛到最大值。

更进一步的,所述偏离报警模块根据车道线的检测结果,计算出汽车前方车道的曲率,由于车道线两边的相互平行特性,只需对其中一边进行计算,车道曲率kl计算公式如下:

其中y是拟合车道线函数,计算出汽车在t时间内的行驶轨迹曲率kc;kp为误差值,只要车道曲率和汽车行驶轨迹曲率差值不超过误差值,则视当前汽车行驶处安全状态,若驾驶员未打开转向灯,且

|kc-kl|>kp

则进一步计算汽车从当前的位置到汽车驶离当前车道的时间t,将t与设置的安全阈值时间t1比较;t>t1,则汽车当前为安全状态,t<t1,则汽车将发生车道偏离,系统主机控制led报警器和声音报警器向驾驶员发出报警信号。

更进一步的,时间t由下面的公式计算得到:

其中,lx为当前汽车位置到汽车偏离方向车道线的横向距离,v为汽车当前的行驶速度,θ为当前汽车偏离中心纵轴线的角度;

lx的计算公式如下:

其中l0当前汽车中心位置到汽车偏离方向车道线的横向距离,wl为车道的宽度,wc为汽车的宽度。

本发明的有益效果为:

本发明所设计的车道偏离报警模型结合了汽车偏离车道的时间和汽车偏移角,充分的利用所检测车道线的曲率信息。可以有效解决弯曲道路、汽车过道压线以及汽车转向的错误报警问题,同时大幅提高偏离报警准确性,解决在道路阴影、模糊、遮挡等复杂道路场景中车道线检测难的问题,显著降低弯曲道路、汽车过道压线以及汽车转向的错误报警问题。鲁棒性强、实时性高。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的整体流程框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

参照图1,本实施例公开了一种车道偏离报警系统,包括系统主机,所述系统主机用于信息处理存储和命令发送及执行;还包括道路图像获取模块、道路图像处理模块和偏离报警模块;所述道路图像获取模块包括红外摄像头和ccd摄像头,用以获取实时的路况图像;所述道路图像处理模块对获取到的道路图像进行车道线的检测,所述偏离报警模块结合汽车偏离车道的时间和汽车偏移角,利用所检测车道线的曲率信息,进行汽车偏离报警;所述道路图像处理模块包括预处理、边缘提取、滑动窗口分组和车道线拟合

对图像的预处理的目的是为了节省计算量,以及得到更好的算法处理效果。主要的处理有将彩色的道路图像灰度化和,计算公式如下:

grey=r*0.299 g*0.587 b*0.114

其中的r、g、b分别为红色、绿色、蓝色通道;

对于图像的下采样,算法采用的双线性插值的方法,此种方法不会导致图像失真,处理效果好,且计算量不会太大。点(x,y)用双线性插值进行放缩后的浮点坐标为(x1 u,y1 v),其中x1,y1是其浮点坐标的整数部分,u,v为浮点坐标的小数部分。则计算公式如下:

对于处理后的图像在进行边缘提取之前,由于交通道路上采集到的图像难免会受到恶劣天气、灰尘、阴天等不确定因素的影响而存在一些噪声和杂散的梯度,所以要对原图进行一定的图像增强,以便于后续得到更好的处理效果,本实施例采用的是高斯平滑滤波器,其模板系数,随着距离模板中心的增大而系数减小,这样有助于抑制噪声而又不会过度的模糊图像。高斯滤波器的二维形式如下:

其中,x,y是距离频率矩形中心的距离,σ是关于中心的扩展度度量;

高斯滤波器的旋转对称性以及单瓣的傅立叶变换频谱使得图像中既含有低频分量,又含有高频分量的图像边缘不会被不需要的高频信号所污染,同时保留了大部分所需信号,有利于后续的图像边缘提取。

随后我们利用sobel算子进行道路图像的边缘提取工作,sobel算子包含了两组矩阵模版,用于横向和纵向的卷积运算,横向和纵向的卷积模版如下:

以下两个公式分别计算每个像素的梯度大小和梯度方向:

对于边缘提取所得到的像素点,需要进一步对其进行分组,区分出每一条车道线。本实施例采用的是滑动窗口的方法,首先利用图像的hog特征大致定位各条车道线的位置。再设置一个一定大小的矩形区域,用两个起始点均值坐标作为矩形区域的下边中点,存储矩形区域内的像素点坐标,对存储的像素点横坐标取均值,计算出点坐标,作为下一窗口的矩形下边中点坐标,按照上述步骤持续搜索下去,直到将所有的车道线像素点分组完毕。

多数的插值方法拟合曲线往往拟合曲线的精度不够,本实施例采用的是神经网络进行非线性回归的方法取拟合道路车道线。设置6节点的网络隐藏层,采用tanh激活函数进行非线形变化。首先进行线性的变换,公式如下:

z=θ0 θ1x1 θ2x2 … θ6x6

对结果采用tanh函数进行非线性的变换,公式如下:

损失函数采用均方误差mse,公式如下:

采用随机梯度下降法sgd进行最优化求解,其数学公式如下:

本实施例所设计的车道偏离报警模型结合了汽车偏离车道的时间和汽车偏移角,充分的利用所检测车道线的曲率信息。可以有效解决弯曲道路、汽车过道压线以及汽车转向的错误报警问题,同时大幅提高偏离报警准确性。

根据车道线的检测结果,计算出汽车前方车道的曲率,由于车道线两边的相互平行特性,只需对其中一边进行计算,车道曲率kl计算公式如下:

其中y是拟合车道线函数,计算出汽车在t时间内的行驶轨迹曲率kc;kp为误差值,只要车道曲率和汽车行驶轨迹曲率差值不超过误差值,则视当前汽车行驶处安全状态,若驾驶员未打开转向灯,且

|kc-kl|>kp

则进一步计算汽车从当前的位置到汽车驶离当前车道的时间t,将t与设置的安全阈值时间t1比较;t>t1,则汽车当前为安全状态,t<t1,则汽车将发生车道偏离,系统主机控制led报警器和声音报警器向驾驶员发出报警信号。

更进一步的,时间t由下面的公式计算得到:

其中,lx为当前汽车位置到汽车偏离方向车道线的横向距离,v为汽车当前的行驶速度,θ为当前汽车偏离中心纵轴线的角度;

lx的计算公式如下:

其中l0当前汽车中心位置到汽车偏离方向车道线的横向距离,wl为车道的宽度,wc为汽车的宽度。

实施例2

本实施例中,首先将系统主机、红外摄像头、ccd摄像头、声音报警器、led报警器分别安装到汽车上,配置好系统程序所需的依赖库opencv、numpy、tensorflow、python、matplotlib,并启动系统主机。下面是具体的本车道偏离报警系统的实施过程。

1、处理道路图像:

摄像头实时拍摄道路图像数据,原始尺寸为2880*1500,传输给系统主机。系统主机进行一定的图像处理以便于后续的功能处理。

使用cv2.videocapture()方法去获取道路图像的一帧图像,对彩色道路图像利用公式gray=r*0.299 g*0.587 b*0.114进行灰度变换,以及对图像进行相应的下采样操作。

根据实际的车辆采取到的道路图像构局去确定好roi选取的区域,确定好矩形四点(x1,y1),(x2,y2),(x3,y3),(x4,y4)的坐标。使用数学公式计算出由源图像中矩形到目标图像矩形变换的矩阵。再使用cv2.warpperspective()实现图像的透视变换。

2、道路车道线提取

采用sobel算子对图像进行道路边缘提取,用于提取出道路车道线的像素。在这之前要先将图像矩阵转换成uint8类型方便操作,然后利用cv2.sobel()函数传入图像数据进行边缘提取。

接着就是对提取的像素点进行车道线的分组。根据提取后图像的hog特征,使用np.argmax()方法去找到最大值的,并确定坐标。再设置相应大小的矩形窗口,使用np.mean()方法去对包含在矩形窗口内的车道线像素坐标取均值,由此计算出下一个矩形窗口的下边中点。不断重复上诉步骤直到将所有搜索完毕。

对于车道线的拟合,使用tf.variable()函数去声明[1,6]的张量,用tf.nn.tanh()函数去进行非线性变换,tf.reduce_mean()函数去搭建损失函数,最后使用tf.train.gradientdescentoptimizer()去训练参数,得到最优值以及sess.run()去启动计算图。

3、道路偏离报警

系统主机先获取当前汽车的偏离角度、曲率、速度、车道宽度,然后根据建立的车道偏离模型,计算是否发生车道偏离,随后依据判定的结果控制led报警器和声音报警器。

本实施例所设计的车道偏离报警模型结合了汽车偏离车道的时间和汽车偏移角,充分的利用所检测车道线的曲率信息。可以有效解决弯曲道路、汽车过道压线以及汽车转向的错误报警问题,同时大幅提高偏离报警准确性,解决在道路阴影、模糊、遮挡等复杂道路场景中车道线检测难的问题,显著降低弯曲道路、汽车过道压线以及汽车转向的错误报警问题。鲁棒性强、实时性高。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。


技术特征:

1.一种车道偏离报警系统,包括系统主机,所述系统主机用于信息处理存储和命令发送及执行;其特征在于,包括道路图像获取模块、道路图像处理模块和偏离报警模块;所述道路图像获取模块包括红外摄像头和ccd摄像头,用以获取实时的路况图像;所述道路图像处理模块对获取到的道路图像进行车道线的检测,所述偏离报警模块结合汽车偏离车道的时间和汽车偏移角,利用所检测车道线的曲率信息,进行汽车偏离报警。

2.根据权利要求1所述的车道偏离报警系统,其特征在于,所述道路图像处理模块包括预处理、边缘提取、滑动窗口分组和车道线拟合。

3.根据权利要求2所述的车道偏离报警系统,其特征在于,所述预处理主要的处理有将彩色的道路图像灰度化和,计算公式如下:

grey=r*0.299 g*0.587 b*0.114

其中的r、g、b分别为红色、绿色、蓝色通道;

对于图像的下采样,算法采用的双线性插值的方法,点(x,y)用双线性插值进行放缩后的浮点坐标为(x1 u,y1 v),其中x1,y1是其浮点坐标的整数部分,u,v为浮点坐标的小数部分;则计算公式如下:

4.根据权利要求2所述的车道偏离报警系统,其特征在于,所述边缘提取采用高斯平滑滤波器,二维形式如下:

其中,x,y是距离频率矩形中心的距离,σ是关于中心的扩展度度量;

利用sobel算子进行道路图像的边缘提取工作,sobel算子包含了两组矩阵模版,用于横向和纵向的卷积运算,横向和纵向的卷积模版如下:

以下两个公式分别计算每个像素的梯度大小和梯度方向:

5.根据权利要求2所述的车道偏离报警系统,其特征在于,所述滑动窗口分组对于边缘提取所得到的像素点,利用图像的hog特征大致定位各条车道线的位置;再设置一个一定大小的矩形区域,用两个起始点均值坐标作为矩形区域的下边中点,存储矩形区域内的像素点坐标,对存储的像素点横坐标取均值,计算出点坐标,作为下一窗口的矩形下边中点坐标,按照上述步骤持续搜索下去,直到将所有的车道线像素点分组完毕。

6.根据权利要求2所述的车道偏离报警系统,其特征在于,所述车道线拟合采用神经网络进行非线性回归的方法取拟合道路车道线,设置6节点的网络隐藏层,采用tanh激活函数进行非线形变化,首先进行线性的变换,公式如下:

z=θ0 θ1x1 θ2x2 … θ6x6

其中θ0-θ6为权重,并对结果采用tanh函数进行非线性的变换,公式如下:

损失函数采用均方误差mse,公式如下:

其中f(zt)为实际值,predt为预测值;

采用随机梯度下降法sgd进行最优化求解,其数学公式如下:

其中为α学习率,θi最终收敛到最大值。

7.根据权利要求2所述的车道偏离报警系统,其特征在于,所述偏离报警模块根据车道线的检测结果,计算出汽车前方车道的曲率,由于车道线两边的相互平行特性,只需对其中一边进行计算,车道曲率kl计算公式如下:

其中y是拟合车道线函数,计算出汽车在t时间内的行驶轨迹曲率kc;kp为误差值,只要车道曲率和汽车行驶轨迹曲率差值不超过误差值,则视当前汽车行驶处安全状态,若驾驶员未打开转向灯,且

|kc-kl|>kp

则进一步计算汽车从当前的位置到汽车驶离当前车道的时间t,将t与设置的安全阈值时间t1比较;t>t1,则汽车当前为安全状态,t<t1,则汽车将发生车道偏离,系统主机控制led报警器和声音报警器向驾驶员发出报警信号。

8.根据权利要求7所述的车道偏离报警系统,其特征在于,时间t由下面的公式计算得到:

其中,lx为当前汽车位置到汽车偏离方向车道线的横向距离,v为汽车当前的行驶速度,θ为当前汽车偏离中心纵轴线的角度;

lx的计算公式如下:

其中l0当前汽车中心位置到汽车偏离方向车道线的横向距离,wl为车道的宽度,wc为汽车的宽度。

技术总结
本发明涉及车道线检测技术领域,具体涉及一种车道偏离报警系统;包括道路图像获取模块、道路图像处理模块和偏离报警模块;所述道路图像获取模块包括红外摄像头和CCD摄像头,用以获取实时的路况图像;所述道路图像处理模块对获取到的道路图像进行车道线的检测,所述偏离报警模块结合汽车偏离车道的时间和汽车偏移角,利用所检测车道线的曲率信息,进行汽车偏离报警,本发明解决在道路阴影、模糊、遮挡等复杂道路场景中车道线检测难的问题,显著降低弯曲道路、汽车过道压线以及汽车转向的错误报警问题。鲁棒性强、实时性高,具有很强的创造性。

技术研发人员:韩高格;方周;夏盼
受保护的技术使用者:巢湖学院
技术研发日:2020.01.17
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-37582.html

最新回复(0)