一种基于垂直投影积分的斑马线快速检测方法与流程

文档序号:12748453阅读:431来源:国知局
一种基于垂直投影积分的斑马线快速检测方法与流程

本发明涉及一种基于垂直投影积分的斑马线快速检测方法。



背景技术:

随着城市化的进展以及汽车的普及,机动车数量大量增加,交通拥挤加剧,交通事故频发,公路交通的安全以及运输效率问题变得日益突出。而基于计算机视觉的驾驶辅助系统是解决交通安全和运输效率问题的重要措施之一,使得其在智能交通系统中逐渐获得应用。它的研究大致在道路识别、碰撞识别、交通标志识别等三方面进行。在道路识别、碰撞识别方面研究较早,也取得许多较好的结果,但在路面交通标志识别方面研究较少。由于交通标志中包含许多重要的交通信息,如驾驶前方道路状况的改变、人行道、速度限制、驾驶方向指向等信息,适时提供这些信息给驾驶员有利于驾驶员适时反应,保证驾驶安全,避免交通事故发生,具有重要的意义。

根据目前的文献,斑马线检测方面的研究还是空白,但在驾驶辅助系统中,为了回避生命受到威协,提前预报是非常重要的;为此本文提出一种基于车载视觉的斑马线实时检测算法。该算法不仅使安全驾驶得到保障,而且尤为重要的是避免了可能发生的意外交通事故。



技术实现要素:

本发明的目的是为了克服现有技术中的不足,从而提供一种基于垂直投影积分的斑马线快速检测方法。

一种基于垂直投影积分的斑马线快速检测方法,包括以下步骤:步骤一:获取兴趣区域的图像I(x,y);

步骤二:将获得的彩色图像转换成灰度(256级)图像f(x,y),本方法直接调用库函数rgb2gray(img);

步骤三:对图像f(x,y)进行高斯滤波,即用公式式F(x,y)=(f(x,y)*g1(x,σ))*g2(y,σ),其中g1(x,σ)表示沿水平方向滤波,g2(y,σ)表示沿竖直方向滤波;这里σ取值为5;

步骤四:运用Otus方法对图像进行分割。设图像总像素为N,灰度级为L,灰度为i的像素为Ni个。令w(k)和u(k)分别表示0到灰度级k的像素出现的概率和平均灰度,又设像被分成M个像素类Cj(即有M-1个门限

0≤t1<t2<...<tM-1≤L-1),将图像分成M个像素类Cj,Cj∈[tj-1+1,tj],j=1,…,M,t0=0,tM=L-1.则Cj出现的概率wj,平均灰度和方差分别为:wj=w(tj)-w(tj-1),则内类方差为类间方差因此分割方法为使类内距离最小和类间距离最大的阀值组{t1,t2,t3,...,tM-1}作为M阀值化的最佳阀值组。当M=2时,即分成2类,此时为即最大化σ2=ω0(μ-μ0)21(μ-μ1)2求出图像分割门限T;并用T以图像实施二值化,即

步骤五:引用形态学滤波去除噪声,即先进行闭运算然后进行开运算这里B取为点的八连通;

步骤六:沿水平方向进行投影,当出现白点时,即图像G(x,y)=1时,统计并根据投影直方图的峰数计算标志个数N和每一个标志的面积Si

第七步:设定投影门限T1,标志个数大于T2且每两个标识面积之差小于T3,若s>T1,且N>T2和|Si-Sj|<T3,则检测为斑马线。

采用上述技术方案的有益效果是:

本发明提出算法不仅简单,也比较容易实现。另外时间较短,能满足实时性的需求。此外本发明提出的算法对于运动模糊也具有较强的鲁棒性。

附图说明

图1为本发明斑马线检测算法流程方框图。

图2为本发明斑马线示意图。

图3为本发明斑马线水平投影示意图。

图4为本发明Otsu方法分割图原图像图。

图5为本发明Otsu方法分割结果图。

图6为本发明水平投影结果曲线图。

图7为本发明斑马线检测与定位图。

具体实施方式

一种基于垂直投影积分的斑马线快速检测方法,包括以下步骤:

步骤一:获取兴趣区域的图像I(x,y);

步骤二:将获得的彩色图像转换成灰度(256级)图像f(x,y),

本方法直接调用库函数rgb2gray(img);

步骤三:对图像f(x,y)进行高斯滤波,即用公式式F(x,y)=(f(x,y)*g1(x,σ))*g2(y,σ),其中g1(x,σ)表示沿水平方向滤波,g2(y,σ)表示沿竖直方向滤波;这里σ取值为5;

步骤四:运用Otus方法对图像进行分割;设图像总像素为N,灰度级为L,灰度为i的像素为Ni个。令w(k)和u(k)分别表示0到灰度级k的像素出现的概率和平均灰度,又设像被分成M个像素类Cj(即有M-1个门限

0≤t1<t2<...<tM-1≤L-1),将图像分成M个像素类Cj,Cj∈[tj-1+1,tj],j=1,…,M,t0=0,tM=L-1.则Cj出现的概率wj,平均灰度和方差分别为:则内类方差为类间方差因此分割方法为使类内距离最小和类间距离最大的阀值组{t1,t2,t3,...,tM-1}作为M阀值化的最佳阀值组;当M=2时,即分成2类,此时为即最大化σ2=ω0(μ-μ0)21(μ-μ1)2求出图像分割门限T;并用T以图像实施二值化,即

步骤五:引用形态学滤波去除噪声,即先进行团运算然后进行开运算这里B取为点的八连通;(A):闭运算是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。算法是用NxN(如3x3)的结构元素B,扫描图像的每一个像素,用结构元素与其覆盖的二值图像做“与”操作,如果都为1,结果图像的该像素为1,否则为0;(B):开运算是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞;算法是用NxN的结构元素B,扫描图像的每一个像素用结构元素与其覆盖的二值图像做“与”操作如果都为0,结果图像的该像素为0,否则为1;

步骤六:沿水平方向进行投影,当出现白点时,即图像G(x,y)=1时,统计并根据投影直方图的峰数计算标志个数N和每一个标志的面积Si

第七步:设定投影门限T1,标志个数大于T2且每两个标识面积之差小于T3,若s>T1,且N>T2和|Si-Sj|<T3,则检测为斑马线。

斑马线检测的基本原理

路面的斑马线标志具有明显的特征,就是它在路面中央由很多长方形的区域组成,其简化图如图2所示。对它们进行水平投影,如图3所示。很明显,有斑马线的地方投影积较大。

图像分割

为了将斑马线标志分割出来,我们选用了目前广泛使用的最大类间方差法。它是以目标和背景之间方差最大来动态确定图像二值化的阈值[7]

设一幅图像由N个像素点组成,它们拥有L个灰度级数(0,1…,L-1)。灰度级数i的像素为ni,则总的像素数为N,各灰度值出现的概率为pi。若阈值T将所有像素点分为两类C0和C1,C0由灰度值在{0,1…,T-1}的像素组成,C1由灰度值在{T,T+1…,L-1}的像素组成,C0和C1在图像中所占的比列分别为ω01,平均灰度分别为μ01。故图像前后景的方差为:

σ2=ω0(μ-μ0)21(μ-μ1)2

其中μ是整幅图像的平均灰度。故Otsu方法所选择的最佳阈值为使得方差σ2最大的阈值T。一幅图像的分割结果如图2所示。图像滤波

为了减小噪声的干扰,我们对二值化的图像进行滤波。首先去除面积较大和面积较小的区域,去除面积较大区域的阈值为T0,去除面积较小区域的阈值为T2。然后再去掉边缘区域的干扰。最后再去掉水平较长的直线和竖直较长的直线。图4是滤波的过程及结果。

图像积分投影

投影方法是根据图像在某些方向上的投影分布特征来进行检测的。这种方法实际上是一种统计方法,主要有水平投影和垂直投影。考虑到斑马线纹理方向,且水平投影积分值较大,而垂直投影积分值较小,故只需水平投影即可。对图像的分割结果进行进行水平投影,统计图像上每一行像素点的值s=s+I(i,j),并对归一化的统计结果H(j)做如下处理:

如图5分割区域的水平投影结果如图6所示,其中纵坐标表示图像投影的高度,横坐标表示目标在图像中的位置。

斑马线检测与定位

从图6中可以看出有效投影区域总共有三段。故对投影后的图进行扫描,分别算出每一段有效投影区域中标识的个数以及每一个标识的面积;并记下每一段有效投影区域中标识的个数大于T2是一门限,可以是经验值,且每两个标识的面积之差小于T3的起始坐标和终止坐标,最后在原图像中定位出斑马线。检测和定位的斑马线如图7所示。

实验结果及实验参数分析

我们的算法主要涉及到五个参数T1、T2、T3、T4以及归一化的H(j)中s,这些参数在斑马线的检测中起到了至关重要的作用,然而这些参数都是根据实际情况而取值的,将来的工作就是去寻求使得这些参数成为自适应值的新方法,并使得他们能适应各种复杂的路面场景。

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