基于视频图像的车辆目标检测算法
2018-05-14严腾张朝阳李婵张向清
严腾 张朝阳 李婵 张向清
摘要:通过摄像机获取视频数据,利用运动目标检测的原理,从交通视频图像中提取车辆目标。常用的运动目标检测的方法:光流场、帧间差分、背景差分。本文使用背景差分中非常经典的CodeBook算法来实现运动车辆目标的提取。最后,在 VS2013 和 opencv2.3 的开发环境中实现了该检测算法。
关键词:视频;图像;车辆;目标检测
1 常见的运动目标检测算法
常用的运动目标检测的方法:光流场、帧间差分、背景差分。下文将简单介绍这几种方法的实现思想。
1.1 帧间差分
相对于第一种方法帧间差分是一种相对简单的方法。顾名思义,帧间差分是将相邻两帧或者多帧进行差分的方法,差分完成后将变化较大的部分标记为前景。设第k帧图像的灰度值为fk(x,y),其中x和y表示图像中像素的坐标。Mk(x,y)表示差分后的掩码图,T表示预先设定的阈值,那么差分过程可以表示为:
Mk(x,y)=
0.........if
fk+1(x,y)-fk(x,y) 1.........iffk+1(x,y)-fk(x,y) >=T 1.2 背景差分 背景差分与帧间差分相似,也是帧之间的差分。但是,背景差分所用的差分对象不是一般的帧,这个特殊帧是没有要检测运动目标的纯背景帧,用包含运动目标的帧与之差分,得到的便是我们需要的前景目标。其差分过程同上述公式是一样的,都需要设定一个阈值,用于区分像素灰度值突变的区域。 2 CodeBook算法介绍 现在我们来介绍 CodeBook 的建模过程。其基本思想是,在一个时间序列内,图像中一点的像素值会处于一个波动状态,即对于特定的点而言每一个时刻的像素值都和前一个时刻的像素值有差别,CodeBook 算法就是用一个码本中的若干码字来描述像素点在时间序列上的统计属性。 算法过程描述如下: 设P={p1,p0,...,pk}是一幅图像图像素点x在k帧连续图像序列中的取值,i为帧数标号,用C={c1,c2,...,cl}来描述x像素点的码本,l为码本中码字的个数。 (1)设当前帧为第 i 帧,设 k 为学习建模时长,设码本C 的长度为l 。 (2)如果C=φ,即l=0 ,那么给C码本中新建一个码字,并初始化,如下式所示: cl={lh,ll,pi,pi,i,0,1}。然后,l++,i++。(lh和ll分表表示该像素点位置出现过的最大值和最小值) (3)pi与码本C中的所有码字进行逐次匹配,如果对于其中一个码字满足关系:ll (4)如果(3)中pi与ci匹配成功,那么更新ci: ci={lh,ll,max(p,pi),min(p,pi),i,0,f++} 如果此處pi取为最大值或者最小值,那么,ll++或者lh++,以实现阈值的动态更新,更能满足可提要求。这样我们就成功得将一个像素点融合到该码字中。 (5)如果(3)中的匹配过程没有任何已有码字与该像素点匹配,那么,按照(2)中的方法新建一个码字。 (6)如果i 以上步骤我们实现了对一个像素点的建模,当然,对于其他像素点,用同样的方法即可实现对整个图像序列的背景建模。那么接下来获取前景运动区域的方法同背景差分算法一样。 3 实验结果 4 结语 本文做的主要工作是利用 Codebook 算法实现了运动目标的分割,通过分割结果达到车辆目标的识别检测。目前视频的识别分割在智能能交通领域是研究热点,应继续结合热点需求,完善算法的实用性。 参考文献: [1]肖王新,张雪,黄卫.交通视频图像的多尺度自适应阀值边缘检测[J].土木工程学报,2003. 37(6):8994. [2]周欣.基于方向分形维的高速公路车辆边缘检测研究[J].2004,20(3):258262. [3]朱志刚,徐光佑,杨波.自动交通检测系统的二维时空图像方法.中国图像图形学报,1996.