一种客货分道交通参数监测系统的实现方法与流程

文档序号:12065073阅读:416来源:国知局
一种客货分道交通参数监测系统的实现方法与流程

本发明属于计算机机器视觉检测技术领域,涉及用于高速公路场景的视频分析监控,为一种客货分道交通参数监测系统的实现方法。



背景技术:

进入21世纪,由于交通需求的爆发式增长,带来两个主要方面的问题:一是大部分的公路通道的交通量已趋于饱和,从而导致高速公路人工监管压力的剧增;二是客货运输需求的不同:人们对客运快速、安全、舒适、便利等方面提出了更高的要求,而货物运输则向大运量、快速化、节能化发展,因此对客货分道行驶的需求应运而生,目前的客货分道技术主要集中于对道路本身的分流设计,而对实时监控方面,还缺乏有力的自动监控技术,客货分道的实际实施情况并不乐观。并且,新的道路结构设计也不适用于已有的高速公路。

对于庞大的高速公路交通网,虽然现在已经有了一些交通流参数的监测技术,但针对客货分道的监控仍然主要依靠人工监管,对工作人员的要求较高,负担较重。



技术实现要素:

本发明要解决的技术问题是:面对客货分道的需求,以及庞大的高速公路网,存在人工监管分析高速公路监控视频难的问题,需要一种自动化的监控系统来实现实时自动监控。

本发明的技术方案为:一种客货分道交通参数监测系统的实现方法,根据高速公路的监控视频,对客货分道及相应交通参数进行自动监测,包括以下两个部分:

1)确定监测区域,训练样本得到车型分类器:

1.1)利用监控视频的连续视频流图像构建高速公路背景,对高速公路中的车道进行兴趣域标定,将客车道标定为ROI_K,货车道标定为ROI_H;并在车道上标定两条检测绊线,分别为起始绊线和终止绊线;

1.2)构建训练样本数据集,具体如下:

提取运动目标,对运动目标进行大小归一化处理后保存以作为样本数据集,对提取的运动目标图像按车型进行分类,分为三类:客车一类、货车一类以及其它车辆一类;

1.3)利用线性SVM对1.2)得到的样本数据集进行训练以生成分类模型;

1.4)由线性SVM结合1.3)所得的分类模型,构成车型分类器;

2)根据实时监控视频监测交通参数:

2.1)读取视频流,将视频转换为连续的视频帧,对每一帧进行处理,混合高斯提取运动目标;

2.2)车速检测,具体如下:

2.2.a)如果车辆的运动轨迹集中有效轨迹帧小于2,则置该车辆的速度为0,否则执行2.2.b);

2.2.b)计算出当前帧的前第二帧中车辆的质心,计算该质心点到起始绊线的距离yend,设该车辆在第一帧有效轨迹帧中车辆质心到起始绊线的距离为ystart,得到这两帧期间车辆行驶的距离:

distance=ystart-yend

若distance<7,则置该车辆的速度为0,否则执行2.2.c);

其中质心点到起始绊线的距离计算如下:在图像帧坐标系中,设点为(xp,yp),起始绊线的直线为:A*x+B*y+C=0,则距离计算为

2.2.c)设运动轨迹集中的第一帧有效轨迹帧的帧序为0,2.2.b)中车辆质心点距离起始绊线距离为yend的帧为运动轨迹集中第countssu帧,计算出车辆的移动速度为:

speed=distance/countssu*β*n*3.6(km/h)

其中,n为每秒中处理的图像帧数,β为实际世界长度与图像中的长度比;

2.3)车流量统计,具体如下:

2.3.a)若车辆的运动轨迹集中的帧数小于10,则无法做出有效的判断,跳过,否则执行2.3.b);

2.3.b)计算当前帧中车辆质心距离终止绊线的距离D_end,该车辆的运动轨迹集中第一帧中车辆质心到起始绊线的距离为D_start,这里计算点到绊线的距离方法为:在图像帧坐标系中,设点为(xp,yp),直线为A*x+B*y+C=0,则距离:Distance’=A*xp+B*yp+C,

若D_end*D_start<0,则车流量计数加1;否则计算当前帧中车辆质心距离起始绊线的距离D_start_new,然后更新距离D_start=D_start_new

2.4)对运动目标提取SIFT特征,对SIFT特征进行稀疏编码,空间池化,再用车型分类器对池化后的结果进行分类,检测是否有驶入客车道的非客车车辆,以及驶入货车道的非货车车辆,并对车辆的交通参数设定阈值进行监控,若发现驶入车道错误的车辆或超过阈值设定的情况进行报警。

进一步的,交通数据监测还包括:

2.5)高速公路拥堵状态监控:计算出所有车辆在图像帧中所占的总面积Sfore,背景路面区域的面积为Sback,根据Sfore/Sback得出路面拥堵状态;

2.6)车辆行驶状态监测,具体如下:

2.6.a)若车辆的运动轨迹集中的轨迹帧帧数小于50,则跳过,继续读取视频流下一帧,否则执行2.6.b);

2.6.b)计算出当前帧中车辆的质心点(xcur,ycur)和该帧的前第50帧中的车辆质心点(xpre,ypre),两质心点的距离为distance50,记R=ypre-ycur,若R<-50,则该车辆处于逆行状态;

更新该车辆运动轨迹中的信息,一是将当前帧与前第50帧中车辆质心点间的距离distance50记入该车辆的distance50数据集合中,二是更新当前帧的帧序,指向下一帧,执行2.6.c);

2.6.c)、计算总距离Distancesum,总距离为该车辆的distance50集中所有的distance50之和,设distance50集中包含counts个distance50

若Distancesum>counts*200,则车辆处于正常行驶状态;

若counts*200≥Distancesum>counts*150,则车辆处于低速行驶状态;

若Distancesum≤counts*150,则车辆处于停车状态。

步骤1.3)具体为:

对样本数据集的图像进行SIFT特征提取,对提取的SIFT特征进行稀疏学习,得到表示该样本数据集中运动目标的一组“过完备”的基向量和编码字典;

采用最大空间池化方法对“过完备”的基向量进行空间池化,然后利用线性SVM对池化后的基向量进行训练,得到分类模型。

本发明提供了一种高速公路车辆的自动监控系统,通过车型分类器划分车辆,便于关注某些特定车辆,对车辆的交通参数监测中,本发明也提出了不一样的监测计算方法。传统的方法是设置检测器,来确定视频检测区域,根据该区域来计算车速和车流量,或者设置一条检测线来计算车速和车流量,而本发明的车速计算方法,是根据连续两帧间车辆在视频图像中移动的距离换算出来的,这样计算出来速度更接近于车辆的实时(瞬时)速度,而不是传统方法计算出来的长距离或长时间间隔平均速度;车流量统计是根据两条绊线(检测线)计算出来的,优点是准确可靠,计算量小,小在两方面,一是本发明提出的车辆质心到绊线的距离计算方法,不用除以复杂的分母;二是不用像传统的根据一条检测线来实现的车流量统计,需要大量的计算,尤其是现有技术需要对每一帧进行计算,本发明的方法是连续10帧才做一次计算判断,这里的10帧是发明人结合多次经验进行预估,再结合大量实验得出的数据,达到了不漏检的效果。

本发明提供了一种全面检测高速公路交通状况的系统的实现方法,基于视频分析的交通参数监测,准确率高,成本低,实用性强,无需额外的测量仪器,基于对实时高速公路的监控视频的分析,实现了对交管视频监控的人工智能化,不再依赖于人眼的识别分析,给交管人员带来实实在在的方便。利用机器视觉检测技术来解决:对客货车分道行驶的监测,及时发现违章车辆(非货车车辆驶入货车道或非客车车辆驶入客车道),从而达到避免交通事故惨剧的发生和随之带来的不必要的经济损失;对客车车道的客车交通参数实时监测,以实现人们对高速公路上更快、更安全的客运需求。

本发明基于视频分析的客货分道交通参数监测,稀疏编码线性空间金字塔匹配方法使该系统的分类功能模块计算复杂度降到O(n),从而使该系统具有良好的实时性;提出的车速检测方法和车流量统计方法相比于传统的方法具有计算简单、可靠、实用性好的特点,无论车速检测还是车流量统计均无需设定矩形检测区域;本发明实现的系统还提出了一种新的车辆行驶状态监测方法。

附图说明

图1为本发明中基于稀疏编码的分类原理图。

图2为本发明中客货分道监测的技术原理流程图。

图3为本发明中交通参数检测在帧图像坐标系中的说明图。

具体实施方式

以下将结合附图及实例,对本发明进行更详细且具体的说明。

本发明的实例是一种客货分道交通参数监测系统,实现对高速公路上的客货分道行驶的智能监测和客车道的相关交通参数的智能检测。以下将结合附图及实例,对本发明进行更详细且具体的说明。

如图1和图2所示,具体步骤如下:

第一步,线性SVM对样本数据集进行训练以生成分类模型,即本实例中的客车车辆与货车车辆分类模型。

(1)选取包含车辆丰富的视频,将其转换为连续的帧图像,利用混合高斯背景建模提取运动目标,对这些运动目标进行大小归一化处理,并保存这些目标图像。人工对这些样本图像进行分类,构建正负样本数据集,其中客车车辆为正样本,货车车辆为负样本。人工分类至关重要将会影响分类模型的分类准确率,所以应尽量保证分类的准确性和正负样本数据集的样本数量足够大。

(2)对样本数据集的运动目标进行SIFT特征提取,对提取的SIFT特征进行稀疏学习以寻找出能够更完美、高效的表示目标的“过完备”的基向量和系统要用的编码字典,最后对数据集的“过完备”基向量进行空间池化(最大池化方法),并利用线性SVM对其训练以得到我们所需的分类模型,即客车车辆与货车车辆的分类模型。

SIFT特征与SVM分类:

SIFT算法采用DOG(Difference of Gaussian)算子提取目标图像在不同尺度上的特征点,采用不同均方差σ的尺度可变高斯函数G(x,y,σ)将图像扩展为尺度空间的一系列图像。通过对相邻尺度的两幅图像进行差分计算D(x,y,σ)求局部极值得到SIFT特征点,如下:

D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*1(x,y)

其中I(x,y)为原始图像,(x,y)代表图像的像素位置,σ为尺度空间因子,k为2的组内总层数的倒数次方。通过SIFT特征提取,可以获得特征点坐标位置和特征点描述符信息。由于SIFT特征存在维数过高,从而会造成系统的复杂度过高,故而需要对提取的SIFT特征进行稀疏编码和空间池化以实现降维。

由于:相比于矢量量化(vector quantization)编码,更少严格约束的稀疏编码具有更少的重构错误;稀疏性允许代表特殊化,并且稀疏性能更好的捕捉到图像的突出特性;最重要的是图像统计研究清楚的表明图像块本质就是稀疏信号,所以本发明对提取的SIFT特征采取稀疏编码方法而不是矢量量化方法,以找到一组“过完备”的基向量来更高效地表示样本数据。

稀疏编码(Sparse Coding)算法作为一种无监督学习方法,通过寻找一组“过完备”基向量来更高效的代表样本数据。稀疏编码算法的目的就是找到一组基向量将输入向量x表示为基向量的线性组合:

对于输入向量x∈Rn(n为维度),上式中的k>n,故称该向量为“过完备”基向量。

定义向量X是图像在D维特征空间的一组SIFT特征描述子X=(x1,...,xM)T∈RM×D,则X可以表示为:

X=W×C

式中W是稀疏编码系数,C=(c1,...,ck)T是K个基向量。

求解X的稀疏编码可以转换为下式对W和C求最优化的问题:

上式中,|·|和||·||分别表示L1范数和L2范数,惩罚项|wm|保证了编码结果的稀疏性,β为惩罚项的权重系数。这是一个二次凸优化问题,分别固定W和C求解,固定W时,目标函数转化为关于C的最小二乘问题:

用拉格朗日对偶函数求解即可。固定C,目标函数退化为对每一个wm求最优解的线性回归问题:

可以用特征符号搜索算法求解。

池化(pooling)是统计稀疏编码结果的过程,其模拟人眼视觉皮层的生理机制以降低输入向量的维度,从而达到降低训练分类器的时间复杂度。

目前常见的池化方法有平均池化(average pooling)和最大池化(max pooling),计算公式如下:

Max pooling:Pj=max{|w1j|,…,|wMj|}

式中wm是稀疏编码向量,P是池化结果,wij表示第i个稀疏编码向量的第j个元素,实验证明对稀疏编码使用最大池化方法效果更好。

对于训练数据集(zi为SIFT特征,yi∈{1,2,…,L}代表了L种车型,n为数据集中样本个数),线性SVM通过解一系列凸二次优化问题,如下式:

以得到L个线性函数的集合来对未知车辆进行分类,其中J(Wc)为损失函数,Wc为稀疏编码向量,C=(c1,...,ck)T是K个基向量,zi是图像Ii的直方图。

若yi=c,则否则是一个可微的二次铰链损失函数

第二步,线性核的SVM分类器结合第一步中得到的分类模型,即可构成所需的客货车分类器。

第三步,基于上述两步后,即可实现本实例的客货分道监测的功能了。

使用并行线程对客车道和货车道进行实时监测,用掩码覆盖非客车道的区域来监测客车道,发现驶入客车道的货车则及时给予警示并将其标记出来;同理,用掩码覆盖非货车道的区域来监测货车道,发现驶入货车道的客车则给予警示并将其标记车来。

(1)读取实时交通监控视频流,混合高斯背景建模提取运动目标,对运动目标提取SIFT特征,然后利用第一步中稀疏学习得到的编码字典进行稀疏编码,对稀疏编码进行空间池化,池化后的结果作为最终的分类向量。

(2)第二步中的客货车分类器对上述的分类向量进行分类识别,分类匹配结果若为非本车道的车辆,则将其标记出来以方便交管人员的查看,并更新相应的违章车辆计数。

上面举例说明了对客车和货车这两种关注车型的检测,下面对各种车辆的交通参数监测进行说明。

如图3所示,为交通参数检测在帧图像坐标系中的说明图,具体如下:

(1)、高速公路拥堵状态监控,计算出所有运动目标在图像帧中所占的总面积Sfore,背景路面区域的面积为Sback,根据Sfore/Sback即可得出路面拥堵状态。

(2)、车速检测,以图3中货车车道为例,具体如下:

(a)、如果车辆的运动轨迹集中的有效轨迹帧若小于2,则置该车辆的速度为0,否则执行(b);

(b)、计算出当前帧的前第二帧(设为B帧)中车辆在该图像帧坐标系中的质心,进而计算该质心点到起始绊线的距离yend,同理可以知道该车辆运动轨迹集中的第一帧(设为A帧)中该车辆质心到起始绊线的距离ystart,从而可以得到这两帧期间车辆行驶的距离:

distance=ystart-yend

若distance<7,则置该车辆的速度为0,否则执行(c);

其中质心点到起始绊线的距离计算如下:在图像帧坐标系中,设点为(xp,yp),起始绊线的直线为:A*x+B*y+C=0,则距离计算为

(c)、设(b)中距离起始绊线距离为yend的帧(B帧)为运动轨迹集中的第countssu帧,轨迹集中的第一帧(A帧)在该运动轨迹集中为第0帧,计算出车辆的移动速度为:

Speed=distance/countssu*β*25*3.6(km/h)

其中,根据实际测试得到该系统每秒中处理25帧图像,β为实际世界长度与图像中的长度比。

(3)、车流量统计,以图3中客车车道为例,具体如下:

(a)、判断该车辆是否为驶入客车道的违章货车车辆,若是,则直接报警,不需要执行以下部分;若不是,则执行(b);

(b)、若车辆的运动轨迹集中的轨迹帧帧数小于10,则跳过,继续读取视频流,否则执行(c);

(c)、计算当前帧中车辆质心距离终止绊线的距离D_end,又知道该车辆的运动轨迹集中第一帧中车辆质心到起始绊线的距离D_start

若D_end*D_start<0,则车流量计数加1;

否则,计算当前帧中车辆质心距离起始绊线的距离D_start_new,然后更新距离信息,D_start=D_start_new

这里计算点到绊线的距离方法为:在图像帧坐标系中,设点为(xp,yp),直线为A*x+B*y+C=0,则距离:Distance’=A*xp+B*yp+C。

(4)、车辆行驶状态监测,具体如下:

(a)、若车辆的运动轨迹集中的轨迹帧帧数小于50,则跳过,继续读取视频流下一帧,否则执行(b);

(b)、计算出当前帧中车辆的质心点(xcur,ycur)和该帧的前第50帧中的车辆质心点(xpre,ypre),这里是图像帧平面坐标系,从而求出这两质心点的距离distance50

记R=ypre-ycur,若R<-50,则该车辆处于逆行状态;

更新该车辆运动轨迹中的信息,一是将当前帧与前第50帧中车辆质心点间的距离(如上式)distance50记入该车辆的distance50集中,二是更新指向当前帧的帧序,帧序加1,指向下一帧;再执行(c);

(c)、计算总距离Distancesum,总距离为该车辆的distance50集中所有的distance50之和,distance50集中包括counts个distance50

若Distancesum>counts*200,则车辆处于正常行驶状态;

若counts*200≥Distancesum>counts*150,则车辆处于低速行驶状态;

若Distancesum≤counts*150,则车辆处于停车状态。

以上即为本发明的具体实例,能够准确、高效、及时识别出高速道路上特定道路上的违章车辆,并且能较准确的检测出相关的交通参数,使监管高速交通状况实现了人工智能。该系统的实时性好,鲁棒性强,且对硬件和软件均无特殊要求,因此具有广泛的实用性和推广性。

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