APP下载

一种避免遮挡物影响的运动目标检测方法

2015-09-11任世卿王思思薛桐

电脑知识与技术 2015年17期

任世卿++王思思++薛桐

摘要:随着计算机软件和硬件的快速发展,基于计算机视觉的智能视频监控技术日益重要。其中,运动目标检测是重要的技术之一。CamShift算法利用目标区域在HSV颜色空间下的H分量作为目标特征,对目标形变敏感度低,具有复杂度低、计算量小、实时性好等优点,被广泛用于运动目标检测领域。但是,当运动目标接近遮挡物时,CamShift算法会出现明显偏移的问题。本文提出运用单高斯背景模型对运动目标进行背景建模,进而确定运动过程中出现的遮挡物位置,再利用H分量灰度图计算运动目标所在位置的方法。实验结果表明,该方法有效地解决了原CamShift算法在接近遮挡物时跟踪出现偏移的问题,在一定程度上增加了原算法的准确性。

关键词:CamShift算法;运动目标检测;单高斯背景模型

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2015)17-0160-03

视频监控技术是在无人工处理的情况下,利用图像处理等相关技术,对实时拍摄的视频流进行自动处理,完成对视频中的运动目标的检测、跟踪、识别、行为分析等。在视频监控领域所包含的众多重要技术中,运动目标跟踪技术一直是很活跃的研究对象,它结合了很多领域内的高级技术,在理论研究上有很高的价值。运动目标的跟踪,首先对图像序列中的每一帧图像提取目标的位置和特征信息,然后根据特征值对不同帧中的同一目标关联起来,再通过计算得到每帧图像中目标的运动参数及在相邻图像帧中的位置关系,最后得到运动目标的运动轨迹[1]。

在运动目标自动检测过程中,当运动目标接近遮挡物时,特别是接近与运动目标颜色相近的遮挡物时,自动检测算法会出现明显的偏移。针对这一问题,本文改进了Camshift算法,在计算运动目标所在位置之前先确定目标运动过程中出现的遮挡物位置,从而避免了检测过程中的遮挡物的影响,为准确检测各种环境下运动目标目标打下了坚实的基础。

1 Camshift算法

Bradski针对Mean Shift算法不足之处,在1998年提出了Camshift算法[2-5]。该算法的主要思想是,首先选取运动目标区域,设目标区域内像素点用[(x,y)]来表示;其次提取目标区域在HSV颜色空间模型的H分量直方图作为目标特征;然后建立H分量直方图的反向投影图,用[H(x,y)]表示;最后通过计算[H(x,y)]的零阶矩和一阶矩,确定目标区域的质心。零阶矩和一阶矩具体计算如下所示。

零阶矩:

对得到的搜索窗口的质心位置和大小参数,进行Mean Shift迭代运算。通过预先设定的阈值以及迭代次数,判断收敛性,停止迭代运算,得到收敛过的搜索窗口的质心和大小参数,并把搜索窗口显示出来。在进行Mean Shift算法时,只对搜索窗口内的像素进行匹配计算,这样就大大减少了计算量,另外CamShift算法有很好的实时性、鲁棒性、算法复杂度低等优点,在目标跟踪领域被广泛使用。但是CamShift算法是利用HSV颜色空间模型中的H分量作为运动目标的特征,所以在当目标与背景色度相近时,跟踪会出现明显的偏移,甚至丢失的现象。

2 改进的Camshift算法

随着目标的运动,遮挡物在目标周围出现的体积是一个逐渐增大的过程,准确地得到这个从小到大的区域是非常重要的一步。本文提出首先利用单高斯模型建立对运动目标进行背景建模,通过计算可以得到遮挡物的位置。算法主要过程如下:

2.1 确定初始搜索窗口

为便于实验,使用手动选择运动目标目标。

2.2 取运动目标周围得到一张小图像

以运动目标为中心向四周扩展一定大小,将此部分单独拿出来作为一张小图像代替整帧参与计算。这样不仅可以减少计算量,而且可以避免背景的一些变化对背景建模的干扰。本文中该大小取为向四周扩展20个像素值。

2.3 利用单高斯模型对运动目标进行背景建模

利用单高斯背景模型,对前几帧小图像进行背景建模,得到背景模型二值化图像img1。

2.4 确定遮挡物的位置

1)将背景帧img1和当前帧img2进行与运算,即img1&img2,提取二者的公共部分,再用当前帧和公共部分相减,即img2-(img1&img2),得到与公共部分有差异的区域,并将此结果重新赋给img1,如图1所示。

2) 对建模结束后的每一帧图像,取小图像,提取H分量灰度图并重新赋给img2;

3)利用重新得到的img1和img2再次计算img2-(img2&img1),若当前帧img2中没有出现遮挡物,则此结果不会改变目标特征H分量各像素点的值;若当前帧中出现遮挡物,则可以确定其在img2中的位置。如图2所示。

2.5 获取新的运动目标H分量灰度图

利用得到的遮挡物位置,将当前帧H分量灰度图中对应的位置置0,利用当前帧的新的H分量灰度图进行后续CamShift算法的运算。

3 实验结果分析

采用的实验环境为Matlab2012a软件,实验图像序列大小为[272×489]像素。图像序列描述的是一个缓慢移动的小杯子(目标),逐渐靠近一个固定的体积比目标略大的遮挡物,并且遮挡物与目标的颜色非常相似,目标与遮挡物的灰度值对比如表1所示(X、Y分别表示横坐标和纵坐标)。随着目标的移动,遮挡物在目标运动方向上出现的体积逐渐变大。

通过对比图3和图4可以看出,改进后的算法的跟踪结果明显优于原算法。图5以目标实际位置中心的横纵坐标(蓝色)为基准,表达了原算法(红色)与改进算法(绿色)的跟踪窗口质心的横纵坐标与基准坐标的偏差,在计算目标实际位置质心时,选择的是整个目标,而计算原算法与改进算法时使用的是跟踪窗口内的目标,所以会出现图5中原算法与改进算法计算的质心位置都偏离目标实际位置的情况。从图中可以看到,在跟踪初期目标离遮挡物稍远时,原算法与改进算法计算的结果曲线基本重合,随着目标的移动慢慢靠近相近颜色遮挡物时,原算法的跟踪结果(红色标记)出现了很大的偏差,而改进算法的跟踪结果(绿色标记)浮动较小,基本在跟踪初期时结果的上下浮动,所以,通过此误差对比,进一步说明了当目标接近相似颜色固定遮挡物时,改进算法能够取得更好的跟踪结果。

4 结论

CamShift算法在目标接近与其颜色相似的固定遮挡物时会发生偏移。这对这一问题,本文提出使用背景模型来确定固定遮挡物的位置,并修改H分量灰度图中相应位置上像素值的方法,完成了对CamShift算法在跟踪过程中的改进,并通过实验证明了这一改进方法的有效性。要得到准确的遮挡物位置,关键的是背景模型的建立是否准确。此外,本文算法多次使用二值图像进行运算,转换二值图像时使用的阈值直接影响转换的结果,从而影响遮挡物位置的确定,对于不同的图像序列,需要根据图像中颜色分布的不同来选取不同的分割阈值,所以阈值大小的选取是非常重要的。

参考文献:

[1] 方帅. 计算机智能视频监控系统关键技术研究[D]. 东北大学博士论文, 2005.1-2[2]A.

[2] G. R. Bradski. Real Time Face and Object Tracking as a Component of a Perceptual User Interface[J]. Proc. IEEE Workshop Applications of Computer Vision, 1998: 214-219.

[3] Allen John G, Xu Richard Y D, Jin Jesse S. Object Tracking Using Camshift Algorithm and Multiple Quantized Feature Spaces[C]. Pan-Sydney Area Workshop on Visual Information Processing VIP2003. Sydney, Australia.2003: 1-5.

[4] 张宏志, 张金换, 岳卉等. 基于Camshift 的目标跟踪算法[J]. 计算机工程与设计, 2006, 6(27): 212-214.

[5] Patrick Cavanagh, George A, Alvarez. Tracking multiple targets with multifocal attention[J]. Trends in Cognitive Sciences, 2005, 7(9): 349-354.