搜档网
当前位置:搜档网 › 一种基于Kalman_meanshift的自适应跟踪算法

一种基于Kalman_meanshift的自适应跟踪算法

一种基于Kalman_meanshift的自适应跟踪算法
一种基于Kalman_meanshift的自适应跟踪算法

第39卷第5期激光与红外V o.l39,N o.5 2009年5月LA SER&I NFRA RED M ay,2009

文章编号:1001-5078(2009)05-0558-04#图像与信号处理#一种基于Kalm an-mean sh ift的自适应跟踪算法

袁胜智,谢晓方,李洪周

(海军航空工程学院兵器科学与技术系,山东烟台264001)

摘要:提出了一种基于K al m an-m ean sh ift的自适应跟踪算法。利用卡尔曼滤波器预测目标

在当前时刻的起始位置,并利用互信息量与目标尺寸之间的关系,在m ean sh ift算法中加入了

一个尺度更新项,通过尺度更新对运动目标,特别是目标尺寸变化的目标进行自适应跟踪。实

验表明该算法提高了m ean sh ift跟踪算法的适应性,有效地解决了长时间跟踪过程中尺度变

化目标定位困难的问题。

关键词:m ean sh if;t Ka l m an滤波;目标跟踪;互信息量

中图分类号:TP391文献标识码:A

Bandwidt h-adapti ve tracki ng algorit h m base d on

Kal m an-m ean shiftm ethod

YUAN Sheng-zh,i XI E X iao-fang,L IH ong-zhou

(D epart m ent o f Sc i ence and T echnology ofW eapons,N ava lA e ronautical and A stronautical U niversit y,Y antai264001,China)

Ab stract:A band w idt h-adaptive track i ng a l gor it hm based on K a l m an-m ean shiftm ethod i s proposed.F irstl y,t he star-t

i ng position o fm ean sh ift is predicted by K al m an filter a t present,and then a sca le upda ti ng ite m of tracki ng w i ndow is

appended i n the m ean sh ift a l go rith m based on the re lati on be t w een mutual i n f o r m ati on and the object scale.T hrough

the sca l e updati ng,t he mov i ng object,espec i a lly t he ob j ec t o f scale va riance,i s adapti ve ly tracked.Experi m enta l re-

sults de m onstrate t hat the adaptab ility o fm ean sh iftm ethod i s enhanced by t he i m proved algor i th m,w hich is effec tive-

l y app lied i n t he track i ng prob l em for t he object o f sca l e var i ance i n the process o f l ong ti m e tracking.

K ey w ords:m ean s h ift;K a l m an filter;object track i ng;m utua l i nfor m a tion

1引言

M ean sh ift算法是一种基于密度梯度的无参估计算法。2000年,Dori n Co m anic i u等将该算法引入到了目标跟踪领域[1],取得良好的跟踪效果。该算法凭借良好的实时性、鲁棒性,受到越来越多研究人员的重视,已成为国内外目标跟踪研究的热点之一。

标准m ean sh ift算法中,核函数窗宽保持不变,当目标尺度发生变化时,会导致定位不准确甚至目标丢失;缺少目标模型实时更新,当进行长时间跟踪时,目标常因存在外观变化或出现遮挡导致丢失。针对不足,研究人员进行不断改进。文献[2]论述了m ean sh ift中核函数带宽的选择问题,但计算繁琐。文献[3]以核窗宽做正负10%增量修正,但该方法对尺寸逐渐缩小的目标有较好的跟踪效果,而跟踪尺寸逐渐增大的目标容易丢失。文献[4]、[5]利用K al m an滤波来更新目标模型,从而使算法稳健,但其尺度更新方法还是基于文献[3]的方法。

C olli n s将尺度空间[6]和m ean shift相结合,解决了核函数带宽实时变化问题,但损失了实时性。

作者简介:袁胜智(1977-),男,博士研究生,主要从事武器系统建模与仿真及图像压缩与目标识别等领域研究。E-m ai:l yuan s h-engz h i_hy@s i na.co m

收稿日期:2008-11-08

本文从m ean shift 算法分析出发,引入K al m an 滤波来进行目标运动辨识与估计,并利用互信息量与目标尺寸的关系,在m ean sh ift 跟踪算法中加入了一个尺度更新项,完成了基于Ka l m an -m ean sh ift 自适应跟踪算法设计。实验结果表明,改进的跟踪算法能自动选择合适的跟踪窗口大小,能够有效地跟踪尺寸变化的目标,并且具有很好的实时性。2 M ean sh ift 方法原理分析

M ean sh ift 算法,主要是通过建立目标模型、候选目标模型,选取合适的相似度函数度量目标模型和候选目标模型的相似性,通过求相似性函数的最大值求取关于目标的m ean sh ift 向量,根据收敛性,不断迭代计算m ean shift 向量,最终使目标收敛到目标的真实位置,从而达到跟踪的目的。

目标模型及候选区域模型常采用加权模型,如式(1)、式(2):

q u =C E n

i =1k (+y 0-x i h +

2

)D [b (x i -u)](1)q u =C h E n

h

i =1k(+y -x i h +

2)D [b (x i -u )](2)

其中,k (x )为各点加权的核函数的轮廓函数(常用Epanechn i k ov 核函数);h 为核函数带宽;D (x )是Delta 函数;C 是一个标准化的常量系数;C h 是标准化常量系数。

Co m an iciu 在文献[3]中说明了在m ean shift 算法中Bhattacharyya 系数是优于其他相似性函数的一种选择。因此,选择Bhattachar yya 系数作为m ean sh ift 跟踪算法的相似性函数,定义为:

Q (y )=Q [p _

(y ),q _

]=E m

i =1

p ^u (y )q ^u

(3)

将Bhattacharyya 系数Q (y )在p u (y 0)处进行泰勒展开,并根据m ean sh ift 无参密度估计理论,可整理得到目标中心迭代式:

y j +1=E n h

i =1x i w i k c +y j -x i h +2

E n h i =1x i w i k c +y j -x i h +2

,j =0,1,2,,(4)

通过求取y 1,完成一次均值平移,随后可令y 1v y 0进行下一次均值平移;由算法收敛性可知,其总是向Bhattacharyya 系数的局部极值移动。当核窗口的位置移动到峰值时,y 0U y j ,此时核窗口将在目标所处位置收敛,从而完成目标定位。从式(4)可以看出,m ean sh ift 迭代式依赖于带宽h,却本身没

有能力自适应调整窗宽。

3 Kal m an 目标运动估计

标准的m ean sh ift 跟踪算法是以上一帧的目标位置作为当前帧迭代的初始位置,并在其邻域内寻找使相似度函数极大值的位置。如果运动目标尺度变化较快且附近有其他相似物体靠近时,很容易丢失目标或误定位。事实上,空间目标的运动是连续的、有规律的,无论是机动还是非机动,都可以在一定范围内用某种数学模型来近似描述。因此可以采用一定的方法进行目标运动辨识与估计,从而提高算法的实时性。K al m an 滤波是一种最小均方误差估计方法。采用K al m an 进行运动目标位置预测可将搜索窗口限制在一个很小的范围,从而减小了运算量,提高速度;可利用运动趋势将目标和其他相似物体或噪声分开;也可独立用于多目标跟踪。

设一个离散时间线性系统的状态方程和观测模型

[7]

分别为:

X (k )=A (k -1)X (k -1)+B (k )W (k )(5)Y(k )=C (k )X (k )+V(k )

(6)

令信号向量X (k )=[x (k ) y (k )x c (k )y c (k )]T

,其中x (k ),y (k )分别是目标中心在x,y 轴上的位置分量;x c (k ),y c (k )分别是x,y 轴上的速度。观测向量Y(k )=[x c (k )y c (k )]T

,其中x c (k ),y c (k )分别是目标中心在x,y 轴上位置的值。加速度a 是随机变量,且a (t)~N (0,R 2

w )。那么Ka l m an 状态方程和观测模型可以表示为:x (k )y (k )x c (k )y c (k )

=

10

t 0010

t

00100

001

x (k -1)y (k -1)x c (k -1)y c (k -1)+

t 2

/2t 2

/2t t

W (k )

(7)

x c (k )y c (k )

=

100001

00

x (k )

y (k )x c (k)y c (k)

+11

V(k )(8)

通过K al m an 滤波预测,将得到的运动目标位置估计值作为m ean shift 算法在初始迭代位置,然后在其邻域内寻找最佳匹配位置。经过实验表明

[7]

,引入Ka l m an 滤波后,可减少运算量,能够适

应目标快速运动的情况,并能解决某些特殊遮挡问题。

4 基于K al m an-m ean shift 的自适应跟踪算法

文献[8]基于信息量与目标尺寸的关系,在m ean sh ift 算法加入了一个尺度更新项,取得了较好

559

激光与红外 N o .5 2009 袁胜智等 一种基于K a l m an -m ean sh ift 的自适应跟踪算法

的效果。然而从信息论角度出发,互信息量作为两个变量(两幅图像)之间相关性的量度,更具有代表性。因此,本文依据互信息量与目标尺寸之间的关系,对文献[8]的尺度更新项进行了修正,并基于K al m an 目标运动辨识与估计,设计了基于Ka l m an -m ean shift 的自适应跟踪算法。4.1 图像的互信息量

互信息量只依赖于图像本身的信息,不需要任何假设或先验知识,也不需要对图像进行特征点提取等预处理,是衡量图像之间信息相互关联的一种度量,可以看成是联合灰度直方图的一个测度。

两图像A 和B 的互信息量可定义为:I (A,B )=H (A )+H (B )-H (A,B )

(9)

其中,H (A ),H (B )分别是图像A,B 的平均信息量,即图像的信息熵,其具体定义如公式(10),M i (A,B )是两者相关平均信息量,即互信息量。

H (#)=-E L -1

i =0

p (x i )l o g 2p (x i )(10)

同样,依据信息熵的定义,图像A,B 联合信息熵的定义如下:

H (A,B )=-E i

,j P A,B (x A i ,x B j )l o g 2P A,B (x A i ,x Bj )(11)

设P A (x Ai ),P B (x B j )为边缘概率密度函数,P A,B

(x Ai ,x B j )为联合概率密度函数。h 为两幅图像的联合直方图,可由二维矩阵表示,h (x Ai ,x Bj )表示在图A 中具有灰度为x A i ,且在图B 中具有灰度值x B j 的相关点的个数,那么有:

P A,B (x A i ,x Bj )=

h(x A i ,x Bj )

E i

,j h (x A i ,x Bj )(12)

4.2 互信息量与目标尺寸的关系

在研究互信息量与目标尺寸之间的关系时,需引入预测扩展窗口的概念。该窗口以Ka l m an 滤波预测的目标位置估计值为中心,进行矩形扩展,具体大小可设定。本文将设为图像的1/4。显然预测扩展窗口可看目标位置估计值为中心的一个邻域,是m ean shift 算法的迭代搜索范围。引入该窗口,可减小匹配搜索区域,同时减少m ean sh ift 迭代次数。设需跟踪的目标模板(即时更新的)为图像A (其信息量为I 0),下一帧图像中的预测扩展窗口图像设为B ,计算两幅图像的互信息量I (A,B )。当目标尺寸增大时,其互信息量呈增加趋势。依据文献[8]尺度效应推广实验基本思想,本文选取40帧坦克序

列图像(如图1(a)、(b)、(c)所示)进行跟踪实验,

分别计算互信息量与模版图像信息量的比值以及目标矩形区域尺寸比值S ,并求得误差e =1+l o g 2[I (A,B )/I 0]-S 。误差曲线如图1(d )所示。 由误差曲线图可知,误差相对很小。因此,互信息量与模板信息量的比值和物体尺寸存在如下的关系:H U H 0(1+log 2[I (A,B )/I 0],其中H 0指前一帧的物体尺寸,H 指当前帧的物体尺寸。

4.3 跟踪窗口自适应跟踪算法

自动更新跟踪窗口是改进跟踪算法的关键。根据上述的互信息量与跟踪目标尺寸的关系,本文在m ean sh ift 算法中加入了一个尺度更新项,跟踪窗口的尺度变化按照s =1+l o g 2[I (A,B )/I 0]比例进行更新。跟踪窗口自适应方法思想是:未出现遮挡时,利用更新的目标模版(第一帧为人工指定,后序帧目标模板采用跟踪后的目标区域进行更新),通过Ka l m an 滤波估计下一帧目标位置估计值,获取预测扩展窗口,计算预测扩展窗口图像与目标模版图像的互信息量与目标模版图像的信息量的比值,然后按照关系进行尺度更新;出现遮挡时,不进行更新。参照标准的m ean sh ift 跟踪算法的流程,引入K a-l m an 目标运动辨识与估计和互信息量更新尺度后,相应的自适应跟踪算法流程如下:

1)初始化帧计数器n =0,设定初始跟踪窗口参数,尺度变化比例S =0;目标位置y 0,计算目标模型P u (y 0),u =1,,,m;

2)读取下一帧图像,即n =n +1,并利用K a-l m an 滤波器预测运动目标位置的估计值;

3)计算预测扩展窗口图像与模板图像的互信息量与模板图像的信息量比值,并由关系式s =1+log 2[I(A,B )/I 0]得到跟踪窗口变化比例,更新当前

560

激光与红外 第39卷

跟踪窗口尺度;

4)计算权值w i,i=1,,,n;并迭代计算候选目标的新位置y1;

5)计算候选模型q u(y1),u=1,,,m,并计算它与目标模板的相似度;

6)如果Q(y1)>Q(y0),那么y1w(y0+y1)/2;

7)如果+y1-y0+

5实验结果

为了验证上述自适应算法的有效性,分别采用窗宽固定m ean sh ift算法和自适应带宽算法对存在尺度变化的红外飞机序列图像(共截取110帧,大小为256@200)进行跟踪实验。跟踪窗口选矩形窗,初始跟踪窗在第1帧手动选择,初始窗口宽度(w,h)=(2,2)。选取下列5帧序列图像跟踪情况以示说明。其中,图2(a)标准m ean sh ift算法跟踪效果;图2(b)本文提出的自适应算法的跟踪效果。从图2(a)可以看出,当长时间跟踪时,特别是目标尺寸发生变化时,若不及时更新目标模板,会产生目标丢失的现象。而本文提出的自适应跟踪算法,能较准确估计目标位置,并根据预测扩展窗口与目标模板的互信息量进行尺度更新,能适应目标的尺寸变化,同时保持m ean shift 算法的实时性。

6结论

由于传统带宽固定m ean sh ift跟踪算法和带宽增量修正法[3]存在尺度和空间定位不准确的缺陷。本文在Ka l m an目标运动估计的基础上,引入预测扩展窗口,通过互信息量与目标尺寸之间的关系,引入尺度更新项,提出了一种基于Ka l m an-m ean sh ift的自适应跟踪算法。跟踪实验表明,该算法对提高m ean sh ift跟踪算法的适应性有重要意义,有效地解决了长时间跟踪过程中尺度变化的目标定位困难的问题。

参考文献:

[1]D Co m aniciu,V R amesh,P M eer.R ea-l ti m e track i ng of

non-r i g i d objects using m ean-sh ift[J].IEEE Con ference

on Co m pute r V isi on and Pattern R ecogn iti on,2000,2:

142-149.

[2]D Com an i c i u,V R a m esh,P M eer.The var i able band w i dth

mean shift and data-dri v en sca l e se lecti on[C].P roc.8th

Int.l Con.f on Co m pute r V isi on.V ancouver,C anada:

I EEE,2001,1:438-445.

[3]D Co m aniciu,V R a m esh,P M ee r.K erne-l based ob j ect

tracking[J].IEEE T ransacti ons on Pattern A na l y si s and

M ach i ne Intelligence,2003,25(5):564-577.

[4]P eng N i ng-song,Y ang Ji e,L iu Zh.i M ean sh ift blob track-

i ng w ith kerne l hist og ram filter i ng and hypothesi s testi ng

[J].P attern R ecogn iti on L ette rs,2005,26(5):

605-614.

[5]彭宁嵩,杨杰,周大可,等.M ean-Sh ift跟踪算法中目标

模型的自适应更新[J].数据采集与处理,2005,20

(2):125-129.

[6]Robert T Co lli ns.M ean-sh ift

b l ob tracking through sca le

space[C]//2003I EEE Co m-

puter Soc iety Con ference on

Co m pute r V isi on and P attern

Recogniti on(C V PR c03).

V ancouver,Canada:IEEE,

2003,2:234-240.

[7]凡友福.均值平移算法在目

标跟踪中的应用[D],武汉:

武汉理工大学,2007,11:

19-20.

[8]钱惠敏,茅耀斌,王执铨.自动选择跟踪窗尺度的

M ean-Sh ift算法[J].中国图像图形学报,2007,2(2):

246-249.

561

激光与红外N o.52009袁胜智等一种基于K a l m an-m ean sh ift的自适应跟踪算法

光线跟踪讲解及源代码

计算机图形学期末作业 作业题目:Ray Tracing算法的实现 姓名:李海广 学号:S130201036 任课教师:秦红星

摘要 Ray Tracing算法又叫光线跟踪算法,它能通过递归方法逐个计算每个像素点的光强,然后就可以绘制出高度真实感的图像,因此该方法在图形学领域得到了广泛的应用。Ray Tracing算法的思想还能应用到移动通信终端定位领域,该领域里的射线跟踪法与此算法思想类似。MFC是微软公司提供的一个类库,以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。MFC在处理Windows窗口应用程序方面具有很大的优势,因此,本文使用MFC在VC6.0里实现Ray Tracing算法,并给出了该算法的详细讲解。 【关键词】Ray tracing 光线跟踪递归像素光强 MFC C++

目录 1.Ray Tracing算法概述 (1) 1.1Ray Tracing算法简介 (1) 1.2Ray Tracing算法的实现原理 (1) 2.Ray Tracing算法的具体实现 (2) 2.1算法的实现环境 (2) 2.2实现算法的C++程序简介 (2) 2.3算法的具体实现过程 (3) 2.4 程序运行结果 (11) 3.总结 (11) 3.1 通过该算法学到的东西 (11) 3.2本程序未完成的任务 (12) 4.参考文献 (12)

1.Ray Tracing算法概述 1.1Ray Tracing算法简介 光线跟踪(Ray tracing),又称为光迹追踪或光线追迹,它是来自于几何光学的一项通用技术,它通过跟踪与光学表面发生交互作用的光线从而得到光线经过路径的模型。它用于光学系统设计,如照相机镜头、显微镜、望远镜以及双目镜等。这个术语也用于表示三维计算机图形学中的特殊渲染算法,跟踪从眼睛发出的光线而不是光源发出的光线,通过这样一项技术将具有一定数学模型的场景显现出来。这样得到的结果类似于光线投射与扫描线渲染方法的结果,但是这种方法有更好的光学效果,例如对于反射与折射有更准确的模拟效果,并且效率非常高,所以在追求高质量结果时我们经常使用这种方法。 在光线跟踪的过程中,我们要考虑许多因素。要跟踪的光线包括反射光线、散射光线和镜面反射光线,利用递归方法并且设定一定的阀值来跟踪;在计算光强度时,我们要考虑场景中物体的反射系数、漫反射系数和镜面反射系数,还有交点处的法向量,出射光线的方向向量;在求视线以及反射光线和场景中物体的交点时,要计算出离眼睛以及出射点最近的交点作为击中点,得到击中点之后,我们就可以计算出击中点的坐标。最终,通过三个公式计算出每一个像素点处三种光线的光强值,再将三个光强值相加,就得到了该像素点出的总光强值,最后将颜色缓冲器中的三种颜色值输出到屏幕上,就得到了我们需要的光线跟踪图像。 1.2Ray Tracing算法的实现原理 (1)对图像中的每一个像素,创建从视点射向该像素的光线; (2)初始化最近时间T为一个很大的值,离视点最近的物体指针设为空值; (3)对场景中的每一个物体,如果从视点出发的光线和物体相交,且交点处的时间t比最近时间T小,则将t的值赋给最近时间T,并设置该物体为最近物体,将物体指针指向该物体; (4)经过第三步的计算后,如果最近物体指针指向空值NULL,则用背景色填充该像素。如果该指针指向光源,则用光源的颜色填充该像素;

传统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 :

基于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跟踪方法

光线投射,光线追踪与路径追踪的概念与区别

光线投射,光线追踪与路径追踪的概念与区别 光线投射Ray Casting [1968] 光线投射(Ray Casting),作为光线追踪算法中的第一步,其理念起源于1968年,由Arthur Appel在一篇名为《Some techniques for shading machine rendering of solids》的文章中提出。其具体思路是从每一个像素射出一条射线,然后找到最接近的物体挡住射线的路径,而视平面上每个像素的颜色取决于从可见光表面产生的亮度。 光线投射:每像素从眼睛投射射线到场景 光线追踪Ray Tracing [1979] 1979年,Turner Whitted在光线投射的基础上,加入光与物体表面的交互,让光线在物体表面沿着反射,折射以及散射方式上继续传播,直到与光源相交。这一方法后来也被称为经典光线跟踪方法、递归式光线追踪(Recursive Ray Tracing)方法,或Whitted-style 光线跟踪方法。 光线追踪方法主要思想是从视点向成像平面上的像素发射光线,找到与该光线相交的最近物体的交点,如果该点处的表面是散射面,则计算光源直接照射该点产生的颜色;如果该点处表面是镜面或折射面,则继续向反射或折射方向跟踪另一条光线,如此递归下去,直到光线逃逸出场景或达到设定的最大递归深度。 经典的光线追踪:每像素从眼睛投射射线到场景,并追踪次级光线((shadow, reflection, refraction),并结合递归 光线追踪(Ray tracing)是三维计算机图形学中的特殊渲染算法,跟踪从眼睛发出的光线而不是光源发出的光线,通过这样一项技术生成编排好的场景的数学模型显现出来。这样得到的结果类似于光线投射与扫描线渲染方法的结果,但是这种方法有更好的光学效果,例如对于反射与折射有更准确的模拟效果,并且效率非常高,所以当追求高质量的效果时经常使用这种方法。

TLD目标跟踪算法

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

目标跟踪算法的分类

目标跟踪算法的分类

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

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

光线跟踪算法思想

光线跟踪算法思想 一、概述 本试验完成了基本光线跟踪、高级光线跟踪(反射、折射、透明、阴影)、光线跟踪加速算法等三个与光线跟踪有关的内容。 二、算法简述 1.面片求交 面片求交采用了先求交后判断的方法。现将光线的方程代入平面方程中求出交点。然后将该面片与交点都投影到同一个平面中如XOY平面。投影时需要判断投影结果是否会退化为一条直线,如果发生这种情况则要投影到另一平面内。 投影后,将交点坐标代入到面的边线方程中(要保证线的方向一致),并判断符号,如果符号始终相同,则表示点在面内。 2.球体求交 球体求交也采用了将光线方程代入球体方程的方式。如果方程无解表示没有交点。如果有两个大于0的解,则取较小的一个;如果一个大于0,一个小于0的解,则取大于零的解。 如果没有大于零的解则仍判定为不相交。 3.光线跟踪算法 设定视点和画布 for 画布上的每一行 { for 每一行上的每个像素 { 生成一条从视点到像素点的光线ray LT[i,j] = ray.RayTrace(物体数组,光源数组,1) } } //计算光线与物体的交点,并计算光强 V oid RayTrace(物体数组,光源数组,递归深度) { for 每个物体 { 计算光线与该物体的交点 if 光线起点到交点的距离小于已记录的最短距离且大于0 { 将最短距离设置为该距离

在这条光线对象中记录交点坐标,平面法向量,透明度,物体序号等 } } 对于距光线起点最近的那个点,执行 ComputeIntensity(物体数组,交点数组序号,光源数组,递归深度) } V oid ComputeIntensity(物体数组,交点数组序号,光源数组,递归深度) { 给物体加上环境光强 for (每个光源) { 生成一条从光源指向交点的光线 判断该光线是否与其他不透明的物体相交 if (不相交) 将该光线光强乘以满反射系数和镜面反射系数加到被跟踪光线的光强中 } if (递归深度< 设定深度) { if (需要反射) { 生成一条以交点为起点的反射光线reflectRay reflectRay.RayTrace(物体数组,光源数组,递归深度+1) 将reflectRay的光强与镜面反射系数相乘,加到原被跟踪光线光强中} if (需要折射) { 生成一条以交点为起点的折射光线refractRay refractRay.RayTrace(物体数组,光源数组,递归深度+1) 将refractRay的光强与透明系数相乘,加到原被跟踪光线光强中} } } 4.光线跟踪加速算法(层次包围球) 本作业选择了包围球而不是包围和来实现加速。这是基于光线与包围球求交比与包围盒求交速度快的考虑。虽然包围盒比包围球能更紧密地包围住物体,但与包围盒求交时需要处理所有可见面片并且对求出的交点还要判断是否在面片内,这样,当物体数量较少时反而起不到加速的作用。因此我觉得包围盒更适合于规模很大的光线跟踪计算。

目标跟踪算法的分类

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

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

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

光线跟踪算法

光线跟踪算法的研究与进展 刘进 摘要:光线跟踪算法是图形绘制技术中的经典算法,但是该算法光线与物体的求交量庞大,严重制约着应用。本文从经典的光线跟踪算法出发,研究了目前光线跟踪算法的国内外研究状况,具体从改进的光线跟踪算法和光线跟踪算法的加速技术,并进行了对比和分析。最后对近几年的光线跟踪方法发展进行了总结,对未来研究热点及应用前景进行了展望。 关键词:可视化;光线跟踪算法;并行绘制;GPU Research Status and Prospect for ray tracing algorithms Abstract: As an classic algorithms of volume rendering in computer graphics, ray tracing algorithms is hindered by the huge computation cost in ray and volume. This paper summarizes the research status in ray tracing technology from the two main solutions: different extended ray tracing algorithms and the acceleration techniques in ray tracing algorithms. Comparison and analysis the different performance. Both current research focus and the future research prospect are also discussed in recent years. Key words: visualization; ray tracing algorithms; parallel rendering; GPU 引言 随着科学技术和计算机高速发展,人类已经进入到一个科技支撑的时代,在我们的生活中到处充满了高科技产品和技术,给我们的生活带来了改变和方便,其中计算机图形学的应用已经渗透到了各个工程技术领域,其已经成为计算机科学的重要学科之一,具有相当的重要性和无可替代的作用。计算机图形学自诞生以来得到了飞速发展,其通过计算机的输入设备、显示设备及绘制设备等对图形的表示、绘制、存储、显示等相关理论知识、算法技术进行研究的一门学科。真实感图形绘制是计算机图形学的主要研究内容之一,在虚拟现实、文物保护、影视游戏、三维动画、医学研究、建筑设计和系统仿真等领域中得到广泛应用,它追求对场景的逼真渲染[1]。其中逼真的图形绘制技术是最为活跃的研究领域之一。 光线跟踪算法是真实感图形绘制技术的主要算法之一,其原理简单,能够有效生成具有比较真实视观效果的各种各样的场景。该算法可通过一些光照明模型模拟在光源或环境光照射下物体表面发生的多种光照效果,例如漫反射、高光、镜面映像、场景消隐及阴影等。在计算机中对现实场景或是虚拟场景进行显示,除了要构建场景图形外,还要将场景中的各种光照效果模拟出来,这样生成的场景才能更逼真,光线跟踪算法就是既在几何上相似,也能模拟出大部分的光照效果的生成真实感图形的方法。光线跟踪算法是逆着真实光线的投射方向进行反向跟踪的,从视点向场景发射光线,光线与场景中的物体相交,计算光分量,因为视点向场景的光线较多,因而该算法光线与物体的求交量较大,但是因为其对场景的模拟的逼真,及其可以模拟漫反射、镜面反射、反射折射以及阴影等光照效果[1-2]。 进入90年代,随着计算机技术的发展,光线跟踪技术广泛应用于三维特技电影、电视广告、电子游戏的制作中,其应用领域也正在向如物理、化学、生物等其他学科领域渗透,其应用的范围正不断扩大,很多基于光线跟踪算法的新理论也应运而生,物理学中的相对论、地理中地层的绘图等与光线跟踪算法相结合的研究已经实现,极大的推动其学科的发展。可

目标跟踪算法的研究毕业论文

目录 摘要 (1) ABSTRACT (2) 第一章绪论 (4) 1.1课题研究背景和意义 (4) 1.2国外研究现状 (5) 1.3本文的具体结构安排 (7) 第二章运动目标检测 (8) 2.1检测算法及概述 (8) 2.1.1连续帧间差分法 (9) 2.1.2背景去除法 (11) 2.1.3光流法 (13) 第三章运动目标跟踪方法 (16) 3.1引言 (16) 3.2运动目标跟踪方法 (16) 3.2.1基于特征匹配的跟踪方法 (16) 3.2.2基于区域匹配的跟踪方法 (17) 3.2.3基于模型匹配的跟踪方法 (18) 3.3运动目标搜索算法 (18) 3.3.1绝对平衡搜索法 (18) 3.4绝对平衡搜索法实验结果 (19) 3.4.1归一化互相关搜索法 (21)

3.5归一化互相关搜索法实验结果及分析 (22) 第四章模板更新与轨迹预测 (26) 4.1模板更新简述及策略 (26) 4.2轨迹预测 (28) 4.2.1线性预测 (29) 4.2.2平方预测器 (30) 4.3实验结果及分析: (31) 致 (36) 参考文献 (37) 毕业设计小结 (38)

摘要 图像序列目标跟踪是计算机视觉中的经典问题,它是指在一组图像序列中,根据所需目标模型,实时确定图像中目标所在位置的过程。它最初吸引了军方的关注,逐渐被应用于电视制导炸弹、火控系统等军用备中。序列图像运动目标跟踪是通过对传感器拍摄到的图像序列进行分析,计算出目标在每帧图像上的位置。它是计算机视觉系统的核心,是一项融合了图像处理、模式识别、人工只能和自动控制等领域先进成果的高技术课题,在航天、监控、生物医学和机器人技术等多种领域都有广泛应用。因此,非常有必要研究运动目标的跟踪。 本论文就图像的单目标跟踪问题,本文重点研究了帧间差分法和背景去除法等目标检测方法,研究了模板相关匹配跟踪算法主要是:最小均方误差函数(MES),最小平均绝对差值函数(MAD)和最大匹配像素统计(MPC)的跟踪算法。在跟踪过程中,由于跟踪设备与目标的相对运动, 视野中的目标可能出现大小、形状、姿态等变化, 加上外界环境中的各种干扰, 所要跟踪的目标和目标所在的场景都发生了变化, 有可能丢失跟踪目标。为了保证跟踪的稳定性和正确性, 需要对模板图像进行自适应更新。由于目标运动有一定得规律,可以采取轨迹预测以提高跟踪精度,本文采用了线性预测法。 对比分析了相关匹配算法的跟踪精度和跟踪速度;对比不采用模板更新和模板跟新的跟踪进度和差别,实验表明,跟踪算法加上轨迹预测及模板跟新在很大程度上提高了跟踪帧数,提高了跟踪精度,具有一定的抗噪声性能。

组合优化近似搜索算法中的超启发式发展趋势

文章编号:100622475(2004)0620007205 收稿日期:2003206230 作者简介:李菊芳(19782),女,河南林州人,国防科技大学人文与管理学院博士研究生,研究方向:系统管理与综合集成技术,智能优化算法;谭跃进(19582),男,湖南长沙人,教授,博士生导师,研究方向:系统管理与综合集成技术。 组合优化近似搜索算法中的超启发式发展趋势 李菊芳,谭跃进 (国防科技大学人文与管理学院系统工程研究所,湖南长沙 410073) 摘要:对组合优化中近似搜索算法采用的超启发式策略进行了总结和分类,并着重从强化和变化两个概念出发分析了不同超启发式的优缺点,探讨了其发展趋势,目的是为开发博采众长的混合近似搜索算法提供参考和指导。关键词:近似搜索算法;超启发式;强化;变化;混合算法中图分类号:TP301.6 文献标识码:A U ptrend on Metaheuristics in Approxim ate Search Algorithms for Combinatori al Optimization LI Ju 2fang ,T AN Y ue 2jin (Institute of Management Science ,National University of Defense T echnology ,Changsha 410073,China ) Abstract :This paper classifies and summarizes the metaheuristics in approximate search alg orithms for combinatorial optimization ,and em phasizes analyzing s ome strengths and weaknesses of different approaches from tw o concepts as intensification and diversification.The purpose is to find the uptrend and provide s ome references and guidance for developing hybrid alg orithms combining strengths of different mataheuristics. K ey w ords :approximate search alg orithm ;metaheuristic ;intensification ;diversification ;hybrid alg orithm 0 引 言 组合优化问题的求解算法可以分为两大类:一类 是精确算法,这类算法将对解空间进行完整搜索,可以保证找到小规模问题的最优解;另一类是近似算法,这类算法放弃了对解空间搜索的完整性,因此不能保证最终解的全局最优性。由于组合优化问题中大量存在着NP 2Hard 问题,因此精确搜索算法在问题规模较大时往往无法实现。而近似算法尽管不能证明解的最优性,但很多情况下却能够以合理的计算代价找出较好的近优解,因而逐渐被理论研究和实践应用所广泛关注。 组合优化问题的近似求解技术中,较常用、较有代表性的是邻域搜索(neighborhood search )算法,这类算法从某初始解出发,利用一些规则指导搜索过程反复对当前解的邻域进行搜索并替换当前解,最终逐步实现向最优解移动。基本局部搜索(basic local search )算法或称爬山法(hill climbing )可以看作是最简单的邻域搜索算法,它采用一种迭代式改进的简单 思想,以贪婪的方式在当前解的近邻中进行搜索,每步移动只接受比当前解更好的解。基本局部搜索的最大缺点在于其往往很快就会到达局部极值并终止整个搜索过程,从而放弃对解空间中其它区域的搜索,所找到的局部极值解则往往离全局最优解还有很大距离。针对这个缺点,许多改进的邻域搜索算法在基本局部搜索算法的基础上,采用了一些更好的规则和方法来指导搜索过程摆脱局部极值,实现在整个解空间中对优良解的探索,如模拟退火、禁忌搜索、遗传算法等等,它们所使用的用于指导搜索的规则和方法又被称为超启发式(metaheuristics )。目前对超启发式尚没有统一的标准定义,从字面理解,英文中heuristic (译为启发式)的意思是探索性过程或方法,而前缀meta 是超出、在一个更高层次的意思,算法中采用超启发式的目的是要在一个更高的层次对解空间进行探索。 总的说来,超启发式一般具有如下基本属性[2]:(1)它是一种指导搜索过程的策略;(2)其目标是高效地探索解空间来寻找最优(次优)解;(3)构造超启发 计算机与现代化  2004年第6期 J IS UAN J I Y U XI ANDAIH UA 总第106期

光线追踪的应用及发展趋势

课程论文 课程论文题目:光线追踪的应用及未来发展 学院:人民武装学院 专业:计算机科学与技术 班级:物联人151 学号: 1500860346 学生姓名:谭朝艳 指导教师:宁阳 2016 年6 月3 日

目录 摘要 ............................................................... II 第一章绪论 . (1) 1.1 光线追踪的定义 (1) 1.2 光线追踪的原理 (1) 1.2.1 自然现象 (1) 1.2.2 光线追踪的原理 (1) 1.3 光线追踪的特点 (3) 1.3.1 光线追踪的优点 (3) 1.3.2 光线追踪的缺点 (3) 第二章光线追踪的应用 (4) 2.1 光线追踪在图形渲染中的应用 (4) 2.2 光线追踪在物理学中的应用 (4) 2.3 光线追踪在实际应用 (4) 2.4 实时跟踪 (4) 第三章光线追踪的未来发展趋势 (6) 3.1 光线追踪VS光栅化 (6) 3.2 显卡何时才能实时光线追踪 (7) 3.3 光线追踪的未来发展 (8)

光线追踪的应用及未来发展 摘要 光线跟踪是一种真实地显示物体的方法,该方法由Appe在1968年提出。光线跟踪方法沿着到达视点的光线的反方向跟踪,经过屏幕上每一个象素,找出与视线相交的物体表面点P0,并继续跟踪,找出影响P0点光强的所有光源,从而算出P0点上精确的光线强度,在材质编辑中经常用来表现镜面效果。光线跟踪或称光迹追踪是计算机图形学的核心算法之一。在算法中,光线从光源被抛射出来,当他们经过物体表面的时候,对他们应用种种符合物理光学定律的变换。最终,光线进入虚拟的摄像机底片中,图片被生成出来。 关键字:光线跟踪(Ray tracing),真实感

目标跟踪算法

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算法

核函数也称“窗口函数”。一维空间用到的核函数有高斯(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的工作过程。 第一步:选中物体,记录你输入的方框和物体。 第二步:求出视频中有关物体的反向投影图。

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;

目标跟踪算法的分类

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

相关主题