黄东旭,慕德俊,戴 航
(西北工业大学自动化学院控制与网络研究所,西安710072)
随着视频监控系统在社会生活中的广泛应用,智能视频分析技术已成为计算机视觉领域中的一个新的研究方向。在智能视频分析系统中,目标的检测是进行视频分析的前提和基础。
智能视频分析技术分为两个方面:①目标检测;②目标跟踪与识别。针对目标检测,国内外很多文献做了相关的研究。文献[1]采用动态高斯混合模型,对图像中每个像素点进行建模,并实时更新该模型。对于新图像帧的每个点,依据高斯混合模型判断该点属于背景点还是前景点。最后利用形态学,将前景点合并,实现前景区分和目标检测。文献[2]采用机器学习的方法,在训练学习过程中,采用Harris-SIFT描述事件的特征,并用SVM进行分类和检测。文献[3]根据前景目标上像素值呈一定的分布规律,用贝叶斯理论分析检测图像上的各点属于该分布规律的概率,实现前景区分和目标检测。文献[4]提出利用隐马尔科夫方法对目标的运动轨迹进行分类,实现对运动目标的检测和跟踪。文献[5]采用帧差法分析思想,首先选取每个像素点周围邻近的N个点像素值作为背景模型的集合,然后通过计算被检测点与其背景模型集合的距离,判断被检测的属于前景还是背景,最后根据判断出的前景点的情况,实现目标的检测。文献[6]首先采用光流法从图像序列中计算出光流向量,根据光流向量的直方图对其分类,然后通过链式编码算法对各类进行区域划分,并从划分区域提取特征点,最后以特征点为学习模型,使用SVM和HMM实现目标的检测。
目前的各种方法虽然可以实现目标检测,但其实现都比较复杂,对于包含大量冗余信息的长时间视频(如小区的监控视频,停车场的监控视频等),处理效率不高。
针对冗余信息较多的监控视频,提出了一种快速检测目标的方法。该方法首先利用改进的直方图均衡化算法对图像进行预处理,提高了图像的对比度;采用曼哈顿距离计算图像帧之间的差值,并根据最大化原则对差值进行处理;然后以帧差值的众数为初始值,根据逐步精确的原则,迭代求取阈值,通过图像帧差值与阈值的比较,快速判断出前景帧和背景帧;在背景帧基础上建立背景模型,依据前景帧上各点与背景模型中对应点的卡方值识别前景点和背景点;最后通过数学形态学,去除噪声和斑点,连通物体上的前景点,实现目标的准确检测。在测试过程中,利用Matlab实现了上述目标检测的方法,并以小区的监控视频进行实验。结果表明,该方法能够快速准确地检测出目标。
由于硬件条件的限制,视频监控录像画面经常不是很清晰,对比度不高。低对比度的图像在进行图像差值的计算过程中,当与检测区域颜色相近的目标进入时,图像的差值就会很小,难以检测出目标。所以在目标检测中,首先需要对图像进行预处理,增强图像对比度,为图像差值计算提供良好的输入数据。
直方图均衡化技术可以用于增强图像的对比度,文献[7]在直方图均衡化基础上提出双边直方图均衡化,利用图像中像素值的均值作为阈值,将直方图分成两个子直方图,然后分别对两个子直方图进行均衡化处理。文献[8]在文献[7]的基础上,在子直方图均衡化的过程中,用直方图函数的均值代替函数中大于均值的值,解决了直方图水平饱和性效应问题。但作者并没有考虑如何处理下限的问题,同时对函数中大于均值的函数值用均值替代也不太恰当。在[7,8]的基础上,用直方图函数的上四分位数代替大于上四分位数的值,下四分位数代替小于下四分位数的值,实现直方图的均衡化。
改进的直方图均衡化过程如下:
2)根据均值将图像中像素点分为两个集合P和R,其中P={xij|xij≤M,xij∈X},R={xij|xij> M,xij∈X};
3)获取每个集合的灰度值对应的像素点个数的第25个百分位数和第75个百分位数,QP1,QP3,QR1,QR3分别为集合P、Q的第25个百分位数和第75个百分位数,并由以下方程确定:
4)重新计算函数h(x),对于集合P中的点,
对于集合R中的点
5)计算灰度值的概率密度函数和累计分布函数,集合P中像素点个数|P|h(x),集合 R中像素点个数|R|=h(x),图像灰度值概率密度函数p(x)定义如下:
分布函数F(x)定义如下:
6)根据变换方程计算均衡化后图像中各点灰度值,
图像经过预处理后,首先计算图像帧之间的差值,然后对差值进行处理。在此基础上,自适应阈值算法能够更准确的确定阈值。
1)图像序列差值计算
差值计算实质上是计算对象间的差异度[9],对象间的差异度通常采用对象间的距离进行计算。常用的距离度量包括欧几里得距离、曼哈顿距离和闵可夫斯基距离。同时可以根据需要,对距离计算中的各个分量赋予权重。由于欧几里得距离和闵可夫斯基距离计算复杂度较高,而采用曼哈顿距离可以满足目标检测的需求。采用曼哈顿距离计算图像帧的差值。Ik(x,y)表示第k帧图像在(x,y)处的灰度值。在(x,y)处,Dk(x,y)=|Ik(x,y)-I1(x,y)|,第k帧图像与第一帧图像的差值定义为:
C是图像中像素点位置的集合。
2)差值处理
利用公式(6)计算的差值,没有进行归一化处理,差值分布零散,必须进行差值处理。差值处理主要利用归一化和差异扩大化的思想,首先过滤值为0的差值,然后选取一个恰当的阈值。差值小于该阈值,用阈值除以差值的平方代替差值;差值大于阈值,用差值除以阈值的平方代替差值。具体计算公式如下:
其中T为阈值。
对于阈值的选择,可以采取不同的方法。文献[10]提出了最大方差阈值方法,利用差别最小和最小二乘法原理,将差值分割成两组,取两组之间方差最大时的分割值作为阈值;根据差值的分布特性,也可以采取K-means[9]等聚类算法将数据聚合为两类,以两类数据的分割点作为阈值。从计算效率上考虑,采用差值的中值作为阈值,中值的计算简单易行,提高了图像帧差值计算的效率。最后利用差值的均值描述两帧之间的差值,在2.3节中通过对差值均值的统计分析,区分前景帧和背景帧。
差值的计算算法描述如下:
V为Dk(x,y)中非零值的集合,Sk表示差值的和,Mk表示第k帧和原始帧的帧差。
通过2.2中对帧差值的计算和处理,可以得到各帧与原始帧差值的一个序列。本节从差值序列的分布中自适应确定阈值。差值高于阈值的帧认定为前景帧,差值低于阈值的帧认定为背景帧。
根据实际应用环境,监控视频冗余信息较多,图像帧差值大部分分布在一个值T'左右,这些为背景帧;少数则为一些较大的值,这些为前景帧。根据帧差值的这种分布特性,首先求取帧差值的众数作为阈值的初始值,然后利用迭代方法,逐步精确阈值。
1)众数的求解
由于帧差值分布很分散,具有相同帧差值的元素很少,直接求解众数并不准确。本节先求取众数所在区间,然后利用区间估计的方法求解众数,具体求解方法如下:
①以组距0.01将帧差Mk分组,组数为
②计算第k组的频数f(k);
③获取众数所在组和对应的区间,频数最大的组即为众数组;
④根据众数公式[10]计算众数,众数计算公式为:
其中L1为众数组的下组界,Δ1为众数频数减去前一组频数,Δ2为众数频数减去后一组频数,c为众数组组距宽度。
2)迭代求解阈值
在迭代过程中,以众数做为阈值的初始值,进行迭代计算。经过第一次迭代,去除了端点附近的值后,考虑到计算均值比计算众数复杂度小,而且此时均值和众数相差不大,在后续计算中以帧差值的均值作为阈值。
迭代中,如果帧差值与阈值的相对偏差大于等于0.1,则从帧差集合中移除该数据,以实现数据的过滤。
迭代的终止条件是阈值的相对误差小于等于0.01。
具体算法如下:
①帧差的集合为B,即Mk∈B
②Repeat
③确定新的阈值T(T初始值为众数,以后每次为帧差的均值,即T=M∑BMk/|B|)
k∈
通过阈值和帧差值的比较,可以将所有的视频帧分为前景帧和背景帧。从背景帧建立背景模型,过程如下:
1)对于N个背景帧,Gi(x,y)表示第i个背景帧上点(x,y)的像素值,M(x,y)表示N个背景帧中点(x,y)像素值的集合:
3)将所有的卡方值拟合为一组正态分布数据,卡方值的均值和方差计算如下:
前景检测方法如下:
1)对于前景帧中点(x,y)的像素值设为(Gb(x,y),该点的卡方值为:
2)根据正态分布的特性,可以得到如下判断前景点和背景点的方程(其中前景点集合为F,背景点集合为B)。
根据方程(10),可以将前景帧中的所有点分为前景点或背景点。
区分出前景帧中的前景点和背景点之后,首先对前景帧进行二值处理,处理方法如下:
G(x,y)为点(x,y)的像素值。
在形态学处理过程中,首先采用1×1的核对前景帧进行腐蚀处理,消除斑点和噪声,腐蚀处理方法如下:
然后采用3×3的核对前景帧进行膨胀处理,将前景点连通起来,更好的区分出物体,膨胀方法如下:
经过形态学处理之后,消除了孤立的噪声和斑点,并将代表物体的前景点连通起来,还原了物体的真实形状,能够更加准确的检测出物体。
根据第2节的方法,在Matlab下实现了目标检测的五个步骤:图像预处理,差值计算和处理,自适应阈值的确定,背景模型的建立和前景检测,数学形态学处理。选取小区的监控视频进行测试。
图1显示了经过直方图均衡化处理,图像帧差值计算和处理后,图像帧差值的分布图(纵轴表示帧差值,横轴表示帧序列)。
图1 图像帧差分布图
图2(a)和图2(c)是监控视频帧图像,图2(b)和图2(d)是通过建立的背景模型和方程(10),识别出来的前景点和背景点图像(前景点为白色,背景点为黑色)。
图2 前景点和背景点识别图
图3(a)和3(b)分别是图2(b)和图2(d)进行数学形态学处理后,最终检测出来的目标图像。
图3 目标检测结果
在Matlab中测试,对于128×96的图像,在AMD Dual Core Processor 4200+,1G内存下,处理速度能够达到500帧/秒。
通过图像预处理,图像帧差值计算,差值处理和计算阈值等一系列的方法,从视频流中判断出了背景帧和前景帧;基于背景帧建立背景模型,采用统计分析的方法识别前景点和背景点;利用数学形态学算法去除噪声和斑点,连通物体上的前景点。该方法可很好地从包含大量冗余信息的监控视频中快速、准确地检测目标,可应用于智能视频分析系统之中。
[1] Stauffer C,Grimson W.E.L.Adaptive background mixture models for real-time tracking[C].Computer Vision and Pattern Recognition,1999,IEEE Computer Society Conference on,2:246-252.
[2] Camara-Chavez G.,de Albuquerque Araujo A.harris-SIFT descriptor for video event eetection based on a machine learning approach[C].Multimedia2009,ISM '09,11th IEEE International Symposium on,1:153-158.
[3] Benedek C,Sziranyi T.Bayesian foreground and shadow detection in uncertain frame rate surveillance videos[J].IEEE Transactions on image processing,2008,17(4):608-621.
[4] Fan Jiang,Ying Wu,Katsaggelos A.K.A dynamic hierarchical clustering method for trajectory-based unusual video event detection[J].IEEE Transactions on Image Processing,2009,18(4):907-913.
[5] Barnich O,Van Droogenbroeck M.ViBe:A universal background subtraction algorithm for video sequences[J].IEEE Transactions on?Image Processing,2011,20(6):1709-1724.
[6] WaliA, AlimiAM. Eventdetection from video surveillance data based on optical flow histogram and high-level feature extraction[C].Database and Expert Systems Application,2009,20th International Workshop on,221-225.
[7] Yeong-Taeg Kim.Contrast enhancement using brightness preserving bi-histogram equalization[J].IEEE Transactions on?Consumer Electronics,1997,43(1):1-8.
[8] Chen Hee Ooi,Kong,N.S.P.Ibrahim,H.Bi-histogram equalization with a plateau limit for digital image enhancement[J].IEEE Transactions on Consumer Electronics,2009,55(4):2072-2080.
[9] Jiawei Han,Micheline K.数据挖掘概念与技术[M].范明,孟小锋,译.北京:机械工业出版社,2006.
[10] M.R.斯皮格尔,L.J.斯蒂芬斯.统计学[M].杨纪龙,等译.北京:科学出版社,2002.