一种基于多部件空间位置关系GMM建模的车辆检测方法与流程

文档序号:12365481阅读:356来源:国知局
一种基于多部件空间位置关系GMM建模的车辆检测方法与流程

本发明属于智能交通领域,涉及一种基于多部件空间位置关系GMM建模的车辆检测方法。



背景技术:

随着智能交通监控系统的大力推广以及计算机视觉技术的快速发展,基于视频的车辆检测与识别逐渐成为当今交通监控系统研究的一个重要内容。通过实现准确的车辆检测可以为道路交通监管部门对道路交通的智能监测与控制提供一定的支持与保障。

而针对道路交通监控系统中的车辆检测技术研究,最早要追溯到20世纪70年代,当时美国率先提出了利用机器视觉代替传统检测方法进行车辆检测的思想。后来随着ITS的不断发展,世界各个国家都加大在智能交通领域的研究力度,不断投入资金和人才致力于交通智能化发展,车辆检测技术因此也进入一个快速发展的阶段,多种车辆检测方法也应运而生,如:基于目标特征的方法、基于机器学习的方法以及基于目标模型的方法等。这三种方法是近十几年比较经典的车辆检测方法。基于目标特征的车辆检测方法如果采用车辆简单特征如颜色,轮廓灯来构建特征描述子,会使检测准确度下降;但如果采用比较复杂的特征来构建特征描述子如HOG、Gabor特征等,虽然精度会提高,但实时性也会明显下降。而基于机器学习的车辆检测方法,一般对训练集的依赖都很大,并且训练数据也较庞大,结果往往会导致算法的实时性和鲁棒性不太好。反倒是基于目标模型的车辆检测,尤其是最近几年出现的基于目标部件模型的车辆检测方法受到了研究者的大力关注。

但针对这一思路提出的很多方法还不太成熟,依然存在以下无法解决的问题。其一,复杂的城市环境、多变的天气、不均匀的光照等会降低检测的性能。其二、当交通出现拥堵时,车辆之间的互相遮挡,会给车辆检测带来极大的困难,经常会出现多个车辆被融合为一个车辆而检测到情形。其三、来自白天光照的散射有时候会造成目标的影子被误检为车辆目标。



技术实现要素:

针对现有技术中存在的问题和缺陷,本发明的目的在于,提供一种基于多部件空间位置关系GMM建模的车辆检测方法,该方法可以对道路交通视频中出现的所有车辆实现实时且准确的检测。

为了实现上述目的,本发明采用以下技术方案:

一种基于多部件空间位置关系GMM建模的车辆检测方法,包括以下步骤:

步骤一,获取道路交通视频中的大量包含有车辆的样本图像,根据样本图像中的车牌区域和车尾灯区域,得到车辆的车尾灯颜色模型和车牌颜色模型;根据车牌区域和尾灯对区域之间的位置关系,得到位置关系的概率模型,包括尾灯对概率模型、左尾灯和车牌概率模型以及右尾灯和车牌概率模型;

步骤二,针对道路交通视频中的一帧视频图像,采用车牌颜色模型进行转换,得到该帧视频图像对应的车牌灰度图像;并采用车尾灯颜色模型进行转换,得到该帧视频图像对应的车尾灯灰度图像;

步骤三,针对车牌灰度图像,计算每个像素点处的灰度梯度值,所有像素点处的灰度梯度值形成车牌梯度图像;

步骤四,选取一个与车牌大小相同的平滑窗,针对车牌梯度图像中的每一个像素点,计算平滑窗内所有像素点的灰度梯度值的平均值,将该平均值作为该像素点的像素值,所有像素点的像素值形成车牌平均梯度图像;

步骤五,针对车牌平均梯度图像,划分多个网格块,对每个网格块进行判断,并计算得到多个车牌区域;

步骤六,针对车尾灯灰度图像,采用阈值二值化分割和8点邻域连通法标记出多个连通区域;

步骤七,统计每个连通区域内灰度值是1的像素点的个数,若大于阈值,则该连通区域是车尾灯区域,否则该连通区域不是车尾灯区域,得到多个车尾灯区域,每个车尾灯区域包括左尾灯区域和右尾灯区域;

步骤八,在多个车牌区域和多个车尾灯区域中任意选取一个车牌区域和一个车尾灯区域,计算车牌区域的质心和左尾灯区域的质心之间的间距,以及两个质心的连线与水平方向的夹角;计算车牌区域的质心和右尾灯区域的质心之间的间距,以及两个质心的连线与水平方向的夹角;计算左尾灯区域的质心和右尾灯区域的质心之间的距离,以及两个尾灯区域的质心离地面的高度;

步骤九,将车牌区域的质心和左尾灯区域的质心之间的间距,以及两个质心的连线与水平方向的夹角代入左尾灯和车牌概率模型,将车牌区域的质心和右尾灯区域的质心之间的间距,以及两个质心的连线与水平方向的夹角代入右尾灯和车牌概率模型,将左尾灯区域的质心和右尾灯区域的质心之间的距离,以及两个尾灯区域的质心离地面的高度代入尾灯对概率模型,并分别计算3个概率模型对应的概率似然度,如果至少有一个概率模型的概率似然度大于预设阈值,则认为检测到的车牌和尾灯属于同一车辆;

步骤十,重复步骤八和步骤九,完成视频图像中所有车辆的检测。

具体地,所述步骤二中的针对道路交通视频中的一帧视频图像,采用车牌颜色模型进行转换,得到该帧视频图像对应的车牌灰度图像,具体包括以下步骤:

将视频图像中的每一个像素点(u,v)所对应的R,G,B颜色分量Ru,v,Gu,v,Bu,v按照公式Fu,v=Bu,v-min{Ru,v,Gu,v}进行处理,并将Fu,v值作为像素点(u,v)的灰度值,所有像素点的灰度值形成该帧视频图像所对应的车牌灰度图像。

具体地,所述步骤二中的针对所述视频图像,采用车尾灯颜色模型进行转换,得到该帧视频图像对应的车尾灯灰度图像,具体包括以下步骤:

将视频图像的每一个像素点(u,v)所对应的R,G,B颜色分量Ru,v,Gu,v,Bu,v按照公式Fu,v=Bu,v-max{Ru,v,Gu,v}进行处理,并将Fu,v值作为像素点(u,v)的灰度值,所有像素点的灰度值形成视频图像所对应的车尾灯灰度图像。

具体地,所述步骤三中的计算每个像素点处的灰度梯度值Gradu,v,采用的公式如下:

Gradu,v=max{F*u,v}-min{F*u,v},(u,v)∈M

其中,max{F*u,v}表示像素点(u,v)的邻域像素点中灰度值的最大值,min{F*u,v}表示像素点(u,v)的邻域像素点中灰度值的最小值。

具体地,所述步骤五中的对每个网格块进行判断,并计算得到多个车牌区域,具体包括以下步骤:

在每一网格内找出像素值最大的像素点作为局部极值点,将该像素值与设定的阈值a进行比较,若它比a大,则该局部极值点对应的平滑区域是车牌区域,平滑区域指的是以该局部极值点为左上角,大小为车牌大小的矩形;否则,该区域不是车牌区域,得到多个车牌区域。

具体地,所述步骤六中的阈值二值化分割,具体包括以下步骤:

将车尾灯灰度图像中的每一像素点的灰度值与设定阈值b比较,若比b大,则将该像素点的灰度值设为1,若比b小,则将该像素点的像素值设为0,得到车尾灯的二值化分割图像。

具体地,所述步骤六中的8点邻域连通法,具体包括以下步骤:

针对车尾灯二值化分割图像中的每一个像素点f(x,y)与邻域内距离相隔(p,q)的8个像素点作连通标记,如果像素点f(x,y)的灰度值与8邻域内的某个像素点f(x+p,y+q)的灰度值相同,则认为像素点f(x,y)与像素点f(x+p,y+q)连通,对像素点f(x,y)分配与像素点f(x+p,y+q)相同的标号进行标记,像素点f(x,y)与像素点f(x+p,y+q)合并形成一个连通区域;如果该像素点f(x,y)的灰度值与8邻域内所有的像素点的灰度值均不相同,则认为此像素点属于新的区域,为该像素点f(x,y)分配新的标号进行标记。

与现有技术相比,本发明具有以下技术效果:本发明的基于多部件空间位置关系GMM建模的车辆检测方法,具有较高的稳定性和检测精度,尤其针对光照条件较差和部件被遮挡的情形,本发明提出的方法有较好的效果。

附图说明

图1为部分车牌样本图像;

图2为部分车尾灯样本图像;

图3是车牌灰度图像;

图4是车尾灯灰度图像;

图5是尾灯对部件与车牌部件之间空间位置关系的概率模型(GMM)分布图;

图6是尾灯对部件之间空间位置关系的概率模型(GMM)分布图;

图7是车牌检测结果;

图8是车尾灯检测结果;

图9是在原视频图像中检测到的车牌和尾灯对区域。

下面结合附图和具体实施方式对本发明的方案做进一步详细地解释和说明。

具体实施方式

本发明的基于多部件空间位置关系GMM建模的车辆检测方法,通过对尾灯和车牌检测结果的空间位置关系进行高斯混合建模,来判断检测到部件所构成的目标是同一车辆目标还是不同的车辆目标,从而实现对车辆的准确识别。在这里需要说明的是,本发明的方法在实施过程中所处理的图像是视频中的沿正时间序列的真彩色图像序列。

设每一帧视频图像的大小为W*H,其中W为每一帧视频图像水平方向的像素宽度,H为每一帧视频图像垂直方向的像素高度。以下方法的处理过程针对的是真彩色图像序列中的一帧视频图像,本发明的方法包括以下步骤:

步骤一,利用道路交通视频的大量样本图像初始化得到车尾灯对颜色模型和车牌颜色模型、尾灯对概率模型、左尾灯和车牌概率模型、右尾灯和车牌概率模型。具体方法如下:

获取道路交通视频,从道路交通视频中手动获取700个包括大巴车、卡车、面包车、SUV、小汽车等的样本图像,并将每一幅样本图像的车牌区域和尾灯对区域分割出来,统一缩放成720×288大小的尺寸作为车尾灯颜色模型和车牌颜色模型统计学习的正样本集,训练得到车尾灯对颜色模型和车牌颜色模型。

对这700个样本图像的车牌区域和尾灯对区域之间的位置关系做统计分析,得出它们之间位置关系的概率模型,包括尾灯对概率模型、左尾灯和车牌概率模型、右尾灯和车牌概率模型,并用EM方法估算出这三个概率模型的初始参数,包括方差、均值和权系数。

步骤二,针对道路交通视频中的一帧视频图像,用步骤一得到的车牌颜色模型进行转换,即将视频图像中的每一个像素点(u,v)所对应的R,G,B颜色分量Ru,v,Gu,v,Bu,v按照公式Fu,v=Bu,v-min{Ru,v,Gu,v}进行处理,并将Fu,v值作为该像素点(u,v)的灰度值,所有像素点的灰度值形成该帧视频图像所对应的车牌灰度图像,参见图3。

在得到的灰度图像中,只有车牌区域的灰度值较大,而其他区域的灰度值基本接近0,这样,使得非车牌区域被有效地抑制掉,而只突显车牌区域,达到了车牌分割的目的,我们将这样的图像称为车牌灰度图像。

针对该帧视频图像用步骤一得到的车尾灯对颜色模型进行转换,即将视频图像的每一个像素点(u,v)所对应的R,G,B颜色分量Ru,v,Gu,v,Bu,v按照公式Fu,v=Bu,v-max{Ru,v,Gu,v}进行处理,并将Fu,v值作为像素点(u,v)的灰度值,所有像素点的灰度值形成视频图像所对应的车尾灯灰度图像,参见图4。

在得到的灰度图像中,只有车尾灯区域的灰度值较大,而其他区域的灰度值基本接近0,这样,使得非车尾灯的像素点被极大地抑制,而属于车尾灯的像素点被明显增强,达到了车尾灯分割的目的,我们将这样的图像称为车尾灯灰度图像。

步骤三,对车牌灰度图像,用公式Gradu,v=max{F*u,v}-min{F*u,v},计算出像素点(u,v)的灰度梯度,max{F*u,v}表示像素点(u,v)的邻域像素点中灰度值的最大值,min{F*u,v}表示像素点(u,v)的邻域像素点中灰度值的最小值,那么,它们的差值就是像素点(u,v)处的灰度梯度值,形成车牌梯度图像。

步骤四,选取一个与车牌大小相同的平滑窗,针对车牌梯度图像中的每一个像素点,将该像素点放置在平滑窗的中心位置,计算平滑窗内所有像素点的灰度梯度值的平均值Su,v,将给平均值作为该像素点的像素值,所有像素点的像素值形成车牌平均梯度图像。

步骤五,针对车牌平均梯度图像,按照车牌固定大小划分成网格块,在每一网格内找出像素值最大的像素点作为局部极值点,将该像素值与设定的阈值a进行比较,若它比a大,则认为该极值点对应的平滑区域(以该点为左上角,大小为车牌大小的矩形)是车牌区域;如若比a小,则认为该区域不是车牌区域,将之作为背景处理。得到多个车牌区域。

步骤六,针对车尾灯灰度图像,通过阈值二值化分割和8点邻域连通法标记出每一个连通区域。

具体的阈值二值化分割方法为:将车尾灯灰度图像中的每一像素点的灰度值与设定阈值b比较,若比b大,则将该点的灰度值设为1,若比b小,则将该点的像素值设为0,进而得到车尾灯的二值化分割图像。

8邻域连通法:针对车尾灯二值化分割图像中的每一个像素点f(x,y)与邻域内距离相隔(p,q)的8个像素点作连通标记,如果像素点f(x,y)的灰度值与8邻域内的某个像素点f(x+p,y+q)的灰度值相同,则认为像素点f(x,y)与像素点f(x+p,y+q)连通,对像素点f(x,y)分配与像素点f(x+p,y+q)相同的标号进行标记,像素点f(x,y)与像素点f(x+p,y+q)合并形成一个连通区域;如果该像素点f(x,y)的灰度值与8邻域内所有的像素点的灰度值均不相同,则认为此像素点属于新的区域,为该像素点f(x,y)分配新的标号进行标记。对车尾灯二值化分割图像中所有的像素点进行连通域标记处理,得到多个连通域。

步骤七,统计每个连通区域内灰度值是1的像素点的个数,若大于阈值c,阈值c的取值为500,则该连通区域是车尾灯区域,否则该连通区域不是车尾灯区域,同理,将之作为背景处理。最终得到多个车尾灯区域,每个车尾灯区域包括左尾灯区域和右尾灯区域。

步骤八,针对多个车牌区域和多个车尾灯区域,任意选取一个车牌区域和一个车尾灯区域,计算出车牌质心和左尾灯质心之间的间距d(L,P),以及两个质心连线与水平方向的夹角θ(L,P);车牌质心和右尾灯质心之间的间距d(R,P),以及两个质心连线与水平方向的夹角θ(R,P);车尾灯对之间的水平间距dx(L,R)以及车尾灯对离地面的平均高度dh(L,G)。

步骤九,将车牌质心和左尾灯质心之间的间距d(L,P)和两个质心连线与水平方向的夹角θ(L,P)这两个参数代入左尾灯和车牌概率模型,将车牌质心和右尾灯质心之间的间距d(R,P)和两个质心连线与水平方向的夹角θ(R,P)这两个参数代入右尾灯和车牌概率模型,将车尾灯对之间的水平间距dx(L,R)和车尾灯对离地面的平均高度dh(L,G)这两个参数代入尾灯对概率模型,并分别计算它们对应的概率似然度,Pr(d(L,P);θ(L,P))、Pr(d(R,P);θ(R,P))和Pr(dx(L,R);dh(L,G)),如果至少有一个概率模型的概率似然度大于预设阈值d,则认为检测到的车牌和尾灯属于同一车辆,否则不属于同一车辆;

步骤十,重复步骤八和步骤九,完成视频图像中所有车辆的检测。

实施例:

实施例采用西安南二环某一路段的实时路况作为视频图像,视频采样频率是25帧/秒,图像大小为720×288,遵从上述方法依次对视频序列中的各帧图像进行处理。

如图1所示为部分车牌样本;将其缩放成720×288大小,并进行颜色模型统计学习。如图2所示为部分车尾灯样本;也将其缩放成720×288大小,并进行颜色模型统计学习。然后针对视频图像中的每一帧图像分别用训练好的车牌颜色模型和车尾灯颜色模型进行转换处理,得到如图3和图4所示的车牌和尾灯对灰度图像。图5是对700幅包含车牌和尾灯的样本图像经过统计学习得出的尾灯对部件与车牌部件之间空间位置关系的概率模型(GMM)分布图,其中,左峰代表左尾灯与车牌的空间关系,右峰代表右尾灯与车牌的空间关系,它们都是用参数θ(L,P)和d(L,P)来表示的。不管是左尾灯还是右尾灯与车牌之间的间距d(L,P)通常大于0.6m小于1.2m,而夹角θ(L,P)一般小于40°。图6是对700幅包含尾灯对的样本图像经过统计学习得出的尾灯对部件之间空间位置关系的概率模型(GMM)分布图,是由dx(L,R)和dh(L,G)这两个参数来表示的。图中的两个峰段表明尾灯对之间的水平间距dx(L,R)根据不同车型,分布在两个不同区段,dx(L,R)小于1.5m是小型车的尾灯对质心水平间距范围,dx(L,R)大于1.5m小于2.5m是大型车的尾灯对质心水平间距范围,而它们距离地面的高度dh(L,G)都一样。接下来,针对车牌灰度图像,找到每一个像素点对应的邻域内灰度的最大值和最小值,并做差运算,将差值结果作为每一像素点的灰度梯度,然后选取一个和车牌大小相同的平滑窗逐次扫描梯度图像,计算出每个区域内像素的平均梯度值Su,v,并寻找出局部极大的平均梯度值作为兴趣值与设定的阈值a进行比较,若它比a大,则认为该区域是车牌区域。图7就是最后确定的车牌检测结果。此处阈值a的取值为50.针对尾灯灰度图像,将每一像素点的灰度值与设定阈值b比较,若比b大,则将该点的像素值设为1,若比b小,则将该点的像素值设为0,进而得到尾灯的二值化分割图像。此处阈值b的取值为60。接下来将尾灯二值化图像中的每一个像素点与相邻的8个像素点作连通标记,并统计出每一个连通区域内像素值是1的像素点的个数,若大于阈值c,则认为该连通区域是尾灯部件块,若小于阈值c,则认为该连通区域不是尾灯部件块。这里阈值c的取值为500.图8就是最后确定的尾灯对检测结果。最后,将图7和图8得到部件结果在空间上构建它们的位置关系概率模型,计算出图7中车牌和图8中左尾灯(或右尾灯)质心之间的间距d(L,P)和以及质心连线与水平方向的夹角θ(L,P),还有图8中尾灯之间的水平间距dx(L,R)以及尾灯对离地面的平均高度dh(L,G),并将d(L,P)和θ(L,P)这两个参数代入左尾灯(或右尾灯)和车牌的概率模型(GMM),dx(L,R)和dh(L,G)这两个参数代入尾灯对的概率模型(GMM),计算出它们分别对应的概率似然度Pr(d(L,P);θ(L,P))、Pr(d(R,P);θ(R,P))和Pr(dx(L,R);dh(L,G)),与阈值d进行比较,只要有一个模型的概率似然度大于阈值d,就可以认为图7和图8中检测到的部件属于同一车辆,在原始视频中将检测到的车牌和尾灯对区域用图9中所示的最小外接矩形框框起来,完成车辆的准确定位。这里的阈值d取值为0.8。

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