刘思铄,朱立忠(通信作者)
(沈阳理工大学 辽宁 沈阳 110000)
随着广大公民对交通工具需求的提升,在解决出行方便的同时带来了频发的交通事故。为了缓解频发的交通事故,大幅度减轻传统交通管理系统压力,智能交通系统应运而生。该系统目前在国内外已经进行广泛深入的研究,常用的方式有模糊神经网络算法、目标跟踪深度学习算法、机器学习算法等[1]。本次系统在监控视频下进行车辆检测与跟踪算法研究,通过对比试验验证检测效果,具有事实监测性和精准性。
基于Surendra的背景差分算法:基本原理将当前帧信息设置为背景帧,也就是在当被检测目标帧和设定背景帧存在偏差,且偏差过大时,背景保持不变。当两者偏差正常时,可以使用被检测目标帧进行更新替换背景。依照此原理循环完成建模[2],执行以下操作。
(1)默认第一帧图像为初始背景。
(2)根据背景的变化选择去除的阈值。算法最初设定重复次数n=1,定义最多重复次数为N。
(3)计算相邻两帧间差分图像,并二值。
(4)利用二值化目标图像帧更新背景。
(5)迭代次数m每次迭代自增1,当迭代次数m=M时结束迭代,此时为更新后的背景图像。
由于二帧差分算法相比较三帧差分法在目标检测时存在缺陷,三帧差法主要用于相邻的帧互相取差值图像,之后再将差值图像进行数学计算实现对运动的目标的检测。
因为以上两次差运算相加的结果,是在未考虑被检测目标的拉长效应下进行的运算。因此该算法对目标的检测比二帧差分法准确,与二帧差分方法相比,空腔效应大大降低。但是,由于需要3帧图像参加计算三帧差分法有一帧滞后。因此作者提出猜想将背景差分算法与帧差法相互嵌套的目标检测算法。
此算法兼具两种算法的优点,可以大幅度解决空洞和分裂的现象,同时,具有抗光照干扰能力,计算过程简洁,可以实现实时检测能够满足ITS系统的性能要求[3]。文中提出的车辆检测算法流程如下。
(1)处理交通监控视频图像。依照改进的背景差分算法建立背景模型对当前帧和得到的背景模型进行差分,从而得到车辆检测区域D。
(2)对于在(1)中的当前帧图像可以使用三帧差分法对连续的两帧进行处理,从而获得移动车辆检测区域F。
(3)首先对(1)中得到检测结果D和(2)中得到的检测结果F进行“或”运算。因为外界环境和监控摄像机自身因素的误差是不可消除的。所以可能会存在目标像素点的一部分被错误识别。除此之外,目标自身的偏转移动同样会造成严重的误差。为了大幅度减小误差采用优化滤波,使得检测结果清晰明显,从而能填充“空洞”。如图1所示为本文车辆检测算法流程图。
图1 本文提出的车辆检测流程图
采用Intel i5 CPU,1.6 GHZ计算机作为实验平台,开发环境为VS2008+OpenCV2.1,编程语言采用C++。
本次实验采取西班牙市监控录像为样本。
如图2所示,(a)至(c)分别对应于视频帧第20帧和第35帧、第50帧。
图2 原视频帧图像
均值漂移跟踪算法可以大幅度的解决部分MeanShift跟踪算法的缺点[4]。均值漂移跟踪算法(CamShift)是MeanShift跟踪算法的改进,原理是利用前后两个视频帧动态变化的概率分布,来实现目标的跟踪。由于MeanShift跟踪算法的优点,改善了跟踪稳定性。CamShift目标跟踪算法的具体步骤如下。
(1)确定初始搜索窗口
为初始帧选择要跟踪的外部跟踪矩形框,以确定其长度、宽度和重心位置。之后,将整个帧设定为目标色概率分布搜索区域。
(2)颜色模型转换
模型转换,将RGB空间和HSV空间相互转换。目标跟踪窗口内的像素H构成的直方图模型公式为:
(3)反向投影,得到颜色概率分布图
在统计目标颜色直方图中H(色度)分量值h像素共享,取最大值时为表示H值为w像素点在跟踪区域的概率,从而反映目标色概率形成的集合。将出现概率为0像素值设为0,将概率为1的像素值设为255,被检测目标概率如式6表示:
在颜色概率分布图中,(x,y)点处的概率值为F(x,y),u=1,2,…,m。
(4)运用卡尔曼滤波器对目标运动轨迹预测
卡尔曼滤波器方程:
状态预测方程:
这里,T连续两帧时间差值。被检测目标的系统状态转移矩阵和观测矩阵如下:
(1)初始化状态的确立
先将卡尔曼滤波器的初始化,才能进行车辆运动状态预测。将目标初始重心和速度状态矩阵X(0),设P(0)=0。
(2)轨迹预测
(3)算法匹配
在均值漂移跟踪算法处理中遇到移动目标有遮挡时将无法进行跟踪[6]。此时,可以根据均值漂移跟踪算法检测出目标物体的重心作为初始值代入卡尔曼滤波器,从而形成卡尔曼滤波器的初始观测值,通过进一步计算完成运动状态的预测[7]。将运动状态估计值代入均值漂移算法中当下一帧的目标时,可以轻松的预测跟踪目标的具体位置[8]。此循环算法可以大幅度缩减均值漂移算法的计算过程,使用卡尔曼滤波器对目标运动状态进行预测,从而可以实现目标被遮挡状态下的准确跟踪[9]。图3表示算法循环结构。
图3 基于卡尔曼滤波器预测的均值漂移车辆跟踪算法循环示意图
本文将改进均值漂移算法和卡尔曼滤波器相结合算法,与传统均值漂移算法进行实验比较跟踪效果。
图4 原视频(第310帧、第320帧、第330帧)
图5 均值漂移跟踪算法
图6 改进均值漂移算法与卡尔曼滤波器结合算法
如图4、5、6所示,明显观察到随着被检测目标距离摄像头距离的缩进,被检测目标在图片中的尺寸也随之变大[10]。如图7所示均值漂移算法优点在于:便于统计数据并且耗时短,但缺点是必须人工手动选取初始目标;跟踪窗口大小不可以改变,从而使精确度大幅度降低。CamShift算法改进MeanShift算法可以根据目标大小随时转换窗口的大小,但仍然需要人工选取初始目标依然自动跟踪。本文提出的使用卡尔曼滤波预测CamShift车辆跟踪算法可以同时实现初始车辆的自动定位和跟踪。下图为三种算法误差对比图。
图7 三种算法跟踪误差效果对比
综上所述,为了满足城市道路监管日益增长的需求,本文提出基于交通视频的车辆检测系统,包括车辆目标检测,车辆目标跟踪,并分别进行对比试验检测效果。在目标检测方面本文采用改进背景差分算法与三帧差法结合的算法,该算法同时具有两种算法的优点,并且具有抗扰动能力,检测画面无空洞,有效地解决了目前存在的问题。在目标跟踪方面本文采用均值漂移算法与卡尔曼滤波器结合的算法,根据被检测目标外接矩形确定被检测目标的质心,经过计算拟合得出运动轨迹。该算法的优点在于可以实现自动追踪运动目标,可以改善以往算法无法追踪遮挡目标的问题。经过实验证明本文采用的方法同时具备实时性与较高的精确性。