科学网

 找回密码
  注册

tag 标签: 粒子滤波

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

粒子滤波方法综述
热度 14 JRoy 2015-11-17 18:21
摘要: 本文梳理了粒子滤波理论基本内容、发展脉络和最新研究进展,特别是对其在多目标跟踪应用中的一系列难点问题与主流解决思路进行了详细分析和报道。常规粒子滤波研究重点主要围绕重要性采样函数、计算效率、权值退化 / 样本匮乏和复杂系统建模展开。作为一类复杂估计问题,多目标跟踪一方面需要准确的目标新生 / 消亡与演变、虚警 / 漏检等建模技术,另一方面需要多传感器信息融合、航迹管理等复杂决策方法。暨有限集统计学应用于多目标跟踪后,粒子滤波进入一个新的发展阶段——随机集粒子滤波。基于不同的背景假设,可以构建不同近似形式的随机集贝叶斯滤波器并采用粒子滤波实现。但机动目标、未知场景、多目标航迹管理以及跟踪性能评价等仍是多目标粒子滤波的研究难点和重点。 Abstract: This paper reviews thetheory and state-of-the-art developments of the particle filter with emphasison the remaining challenges and corresponding solutions in the context ofmultitarget tracking. The research focuses of the general particle filter lieon importance proposal, computing efficiency, weight degeneracy, sample impoverishment, and complicated system modelling. Multi-target tracking involves a class of complex dynamic estimation problems that require both accuratemodels for target birth, death and evolution, false alarms and miss-detections,and efficient decision-making strategies regarding multi-sensor data fusion andtrack management. Specifically, with the introduction of finite set statisticsto multi-target tracking, recent years have seen the burgeoning development ofa new generation of particle filters, which is referred to as the random setparticle filter in this paper. Based on different scenario assumptions,different approximate forms of random set Bayesian filters can be establishedand implemented by the particle filter. However, manoeuvring target, unknownscenario, track management and tracker performance assessment remain keychallenges for the multi-target tracking particle filter. 引言 通过对某一随机变量的观测,对这一随机变量或者与之关联的另一随机变量进行状态估计 ( 即“滤波”),是信号处理研究的核心问题之一, 其广泛存在于航天航空、电子信息、控制工程以及机器人等科学、技术领域。 贝叶斯估计是解决这类问题最为重要的基本理论工具之一,也是粒子滤波的理论基础,其采用一簇加权的样本 ( 称为 “ 粒子 ”) 来近似表示状态变量的概率分布,通过粒子群迭代更新实现递归贝叶斯估计。自 Bootstrap 滤波器的出现 ,粒子滤波 (Particle Filter, PF) 迅速成为一种重要的非线性递归贝叶斯滤波方法。相比于卡尔曼滤波器 ( 最小均方误差估计器 ) 和 H∞ 滤波器 ( 最差情况下估计误差最小化 ) 等,粒子滤波对系统要求达到最低 ( 既不需要系统模型方程为线性,也不需要系统噪声为高斯分布 ) ,具有更好的算法可扩展性和普适性。然而,虽然经历二十 余年的发展 ,粒子滤波仍然存在一些理论、方法上的缺陷和实现上的挑战,特别是复杂条件下的多目标跟踪 对滤波估计提出了更高的要求。 当前,多目标跟踪具有广泛的军事和民用背景,是状态估计最具代表性的一类问题,也是先进滤波理论和方法最为活跃的应用对象之一。多目标跟踪问题的复杂性、重要性以及相关理论、技术发展 也推动了滤波理论、技术和方法的进步。特别是近年来,随着有限集统计学 (Finite Set Statistics , FISST) 应用于多目标跟踪问题 ,粒子滤波进入了一个新的发展阶段,本文称之为随机集粒子滤波,成为当前的研究热点。然而,多目标跟踪粒子滤波仍然面临诸如不确定性表示、机动目标、未知场景、传感信息融合、航迹管理以及性能评价一系列的难点和挑战,这些仍需要更先进的滤波理论与方法。 粒子滤波的广泛应用和不断发展也促生了一些重要的研究综述、报告、编著等(见文中表1),详细地反映了粒子滤波的阶段性发展或者在某一领域的应用概况。然而系统归纳和分析粒子滤波算法从单目标跟踪到多目标跟踪应用的发展脉络和研究分支的文献综述目前尚还缺失。因此,本文对已有综述内容不做重述,而是特别强调以下两个方面:(一) 围绕目标跟踪这一统一研究主题,梳理从常规粒子滤波到随机集粒子滤波的完整发展脉络、算法重难点以及前后联系;(二) 细致回顾和分析单/多目标跟踪粒子滤波最新研究进展、仍面临的挑战以及主要解决思路,着重分析随机集粒子滤波算法重难点,并进而指出今后的发展趋势和研究要点。 表 1 近十年来粒子滤波部分综述与专著 综述主题内容 文献 一般性 PF 综述或编著 参数近似贝叶斯滤波 非线性贝叶斯估计 PF 在金融与经济学领域的应用 PF 在地球物理学中的应用 PF 在无线通信中的应用 PF 在决策中的应用 PF 在扩展 / 群组目标跟踪中应用 PF 在 ( 无线 ) 定位中的应用 PF 在机器人中的应用 PF 在拐点检测、系统辨识等领域的应用 PF 在非一般模型问题中的应用 PF 在参数估计的应用 PF 重采样方法 ( 及 PF 并行化 ) 基于传感网 / 智能体网络的分布式 PF PF 收敛性 PF 稳定性 PF 粒子数自适应调整 PF 权值退化和样本匮乏 粒子方法 (Particle method) 随机点近似密度滤波用于目标跟踪 多目标跟踪建模与方法 本文章节安排如下:第 2 、 3 节阐述用于单目标跟踪的常规粒子滤波基本原理、方法、所存在的问题与主要解决思路。第 4 节阐述多目标跟踪粒子滤波主要思路、方法和最新研究进展,重点是随机集粒子滤波。第 5 节介绍多目标跟踪问题的难点与挑战,强调随机集粒子滤波依赖的重要支撑技术。第 6 节总结全文并简单展望。 全 文在线: http://epub.cnki.net/kns/download.aspx?filename=0kEZvw2d2BlaXZFMpVmSrZVWmNkbZVWZqVzd5pXRwQUUnBFW1E1UKF2UjVnZ3IVTwVjbLZ0cj5GcKJFUuh2LBB3UWhnWYJVdJVVVwMjZKpGbY9yQ2EzNwlHcSZWdMJUR0ADRK1kUxAnVXBlcrVHelVnZzBFVGNDRtablename=CJFDLAST2016 也请参见附件 粒子滤波理论、方法及其在多目标跟踪中的应用(re).pdf 勘误:第1989和1992页的参考文献 应该为 !! 参考文献(仅上述部分已有综述性文章): 7 Cappé O, Godsill S J, Moulines E.An overview of existing methods and recent advances in sequential Monte Carlo. Proceedings of IEEE , 2007, 95 (5): 899-924 8 Doucet A, Johansen A M. Atutorial on particle filtering and smoothing: Fifteen years later. In: CrisanD, Rozovsky B. Handbook of NonlinearFiltering , Oxford: Oxford University Press, 2009 9 Gustafsson F. Particlefilter theory and practice with positioning applications. IEEE Aerosp. Electron. Syst. Mag. 2010, 25 (7), 53–81 10 Li T, Sun S, Sattar T P, Corchado J M. Fight sampledegeneracy and impoverishment in particle filters: A review of intelligentapproaches. Expert Systems WithApplications , 2014, 41 (8):3944-3954. 11 Pulford G W. Taxonomy ofmultiple target tracking methods. IEE Pro. Radar Sonar Navig. 2005, 152 (5):291-304 12 Dunik J, Straka O, Simandl M,Blasch E, Random-point- based filters: analysis and comparison in targettracking, IEEE Trans. Aerosp. Electron.Sys. 2015, 51 (2) 1403-1421. 13 Isard M, MacCormick J. BraMBLe: A Bayesian Multiple-BlobTracker. In: Proceedings of the 8th International Conference on ComputerVision, 2001. 14 Orton M, Fitzgerald W. A Bayesian approach to trackingmultiple targets using sensor arrays and particle filters. IEEE Trans. Signal process. 2002, 50 (2): 216—223 15 Avitzour D. Stochastic simulation Bayesianapproach to multitarget tracking. IEE Proceedings on Radar and SonarNavigation , 1995, 142 (2): 41–44 16 Gordon N J. A hybrid bootstrapfilter for target tracking in clutter. IEEE Trans. Aerosp. Electron. Syst. 1997, 33 (1): 353–358 17 Stano P, Lendek Z,Braaksma J, Babuska R, Keizer C D, Dekker A J D. Parametric Bayesian filtersfor nonlinear stochastic dynamical systems: a survey. IEEE Trans. Cybern. 2013, 43 (6):1607-1624 18 Patwardhan S C,Narasimhan S, Jagadeesan P, Gopaluni B, Shah S L. Nonlinear Bayesian stateestimation: A review of recent developments. Control Engineering Practice , 2012, 20 (10): 933-953 19 Li X R, Jilkov V P. A survey ofmaneuvering target tracking, part VIc: approximate nonlinear density filteringin discrete time, Proc. SPIE 8393, Signal and Data Processing of SmallTargets 2012, 83930V, May 1, 2012 20 Mihaylova L, Carmi A Y,Septier F, Gning A, Pang S K, Godsill S. Overview of Bayesian sequential MonteCarlo methods for group and extended object tracking. Digital Signal Processing , 2014, 25 : 1–16 21 Yang X-J, Pan Q, Wang R, Zhang H-C. Development and prospect of particle filtering. Control theory applications , 2006, 23 (2): 261-267 ( 杨小军 , 潘泉 , 王睿 , 张洪才 . 粒子滤波进展与展望 . 控制理论与应用 , 2006, 23 (2):261-267 ) 22 Cheng SY, Zhang J-Y.Review of particle filtering. Journal ofastronautics , 2008, 29 (4):1109-1111 ( 程水英 , 张剑云 . 粒子滤波评述 . 宇航学报 , 2008, 29 (4):1109-1111) 23 Wang F, Lu M, Zhao Q,Yuan Z. Particle filtering algorithm. ChineseJournal of computers , 2014, 37 (8):1679-1694 ( 王法胜 , 鲁明羽 , 赵清杰 , 袁泽剑 . 粒子滤波算法 . 计算机学报 , 2014, 37 (8):1679-1694) 24 ChengS Y, Zou J W, Tang P. Review of derivative-free nonlinear Bayesian filteringmethods. Journal of astronautics , 2009, 30 (3): 843-857 程水英,邹继伟,汤鹏,免微分非线性 Bayesian 滤波方法评述,宇航学报, 2009, 30(3):843-857 25 Creal D. A survey of sequential MonteCarlo methods for economics and finance. Econ.Reviews , 2012, 31 (3): 245-296 26 Lopes H F, Tsay R S. Particle filtersand Bayesian inference in financial econometrics. Journal of Forecasting , 2011, 30 :168–209 27 Van Leeuwen P J. Particle filtering in geophysical systems. Monthly Weather Review , 2009, 137 (12): 4089–4114 28 Kostanjčar Z, Jeren B, Cerovec J.Particle filters in decision making problems under uncertainty. AUTOMATIKA: Journal for Control,Measurement, Electronics, Computing and Communications , 2009, 50 (3–4): 245-251 29 Thrun S, Burgard W, FoxD. Probabilistic Robotics , MIT Press,2005 30 Andrieu C, Doucet A, Singh S S, Tadic V.Particle methods for change detection, system identification, and control. Proceedings of the IEE E, 2004, 92 (3): 423-438 31 Johansen A M. SomeNon-standard sequential Monte Carlo methods and their Applications PhD thesis.University of Cambridge, Cambridge, UK, 2006 32 Kantas N, Doucet A, SinghS S, Maciejowski J M. An overview of sequential Monte Carlo methods forparameter estimation in general state-space models. 15th IFAC Symposium on System Identification, 2009, 15 (l): 774-785 33 Gao M, Zhang H.Sequential Monte Carlo methods for parameter estimation in nonlinearstate-space models. Computers andGeosciences , 2012, 44 : 70-77 34 Li T, Bolic M, Djuric P. Resampling methods forparticle filtering. IEEE Signal Process.Mag. 2015, 32 (3), 70-86 35 Li T, Villarrubia G, Sun S, Corchado J M, Bajo J.Resampling methods for particle filtering: identical distribution, a new methodand comparable study. Frontiers ofInformation Technology and Electronic Engineering , to be published, 2015, 16(11):969-984. 36 Hlinka O, Hlawatsch F, Djurić P M.Distributed particle filtering in agent networks. IEEE Signal Processing Magazine , 2013, 30 (1): 61-81 37 Hu X L, Schon T B, Ljung L. A GeneralConvergence Result for Particle Filtering. IEEETrans. Signal Process. 2011, 59 (7):3424–3429 38 Mbalawata I S, Särkkä S. Momentconditions for convergence of particle filters with unbounded importanceweights. Signal Processing , 2016, 118 : 133-138 39 Crisan D, Li K.Generalised particle filters with Gaussian mixtures. Stochastic Processes and their Applications , 2015, 125 (7): 2643-2673 40 Whiteley N. Stabilityproperties of some particle filters. Ann.Appl. Probab . 2013, 23 (6):2161-2603 41 Douc R, Moulines E,Olsson J. Long-term stability of sequential Monte Carlo methods under verifiableconditions,” Ann. Appl. Probab. 2014, 24(5): 1767–1802 42 Straka O, Simandl M, Asurvey of sample size adaptation techniques for particle filters, In 15th IFAC Symposium on SystemIdentification , 2009, 15 :1358-1363 43 P. Del Moral, A.D., Particle Methods: AnIntroduction with Applications. ESAIM Proceedings, 2014 44 Qiu C, Zhang Z, Lu H, Luo H. A survey ofmotion-based multitarget tracking methods. ProgressIn Electromagnetics Research B , 2015, 62 ,195-223 45 Yang W, Fu Y-W, Long J-Q, Li X. The FISST-basedtarget tracking techniques: A Survey . Acta Electronica Sinica , 2012, 40 (7):1440-1448 ( 杨威 , 付耀文 , 龙建乾 , 黎湘 . 基于有限集统计学理论的目标跟踪技术研究综述 . 电子学报 , 2012, 40 (7):1440-1448) 46 Yang F, Wang Y-Q, Liang Y, Pan Q. A survey of PHD filter based multi-target tracking . Acta Automatica Sinica , 2013, 39 (11): 1944-1956 . ( 杨峰 , 王永齐 , 梁彦 , 潘泉 . 基于概率假设密度滤波方法的多目标跟踪技术综述 . 自动化学报 , 2013, 39 (11): 1944-1956)
个人分类: 科研笔记|15735 次阅读|39 个评论
粒子滤波重采样方法
热度 5 JRoy 2015-10-30 18:25
“滤波估计”是信号与信息处理学科的核心问题之一,其广泛存在于信息电子技术、航天航空科学、控制工程以及机器人等科学、技术领域。然而现实世界中普遍存在非线性系统往往并不存在解析解,因此研究人员必须借助于各类工程模拟近似计算技术。得益于电子计算机的出现和迅速发展,源于第二次世界大战中研制原子弹的“曼哈顿计划”的蒙特卡罗(Monte Carlo)方法,就是一种基于“随机数”的模拟计算方法。粒子滤波就是一种基于蒙特卡洛模拟近似实现的次优贝叶斯滤波方法,是目前最为重要的一种非线性递归估计方法。 据不完全统计,IEEE Xplore数据库在过去二十年已收录上万余篇关于粒子滤波器的研究成果(自2010年来就高达4800多篇);中文CNKI数据库显示,涉及以粒子滤波为主题的国内博士毕业论文也已达三百余篇。 简单讲,粒子滤波实现主要包括三个步骤:重要性采样、权值更新和重采样。然而实际上,粒子群的迭代演进具有颇多随机性,常常出现一些问题。特别是,权值退化和多样性匮乏是粒子滤波最为“臭名昭著”的一对耦合问题,长期困扰学术界、影响其工程应用。解决二者的难点在于其“此消彼长”:权值退化越严重,重采样之后多样性匮乏也就越严重。因此,如何在通过重采样解决权值退化的同时避免多样性匮乏问题粒子滤波设计的关键所在,也是本文研究的焦点。 本文作为作者新近发表于IEEE Signal Processing Magazine (Li, 2015) 的特色文章的后续,主要工作在于:1更为全面的补充了重采样相关研究最新进展(特别是一些并不那么广为人知的一些新近方法),并首次对十余种重采样算法进行分类分析和性能对比(集大成者也?);2理论上严格定义了重采样同分布原则作为新方法设计的普遍原则,给出了三种同分布测度方法(各种方法鱼龙混杂,如何有个共同标准?);3进而在这一原则下提出了一种最小采样方差(MSV: Minimum sampling variance) 最优重采样,表现出良好理论特性(百兽群中我为王?)。同时,作者希望文章的全面回顾和综合对比工作以及所提出的重采样同分布理论原则有利于进一步重采样新方法的设计与工程选用。 下面这张大约说明了所提出的MSV重采样方法的思想和大体意思,不那么完全和严格。 原文 更有意思!! 有时候,将一件小小事做到最好做到极致真心不容易,两篇组合拳文章及其链接 T. Li , M. Bolic, P. Djuric, Resampling methods for particle filtering: Classification,implementation, and strategies , IEEE Signal Processing Magazine, 2015, vol.32,no.3, pp. 70-86. @ IEEE Xplore T. Li , G. Villarrubia, S. Sun, J. M. Corchado, J. Bajo. Resampling methods forparticle filtering: identical distribution, a new method and comparable study, Frontiers ofInformation Technology Electronic Engineering, 2015, DOI:10.1631/FITEE.1500199. @ Springer 关于这些重采样方法的程序,我在科网发过一个 主题 ,我自己网站上也有(更全),后来发现很多网站转载的程序都是来自于我的版本。
个人分类: About me|17973 次阅读|13 个评论
SMC-PHD filter codes
热度 3 JRoy 2014-10-22 19:16
I am always keen to share the codes related to my papers, as i think it is the best way to promote the academics. Recently, two phd candidates from Tsinghua and Zhejiang uni. asked me for SMC-PHD filter codes, i sent to them and put it on my webpage as well This is possibly the first version of the hot SMC-PHD (also referred to as PF-PHD) filter that is open access online Have a look @ https://sites.google.com/site/tianchengli85/matlab-codes/phd-filter SMC-PHD stands for the sequential Monte Carlo (SMC) implementation of the probability density hypotheses (PHD) filter, it also says the particle filter (PF) implementation of the PHD filter
个人分类: 科研笔记|6858 次阅读|4 个评论
最全的粒子滤波重采样matlab程序代码
热度 23 JRoy 2013-11-23 12:14
9月份的把自己科研生涯目前为止最吐血的精力写好的一个关于粒子滤波重采样的 tutorial Resampling methods for particle filtering 投给了《IEEE Signal Processing Magazine》( 注:已经接受在印中 ),11月份初闲下来的时候就用Google创建了一个个人网站,将源程序代码分享。这几天有国外的读者给我写邮件(也可能国内有时候登录Google的网站稍显麻烦),这里也分享给科学网对粒子滤波研究有兴趣的同行,要不显得资料外泄而不内享 不仗义。我也把源代码刚刚传上CodeForge.cn了,本来还想再传几个国内开源网站,但是还都再注册很麻烦所以还是传到博客里吧。 自吹一下:重采样是我过去基于粒子滤波的一个研究重点,现在主要做多目标跟踪。我还没有见过论述过超过5种以上重采样方法的论文,而我的投给SPM的这篇文章抽丝剥茧(根据各自特征分为很多组)论述对比分析了超过15种方法,而且详尽而又干脆一点也不 显得 臃肿(21世纪居家必备好“教程”呀~~哈哈),给出了很有意思的一些结论和启示。文章也附在我的网站上了。任何一本书,任何一篇文章甚至任何一个人电脑(大约)都没有我能实现的重采样的方法多,而且 实现至少在matlab里面基本上是最优的(无偏性和效率速度),不服的可以挑战啊。单看当前研究领域重采样方法的论文发表和引用,我的第二作者(渥太华大学的Dr.Bolic)和第三作者之前的研究(纽约石溪大学prof. Djuric)应该是第一团队,尤其是解决重采样的并行化实现上。然而,近年来我在重采样方面发文(将)是最多的(无论理论上还是算法实现上),做的最全的,我相信随着时间推移(2-3年),哥将取而代之。。。。。 牛B不是用来吹的,看文章和代码吧。 所以,俺的这次分享绝对是有质量保证和奉献精神的。回头我再在群组发个帖子,这里就不贴附代码了。可以到我的Google网站下: 文章链接: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7079001queryText=resampling+methods+for+particle+filteringmatchBoolean=truenewsearch=truesearchField=Search_All My Webpage: https://sites.google.com/site/tianchengli85/ Resampling codes: https://sites.google.com/site/tianchengli85/matlab-codes/resampling-methods
个人分类: 科研笔记|4974 次阅读|45 个评论
[转载]粒子滤波 演示与opencv代码
hailuo0112 2012-2-4 19:02
粒子滤波的理论实在是太美妙了,用一组不同权重的随机状态来逼近复杂的概率密度函数。其再非线性、非高斯系统中具有优良的特性。opencv给出了一个实现,但是没有给出范例,学习过程中发现网络上也找不到。learning opencv一书中有介绍,但距离直接使用还是有些距离。在经过一番坎坷后,终于可以用了,希望对你有帮助。 本文中给出的例子跟 我的另一篇博文是同一个应用例子,都是对二维坐标进行平滑、预测 使用方法: 1.创建并初始化 const int stateNum=4;//状态数 const int measureNum=2;//测量变量数 const int sampleNum=2000;//粒子数 CvConDensation* condens = cvCreateConDensation(stateNum,measureNum,sampleNum); 在不影响性能的情况下,粒子数量越大,系统表现的越稳定 其他初始化内容请参考learning opencv 2.预测 3.更新例子可信度,也就是权重。本例中更新方法与learning opencv中有所不同,想看代码 4.更新CvConDensation 代码: view plain copy #includecv.h #includecxcore.h #includehighgui.h #includecvaux.h #includecmath #includevector #includeiostream using namespace std; const int winHeight=600; const int winWidth=800; CvPointmousePosition=cvPoint(winWidth1,winHeight1); //mouseeventcallback void mouseEvent( int event, int x, int y, int flags, void *param) { if (event==CV_EVENT_MOUSEMOVE){ mousePosition=cvPoint(x,y); } } int main( void ) { //1.condensationsetup const int stateNum=4; const int measureNum=2; const int sampleNum=2000; CvConDensation*condens=cvCreateConDensation(stateNum,measureNum,sampleNum); CvMat*lowerBound; CvMat*upperBound; lowerBound=cvCreateMat(stateNum,1,CV_32F); upperBound=cvCreateMat(stateNum,1,CV_32F); cvmSet(lowerBound,0,0,0.0); cvmSet(upperBound,0,0,winWidth); cvmSet(lowerBound,1,0,0.0); cvmSet(upperBound,1,0,winHeight); cvmSet(lowerBound,2,0,0.0); cvmSet(upperBound,2,0,0.0); cvmSet(lowerBound,3,0,0.0); cvmSet(upperBound,3,0,0.0); float A ={ 1,0,1,0, 0,1,0,1, 0,0,1,0, 0,0,0,1 }; memcpy(condens-DynamMatr,A, sizeof (A)); cvConDensInitSampleSet(condens,lowerBound,upperBound); CvRNGrng_state=cvRNG(0xffffffff); for ( int i=0;isampleNum;i++){ condens-flSamples = float (cvRandInt(rng_state)%winWidth); //width condens-flSamples = float (cvRandInt(rng_state)%winHeight); //height } CvFontfont; cvInitFont(font,CV_FONT_HERSHEY_SCRIPT_COMPLEX,1,1); char *winName= "condensation" ; cvNamedWindow(winName); cvSetMouseCallback(winName,mouseEvent); IplImage*img=cvCreateImage(cvSize(winWidth,winHeight),8,3); bool isPredictOnly= false ; //triggerforpredictiononly,pressSPACEBAR while (1){ //2.condensationprediction CvPointpredict_pt=cvPoint(( int )condens-State ,( int )condens-State ); float variance ={0}; //getvariance/standarddeviationofeachstate for ( int i=0;imeasureNum;i++){ //sum float sumState=0; for ( int j=0;jcondens-SamplesNum;j++){ sumState+=condens-flSamples ; } //average sumState/=sampleNum; //variance for ( int j=0;jcondens-SamplesNum;j++){ variance +=(condens-flSamples -sumState)* (condens-flSamples -sumState); } variance /=sampleNum-1; } //3.updateparticalsconfidence CvPointpt; if (isPredictOnly){ pt=predict_pt; } else { pt=mousePosition; } for ( int i=0;icondens-SamplesNum;i++){ float probX=( float )exp(-1*(pt.x-condens-flSamples ) *(pt.x-condens-flSamples )/(2*variance )); float probY=( float )exp(-1*(pt.y-condens-flSamples ) *(pt.y-condens-flSamples )/(2*variance )); condens-flConfidence =probX*probY; } //4.updatecondensation cvConDensUpdateByTime(condens); //draw cvSet(img,cvScalar(255,255,255,0)); cvCircle(img,predict_pt,5,CV_RGB(0,255,0),3); //predictedpointwithgreen char buf ; sprintf_s(buf,256, "predictedposition:(%3d,%3d)" ,predict_pt.x,predict_pt.y); cvPutText(img,buf,cvPoint(10,30),font,CV_RGB(0,0,0)); if (!isPredictOnly){ cvCircle(img,mousePosition,5,CV_RGB(255,0,0),3); //currentpositionwithred sprintf_s(buf,256, "realposition:(%3d,%3d)" ,mousePosition.x,mousePosition.y); cvPutText(img,buf,cvPoint(10,60),font,CV_RGB(0,0,0)); } cvShowImage(winName,img); int key=cvWaitKey(30); if (key==27){ //esc break ; } else if (key== '' ){ //triggerforprediction //isPredict=!isPredict; if (isPredictOnly){ isPredictOnly= false ; } else { isPredictOnly= true ; } } } cvReleaseImage(img); cvReleaseConDensation(condens); return 0; } kalman filter 视频演示: 演示中粒子数分别为100,200,2000 请仔细观测效果 http://v.youku.com/v_show/id_XMjU4MzE0ODgw.html demo snapshot:
个人分类: 机器视觉|3855 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-18 21:36

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部