寻找轮廓实现视频流的运动目标检测

时间:2022-10-09 12:47:25

寻找轮廓实现视频流的运动目标检测

摘 要: 本文研究的是一种在静止背景中基于轮廓的运动目标检测算法,该算法首先将图像转化为单通道,进行滤波,计算相邻两帧图像差分图像的阈值,将差分图像转化为二值图像,同时对背景进行更新,然后对二值图像进行边缘检测,得到运动目标的边界,再进行区域填充等处理,最终获得运动目标的区域。实验表明,本算法相对于传统的帧间差分法对运动目标速度要求低,较好得克服了其不能准确检测运动目标大小的问题,保持其对背景渐变不敏感的优点,本算法检测有效、稳定,无论单目标检测还是多目标检测,均取得了较好的效果。

关键词: 运动目标检测; 差分图像; 边缘检测; 背景更新

中图分类号: TP391 文献标识码: A 文章编号:1009-8631(2010)06-0156-02

引言

运动目标检测是在运动图像序列中检测出我们所感兴趣的目标,运动目标检测的对象通常是图像序列,又称视频序列,所谓图像序列,就是用图像传感器采集的一组随时间变化的图像,它们具有给定的或假设的相对顺序。由运动目标所形成的图像处理可分为两种情况,一种是静止背景,一种是变化背景,前一种情况通常发生在摄像机相对静止状态,后一种情况通常发生在摄像机相对运动状态,本文所研究的情况为在固定场景下进行的目标检测。静态背景下的运动目标检测的常用方法主要有三种:光流法、帧间差分法、背景消减法。本文采用的方法是综合运用帧间差分法及背景减法,是一种新的前景检测的方法。开发工具为VC6.0及OpenCV。

一、算法思想

对于视频序列图像信号,最有用的信息是相邻两帧之间图像信号的变化信息,如果每帧之间无任何变化,则序列图像的信息量将大大降低,而帧间图像信号的变化往往又包含了丰富的目标运动信息,这些正是我们利用运动信息对视频运动目标进行分割的基础。

帧差法利用两帧图像亮度差的绝对值来分析视频和图像序列的运动特性,确定图像序列中有无运动物体。根据帧差图像中的噪声点服从高斯分布构建相对噪声滤波器来实现对运动目标的检测,设相邻帧之间的相对噪声n(x,y)服从均值为μ、方差为σ2的高斯分布,为检测出相对噪声,需要先估计出相对噪声的特征参数,包括其均值和方差。

首先,选择第一幅差分图像的均值、方差作为相对噪声的均值和方差的初始估计值,计算差分图像中各像素的灰度值与相对噪声均值之间的误差,然后根据该像素点误差的大小在下一次的相对噪声均值估计过程中分配相应的权值,误差小的像素分配的权值大,误差大的像素分配的权值小,即:

若d(x,y)满足上述准则,则判定为相对噪声并进行滤除。

在本论文中的算法中,找到第一帧的轮廓并存放在存储器中,更新背景,然后进行第二帧的检测,并继续进行背景更新,如此以往,直到找到最后一帧的轮廓。然后进行轮廓域的填充。

具体算法思想如下图所示:

二、边界跟踪

本文采用了一种常用的边界跟踪技术――探测法边界跟踪,它首先根据某个严格的探测准则找出目标物体轮廓上的像素,再根据这些像素的某些特征用一定的跟踪准则找出物体上的其他像素。跟踪准则是从图像左上角开始逐像点扫描,当遇到边缘点时则开始顺序跟踪,对于闭合曲线,直到跟踪的后续点回到起始点为止。如果为非闭合曲线,则跟踪一侧后需从起始点开始朝相反的方向跟踪到另一个尾点。如果不止一个后续点,则按上述连接准则选择加权平均最大的点为后续点,另一个次要的后续点作为新的边缘跟踪起点另行跟踪。一条线跟踪完后,接着扫描下一个未跟踪点,直到图像内的所有边界都跟踪完毕。

跟踪的第一步是找出图像的第一个边界点作为起始边界点,以这个边界点为起始点根据图像的边界应该连续的这一特征,对特定的方向进行跟踪,具体来说定义初始的搜索方向为左上方45°,如果左上方的像素点是边界点,则保存初始点,将检测到的点作为新的初始边界点,在原来检测方向基础上逆时针旋转90°作为新的跟踪方向,如果左上方的像素点不是边界点,则沿顺时针旋转45°,沿新跟踪方向继续探测,直到找到新的边界点,找到新边界点后,将旧边界点保存,将新检测到的点作为新的初始点,然后将跟踪方向逆时针旋转90。作为新的跟踪方向。重复上面的方法,不断改变跟踪方向,跟踪下一个边界点,直到返回起始边界点为止。

三、运动目标检测

绘制物体运动的轨迹是实践系统的常用功能,本系统把它作为一项应用来处理,取的物体的轮廓并填充后,将其存放在专门记录轨迹的数组中,处理完所有图片后,数组里就记录了完整的运动物体的目标轨迹。即利用OpenCV的函数cvFindContours中的提取模式CV_RETR_LIST提取所有轮廓,并放置在列表中,当处理完所有的图片后,列表里就记录了完整的物体运动轨迹,扫描整个列表,将里面的数值把曲线绘制。

四、实验仿真

实验所用的数据是在自然光条件下,在室内用固定摄像头拍摄的视频流,存储格式为avi。下面是视频流中的几帧图像:

下面为输入的视频流中对应帧的轮廓图像:

本论文主要研究的是静止背景下的运动目标检测,对于给定的avi视频流,通过背景减法和帧间差分法的综合应用,经过实验仿真,达到了比较良好的效果,从而验证了算法的实用性。由于采用了OpenCV库中的CVSetImageROI(基于给定矩形进行设置图像的ROI)的函数,即感兴趣区域,因此,可以调整参数,从而得到需要的任何区域的图像检测。总的来说,该算法是比较理想的,完全达到了预期目标。

五、结论

本算法采用背景图像与当前帧图像的差分图像进行目标检测时,较好的克服了帧间差分法当处理运动速度较快目标时,目检测结果常常比实际目标大的问题,也较好地解决了若目标内部灰度相近,则检测出运动目标容易出现空洞的问题。保持了帧间差分法算法实现简单,易于硬件实现,其对背景渐变不敏感、检测有效且稳定、速度快的优点。

参考文献:

[1] 任荣新.基于运动图像的目标检测.中国海洋大学硕士学位论文,2006.

[2] 朱明旱,罗大庸等.帧间差分和背景差分相融合的运动目标检测算法[J].计算机测量与控制,2005,13(3).

[3] aniciu,V Ramesh,and P Meer,“kernel-Based ObjectTracking”.IEEE Translations on Pattern Analysis and Machine Intelligence[J].2003,5(25).

[4] 何东健.数字图像处理[M].西安:西安电子科技大学出版社,2003.

上一篇:试剂除杂之化学反应方程式的应用 下一篇:财务管理信息化的应用模式