文档库 最新最全的文档下载
当前位置:文档库 › 一种基于角点的MeanShift目标跟踪算法

一种基于角点的MeanShift目标跟踪算法

一种基于角点的MeanShift目标跟踪算法
一种基于角点的MeanShift目标跟踪算法

收稿日期:2008212210;修回日期:2009203205 基金项目:国家自然科学基金资助项目(60775020,60532060)

作者简介:宁纪锋(19752),男,陕西韩城人,博士研究生,主要研究方向为计算机视觉、视频图像处理(jf_ning@sina .com );姜光(19712),男,副教授,博士,主要研究方向为视频图像处理、三维重建;李鹏飞(19832),女,硕士研究生,主要研究方向为视频图像处理.

一种基于角点的M ean Shi ft 目标跟踪算法

3

宁纪锋

1,2

,姜 光2,李鹏飞

2

(1.西北农林科技大学信息工程学院,陕西杨凌712100;2.西安电子科技大学I S N 国家重点实验室,西安

710071)

摘 要:为了提高经典的Mean Shift 算法在复杂场景中的跟踪性能,提出了一种基于角点的目标表示方法。首先,利用Harris 角点检测算法提取表示目标主要特征的角点;其次,基于提取的角点,建立目标模型,将其嵌入

Mean Shift 算法进行跟踪。该方法仅用少量的关键点表示目标,能够自动去除目标和背景中的次要特征,有效地

抑制背景成分对目标定位的影响,从而改进Mean Shift 目标跟踪算法的性能。通过测试两个复杂环境下的视频,实验结果表明,相对于传统的目标跟踪算法,提出的方法取得了更好的性能。关键词:目标跟踪;Harris 角点检测;Mean Shift;目标表示

中图分类号:TP39114 文献标志码:A 文章编号:100123695(2009)1124348203

doi:10.3969/j .issn .100123695.2009.11.101

Mean Shift tracking algorithm based on corner points

N ING J i 2feng 1,2

,J IANG Guang 2

,L I Peng 2fei

2

(1.College of Infor m ation Engineering,N orthw est A &F U niversity,Yangling Shaanxi 712100China;2.S tate Key Laboratory of I SN ,

X idian U niversity,X i ’an 710071,China )

Abstract:To i m p r ove the perf or mance of the classicalM ean Shift tracking algorith m in the comp lex scene,devel oped a target

rep resentati on method based on corner points .First,detected the corner pointswhich contain the main features of the object by using Harris corner detect or .Then used the obtained corner points t o calculate the target model,which was further more e m 2bedded int o the Mean Shift tracking algorith m.Because the p r oposed method tracked the target only with fe w key points,it could remove aut omatically the m inor features of the object and backgr ound and supp ress the interference of backgr ounds f or target l ocalizati on .Experi m ental results on t w o challenged videos in cluttering envir on ments show thatMean Shift with the p r o 2posed method gets better results than the standard method .

Key words:object tracking;Harris corner detect or;M ean Shift;target rep resentati on

 引言

目标跟踪是计算机视觉领域中的一个重要任务。在众多的跟踪算法[1]中,M ean Shift 算法由于其简单和鲁棒性,近几年受到了广泛的关注,其最早由Fukunaga 等人[2]提出,作为一个非参数化的数据统计方法,用于数据聚类。Cheng [3]在1995年首次将其引入图像处理领域。Co maniciu 等人

[4]

提出的

Mean Shift 跟踪框架(也称之为基于核的目标跟踪)理论严谨,

计算复杂度低,对目标的外表变化、噪声、遮挡、尺度变化等具有一定的自适应能力,成为目标跟踪算法的研究热点[5~10]。

在Mean Shift 跟踪算法中,通常根据用户选定的目标区域和候选窗口,建立相应的颜色直方图,分别表示目标模型和候选模型

[4]

。这种方法在目标和背景有明显的区别时能够取得

好的跟踪结果,但是,当背景的一部分特征出现在目标中或目标与背景相似度较高时,一般的目标表示方法却难以有效地区别目标和背景,这时Mean Shift 算法的跟踪性能将会下降。

为了解决这个问题,本文提出了一种基于角点的Mean

Shift 目标跟踪算法。与传统的算法跟踪候选区域中的所有

点不同,提出的方法只提取表示目标主要特征的角点,利用

少量的关键点建立目标模型,去除目标和背景中的光滑成分,抑制背景对目标定位的干扰,从而改进M ean Shift 算法的跟踪性能。

1 M ea n S h i ft 跟踪算法及局限性

1 目标表示

在目标跟踪中,目标通常被定义为一个矩形或椭圆形区域。设{x 3i }i =1…n 是目标区域规范化的像素,区域的中心在原点,有n 个像素。在目标模型中,特征u =1,2,…,m 的概率按照下式计算:

q ^={q ^

u }u =1…m

q ^

u =C ∑n

i =1

k (‖x 3

i ‖2

)δ[b (x 3

i )-u

]

(1)

其中:q ^

是目标模型;q ^

u 是第u 个特征的概率;δ是Kr onecker

delta 函数;b (x 3i )将点x 3

i 所对应的颜色映射到相应的箱格

中;k (x )是一个各向同性核函数,用于对像素进行加权;C 是一个使目标模型规范化的常数因子,由式(2)计算。

C =1/∑n

i =1k (‖x 3i ‖2

)

(2)

第26卷第11期2009年11月 

计算机应用研究

App licati on Research of Computers Vol .26No .11Nov .2009

类似地,可以计算目标候选模型p ^

(y )的概率密度:

p ^(y )={p ^

u (y )}u =1…m

p ^

u (y )=C h ∑n h

i =1

k (‖(y -x i )/h ‖2)δ[b (x i )-u ]

(3)

C h =1/∑n h

i =1

k (‖(y -x i )/h ‖2)

(4)

其中:p ^(y )是目标候选模型;p ^

u (y )是第u 个特征的概率;

{x i }i =1…n h 是中心在y 的目标候选区域中的所有像素;h 是带

宽;C h 是使目标候选模型规范化的常数因子。1 

跟踪算法

在跟踪过程中,目标从当前跟踪窗口的中心位置y 移动到新的窗口中心位置y 1的迭代方程为

y 1=[∑n h

i =1

x i w i g (‖(y -x i )/h ‖2)]/[∑n h

i =1

w i g (‖(y -x i )/h ‖2)]

(5)

w i =∑

m u =1

q ^u /p ^

u (y 0)δ[b (x i )-u ]

(6)

其中:w i 为每个点的权值,g (x )=-k ′E (x )。

当选择

Epanech 2nikov 核时,g (x )=1。因此,基于Epanechnikov 核的Mean Shift

迭代方程简化为

y 1=∑n h

i =1

x i w i /∑n h

i =1

w i

(7)

式(7)表明,M ean Shift 跟踪算法的收敛性完全取决于目标候选区域中点的权值w i 。在跟踪过程中,属于目标的点具有较大的权值,使得算法向目标的运动方向收敛。1 

跟踪算法的局限性

M ean Shift 在一个局部区域搜索与目标最相似的区域,但

是,Mean Shift 的跟踪性能取决于目标和背景的可分性。如果目标和背景相似度较高,这时M ean Shift 算法容易陷入局部极小值,降低了定位的准确性。例如图1中,在绿色的足球场地中,跟踪一个穿绿色球衣的球员,目标和背景的相似度显然非常高。在这种情况下,传统的M ean Shift 算法将很快丢失目标,致使跟踪失败。

经过分析可知,虽然球员与背景颜色非常相似,但是球员有一定的结构特征,而背景呈现出较强的光滑性,它们之间存在明显的区别。因此,可首先提取球员的主要特征,利用表示球员特征的点建立模型,这时将会有效地抑制背景对目标定位的影响,从而改进M ean Shift 目标跟踪算法的性能。

 提出的方法

1 

角点检测算法

角点是图像的一个重要局部特征,它在保留图像中物体重要特征的同时,能够有效减少信息的数据量,因而成为图像理解和模式识别中一种有效的工具。Harris 角点检测器[11,12]是一个经典的角点检测算法,它的基本思想是:在图像中设计一个局部窗口,检查窗口在各个方向的能量。Harris 算法的公式如下:

E (u,v )=∑x,y

w (x,y )[I (x +u,y +v )-I (x,y )]2

(8)

其中:(x,y )表示局部窗口中的所有点;E (u,v )表示图像在局部窗口沿(u,v )方向的能量;w (x,y )是加权窗口,通常在窗口中心权值较大,靠近窗口边界处权值较小,如通常使用高斯函

数作为加权函数。根据全微分公式,式(8)可写成如下形式:

E (u,v )=∑x,y

w (x,y )[uI x +vI y ]2

(9)

其中:I x ,I y 表示图像的偏导数。将式(9)导数项展开并写成矩阵形式:

E (u,v )=[u v ]M

u v

(10)

式中:

M =∑x,y

w (x,y )

I 2x I x I y I x I y I 2y

=

A C C B

(11)

w (x,y )是对梯度图像协方差矩阵加权平均。式(11)表明协方

差矩阵M 的性质决定图像在各个方向的能量变化。Harris 提出用矩阵的行列式和矩阵的迹检测角。角响应公式如下:

R =det (M )-k ?trace (M )

(12)

其中:det (M )=AB -C 2,trace (M )=A +B ,k 是一个常量,通常取0.04~0.06。当R 大于一个给定的阈值时,即认为相应局部区域窗口的中心点是一个角点。1 基于角点的

目标跟踪算法

图2是用Harris 角检测算法对图1的角点检测结果。可

以看出,虽然存在一定的噪声,但是Harris 算法能够可靠地提取场景中的角点,抑制了大部分背景信息。特别地,在选定的跟踪区域中包含着大量的背景信息,且目标和背景对比度低,但是Harris 算法主要提取了与目标有关的角点,而背景特征明显受到抑制。因此,如果仅用Harris 算法提取的角点建立起相应的目标模型,那么新的目标模型将会以少量的点表示目标的主要特征,从而增强目标和背景的区别。因此,本文提出一种基于角点的Mean Shift 目标跟踪算法,利用少量的角点作为关键点,建立目标模型,增强目标与背景的可分性,从而改进

M ean Shift 算法在复杂环境下的跟踪性能。

同时,提出的方法仅基于少量的关键点跟踪,降低了Mean

Shift 算法的计算复杂性,而且,提出的方法能够抑制背景对目

标定位的影响,因而能够加速M ean Shift 向目标收敛,减少

M ean Shift 的迭代次数。

提出算法的基本过程如下:

a )定义目标区域,利用Harris 算法提取目标区域中的角

点,计算颜色直方图,表示目标q ^

b )在当前帧中,初始化跟踪目标位置y 0。

c )迭代次数k 初始化,k ←0。

d )在当前帧中,计算以y 0为中心的候选区域,用Harris 算

法提取候选区域中的角点,计算角点的颜色直方图,表示候选模型p ^

(y )。

e )根据式(6),导出权值{w i }i =1…n h 。

f )根据式(7),得到新的窗口中心y 1,迭代次数k ←k +1。

g )d ←‖y 1-y 0‖,y 0←y 1。如果d <ε或k ≥N ,停止迭代,

显示当前帧跟踪结果,接着执行h );否则,返回d ),继续执行

?

9434?第11期宁纪锋,等:一种基于角点的Mean Shift 目标跟踪算法

当前帧的跟踪。

h )当前帧如果是最后一帧,则跟踪过程结束;否则,读取

下一帧作为当前帧,以y 0为目标候选窗口的初始中心位置,返回c ),在新的一帧中定位目标。

在上述算法过程中,ε为迭代收敛的最小阈值,N 为算法所允许的最大迭代次数。如果相邻两次迭代计算所得目标候选坐标距离d 小于ε或当前帧跟踪累计迭代次数超过N ,则认为算法收敛。

 实验结果及分析

在这部分,将通过两个复杂环境下的视频,比较分析传统的基于所有点和提出的基于少量关键点的跟踪算法的性能。目标使用RG B 颜色模型表示,量化空间为16×16×16。算法基于

MAT LAB 7.0.1实现,计算机配置是HP notebook I ntel Core

(T M )

2

1.80GHz,内存2G B 。为了方便下面叙述,称Mean Shift 使用所

有点的跟踪算法为标准的跟踪算法,Mean Shift 使用角点的跟踪算法称为提出的跟踪算法。在实验中,笔者发现提出的算法对角点阈值的选择不敏感,对于大部分视频,选择R >10,都取得了好的实验结果。第一个是人脸视频,任务是跟踪运动的人脸。在视频中,人脸存在明显的光线、遮挡等运动变化。第一帧是待跟踪的目标,图3显示Mean Shift 使用两种算法的部分跟踪结果。从实验结果中可以看出,虽然标准的跟踪算法能够定位目标,但当目标存在光线、遮挡运动时,定位效果并不好。本文提出的方法仅用少量的关键点信息,能够抑制光线、遮挡等复杂对目标定位的影响,

取得了更好的跟踪结果。

第二个视频是图1所示的足球比赛视频。在这个视频中,跟踪对象是一个运动的足球运动员。足球运动员的球衣与足球场地颜色非常相近,使得跟踪目标的运动具有很大的困难。图4列出了两种方法的跟踪结果。标准的跟踪方法因为不能有效地区分目标和背景,导致跟踪失败,而提出的方法能抑制背景特征对目标定位的干扰,因此取得了较好的跟踪结果。图5画出了两种跟踪算法的迭代曲线,提出的方法平均迭代次数为2.2次,小于标准跟踪算法的3.6次,验证了提出的方法增强目标和背景的可分性,从而加速M ean Shift 向目标收敛的设想

表1是对于两个视频,两种跟踪算法的平均迭代次数和跟踪速度。可以发现,在复杂的环境下,对于两种视频,提出的

跟踪算法性能优于标准的跟踪算法,具有实时性

 结束语

与传统的基于跟踪候选区域所有点的算法不同,本文提出了一种利用少量的关键信息进行目标跟踪的新方法。利用

Harris 角点检测算法提取的角点表示目标的主要特征,增强目

标和背景的可分性,从而能够抑制背景成分对目标定位的干扰,改进了M ean Shift 算法在复杂环境下的跟踪性能。实验结果表明,对于在复杂环境的视频跟踪任务,提出的方法比传统的基于所有点的跟踪算法能够以更少的迭代次数准确地定位目标。参考文献:

[1]YI L MAZ A,JAVED O,SHAH M.Object tracking:a survey [J ].

ACM Com p uti ng Su rveys,2006,38(4):A rticle 13.[2]F UK UNAG A K,HOSTET LER L.The esti m ati on of the gradient of a

density functi on,with app licati ons in pattern recogniti on [J ].I EEE Tran s o n I nf o r m a ti o n Theo ry,1975,21(1):32240,1975.[3]CHE NG Y .Mean Shift,mode seeking,and clustering [J ].

I EEE

Tran s o n Pa tte rn Ana l ys is a nd M a chi ne I nte lli gence ,1995,17

(8):7902799.

[4]COMAN I C I U D,RAMESH V,MEER P .Kernel 2based object trac 2

king[J ].I EEE Tra ns on Pa tte rn Ana l a l ysis a nd M a chi ne I nte lli 2

gence ,2003,25(5):5642577.[5]

COLL I N S R.Mean Shift bl ob tracking thr ough scale s pace [C ]//Pr oc of I EEE Conference on Computer V isi on and Pattern Recogni 2ti on .Vancouver:I EEE Press,2003:2342240.

[6]ZI V K OV I C Z,KROSE B.An E M 2like algorithm for col or 2hist ogram 2

based object tracking [C ]//Pr oc of I EEE Conference on Computer V isi on and Pattern Recogniti on .W ashingt on DC:I EEE Press,2004:7982803.

[7]Y ANG C,RAMAN ID,DAV I S L.EfficientMean 2Shift tracking via a

ne w si m ilarity measure[C ]//Pr oc of I EEE Conference on Computer V isi on and Pattern Recogniti on .San D iego,Canada:I EEE Press,2005:1762183.

[8]YI L MAZ A.Object tracking by asy mmetric kernel Mean Shift with

aut omatic scale and orientati on selecti on[C ]//Pr oc of I EEE Confer 2ence on Computer V isi on and Pattern Recogniti on .M innes ota:I EEE Press,2007:126.

[9]彭宁嵩,杨杰,刘志,等.Mean Shift 跟踪算法中核函数窗宽的自动选取[J ].软件学报,2005,16(9):154221550.[10]宁纪锋,吴成柯.一种基于纹理模型的Mean Shift 目标跟踪算法

[J ].模式识别与人工智能,2007,20(5):6122618.

[11]徐伟,王朔中.基于视频图像Harris 角点检测的车辆测速[J ].

中国图象图形学报,2006,11(11):165021652.[12]张小洪,李博,杨丹.一种新的Harris 多尺度角点检测[J ].电子

与信息学报,2007,29(7):173521738.

?

0534?计算机应用研究 

第26卷

传统meanshift跟踪算法流程

传统meanshift 跟踪算法实现流程 一、 Meanshift 算法流程图 视频流 手动选定跟踪目标 提取目标灰度加权直方图特征hist1 提取候选目 标区域 提取候选目标的灰度加权直方图特征hist2 均值漂移得到均值漂移向量及新的候选区域位 置 是否满足迭代结束条件 第二帧之后图像 第一帧图像 得到当前帧目标位置 是 否 图1 meanshift 流程图 二、 各模块概述 1、 手动选定目标区域:手动框出目标区域,并把该区域提取出来作为目标模板 区域; 2、 提取目标灰度加权直方图特征hist1; 2.1构造距离权值矩阵m_wei ; 使用Epanechnikov 核函数构造距离加权直方图矩阵:设目标区域中像素

点(,)i j 到该区域中心的距离为dist ,则 _(,)1/m wei i j dist h =-,这里h 是核函数窗宽,h 为目标区域中离区域中心 最远的像素点到中心的距离:若所选目标区域为矩形区域,区域的半宽度为 x h ,半高度为y h ,则22()x y h sqrt h h =+; 2.2得到归一化系数C ; 1/C M =,其中M 是m_wei 中所有元素值之和; 2.3计算目标的加权直方图特征向量hist1; 若图像为彩色图像,则把图像的,,r g b 分量归一化到[0,15]之间(分量值与16取余,余数即为归化后的分量值),然后为不同的分量值赋予不同的权值得到每个像素点的特征值_q temp : _256*16*q t e m p r g b = ++ 对于像素点(,)i j ,设其特征值为_q temp ,则另 1(_1)1(_1)_(,)hist q temp hist q temp m wei i j +=++; 若图像是灰度图像,则直接利用每个像素的灰度值作为每个像素的特征值,然后统计得到hist1; 把一维数组hist1归一化:11*hist hist C =;归一化后的数组hist1即为目标的加权直方图特征向量; 3、 从第二帧开始的图像,通过迭代的方式找到该帧图像中目标的位置; 3.1提取候选目标区域:以上一帧图像中目标的位置或上一次迭代得到的目标位置为中心提取出目标模板区域大小的区域; 3.2提取候选目标区域的加权直方图特征向量hist2:提取方法同步骤2.3; 计算候选目标区域的特征值矩阵_1q temp : _1 (,)256*(,) 16*(,)q t e m p i j r i j g i j b i j =++; 3.3均值漂移到新的目标区域; 3.3.1计算候选目标区域相对于目标区域的均值漂移权值w : ( 1()/2()),2(2w s q r t h i s t i h i s t i h i s t =≠ 2() 0h i s t i =时,()0;w i = 3.3.2 根据每个像素点所占的均值漂移权值计算漂移矩阵xw : 11(_1(,)1)*[(1),(2)]a b i j xw xw w q temp i j i y j y ===++--∑∑ 3.3.2得到权值归一化后的均值漂移向量Y :

目标跟踪算法

clc; clear; x=[0 16 25 33 50 65 75 82 100]; y=[0 172.5 227.5 324.2 330.7 286.1 237.7 201.7 0]; plot(xx,yy); 的图为 xx = 0:.01:100; yy = spline(x,y,xx); plot(xx,yy)

Matlab画平滑曲线的两种方法(拟合或插值后再用plot即可) 分类:MATLAB2012-12-02 11:15 25540人阅读评论(4) 收藏举报自然状态下,用plot画的是折线,而不是平滑曲线。 有两种方法可以画平滑曲线,第一种是拟合的方法,第二种是用spcrv,其实原理应该都一样就是插值。下面是源程序,大家可以根据需要自行选择,更改拟合的参数。 clc,clear; a = 1:1:6; %横坐标 b = [8.0 9.0 10.0 15.0 35.0 40.0]; %纵坐标

plot(a, b, 'b'); %自然状态的画图效果 hold on; %第一种,画平滑曲线的方法 c = polyfit(a, b, 2); %进行拟合,c为2次拟合后的系数 d = polyval(c, a, 1); %拟合后,每一个横坐标对应的值即为d plot(a, d, 'r'); %拟合后的曲线 plot(a, b, '*'); %将每个点用*画出来 hold on; %第二种,画平滑曲线的方法 values = spcrv([[a(1) a a(end)];[b(1) b b(end)]],3); plot(values(1,:),values(2,:), 'g');

基于meanshift的目标跟踪算法——完整版

基于Mean Shift的目标跟踪算法研究 指导教师:

摘要:该文把Itti视觉注意力模型融入到Mean Shift跟踪方法,提出了一种基于视觉显著图的Mean Shift跟踪方法。首先利用Itti视觉注意力模型,提取多种特征,得到显著图,在此基础上建立目标模型的直方图,然后运用Mean Shift方法进行跟踪。实验证明,该方法可适用于复杂背景目标的跟踪,跟踪结果稳定。 关键词:显著图目标跟踪Mean Shift Mean Shift Tracking Based on Saliency Map Abstract:In this paper, an improved Mean Shift tracking algorithm based on saliency map is proposed. Firstly, Itti visual attention model is used to extract multiple features, then to generate a saliency map,The histogram of the target based on the saliency map, can have a better description of objectives, and then use Mean Shift algorithm to tracking. Experimental results show that improved Mean Shift algorithm is able to be applied in complex background to tracking target and tracking results are stability. 1 引言 Mean Shift方法采用核概率密度来描述目标的特征,然后利用Mean Shift搜寻目标位置。这种方法具有很高的稳定行,能够适应目标的形状、大小的连续变化,而且计算速度很快,抗干扰能力强,能够保证系统的实时性和稳定性[1]。近年来在目标跟踪领域得到了广泛应用[2-3]。但是,核函数直方图对目标特征的描述比较弱,在目标周围存在与目标颜色分布相似的物体时,跟踪算法容易跟丢目标。目前对目标特征描述的改进只限于选择单一的特征,如文献[4]通过选择跟踪区域中表示目标主要特征的Harris点建立目标模型;文献[5]将初始帧的目标模型和前一帧的模型即两者的直方图分布都考虑进来,建立混合模型;文献[6]提出了以代表图像的梯度方向信息的方向直方图为目标模型;文献[7-8]提出二阶直方图,是对颜色直方图一种改进,是以颜色直方图为基础,颜色直方图只包含了颜色分布信息,二阶直方图在包含颜色信息的前提下包含了像素的均值向量和协方差。文献[9]提出目标中心加权距离,为离目标中心近的点赋予较大的权值,离目标中心远的点赋予较小的权值。文献[4-9]都是关注于目标和目标的某一种特征。但是使用单一特征的目标模型不能适应光线及背景的变化,而且当有遮挡和相似物体靠近时,容易丢失目标;若只是考虑改进目标模型,不考虑减弱背景的干扰,得到的效果毕竟是有限的。 针对上述问题,文本结合Itti 提出的视觉注意模型[5],将自底向上的视觉注意机制引入到Mean Shift跟踪中,提出了基于视觉显著图的Mean Shift跟踪方法。此方法在显著图基础上建立目标模型,由此得到的目标模型是用多种特征来描述的,同时可以降低背景对目标的干扰。 2 基于视觉显著图的Mean Shift跟踪方法

目标跟踪算法的分类

运动目标跟踪就是在一段序列图像中的每幅图像中实时地找到所感兴趣的运动目标 (包括位置、速度及加速度等运动参数)。在运动目标跟踪问题的研究上,总体来说有两种思路: a)不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标; b)依赖于目标的先验知识,首先为运动目标建模,然后在图像序列中实时找到相匹配的运动目标。 一、运动目标检测 对于不依赖先验知识的目标跟踪来讲,运动检测是实现跟踪的第一步。运动检测即为从序列图像中将变化区域从背景图像中提取出来。运动目标检测的算法依照目标与摄像机之间的关系可以分为静态背景下运动检测和动态背景下运动检测。 静态背景下运动检测就是摄像机在整个监视过程中不发生移动,只有被监视目标在摄像机视场内运动,这个过程只有目标相对于摄像机的运动;动态背景下运动检测就是摄像机在整个监视过程中发生了移动 (如平动、旋转或多自由度运动),被监视目标在摄像机视场内也发生了运动,这个过程就产生了目标与摄像机之间复杂的相对运动。 1、静态背景 背景差分法 背景差分法是利用当前图像与背景图像的差分来检测运动区域的一种技术。它一般能够提供最完全的特征数据,但对于动态场景的变化,如天气、光照、背景扰动及背景物移入移出等特别敏感,运动目标的阴影也会影响检测结果的准确性及跟踪的精确性。其基本思想就是首先获得一个背景模型,然后将当前帧与背景模型相减,如果像素差值大于某一阈值,则判断此像素属于运动目标,否则属于背景图像。背景模型的建立与更新、阴影的去除等对跟踪结果的好坏至关重要。 帧间差分法 相邻帧间差分法是通过相邻两帧图像的差值计算,获得运动物体位置和形状等信息的运动目标检测方法。其对环境的适应性较强,特别是对于光照的变化适应性强,但由于运动目标上像素的纹理、灰度等信息比较相近,不能检测出完整

TLD目标跟踪算法

TLD目标跟踪算法 一、算法的背景 TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生Zdenek 出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统的检测算法相结合来解决被跟踪目标在被跟踪过程中发生的形变、部分遮挡等问题。同时,通过一种改进的在线学习机制不断更新跟踪模块的“显著特征点”和检测模块的目标模型及相关参数,从而使得跟踪效果更加稳定、鲁棒、可靠。 对于长时间跟踪而言,一个关键的问题是:当目标重新出现在相机视野中时,系统应该能重新检测到它,并开始重新跟踪。但是,长时间跟踪过程中,被跟踪目标将不可避免的发生形状变化、光照条件变化、尺度变化、遮挡等情况。传统的跟踪算法,前端需要跟检测模块相互配合,当检测到被跟踪目标之后,就开始进入跟踪模块,而此后,检测模块就不会介入到跟踪过程中。但这种方法有一个致命的缺陷:即,当被跟踪目标存在形状变化或遮挡时,跟踪就很容易失败;因此,对于长时间跟踪,或者被跟踪目标存在形状变化情况下的跟踪,很多人采用检测的方法来代替跟踪。该方法虽然在某些情况下可以改进跟踪效果,但它需要一个离线的学习过程。即:在检测之前,需要挑选大量的被跟踪目标的样本来进行学习和训练。这也就意味着,训练样本要涵盖被跟踪目标可能发生的各种形变和各种尺度、姿态变化和光照变化的情况。换言之,利用检测的方法来达到长时间跟踪的目的,对于训练样本的选择至关重要,否则,跟踪的鲁棒性就难以保证。 考虑到单纯的跟踪或者单纯的检测算法都无法在长时间跟踪过程中达到理想的效果,所以,TLD方法就考虑将两者予以结合,并加入一种改进的在线学习机制,从而使得整体的目标跟踪更加稳定、有效。 简单来说,TLD算法由三部分组成:跟踪模块、检测模块、学习模块;如下图所示 其运行机制为:检测模块和跟踪模块互补干涉的并行进行处理。首先,跟踪模块假设相邻视频帧之间物体的运动是有限的,且被跟踪目标是可见的,以此来估计目标的运动。 如果目标在相机视野中消失,将造成跟踪失败。检测模块假设每一个视帧都是彼此独立的,并且根据以往检测和学习到的目标模型,对每一帧图片进行全图搜索以定位目标可能出现的区域。同其它目标检测方法一样,TLD中的检测模块也有可能出现错误,且错误无非是错误的负样例和错误的正样例这两种情况。而学习模块则根据跟踪模块的结果对检测模块的这两种错误进行评估,并根据评估结果生成训练样本对检测模块的目标模型进行更新,同时对跟踪模块的“关键特征点”进行更新,以此来避免以后出现类似的

目标跟踪算法的分类

目标跟踪算法的分类

主要基于两种思路: a)不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标; b)依赖于目标的先验知识,首先为运动目标建模,然后在图像序列中实时找到相匹配的运动目标。 一.运动目标检测 对于不依赖先验知识的目标跟踪来讲,运动检测是实现跟踪的第一步。运动检测即为从序列图像中将变化区域从背景图像中提取出来。运动目标检测的算法依照目标与摄像机之间的关系可以分为静态背景下运动检测和动态背景下运动检测 (一)静态背景 1.背景差 2.帧差 3.GMM 4.光流 背景减算法可以对背景的光照变化、噪声干扰以及周期性运动等进行建模,在各种不同情况下它都可以准确地检测出运动目标。因此对于固定

个关键技术: a)匹配法则,如最大相关、最小误差等 b)搜索方法,如三步搜索法、交叉搜索法等。 c) 块大小的确定,如分级、自适应等。 光流法 光流估计的方法都是基于以下假设:图像灰度分布的变化完全是目标或者场景的运动引起的,也就是说,目标与场景的灰度不随时间变化。这使得光流方法抗噪声能力较差,其应用范围一般局限于目标与场景的灰度保持不变这个假设条件下。另外,大多数的光流计算方法相当复杂,如果没有特别的硬件装置,其处理速度相当慢,达不到实时处理的要求。 二.目标跟踪 运动目标的跟踪,即通过目标的有效表达,在图像序列中寻找与目标模板最相似候选目标区位置的过程。简单说,就是在序列图像中为目标定位。运动目标的有效表达除了对运动目标建模外,目标跟踪中常用到的目标特性表达主要包括视觉特征 (图像边缘、轮廓、形状、纹理、区域)、统计特征 (直方图、各种矩特征)、变换系数特

视频目标跟踪算法综述_蔡荣太

1引言 目标跟踪可分为主动跟踪和被动跟踪。视频目标跟踪属于被动跟踪。与无线电跟踪测量相比,视频目标跟踪测量具有精度高、隐蔽性好和直观性强的优点。这些优点使得视频目标跟踪测量在靶场光电测量、天文观测设备、武器控制系统、激光通信系统、交通监控、场景分析、人群分析、行人计数、步态识别、动作识别等领域得到了广泛的应用[1-2]。 根据被跟踪目标信息使用情况的不同,可将视觉跟踪算法分为基于对比度分析的目标跟踪、基于匹配的目标跟踪和基于运动检测的目标跟踪。基于对比度分析的跟踪算法主要利用目标和背景的对比度差异,实现目标的检测和跟踪。基于匹配的跟踪主要通过前后帧之间的特征匹配实现目标的定位。基于运动检测的跟踪主要根据目标运动和背景运动之间的差异实现目标的检测和跟踪。前两类方法都是对单帧图像进行处理,基于匹配的跟踪方法需要在帧与帧之间传递目标信息,对比度跟踪不需要在帧与帧之间传递目标信息。基于运动检测的跟踪需要对多帧图像进行处理。除此之外,还有一些算法不易归类到以上3类,如工程中的弹转机跟踪算法、多目标跟踪算法或其他一些综合算法。2基于对比度分析的目标跟踪算法基于对比度分析的目标跟踪算法利用目标与背景在对比度上的差异来提取、识别和跟踪目标。这类算法按照跟踪参考点的不同可以分为边缘跟踪、形心跟踪和质心跟踪等。这类算法不适合复杂背景中的目标跟踪,但在空中背景下的目标跟踪中非常有效。边缘跟踪的优点是脱靶量计算简单、响应快,在某些场合(如要求跟踪目标的左上角或右下角等)有其独到之处。缺点是跟踪点易受干扰,跟踪随机误差大。重心跟踪算法计算简便,精度较高,但容易受到目标的剧烈运动或目标被遮挡的影响。重心的计算不需要清楚的轮廓,在均匀背景下可以对整个跟踪窗口进行计算,不影响测量精度。重心跟踪特别适合背景均匀、对比度小的弱小目标跟踪等一些特殊场合。图像二值化之后,按重心公式计算出的是目标图像的形心。一般来说形心与重心略有差别[1-2]。 3基于匹配的目标跟踪算法 3.1特征匹配 特征是目标可区别与其他事物的属性,具有可区分性、可靠性、独立性和稀疏性。基于匹配的目标跟踪算法需要提取目标的特征,并在每一帧中寻找该特征。寻找的 文章编号:1002-8692(2010)12-0135-04 视频目标跟踪算法综述* 蔡荣太1,吴元昊2,王明佳2,吴庆祥1 (1.福建师范大学物理与光电信息科技学院,福建福州350108; 2.中国科学院长春光学精密机械与物理研究所,吉林长春130033) 【摘要】介绍了视频目标跟踪算法及其研究进展,包括基于对比度分析的目标跟踪算法、基于匹配的目标跟踪算法和基于运动检测的目标跟踪算法。重点分析了目标跟踪中特征匹配、贝叶斯滤波、概率图模型和核方法的主要内容及最新进展。此外,还介绍了多特征跟踪、利用上下文信息的目标跟踪和多目标跟踪算法及其进展。 【关键词】目标跟踪;特征匹配;贝叶斯滤波;概率图模型;均值漂移;粒子滤波 【中图分类号】TP391.41;TN911.73【文献标识码】A Survey of Visual Object Tracking Algorithms CAI Rong-tai1,WU Yuan-hao2,WANG Ming-jia2,WU Qing-xiang1 (1.School of Physics,Optics,Electronic Science and Technology,Fujian Normal University,Fuzhou350108,China; 2.Changchun Institute of Optics,Fine Mechanics and Physics,Chinese Academy of Science,Changchun130033,China)【Abstract】The field of visual object tracking algorithms are introduced,including visual tracking based on contrast analysis,visual tracking based on feature matching and visual tracking based on moving detection.Feature matching,Bayesian filtering,probabilistic graphical models,kernel tracking and their recent developments are analyzed.The development of multiple cues based tracking,contexts based tracking and multi-target tracking are also discussed. 【Key words】visual tracking;feature matching;Bayesian filtering;probabilistic graphical models;mean shift;particle filter ·论文·*国家“863”计划项目(2006AA703405F);福建省自然科学基金项目(2009J05141);福建省教育厅科技计划项目(JA09040)

目标跟踪算法的分类

目标跟踪算法的分类主要基于 两种思路: a)不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标; b)依赖于目标的先验知识,首先为运动目标建模然后在图像序列中实时找到相匹配的运动目标。 一.运动目标检测 对于不依赖先验知识的目标跟踪来讲,运动检测是实现跟踪的第一步。运动检测即为从序列图像中将变化区域从背景图像中提取出来。运动目标检测的算法依照目标与摄像机之间的关系可以分为静态背景下运动检测和动态背景下运动检测(一)静态背景

2.帧差 3.GMM 4.光流 背景减算法可以对背景的光照变化、噪声干扰以及周期性运动等进行建模,在各种不同情况下它都可以准确地检测出运动目标。因此对于固定摄像头的情形,目前大多数的跟踪算法中都采用背景减算法来进行目标检测。背景减算法的局限性在于它需要一个静态的固定摄像头。 (二)运动场通常情况下,摄像机的运动形式可以分为两种:a)摄像机的支架固定,但摄像机可以偏转、俯仰以及缩放;b)将摄像机装在某个移动的载体上。由于以上两种情况下的背景及前景图像都在做全局运动,要准确检测运动目标的首要任务是进行图像的全局运动估计与补偿。 考虑到图像帧上各点的全局运动矢量虽不尽相同(摄像机做平移运动除外),但它们均是在同一摄像机模型下的运动,因而应遵循相同的运动模型,可以用同一模型参数来表示。 全局运动的估计问题就被归结为全局运动模型参数的估计问题,通常使用块匹配法或光流估计法

来进行运动参数的估计。 块匹配 基于块的运动估算和补偿可算是最通用的算法。可以将图像分割成不同的图像块,假定同一图像小块上的运动矢量是相同的,通过像素域搜索得到最佳的运动矢量估算。块匹配法主要有如下三个关键技术: a)匹配法则,如最大相关、最小误差等 b)搜索方法,如三步搜索法、交叉搜索法等。 c)块大小的确定,如分级、自适应等。 光流法 光流估计的方法都是基于以下假设:图像灰度分布的变化完全是目标或者场景的运动引起的,也就是说,目标与场景的灰度不随时间变化。这使得光流方法抗噪声能力较差,其应用范围一般局限于目标与场景的灰度保持不变这个假设条件下。另外,大多数的光流计算方法相当复杂,如果没有特别的硬件装置,其处理速度相当慢,达不到实时处理的要求。 二.目标跟踪 运动目标的跟踪,即通过目标的有效表达,在图像序列中寻找与目标模板最相似候选目标区位置

目标跟踪的研究背景意义方法及现状

目标跟踪的研究背景意义方法及现状

目录 ? 1.课题背景与研究意义? 2.国内外研究现状 ? 3.存在的问题 ? 4.总结,发展与展望 ? 5.参考文献

1课题背景与研究意义 ?运动目标的跟踪就是在视频图像的每一幅图像中确定出我们感兴趣的运动目标的位置,并把不同帧中同一目标对应起来。 ?智能视频监控(IVS: Intelligent Video Surveillance)是计算机视觉领域近几年来发展较快,研究较多的一个应用方向。它能够利用计算机视觉技术对采集到的视频信号进行处理、分析和理解,并以此为基础对视频监控系统进行控制,从而使视频监控系统具备更好的智能性和鲁棒性。智能视频监控系统主要涉及到图像处理、计算机视觉、模式识别、人工智能等方面的科学知识,它的用途非常广泛,在民用和军事领域中都有着极大的应用前景。

2.国内外研究现状 视频目标跟踪算法 基于对比度分析基于匹配核方法运动检测其它方法 特征匹配贝叶斯 跟踪 Mean shift方法 光流法

基于对比度分析的方法 ?算法思想:基于对比度分析的目标跟踪算法利用目标与背景在对比度上的差异来提取、识别和跟踪目标。 ?分类:边缘跟踪,型心跟踪,质心跟踪。 ?优缺点:不适合复杂背景中的目标跟踪,但在空中背景下的目标跟踪中非常有效。

基于特征匹配的目标跟踪算法 ?算法思想:基于匹配的目标跟踪算法需要提取目标的特征,并在每一帧中寻找该特征。寻找的过程就是特征匹配过 程。 ?目标跟踪中用到的特征主要有几何形状、子空间特征、外形轮廓和特征点等。其中,特征点是匹配算法中常用的特征。特征点的提取算法很多,如Kanade Lucas Tomasi (KLT)算法、Harris 算法、SIFT 算法以及SURF 算法等。?优缺点:特征点一般是稀疏的,携带的信息较少,可以通过集成前几帧的信息进行补偿。目标在运动过程中,其特征(如姿态、几何形状、灰度或颜色分布等)也随之变化。 目标特征的变化具有随机性,这种随机变化可以采用统计数学的方法来描述。直方图是图像处理中天然的统计量,因此彩色和边缘方向直方图在跟踪算法中被广泛采用。

视频目标检测与跟踪算法综述

视频目标检测与跟踪算法综述 1、引言 运动目标的检测与跟踪是机器视觉领域的核心课题之一,目前被广泛应用在 视频编码、智能交通、监控、图像检测等众多领域中。本文针对视频监控图像的运动目标检测与跟踪方法,分析了近些年来国内外的研究工作及最新进展。 2、视频监控图像的运动目标检测方法 运动目标检测的目的是把运动目标从背景图像中分割出来。运动目标的有效分割对于目标分类、跟踪和行为理解等后期处理非常重要。目前运动目标检测算法的难点主要体现在背景的复杂性和目标的复杂性两方面。背景的复杂性主要体现在背景中一些噪声对目标的干扰,目标的复杂性主要体现在目标的运动性、突变性以及所提取目标的非单一性等等。所有这些特点使得运动目标的检测成为一项相当困难的事情。目前常用的运动目标检测算法主要有光流法、帧差法、背景相减法,其中背景减除法是目前最常用的方法。 2.1 帧差法 帧差法主要是利用视频序列中连续两帧间的变化来检测静态场景下的运动目标,假设(,)k f x y 和(1)(,)k f x y +分别为图像序列中的第k 帧和第k+1帧中象素点(x ,y)的象素值,则这两帧图像的差值图像就如公式2-1 所示: 1(1)(,)(,)k k k Diff f x y f x y ++=- (2-1) 2-1式中差值不为0的图像区域代表了由运动目标的运动所经过的区域(背景象素值不变),又因为相邻视频帧间时间间隔很小,目标位置变化也很小,所以运动目标的运动所经过的区域也就代表了当前帧中运动目标所在的区域。利用此原理便可以提取出目标。下图给出了帧差法的基本流程:1、首先利用2-1 式得到第k 帧和第k+1帧的差值图像1k Diff +;2、对所得到的差值图像1k Diff +二值化(如式子2-2 示)得到Qk+1;3、为消除微小噪声的干扰,使得到的运动目标更准确,对1k Q +进行必要的滤波和去噪处理,后处理结果为1k M +。 111255,,(,)0,,(,)k k k if Diff x y T Q if Diff x y T +++>?=?≤? (T 为阈值) (2-2)

多目标跟踪方法研究综述

经过近40多年的深入研究和发展,多目标跟踪技术在许多方面都有着广泛应用和发展前景,如军事视觉制导、机器人视觉导航、交通管 制、 医疗诊断等[1-2]。目前,虽然基于视频的多运动目标跟踪技术已取得了很大的成就,但由于视频中图像的变化和物体运动的复杂性,使得对多运动目标的检测与跟踪变得异常困难,如多目标在运动过程中互遮挡、监控场景的复杂性等问题,解决上述难题一直是该领域所面临的一个巨大挑战,因此,对视频中多目标跟踪技术研究仍然是近年来一个热门的研究课题[3-5]。 1、多目标跟踪的一般步骤 基于视频的多目标跟踪技术融合了图像处理、模式识别、人工智能、 自动控制以及计算机视觉等众多领域中的先进技术和核心思想。不同的多目标跟踪方法其实现步骤有一定的差异,但多目标跟踪的主要 流程是相同的,如图1所示,其主要包括图像预处理、 运动目标检测、多目标标记与分离、多目标跟踪四个步骤。 图1多目标跟踪基本流程图 2、多目标跟踪方法 多目标跟踪方法可以根据处理图像或视频获取视点的多少分为两大类,一类是单视点的多目标跟踪,另一类就是多视点的多目标跟踪。 2.1单视点的方法 单视点方法是针对单一相机获取的图像进行多目标的检测和跟踪。该方法好处在于简单且易于开发,但由于有限的视觉信息的获取,很难处理几个目标被遮挡的情况。 块跟踪(Blob-tracking)是一种流行的低成本的跟踪方法[6-7]。这种方法需要首先在每一帧中提取块,然后逐帧寻找相关联的块,从而实现跟 踪。 例如BraMBLe系统[8]就是一个基于已知的背景模型和被跟踪的人的外表模型计算出块的似然性的多块跟踪器。这种方法最大的不足之处在于:当由于相似性或者遮挡,多个目标合并在一起时,跟踪将导致失败。因此,可以取而代之的方法是通过位置、外观和形状保留清晰目标的状态。文献[9]利用组合椭圆模拟人的形状,用颜色直方图模拟不同人的外观,用一个增强高斯分布模拟背景以便分割目标,一旦场景中发现对应于运动头部的像素,一个MCMC方法就被用于获取多个人的轮廓的最大后验概率,在单相机的多人跟踪应用中取得了非常有意义的结果。Okuma等人提出了一种将Adaboost算法和粒子滤波相结合的方法[10]。该方法由于充分利用了两种方法的优点,相比于单独使用这两种方法本身,大大降低了跟踪失败的情形,同时也解决了在同一框架下检测和一致跟踪的问题。Brostow等人提出了一个用于在人群中检测单个行人的特征点轨迹聚类的概率框架[11]。这个框架有一个基本假设是一起运动的点对可能是同一个个体的一部分,并且把它用于检测和最终的跟踪。对于完全和部分遮挡目标以及外观变化,这些方法和另外一些相似的方法都有很大的局限性。 为了解决遮挡问题,一系列单视点跟踪技术应运而生。典型的方法 是利用块合并来检测遮挡的发生[12]。当被跟踪的点消失, 跟踪特征点的方法就简单的将其作为一个被遮挡特征点。近年来,基于目标轮廓和外观的跟踪技术利用隐含的目标到相机的深度变化来表示和估计目标间的遮挡关系。但大多数方法都只能解决部分遮挡,不能解决完全被遮挡 的情况。 另外,小的一致运动被假设为是可以从遮挡视点中可以预测运动模式的,这些给没有预测运动的较长时间的遮挡的处理带来问题。尽管这些单视点的方法有较长的研究历史,但这些方法由于不能明锐的 观察目标的隐藏部分,因此不能很好地解决有2或3个目标的遮挡问题。 2.2多视点的方法 随着复杂环境中对检测和跟踪多个被遮挡的人和计算他们的精确 位置的需要,多视点的方法成为研究的热点。 多视点跟踪技术的目的就是利用不同视点的冗余信息,减少被遮挡的区域,并提供目标和场景的3D信息。尽管通过相机不能很好地解决目标跟踪问题,但却提出了一些很好的想法,如选择最佳视点,但这些方法都以实际环境模型和相机校正为特征。 90年代后半期,在很多文献中给出了多视点相关的多目标跟踪方法。 比如利用一个或多个相机与观察区域相连的状态变化映射,同时给出一系列的行为规则去整合不同相机间的信息。利用颜色在多个视点中进行多目标的跟踪的方法,该方法模拟了从基于颜色直方图技术的 背景提取中获得的连接块并应用其去匹配和跟踪目标。 除此之外,也有在原来的单视点跟踪系统进行扩展的多视点跟踪方法。该方法主要是通过一个预测,当预测当前的相机不在有一个好的视点时,跟踪就从原来凯斯的那个单相机视点的跟踪转换到另外一个相机,从而实现多视点的跟踪。基于点与它对应的极线的欧氏距离的空间匹配方法、贝叶斯网络和立体相对合并的方法都是多目标多视点跟踪的常见方法。尽管这些方法都试图去解决遮挡问题,但由于遮挡的存在,基于特征的方法都不能根本解决,其次,这些方法中的遮挡关系的推理一般都是根据运动模型,卡尔曼滤波或者更普遍的马尔科夫模型的时间一致性来进行的。因此,当这个过程开始发散,这些方法也不能恢复遮挡关系。 最近一种基于几何结构融合多个视点信息的Homegraphicoccupancyconsrraint(HOC)[12]方法,可以通过在多场景平台对人的定位来解决遮挡问题。仅采用随时间变化的外表信息用于从背景中检测前景,这使得在拥挤人流的场景中的外表遮挡的解决更健壮。利用多视点中的前景信息,主要是试图找到被人遮挡的场景点的图像位置,然后这些被遮挡的信息用于解决场景中多个人的的遮挡和跟踪问题。在这种思想指导下,Mittal,Leibe,Franco等的研究工作和机器人导航中基于遮挡网格的距离传感器的并行工作是相似的,这些方法在融合3D空间信息的时候需要进行校正相机。但HOC方法是完全基于图像的,仅需要2D结构信息进行图像平面的融合。当然也有另外一些不需要进行相机校正的算法被提出,但需要学习一个与相机最小相关的信息。在目标跟踪过程中,由于这些方法依赖于单个相机的场景,对于拥挤场景中目标分布密度增加九无能为力了。在HOC的多视点的目标跟踪中,对于任何单一相机的场景,或者相机对的场景,都不需要进行定位和跟踪目标,而是从所有相机的场景中收集证据,形成一个统一的框架,由于该方法能够从多个时间帧的场景中进行场景被遮挡概率的全局轨迹优化,因此可以同时进行检测和跟踪。 3、总结 动态目标检测与跟踪是智能监控系统的重要组成部分,它融合了图像处理、模式识别、自动控制及计算机应用等相关领域的先进技术和研究成果,是计算机视觉和图像编码研究领域的一个重要课题,在军事武器、工业监控、交通管理等领域都有广泛的应用。尤其是对于多目标检测与跟踪中的遮挡与被遮挡的处理,对提高智能监控中目标的行为分析有着重要的意义。随着监控设备的发展和设施的铺设,多视点的场景图像是很容易得到的,因此借助信息融合的思想,充分利用不同角度对目标的描述信息,可以很大地改进目前基于单视点的多目标检测和跟踪的精度,能够很好地解决单视点方法中不能很好解决的遮挡问题。参考文献 [1]胡斌,何克忠.计算机视觉在室外移动机器人中的应用.自动化学报,2006,32(5):774-784. [2]A.Ottlik,H.-H.Nagel.InitializationofModel-BasedVehicleTrackinginVideoSequencesofInner-CityIntersections.InternationalJournalofComputerVision,2008,80(2):211-225.多目标跟踪方法研究综述 苏州联讯图创软件有限责任公司 陈宁强 [摘要]文章对目前现有的多目标跟踪方法从信息获取的不同角度进行了综述。主要分析比较了目前单视点和多视点目标跟踪方 法对于目标遮挡问题的处理性能,并指出多视点的基于多源信息融合的思想,可以较好地解决场景中目标的遮挡问题。[关键词]单视点多视点目标跟踪信息融合基金项目:本文系江苏省自然科学基金(BK2009593)。 作者简介:陈宁强(1973-),男,江苏苏州人,工程师,主要研究方向:GIS、模式识别和图像处理与分析。 目标跟踪多目标标记与分离 匹配 目标模型 运动检测当前帧图像 背景提取 去噪 ROI 预处理 视频序列 (下转第26页)

目标定位跟踪算法及仿真程序(修改后)

目标定位跟踪算法及仿真程序 质心算法是最简单的定位算法,如图2-1所示,四个小圆为观测站,实线三角形是目标真实的位置,假设四个圆形观测站都探测到目标的存在,则根据质心定位算法,目标的位置(x,y )可以表示为:4 4 321x x x x x +++= , 4 4 321y y y y y +++= ,这里观测站得位置为),(i i y x ,同理,当观测站数目为N 时,这时候的质心定位算法可以表示为: ???? ? ??? ????=??????∑ ∑ ==N i i N i i y N x N y x 1 1 11 图1 质心定位 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 质心定位算法Matlab 程序 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function main % 定位初始化 Length=100; % 场地空间,单位:米 Width=100; % 场地空间,单位:米 d=50; % 目标离观测站50米以内都能探测到,反之则不能 Node_number=6; % 观测站的个数 for i=1:Node_number % 观测站的位置初始化,这里位置是随机给定的 Node(i).x=Width*rand; Node(i).y=Length*rand; end % 目标的真实位置,这里也随机给定 Target.x=Width*rand; Target.y=Length*rand; % 观测站探测目标 X=[]; for i=1:Node_number

MeanShift算法

核函数也称“窗口函数”。一维空间用到的核函数有高斯(Gaussian)、余弦弧(Cosinus arch)、双指数(Double Exponential)、均匀(Uniform)、三角(Trangle)、依潘涅契科夫(Epanechikov)、双依潘涅契科夫(DoubleEpanechnikov)、及双权(Biweight)函数。图2.1给出了最常用的几个核函数

给定一组一维空间的n个数据点集合令该数据集合 的概率密度函数假设为f (x),核函数取值为,那么在数据点x处的密度估计可以按下式计算: 上式就是核密度估计的定义。其中,x为核函数要处理的数据的中心点,即数据集合相对于点x几何图形对称。核密度估计的含义可以理解为:核估计器在被估计点为中心的窗口内计算数据点加权的局部平均。或者:将在每个采样点为中心的局部函数的平均效果作为该采样点概率密度函数的估计值。

MeanShift实现: 1.选择窗的大小和初始位置. 2.计算此时窗口内的Mass Center. 3.调整窗口的中心到Mass Center. 4.重复2和3,直到窗口中心"会聚",即每次窗口移动的距离小于一定的阈值,或者迭代次数达到设定值。 meanshift算法思想其实很简单:利用概率密度的梯度爬升来寻找局部最优。它要做的就是输入一个在图像的范围,然后一直迭代(朝着重心迭代)直到满足你的要求为止。但是他是怎么用于做图像跟踪的呢?这是我自从学习meanshift以来,一直的困惑。而且网上也没有合理的解释。经过这几天的思考,和对反向投影的理解使得我对它的原理有了大致的认识。 在opencv中,进行meanshift其实很简单,输入一张图像(imgProb),再输入一个开始迭代的方框(windowIn)和一个迭代条件(criteria),输出的是迭代完成的位置(comp )。 这是函数原型: int cvMeanShift( const void* imgProb, CvRect windowIn,CvTermCriteria criteria, CvConnectedComp* comp ) 但是当它用于跟踪时,这张输入的图像就必须是反向投影图了。 为什么必须是反向投影图呢?首先我们要理解什么是反向投影图。 简单理解它其实实际上是一张概率密度图。经过反向投影时的输入是一个目标图像的直方图(也可以认为是目标图像),还一个输入是当前图像就是你要跟踪的全图,输出大小与全图一样大,它上像素点表征着一种概率,就是全图上这个点是目标图像一部分的概率。如果这个点越亮,就说明这个点属于物体的概率越大。现在我们明白了这原来是一张概率图了。当用meanshift跟踪时,输入的原来是这样一幅图像,那也不难怪它可以进行跟踪了。 半自动跟踪思路:输入视频,用画笔圈出要跟踪的目标,然后对物体跟踪。用过opencv的都知道,这其实是camshiftdemo的工作过程。 第一步:选中物体,记录你输入的方框和物体。 第二步:求出视频中有关物体的反向投影图。

多目标跟踪算法

多目标跟踪算法 先来回顾下卡尔曼滤波器: 假定k k x |表示当前k 时刻目标的状态,k 1k x |+表示下一个时刻目标的状态,k z 则表示k 时刻的实际观测。一般地模型都假定为线性的: 这里的1k x +为k+1时刻目标的状态,k x 为k 时刻的状态,为状态转移矩阵,而是服从均值为0方差为的正态分布,表示由噪声等引起的干扰。卡尔曼滤波采取初步估 计: 这里的估计只是初步的估计,状态估计与实际状态的误差矩阵等于状态1k x +的的方差,即: 更新(修正): 这里已知了实际观察,同样是假定观测与状态的似然关系是线性的,即满足: 服从一个均值为0方差为 的正态分布。 卡尔曼滤波器给出了经过更新后得到的比较合理的k+1时刻的估计为: 相应地得到了更新后方差的估计: 这里: 其实这些都是通过最小二乘法推出来的,即使得误差: 最小,而初步估计也是通过最小二乘法获得,即使得: 最小。有了上述估计方程后,便可以获得一个估计流程:

下面再介绍下贝叶斯公式 先看一个定义 马氏链: 设{} ,,,k j i E =为有限集或可列集,称()0n n X ≥为定义在概率空间()P F,,Ω上,取值于空间E 的马氏链,如果满足下面的马氏性:对一切n 10i i i ,,, 有 [][]1n 1n n n 1n 1n 00n n i X i X P i X i X i X P ----======|,,| 若左边的条件概率有定义,则称[]i X j X P 1n n ==-|为在n-1时刻状态为i,在n 时刻在j 的转移概率函数,若它与n 无关,则记为ij p ,并称为时齐的或齐次的。显然这里的马氏性接近于独立性,在一定程度上可以称为无记忆性或无后效性。 下面我们来推导贝叶斯公式: 容易由条件概率公式定义知 而 ()()()()()()( ) ()() ()( ) ()() ( )() ()()() 1 k 1 k 1k k k 1 k k 1k k k 1k k 1k k k 1k k k k k 1k 1k 1k k k 1k k k k k 1k 1k 1k k k 1k 1k 1k k k 1k 1k 1k 1k 1k z x f dx x f x z f x f x z f z f dx x f x z f x z f z f x f x z f x z f dx z x f x z f z x f x z f x f +++++++++++++++++++++++== ? == ?? ?||||||||||||||||||||||||| 就得到了更新后的公式如下: 这里记 于是就可以得到贝叶斯滤波器跟踪流程如下: 实际上可以证明,卡尔曼滤波器是贝叶斯滤波器的一种特殊形式,由于假定噪声服从正态分布,同样地观测与状态估计的误差也是服从正态分布,那么不难得:

Matlab实例之MeanShift的跟踪算法程序

MeanShiftCluster.m %testDistCluters clear clc profile on nPtsPerClust = 250; nClust = 3; totalNumPts = nPtsPerClust*nClust; m(:,1) = [1 1]'; m(:,2) = [-1 -1]'; m(:,3) = [1 -1]'; var = .6; bandwidth = .75; clustMed = []; %clustCent; x = var*randn(2,nPtsPerClust*nClust); %*** build the point set for i = 1:nClust x(:,1+(i-1)*nPtsPerClust:(i)*nPtsPerClust) = x(:,1+(i- 1)*nPtsPerClust:(i)*nPtsPerClust) + repmat(m(:,i),1,nPtsPerClust); end tic [clustCent,point2cluster,clustMembsCell] = MeanShiftCluster(x,bandwidth); toc

numClust = length(clustMembsCell); figure(10),clf,hold on cVec = 'bgrcmykbgrcmykbgrcmykbgrcmyk';%, cVec = [cVec cVec]; for k = 1:min(numClust,length(cVec)) myMembers = clustMembsCell{k}; myClustCen = clustCent(:,k); plot(x(1,myMembers),x(2,myMembers),[cVec(k) '.']) plot(myClustCen(1),myClustCen(2),'o','MarkerEdgeColor','k','MarkerFaceColor',cVec(k ), 'MarkerSize',10) end title(['no shifting, numClust:' int2str(numClust)]) testMeanShift.m %testDistCluters clear clc profile on nPtsPerClust = 250; nClust = 3; totalNumPts = nPtsPerClust*nClust; m(:,1) = [1 1]'; m(:,2) = [-1 -1]'; m(:,3) = [1 -1]'; var = .6; bandwidth = .75;

相关文档