专利名称:一种基于粒子滤波和光流矢量的视频目标跟踪方法
技术领域:
本发明涉及一种视频目标跟踪方法,尤其是涉及一种基于粒子滤波和光流矢量的 视频目标跟踪方法,特别适用于高质量、高效率视频以及图像的特效处理及合成软件中。
背景技术:
在图像/视频后期处理软件中,对运动图像的像素特征区域进行跟踪,跟踪数据 可以用来控制其它物体的运动和稳定运动物体,这有广泛的需求。粒子滤波算法具有很好的实用性,用于粒子滤波跟踪算法的粒子滤波器的 基本思想来源于Perfect Monte Carlo (PMC)仿真,在PMC中,任意函数的数学期望
E(g(x0:K)) = f g(x。:k)P(x。:k|z1:k)dx。:k,可以近似为五(g(x。:i)) = ^>(4),其中离散样本
^ i=0
{4^/ = 1,...#1是从后验分布函数?&|2)中产生的N个点的独立分布同分布序列。当N足 够大的时候,绝对收敛于E(g(X(l:k))。其核心思想是利用一系列随机样本的加
权和表示所需的后验概率密度,得到状态的估计值。粒子滤波跟踪算法可以参阅=Katja Nummiaro, Esther Koller-Meier, Luc Van Goo1. An adaptive color-based particle filter. Image and Vision Computing,2003,21 :99_110o但是,现有的粒子滤波跟踪方法以概率分布为基础,容易造成跟踪不稳定的现象; 同时,假如跟踪目标运动很快,而粒子的概率分布无法到达跟踪目标的大致区域,从而导致 无法进行跟踪。光流矢量能够准确的估计出物体的运动,其基本思想是比较两幅图像的亮度差 异,是X、y方向的亮度差偏导为0,从而得到匹配的运动信息。光流矢量算法课参阅B_D_ Lucas and Τ—Kanade,An iterative image registrationtechnique with an application tostereo,vision_IJCAI_1981。目前,还未有一种采用粒子滤波并结合光流矢量来对视频目标进行跟踪的方法。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种高效、准确的基于粒子滤 波和光流矢量的视频目标跟踪方法。为实现上述目的,本发明采用的技术方案为,一种基于粒子滤波和光流矢量的视 频目标跟踪方法,包括以下步骤(1)对t时刻图像创建L级高斯金字塔,计算每级高斯金字塔图像X和y方向的灰 度梯度,所述t和L为正整数;(2)对t-Ι时刻图像的M个特征点根据步骤⑴中计算出的灰度梯度求解其在t 时刻图像中的位置偏移;(3)对t-Ι时刻图像的N个粒子重新进行采样,并对新采样的N个粒子利用随机数或光流矢量进行重新分布;(4)计算N个粒子的RGB直方图,并根据RGB直方图计算每个粒子的权重,然后将 N个粒子位置根据权重进行加权平均,得到跟踪目标t时刻图像的估计位置;(5)对估计位置进行稳定性比较计算,得到跟踪目标的最终位置;(6)在t+Ι时亥IJ,重复上述步骤。如上所述的视频目标跟踪方法,步骤(1)中,创建L级高斯金字塔的过程包括以下 步骤①将t时刻图像转化为灰度图;②对灰度图进行高斯模糊;③对高斯模糊后的灰度图创建L级高斯金字塔。所述L < 4。如上所述的视频目标跟踪方法,步骤(2)中,如果某个特征点丢失,则采用网格将 跟踪目标搜索区域划分成与丢失特征点区域大小相同的K个图像区域,利用图像灰度差的 平方和匹配丢失特征点区域,估计丢失特征点的近似位置;然后利用估计的近似位置作为 初始位置重新求解该特征点在下一帧图像中的位置偏移;所述跟踪目标搜索区域是指在图 像的哪个范围中产生特征点的区域。如上所述的视频目标跟踪方法,步骤(3)中所述对t-Ι时刻图像的N个粒子进行 重新采样的方法包括以下步骤①根据t-Ι时刻图像的N个粒子权重计算每个粒子归一化的概率;②产生0至1之间的随机数r ;③在N个粒子中寻找归一化概率大于或等于r的粒子,如果存在就把该粒子取出 来作为新的粒子。如上所述的视频目标跟踪方法,步骤(3)中对新采样的N个粒子利用随机数或光 流矢量进行重新分布的方法为首先获得N个粒子的光流矢量;然后判断丢失光流矢量的 粒子数量,如果丢失光流矢量的粒子数量小于90%,则采用光流矢量对N个粒子进行重新 分布;否则,采用随机数对N个粒子进行重新分布。如上所述的视频目标跟踪方法,在得到跟踪目标的最终位置后,还包括更新RGB 直方图的步骤。如上所述的视频目标跟踪方法,步骤(5)中对估计位置进行稳定性比较计算的具 体过程为在计算出来的跟踪目标估计位置后,与输入的t-Ι时刻初始位置周围3X3像素矩 形范围,形成10个搜索位置,在其中找一个新位置,使它与上一帧t-Ι时刻目标区域灰度差 的平方和最小,用这个新位置作为输出结果。本发明所述方法,通过光流矢量对粒子进行重新分布,能够大大提高跟踪的准确 性。如果光流矢量丢失,则启动纯粹粒子跟踪,等找到光流矢量后重新使用光流矢量,这个 自适应方法能够解决光流矢量无法跟踪目标丢失情况的难题。由于本发明结合了光流矢量 对运动估计的准确性和粒子滤波的高效性的优点,因此具有很好的实时性和准确性。
图1是本发明所述方法流程图。
具体实施例方式下面结合具体实施方式
和附图,对本发明进行详细描述。本发明是基于粒子滤波和光流矢量的视频跟踪方法,在跟踪过程中,如果某一时 刻N个粒子丢失的光流数量小于90%,则采用光流矢量来对N个粒子进行重新分布。与采 用随机数的方式相比,更能够稳定跟踪目标。本发明有如下输入参数粒子个数(N个,N为 正整数)、特征点个数(M个,M为正整数)、跟踪目标选择矩形区域、跟踪目标搜索矩形区域。 其中,粒子个数用来确定采用多少个随机分布的粒子来计算RGB直方图。特征点个数用来 确定需要在跟踪目标上产生多少个特征点,来计算光流矢量信息。跟踪目标选择矩形区域 用来确定在图像的哪个范围中产生特征点。跟踪目标搜索矩形区域用来在哪个范围中预搜 索丢失的特征点。图1出示了本发明所述方法的主要流程图,包括以下步骤(1)对t时刻图像创建L级高斯金字塔,计算每级高斯金字塔图像χ和y方向的灰 度梯度,所述t和L为正整数。首先将t时刻图像转化为灰度图,然后将转化后的灰度图进行Gaussian (高斯) 模糊,再对高斯模糊后的灰度图创建L级Gaussian金字塔,求解每级Gaussian金字塔图像 χ和y方向的灰度梯度。所述L为正整数,一般不超过4。本实施例中采用的Gaussian函数为/其导函数为-從2^以σ = 0. 7的Gaussian函数作为二维卷积核函数,对t时刻图像的灰度图进行 二维卷积,得到初始模糊图像。以ο = 1. 0的Gaussian函数和Gaussian导函数作为二维卷积核函数,将初始模 糊图像用Gaussian导函数做横向一维卷积,然后将结果用Gaussian函数做列向一维卷积, 可以得到初始模糊图像χ方向的灰度梯度gx。将初始模糊图像用Gaussian函数做横向一 维卷积,然后将结果用Gaussian导函数做列向一维卷积,可以得到初始模糊图像y方向的 灰度梯度gy。Gaussian金字塔将Gaussian模糊后的原始大小灰度图依次缩小L级,每级大 小是上一级金字塔的1/16。金字塔数学模型算法可参阅Jean-Yves Bouguet Intel Corporation Microprocessor Research Labs,Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm。以σ = 3. 6的Gaussian函数作为二维卷积核函数,对Gaussian金字塔第η级模 糊图像进行二维卷积,得到金字塔第η级模糊图像。其中,η为正整数,1 < η < 4。以ο = 1. 0的Gaussian函数和Gaussian导函数作为二维卷积核函数,将金字塔 第η级模糊图像用Gaussian导函数做横向一维卷积,然后将结果用Gaussian函数做列向 一维卷积,可以得到金字塔第η级图像的χ方向的灰度梯度gx,将金字塔第η级模糊图像用 Gaussian函数做横向一维卷积,然后将结果用Gaussian导函数做列向一维卷积,可以得到 金字塔第η级图像的1方向的灰度梯度gy。上述σ值均是经验值,也可以取其它值的高斯函数及导函数作为二维卷积核函 数。
6
(2)对t-Ι时刻的M个特征点根据下面的公式求解其在t时刻图像中的位置偏移。这个过程由于原始公式是一个积分近似估计公式,所以采用Newton(牛顿)迭代 法进行逼近求得最优解。原始公式为Tz = a,其中 其中,gx表示每级金字塔图像在χ方向的灰度梯度,gy表示每级金字塔图像在y方 向的灰度梯度,/ / w表示在7X7的矩形区域离散数据的和。仿射变换的六个运动参数zT = [dxx,d¥X, d ,d¥¥, dx,d¥]仿射变换矩阵 χ表示L级金字塔图像中像素χ位置,y代表L级金字塔图像中像素y位置,gx表 示L级金字塔图像中像素χ方向灰度梯度,gy代表L级金字塔图像中像素y方向灰度梯度。L级金字塔图像经过上述公式逐次计算后得到M个特征点t时刻图像中的位置偏 移参数:dx, dy。在迭代过程中,如果迭代步骤超过了最大迭代步骤或者特征点新位置已经超过了 边界或者特征点新位置与目标区域的亮度差超过了一定的门限(经验值),便认为特征点 丢失。对于这种情况,本实施例采用网格将跟踪目标搜索区域划分成与特征点区域大小相 同的K个图像区域,利用特征点每一个新的矩形区域与目标矩形区域中的每个像素逐点计 算亮度差再求和,取具有最小亮度差的平方和(SSD)的新位置作为新的估计位置再进行求 解。然后用这个近似估计位置作为初始位置重新求解特征点在下一帧图像中的位置偏移。(3)对t-Ι时刻N个粒子进行重新采样。①根据t-Ι时刻粒子权重计算N个粒子归一化的概率C1 = C;1;1 + Wl^C1t:,=②产生0-1之间的随机数r ;
③在N个粒子中寻找归一化的概率满足C= > r的粒子,如果存在就把该粒子取出 来作为新的粒子。经过重采样后,只留下一个或几个权重较大的粒子,其他粒子随机选取。这样,能 够得到较多具有较大权重的粒子而舍弃一些权值较小的粒子。(4)对t时刻新采样的N个粒子进行重新分布。①按照下面的公式计算N个粒子x、y方向的光流矢量。每个粒子包含的特征点的 平均位置偏移便是该粒子的光流矢量,公式如下 其中,Axi表示t时刻粒子的χ方向光流矢量,Ayi表示t时刻粒子的y方向光 流矢量,xt表示特征点t时刻的χ位置,yt特征点t时刻的y位置,Xt^1, Yt^1的含义与xt、yt 类似,recti表示粒子的矩形范围。 在粒子的矩形区域中,根据特征矩阵
得出的特征值中选出最
优的K个特征点(特征值越大越优),求出这k个特征点的平均位置偏移。其中,gx表示每级金字塔图像在X方向的灰度梯度,gy表示每级金字塔图像在Y方 向的灰度梯度,/ / w表示在7X7的矩形区域离散数据的和。K 一般取值为40。粒子的矩 形区域是指与跟踪目标选择矩形区域具有相同的宽高,但是中心点不同的矩形区域。②统计有多少个粒子丢失了光流矢量,并根据丢失光流矢量粒子的数量采用不同 的方式对t时刻新采样的N个粒子进行重新分布。如果粒子中的特征点不存在了,那么这个粒子便丢失了光流矢量。通过这种方式 来统计有多少个粒子丢失了光流矢量。如果丢失光流矢量的粒子数量>90%,则认为跟踪目标在当前帧中不存在了,用 随机数来对N个粒子进行位置和大小的重新分布。设t-Ι时刻跟踪目标的运动速度为 ^和紗分别表示t-1时刻运动目标的位置偏移。通过下面公式得到t时刻每个粒子的新位置X11 - x't_x + r; χ vecfx χ vecunitperpixel + r; χ Η[_χy't = y't_} + r丨 χ veciy χ vecunitperpixel + r't χ W1'^H1t = H1ia + r; χ scaleunitWit = + r't χ scaleunit其中,r/为高斯随机数,i/二为粒子的宽,为粒子高。如果丢失光流矢量的粒子数量< 90 %,则用光流矢量来对N个粒子进行位置和大小的重新分布,采用的公式如下 其中,x丨是t时刻粒子的χ方向新位置,‘1是t-Ι时刻粒子χ方向旧位置,Axi是 t时刻粒子的χ方向光流矢量,乂是t时刻粒子的y方向新位置,>^是t-Ι时刻粒子y方向 旧位置,Ayi是t时刻粒子的y方向光流矢量,/^是t时刻粒子的高度,/^,是t_l时刻粒 子高度,‘是t时刻随机数,scaleunit是缩放单位,F/是t时刻粒子的宽度,『二是t_l时 刻粒子宽度…'是t时刻随机数。如果在t-Ι时刻所有粒子光流矢量都丢失了,则认为跟踪目标消失在t_l时刻的 图像中。如果在当前帧t时刻丢失光流矢量的粒子数量< 10%,则认为跟踪目标重新回到 了当前画面中,利用光流矢量重新计算分布粒子。采用粒子的光流运动矢量进行粒子重新分布,能够逐渐收敛得到权重最大的那个 粒子,从而稳定跟踪目标。(5)计算N个粒子的RGB直方图,并根据RGB直方图计算每个粒子的权重,然后将 N个粒子位置根据权重进行加权平均,得到跟踪目标在当前帧图像t时刻的估计位置。①采用下面公式计算N个粒子在y位置的RGB直方图
'=I KaJ
(\ — r2 ·尸 < 1 ]
Λ ,·.卜 Irrl ^rrl f为归一化系 0otherwise) a-^Hx +Hy ,
f- 1
数, y/Il^ΙΠ δ 为 Kronecker 冲击函数。
'='I α ,②采用如下公式计算两个离散直方图ρ = {p(u)}u.L...ffl>q= {q(u)}u=,..m&
m ι-
Bhattacharyya 系数厂Σ W ⑷③采用如下公式计算N个粒子的权重Wi =^e 2σ2
Λ 2πσ④将N个粒子位置根据权重进行加权平均,得到粒子滤波的跟踪结果
N& =Z^JVi XX;
/=Iyt=ffwlxy't
Ι^-^ΙΓ
a
9
其中,f为归一化系数(6)在计算出来目标新位置后,与输入的t-1时候初始位置周围3X3像素矩形 范围,形成10个搜索位置,找一个新位置,它与上一帧t-Ι时候目标区域灰度差的平方和 (SSD)为最小,用这个新位置最为输出结果,这个办法用来稳定跟踪结果。 其中,S表示这个位置的亮度与模板的亮度差,x、y表示在以xin、yin为中心的新位置。(7)对RGB直方图进行更新。由于亮度变化和摄像机参数可能影响跟踪结果,因此为了保证跟踪具有较好精 度,在相似度超过一定阈值(经验值)后对目标直方图进行更新。更新公式为 其中,^^为t时刻更新的新的直方图,是t时候估计出来的直方图,为t-1 时刻旧的直方图,α是插值经验值,一般是0.2。(8)在t+Ι时刻重复上述步骤。在上述方法实现过程中,涉及到许多算法,如将RGB图像转换成灰度图的算法、求 金字塔模糊灰度图的算法、求金字塔灰度梯度图像的算法、根据下一级金字塔数据采样上 一级金字塔数据的算法、特征点丢失后在搜索矩形区域中求解与特征点近似位置的算法、 用牛顿迭代法求解特征点的光流矢量的算法、以及粒子RGB直方图计算和权重计算等。由 于其计算量大,因此跟踪效率较低。为了提高该方法的效率,本发明将基于粒子滤波和光流 矢量的视频目标跟踪方法中所涉及的每个大计算量算法在多CPU上并行计算,在每个CPU 上运行一个线程,负责处理一部分行数据,将所有行数据均勻分配到每个CPU上;当每个线 程完成自己的任务后,向线程同步管理者发事件告知,当线程同步管理者在得到所有线程 完成当前任务的时间都到来后,启动所有线程开始后续任务事件。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种基于粒子滤波和光流矢量的视频目标跟踪方法,包括以下步骤(1)对t时刻图像创建L级高斯金字塔,计算每级高斯金字塔图像x和y方向的灰度梯度,所述t和L为正整数;(2)对t 1时刻图像的M个特征点根据步骤(1)中计算出的灰度梯度求解其在t时刻图像中的位置偏移;(3)对t 1时刻图像的N个粒子重新进行采样,并对新采样的N个粒子利用随机数或光流矢量进行重新分布;(4)计算N个粒子的RGB直方图,并根据RGB直方图计算每个粒子的权重,然后将N个粒子位置根据权重进行加权平均,得到跟踪目标t时刻图像的估计位置;(5)对估计位置进行稳定性比较计算,得到跟踪目标的最终位置;(6)在t+1时刻,重复上述步骤。
2.如权利要求1所述的一种基于粒子滤波和光流矢量的视频目标跟踪方法,其特征在 于,步骤(1)中,创建L级高斯金字塔的过程包括以下步骤①将t时刻图像转化为灰度图;②对灰度图进行高斯模糊;③对高斯模糊后的灰度图创建L级高斯金字塔。
3.如权利要求1所述的一种基于粒子滤波和光流矢量的视频目标跟踪方法,其特征在 于所述L彡4。
4.如权利要求1所述的一种基于粒子滤波和光流矢量的视频目标跟踪方法,其特征在 于步骤(2)中,如果某个特征点丢失,则采用网格将跟踪目标搜索区域划分成与丢失特征 点区域大小相同的K个图像区域,利用图像灰度差的平方和匹配丢失特征点区域,估计丢 失特征点的近似位置;然后利用估计的近似位置作为初始位置重新求解该特征点在下一帧 图像中的位置偏移;所述跟踪目标搜索区域是指在图像的哪个范围中产生特征点的区域。
5.如权利要求1所述的一种基于粒子滤波和光流矢量的视频目标跟踪方法,其特征在 于,步骤(3)中所述对t-Ι时刻图像的N个粒子进行重新采样的方法包括以下步骤①根据t-Ι时刻图像的N个粒子权重计算每个粒子归一化的概率;②产生0至1之间的随机数r;③在N个粒子中寻找归一化概率大于或等于r的粒子,如果存在就把该粒子取出来作 为新的粒子。
6.如权利要求1所述的一种基于粒子滤波和光流矢量的视频目标跟踪方法,其特征在 于,步骤(3)中对新采样的N个粒子利用随机数或光流矢量进行重新分布的方法为首先获 得N个粒子的光流矢量;然后判断丢失光流矢量的粒子数量,如果丢失光流矢量的粒子数 量小于90%,则采用光流矢量对N个粒子进行重新分布;否则,采用随机数对N个粒子进行 重新分布。
7.如权利要求1所述的一种基于粒子滤波和光流矢量的视频目标跟踪方法,其特征在 于,步骤(5)中对估计位置进行稳定性比较计算的具体过程为在计算出来的跟踪目标估计位置后,与输入的t-Ι时刻初始位置周围3X3像素矩形范 围,形成10个搜索位置,在其中找一个新位置,使它与上一帧t-Ι时刻目标区域灰度差的平 方和最小,用这个新位置作为输出结果。
8.如权利要求1至7之一所述的一种基于粒子滤波和光流矢量的视频目标跟踪方法, 其特征在于所述方法在得到跟踪目标的最终位置后,还包括更新RGB直方图的步骤。
9.如权利要求1至7之一所述的一种基于粒子滤波和光流矢量的视频目标跟踪方法, 其特征在于将该方法中所涉及的每个大计算量算法在多CPU上并行计算,在每个CPU上运 行一个线程,负责处理一部分行数据,将所有行数据均勻分配到每个CPU上;当每个线程完 成自己的任务后,向线程同步管理者发事件告知,当线程同步管理者在得到所有线程完成 当前任务的时间都到来后,启动所有线程开始后续任务事件。
全文摘要
本发明公开了一种视频目标跟踪方法,尤其是公开了一种基于粒子滤波和光流矢量的视频目标跟踪方法。该方法首先对t时刻图像创建L级高斯金字塔,计算每级高斯金字塔图像x和y方向的灰度梯度;再对t-1时刻图像的M个特征点求解其在t时刻图像中的位置偏移;再对t-1时刻图像的N个粒子重新进行采样,并对新采样的N个粒子利用随机数或光流矢量进行重新分布;然后再计算N个粒子的RGB直方图,并根据RGB直方图计算每个粒子的权重,再将N个粒子位置根据权重进行加权平均,得到跟踪目标t时刻图像的估计位置;最后对估计位置进行稳定性比较计算,得到跟踪目标的最终位置。该方法能够高效、准确地实现视频目标的跟踪。
文档编号G06T7/20GK101923719SQ200910086408
公开日2010年12月22日 申请日期2009年6月12日 优先权日2009年6月12日
发明者刘铁华, 孙季川, 见良, 郑鹏程 申请人:新奥特(北京)视频技术有限公司