APP下载

视频车辆分类与计数的模型与应用

2020-10-23窦祥胜

运筹与管理 2020年1期
关键词:特征向量前景间隙

左 静, 窦祥胜

(西南交通大学 经济管理学院,四川省 成都 610031)

0 引言

随着经济发展,车辆保有量呈爆炸式增长,由此带来的交通拥堵、交通事故、环境污染和能源浪费等一系列问题对社会造成了巨大的经济损失,为了更高效利用现有道路基础设施,传统交通系统必然向智能交通系统(Intelligent Transportation System,ITS)转型。基于视频的交通车辆检测技术作为智能交通系统的一部分,能自动、实时、准确、高效地对车辆进行分类和计数,有利于缓解交通拥挤、提高管理效率、节约人力资源,因此基于视频的车辆分类与计数极为重要。

准确的前景提取是车辆分类与计数的前提,在前景提取算法中Zeng和Lai[1]对高斯混合模型(GMMs)进行改进和对像素进行分类,很好的对前景进行了提取。Rother等[2]提出的更具鲁棒性的迭代算法,可以在没有背景的条件下直接对图像中的前景进行准确分割,加入人为辅助后,使得算法更加完美。Lam等[3]通过对前景图片和背景图片的纹理及图像中不同区域的相关性进行分析,将前景中的车辆准确地分割出来。Pang等[4]在确定存在车辆重合的情况下,首先根据图像和图像背景来准确提取图像中的车辆,然后对车辆建立三维模型进行车辆分割,分割的准确率达到了94%~95%。Huang和Liao[5]针对视频中的车辆遮挡,提出通过遮挡检测、运动矢量校准和运动场聚类三个步骤进行解决。Zhang等[6]提出了包含帧内、帧间和跟踪的多级框架处理视频车辆检测和遮挡分割。虽然这些基本模型对前景提取提供了一些基本的解决方向,但是由于需要大量的时间消耗,使得这些模型在实际中很难被应用。

在车辆分类方面,Ozkurt和Camci[7]用手动设计的14个特征作为车辆特征,用神经网络算法将车辆分为3类,得到了94%的准确率。Kafai和Bhanu[8]提取了车辆后视图的边缘特征,最后用混合动态贝叶斯网络将车辆分为4类。Ma和Grimson[9]根据车辆的边缘结构和改进的SIFT特征来对车辆分类,得到了很好的效果。Ambardekar[10]通过对车辆进行3D建模,根据每个车辆的3D特征模型来对视频中的车辆分类,取得了满意的结果。在当前的车辆计数系统中,有很大一部分通过地磁感应来对车辆计数,这种方法可以降低分析的难度和错误率。但是地磁感应线圈本身比较笨重,安装麻烦,维修困难,对道路的损毁严重,并不适合大范围推广。道路车流量的实时监控可以提供实时的道路数据给决策者,使得决策者可以更好地做出抉择。Vigos等[11]给出了一种通过卡尔曼滤波的方法来对道路车辆进行估计。Jung和Ho[12]通过设计算法来对车辆进行跟踪,通过每个车辆的运行轨迹,解决了碰撞问题和计数问题,但是算法并不适应道路拥挤下的情况。

在综合以上现有研究成果的基础上,本文在确定发生车辆碰撞后,提出了灰度空间和YCbCr空间同时处理的方案,可以很好地提取前景,并消除阴影的影响,在很大程度上提高了分割的准确率,通过对碰撞车辆块的分析,根据碰撞车辆块的凸包和闭包间的间隙,对所有的间隙定义特征向量和面积的概念,再将问题转化为优化问题和寻找最优分割点问题。文章提出的算法可以在计算量很小的情况下对车辆进行准确的分割。再用神经网络去对车辆分类,并在对发生碰撞的车辆进行分割后,给出用相邻两帧图像来对车辆计数的准确算法,高效地对车辆计数,既满足了实时性的要求又保证了较高的车辆分类与计数的准确性。

1 车辆前景提取

在监控视频处理中,第一步是要将前景运动物体在视频中准确提取出来,准确的提取是后面分类和计数等工作的前提,所以这一步至关重要。尤其当交通处于拥挤状态时,问题变得复杂。当车流量变大,会发生车辆碰撞现象,车辆的视觉碰撞不仅会带来分类不准确的问题,而且会带来计数上的误差,将两辆车甚至多辆车计数为一辆车,当这种情况发生频繁时,给车流量的统计带来了很大的误差。因此对碰撞车辆分割的解决方案十分重要。

1.1 背景建模

在交通监控环境中,交通情况瞬息万变,但是所处的环境相对简单,一般道路占有了很大部分,所以背景建模并不需要很复杂,一般背景建模算法就可以满足要求。本文使用平均值背景法来对背景建模,背景差法提取前景:

(1)

式(1)中back表示背景图像,learnNum表示用于背景图像的视频帧数,order表示当前视频处于的帧数,current表示当前视频帧图像,F(x)表示监控视频的第x帧的图像。

1.2 前景预提取

通过设定阈值,我们可以得到前景图像

(2)

式(2)中abs(x)为绝对值函数,threshold为待选取阀值,fore_t为前景图像。

由于运动图像的处理会出现毛刺和空洞等现象,所以还需要对前景fore_t进行数学形态处理:

fore=dilate(erode(fore_t))

(3)

erode()决定每个具有最小值像素点的领域形状,dilate()将输入图像结构元素的邻域形状中各点的像素值替换为对应邻域上的最大值。

由于对于车辆监控视频来说,主要目的是计算车流量和分类每个车辆的车型,并没有必要对前景提取的非常准确,前景计算越准确一般消耗的时间越长,会影响视频车辆分类和计数的实时性。用均值法背景建模和背景差法提取前景有着简单、处理速度快等优势,已经可以对前景进行大概范围的提取。当提取的前景中只存在一个单独的物体时,此方法不仅有效而且高效。

但是实际的车辆监控中,尤其当车流量很大的时候,会出现多个车辆碰撞的现象,如果没有对视频中的车辆进行准确的分割,则会将几辆车识别为一辆车,这显然是不可以接受的。如果先对整个碰撞车辆块分割,再单独处理车辆块,这会很大程度上降低计算的复杂度。下面我们将讨论如何仅根据碰撞车辆的闭包和其凸包分割碰撞车辆。

1.3 前景再提取

对于发生车辆碰撞的情况,为了提高车辆分割的速度,并且满足一定的准确率,通过定义间隙的概念对问题予以解决。根据初次前景提取,可以将单独的车辆或者多辆重合车辆从视频中分割出来,为了准确的识别车辆,需要对多辆重合的车辆更进一步做分割处理,建立下面数学模型来判断是否存在多辆车碰撞的情况,式(4)中当T为true时则表示需要重新提取前景,否则不需要重新提取前景:

(4)

式(4)中C表示提取前景中闭包的周长,H表示提取前景中闭包的凸包周长,闭包与凸包的定义见图1所示,黑色为闭包,灰色为闭包的凸包,其中灰线与黑线重合形成的虚线部分表示闭包与凸包重合。

图1 闭包与凸包

根据式(4)可以判断是否需要重新提取前景,如果符合条件,则重新提取前景。

由于在前景提取中,车辆的碰撞问题可能会有车辆阴影的影响,而根据阴影形成机理,有阴影的地方只是亮度会和原来相比有很大的变化,而且是亮度降低。当有黑颜色的车辆通过时,车辆区域也是亮度低于背景,相对于阴影的亮度变化,其幅度要更大,可以将阀值设置在阴影的区间内,即取两个阀值,就可去掉阴影的影响,但是不会影响前景车辆的提取。详细的模型如下所示:

(5)

式(5)中gf表示前景的灰度图像,gb表示背景模型生成的背景灰度图像,threshold1和threshold2分别为上限阀值和下限阀值来共同确定。

下一个步骤为将前景和背景的彩色图像转换到YCbCr颜色空间做处理。我们假设前景转换后的YCbCr颜色空间的各个分量分别为yf,Cbf,Crf,背景转换后的YCbCr颜色空间各个分量值为yb,Cbb,Crb,则建立下面模型来提取前景:

(6)

T=T1∪T2∪T3

(7)

本文通过多次测试中选取的阀值为:threshold1=30,threshold2=25,τ2=0.1,τ3=0.001。

图2中左右图片分别表示存在阴影的车辆图片案例。每个案例中,从左到右,从上到下依次是原图、背景图片、灰度空间双阀值法提取前景T1、YCbCr空间Y分量提取前景T2、YCbCr空间Cb,Cr分量提取前景T3,最后的为由T1,T2,T3取并集得到的最终结果T。

图2 算法对阴影的处理结果

最后,我们再用形态处理去除掉噪声点和空洞。下面对碰撞车辆的情况进行分析进行前景再提取处理,结果如图3所示。

图3 碰撞车辆前景提取图

图3中所示图片,是经过数学形态处理前后的前景图片,从左到右,从上到下依次是原图f、背景图像b、临时前景图像fore_t和最终前景图像fore。

2 视觉碰撞车辆分割

当车辆发生重合时,不仅会造成后期对车辆的分类造成误差,还会使得车辆计数出现误差 。当交通比较拥挤时,车辆间的碰撞现象会很正常,所以要解决现实中的车辆监控问题,必须将车辆碰撞问题解决,即要将发生视觉碰撞的车辆分别识别分割出来。

2.1 间隙建模

下面建立模型来分割碰撞的车辆,通过前景再提取,可以计算出相对于预提取前景更为准确的前景,这样有益于对每个闭包和其凸包进行定性分析。如图4中第三张图片,黑色为其前景闭包,灰色为前景凸包,下面我们对图4中第二张图片中的深灰色区域,即闭包与凸包的间隙进行建模分析。

图4 碰撞车辆前景

设由闭包和凸包组成的每个间隙中远离闭包的一个点称为A点,本文中将称为顶点(图5中黑色的点),其他两个分别为B点和C点为凸包和闭包的交点(图5中灰色的点),如图5所示。

图5 间隙特征向量

这里提出间隙特征向量的概念,即对每个间隙定义特征向量,其定义式为:

(8)

即间隙的特征向量大小为间隙的面积大小,其方向为顶点的角平分线,特征向量包含了间隙的两个主要特征,即面积和方向,式(8)中v为间隙H的特征向量,s为△ABC的面积大小。为了减少计算量,用s来近似代替间隙H的面积。则每个间隙H可以用面积s、特征向量v和三个顶点A、B、C五个特征来唯一表示。其中特征向量如图6中第二列黑色线条所示,第二列图像中黑色点即为每个间隙顶点。

图6 寻找分割点

2.2 优化分割

在车辆分割的问题中,可以将车辆分割问题看作是选取两个合适顶点的问题。根据间隙的特征,下面的模型将给出具体计算分割顶点的方法,设H为每个粘合块中的所有间隙的集合。如果是分割顶点,则其间隙的特征方向是几乎相反的,本文中建立优化方程,使得特征向量的方向相差越大则表示越优,但是间隙中的顶点不能相距太远,如果相距太远会有很多的噪声点出现,使得寻找的分割点不是最优分割点,于是优化方程需满足两个间隙的顶点相距不能太远,具体模型如下:

(9)

根据式(9)中的优化模型,当间隙的特征向量是方向相反和面积较大的情况下,可以表明间隙顶点可能是最优分割点,间隙面积大小和间隙顶点的限制可以很好地去除掉一些噪声点,寻找到的分割点为图6中右边图片中灰色的点。最后根据计算得到的最优点对车辆进行分割,效果如图7所示。

图7 (a)分割效果图

图7 (b)分割算法对阴影的适应性

本节就车辆的前景提取问题提出了解决方案,在前期的背景建模和初次前景提取中,用到的都是高效的算法来实现,而且效果在监控视频的条件下是非常有效的。在车辆有粘合的情况中,本文在初次前景提取的基础上再加以处理,这样不仅提高的程序的运行效率,还可以提高分割的准确度。在前景再提取中,第一次将分割问题,转化为优化问题来解决,虽然所有的优化问题需要遍历两两组合所有的间隙,来列举所有可能性,但是由于图片较小和符合条件的间隙数目不多,所以并不会有很大的时间消耗。唯一的时间消耗是在再次提取前景中,由于已经做了初次的筛选,所以时间消耗已经被大大的降低。

3 车辆分类与计数

车流量是对交通情况的一个重要描述,在智能交通中,计算车流量是个重要研究方向。在上一部分对碰撞车辆进行分割的基础上,本部分进行车辆分类和计数,对车辆进行准确分类,才有可能对车辆进行准确的计数。

3.1 车辆分类

上一部分给出算法对视频中车辆进行了识别与分割提取,接下来将用深度神经网络对车辆分为5类,分别是小汽车(sedan)、越野车(SUV)、面包车(van)、公共汽车(bus)和卡车(truck)。在输入神经分类之前需将分割的车辆图片进行归一化处理统一图像大小。再选择恰当的稀疏编码算法训练得到的特征与原图像卷积提取特征层图片,再次通过池化层来对特征层降维并且产生平移不变性的特征,最后将提取的特征输入到Softmax分类器中学习分类。

3.2 车辆计数

在车辆计数问题中,几乎所有算法都是根据跟踪来实现计数问题的,但是如果当车流量很大的时候,跟踪将变的复杂,会很大程度的增大计算量,增加时间消耗,使得视频的实时性处理不容易实现。

车辆的计数困难主要是由于存在对同一车辆重复计数或者没有对车辆计数等情况,如果提供恰当算法,是可以对单行道的车辆准确计数的,但是当有多辆车发生视觉碰撞时,就会使得车辆少计数,只是通过计数层面的分析并不能很好的解决问题。

由于本文在计数之前已经对碰撞问题提出了好的解决方案,也就是说在计数过程中并不需要担心车辆的粘合现象,这就相当于所有的车辆在固定时刻,其位置是确定的。根据此特点本文将提出一种简单的计数方法(如图8),不仅提高了计数的准确率,而且可以在很小的计算量下实现此算法。

图8 车辆计数

在车辆计数中,本文将同时根据当前帧(第N帧)和前面一帧(第N-1帧)的道路中车辆位置情况来对车辆计数。下面给出计数算法:

车辆计数算法While存在第N帧图像 Step1如果N=1,根据第1帧图像,计算在区域SNew2中的车辆,运行Step4,否则运行Step2; Step2根据第N帧图像,重新计算在区域SNew2和区域SNew3区域中的图像; Step3配对区域SNew3和区域SOld2中的所有车辆,求得所有满足配对条件Y(SOld2i,SNew3j)车辆数目n,则车辆的总数目增加n; Step4将区域SNew2的值赋值到SOld2;

车辆计数算法中提到的配对条件Y(SOld2i,SNew3j)是用来判断是否SOld2i和SNew3j为同一辆车。本文中的判断配对条件为两车辆外接矩形的面积变化率不会超过固定的阀值,而且车辆的行驶距离在一定的阀值范围内。模型为:

D=dist(O(SOld2i)-O(SNew3j))

(10)

式(10)中area(x)函数为x车闭包最小外接矩形面积,O(x)函数为x车闭包最小外接矩形面积的中心点,dist(x)函数为两点的距离函数。

本文将车辆计数算法在车流量较大的情况下和车流量较小的情况下做实验。实验结果证明,只要可以很准确的对车辆分割,则计数的结果是有很高置信度的。

4 实验结果

在本节,我们应用提出的模型对视频车辆进行分类和计数。

4.1 数据集

本文所使用的视频数据来自成都白天某高速路视频,该视频是以25帧/秒拍摄,像素为640×480,时长超过5小时的一段视频。这段视频中存在大量的视觉车辆碰撞、视觉模糊、光线变化等复杂环境,大大增加了视频车辆分类和计数的难度。视频中,包含有车辆的图片大约有140000张,但大多是重复和对分类无用的图像。通过处理,从视频中提取出了5000张对车辆分类有效的视频图片,其中4000张作为训练集,用于训练分类模型参数,剩余1000张作为测试集。最后再选取两段不同拍摄角度的视频,验证分类和计数的效果[13]。

4.2 结果分析

将与车辆行驶方向呈0度角和45度角的2种拍摄角度视频用作实验,车辆分类和计数的效果如图9所示。

图9 车辆分类与计数结果

图(a)中是摄像头与车辆行驶方向成0度角(即从正面录制视频)的情况,也是同一测试视频中不同时刻车辆通过时的效果图,其中三条黑色线条为人为设置的检测线,即当前景的中心处于两边的黑线中间时,进行车辆的检测,当车辆经过中间黑色线条时,进行车辆计数,黑色的方框为检测到的车辆,上方黑色区域为车辆的计数结果。

图(b)是摄像头与车辆行驶方向成45度角(即从侧面录制视频)时的系统运行效果图,其中黑色线条和方框的含义与图(a)中一样。侧面视角可以消除掉部分的正面遮挡形成的车辆碰撞,与正面视角形成互补,对视频车辆能更好的分类和计数。

Huang和Liao[5]在对同样的课题进行了研究,建立了CR模型,取得了良好效果。Zhang等[6]运用检测和处理车辆遮挡的多级框架建立了MF模型。下面我们将本文的结果与CR模型和MF模型结果从精确率,召回率等方面进行比较如表1所示。

表1 不同模型的实验结果

可以看到,相对于CR和MF模型,本文所建立模型在精确率、召回率和F1-score上表现更优。其中最可能原因是,基于前景提取加闭包和凸包分析会更精准的进行车辆分割,使深度神经网络更好的学习车辆特征,从而分类和计数变得更准确。本文使用方法在处理时间上没有增加,说明基于前景提取结合卷积神经网络的方法更加具有优势,并且只要车辆分割和分类准确,计数就不会出错。

5 结论

针对存在车辆粘合情况下的车辆分类与计数问题,通过两次前景提取,并且提出通过特征向量和优化方程的方法来分割车辆,每次分割车辆的速度完全满足实时性的要求,并且有很高的分割准确率作保证。使得后面的车辆分类与计数变得相对简单和准确,由实验结果得到,本文提出的模型在视频车辆的分类和计数两方面相较于现有的一些模型都有更优异的表现,兼顾了时效性和准确性。另外,本文给出了一般性的计数算法,可以适应很多的计数问题。计数问题的关键在于是否对车辆进行了准确的识别和分类,在有准确识别和分类的前提下,计数算法一般情况下不会出现错误或者异常。相对传统的论文,本文为了可以对视频进行实时处理,将计数问题简单化,但是并没有因此降低计数的准确性,每次计数的计算复杂度为o(m×n)其中,m和n分别表示每个区域中的车辆数,而对于监控视频而言,m和n几乎都是很小的值(一般不会大于5),所以计算量降到了很低。

虽然我们的模型可以高效且有效地处理一般的车辆分类和技术问题,但是模型也存在一些不足。在碰撞问题中,模型需要首先对前景运动物体的凸包和闭包进行分析,判断是否有车辆重合的现象。由于仅仅是在车辆的轮廓层面对其分析,避免不了会发生误判的情况,也就是将一辆车的轮廓,判断为是多辆车,对其进行分割,如果正确产生分割线,则会将一辆车错误地当作多辆车,最终产生误差。对此如果直接在像素层分析,将会带来很大的时间消耗,无疑是不可取的,所以在碰撞问题上还需要再做完善。另外本文的算法可以实时解决大多数一般的视觉碰撞而产生的车辆粘合问题,但是对于将车辆完全遮挡的情况,本文的分割算法是无效的,需要对其进行深度分析。

猜你喜欢

特征向量前景间隙
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
间隙
我国旅游房地产开发前景的探讨
四种作物 北方种植有前景
飞行过载及安装间隙对主安装节推力测量的影响
紧流形上的SchrÖdinger算子的谱间隙估计
离岸央票:需求与前景
一类三阶矩阵特征向量的特殊求法
苦难的间隙