摘 要:监控视频图像的背景多种多样,简单背景和动态复杂背景中的运动目标的特点不同、所采取的检测方法也要有所不同。主要对目前的运动目标检测算法进行了阐述,根据各自算法的特点做了区分,选取了帧间差法和背景差法用于简单背景下的运动目标检测,而动态复杂背景下的运动目标检测算法则主要采用光流法、高斯建模、ViBe算法,最后对五种算法进行了总结和对比。
关键词:复杂背景;运动目标;检测;光流法;高斯模型
1 概述
运动目标检测是智能视频监控系统的重要的基础技术,也是视频系统中行为识别、目标跟踪等智能分析技术的基础,在国家和社会公共安全、航空航天等重要领域以及很多民用领域都有着举足轻重的作用,在目标跟踪、人机交互、交通管控、视频检索等领域都有实践价值。视频系统中的运动目标检测的应用前景非常巨大,市场需求广泛,所以受到了全球相关领域研究者的高度关注,很多研究者提出了自己的算法。但是,各种算法都有自己的特点和适用对象,在不同的背景情况下,选取不同的算法实现运动目标的检测是较为合理的思路。
2 运动目标检测的概念
(1)运动目标检测的概念
运动目标检测是指在将图像画面中的运动目标及运动轨迹利用特殊的方法从图像背景中提取出来,并利用技术手段消除或抑制图像的背景噪声和前景噪声,得到需要检查的目标[1]。
(2)运动目标的分类以及各自特点
小目標,是指在图像中的成像投影小到没有形状的目标(与目标本身的尺寸大小无关,而是由于距离检测点较远)[2]。小目标在图像中的成像很小,它在整个图像序列中连续运动,与图像背景和图像噪声的运动情况有明显的差异,一般以帧为单位检测目标。
大目标,是指在图像背景中先初步确定目标的轮廓和轨迹,然后再利用帧间信息进行确认与对比。
(3)背景的分类以及各自常用的检测方法
视频信息中的背景大致分为两种:第一种是摄影机器保持不动,只有目标运动,这种场景叫简单背景,也叫静态背景;第二种是目标在运动而且摄影机器也在运动,这样的场景叫复杂背景,也叫动态背景[3]。
在拍摄静态背景的视频时,摄像头不动,所以得到的视频图像的背景是静止的、多幅图像的背景是相同的。静态背景中运动目标的检测就变得简单很多。适合静态背景中的最为经典的检测算法有背景差法、帧间差分法等。然而,复杂背景(动态背景)中,被检测目标和摄像头都在运动,除了由于运动目标产生的图像变化之外,还有图像背景本身的变化,以及运动目标运动过程中运动目标与背景物体相互影响所产生的光照阴影等,使得检测不但受环境的改变而且还会受到目标和背景本身的影响,这种变化不但复杂而且毫无规律可循。因此,动态背景中运动目标检测非常困难。
3 运动目标检测算法
运动目标的主流检测算法主要有帧间差分法、背景差法、光流法、高斯建模和vibe算法等[3-12]。帧间差分法和背景差法需要检测背景相对平稳,更适合静态背景中运动目标的检测。在动态复杂背景中常用的检测算法是光流法、混合高斯建模、Vibe算法等。
3.1 简单背景下运动目标检测算法
(1)帧间差分法
帧间差分法即帧差法,它是视频图像的运动目标检测中最为经典的算法。帧间差分法常常使用在环境变化很小的情况下。目前的摄影机每秒可以拍摄至少8/12/24帧图像,所以相邻的两帧图像时间间隔很短,可以利用前后两幅图像的差值来判断图像中的运动目标。将相邻两帧图像进行像素值相减,如果所得到的像素差值很小,则可以认为此处目标是静止的,反之,如果得到的像素差值很大,则此处为运动物体。由算法原理可以看出帧间差分法的本质是利用相邻帧图像的对应像素值之差来确定运动目标的轮廓[13],所以它适合于背景变化很小的情形。帧差法虽然对各种环境均有较好的适应性和稳定性,但是,该法不能提取运动目标的所有相关的特征像素点,因此在运动目标内部会产生所谓的空洞现象。
(2)背景差法
背景差法也是常用的运动目标的检测算法之一,它的基本原理是将运动目标与背景模型进行比较,通过判定图像的特征变化或直方图等统计数据的变化来检测运动目标[14]。
背景差法在图像背景没有变化或者变化很小时,可以比较完整地检测出视频图像中运动目标。但是对于背景经常变化的情形,需要频繁地更新背景。背景的更新使得背景差法非常复杂、计算量很大,难以用于运动目标的实时检测。背景差法的实现方法和帧间差分法大致相同,都是进行相减操作,不同之处在于帧间差分法的相减是相邻帧之间的差分运算,而背景差法中需要建立背景模型,把背景模型和检测帧进行差分运算。
3.2 复杂背景下运动目标检测算法
(1)光流法
光流是运动目标的被观测面上的像素点因为目标运动所产生的瞬时速度场,包含了目标物体的表面结构和动态运动的重要特征[15]。光流法利用像素点速度场的补偿来检测运动目标,可以有效地去除背景动态变化对运动目标检测所带来的不良影响。光流法大致可分为三类:
基于匹配的光流计算法:包括基于特征匹配和基于区域匹配的两种。前者是连续地对运动目标的主要特征点进行定位和跟踪,这种算法优点在于对大目标的运动和亮度变化具有很好的适应性,其缺点是是光流通常很稀疏,且特征提取和匹配都很十分困难。后者先对相似度很高的区域进行定位,然后根据相似区域的位移计算光流,这种基于区域的匹配方法在视频编码中非常普及,但它计算的光流不完整,难以用于运动目标的检测定位。
基于频域的光流计算法:利用滤波调节输出频率或相位信息,获得高精度的初始光流估计,这种方法计算复杂,且要想得到可靠性数据也十分困难,所以,同样不适合于运动目标的检测定位。
基于梯度的光流计算法:此种方法是指用图像序列的时空微分计算光流。对画面中图像像素点首先进行逐个矢量赋值,当画面中出现运动目标时,运动目标在画面总所占据的像素点和背景像素点之间的矢量必然出现差异,利用运动目标与背景之间的差异,检测出运动目标在画面中的像素点[15]。如果没有运动目标出现,则画面中的像素点的矢量变化是平滑的。相对而言,基于梯度的光流计算方法更实用。
光流法适合于摄影机运动的情况,但是光流法时间复杂度高,不能满足实时检测的要求。
(2)混合高斯模型算法
混合高斯模型是一种典型的背景建模算法,其原理是将运动目标的像素与背景模型进行统计对比,和背景模型相似度比较高的像素点看作背景,相似度比较低的像素点视为前景,选择中心点和对应的系数更新模型,再利用形体特征进行运动目标检测[16]。在混合高斯模型算法中,背景模型对应一个更新参数,如果背景发生变化,只要更新背景模型就能重新检测到目标。
混合高斯模型是由M个(一般为3到5个)单高斯模型组成的。在获取新的一帧图像之后,如果当前图像中的像素点与该像素的M个模型中的某一个相似度比较高,则视为背景,并将当前帧的像素作为一个新模型,对已存在的M个模型进行更新。如果匹配度比较低,则为前景点。图像中每个像素点的值在短时间内都是围绕特定的中心值呈正态分布。整个混合高斯模型算法主要有方差和均值两个参数,这两个参数直接影响该算法的正确性、稳定性[17~18]。
3.3 ViBe算法
ViBe算法在2011年被Marc Van Droogenbroeck和Olivier Barnich提出,ViBe算法也是背景建模算法的一种,其主要特点是Vibe算法背景的更新是随机的,更利于复杂背景中运动目标实时检测,是现阶段较为前沿的算法之一。ViBe算法主要是利用单帧视频序列初始化背景模型,对于每一个像素点,随机选择它的邻域点的像素值作为它的模型样本值[17]。
Vibe算法中,更新方式采用八邻域方法,可以抑制由于获取视频时因摄像机抖动、目標微动而产生的重影和误差,让检测目标更加准确。由于每次背景模型更新的个数相近,所以我们把第一帧背景更新的次数作为比较值,对背景模型进行重新初始化,这样可以避免由于大面积的光照变化导致的误判。ViBe算法的背景更新是随机的。在时间上,在背景模型中随机抽取一帧图像的像素值作为比较值,重新选择一帧的新图像,如果新图像的像素值与比较值相差太大,则图像就被判断为背景,需要被更新;在空间上,从背景邻域中随机抽取一个像素点,用这个像素点的来替换掉这个邻域周围的像素点[17,19]。
Vibe算法对噪声的反应比较灵敏,计算量小、速度快,可以很快地进行运动目标的检测。
4 结束语
运动目标的检测容易受到环境的影响,面临的主要问题有:光照变化、局部遮挡、目标尺度变化、图像抖动,噪声干扰,光线变化,阴影,区域内部反光,运动目标缓慢移动等。在根据背景做运动目标检测时,可以根据不同情况选取不同的检测算法。在简单背景情形中,可以选择帧间差分法和背景差法。帧间差分法动态性强,能够适应动态背景下的运动目标检测。但是该法的实现原理导致了该法检测出的运动目标轮廓内部很可能出现许多空洞,有时甚至无法得到目标的边界。背景差法在背景不变或变化很小时可以准确地获取运动目标,但是由于通常需要缓冲若干帧来完成背景减除,因此需要消耗大量的内存,这使其使用范围受到了限制。在复杂背景也就是动态背景情形下,适合采用光流法、高斯混合模型、Vibe算法。光流法在摄像机运动、背景变化时,也能检测出运动目标,并且它能同时完成运动目标检测和跟踪,但是该方法的计算复杂度高,也容易受到噪声、光照变化和背景扰动的影响。高斯混合模型通过对背景的不断更新,使系统能对背景变化自适应。但是,高斯混合模型对于全局光照变化、阴影非常敏感,对于缓慢的运动目标检测效果也不理想。Vibe算法是较为前沿的背景建模的运动目标检测算法,在更新模型时利用了图像像素值的空间传播特性,背景模型逐渐向外扩散,能快速识别并且消除Ghost区域,在前景检测和背景模型更新上都存在显著优势。
参考文献
[1]BERND Jahne. Digital Image Processing[J].Springer,2000:7-13.
[2]LOWE D. Distinctive Image Features from Scale Invariant Keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[3]白晓方.复杂背景下运动目标检测与跟踪技术研究[D].中北大学,2014.
[4]王欢.复杂背景下运动目标检测与跟踪研究[D].北京理工大学,2015.
[5]C.Harris, M. Stephens. A Combined Corner and Edge Detector[C].In Proceedings of the Fourth Alvey Vision Conference,1988:147-151.
[6]解晓萌.动态背景下运动目标检测关键技术的研究[D].华南理工大学,2012.
[7]骆勇.复杂场景下运动目标检测关键技术研究[D].上海交通大学,2012.
[8]钟必能.复杂动态场景中运动目标检测与跟踪算法研究[D].哈尔滨工业大学,2010.
[9]徐功益.复杂背景下运动目标检测方法[D].中国科学院研究生院,2007.
[10]黄大卫.复杂场景下的运动目标检测算法研究[D].安徽大学,2016.
[11]张辉.复杂场景图像序列中运动目标检测与跟踪研究[D].北京理工大学,2010.
[12]张森悦.复杂背景下运动目标检测方法研究[D].沈阳航空工业学院,2009.
[13]HOWZE JW. Robust tracking, error feedback and two-degree-of-freedom controller[J].IEEE Trans AC, 1997,47(7):980-983.
[14]CHRIS Stauffer, W.E.L Grimson. Learning Patterns of Activity Using Real-time Tracking[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(8):747-757.
[15]张金林,万蔚,芮挺,等.基于改进的Lucas-Kanade光流估算模型的运动目标检测[J].微计算机信息,2010.
[16]郝毫刚.基于五帧差分和背景差分的运动目标检测算法[D].上海理工大学,2012.
[17]王小霞.复杂场景运动目标检测[D].东华大学,2014.
[18]李博川,丁轲.结合阴影抑制的混合高斯模型改进算法[J].计算机工程与科学,2016,3.
[19]洪飞.复杂背景下运动目标跟踪算法研究[D].西安电子科技大学,2013.
作者简介:王春兰(1980,2-),女,重庆,硕士,讲师,研究方向:图像处理。