视频辅助跟踪(精选7篇)
视频辅助跟踪 篇1
1、引言
随着科技的不断进步, 安防设备的需求日益增加。尤其是能够根据移动的物体, 准确定位移动目标方位, 并且随之移动, 记录目标更多特征信息的系统, 能够在很多场合发挥重要的作用。
移动物体的跟踪技术是整个自动安防系统的核心, 也是最大的难题。目前随着技术的不断进步, 涌现出很多基于视频信号的跟踪方法, 例如卡尔曼滤波估计算法[1,2], 粒子滤波 (也称序贯蒙特卡洛滤波) 技术[3,4], 视频分割技术[5]等多种视频跟踪的技术, 同时也衍生出一些多目标跟踪算法如, 基于Snake模型的多目标跟踪算法[6], 基于多摄像头的视频跟踪的算法[7]等。基本上数跟踪算法都是在多帧视频信号中, 首先确定需要跟踪的目标范围和特征, 然后基于概率上的数学分析, 对目标今后的运动方向和运动速度等等进行估计, 找出目标最有可能出现的地方, 然后移动摄像头到这个位置, 从而达到目标跟踪的效果。
2、基于模板匹配技术的视频跟踪算法
由上文中可以看出, 视频跟踪算法基本分为三个步骤。
找到需要跟踪的目标, 并且获取目标的特征;估计目标下一步运动到的位置信息;移动摄像头到目标所在位置, 达到目标跟踪的效果。
因此, 根据以上三个步骤, 并模拟安防系统的需求, 记录详细的运动物体特征信息, 本文给出了基于模板匹配技术的视频跟踪算法。
基于模板匹配技术的视频跟踪算法, 基本原理是, 当摄像头对准某一画面保持静止不动的时候, 如果画面中的所有物体处于静止状态, 则画面中的内容基本保持不变, 即连续两帧的画面内容相差, 应该是一个为零的差值 (背景噪声点忽略不计) 。而当画面中出现一个运动物体的时候, 连续两帧的内容相差就不为零, 并且不为零的地点就是移动物体所在的位置范围。当确定目标物体的位置的时候, 可以根据预定模板的大小, 在目标位置周围获取标识目标的特征信息。一旦获取目标的特征信息, 就可以在后续的图像帧中, 查找最能匹配目标特征信息的范围, 这个范围就是目标物体所在的位置, 然后控制摄像头, 将摄像头中心指向该位置, 不断的重复上述的步骤就达到了目标跟踪的效果。一旦物体运动离开摄像头跟踪范围, 或者物体停止运动, 则摄像头回复初始状态, 等候下一个运动目标的出现。
3、图像差值技术
上文提到从相邻的两个画面中, 获取是否有目标物体运动的技术, 即为图像差值技术, 图像差值技术的基本原理是, 从摄像头中可以获得连续两个画面的数字信息, 然后将两个画面的数字信息, 进行按位求差, 将每个位置相差的值, 取绝对值然后求和, 则得出两个相邻画面中, 物体位置改变信息。而这个差值和则可以标识目标摄像头监控范围, 是否有运动物体进入画面范围。
从图像差值技术中, 可以得到几个信息。
画面范围内是否含有运动的物体出现;运动物体的大概轮廓;运动物体运动的速度;运动物体运动的方向。
差值技术的关键还在于某一阈值大小的选择, 由于噪声的干扰, 使即便没有运动物体出现在画面中的时候, 两个连续画面帧相差仍会出现不为零的情况, 因此设置一个阈值, 当差值和的大小小于这个阈值的时候, 可以认定是噪声干扰所致, 继续视频捕获。
4、获取图像信息
通过图像差值技术处理后, 可以得到移动物体的信息, 首先通过差值计算后的图像中可以清晰的看到移动物体所在的位置, 因为两帧相邻图像的时间间隔非常短, 而假设物体也是有一定体积的, 并且物体移动的速度也是有限的, 较短时间内物体的移动距离也会非常小, 所以可以根据差值计算后不为零的像素点的位置, 大概确定出目标物体所在的位置。同样, 通过差值计算后, 还可以获取目标物体大概的轮廓大小, 因为只有物体所在位置, 在进行差值计算后, 像素点不为零。最重要的一点, 通过差值计算后, 可以获取图像的像素点信息, 因为一旦确定图像所在位置后, 可以按照事先规定的模板, 在差值计算前的完整图像信息中获取物体的像素点信息, 从而以此来作为确定移动物体的唯一标志。
获取图像信息时, 最重要的一个步骤是确定运动物体所在的位置, 其中有很多种方法可以确定, 一种是通过计算平均值的算法来近似的确定物体所在位置, 也就是找到所有差值计算后不为零的像素点位置, 然后求出所有这样点的平均的横纵坐标值, 作为运动目标的中心位置, 这种算法的好处是速度快, 精确度却比较低, 但是对于目标体积比较大的物体, 效果会好些。第二种方法是, 查找所有差值计算后, 不为零的像素点所构成的所有连通区域, 确定最大的连通区域作为目标所在的区域, 然后求出这个区域的中点, 作为目标所在的位置, 这种算法的好处是精确度比较高, 但是计算时间复杂度也较高, 适合体积较小的目标跟踪系统。一旦确定目标信息后, 就可以对这个目标实施跟踪了。
5、目标跟踪算法
当获取第三帧图像后, 可以使用获取到的模板, 找到最匹配图像模板的位置, 也就是目标最新的位置。其中匹配算法可以模拟以模板为大小的物体在第三帧图像中进行循环查找, 对每个位置进行图像差值算法, 然后计算差值后的和, 差之和最小的位置就是目标最匹配的位置。这种算法的计算速度是最大的问题, 影响速度的有两个方面, 一个是模板的大小, 每找到一个匹配位置, 都要按照模板大小进行差值计算, 所以模板越大, 精确度越高, 但是计算速度也会越慢。另一个方面是查找目标可能位置的范围, 如果是整幅图像全部查找, 则会拖慢整体的目标跟踪速度, 因此缩小目标匹配位置的范围, 则可以很好的加快匹配速度, 由于目标运动速度是有限的, 因此在两帧图像中目标可能移动的范围也是有限的, 如果能够根据目标可能的最高速度、两帧间隔定位时间和前一帧目标的位置, 可以大概判断出目标可能出现的一个范围, 然后在这个小范围中可以确定目标最有可能出现的位置。
如果经过差值和计算后, 最小差值和还大于某一个设定值的时候, 证明目标物体已经丢失, 匹配查找失败, 则系统恢复初始状态, 重新寻找新的运动目标进行跟踪。
6、结语
本文给出了简单的目标跟踪算法的实现原理, 使用图像差值技术可以确定运动目标的存在, 并且可以从图像帧中获取目标的基本信息, 如大小, 位置, 轮廓和像素值, 然后根据模板匹配算法, 结合差值算法来计算目标最新的位置, 然后移动摄像头指向目标最新的位置达到目标跟踪的效果。算法中有很多阈值和平衡点需要确定, 需要根据实际使用场景和需要跟踪目标的性质, 来确定阈值的大小。
摘要:随着科技的进步, 安防监控系统越来越向自动化监控的方向发展, 本文给出了一种使用视频跟踪的监控定位方案, 通过图像差值技术, 获取目标重要信息, 位置、轮廓、大小、像素信息等, 然后通过优化的模板匹配算法, 查找目标最新的位置, 实施自动的目标跟踪系统。
关键词:视频跟踪,差值技术,模板匹配
参考文献
[1]Mazor E, Averbuch A, Bar-Shalom Y, et al, Interacting multiple model methods in target tracking:a Survey[J], IEEE Transactions on Aerospace and Electronic Systems, 1998, 34 (1) :103-123.
[2]Boers Y, Driessen J N, Interacting multiple model particle filter[J], IEEE Proceedings:Radar, Sonar and Navigation, 2003, 150 (5) :344-349.
[3]Kwok N M, Fang G, Zhou W Z, Evolutionary particle filter:re-sampling from the genetic algorithm perspective[J], IEEE Intelligent Robots and System, 2005, 2935-2940.
[4]Katsuji U, Hatanaka T, Nonlinear state estimation by evolution strategies based particle filters[J], IEEE Transactions on Evolutionary Computation, 2003, 3 (8) :2102-2109.
[5]张亚迪, 李钊, 李俊山, 等, 视频对象分割技术研究, 2008, 38 (10) :14-16, 37
[6]刘皓挺, 姜国华, 王丽, 一种基于Snake模型的多目标跟踪算法[J], 北京:航天医学工程研究所, 2006, 76-79
[7]陈伟宏, 肖德贵, 基于非重叠多摄像头的实时监控系统[J], 计算机应用, 2005, 25 (14) :235-239.
基于强跟踪滤波器的视频跟踪方法 篇2
对活动目标进行跟踪是计算机视觉领域一个非常重要的研究方向,目标跟踪的实质就是对目标状态的估计、预测和滤波,广泛应用于视频监控系统、飞行控制系统及来袭目标检测等领域。大多数情况下,对匀速运动目标要求具有良好的跟踪能力,同时也要求对复杂环境和机动目标也要有较强的跟踪能力。
早期的视频跟踪系统中,运用经典卡尔曼滤波器(Kalman Filter,KF)即无偏最小方差估计,可以得到较好的跟踪效果。然而,KF关于模型和噪声统计特性不确定性的鲁棒性比较差,当视频图像序列中的运动目标发生突变时,KF进行跟踪可能会出现运动目标丢失现象,导致滤波误差增大、跟踪性能下降。为此,笔者提出将强跟踪滤波器应用于匀速运动目标和机动性目标的跟踪,并对其进行仿真。
1 KFKF是一种状态预测估计算法,假设一个运动系统的状态方程为:
(1)
采用KF跟踪其运动轨迹的方法可推导为:
式(1)所示的数学模型具有很大的不确定性,其原因主要是:模型过于简化,系统噪声的统计特性不是很准确以及对现实系统初始状态的统计特性的建模较粗糙以及现实系统的参数随时间发生变动等。KF对于模型不确定性的鲁棒性很差,导致状态预测估计不准,甚至出现错误发散。因此,KF只适用于符合高斯、线性化的情况。因此又推出了扩展KF。
扩展KF的原理是,当系统达到平稳状态时,系统会丧失对突变状态的跟踪能力,这制约了扩展KF(也包括KF)在视频目标中的跟踪应用。究其原因,是由于系统达到平稳状态时,扩展KF的增益矩阵K(k+1)将趋于极小,如果此时系统状态发生突变,预报残差γ(k+1)将随突变增大,但其增益矩阵K(k+1)仍将保持为极小值。因此,从式(2)推导出的扩展KF将丧失对突变状态的跟踪能力。为此,可以认为扩展KF是一种非闭环滤波器,原因是这种类型的滤波器的K(k+1)不会随着滤波效果自适应地进行改变,以确保始终保持系统状态的准确跟踪能力。这一现象在线性定常随机系统中更为突出。此时,只需用普通KF(或扩展KF)进行状态预测估计。而KF的增益矩阵可以根据线性系统的参数阵(A,B,C)离线计算,然后存储在计算机内存中被在线应用,这时如果系统状态发生突变,滤波器的增益矩阵不会随之改变(事先存好的静态变量),因此KF也就丧失了对突然变化状态的跟综能力,故扩展KF也是一种非闭环滤波器。
2 强跟踪滤波器
如果一个滤波器与通常的滤波器相比满足:很好的关于模型不确定性的鲁棒性;极强的关于突变状态的跟踪能力,即使在系统达平稳状态时仍保持对缓慢变化状态与突变状态的跟踪能力;合适的计算复杂性。那么就可以确定该滤波器为强跟踪滤波器(Strong Tracking Filter,STF)。前两个条件就是为了解决扩展类KF的两大问题提出来的,最后一个条件则是为了保证STF的实际应用。
由式(1)确定的一类系统的STF方程应具有下述的一般结构:
现在需要解决的难题是,要实时在线地确定时变增益矩阵K(k+1)以使此滤波器满足STF的所有条件。为此,提出正交性原理,即为了使滤波器(2)为STF的一个充分条件是在线选择一个适当的实时变化的增益矩阵K(k+1),使得:
j=1,2,… (4)
条件(4)要求在不同时刻的残差序列处处相互正交。条件(3)本来就是原扩展类KF的性能指标。
现说明此正交性原理的一个例子:已经证明,当参考模型与实际系统完全匹配时,KF输出的残差序列是一系列的非自相关的高斯白噪声序列。所以,式(3)是满足的。而式(4)本来就是KF的性能指标,因此也是满足的。
由于所建模型不确定性的影响,使得滤波器的状态估计值在偏离系统状态时,一定会在输出的残差序列的均值和幅值上表现出来。在这时,如果在线实时地调整增益矩阵,强迫式(4)仍然成立,造成残差序列仍然保持相互正交,就可以强迫STF保持对实际系统状态的跟踪。
正交性原理拥有很强的物理意义,它说明当存在模型的不确定性时,应在线实时调整增益矩阵K(k+1),迫使输出的残差序列始终保持具有类似高斯白噪声的性质。这也说明已经将输出的残差序列中的所有有效信息都提取出来了。
在不存在所建模型的不确定性时,STF按照正常情况运行,式(4)已经满足,起不到调节作用。此时STF就演化为一般的基于性能指标(3)的扩展类KF。
这类正交性原理的核心是式(4)和当用其他的性能指标取代式(3)后,就能够得到另外一些变了形的类似的正交性原理。所以,当在原先的滤波器上额外加上条件(4)后,就可以改变原先的滤波器,使得其满足STF的所有条件。
对于非线性时变系统,在实际中应用该正交性原理时,式(3)、(4)非常难精确地满足。这时要使其近似满足即可,以便减少计算量,使强跟踪滤波器能够实时在线进行视频跟踪。
3 仿真
为了验证上述算法的有效性,进行仿真分析。试验用的处理器为主频3.00GHz Intel(R)E8400 CPU,内存为2GHz的PC机;所有算法由Matlab 7.1编程实现。
由运动模型产生的数据进行仿真分析,能够更好地看出跟踪效果并进行分析。
图1、2是分别使用KF和STF在不同情况下的仿真结果。
由图1b、c可以看出,在目标运动变化较缓慢时,KF和STF对目标的跟踪效果没有太大的差别。由图2b、c可以看出,在观测数据受到严重污染、干扰和目标大机动运动时,STF的跟踪效果明显好于KF的跟踪效果,在实际的目标跟踪中具有很强的优势。在目标发生大的机动变化时,STF仍然具有较好的目标跟踪能力,这就是STF具有而KF或扩展类KF所不具有的优点。其中STF的卡尔曼增益矩阵在运算时,当系统出现大的机动变化时取无穷大,以便对运动系统的大变化情况进行跟踪,之后KF的卡尔曼增益又恢复到极小值。
4 结束语
仿真结果表明,强跟踪滤波器在目标跟踪应用中比卡尔曼滤波器具有较强的鲁棒性和对噪声信号的适应性,能够更好地解决卡尔曼滤波器和扩展类卡尔曼滤波器所遇到的问题。
摘要:针对早期卡尔曼滤波在视频跟踪中的应用情况及其存在的缺陷,将强跟踪滤波器用于匀速运动目标和机动性目标的跟踪。仿真结果表明:在一定条件下,强跟踪滤波器具有较强的抗干扰能力和跟踪性能。
基于视频的人手运动跟踪系统 篇3
关键词:人手检测,运动跟踪,Camshift算法
1 引言
视频人体运动分析是近年来倍受关注的研究方向, 它在当前一些重要的研究和应用领域如计算机动画和游戏、虚拟现实和增强现实、高级人机接口等都有着广泛的需求。
与一般的人体运动捕捉问题不同, 以人机交互为目的运动捕捉必须满足实时性, 其捕捉结果不需要一定是三维结果, 精度也不必太高, 但要求跟踪算法具有鲁棒性和一定的自适应性, 并可以自动从错误中恢复。考虑到在一般室内环境中, 下半身往往会被遮挡, 或位于图像外, 主要由上半身的运动 (手臂) 来传递姿态信息, 因此本文考虑实现一个实时的人手运动跟踪系统满足于一般人机交互需要。
2 系统设计方案
按照对数据处理的抽象程度和视觉系统自身的特点, 一个视频运动分析系统可分为由低到高三个层次。如图1所示, 整个视频人手运动跟踪系统分为:数据采集、人手检测和跟踪、人手运动理解和描述三个模块。
1) 数据采集。彩色摄像头获取的视频信息经过插在计算机主板上的视频采集卡的数字化和编码后, 传入到计算机中供以后的视频图像处理。它的基本原理是将摄像头和视频采集卡采集检测区域的视频图像, 并负责将采集到的图像实时精确地传送到图像处理单元中进行处理, 同时也可将图像数据存入附带的外设存储器中, 便于后期观察和分析。
2) 人手检测和跟踪。跟踪就是对图像序列中的运动物体, 通过提取它的某些特征, 并且把这些特征从一幅图像到另一幅图像匹配起来, 运动跟踪的目的是获得运动物体的运动轨迹。
3) 运动理解和描述模块。对跟踪的人手的行为进行理解和描述。
3 系统软硬件设计
3.1 系统的硬件配置
一个系统的硬件选择由多方因素共同决定。系统所要达到的性能指标是决定系统硬件配置最关键因素。由于文本所需要实现的系统是一个实验性质的小型系统, 对性能要求不是很高, 所以选用一般的硬件配置就可以。同时成本预算也是决定硬件配置的一个重要因素。综合以上因素, 本文使用了这样的硬件配置, 如图2所示。
1) 摄像头。为了进行视频采集, 一个摄像头是必不可少的。
2) 视频采集卡。由于选用的彩色摄像头是模拟摄像头, 光信号被转化成模拟信号。模拟信号不能直接被处理器识别和处理, 所以在处理前需一个模拟数据到数字数据的转化。同时由于视频数据量庞大, 给视频数据的存储和传输带来一定困难, 所以在数据存储和传输之前还需一个将视频数据压缩编码的过程。
3) 图像主处理器。图像主处理器的功能是实现人手运动跟踪的主要算法, 通过分析和处理采集到的序列图像, 检测图像中出现的运动人手, 实现对其运动的跟踪和行为分析。在没有专用视频处理芯片的条件下, 计算机就成了执行视频处理算法的部件。
4) 便携式存储设备。便携式存储设备可以存储获得的视频图像, 以便后期分析。
5) 显示设备。图像主处理器对图像的处理结果可在连接的显示设备上显示, 给出详细的人手运动信息, 获得人手的运动参数。
3.2 系统的软件实现
Cam s hift算法是一个基于随机颜色概率模型的跟踪算法, 是基于颜色分布而与跟踪对象的具体模型无关, 并且不受光照等环境域素的影响, 同时受噪声干扰相对也小。根据人手肤色在HSV空间色度值分布鲜明, 并且人的肤色色度值有恒常性的特点, 所以采用Camshift算法比较好。图3表示了用Camshift跟踪算法来实现人手运动跟踪的软件流程。
4 总结
本文提出了一种视频人手运动跟踪系统的设计方案, 考虑到系统费用和实际难度, 本系统采用单目摄像机作为系统的传感器, 研究了一套实际可用的人手运动跟踪的图像处理算法。主要介绍了本课题所设计的一个视频人手运动跟踪系统的实验平台的软件和硬件组成。
参考文献
[1]Peter Meer.Real-Time Tracking of Non-Rigid Objects using Mean Shift[C].IEEE Conference on Computer Vision and Patter Recognition, 2000.2 (0) .142-149.
[2]Yizhong Cheng.Mean Shift, Mode Seeking, and Clustering[J].IEEE Trans-actionson Pattern Analysisand Machine Intelligence.1995.17 (8) .790-799.
[3]Dorin Comaniciu, Visvanathan Ramesh, Peter Meer.Real-Time Tracking of Non-Rigid Objectsusing Mean Shift.IEEE CVPR.2000.
典型视频目标跟踪方法实现与分析 篇4
随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像视频处理技术对目标进行实时跟踪成为当今的研究热点。对目标进行动态实时跟踪定位在智能化交通系统、智能监控系统、军事目标检测及医学导航手术中手术器械定位等方面具有很高的应用价值[1,2,3]。同时,运动目标跟踪也是计算机视觉研究领域的一个重要课题,国内外已进行了大量研究工作。本文主要对这些研究工作中的经典方法包括背景预测法、帧间差分法和MeanShift法[4,5,6]进行分析,介绍其基本思想和算法步骤,并根据实验结果分析各自优缺点。
1运动目标跟踪基本方法
1.1背景预测法
背景预测算法的基本思想如图1所示。图像中的任何一个像素点,如果属于背景,则其灰度值与属于同一背景的其它像素点灰度值相关性较强,一定可以用周围区域的背景点预测;如果属于目标,其灰度值与周围像素点的灰度值相关性较差,在图像局 部会形成 一个或几 个异常点。利用这一差异分离目标与背景是背景预测方法的出发点。图像中任何一个像素点灰度的背景预测值都可以利用其周围区域的一些像素点灰度值经过加权组合产生,将图像中所有像素点的实际灰度值与预测值相减得到预测残差,然后在预测残差图像上进行阈值检测。
1.2帧间差分法
帧间差分法直接求取前后两帧图像之间的差别,如图2所示。帧间差分法是将图像序列中连续两帧或三帧图像所对应的像素灰度值相减,并且加以阈值化来分割图像中的运动区域。其思想是通过帧间差分,利用运动序列图像相邻帧的强相关性进行变化检测,进而通过对变化图像的滤波确定运动目标。
传统的帧间差分法是利用序列图像中相邻两帧做帧差运算。运动目标运动速度缓慢时,差分后提取的运动目标内部则会存在空洞,严重的会使提取的运动目标区域局部边缘产生缺口,这种情况采用图像形态学也无法修复。所以在本文中采用三帧差求取运动目标区域,使目标提取更加准确。对相邻三帧中前两帧和后两帧分别利用传统的帧间差提取运动区域,再对两个结果取公共部分,即为中间帧的运动区域。
1.3MeanShift法
MeanShift算法是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定条件结束。
对于跟踪目标明候选区域,假设{Xi}i=1,...,n是以y为中心的像素点,k(x)依然是以h为半径核函数的 轮廓函数,u∈1…255,则候选区域的概率密度模型为:
于是问题转化为找取离散位置y,使其密度函数与目标密度函数具有最大相似度。
为了定义相似性度量,Bhattachaxyya系数被用于评价直方图的匹配程度。假设目标模型为m级直方图,目标的离散密度函数估计为位置在y的候选目标的密度函数估计为则目标与候选目标的相似性系数为:
为了计算Bhattacharyya系数的最大值,把在y0点泰勒展开为:
其中为权系数,由于上式中第一项独立于y常数,所以要使最大化需使后一项最大化。因此迭代求中心点的公式更新为:
2实验结果及分析
本文使用VisualC++作为可视化软件开发工具,以上3种方法实验结果如下:
(1)背景预测法实验结果如图3所示。背景预测法能够快速、准确地分割出运动物体,但容易受环境和光照的变化影响,而且如果运动目标与背景颜色相似,则检测出来的运动目标通常不完整。另外,该方法没有考虑到摄像机的抖动可能引起背景运动,造成差图像中存在较多的伪运动信息。
(2)帧间差分法实验结果如图4所示。帧间差分法直接求取前后两帧图像 之间的差 别,其对物体 运动比较 敏感,实际上检测到的是 目标与背 景发生相 对运动的 区域(包括运动目标和显露区域),受光线影响较小。另外该算法易于实现且实时性较好,因而成为目前广泛应用的目标检测方法。但缺点是跟踪连续性不够,帧间差别较明显,导致整个跟踪过程不够连贯。
(3)MeanShift实验结果如图5所示。该目标跟踪的方法利用了图像中目标自身的静态特性及运动特性,可以不依赖操作人员,自动对符合条件的运动目标进行检测和跟踪,并在检测和跟踪过程中采用了多种特征的判据判断与引入目标运动特征的跟踪方法,不依赖于先验知识和数据,自适应性非常好。但从实验结果可以看出,检测仍然不够准确,跟踪框范围过大,无法及时锁定运动目标,有一定滞后性。如果移动较快或移动范围较大,甚至有可能丢失跟踪目标。
3三种方法比较
3.1方法效率比较
度量一个程序的执行时间通常有两种方法,事后统计法和事前分析估计法。本文采取第一种方法对以上3种检测跟踪方法进行比较,结果如表1所示。
应用于该程序测试的视频在正常情况下长19s,前两种方法执行时间较长,这样可能导致在检测运动较快的目标时,虽然能检测到目标移动,但是跟踪不够及时。MeanShift相对而言实时性较好,但在实际应用中,仍然存在较大误差。
3.2资源占有率比较
衡量一个软件的好坏,占用资源的大小是一个非常重要的衡量指标。不同程序运行时的CPU占有率和所占有的内存资源如表2所示。
从表中可以看出,3种方法在占用系统资源方面差别不大,特别是前两种方法。但其CPU占有率都超过一半,增大了系统负担,如果有其它程序并行运行,将可能造成系统速度过慢。
4结语
从实验结果可以看出,背景预测法在运动目标所处环境过于复杂或当目标被遮挡时很难精确地分割出目标物体,所以运动目标的检测和分割在很大程度上影响了跟踪精度,同时也增加了跟踪的复杂性;帧间差分法提高了对环境干扰的抵抗能力,改善了运动目标的边缘特性,使检测出来的目标更加完整,但实时性不强;MeanShift虽然效率较高,但是当要 跟踪的目 标运动过 快时,MeanShift在后一帧中则很难准确跟踪到目标位置。
摘要:分析目前运动目标检测跟踪中的经典方法,包括帧间差分法、背景差分法和Mean Shift法,探讨其适用范围及优缺点,然后对3种算法进行验证,给出实验结果,并分析其优缺点。
基于视频的夜间车辆检测与跟踪 篇5
1 车辆检测
1.1 车前灯检测
首先对图像进行预处理, 包括灰度化和阈值分割。然后采用八连通算法对预处理之后的图像进行连通区域提取。本文通过如下几个判断条件来检测出实际的车灯区域。
(1) 两车灯在图像中处于相似水平线上;
(2) 同一车辆两车灯的宽度与高度相似;
(3) 同一车辆两车灯的面积相近;
当一个连通区域满足上面的三个检测条件, 则这连通区域为车灯。
1.2 车前灯匹配
利用两车灯之间的大小、形状以及高度应该是相近或几乎是相等等先验知识对车前灯进行匹配。利用上节车灯检测中的条件以及两者之间的距离进行判断。车灯匹配成功之后, 将两车灯用一个矩形框来标志出来, 车辆的检测就以矩形框来确定同一辆车。
2 基于邻域的车辆跟踪
本文采用如下的车灯的跟踪方法:
(1) 首先通过公式 (1) 计算各个车灯区域在本帧与上一帧的运动偏移量:
其中, i为帧数。x、y均为两帧的中心点。
(3) 为了判断检测到的车灯是否是不同帧下的同一车灯, 计算两帧之间车灯的相似度。即A2>A1/2, A2<=A1×2。其中, A1A2分别为不同帧的车灯区域面积。如果满足条件, 则跟踪成功, 否则跟踪失败跳转到步骤 (4) 。
(4) 对于在搜索窗口内未搜索到有效车灯区域的, 可以将其判为失帧, 然后跳转到步骤 (2) , 如此循环2次, 如果还是没有搜索到, 则将该车灯从跟踪队列中剔除掉。
3 实验结果
本文将从两段不同场景的视频中分别用车道线和本文的方法进行跟踪检测, 跟踪结果如表1所示。
从以上结果可以看到, 这两种方法在不同的场景下, 车辆的正确检测率相近, 可以说适应性都比较强, 但是车道线的检测方法在错检数上明显比本文方法多, 因此本文的方法比车道线的方法略高一筹。
4 致谢
本文的研究工作受到浙江省重大科技专项 (2014C01044, 2013E60005) 和杭州市科技发展计划项目 (20122231S03) 的资助。
参考文献
[1]王圣男, 郁梅, 蒋刚毅.智能交通系统中基于视频图像处理的车辆检测与跟踪方法综述[J].计算机应用研究, 2005, 22 (9) :9-14.
[2]Zhang W, Wu Q J, Yang X, etal.Multilevel framewor todetectandh ad levehicle occlusion[J].IEEE Transactions on Intelligent Transportation Systems, 2008, 9 (1) :161-174.
[3]刘勃.周荷琴, 魏铭旭.基于颜色和运动信息的夜间车辆检测方法[J].中国图像图形学报, 2005, 10 (2) :187-191.
[4]谭荣伟, 雷蕴奇, 陈柏生.夜间运动车辆检测[J].计算机工程与应用, 2005, 41 (13) :227-228.
视频序列中目标的检测与跟踪 篇6
目标的检测与跟踪涉及到人工智能、机器视觉、生物医学、自动控制等多个学科,近年来,随着计算机技术的发展,得到了广泛的研究与应用[1]。目前比较流行的目标检测算法包括帧间运动估计和背景差分的方法,帧间运动估的方法是利用图像序列中相邻帧图像之间的差来提取图像的运动区域的。该方法实现简单,但只能检测相对运动的目标,并且检测出目标的位置不够精确。背景差分法首先定义视频图像的特定帧为背景,然后将当前帧和背景进行差分比较,如果同位置的像素特征、像素区域特征或其他特征的差别大于选定的阈值,则当前帧中该位置的像素区域就判定为前景目标区域,反之则为背景。该方法容易受到光线亮度变化的影响[2]。基于上述原因,本文提出了一种基于时间序列的编码建模算法,该算法能够解决像素剧烈变化的问题,可以提高复杂背景下目标检测的稳健性。目标的跟踪是通过算法获得目标在特定时间段上的运动轨迹,包括目标的产生、运动和销毁三个过程。由于算法中涉及到帧间目标空间位置的测量,在传统的跟踪算法中,当目标数目增加的时候,算法的时间复杂度呈指数形式增加。本文在分析上述问题基础上,将KD-Tree方法[3]引入目标跟踪算法之中,降低了算法的时间复杂度,同时降低了算法对目标数目的敏感程度,实现了高精度、高效率的目标检测与跟踪。
1 目标检测
很多场景都包含复杂的运动目标,诸如摇曳在风中的树、转动的风扇、摆动的窗帘等。通常这种场景中还有光线的变化。解决这个问题最好的方法是采用基于时间序列的编码建模算法,对每个像素或者一组像素建立时间序列模型,在每个像素点进行抽样,根据颜色扭曲尺度和亮度边界聚类获得编码本的集合,并不是所有像素点拥有相同数量的编码本数量。通过编码本表示的聚类子不需要对应单个高斯分布或者其他参数的分布,因此该编码方式是以像素为基础的。
归一化颜色算子是用来处理全局和局部亮度变化的方法,该技术在图像的暗色区域效果不理想,因为颜色比率的不确定性与亮度相关,所以灰度级低的像素点相对与灰度级高的像素点不确定性更高。这些不确定性使灰度级低的区域变得不稳定,在可能聚集在低灰度级的区域造成无检测[4]。本文通过建立颜色模型来估计颜色的亮度和扭曲,该模型依赖于编码元素主轴界定在亮度值高低边界的背景像素值。对于输入像素点pixi=(B,G,R)和编码本ci,定义Vi=(Bi,Gi,Ri),可得
由式(1)和式(2)可得
(pixi,Vi)2=(BiB+GiG+RiR)2 (3)
颜色扭曲度为
u2可以由式(5)求解
此外,统计地分配亮度变化的最大和最小值,将其赋给一个编码本,在特定的范围内限制阴影水平和焦点水平,能够有效地适应亮度的变化。为了去除图像中引入的噪声,首先对目标检测完成的图像进行3×3的中值滤波,然后进行形态学处理,使待检测的目标形成一个完整的连通域,并在一定程度上消除中值滤波无法消除的噪声,最终得到比较理想的目标图像。
不同处理阶段目标检测的结果如图1所示。可以看到,在经过上述处理,得到了完整的目标。
2 目标跟踪
目标跟踪是建立在目标检测的基础上的,即确定实时视频帧中检测到的目标的运动轨迹,这种轨迹的建立可以通过目标特征的匹配来实现,通常采用的特征信息有目标的位置、尺度、形状以及颜色等。本文采用目标的位置(即每个目标的质心坐标)建立运动模型,实现目标轨迹的精确匹配。
将每帧图像检测出的多个目标同上一帧图像检测出的目标进行比较并分类,主要有3种情况:1)当前目标是由上一帧中某个目标运动得到的(运动速度大于或等于0);2)当前目标在上一帧中没有出现,是新增加的目标;3)某些目标在上一帧中出现过,但在当前帧消失了。
在跟踪用摄像机完整标定的情况下,视场中的目标的运动速度会保持在某个区间之内,即可以通过实验的方法确定某一类别目标的最大运动速度,因为摄像系统的帧率是一定的,所以可以确定目标在两帧之间的时间间隔内的最大位移,定义为D_max,以此作为阈值条件。然后把上一帧的所有目标的质心坐标放在一个数组中,作为一个待遍历的集合Vec。将当前帧的每一个目标的质心坐标在集合Vec中寻找出与之几何距离最近的对应目标A,然后计算该距离d与D_max的关系:1)如果d≤D_max,当前帧的目标是从上一帧的目标A运动得到的;2)如果d>D_max,当前帧的目标是新增加的目标;3)如果在上一帧的目标中存在没有和当前帧目标相对应的,则说明没有对应的这些目标在当前帧中消失了。
针对上述3种情况,本文采用KD-Tree算法[5]实现目标跟踪。KD-Tree算法是一种由二叉搜索树推广而来的用于多维检索的树的结构形式(K即为空间的维数,此处定义K=2)。与二叉搜索树不同的是,它的每个结点表示k维空间的一个点,并且每一层都根据该层的分辨器对相应对象做出分枝决策。顶层结点按由分辨器决定的一个维度进行划分,第二层则按照该层的分辨器决定的另一个维度进行划分,以此类推在余下各维之间不断地划分。直至一个结点中的点数少于给定的最大点数时,结束划分。
如图2所示,在二维空间内存在点A,B,C,D,E,首先以A点的y维度为起始点,将点集分为2个部分,然后在左右2个子树中以B点和C点的x维度将左右2个子树分为2个部分,以此类推,在B点、C点各自的子树当中,以D点、E点的y维度对其子树划分,遍历集合当中的每一个点,就可以得到1个完整的KD-Tree。目标轨迹建立的过程就是在KD-Tree中搜索最近点的过程,采用KD-Tree进行最近点搜索可以提高系统的工作效率。
算法流程如下:
1)定义目标质心点坐标存储结构体,即
typedef struct Blob2D32f
{
int ID;
float x;
float y;
} kidBlob2D32f;
其中ID为每个目标对应的序号,x和y分别为每个目标质心坐标的横、纵坐标值。
2) 将第i帧的每个目标(定义为Blobi,其中i=1,2,3,…,N)的横纵坐标按照Blob2D32f结构体形式进行存储,ID号从0开始顺次排列,然后存放在起始帧数组ArrayL中。
3) 将第i+1帧的每个目标的横纵坐标按照Blob2D32f结构体形式进行存储,ID号不填充,然后存放在当前帧数组ArrayN中。
4) 对起始帧数组ArrayL建立KD-Tree。
5) 定义D_max。
6) 遍历当前帧数组ArrayN中的每个Blobi,搜索其在KD-Tree中最短距离元素,定义最短距离为d。
7) 如果d>D_max,则该Blobi为新当前帧新增加的目标,将其赋予一个新的ID;如果d≤D_max,则该Blobi为由上一帧的目标运动得到的,将其ID更新为ArrayL数组中与其距离最短的目标的ID,并将其对应元素在ArrayL数组中删除。
8) 遍历结束后,ArrayL数组中余下的Blobi即为上一帧存在但当前帧消失的目标,将其删除。
9) 将当前帧数组ArrayN中的元素更新到ArrayN数组中。
10) 循环执行步骤3)~9)过程,直到程序结束。
随着视频帧数据的不断采集,循环进行上述过程,即实现了目标的检测与跟踪。流程图如图3所示。
3 目标跟踪实验
采用三轴云台固定摄像机进行实验,视频图像分辨力为640×480,背景模型建立过程累积了35帧图像,在普通PC上目标检测与跟踪的速度可以达到25 f/s(帧/秒)。
图4分别为第4,6,26,150帧时目标跟踪的情况,可以看到,目标被完整地检测出来,在目标物像素尺寸相对整个视频帧图像的比例较大的时候,没有出现单一目标被误检测成多个目标的现象,且目标的运动能够被较好地跟踪。
4 结论
本文讨论了几种目标检测中背景建模的方法,并重点说明了背景差分的建模方法,对差分后的图像进行滤波和形态学处理之后,可以得到较完整的目标轮廓,并且通过KD-Tree算法对目标进行跟踪,大幅度提高了跟踪效率。
参考文献
[1]蔡荣太,吴元昊,王明佳,等.视频目标跟踪算法综述[J].电视技术,2010,34(12):125-127.
[2]潘翔鹤,赵曙光,柳宗浦,等.一种基于梯度图像帧间差分和背景差分的运动目标检测新方法[J].光电子技术,2009,29(1):34-36.
[3]SPROULL R F.Refinements to nearest-neighbor searching in K-dimen-sional trees[J].Algorithmica,1991,6(4):579-589.
[4]KIM K,CHALIDABHONGSE T H,HARWOOD D,et al.Real-time fore-ground-background segmentation using codebook model[J].Real-TimeImage,2005,11(3):172-185.
视频序列中的运动目标检测与跟踪 篇7
近年来,随着计算机速度的不断提高以及数字图像处理技术研究的不断深入,智能视频监控技术得到了很好的发展,并被广泛应用于军事及民用监控系统,它能够大大减少人力物力,保障监控场所安全[1]。
视屏监控技术主要包括运动目标检测、目标提取、目标识别与跟踪几个模块。其中以目标检测部分为关键。目前,常用的运动目标检测方法有:光流法、帧差法和背景减法。光流法对光线和噪声的变化特别敏感且计算复杂耗时,没有特别硬件支持很难在实时系统中应用[2]。帧差法是基于运动图像序列中,相邻两帧图像间具有强相关性而提出的检测方法,具有很强的自适应性,但分离出来的运动目标容易出现空洞和沿着运动方向拉伸,不利于进一步分析与识别[3]。背景减法是目前最简单而又常用的方法之一。背景减法适用于摄像机静止的情况,能够完整分割出运动对象,却容易受光线、天气等光照条件、前景目标短暂或长久性的闯入和移出、背景自身的运动(如:树叶摇动等)等因素的影响。尽管如此,在实时监控系统中背景减法仍是运动目标检测的最常用方法[4]。常用的背景建模方法为混合高斯模型[5],但是模型复杂,计算量大。本文的目标检测部分采用了基于直方图统计的多帧平均混合法做背景提取,然后使用背景减法提取运动目标[6]。
1 背景模型
由于交通场景中视频序列特定像素位置出现频率最高的像素值是背景像素值。实际上交通场景中的视频序列还有一个特点:某点背景的像素值总是在某个区间内波动。因此将某点的灰度范围[0,255]等分为若干区间[0,256/N],[256/N,2×256/N],…,[(256-256/N),255],N为等分区间数,对应于某个像素的每个区间,考虑其落在区间内像素点的灰度值的均值μ及区间的计数统计S。在读取视频序列的同时,更新背景。具体方法如下:
(1) 均值更新。如果:
则更新第n个区间的像素均值:
否则:
(2) 区间计数统计更新。如果:
则更新第n个区间计数统计:
否则:
式中:ci(x,y)表示在第i帧图像中的坐标为(x,y)处的像素点的灰度值;α与β为权系数。这样将直方图灰度划分成区间段,对帧中的每个像素点计算ui,n和si,n后,比较不同区间段的si,n后,将具有最大si,n的区间的ui,n作为背景。
2 目标提取
2.1 噪音消除
在背景差分的基础上,可以得到一幅粗略的二值图像,然后对其采用3×3的方形窗口进行中值滤波,以消弱图像中噪声的影响。
2.2 形态学滤波[7]
噪声的影响可能会使目标边界呈现不同程度碎片,对此本文使用形态学滤波中的膨胀、开运算对二值图像做处理,使目标区域轮廓变得平滑,同时抑制峰值噪声。
2.3 阴影消除
阴影的存在不利于准确判断目标的位置,像素点(x,y)在未被阴影覆盖和被阴影覆盖时的亮度值近似成线性关系,由概率论中相关系数的性质可知,若随机变量X和Y成线性关系时,则X和Y的关系系数为1,因此本文利用了万相关系数的性质进行阴影检测与滤除[8]。
2.4 区域标记提取
经过以上方法处理后的前景背景二值图像中,目标为若干个黑色联通区域,首先通过八连通域区域标记法[9],给每个目标一个标记。
然后从左到右,从上到下扫描已经标记的图像,遇到相同标记的点时,就更新对应标记区域的中心上下左右四个坐标值,结束扫描后,再根据每个区域的上下左右四个座标值获取其中心坐标。如此,就得到了每个区域的标记以及具体位置。
最后,对于这些区域的异常情况例如对于携物者、牵手并行者、迎面相交者等做处理。处理方式主要根据目标区域的长、宽、中心坐标距离,面积等特征来做判断。例如一个区域的面积很小(小于某个阈值),并且距它最近的区域的距离大于某个值,那么把它当噪声处理,更改它的标记为255。
3 目标识别与跟踪
在连续的视屏序列中,采用背景差法得到的目标,需要识别当前图上的某个目标是与上一副图中的哪一个目标相对应。对于人流量大,行走速度快的情况,目标识别是一个比较繁琐的过程。本文采用最小距离匹配法做目标识别,构建以下结构体描述目标信息。定义两个该结构体类型指针。
struct TargetArea
{
int flag; //区域有效标号
int CorrespondingFlag; //匹配标号
int number; //区域中包含的像素数
int centerX; //区域中心X坐标
int centerY; // 区域中心Y坐标
int direction; //区域移动方向
}*mpPersonInAreaBefore,*mpPersonInAreaNow;
目标跟踪程序步骤如下:
(1) 统计监测区中的目标个数,使用一个循环语句来将当前目标与上次目标(上幅图中处于检测区的目标)之间的中心距离逐一比较,如果距离小于某个阈值,则认为匹配,那么将当前目标与上次目标变量中的CorrespondingFlag 置1,表示找到了匹配点。
(2) 对于已经找到匹配目标的当前目标,比较它与匹配目标的中心坐标(centerX,centerY)来得到他的行走方向。在本文实验中,因为行人在监控区的主要行走方向是上行和下行,因此只对centerY做了比较。然后根据结果给direction赋值(1表示上行,0表示静止,-1表示下行)。
(3) 对于当前目标中匹配标志为0的点,表示是新点,那么它可能是一个新进入监控区域的人,或者是一个噪声。如果距离监控区的边界线小于某个阈值,认为是新进入区域的人,否则认为是噪声,置区域有效标记flag为0。
(4) 对于上次目标中匹配标志为0的点,表示目标已经离开了监控区域。那么根据它的行走方向以及距离上下检测线的位置判断是上行穿过区域还是下行穿过区域。如果距离下检测线近而且行走标志为-1,则判为下行通过区域,下行人数计数器加1,如果距离上检测线近且方向标志为1,则认为上行通过检测区,上行人数计数器加1,否则认为是噪声。
(5) 判断结束,释放上次目标的数据空间,重新申请当前目标个数的目标结构体数据空间,将当前目标数据放入其中,更改匹配标志为0,以便与下一副图中的目标做对比。
4 实验数据与分析
实验中以每100 ms每张的频率针对四川大学室外场景拍摄了1 506张照片。通过对这些照片做图像处理分析,统计在这段时间内通过该区域的人数。视频图像帧的大小为320×240像素,在普通PC机(AMD Sempron Processor 3000+,1.60 GHz,1.00 GB的内存,天敏SDK2500视频采集卡)上,用VC++ 2005编写了一个基于对话框的程序做实验。图1为程序界面。打开视屏序列中的某幅图片后即可点击“视屏监控”按钮开始监控,程序界面可以显示实时刷新背景、背景差后经过处理的二值图像、经过区域标记和目标识别跟踪后的监测画面。设置了纵坐标从60~130的范围为监控区,在监控时间内通过监控区的行人人数显示在右下角。针对这次实验的1 506张照片,实验结果准确地统计出了通过区域的行人人数。
图2为使用直方图统计与多帧平均混合法得到的背景图像。
图3为背景差后的二值图像,目标用黑色表示,背景用白色表示,可以看出,目标被明显地提取出来了,并且经过消除噪声、形态学滤波、阴影消除后的前景二值图像,比较干净,具有较好的对比分析使用价值。
图4为行人特殊情况的目标提取结果,可以看出,对于相遇造成的目标重叠、两人紧靠并行、携物者,都能得到较好的目标提取结果。
图5为行人监测,行人进入监控区域后能对其进行跟踪,穿过区域时,能较准确地判断出其行走方向,并且统计人数。
5 结 语
本文针对固定场景提出一种基于背景模型的运动目标检测和跟踪算法。该方法使用直方图统计与多帧平均混合方法背景建模。使用八连通域区域标记法和最小距离匹配方法对目标进行识别跟踪,根据目标特征参数进行逻辑判断监控行人人数,都取得了良好的效果,并且能对多种特殊情况兼容处理,具有实用价值。
摘要:提出一种视频序列中的运动目标检测跟踪算法。该方法采用直方图统计与多帧平均混合作为动态背景更新法,经过噪音消除、形态学处理、阴影处理后,用区域标记法提取目标。利用目标特征参数建立目标数组,通过当前帧目标数组和前一帧目标数组距离匹配实现运动目标的快速跟踪。该方法与传统方法相比具有更好的学习能力,从而有效地提高了运动目标检测的正确率和快速性。实验结果表明该方法具有良好的鲁棒性和自适应性。
关键词:背景模型,背景提取,运动目标检测与跟踪,视频序列
参考文献
[1]施华,李翠华.视频图像中的运动目标跟踪[J].计算机工程与应用,2005(10):56-58.
[2]Kinoshita K,Enokidani M,Izumida M,et al.Tracking of aMoving Object Using One-Dimensional Optical Flow with aRotating Observer[A].9th International Conference on Con-trol,Automation,Robotics and Vision[C].2006:1-6.
[3]Gao Hongzhi,Green R.A Robust Moving Object Segmenta-tion Algorithm[A].Proceedings of the 2007 InternationalConference on Wavelet Analysis and Pattern Recognition[C].2007,1:214-217.
[4]Piccardi M.Background Subtraction Techniques:A Review[A].IEEE International Conference on Systems,Man andCybernetics[C].2004,4:3 099-3 104.
[5]Chris Stauffer,Grimson W E L.Adaptive Background Mix-ture Models for Real-time Tracking[A].IEEE Computer So-ciety Conference on Computer Vision and Pattern Recogni-tion[C].Fort Collins:IEEE Press,1999.246-252.
[6]李晓飞,梅中辉.一种基于直方图统计的多帧平均混合的背景提取算法[J].南京邮电大学学报:自然科学版,2008,28(6):74-77.
[7]冈萨雷斯,阮秋琦.数字图像处理[M].2版.北京:电子工业出版社,2003.
[8]蔡友杰,陈秀宏.基于视频图像的运动目标检测与识别[J].微计算机信息,2009,25(3):280-281.