基于机器视觉的车流量统计算法应用研究
2018-10-15李东
李 东
(武汉城市职业学院 机电工程学院 湖北 武汉:430044)
智能交通检测系统[1](Intelligent Transportation System)在解决道路资源方面非常有效。目前解决交通拥堵问题主要涉及多个领域,包括人工智能、模糊识别、智能网络控制及机器视觉等,在这几个重点领域中机器视觉的应用面非常广。根据车辆信息的跟踪和计数完成车辆信息的统计,其中车辆参数包括车流量、车牌、车辆速度等。本文结合图像处理算法、运动控制跟踪算法进行图像处理及运动目标跟踪预测。对车辆检测方法进行改进,通过实验数据验证准确性较高。
1 车辆跟踪问题描述
在智能交通系统中,经常遇到可见度较低的天气,给传统图像检测算法带来极大的挑战,在视频流处理过程中动态跟踪问题较大,对于检测车辆信息的准确性也尤为重要。
在传统的虚拟线框检测过程中存在检测稳定性差,算法精度低,车辆信息统计不准确等问题。针对传统虚拟线框算法存在问题,本文应用运动跟踪算法卡尔曼滤波算法对车辆信息进行跟踪并计数。根据车辆信息的位置信息、质心坐标、运动区域进行跟踪预测,实验结果证明具有一定的可行性。车辆基本信息实时监视的前提保证是车辆检测信息的准确性。车辆行驶过程中的检测参数包括车流量、车辆速度、车辆占有率、车标、车牌等。本文的主要研究对象是车流量参数,应用Kalman滤波算法进行跟踪并且计数。
2 基于卡尔曼滤波的车辆跟踪与计数
2.1 卡尔曼滤波模型建立
卡尔曼滤波算法[3]是一种最优迭代递推滤波算法。Kalman滤波算法在机器视觉跟踪检测应用非常广泛,车辆实时跟踪预测目标位置信息,从而减少车辆搜索匹配范围,提高系统运行速度,降低匹配时间[4]。卡尔曼模型建立如下:
一个离散动态系统可由q维动态系统和r维(r≤q)的观测系统组成。
q维动态系统的状态模型为:
x(k)=Ax(k-1)+w(k-1)
(1)
w(k)的协方差矩阵:
Q(k)=E[w(k)w(k)T]
(2)
其中Q(k)为系统噪声阵,是q×q维矩阵。
r维观测模型系统测量模型为
y(k)=Cx(k)+v(k)
(3)
v(k)的协方差矩阵为
r(k)=E[v(k)v(k)T]
(4)
经过上诉一系列推导,得到卡尔曼滤波递推公式:
滤波协方差预测方程:
P1(k)=AP(k-1)AT+Q(k-1)
(5)
滤波增益方程:
K(k)=P1(k)CT[CP1(k)CT+R(k)]-1
(6)
滤波协方差方程:
P(k)=P1(k)-K(k)CP1(k)
(7)
滤波估计方程:
(8)
预测估计方程:
(9)
通过上式卡尔曼公式的推导可以得知,卡尔曼滤波算法的工作原理流程图如图1所示。
图1 卡尔曼滤波算法的工作流程图
2.2 运动估计模型参数设定
通过卡尔曼系统模型建立,下面对其中参数进行设定
1)状态向量X(k)
状态变量X(k)表示为
(10)
2)测量向量Y(k)
(11)
3)系统参数A
(12)
2.3 目标匹配
质心距离公式:
(13)
矩形面积相似公式:
(14)
面积相似公式:
(15)
D(n,m)、L(n,m)、ΔS(n,m)数据未知的,所以要将D(n,m)、L(n,m)、ΔS(n,m)都归一化。
D(n,m)=D(n,m)/maxD(n,*)
(16)
L(n,m)=L(n,m)/maxL(n,*)
(17)
ΔS(n,m)=ΔS(n,m)/maxΔS(n,*)
(18)
其中,*代表第k+1帧上的任何车辆。
匹配函数的公式:
E(n,m)=αD(n,m)+βL(n,m)+γΔS(n,m)
(19)
2.4 跟踪模型更新
1)当k+1帧的检测目标与第k帧的检测目标匹配后,标记k+1帧当前目标中的第m个目标,保留特征值并标记新的车辆信息,对Kalman模型更新,数据保留。
2)第k+1帧上检测的目标与第n个检测目标配对后,假如其中无匹配目标,证明当前的跟踪车辆消失在视频流模型中,取消标记目标。
3)当车辆信息新目标进入视频流中,其中无标记目标,需要重新建立模型,保留运动目标特征,同时初始化模型。
3 Kalman算法实现跟踪过程
根据算法分析流程,Kalman跟踪算法需要如下几个过程[2]:
Step1:车辆信息的特征值计算,根据车辆信息运动区域,首先初始化、二值化、膨胀腐蚀、开闭运算等图像预处理过程,特征选择、目标定位,通过图像质心位置和跟踪区域特征值计算,记录车辆信息特征值。
Step2:建立Kalman模型,初始化参数,通过Kalman算法预测判断运动车辆下一时刻在图像可能出现的位置
Step3:进行特征值匹配,设定相似匹配函数,包括运动车辆质心位置,最小外接矩形的长、宽和外接区域面积等预测参数,从而预判当前车辆是否为同一车辆,从而进行迭代跟踪,跟踪计数统计车流量。
Step4:卡尔曼跟踪模型更新,根据运动参数预测作为下一帧模型初始化的原始参数。如图2所示Kalman跟踪与计数流程图。
图2 Kalman跟踪与计数流程图
4 仿真实验与结果分析
本实验是基于Inter(R)工控机平台下硬件平台基础上做的仿真实验,视频截取图像来自武汉城市职业学院附近某一楼口拍摄的视频图像,分辨率为320×240,进行图像处理跟踪计数。图3分别截取视流中的第33帧和46帧跟踪显示结果。
通过检测视频流单位时间内经过车流量,应Kalman跟踪统计算法,可以实时监测车流量统计曲线,如图4所示。
图3 尔曼跟踪车辆目标
图4 车流量统计曲线
根据Kalman算法建立的跟踪模型对车辆统计结果与传统虚拟线框检测算法结果进行对比,如表1所示。
表1 不同车流量算法检测结果
根据漏检率、虚警率、准确率作为评价系统指标性能参数,定义如下:
漏检率=系统漏检车辆的数量/程序数车的总数量;
虚警率=系统多数车辆的数量/程序数车的总数量;
准确率=1-漏检率-虚警率。
根据检测结果的漏检率和虚警率来判断准确率的高低,可以说明系统检测车辆信息的准确性。当漏检率和虚警率越小时,模型的检测准确性率越高。
根据表1数据分析:
1)由于光照影响,光线不充足的情况下,采集图像的像素可能存在偏差,噪声干扰导致检测数据存在偏差。
2)拍摄角度原因,车辆距离较近时,前后车辆目标区域粘连,出现相互遮挡现象,导致漏检率增加。
3)检测过程中由于车辆行驶的不规则性,导致检测车辆的虚警率明显增高。
最后通过不同算法的数据检测结果可知,建立卡尔曼跟踪模型降低了漏检率和虚警率,提升了检测车辆的准确性,相比于传统的虚拟线框检测方法更有市场应用价值。
5 结论
本文针对机器视觉检测车流量过程中存在的问题进行研究,针对虚拟线框检测系统对于复杂交通路口检测率较低,误检率较大问题,应用Kalman滤波算法进行改进,通过车辆跟踪与计数实时监控车流。实验结果证明,本文的算法可以实现车辆跟踪与计数的目的,并实时监测统计车流量信息。实验结果证明,本文的算法更好的实现车辆跟踪与计数的目的,实时监控车流量信息,提高了检测精度和准确率。