视频中多目标车辆的检测与跟踪方法研究
2018-07-25张礼雄张忠林
张礼雄,张忠林
(兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)
0 引 言
随着智能交通系统(ITS)和智能车辆监控系统[1]的迅速发展,车辆自动检测及跟踪具有重要作用[2]。文中主要研究在摄像机静止-物体运动的情况下,根据道路监控实时采集视频并检测车辆位置。
传统的基于图像特征的车辆检测与跟踪技术采取了车辆显著的视觉特性、统计特性、变更系数特性和代数特性。运动检测方法主要有三种,分别是帧间差分法[3]、光流场法[4]和背景差法[5]。王栓等[6]采用帧间差分法[7]来检测运动物体;Ryuzo Okada等[8]改进了光流法,根据各个像素点的速度矢量特征,对图像进行动态分析;丁业兵等[9]提出改进的Camshift目标跟踪算法,能更好地跟踪多色彩目标[10];杨龙文等[11]提出一种利用HOG特征和Adaboost检测和混合粒子滤波(MPF)相结合的观测模型算法;刘翔等[12]提出了一种基于卡尔曼滤波思想的改进码本模型目标检测算法,能在视频流的静态帧中较好地检测出车辆。
在已有研究的基础上,文中提出一种对监控下车辆进行检测与跟踪的方法,基于车辆的视觉特性,联合Adaboost和帧差算法对车辆进行检测,检测成果使用基于熵值法求权重的混合模型进行处理,在检测到车辆后,使用KCF算法对车辆进行追踪。通过对采集的实际道路环境的视频信息处理和分析,进行自然背景下的车辆识别和跟踪。
1 检测系统流程
道路交通监控以快球监控为主,首先对公路的车道线进行检测,提取出摄像头所在的车道,去除反方向的车道以及车道外的其他环境和物体的影响。在识别出车道两边的车道线后,以左右两车道线为边界,取出中间的公路部分并提取。
由于Adaboost算法[13]可以对较为完整的车身进行检测,但在汽车出入视野只有小部分车身时,检测效果不佳。帧差法可以对移动的物体很好地进行检测,但是当背景环境变化及车辆静止时,却很难进行检测。针对以上两种方法的优劣,建立一种熵值法加权的Adaboost和帧差检测模型,将两者结合,检测出视野内的车辆。
KCF是一种辨别式追踪方法,该方法一般都是在追踪过程中训练一个目标检测器,使用目标检测器去检测下一帧预估位置是否为目标,然后再使用新检测成果去更新训练集进而更新目标检测器。在检测出车辆后,将每一个车辆分别作为一个目标检测器,对下一帧预测目标是否存在的情况下预测其位置,实现对当前视野下的所有车辆进行追踪。
2 车道线识别与分割
标准的高速公路和合规的等级公路两侧存在平行的一对车道线。车辆的检测和跟踪仅需识别当前检测的单车道或者多车道上的车辆。
图像的灰度改变主要取决于边缘检测。车道线大多是阶梯形边缘,若变度曲面在这个点是N阶不连续的,那么阶梯形边缘是一阶不连续的,所以运用梯度求解算子来获取车道线的边缘信息,而Sobel算子具有较高的时间性能及计算效果。
(1)
(2)
式1和式2为Sobel的卷积核,对原图像进行了卷积。
(3)
(4)
式3和式4表示图像f(x,y)在(x,y)处的梯度和方向角。
测验过程中,th为设定的一个阈值,当f(x,y)
针对拍摄特点,获取的车道路面被处理为背景,图像分割的阈值必须大于此值。将包括车道线的前段分割出来,突显车道线以及灰度较一致的区域位置,而边缘检测获得包含车道线的边缘图像,如图1所示。
图1 车道线检测
由于干扰的存在不便于车道线的拟合,采取迭代最小二乘方式拟合车道标志点。同时,假设只检测拍摄车道的双边的车道线,所用车道模型运用直线模型。以左车道线为例,迭代最小二乘法剔除非车道线标记点的步骤如下:
(1)对车道线全部i个点的集合{(x1,y1),(x2,y2),…,(xi,yi)},进行一阶最小二乘拟合,获取拟合参数kl、bl和拟合误差均值el。
(2)将{xl(i)}代入由上一步获得拟合参数方程,计算其拟合值{yl(i)}。
(3)计算拟合值与检测点真实值的绝对差,当yl(i)-xl(i)≤pth时,则[xl(i),yl(i)]∈LeftLine,否则[xl(i),yl(i)]∉LeftLine,并剔除。其中pth为一设定的较小像素阈值,LeftLine为左车道线标记点集合。
(4)LeftLine对中车道线标记点集重新运用最小二乘拟合,重新计算其拟合参数kl、bl和拟合误差el,若‖el‖≥δ,则[xl(i),yl(i)]∈LeftLine,转至第2步,否则停止。
(5)存储kl、bl。
3 基于熵值法加权的Adaboost与帧差法检测模型
3.1 Adaboost
Adaboost是一种迭代算法,主要思想是针对同一个训练集训练不同的弱分类器,然后把这些弱分类器进行组合,构成一个更强的分类器。
3.1.1 Haar-like特性
常用Haar-like特性分为线性特性、边缘特性和中心特性三类。特征模板内有黑白两种颜色的矩形,每种矩形特征值定义为减去黑色矩形像素和白色矩形像素的和。Haar-like反映了图像的灰度改变情况,对光照、噪声等具有较好的鲁棒性。常用Haar-like特征如图2所示。
图2 Haar-like特征
汽车尾部包括车牌、车标等重要信息,而且汽车尾部在视频检测中成像非常居中,便于Haar-like特性的提取和匹配。因此文中大量采集汽车尾部图像,提取汽车尾部Haar-like特性,作为正样本来训练分类器。
3.1.2 分类器训练
给定训练样本集{(x1,y1),(x2,y2),…,(xn,yn)},其中n为样本数目,xi为训练样本,yi(yi∈{0,1})为样本描述。设正样本个数为α,负样本个数为β。
1.初始化样本xi的权重。
(5)
2.设弱分类器的个数为T,在整个样本集上,对t=1,2,…,T进行如下操作:
(1)归一化样本权重。
(6)
(2)针对每个特性f,训练一个弱分类器hf,计算该特征的弱分类器的加权错误率。
(7)
(3)选出并采取拥有最小错误率et的弱分类器ht。
(8)
(4)重新更新调整样本权重,得到:
(9)
3.最后生成强分类器。
(10)
训练过程如图3所示。
3.2 基于背景更新的帧差检测法
图像差分法是将两帧图像对应像素点的灰度值相减,假若图像中某处的灰度改变比较大,则可认为这是由图像中的运动物体引起的,反之,则认为景物是静止的。由于公路监控器处于绝对静止状态,故差分法相对稳定,考虑到光线及周围环境的变化[14],取当前帧的前n帧作为背景,并不断更新背景图,运用扩展补偿得到运动区域,然后利用分类器检测。
图3 各种车型训练
设I(x,y,t)为t时的图像序列,选取视频序列的两帧I(x,y,t),I(x,y,t-n),利用式11对其作帧间差分:
Dt,t-n(x,y)=|I(x,y,t)-I(x,y,t-n)|
(11)
选取合适的阈值T对获得的差分图像Dt,t-n(x,y)进行二值化,如下式:
(12)
得到的结果如图4所示。
图4 帧差检测法所得结果
3.3 熵值法加权模型
在信息论中,熵是对不确定性的一种衡量。随着信息量的增大,对应的不确定性就减小,熵也就越小。根据熵的特征,运用熵值法求解各指标因子的权重,根据归纳得分求出汽车的位置。
1.选取n种方法(这里n=2),m个汽车可能存在的位置,则xij(a,b)为第i种方法求出的第j辆汽车的位置,i=1,2,…,n,j=1,2,…,m,其中(a,b)表示汽车存在的位置的中心点坐标。
2.指标的归一化处理:异质指标同质化。
在计算归纳指标前,先对各项指标进行标准化处理,使各项指标的计量单元一致。并令xij(a,b)=|xij(a,b)|,从而解决了各项不同质指标值的同质化问题。又因为正向指标数值越高越好,负向指标数值越低越好,所以用不同的算法对高低指标进行数据标准化处理。具体方法如下所示:
正向指标:
(13)
负向指标:
(14)
3.计算第j辆汽车下第i种算法占该指标的比重。
(15)
4.计算第j辆汽车的熵值。
(16)
其中,k=1/ln(n),满足eij≥0。
5.计算信息熵冗余度。
dj=1-ej
(17)
6.计算各项指标的权值。
(18)
7.计算每辆车的综合得分。
(19)
4 KCF追踪
KCF(kernerlized correlation filter)跟踪算法使得数据矩阵变成了一个循环矩阵。然后基于循环矩阵的特征把问题的求解变更到了傅里叶变换域,从而避免了矩阵求逆的过程,大大减少了算法的复杂度,且提高了检测速率。
4.1 循环矩阵
图像进行循环偏移的方式可以得到一些类似的负样本作为训练样本进行训练。通过循环偏移获得的图像在边界处并不是很平滑,通过对base图像乘以一个汉宁窗来降低边缘图像的权重。
(20)
循环矩阵具有的性质是可以被离散傅里叶变换对角化,如式(21)所示:
(21)
4.2 线性回归
样本训练过程是一个正则化最小二乘问题。假设给定一些回归值{(x1,y1),(x2,y2),…,(xn,yn)},训练的最终目标是找到一个w,使得函数f(z)=wTz能够最小化样本x和目标y之间的最小二乘误差,如式22所示:
(22)
其中,λ为正则化参数。
式22闭式解的复数形式为:
w=(XH+λI)-1XHy
(23)
其中,XH=(X*)T。
4.3 快速检测
为检测可能的图像位置,需要检测多个candidate patch,这些patch可通过循环矩阵得到。由于样本和patches[15]分别是由base samplex和base patchz循环偏移得到的,构建的所有训练样本和候选样本之间的核矩阵为Kz=C(kxz),其中每一个元素可以表达为k(Pi-1z,Pj-1x)。
基于测试样本z的循环偏移构成的所有测试样本的响应为:
f(z)=(Kz)Tα
(24)
式24是一个vector,包含所有z的循环偏移的响应值。根据循环偏移的性质,将式24变换到DFT域:
(25)
5 实验结果与分析
对文中提出的检测与追踪算法进行实验。在对Adaboost分类器进行训练时,通过搜集不同情况下的训练样本,建立样本库:包含车辆尾部的正样本400幅,其中公交车和面包车120幅、轿车240幅,其他车辆40幅;不包含车辆的负样本100幅。将正样本归一化到24×24,便于计算其特征。其检测追踪结果如图5所示。
为了检验该算法的准确性,在同一条件下,对同一车辆分别使用光流法、背景建模法和文中算法进行处理,结果如表1所示。
图5 检测与追踪效果图
算法实际车流量/辆检测车辆/辆检测率/%检测时间/s光流法40036290.514.847背景建模法40035488.511.548文中算法40038295.58.564
可以看出,在同样环境下,光流法的准确率略高于背景建模法,而文中算法的准确率均高于两者;在耗时上,背景建模法略大于文中算法,光流法的耗时最大,效率最低。
实验结果证明,相比于传统的一些方法,基于熵值法求权重的Adaboost和帧差检测模型及改进的KCF算法更具有实用性,还能有效减少每帧检测时间,提高检测率,检测率达95.5%。
6 结束语
为了提高行驶车辆检测与追踪的准确性、时效性,提出了一个基于熵值法求权重的Adaboost和帧差法的混合检测算法,并通过实验对其进行了验证。实验结果表明,该算法能够有效提高检测率,具备一定的实用
性,可以运用于交通路口的监控,给社会提供更安全可靠的服务。