本发明公开了一种用于车道偏离的计算方法,涉及汽车辅助驾驶技术领域。
背景技术:
车道偏移警告(lanedeparturewarning,ldw)和车道保持辅助(lanekeepingassist,lka)是先进驾驶辅助系统(advanceddriverassistancesystem,adas)的主要功能之一,其作用在于使汽车行驶路线保持在车道中,或者在汽车开始偏移时向司机或控制系统提供预警,以提高行车安全性。要实现上述功能,需要完成两项任务:1.首先检测车道线;2.然后确定车辆当前在车道内的位置,即:是否偏离中线,偏左还是偏右;偏离距离是多少。
一类广泛应用的车道线检测方法是将获取的图像转换为俯视图,在俯视图内检测车道线。另一类方法是在图像内直接检测直线段然后得到车道线。上述两类方法要求车道线清晰可见。近2-3年来,基于深度学习新的车道检测技术被提出,即语义分割法,甚至可以用于车道线模糊甚至不存在的道路。在第二项任务即计算偏移方向和偏移量里,需要知道图像坐标和世界坐标的关系,这个关系由标定过程得到。选择车道线检测方法需要对性能和成本的综合考量,比如语义分割法虽然给出出色的结果,但计算量大,短期内无法实用。
在俯视图内检测车道线的缺点在于,对噪声的鲁棒性差;更重要地,逆透视变换矩阵保持不变的假设不成立,这是因为车辆在行驶时,车况(负载,轮胎状态等)与标定时会有不同。因此,车道线检测最好在图像内进行。
车道线检测霍夫变换(houghtransform)是公认最鲁棒的直线检测技术,尤其适合检测长的、断续的直线。它尤其适合车道线的检测,因为多车道道路,中间车道线多数是虚线。霍夫变换可以检测出在同一条直线上的直线段,这样得到的长直线更不易被车道上其他标识或文字干扰,而且直线的参数精度也更高,更能保证偏移参数的计算精度。然而,霍夫变换甚少被采纳,理由是计算量大,速度慢。但我们在实际测试中发现,通过限制处理区域,计算量完全可控。
技术实现要素:
本发明针对上述背景技术中的缺陷,提供一种用于车道偏离的计算方法,在车辆行驶中,能正确计算车道偏移量。
为实现上述目的,本发明采用的技术方案如下:一种用于车道偏离的计算方法,包括以下步骤:
s1:标定相机内部参数,所述的相机内部参数利用opencv提供的张正友标定法来标定,包括:f为以像素为单位的焦距;(uc,vc)为光轴与图像平面交点;
s3:检测阶段:车辆设定沿道路直行,采用相机对道路实时拍摄,获取实时图像以及实时图像上的特征信息,所述特征信息为:左车道线和右车道线,以及其分别与图像底边的交点ul和ur和二者的交点——灭点;
s4:更新标定参数:根据实时图像上的特征信息以及标定参数的标定量获取标定参数的自适应量;
s5:根据获取标定参数的自适应量计算车辆的偏移量:
s6:偏移量纠正:
其中,h0为相机高度的标定量,θy为镜头内部参数,代表垂直方向视角的一半,θ为相机的俯仰角,β为相机偏转角;算出纠正后的车道偏移量后返回s3重新循环检测。
进一步的,s2中:相机拍摄的样本图像采用sobel边缘检测算子,因为车道线有一定宽度,每条车道线实际得到左右两条边缘线,我们只考虑内侧的边缘线;为此,以左侧车道线为例,去掉纵向梯度值为正的边缘点,留下的边缘点则主要属于内侧边缘线,右边同理。
进一步的,s3中:左右车道线获取包括以下方法:
步骤一:采用霍夫变换,对所有检测到的直线按可靠性由高到低排序;
步骤二:根据斜率判断是左、还是右车道线,左右各保留n(一般n在5和10之间)条线;步骤三:施加两个约束条件,一是车辆与灭点的距离小于设定的阈值,二是底边交线位置与本侧标定交线位置之差小于设定的阈值。
s2中标定方法包括:将特征信息所在的世界坐标系转化至图像坐标系,世界坐标系选为车道地面为x-z平面,z为车辆中轴,y轴垂直于车道地面,原点为相机坐标系原点在x-z平面的投影;根据特征信息的图像坐标获取标定的安装信息;世界坐标系(x,y,z)转化至图像坐标系(u,v)包括以下步骤:
步骤1:偏转角变换:
步骤2:俯仰角变换:以摄像头为主要传感器的adas系统,要兼顾交通灯和车道线;这二者分别代表最高点和最低点,路上车辆和行人位于二者之间;一般顾及车道线多一些,所以摄像头安装角度略微朝下俯视;
步骤3:建立小孔模型:
其中,f为相机内部参数,uc为相机内部参数,vc为相机内部参数,f为以像素为单位的焦距;(uc,vc)为光轴与图像平面交点,(x′,y′,z′)为偏转坐标系,是世界坐标系(x,y,z)以原点为圆心,顺时针沿y轴旋转相机的偏转角的角度形成的坐标系;(x″,y″,z″)为相机坐标系,是偏转坐标系(x′,y′,z′)经y轴平移h距离,再顺时针沿x轴旋转相机的俯角的角度形成的坐标系;
步骤4:合并以上坐标系变换得到图像坐标系;
当z→∞,获取灭点图像坐标(uvp,vvp);
灭点图像坐标可以图像坐标系中计算出,根据图像坐标系中的灭点图像坐标,获取俯仰角θ和偏转角β:
由于相机内部参数不变,vvp只取决于俯仰角θ,由此,如果vvp保持不变,可以推断出俯仰角θ未变;如果vvp变化,说明俯仰角已经发生变化;另外,如果俯仰角保持不变,车辆保持直行,镜头偏转角度也不变,则uvp保持不变;
由图像处理可以算得左右车道线,以及在底边的位置(ul,ur);对应路面上的车道线为(xl,xr);按定义,标定参数尺度比的计算方法为:
从镜头看到路面的最近距离z′min,是穿过镜头焦点及图像底边定义的平面与地面相交的直线;该直线在x′-z′平面上与x′轴平行,与z′轴垂直,直线方程为z′=z′min;该直线上的点成像于图像底边,这也包括左右车道线于该直线的交点;设左右车道线的直线方程为x=xl,x=xr,给定镜头可见路面最近距离z′min,在图像里,两条地面直线与底边相交,得到ul,ur:
代入公式(1)得
因为:θ,β→0,z′min>n*xl,n>2,z′min>>h,;
所以:
同理:
上式成立的条件是相机的俯仰角和偏转角较小,焦距较大(因此z′min也较大);在此条件下,车道在底边的宽度ulane只与俯仰角、焦距和最小距离有关,而与偏转角无关;这意味着,车辆直驶或稍偏转时,只要俯仰角不变,ulane就不变。
镜头可见路面最近距离z′min:
其中,h为相机距地面高度,θy为镜头内部参数:
其中,himage是图像高度;
标定参数尺度比τ标定量计算方法包括:将公式(4)、(5)代入公式(3)得;
其中,其中,τ0为当前时刻尺度比τ的对应的尺度比τ的标定量,θ0为当前时刻俯仰角θ对应的俯仰角θ的标定量;h0为当前时刻相机高度h对应的相机高度h的标定量;
车中轴交点标定量的计算方法包括:车道内左右偏移比和图像内左右偏移比相等:
由此得到:
标定过程中,wlane车道宽度通过实际测量得到;在不同车道宽度,尤其是在不同偏转角,包括车辆轻微非直行条件下,尺度比t仍为常量。另一方面,t主要取决于俯仰角θ和相机高度h;因为车况变化(负载,轮胎状态等),图像平面和道路平面的几何关系随之发生变化,即俯仰角θ和相机高度h发生变化,造成尺度比t变化;因此在计算偏离量前,必须重新计算两个标定参数:车中轴交点ux=0和尺度比t;
检测阶段中:标定参数尺度比自适应量计算包括:
由当前车道线算出当前灭点,再算出当前俯仰角θ,所以当前尺度比为:
其中,相机高度h在实际运动过程中变化不大,相机高度h≈h0;
车中轴交点ux=0的自适应量的计算方法包括:由于车辆中轴直线为x=0,在图像内与底边的交点为:
根据获取的标定参数的自适应量计算车辆的偏移量:
进一步的,上述偏移量是在z′min处计算出来的,车辆在z′=0处偏移量应减去偏转角造成的偏移,所以车辆在车道内实际偏移为:
有益效果:本发明最大限度利用了车道线特征,加入自适应机制,自动更新标定参数,精确计算车辆在车道内的偏移量。
附图说明
图1为车道线透视图;
图2为镜头相对车中轴线的偏转角;
图3为镜头相对车道平面的俯角;
图4为镜头的小孔模型。
具体实施方式
下面结合附图对技术方案的实施作进一步的详细描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明提供的一种实例:如图1~4所示,一种用于车道偏离的计算方法,包括以下步骤:
s1:标定相机内部参数,所述的相机内部参数利用opencv提供的张正友标定法来标定;
s3:检测阶段:车辆设定沿道路直行,采用相机对道路实时拍摄,获取实时图像以及实时图像上的特征信息,所述特征信息为:左右车道线,以及其分别与图像底边的交点ul和ur和二者的交点——灭点;
其中,h0为相机高度的标定量,θy为镜头内部参数,代表垂直视野,θ为相机的俯仰角,β为相机偏转角;算出纠正后的车道偏移量后返回s3重新循环检测。
步骤二:根据斜率判断是左、还是右车道线,左右各只保留最多n(一般n在5和10之间)条线;步骤三:施加两个约束条件,一是车辆与灭点的距离小于设定的阈值,二是底边交线位置与本侧标定交线位置之差小于设定的阈值。
其中,f为相机内部参数,uc为相机内部参数,vc为相机内部参数,f为以像素为单位的焦距;(uc,vc)为光轴与图像平面交点,(x′,y′,z′)为偏转坐标系,是世界坐标系(x,y′z)以原点为圆心,顺时针沿y轴旋转相机的偏转角的角度形成的坐标系;(x″,y″,z″)为相机坐标系,是偏转坐标系(x′,y′,z′)经y轴平移h距离,再顺时针沿x轴旋转相机的俯角的角度形成的坐标系;
由于相机内部参数不变,vvp只取决于俯仰角θ,由此,如果vvp保持不变,可以推断出俯仰角未变;如果vvp变化,说明俯仰角已经发生变化;另外,如果俯仰角保持不变,车辆保持直行,镜头偏转角度β也不变,则uvp保持不变;
由图像处理可以算得左右车道线,以及在底边的位置(ul,ur);对应路面上的车道线为(xl,xr);按定义,标定参数尺度比τ计算方法包括以下步骤:
标定参数尺度比标定量计算方法包括:将公式(4)、(5)代入公式(3)得;
标定过程中,wlane车道宽度通过实际测量得到;在不同车道宽度,尤其是在不同偏转角,包括车辆轻微非直行条件下,尺度比τ仍为常量。另一方面,τ主要取决于俯仰角θ和相机高度h;因为车况变化(负载,轮胎状态等),图像平面和道路平面的几何关系随之发生变化,即俯仰角θ和相机高度h发生变化,造成尺度比τ变化;因此在计算偏离量前,必须重新计算两个标定参数:车中轴交点ux=0和尺度比τ;
根据获取标定参数的自适应量计算车辆的偏移量:
本例中使用了双目镜头,用以测量前方车辆距离;为保证50-100m距离计算精度,采用镜头焦距16mm,左右镜头中轴略向中间靠拢;左边镜头被用来做车道偏移计算;相机内参标定得到:图像中心c=(345,226),图像中心c为(uc,vc),镜头焦距f=2102pixels(像素),垂直视角θy=6.89°;车道线标定得到灭点vp=(272,256),相机高度h0=1.5m,车道宽度wlane=3.75m。由此计算得到:初始俯角θ0=-0.818°,初始偏转角β0=1.360°,车辆中轴交点ux=0=272,初始尺度比τ0=0.496cm/pixel。
车辆行驶中录得视频实测,当前左车道线与图像底边交点为ul=-30,右车道线交点ur=720,灭点vp=(273,245);由此计算得到:当前俯角θ=-0.5211°,当前偏转角β=1.36°,车辆中轴交点ux=0=273,当前尺度比τ=0.4663cm/pixel;因此,车辆中心到左车道线距离δxl=(273-(-30))*0.4663=141cm,
车辆中心到右车道线距离δxr=(720-273)*0.4663=208cm,
车辆向左偏移=(141+208)/2-141=33.5cm。
本发明最大限度利用了车道线特征,加入自适应机制,自动更新标定参数,精确计算车辆在车道内的偏移量。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。