时间:2024-07-28
罗国强
(广东工业大学,广东广州510006)
视频序列中运动目标检测与跟踪是计算机视觉研究领域的一个重要课题,在机器人导航、交通监测、医学图像处理等领域都有广泛应用。国内外学者对此进行了大量研究,提出了许多算法。文献[1]采用单高斯模型作为背景模型,该模型虽然简单,但其分布比较复杂而且需要精细的参数设定。文献[2]中提到混合高斯模型,而且有文献[3][4]发展为目前常用的表现形式。
本文给出了自适应高斯模型建模,由多个高斯分布组成,可以在包括运动目标的视频中自适应地提取背景模型,对背景模型的描述更加准确。最终通过OpenCV实现对目标的准确检测和跟踪。
运动目标检测是视频图像跟踪中的重要环节。目前常用的运动检测算法有光流法,帧间差法和背景差法。光流法运算量较大,不适合实时处理。帧间差法虽实时性好,但检测目标内部容易产生空洞。背景差法克服了上述方法的缺点,但对动态场景的变化较为敏感。本文在背景差法的基础上,提出自适应混合高斯背景模型的概念。
背景图像的每一个像素分别用由K个高斯分布构成的混合高斯模型来建模,即
式中:K为高斯模型中高斯分布的个数,通常取3~5;Xt为t时刻的像素值表示在t时刻第i个高斯分布的权值;μi,t和σ2i,t分别表示第i个高斯分布的均值和方差;η表示概率密度函数。
为使模型不断贴近当前像素值的分布,常更新高斯分布自身的参数和各分布的权重。将每一新捕获帧的像素值置Xt与混合高斯模型中的K个高斯分布分别匹配。若新像素值
则认为该像素值和高斯分布匹配。匹配成功的高斯分布按下式更新,即
其中:α为用户定义的学习率,0≤α≤1,决定背景更新速度。ρ为参数学习率,近似为若没有任何高斯分布与Xi匹配,则将权重最小的高斯分布用新的高斯分布代替。新分布的均值为Xi,方差为最大初始差,权重为最小初始权重。其余高斯分布保持不变,但权值按ωi,t=(1-α)ωi,t-1进行更新。
混合高斯模型的参数更新后,将组成混合高斯模型的K个高斯分布按由大到小排列,最有可能描述稳定背景过
程的高斯分布位于前面,而出背景暂态扰动产生的分布位于后面。若前B个分布满足:
则认为前B个分布是背景分布,其余为前景分布。其中T为预定的阈值。背景分布确定之后,将当前输入的图像与背景模型相比较,若当前像素值Xt和每个背景高斯分布满足:
就认为当前像素为前景,即运动物体。这样就将运动目标从背景中检测出来。
开放源代码的计算机视觉类库0penCV(Intel Open Source Computer Vision Library)由英特尔公司位于俄罗斯的研究实验室所开发,它是一套可免费获得的、由一些C函数和C++类所组成的库,用来实现一些常用的图像处理及计算机视觉算法。OpenCV主要用于对图像进行一些高级处理,比如说特征检测与跟踪、运动分析、目标分割与识别以及3D重建等。
OpenCV是Intel公司开发的图像处理和计算机视觉函数库,它有以下特点:
(1)开放C及C++源码;
(2)基于Intel处理器指令集开发的优化代码;
(3)统一的结构和功能定义;
(4)强大的图像和矩阵运算能力;
(5)方便灵活的用户接口;
(6)同时支持Windows,Linux平台;
(7)在速度上OpenCV还有Intel公司的minx和ssl优化。
OpenCV设计一些基本数据类型,基本的数据类型包括:图像类的Ipllmage,矩阵类的CvMat,可变集合类的CvSeq、CvSet、CvGraph以及用于多维柱状图的混合类CvHistogram。辅助数据类型包括:用于表示二维点坐标的Cv-Point,用于表示图像宽和高的CvSize等。
OpenCV中每个函数的命名都以“CV”开始,然后是该函数的行为及目标。例如用来创建图像的函数“cvCreatelmage”,载入图像的函数“cvLoadlmage”。OpenCV是为图像处理及计算机视觉在实际工程中的应用而设计的一个类库,其中所有的函数都由于其在实际应用中所实现的不同的功能而分属不同的类型,主要的函数类型有:
(1)基本的图像处理与分析函数。这个类型的函数主要用于实现一些基本的图像处理与分析功能,例如图像平滑函数cvSmooth,Sobel算子cvSobe,Canny边缘分割函数cvCanny等。
(2)结构分析函数。包括有轮廓处理函数,几何学函数以及平面细分函数。
(3)运动分析与目标跟踪函数。包括有用于运动分析与目标跟踪的函数,例如背景重建函数cvAcc,卡尔曼滤波函数CvKalman等。
(4)摄像机标定和3D重建函数。包括有用于摄像机标定,姿态估计以及从两个摄像机进行3D相似重构的函数。
(5)GUI与视频处理函数。包括有高级图形用户接口highGUI用以实现对图像的载入、显示及保存等基本操作以及用以实现视频输入输出及处理的函数。
针对混合高斯模型运动目标检测方法在背景建模中目标检测与背景更新的效果做实验,本文实验的视频是《OpenCV教程——基础篇》教材中提供的一段公路视频片段,帧速度为15帧/秒。下图分别是10,20,50帧视频的原图,背景图和目标检测图。
从以上3帧图像的视频图、背景图、检测图可以看出,该方法可以较好地检测出视频的运动目标。
提出了一种针对固定场景的视频图像运动目标检测和跟踪算法。针对传统的背景差分法对动态场景变化较为敏感的问题,提出改进的混合高斯背景建模算法,使背景模型的参数随着场景的变化进行自适应更新,实现了准确的检测,解决了目标形体和尺度发生变化对限踪效果的影响,满足运动目标跟踪鲁棒性的要求。由于本文算法主要针对在静止摄像机条件下的运动目标,应用范围受到一定限制,还需做进一步的研究。
[1]Wren C R,Azarbayejani A,Darrell T,et a1.Pfinder:Real-time of the human body[J].IEEE Transactions on PAMI,1997,19(7):780—785.
[2]Friedman N,Russell S.Image segmentation in video sequences:A probabilistic approach[A].In:Proceedings Thirteenth Conference on Uncertainty in Artificial Intelligence[C],Providence,Rhode Island,USA,1997:175~181.
[3]Stauffer C,Grimson W E L.Adaptive background mixture models for real—time tracking[A]In:Proceedings of IEEE Conference on Computer Vision and Pattern Recognition[C],Fort Collis Colorado,USA,1999:246—252.
[4]Stauffer C,Grimson W E L.Learning patterns of activity using real-time tracking[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2000,22(8):747~757..
[5]刘瑞祯,于仕琪.OpenCV教程——基础篇[M].北京:北京航天航空出版社,2006.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!