本发明属于机器视觉技术领域,尤其涉及一种基于数字图像的汽车与路沿石距离方法。
背景技术:
随着我国汽车保有量的增加,汽车的安全驾驶技术日益受到人们重视。由于驾驶舱对驾驶员视野的限制,驾驶员一般情况下无法直接观测到车辆左右侧的物体。对于新手驾驶员,当车辆行驶于道路两侧时,很容易由于判不准确而使车辆与路沿石发生碰撞,从而对车辆及道路造成破坏。
目前,许多车辆配备有基于数字图像处理技术的车道偏离预警系统。该类系统装置能够检测车辆与道路标志线之间的空间关系,并对驾驶员偏离车道的行为进行警告。但是该类系统对道路环境的要求较高,尤其当道路标志线不够清晰,或者大气能见度较差时,系统容易失效。并且该类系统只探测车辆前方的信息,不能直接给出车辆两侧与路沿石的距离。
技术实现要素:
针对以上问题,本发明的目的在于,提供一种基于数字图像的汽车与路沿石距离检测方法,实现车辆与路沿石之间距离的直接测量。
一种基于数字图像的汽车与路沿石距离检测方法,包括以下步骤:
步骤1,利用安装在车辆上的红外线状激光发射器在车辆两侧的路面上投射红外样条,接着利用安装在车辆上的红外面阵相机采集路面图像,所述路面图像中含有红外样条;
步骤2,采用中值滤波器对采集到的路面图像进行滤波处理,得到滤波后路面图像的像素灰度值
步骤3,在图像坐标系下,将滤波后的路面图像进行阈值分割,得到二值化图像;所述图像坐标系以采集到的路面图像左下角为原点,水平方向为X轴,垂直方向为Y轴;
设该路面图像的灰度级为n级,n=0,1,2,…,N,N为大于等于0的整数;
包括:
步骤31,将各灰度级依次作为初始分割阈值将路面图像分割为前景图像和背景图像;所述前景图像为路面图像中的红外样条部分,所述背景图像为路面图像中除过前景图像后剩余的部分;
计算每一灰度级下前景图像和背景图像的类间方差gn:
gn=w0(u0-u)+w1(u1-u)2
w0为当前灰度级下前景图像占路面图像的比例,w1为当前灰度级下背景图像占路面图像的比例;0≤w0≤1,0≤w1≤1;
u为路面图像的平均灰度,以的平均值作为路面图像的平均灰度;
u0为当前灰度级下前景图像的平均灰度:
u1为当前灰度级下背景图像的平均灰度:
其中,f(x′,y′)为当前灰度级下前景图像中像素点的灰度值,f(x″,y″)为当前灰度级下背景图像中像素点的灰度值,Nfg为当前灰度级下前景图像中像素点的数量,Nbg为当前灰度级下背景图像中像素点的数量,Sfg为当前灰度级下前景图像中像素点构成的集合,Sbg为当前灰度级下背景图像中像素点构成的集合;
步骤32,将类间方差最大时的灰度级作为最终的分割阈值,将路面图像分割为二值化图像;
步骤4,对二值化图像进行形态学闭运算,使得二值化图像中的红外样条连续;
步骤5,利用长度为2的光栅对步骤四得到的二值化图像进行遍历,得到红外样条的中心点集合(xi,f(xi)),i=1,2,3,…;
包括:
步骤51,利用长度为2的光栅对步骤四得到的二值化图像进行遍历,若光栅内容为0和1时,则此时光栅搜索到的像素点为二值化图像中红外样条的边界点;
步骤52,通过步骤51得到的红外样条的边界点集合,得到红外样条的中心点集合(xi,f(xi)),i=1,2,3,…;
步骤6,通过红外样条的中心点集合,得到路沿石在图像坐标系中的位置Edge:
Edge={x|x=arg max[fi′(x)],且fi″(x)≤σ}
其中,fi′=f(xi)-f(xi-1),fi″=f(xi)-2f(xi-1)+f(xi-2),σ→0;
步骤7,将路沿石在图像坐标系中的位置Edge转换为车辆坐标系下的车辆与路沿石的距离Dst:
Dst=ax2+by2+cx+dy+m
其中,x,y分别为路沿石在图像坐标系下的坐标位置,Edge为路沿石在图像坐标系下的X轴坐标x的集合;a,b,c,d,m为常数;a为6.222×10-4,b为0.2409,c为0.5568,d为-212.1,d为4.696×104;
所述车辆坐标系以车辆的重心为原点,以车辆的侧倾轴为X轴,以车辆的俯仰轴为Y轴,以车辆的横摆轴为Z轴。
进一步地,步骤2中所述的采用中值滤波器对采集到的路面图像进行滤波处理,滤波后路面图像的像素灰度值为:
其中,为滤波后路面图像的像素灰度值,Sxy为路面图像像素点(x,y)的任意一个邻域,g(s,t)为该邻域内的像素点的灰度值。
与现有技术相比,本发明具有以下技术效果:
(1)本发明采用红外线状激光发射器在道路上产生红外样条特征,能够避免可见光样条对其他驾驶员及行人照成视觉干扰;
(2)本发明中红外样条特征的检测受外界光线干扰较小,故本发明所述的方法在白天和夜晚均能够适用;
(3)本发明能够用于检测不同高度的路沿石位置,为车辆计算机系统对驾驶员进行预警提供可靠依据。
附图说明
图1为本发明的路沿石测距传感器安装位置正面示意图;
图2为本发明的路沿石测距传感器安装位置俯视示意图;
图3为本发明的车辆与路沿石距离检测方法流程图;
图4为本发明中动态分割后红外样条的二值化图像;
图5为本发明中动态分割前红外样条的路面图像;
图6为本发明的所采用的动态阈值分割方法流程图;
图7为本发明的红外样条中心线提取过程示意图;
图8为本发明的标定函数曲线示意图。
下面结合附图和实施例对本发明作进一步的详细阐述。
具体实施方式
下面通过附图和实施例,进一步阐述本发明。
为了实现上述任务,本发明采用以下技术方案得以实现,基于数字图像的汽车与路沿石距离检测装置包括:红外线状激光发射器,红外面阵相机,MCU。
所述的红外线状激光发射器用于发射红外线状激光,从而在车辆两侧的路面上投射出红外样条;
所述的红外面阵相机用于拍摄红外线激光投射处的图像,供MCU分析车辆与路沿石的距离;
所述的MCU用于接收图像信号,识别路沿石位置,并分析车辆与路沿石距离。
如图1和图2所示:
红外线状激光发射器和红外面阵相机均安装于车辆的左侧面;
红外线状激光发射器安装于车辆的中柱位置,其发射端向下倾斜,用于在路面上投射出红外样条特征;红外面阵相机安装于车辆左前门外侧,用于采集红外样条曲线的图像特征。
红外线状激光发射器发出的线激光束所在平面与车辆的中心对称面垂直。
如图3所示,本发明所述的车辆与路沿石距离检测方法,包括:
步骤1,利用安装在车辆上的红外线状激光发射器在车辆两侧的路面上投射红外样条,接着利用安装在车辆上的红外面阵相机采集路面图像;系统开始工作时,红外线状激光发射器在路面上投射出一条红外样条,该红外样条能够被装有偏光镜的红外面阵相机所捕获。
步骤2,以采集到的路面图像左下角为原点,水平方向为X轴,垂直方向为Y轴建立图像坐标系;
采用中值滤波器对采集到的路面图像进行滤波处理,滤波后路面图像的像素灰度值为:
其中,为滤波后路面图像的像素灰度值,Sxy为路面图像像素点(x,y)的任意一个邻域,g(s,t)为该邻域内的像素点的灰度值。
步骤3,由于车辆所运行的光线环境较为复杂,本发明采用动态阈值分割的方法对滤波后的路面图像进行阈值分割,得到二值化图像。图4为动态阈值分割后得到的二值化图像,图5为动态阈值分割前的路面图像。
设该路面图像的灰度级为n级,n=0,1,2,…,N,N为大于等于0的整数;
步骤31,将各灰度级依次作为初始分割阈值将路面图像分割为前景图像和背景图像;本实施例中N取255,所述前景图像为路面图像中的红外样条部分,所述背景图像为路面图像中除过前景图像后剩余的部分;
计算每一灰度级下前景图像和背景图像的类间方差gn:
gn=w0(u0-u)+w1(u1-u)2
w0为当前灰度级下前景图像占路面图像的比例,w1为当前灰度级下背景图像占路面图像的比例;0≤w0≤1,0≤w1≤1;
w0=N0/N,w1=N1/N。其中,N0和N1分别为前景、背景像素点数量,N为图像像素点总数量;
u为路面图像的平均灰度,以的平均值作为路面图像的平均灰度;
u0为当前灰度级下前景图像的平均灰度:
u1为当前灰度级下背景图像的平均灰度:
其中,f(x′,y′)为当前灰度级下前景图像中像素点的灰度值,f(x″,y″)为当前灰度级下背景图像中像素点的灰度值,Nfg为当前灰度级下前景图像中像素点的数量,Nbg为当前灰度级下背景图像中像素点的数量,Sfg为当前灰度级下前景图像中像素点构成的集合,Sbg为当前灰度级下背景图像中像素点构成的集合;
步骤32,将类间方差最大时的灰度级作为最终的分割阈值,将路面图像分割为二值化图像;
步骤4,由于地面凹凸不平等因素的影响,相机所采集到的图像可能不像图4所示的红外样条那般连续完整,而是呈若干分段红外样条。在本发明所述的方法中,需采用形态学闭运算处理的方法将断裂的样条曲线联合起来,得到连续红外样条的前景图像。
其中,A为输入图像的像素集合,B为形态学结构元,“·”为闭运算符号,表示膨胀算子,表示腐蚀算子。
步骤5,如图7所示,利用一个长度为2的光栅对路面图像进行遍历,得到红外样条的中心点集合(xi,f(xi)),i=1,2,3,…;
步骤51,利用长度为2的光栅对步骤四得到的二值化图像进行遍历,因为光栅搜索到的是红外样条外的像素点时,光栅内容为0和0,光栅搜索的为红外样条时,光栅内容为1和1,所以若光栅内容为0和1时,则此时光栅搜索到的像素点为路面图像中红外样条的边界点;
步骤52,通过步骤51得到的红外样条的边界点集合,得到红外样条的中心点集合(xi,f(xi)),i=1,2,3,…;
本实施例中,假设在图像第i列的第j1、j2行分别检测到样条曲线的上下两个边界点,则样条曲线在该列的中心点为对图像的各列进行类似的处理后,即可得到红外样条中心点的离散点集合(xi,f(xi)),i=1,2,3…。xi为红外样条中心点在x轴上的坐标,f(xi)为红外样条中心点在y轴上的坐标。
步骤6,由于路沿石的外沿与道路表面一般成直角,因此,通过计算曲线中心点集的一阶导数和二阶导数,可以找到曲线中的突变点。
通过红外样条的中心点集合,得到路沿石在图像坐标系中的位置Edge:
Edge={x|x=arg max[fi′(x)],且fi″(x)≤σ}
其中,由于(xi,f(xi)),i=1,2,3…为离散点,所以fi′(x)和fi″(x)用差分代替,fi′=f(xi)-f(xi-1),fi″=f(xi)-2f(xi-1)+f(xi-2),σ→0。
步骤7,将路沿石在图像坐标系中的位置Edge转换为车辆坐标系下的车辆与路沿石的距离Dst:
Dst=ax2+by2+cx+dy+m
其中,x,y分别为路沿石在图像坐标系下的坐标位置;a,b,c,d,m为各待定常数。
为了获取a,b,c,d,m的值,本发明选用的是采用实验标定的方法确定其数值,具体的为:
首先,通过实验获得车辆与路沿石之间的5组数据di,xi,yi,i=1,2,3,4,5。此时这五组数可以构成如下的线性方程:
进一步的,可以得到向量X=[a b c d m]T的解:
本实施例中,分别设置了5组不同的路沿石边缘到车辆纵轴线距离:1800mm、1600mm、1500mm、1200mm和1000mm。在所采集的图像中,识别到的边缘点在图像坐标系中的坐标分别为(1175,441),(1065,448),(1019,440),(835,448),(699,431)。将数据代入公式中,得到标定参数为:
利用以上标定参数,可以计算出其他路沿石边缘点的图像坐标在车辆坐标系中的位置。利用以上标定系数所绘制出的曲线如图8所示。