典型视频目标跟踪方法实现与分析

2015-03-02 12:33廖斌
软件导刊 2015年1期
关键词:目标检测

廖斌

摘要:分析目前运动目标检测跟踪中的经典方法,包括帧间差分法、背景差分法和Mean Shift法,探讨其适用范围及优缺点,然后对3种算法进行验证,给出实验结果,并分析其优缺点。

关键词:帧间差分法;背景预测法;Mean Shift;视频跟踪;目标检测

DOIDOI:10.11907/rjdk.143629

中图分类号:TP317.4

文献标识码:A 文章编号文章编号:16727800(2015)001013603

0 引言

随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像视频处理技术对目标进行实时跟踪成为当今的研究热点。对目标进行动态实时跟踪定位在智能化交通系统、智能监控系统、军事目标检测及医学导航手术中手术器械定位等方面具有很高的应用价值[13]。同时,运动目标跟踪也是计算机视觉研究领域的一个重要课题,国内外已进行了大量研究工作。本文主要对这些研究工作中的经典方法包括背景预测法、帧间差分法和Mean Shift法[46]进行分析,介绍其基本思想和算法步骤,并根据实验结果分析各自优缺点。

1 运动目标跟踪基本方法

1.1 背景预测法

背景预测算法的基本思想如图1所示。图像中的任何一个像素点,如果属于背景,则其灰度值与属于同一背景的其它像素点灰度值相关性较强,一定可以用周围区域的背景点预测;如果属于目标,其灰度值与周围像素点的灰度值相关性较差,在图像局部会形成一个或几个异常点。利用这一差异分离目标与背景是背景预测方法的出发点。图像中任何一个像素点灰度的背景预测值都可以利用其周围区域的一些像素点灰度值经过加权组合产生,将图像中所有像素点的实际灰度值与预测值相减得到预测残差,然后在预测残差图像上进行阈值检测。

1.2 帧间差分法

帧间差分法直接求取前后两帧图像之间的差别,如图2所示。帧间差分法是将图像序列中连续两帧或三帧图像所对应的像素灰度值相减,并且加以阈值化来分割图像中的运动区域。其思想是通过帧间差分,利用运动序列图像相邻帧的强相关性进行变化检测,进而通过对变化图像的滤波确定运动目标。

传统的帧间差分法是利用序列图像中相邻两帧做帧差运算。运动目标运动速度缓慢时,差分后提取的运动目标内部则会存在空洞,严重的会使提取的运动目标区域局部边缘产生缺口,这种情况采用图像形态学也无法修复。

所以在本文中采用三帧差求取运动目标区域,使目标提取更加准确。对相邻三帧中前两帧和后两帧分别利用传统的帧间差提取运动区域,再对两个结果取公共部分,即为中间帧的运动区域。

图1 背景预测法流程

图2 帧间差分法流程

1.3 Mean Shift法

Mean Shift算法是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定条件结束。

对于跟踪目标明候选区域,假设{Xi}i=1,...,n是以y为中心的像素点,k(x)依然是以h为半径核函数的轮廓函数,u∈1…255,则候选区域的概率密度模型为:

u(y)=Ck∑nki=1k(y-xih2)δ[b(xi)-u](1)

于是问题转化为找取离散位置y,使其密度函数u(y)与目标密度函数u具有最大相似度。为了定义相似性度量,Bhattachaxyya系数被用于评价直方图的匹配程度。假设目标模型为m级直方图,目标的离散密度函数估计为={u } u = 1,...,m,位置在y的候选目标的密度函数估计为={u }u=1,...,m,则目标与候选目标的相似性系数为:

(y)=ρ[(y),]=∑mω=1u(y)u(2)

为了计算Bhattacharyya系数(y)=ρ[(y),]的最大值,把ρ[(y),]在y0点泰勒展开为:

ρ[(y),]≈∑mω=1u(y0)u+12∑mu=1w(y)

u(y0)≈12∑mu=1u(y)u+Ck2∑mki=1ωik(y-xih2)(3)

其中ωi=∑mu=1δ[b(xi)-u]un(y0)为权系数,由于上式中第一项独立于y常数,所以要使ρ[(y),]最大化需使后一项最大化。因此迭代求中心点的公式更新为:

1=∑nk i=1xi ωi g(y0 -i h2)∑nk i=1ωi g(y0 -i h2)(4)

不断更新{u (1 )}u=1,…,m ,并估计Bhattacharyya系ρ[(y1),]=∑mu=1(1)n。当ρ[(y1),]<ρ[(y0),]时计算1←12(0+1)。当|1-0|<ε时,停止迭代,否则0←1。

2 实验结果及分析

本文使用Visual C++作为可视化软件开发工具, 以上3种方法实验结果如下:

(1)背景预测法实验结果如图3所示。背景预测法能够快速、准确地分割出运动物体,但容易受环境和光照的变化影响,而且如果运动目标与背景颜色相似,则检测出来的运动目标通常不完整。另外,该方法没有考虑到摄像机的抖动可能引起背景运动,造成差图像中存在较多的伪运动信息。

图3 背景预测法目标检测

(2)帧间差分法实验结果如图4所示。

帧间差分法直接求取前后两帧图像之间的差别,其对物体运动比较敏感,实际上检测到的是目标与背景发生相对运动的区域(包括运动目标和显露区域),受光线影响较小。另外该算法易于实现且实时性较好,因而成为目前广泛应用的目标检测方法。但缺点是跟踪连续性不够,帧间差别较明显,导致整个跟踪过程不够连贯。

图4 帧间差分法目标检测

(3)Mean Shift实验结果如图5所示。

该目标跟踪的方法利用了图像中目标自身的静态特性及运动特性,可以不依赖操作人员,自动对符合条件的运动目标进行检测和跟踪,并在检测和跟踪过程中采用了多种特征的判据判断与引入目标运动特征的跟踪方法,不依赖于先验知识和数据,自适应性非常好。但从实验结果可以看出,检测仍然不够准确,跟踪框范围过大,无法及时锁定运动目标,有一定滞后性。如果移动较快或移动范围较大,甚至有可能丢失跟踪目标。

图5 Mean Shift目标跟踪

3 三种方法比较

3.1 方法效率比较

度量一个程序的执行时间通常有两种方法,事后统计法和事前分析估计法。本文采取第一种方法对以上3种检测跟踪方法进行比较,结果如表1所示。

应用于该程序测试的视频在正常情况下长19s,前两种方法执行时间较长,这样可能导致在检测运动较快的目标时,虽然能检测到目标移动,但是跟踪不够及时。Mean Shift相对而言实时性较好,但在实际应用中,仍然存在较大误差。

3.2 资源占有率比较

衡量一个软件的好坏,占用资源的大小是一个非常重要的衡量指标。不同程序运行时的CPU占有率和所占有的内存资源如表2所示。

从表中可以看出,3种方法在占用系统资源方面差别不大,特别是前两种方法。但其CPU占有率都超过一半,增大了系统负担,如果有其它程序并行运行,将可能造成系统速度过慢。

4 结语

从实验结果可以看出,背景预测法在运动目标所处环境过于复杂或当目标被遮挡时很难精确地分割出目标物体,所以运动目标的检测和分割在很大程度上影响了跟踪精度,同时也增加了跟踪的复杂性;帧间差分法提高了对环境干扰的抵抗能力,改善了运动目标的边缘特性,使检测出来的目标更加完整,但实时性不强;Mean Shift虽然效率较高,但是当要跟踪的目标运动过快时,Mean Shift在后一帧中则很难准确跟踪到目标位置。

猜你喜欢
目标检测
多视角目标检测与跟踪技术的研究与实现
移动机器人图像目标识别
智能视频技术在电力系统领域的应用
相关K分布杂波中扩展目标积累检测性能分析
基于连通域标记的目标检测算法设计与实现
一种改进的峰均功率比判源方法
结合PCA的TLD人脸跟踪