首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于FAST角点和金字塔KLT的目标跟踪方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:河海大学

摘要:本发明公开了一种基于FAST角点和金字塔KLT的目标跟踪方法。所述方法结合FAST算法与金字塔KLT算法,首先通过FAST算法从第一帧视频图像中得到需要跟踪的角点,用金字塔KLT方法对需要跟踪的角点进行跟踪,然后通过层层筛选找到最优的角点,最后使用光流信息更新目标位置,解决了视频中的目标跟踪问题,使目标跟踪更加精确。本发明能够高效的选择合适的特征信息进行跟踪并且准确性高,鲁棒性强,同时本发明提供的方法更加简单,运行时间更短。

主权项:一种基于FAST角点和金字塔KLT的目标跟踪方法,其特征在于,包括以下步骤:步骤10:获取视频图像序列,从第一帧视频图像中获取所有像素点,通过FAST算法得到需要跟踪的角点,用金字塔KLT方法对需要跟踪的角点进行跟踪,并将需要跟踪的角点存储至lastSET集合中,再从lastSET集合中预生成当前帧可跟踪的角点集合newSET;步骤20:判断当前帧视频图像可跟踪的角点集合newSET中的角点数目是否大于0,如果角点数目大于0,进入步骤30,否则,进入步骤50;步骤30:利用金字塔KLT方法,预测当前帧视频图像可跟踪的角点集合newSET中的角点在当前帧视频图像中的位置,生成curSET集合;步骤40:剔除curSET集合中不合规则的角点,所述不合规则的角点是视频中不再检测到的前景团块中的角点或每帧变化超过50个像素间距的角点;步骤50:判断是否进行角点检测;如果有新的合并事件发生或旧的合并事件中角点数目少于3个时,需要进行角点检测,进入步骤60,如果没有这两种情况,直接进入步骤80;步骤60:对当前帧进行FAST角点检测,得到新生成的角点;步骤70:将步骤60得到的新生成的角点更新到curSET集合中;步骤80:将curSET集合中的角点更新到lastSET集合中;步骤90使用lastSET中角点的光流信息,更新视频中目标位置。

全文数据:一种基于FAST角点和金字塔KLT的目标跟踪方法技术领域[0001]本发明属于视频分析领域,特别涉及一种基于FASTFeaturesfromAcceleratedSegmentTest来自加速分段测试的特征)角点和金字塔KLTKanade-Lucas-Tomasi用三个人名命名的方法的目标跟踪方法。背景技术[0002]在视频监控飞速发展的今天,视频监控画面的海量信息已经超过了人力有效处理的范围已经成为客观事实。而智能视频分析技术是一种滤除大量冗余的有效手段,是目前中国安防行业最为关注的图像处理技术。简而言之,该技术就是发现视频中运动的物体,并对其进行跟踪、分析,及时发现异常行为,触发报警并采取其他措施进行干预。[0003]目前,基于运动分析的跟踪方法中帧差法最简单,速度快,易于硬件实现。然而,对于动态背景,准确性不高,鲁棒性也比较差。传统的光流分割法具有较强的抗干扰性,但不能有效区分目标运动造成的背景遮拦、显现以及孔径等问题,计算量大,需要特殊的硬件支持。如果光照强度或光源方位发生了变化,准确性较差。[0004]图像序列的区域匹配能够获得较高的定位精度,但是计算量大,难以达到实时性要求。模型匹配跟踪精度高,适用于机动目标的各种运动变化,抗干扰能力强。但由于计算分析复杂,运算速度慢,模型的更新较为复杂,实时性较差。准确建立运动模型,是模型匹配能否成功的关键。[0005]序列图像中包含大量可用于目标跟踪的特征信息,如目标的运动、颜色、边缘以及纹理等。但目标的特征信息一般是时变的,选取合适的特征信息保证跟踪的有效性比较困难。发明内容[0006]发明目的:针对现有技术存在的问题,本发明提供了一种能够高效的选择合适的特征信息进行跟踪并且准确性高,鲁棒性强的用于视频中目标跟踪方法。[0007]为了解决上述技术问题,本发明采用的技术方案是:[0008]-种基于FAST角点和金字塔KLT的目标跟踪方法,包括以下步骤:[0009]步骤10:从第一帧视频图像中获取所有像素点,通过FAST算法得到需要跟踪的角点,用金字塔KLT方法对需要跟踪的角点进行跟踪并将需要跟踪的角点存储至lastSET集合中,再从lastSET集合中预生成当前帧可跟踪的角点集合newSET;[0010]步骤20:判断当前帧视频图像可跟踪的角点集合newSET中的角点数目是否大于0,如果角点数目大于〇,进入步骤30,否则,进入步骤50;[0011]步骤30:利用金字塔KLT方法,预测当前帧可跟踪的角点集合newSET中的角点在当前帧视频图像中的位置,生成curSET集合;[0012]步骤40:剔除curSET集合中不合规则的角点,即视频中不再检测到的前景团块中的角点或每帧变化超过50个像素间距的角点;[0013]步骤50:判断是否进行角点检测;[0014]如果有新的合并事件发生或旧的合并事件中角点数目少于3个时,需要进行角点检测,进入步骤60,如果没有这两种情况,直接进入步骤80;[0015]步骤60:对当前帧进行FAST角点检测,得到新生成的角点;[0016]步骤70:将步骤60得到的新生成的角点更新到curSET集合中;[0017]步骤80:将curSET集合中的角点更新到lastSET集合中;[0018]步骤90使用lastSET中角点的光流信息,更新视频中目标位置。[0019]步骤60中,所述对当前帧进行FAST角点检测,包括以下步骤:[0020]步骤601:从当前帧图像中选取一个像素点P,将其亮度值设为IP;[0021]步骤602:设定一个排除伪角点的极小阈值γ,γ取值为10、11或12;[0022]步骤603:以步骤601中选取的像素点Ρ为圆心,半径等于3像素的圆,所述圆的离散化的Bresenham圆的边界上有16个像素,对每个像素依次顺序编号;[0023]步骤604:检测像素编号1和编号9的像素值,如果编号1的像素值和编号9的像素值均大于Ιρ+γ或均小于Ιρ-γ;再检测像素编号15和编号7的像素值;如果所述像素编号1、7、9和15中不少于3个像素的像素值都大于Ιρ+γ或者小于Ιρ-γ,则像素Ρ为角点;如果四个像素点中少于3个像素的像素值都大于Ιρ+γ或者小于Ιρ-γ,则像素Ρ不是角点;[0024]步骤605:对于图像中所有的像素点按照步骤601到步骤604进行检测后,对符合条件的像素点检测其对应Bresenham圆上的16个像素点,如果圆上不少于9个连续的像素点,它们的像素值都大于Ιρ+γ或者小于Ιρ-γ,此像素点确定为角点;如果圆上少于9个连续的像素点,它们的像素值都大于Ιρ+γ或者小于Ιρ-γ,则此像素点不是角点。[0025]进一步,所述步骤60中还包括采用决策树算法对检测到的角点进行选择。[0026]进一步,所述步骤603中还包括删除Bresenham圆的圆周上相邻的像素点的方法:为每一个检测到的像素点计算它的响应V;其中V表示为点ρ和它周围16个像素点的绝对偏差的和;比较两个相邻的特征点的响应V并删除响应V小的特征点。[0027]有益效果:本发明公开了一种基于FAST角点和金字塔KLT的目标跟踪方法。所述方法结合FAST算法与金字塔KLT算法,首先通过FAST算法从第一帧视频图像中得到需要跟踪的角点,用金字塔KLT方法对需要跟踪的角点进行跟踪,然后通过层层筛选找到最优的角点,最后使用光流信息更新目标位置,解决了视频中的目标跟踪问题,使目标跟踪更加精确。本发明能够高效的选择合适的特征信息进行跟踪并且准确性高,鲁棒性强,同时本发明提供的方法更加简单,运行时间更短。附图说明[0028]图1是本发明的工作流程图。具体实施方式[0029]下面结合附图,对本发明进行详细说明。[0030]如图1所示,本发明的一种基于FAST角点和金字塔KLT的目标跟踪方法,其步骤如下:[0031]步骤10:从第一帧视频图像中获取所有像素点,通过FAST算法得到需要跟踪的角点,用金字塔KLT方法对需要跟踪的角点进行跟踪并将需要跟踪的角点存储至lastSET集合中,再从lastSET集合中预生成当前帧可跟踪的角点集合newSET;[0032]lastSET集合存储的是当前帧以前的经金字塔KLT跟踪预测过的历史角点,将一些目标框重叠区域的角点删除得到当前帧可金字塔KLT跟踪的角点集合newSET。其中,一个前景就对应一个目标框,目标框重叠区域的角点分类难度较大,容易出错。所以将其删除就可以有效降低出错率。[0033]采用金字塔KLT算法对于图像中的目标进行跟踪时,并不是对目标框和跟踪框内所有点都求取偏移量,而是选择一些纹理特征不变的角点来作为跟踪点。[0034]步骤20:判断当前帧可跟踪的角点集合newSET中的角点数目是否大于0,如果大于0,则进入步骤30;否则进入步骤50;[0035]步骤30:利用金字塔KLT跟踪算法,预测当前帧可跟踪的角点集合newSET中的角点在当前帧中的位置,生成当前帧角点集合curSET;[0036]其中,生成当前帧角点集合curSET的方法包括以下步骤:[0037]步骤301:当前帧t+τ时刻的特征窗口为B⑴=Bx,y,t+T,其中X=x,y为视口坐标。前一帧t时刻的特征窗口为AX-d=Ax-Ax,y-Ay,t;贝ljBX=Ax_d+n⑴,其中,ηX为在时间τ内由于光照条件变化产生的噪声,d表示特征窗口在时间τ内的偏移量,ΔX和Δy分别表不τ时刻内特征窗口在x、y方向上的偏移量。[0038]步骤302:将ηX平方并在整个特征窗口上积分,就可以得到特征窗口图像的SSD灰度差平方和,SumofSquaredintensityDifferences,下文简称SSD:[0039]ε=vn⑵2ω⑵dX=JJv[AX-d-B⑵]2ω⑵dX[0040]1[0041]其中,坐标矩阵X=[x,y]T,偏移量矩阵d=[dx,dy]T;e为留数;V为计算特征匹配窗口;ω⑵为加权函数,通常可以取为1,如果强调中心部分纹理的作用,ω⑵可以采用高斯分布函数。[0042]步骤303:当偏移量时,忽略偏移量d为,将AX-d泰勒展开,去除高次项,得到:[0043]AX-d=A⑵-g·d[0044]2[0045]其中g为A⑵梯度向量,A⑵为AX-d映射到与参考图像同一个平面的特征窗口,将式⑵代入式1,并对式⑴的两边同时对d求导之后取0,可以得到:[0047]此时ε取得极小值。式⑶可变换为:[0048]d·JJvggTω⑵dX=JJv[Α⑵-Β⑵]gω⑵dX[0049]⑷[0050]若令[0052]e=JJv[A⑵-B⑵]gω⑵dX[0053]6[0054]其中gx、gy分别为窗口函数A⑴在x、y方向上的一阶偏导,入=,Gxy=JJvgxgyωXdX,:C?i;f=βf贝lj式6可以表示为:[0055]Zd=e[0056]7[0057]Z为一个2X2的矩阵,e表示计算的残差。[0058]步骤304:对于每两帧图像解方程⑵就可以得到特征窗口的位移d=Δχ,Ay。[0059]将⑶式展开,得到:[0061]其中,Ex=A⑵-B⑵)xgxco"XcKX,Ey=A⑵-B⑵)ygyc〇y⑵cKX,将⑶代入式⑵得到:[0063]解方程9得到:[0066]也就是位移量,通过位移量就可以得出当前帧可跟踪的角点集合newSET中的角点在当前帧中的位置。[0067]在金字塔KLT跟踪算法中,并不是所有包含纹理信息的特征窗口都是适合跟踪的,对于某特征窗口,当矩阵Z的特征值心和\2满足条件时,此特征窗口具有较好的跟踪效果,阈值λ_χ根据拍摄条件,通过实验来获得。[0068]步骤40:剔除curSET中不合规则的角点;譬如不在检测到的前景团块或运动偏移量过大的角点都会被剔除。[0069]步骤50:判断是否进行角点检测,如果有新的合并事件发生或旧的合并事件中的角点数目过少单个目标对应的角点少于3个时,需要进行角点检测,进入步骤60,如果没有这两种情况,直接进入步骤80;[0070]步骤60:对当前帧进行FAST角点检测;[0071]FAST角点定义为:若某像素点与其周围领域内足够多的像素点处于不同的区域,则该像素点可能为角点。也就是某些属性与众不同,考虑灰度图像,即若该点的灰度值比其周围领域内足够多的像素点的灰度值大或者小,则该点可能为角点。其中FAST角点检测包括以下步骤:[0072]步骤601:从图像中选取一个像素P,将其亮度值设为IP。[0073]步骤602:设定一个可以很快排除伪角点的极小阈值γ,通常γ取10、11或12。[0074]步骤603:设在以步骤601中选取的像素点为圆心,半径等于3像素的离散化的Bresenham圆的边界上有16个像素并对每个像素值依次顺序编号。[0075]步骤604:检测编号1的像素和编号9的像素,如果编号1的像素值和编号9的像素值均大于ip+γ或均小于ip-γ;再检测编号15的像素和编号7的像素;如果四个像素点中不少于3个像素的像素值都大于Ιρ+γ或者小于Ιρ-γ,则像素Ρ为角点;如果四个像素点中少于3个像素的像素值都大于Ιρ+γ或者小于Ιρ-γ,则像素ρ不是角点。[0076]步骤605:对于图像中所有的像素点按照步骤601~604进行初步的检测后,对符合条件的像素点检测其对应Bresenham圆上的16个像素点,如果圆上不少于9个连续的像素点,它们的像素值都大于Ιρ+γ或者小于Ιρ-γ,此像素点确定为角点;如果圆上少于9个连续的像素点,它们的像素值都大于Ιρ+γ或者小于Ιρ-γ,则此像素点不是角点。[0077]本发明还可以通过一个角点分类器来选择最优的角点,主要方法是采用决策树算法对检测到的角点进行最优角点的选择。具体方法如下:[0078]1选取应用场景下多帧图像组成图片集合进行学习;[0079]⑵运用FAST角点检测算法来获取测试集上的所有角点特征;[0080]3对于每个特征点,存储它周围的16个像素点到一个向量中。为所有帧图像做同样的事,得到它们所有特征点的向量。[0081]⑷这16个像素中的每一个像素假设为X,可以有下面三种状态中的一种:[0083]5依靠这些状态,特征向量X被划分为3个子集,Pd、Ps、pb。[0084]6定义一个新的布尔变量ΚΡ。如果P是一个角点,那ΚΡ为真;否则ΚΡ为假。[0085]⑵使用ID3算法决策树分类器来查询每一个子集。[0086]⑶递归计算所有的子集直到它的熵为0。[0087]9被创建的决策树就被用于其他图片的FAST检测。[0088]步骤603中离散化的Bresenham圆的边界上的像素点会有挤在一起的情况,可以通过非极大值抑制的方法Non-MaximalSuppression来解决,具体方法为:为每一个检测到的像素点计算它的响应大小V;其中V表示为点ρ和它周围16个像素点的绝对偏差的和;比较两个相邻的特征点的响应大小V并删除响应大小V小的特征点。[0089]步骤70:将新生成的角点更新到curSET集合中;[0090]如果是新合并事件,检测到的角点直接加入到curSET集合中;如果是旧合并事件,除加入新角点外,还需剔除和新角点相同的旧角点。[0091]步骤80:将curSET集合中的角点更新到lastSET集合中;[0092]步骤90:使用lastSET集合中角点的光流信息更新目标位置。[0093]光流是图像灰度模式的表面运动,是图像上个点的2D瞬时运动,一点给出了图像的亮度模式,就可以利用时间变化的特征点匹配来度量视差。把图像中的角点作为特征点,首先在图像序列中检测和跟踪角点,然后记录角点在图像序列中的位置,这样就可以通过相邻图像帧之间角点的位移场来计算光流场。光流估计的方法基于以下假设:图像灰度分布的变化是由于目标或背景的运动引起的。也就是说,目标和背景的灰度是不随时间变化的。[0094]使用lastSET集合中角点的光流信息更新目标位置具体包括如下步骤::[0095]步骤901:对一个连续的视频帧序列进行处理;[0096]步骤902:针对每一个视频序列,利用FAST角点检测和金字塔KLT算法,检测可能出现的前景目标;[0097]步骤903:如果某一帧出现了前景目标,找到其具有代表性的角点特征;[0098]步骤904:对步骤903中某一帧之后的任意两个相邻视频帧而言,寻找上一帧中出现的关键特征点在当前帧中的最佳位置,从而得到前景目标在当前帧中的位置坐标;[0099]步骤905:不断重复步骤901~步骤904,实现目标的跟踪。[0100]角点的光流信息通过FAST角点检测和金字塔KLT算法后,提取了目标的角点,也通过选择一定的目标区域,排除了背景的角点。现在需要在下一帧图像中使用光流法进行目标角点匹配。对于要匹配的后续帧图像而言,采用光流法进行点匹配,找到每个角点在新的一帧图像中对应的位置。最后求得匹配点的区域密度,使用重心算法计算目标的脱靶量。[0101]光流匹配结果可能有部分少量点偏离目标位置,要确定的区域就不能以某一个角点为准,而是要将所有的结果综合衡量。尽管目标在运动过程中发生旋转或者由于拍摄的影响产生模糊,但是大部分的匹配点仍然在目标附近,仅仅有少数点在目标之外,鉴于此,使用重心公式计算所有匹配点的重心,以此来确定目标的脱靶量,保证了目标能够被准确的配准和跟踪。

权利要求:1.一种基于FAST角点和金字塔KLT的目标跟踪方法,其特征在于,包括以下步骤:步骤10:获取视频图像序列,从第一帧视频图像中获取所有像素点,通过FAST算法得到需要跟踪的角点,用金字塔KLT方法对需要跟踪的角点进行跟踪,并将需要跟踪的角点存储至lastSET集合中,再从lastSET集合中预生成当前帧可跟踪的角点集合newSET;步骤20:判断当前帧视频图像可跟踪的角点集合newSET中的角点数目是否大于0,如果角点数目大于〇,进入步骤30,否则,进入步骤50;步骤30:利用金字塔KLT方法,预测当前帧视频图像可跟踪的角点集合newSET中的角点在当前帧视频图像中的位置,生成curSET集合;步骤40:剔除curSET集合中不合规则的角点,所述不合规则的角点是视频中不再检测到的前景团块中的角点或每帧变化超过50个像素间距的角点;步骤50:判断是否进行角点检测;如果有新的合并事件发生或旧的合并事件中角点数目少于3个时,需要进行角点检测,进入步骤60,如果没有这两种情况,直接进入步骤80;步骤60:对当前帧进行FAST角点检测,得到新生成的角点;步骤70:将步骤60得到的新生成的角点更新到curSET集合中;步骤80:将curSET集合中的角点更新到lastSET集合中;步骤90使用lastSET中角点的光流信息,更新视频中目标位置。2.根据权利要求1所述的一种基于FAST角点和金字塔KLT的目标跟踪方法,其特征在于,步骤60中,所述对当前帧进行FAST角点检测,包括以下步骤:步骤601:从当前帧图像中选取一个像素点P,将其亮度值设为IP;步骤602:设定一个排除伪角点的极小阈值γ,γ取值为10、11或12;步骤603:以步骤601中选取的像素点Ρ为圆心,半径等于3像素的圆,所述圆的离散化的Bresenham圆的边界上有16个像素,对每个像素依次顺序编号;步骤604:检测像素编号1和编号9的像素值,如果编号1的像素值和编号9的像素值均大于Ιρ+γ或均小于Ιρ-γ;再检测像素编号15和编号7的像素值;如果所述像素编号1、7、9和15中不少于3个像素的像素值都大于Ιρ+γ或者小于Ιρ-γ,则像素Ρ为角点;如果四个像素点中少于3个像素的像素值都大于Ιρ+γ或者小于Ιρ-γ,则像素Ρ不是角点;步骤605:对于图像中所有的像素点按照步骤601到步骤604进行检测后,对符合条件的像素点检测其对应Bresenham圆上的16个像素点,如果圆上不少于9个连续的像素点,它们的像素值都大于Ιρ+γ或者小于Ιρ-γ,此像素点确定为角点;如果圆上少于9个连续的像素点,它们的像素值都大于Ιρ+γ或者小于Ιρ-γ,则此像素点不是角点。3.根据权利要求1所述的一种基于FAST角点和金字塔KLT的目标跟踪方法,其特征在于,所述步骤60中还包括采用决策树算法对检测到的角点进行选择。4.根据权利要求2所述的一种基于FAST角点和金字塔KLT的目标跟踪方法,其特征在于,所述步骤603中还包括删除Bresenham圆的圆周上相邻的像素点的方法:为每一个检测到的像素点计算它的响应V;其中V表示为点ρ和它周围16个像素点的绝对偏差的和;比较两个相邻的特征点的响应V并删除响应V小的特征点。

百度查询: 河海大学 一种基于FAST角点和金字塔KLT的目标跟踪方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。