目标跟踪算法的分类.docx_第1页
目标跟踪算法的分类.docx_第2页
目标跟踪算法的分类.docx_第3页
目标跟踪算法的分类.docx_第4页
目标跟踪算法的分类.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主要基于两种思路:a)不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标; b)依赖于目标的先验知识,首先为运动目标建模,然后在图像序列中实时找到相匹配的运动目标。 一运动目标检测对于不依赖先验知识的目标跟踪来讲,运动检测是实现跟踪的第一步。运动检测即为从序列图像中将变化区域从背景图像中提取出来。运动目标检测的算法依照目标与摄像机之间的关系可以分为静态背景下运动检测和动态背景下运动检测(一)静态背景 1.背景差 2.帧差 3.GMM 4.光流 背景减算法可以对背景的光照变化、噪声干扰以及周期性运动等进行建模,在各种不同情况下它都可以准确地检测出运动目标。因此对于固定摄像头的情形,目前大多数的跟踪算法中都采用背景减算法来进行目标检测。背景减算法的局限性在于它需要一个静态的固定摄像头。 (二)运动场通常情况下,摄像机的运动形式可以分为两种:a)摄像机的支架固定,但摄像机可以偏转、俯仰以及缩放; b)将摄像机装在某个移动的载体上。由于以上两种情况下的背景及前景图像都在做全局运动,要准确检测运动目标的首要任务是进行图像的全局运动估计与补偿。考虑到图像帧上各点的全局运动矢量虽不尽相同 (摄像机做平移运动除外 ),但它们均是在同一摄像机模型下的运动,因而应遵循相同的运动模型,可以用同一模型参数来表示。 全局运动的估计问题就被归结为全局运动模型参数的估计问题,通常使用块匹配法或光流估计法来进行运动参数的估计。块匹配基于块的运动估算和补偿可算是最通用的算法。可以将图像分割成不同的图像块,假定同一图像小块上的运动矢量是相同的,通过像素域搜索得到最佳的运动矢量估算。块匹配法主要有如下三个关键技术:a)匹配法则,如最大相关、最小误差等b)搜索方法,如三步搜索法、交叉搜索法等。 c) 块大小的确定,如分级、自适应等。 光流法 光流估计的方法都是基于以下假设:图像灰度分布的变化完全是目标或者场景的运动引起的,也就是说,目标与场景的灰度不随时间变化。这使得光流方法抗噪声能力较差,其应用范围一般局限于目标与场景的灰度保持不变这个假设条件下。另外,大多数的光流计算方法相当复杂,如果没有特别的硬件装置,其处理速度相当慢,达不到实时处理的要求。 二目标跟踪运动目标的跟踪,即通过目标的有效表达,在图像序列中寻找与目标模板最相似候选目标区位置的过程。简单说,就是在序列图像中为目标定位。运动目标的有效表达除了对运动目标建模外,目标跟踪中常用到的目标特性表达主要包括视觉特征 (图像边缘、轮廓、形状、纹理、区域)、统计特征 (直方图、各种矩特征)、变换系数特征 (傅里叶描绘子、自回归模型)、代数特征 (图像矩阵的奇异值分解)等。除了使用单一特征外,也可通过融合多个特征来提高跟踪的可靠性.相似性度量算法 对运动目标进行特性提取之后,需要采用一定的相似性度量算法与帧图像进行匹配,从而实现目标跟踪。图像处理与分析理论中,常见的相似性度量方法有欧氏距离、街区距离、棋盘距离、加权距离、巴特查理亚系数、Hausdorff距离等,其中应用最多和最简单的是欧氏距离。搜索算法 目标跟踪过程中,直接对场景中的所有内容进行匹配计算,寻找最佳匹配位置,需要处理大量的冗余信息,这样运算量比较大,而且没有必要。采用一定的搜索算法对未来时刻目标的位置状态进行估计假设,缩小目标搜索范围便具有了非常重要的意义。其中一类比较常用的方法是预测运动体下一帧可能出现的位置,在其相关区域内寻找最优点。常见的预测算法有Kalman滤波、扩展的Kalman滤波及粒子滤波方法等。Kalman滤波器是一个对动态系统的状态序列进行线性最小方差估计的算法。它通过状态方程和观测方程来描述一个动态系统,基于系统以前的状态序列对下一个状态作最优估计,预测时具有无偏、稳定和最优的特点,且具有计算量小、可实时计算的特点,可以准确地预测目标的位置和速度,但其只适合于线性且呈高斯分布的系统。相对于卡尔曼滤波算法,粒子滤波器特别适用于非线性、非高斯系统。粒子滤波算法是一种基于蒙特卡洛和贝叶斯估计理论的最优算法,它以递归的方式对测量数据进行序贯处理,因而无须对以前的测量数据进行存储和再处理,节省了大量的存储空间。在跟踪多形式的目标以及在非线性运动和测量模型中,粒子滤波器具有极好的鲁棒性。另一类减小搜索范围的算法是优化搜索方向。均值漂移算法 (Meanshift算法 )、连续自适应均值漂移算法 (Camshift算法 )和置信区域算法都是利用无参估计的方法优化目标模板和候选目标距离的迭代收敛过程,以达到缩小搜索范围的目的。Meanshift算法是利用梯度优化方法实现快速目标定位,能够对非刚性目标实时跟踪,适合于非线性运动目标的跟踪,对目标的变形、旋转等运动有较好的适用性。但是 Meanshift算法在目标跟踪过程中没有利用目标在空间中的运动方向和运动速度信息,当周围环境存在干扰时 (如光线、遮挡 ),容易丢失目标。Camshift算法是在Meanshift算法的基础上,进行了一定的扩展,结合目标色彩信息形成的一种改进的均值漂移算法。由于目标图像的直方图记录的是颜色出现的概率,这种方法不受目标形状变化的影响,可以有效地解决目标变形和部分遮挡的问题,且运算效率较高,但该算法在开始前需要由人工指定跟踪目标。目标跟踪分类 依据运动目标的表达和相似性度量,运动目标跟踪算法可以分为四类:基于主动轮廓的跟踪、基于特征的跟踪、基于区域的跟踪和基于模型的跟踪。跟踪算法的精度和鲁棒性很大程度上取决于对运动目标的表达和相似性度量的定义,跟踪算法的实时性取决于匹配搜索策略和滤波预测算法。1、基于主动轮廓的跟踪 Kass等人提出的主动轮廓模型,即Snake模型,是在图像域内定义的可变形曲线,通过对其能量函数的最小化,动态轮廓逐步调整自身形状与目标轮廓相一致,该可变形曲线又称为Snake曲线。Snake技术可以处理任意形状物体的任意形变,首先将分割得到的物体边界作为跟踪的初始模板然后确定表征物体真实边界的目标函数,并通过降低目标函数值,使初始轮廓逐渐向物体的真实边界移动。基于主动轮廓跟踪的优点是不但考虑来自图像的灰度信息,而且考虑整体轮廓的几何信息,增强了跟踪的可靠性。由于跟踪过程实际上是解的寻优过程,带来的计算量比较大,而且由于 Snake模型的盲目性,对于快速运动的物体或者形变较大的情况,跟踪效果不够理想。2、基于特征的跟踪 基于特征匹配的跟踪方法不考虑运动目标的整体特征,只通过目标图像的一些显著特征来进行跟踪。假定运动目标可以由惟一的特征集合表达,搜索到该相应的特征集合就认为跟踪上了运动目标。除了用单一的特征来实现跟踪外,还可以采用多个特征信息融合在一起作为跟踪特征。基于特征的跟踪主要包括特征提取和特征匹配两个方面。(1)特征提取 特征提取是指从景物的原始图像中提取图像的描绘特征,理想的图像特征应具备的特点是: a)特征应具有直观意义,符合人们的视觉特性; b)特征应具备较好的分类能力,能够区分不同的图像内容; c)特征计算应该相对简单,以便于快速识别; d)特征应具备图像平移、旋转、尺度变化等不变性。目标跟踪中常用的运动目标的特征主要包括颜色、纹理、边缘、块特征、光流特征、周长、面积、质心、角点等。提取对尺度伸缩、形变和亮度变化不敏感的有效特征至今仍是图像处理研究领域中一个比较活跃的方面。(2)特征匹配 特征提取的目的是进行帧间目标特征的匹配,并以最优匹配来跟踪目标。常见的基于特征匹配的跟踪算法有基于二值化目标图像匹配的跟踪、基于边缘特征匹配或角点特征匹配的跟踪、基于目标灰度特征匹配的跟踪、基于目标颜色特征匹配的跟踪等。基于特征的跟踪算法的优点在于对运动目标的尺度、形变和亮度等变化不敏感,即使目标的某一部分被遮挡,只要还有一部分特征可以被看到,就可以完成跟踪任务;另外,这种方法与 Kalman滤波器联合使用,也具有很好的跟踪效果。但是其对于图像模糊、噪声等比较敏感,图像特征的提取效果也依赖于各种提取算子及其参数的设置,此外,连续帧间的特征对应关系也较难确定,尤其是当每一帧图像的特征数目不一致、存在漏检、特征增加或减少等情况。3、基于区域的跟踪 基于区域的跟踪算法基本思想是: a)得到包含目标的模板,该模板可通过图像分割获得或预先人为确定,模板通常为略大于目标的矩形,也可为不规则形状; b)在序列图像中,运用相关算法跟踪目标。这种算法的优点在于当目标未被遮挡时,跟踪精度非常高、跟踪非常稳定。但其缺点首先是费时,当搜索区域较大时情况尤其严重;其次,算法要求目标变形不大,且不能有太大遮挡,否则相关精度下降会造成目标的丢失。近年来,对基于区域的跟踪方法关注较多的是如何处理模板变化时的情况,这种变化是由运动目标姿态变化引起的,如果能正确预测目标的姿态变化,则可实现稳定跟踪。4、基于模型的跟踪 基于模型的跟踪是通过一定的先验知识对所跟踪目标建立模型,然后通过匹配跟踪目标进行模型的实时更新。对于刚体目标来说,其运动状态变换主要是平移、旋转等,可以利用该方法实现目标跟踪。但是实际应用中跟踪的不仅仅是刚体,还有一大部分是非刚体,目标确切的几何模型不容易得到。这种方法不易受观测视角的影响,具有较强的鲁棒性,模型匹配跟踪精度高,适合于机动目标的各种运动变化,抗干扰能力强,但由于计算分析复杂、运算速度慢,模型的更新较为复杂,实时性较差。准确建立运动模型是模型匹配能否成功的关键 1.区域与区域匹配 这种算法的优点在于当目标未被遮挡时,跟踪精度非常高,跟踪非常稳定。但其缺点首先是费时,当搜索区域较大时情况尤其严重;其次,算法要求目标变形不大,且不能有太大遮挡,否则相关精度下降会造成目标的丢失。 2.特征点(关键点)跟踪KLT:Shi和Tomasi 在1994年提出的KLT 跟踪算法是一种被广泛应用的基于特征点跟踪算法。由于特征点分布在整个目标上,因此即使有一部分被遮挡,仍然可以跟踪到另外一部分特征点,这也是基于特征点跟踪算法的优点。基于特征点的跟踪算法中,比较困难的问题是当目标发生旋转或者被遮挡时,如何准确地完成特征点的提取、保存、删除等工作 3.基于主动轮廓的跟踪算法主动轮廓模型也称为Snake 模型,这种方法能较精确地跟踪上目标的轮廓。Snake 模型非常适合可变形目标的跟踪,如对运动细胞的跟踪。这种模型与卡尔曼滤波相结合能够更好地进行跟踪。Snake模型比较适合单目标的跟踪,对于多目标跟踪更多地是采用基于水平集(Level Set)方法的主动轮廓模型 4.光流Lucas-Kanade稀疏光流calcOpticalFlowPyrLK(利用金字塔)Horn-Schunck稠密光流calcOpticalFlowHS 稠密光流需要很大的计算量,OpenCV中对此方法做了简化,即对前后连续帧的一个像素的邻域进行匹配,这种方法叫块匹配。稀疏光流需要在跟踪之前指定一组点,如果这些点具有某些明显特征,那么跟踪就会相对稳定和可靠。可见,其运算量比稠密光流要小很多。 首先利用goodFeaturesToTrack函数得到图像中的强边界作为跟踪的特征点,接下来要调用calcOpticalFlowPyrLK函数,输入两幅连续的图像,并在第一幅图像里选择一组特征点,输出为这组点在下一幅图像中的位置。再把得到的跟踪结果过滤一下,去掉不好的特征点。再把特征点的跟踪路径标示出来。 (实际效果一般) 5.mean-shift和 camshift Mean-shift优缺点meanShift算法用于视频目标跟踪时,采用目标的颜色直方图作为搜索特征,通过不断迭代meanShift向量使得算法收敛于目标的真实位置,从而达到跟踪的目的。传统的meanShift算法在跟踪中有几个优势:(1)算法计算量不大,在目标区域已知的情况下完全可以做到实时跟踪;(2)采用核函数直方图模型,对边缘遮挡、目标旋转、变形和背景运动不敏感。同时,meanShift算法也存在着以下一些缺点:(1)缺乏必要的模板更新;(2)跟踪过程中由于窗口宽度大小保持不变,当目标尺度有所变化时,跟踪就会失败;(3)当目标速度较快时,跟踪效果不好;(4)直方图特征在目标颜色特征描述方面略显匮乏,缺少空间信息;由于其计算速度快,对目标变形和遮挡有一定的鲁棒性,所以,在目标跟踪领域,meanShift算法目前依然受到大家的重视。但考虑到其缺点,在工程实际中也可以对其作出一些改进和调整;例如:(1)引入一定的目标位置变化的预测机制,从而更进一步减少meanShift跟踪的搜索时间,降低计算量;(2)可以采用一定的方式来增加用于目标匹配的“特征”;(3)将传统meanShift算法中的核函数固定带宽改为动态变化的带宽;(4)采用一定的方式对整体模板进行学习和更新; CamShift算法CamShift算法的全称是ContinuouslyAdaptive Mean-SHIFT,即:连续自适应的MeanShift算法。其基本思想是对视频序列的所有图像帧都作MeanShift运算,并将上一帧的结果(即搜索窗口的中心位置和窗口大小)作为下一帧MeanShift算法的搜索窗口的初始值,如此迭代下去。简单点说,meanShift是针对单张图片寻找最优迭代结果,而camShift则是针对视频序列来处理,并对该序列中的每一帧图片都调用meanShift来寻找最优迭代结果。正是由于camShift针对一个视频序列进行处理,从而保证其可以不断调整窗口的大小,如此一来,当目标的大小发生变化的时候,该算法就可以自适应地调整目标区域继续跟踪。 在OpenCV自带的camShift的例子当中,是通过计算目标在HSV空间下的H分量直方图,通过直方图反向投影得到目标像素的概率分布,然后通过调用OpenCV的CAMSHIFT算法,自动跟踪并调整目标窗口的中心位置与大小。该算法对于简单背景下的单目标跟踪效果较好,但如果被跟踪目标与背景颜色或周围其它目标颜色比较接近,则跟踪效果较差。另外,由于采用颜色特征,所以它对被跟踪目标的形状变化有一定的抵抗能力。 OpenCV自带例子中的camShift算法,可以分为三个部分: A、计算色彩投影图(反向投影): (1)为了减少光照变化对目标跟踪的影响,首先将图像从RGB颜色空间转换到HSV颜色空间; (2)对H分量进行直方图统计,直方图代表了不同H分量取值出现的概率,或者说可以据此查找出H分量的大小为x时的概率或像素个数,即,得到颜色概率查找表; (3)将图像中每个像素的值用其颜色出现的概率进行替换,由此得到颜色概率分布图; 以上三个步骤称之为反向投影,需要提醒的是,颜色概率分布图是一个灰度图像; B、meanShift寻优 前面提到过meanShift算法(/carson2005/article/details/7337432)是一种非参数概率密度估计方法,它通过不断迭代计算得到最优搜索窗口的位置和大小。 C、camShift跟踪算法 前面提到,camShift其实就是在视频序列的每一帧当中都运用meanShift,并将上一帧的meanShift结果作为下一帧的初始值,如此不断循环迭代,就可以实现目标的跟踪了。 6.kalman滤波(预估器)最近对运动目标检测与跟踪这一块的知识进行了一个整体性的回顾,又看了几篇综述性的论文,所以这篇博客算是做一个简单的记录,对几个重要的概念进行了描述与分析。并没有去研究现在这一领域那些最近的研究成果。因为在我看来,算法的主体想法都是一致的,每种方法都有它适应的场景。抓住轴心就够了!前景检测这一块,我比较推荐参数方法,高斯混合模型与码本方法都是经过验证,在实际工程中表现极好的,但是你必须根据你需要的场景对算法做一些改进。这篇文章只是初稿,后面会进行完善,加入一些论文链接,希望对运动检测这一块进行一个完整的综述。1. 运动检测的简介用于安防的监控视频大多数具有单镜头固定场景的特点。2 运动目标检测的基本方法2.1 帧间差分法通常相邻两帧图像在时间上的间隔很短(一般用于视频监控的摄像机每秒可以拍摄8/12/24帧),所以当背景变化不是非常剧烈和迅速的时候可以利用前后两幅图像的差值来判断画画中运动的目标,通过设定阈值的调整可以改变方法检测的灵敏度。优点:运算量小,实现简单,噪点较少,对光照不敏感。缺点:不能检测速度过慢的物体,物体内部会造成空洞,物体本身也不完整。速度过快的物体,会形成两个前景区域。2.2 光流法对画面中图像首先进行逐像素矢量赋值,当画面中出现运动目标时,运动目标在画面总所占据的像素点和背景像素点之间的矢量必然会有差异,如果没有运动目标出现则画面中的像素点的矢量变化应当为平滑的。正是由于有这样的差异,才能利用差异检测出运动目标在画面中的像素点。优点:适合于背景不断变换的场景(移动摄像头),不需要预先的视频进行训练。缺点:抗噪能力差,计算量大,光照影响比较大。2.3 背景差法帧间差分法的流程图可以看出两幅流程图的基本框架大致相同,不同的地方在于背景差分法中有一个背景模型,这个背景模型是用来和所有的检测帧进行差分运算的,而不同于帧间差分法的用上一帧图像和下一帧图像进行差分运算。3 CodeBook背景模型3.1 CodeBook的原理设X=x1,x2,xNX=x1,x2,xN为视频序列中某位置像素点在不同时刻的连续的色彩值。其中xtxt为tt时刻采样到的RGB向量值,NN代表用于生成背景模型的帧数。设Cbook=c1,c2,cLCbook=c1,c2,cL为该像素点汇总的各个聚类形成的码书,其中ci(i=1,L)ci(i=1,L)表示码书中的一个码字(codeword),其中每个码字由vt=(Rt,Gt,Bt)vt=(Rt,Gt,Bt)和ut=ut=组成。其中1tN1tN,vtvt表示码字在RGB色彩空间中三个轴的向量值,utut表示vtvt的统计信息,其中Imint,ImaxtItmin,Itmax表示该码字的最小的和最大的亮度值,ff表示该码字出现的频率,表示码字出现的最大时间间隙,pp表示码字第一次出现的时间,qq表示码字最后一次出现的时间。码书的构建中,用于判定一个像素点是否属于码书中的某个码字的条件是:1) 比较色彩的空间距离colordist(xt,vi)colordist(xt,vi),其中xt=(Rt,Gt,Bt)xt=(Rt,Gt,Bt)是当前图像中某一像素的输入色彩值,vivi为该像素点码书中的一个码字的聚类,colordist的定义如下:colordist(xt,vi)=|xt|2p2colordist(xt,vi)=|xt|2p2其中pp为xtxt余弦夹角下的投影值。如果上面计算到的距离小于某一阈值T1T1,则进行下一步判定。2)像素点的亮度必须在一定的范围(Ilow,IhiIlow,Ihi)内。如果像素与码书中的某个码字,则要对该码字进行更新,颜色值按加权平均重新计算。如果当前的像素点不满足上面的两种情况,则重新建一个新的码字。按上面的方法对每个像素点建立码本,这样的情况下,前景像素也会生成为码本中的码字(一个聚类单元)。对于那些出现的最大间隔小于N/2N/2的码字删除。3.2 码书算法的两个改进1)不要只单一的考虑单个像素点,同时考虑其周围邻域的变化2)RGB空间用夹角余弦计算距离并不合适。可以考虑用YUV空间。3.3 颜色空间亮度(V):人的视觉最敏感的亮度变化,光的能量大小。色调(H):也就是我们常说的颜色,用于颜色的命名。饱和度(S):反映色调的鲜艳程度。3.4 行列分块的YUV码书模型有时候摄像机会存在抖动,且背景上有些像素也会随着环境做不稳定的变动。对图像进行网格划分,每5*5的网格共用一个码本,这样可以消除局部的抖动。还有一种方法,是将行码书(1*5)与列码书(5*1)分开考虑,一个像素点的行码书或列码书判定为前景时,该点则为前景点。列码书的判定可以对行码书的阈值进行调整。4. 运动目标跟踪方法4.1 运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论