《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于粒子滤波的视觉跟踪器的设计与实现
基于粒子滤波的视觉跟踪器的设计与实现
来源:电子技术应用2013年第11期
杨 戈1,2, 温诗伟1, 黄 静1
1. 北京师范大学 珠海分校 信息技术学院, 广东 珠海 519087; 2. 北京大学 深圳研究生院 深圳物联网智能感知技术工程实验室,广东 深圳518055
摘要: 在VC++6.0开发平台上使用OpenCV函数库中基于加权颜色直方图的粒子滤波算法,设计了一个视觉跟踪器,完成了对人体图像序列中目标的动态跟踪。目标颜色模型的合理建立使得视觉跟踪器对系统资源需求较少, 计算速度较快, 利于实现实时跟踪。实验结果验证了该视觉跟踪器的有效性和实时性,它能够比较精确地实现基于观测量和控制量的后验概率分布,可用于解决即时定位与地图构建(SLAM)问题。
中图分类号: TP389.1;TP183
文献标识码: A
文章编号: 0258-7998(2013)11-0142-03
Design and implementation of a visual tracker based on particle filter
Yang Ge1,2,Wen Shiwei1, Huang Jing1
1. College of Information Technology, Beijing Normal University Zhuhai Campus, Zhuhai 519087, China) 2. Engineering Lab on Intelligent Perception for Internet of Things(ELIP), Shenzhen Graduate School, Peking University, Shenzhen 518055, China
Abstract: In this paper, the VC + +6.0 development platform using OpenCV library weighted color histogram-based particle filter algorithm to achieve a visual tracking, dynamic tracking of targets in the human image sequences. Reasonable establishment of the target color model makes less demand on system resources, fast calculation, visual tracking conducive to the realization of real-time tracking. The experimental results verify the effectiveness and real-time of the visual tracking and it is able to more accurately express the posterior probability distribution based on the concept of measurement and control. It can be used to solve the SLAM problem.
Key words : visual tracking; color histogram; feature tracking; particle filtering; OpenCV

   视觉跟踪是通过对图像序列中的运动目标进行检测、识别、跟踪,获得运动目标的运动参数,通过进一步处理与分析,实现对运动目标的行为认识,以完成对运动目标的跟踪[1-2]等更高级的任务。处理理背景复杂多变的目标运动的跟踪问题,要运用到现阶段各相关领域相结合的识别跟踪算法,如均值漂移算法(Mean Shift)[3],卡尔曼滤波算法(Kalman)、粒子群跟踪算法(Pso)[4],以及粒子滤波跟踪算法PF(Particle Filter)[5]。粒子滤波算法适合处理非线性系统的目标跟踪问题,它摆脱了解决非线性滤波问题时,随机量必须满足高斯分布的制约[6]。因此,粒子滤波能够比较精确地表达基于观测量和控制量的后验概率分布,可用于解决即时定位与地图构建SLAM(Simultaneous Localization and Mapping)问题。




4 实验与结果分析
4.1实验环境

    实验的硬件环境:CPU型号:Intel 酷睿i5 3210 M,CPU主频为2.5 GHz,内存为4 GB,显存为2 GB。
    实验的软件环境:操作系统为Windows 7,编程环境为Microsoft Visual C++ 6.0,所用函数库为OpenCV,MFC。
4.2 实验结果与分析
    采用基于加权颜色直方图粒子滤波的视觉跟踪器对目标进行跟踪的。
    本文将基于加权颜色直方图的粒子滤波算法用于目标人物的实时跟踪。实验是在VC++6.0和OpenCV的环境下进行,矩形为人为设定,每帧图像的大小为640×480像素,粒子数N=150。图2所示为对小件物体的运动目标的视觉跟踪,并把粒子样本显示出来,如图方框中的粒子,粒子分布符合高斯分布。图3所示为对女生的运动目标的视觉跟踪,图中矩形内部是待跟踪的目标人物,矩形为人为设定,用基于加权颜色直方图的粒子滤波方法对具有特定颜色的目标进行跟踪,计算每帧图像每个像素点的颜色概率分布直方图,对每个像素进行加权处理,只需保留样本中权值大的粒子,抛弃权值小的粒子,这样就大大减少了计算。实验结果表明,粒子滤波跟踪算法对系统资源要求不高,计算时间少,一帧平均处理时间为170 ms。而在有遮挡的运动目标的图像序列当中,每帧图像的大小为640×480像素,粒子数N=150,对有遮挡的运动目标能够有很好的鲁棒性,平均每帧跟踪时间为350 ms。图4所示为对男生的运动目标的视觉跟踪,对有遮挡的目标,跟踪的准确率有所下降;而有遮挡的运动目标则有很好的鲁棒性,平均每帧跟踪时间为350 ms。表1为图像序列在这两种情况下,跟踪算法的成功率的比较,当跟踪窗口没有跟踪目标视为失败。

 

 

 

    本文阐述了通过基于特征跟踪策略,应用OpenCV函数库进行对图像序列的运动目标进行跟踪和监测,实现了基于加权颜色直方图粒子滤波的视觉跟踪器。通过实验表明,基于加权颜色直方图的粒子滤波方法计算效率高,鲁棒性好,实现了对彩色物体的实时跟踪。
参考文献
[1] 侯志强,韩崇昭.视觉跟踪技术综述[J].自动化学报,2006,32(4):604-612.
[2] 杨戈,刘宏.视觉跟踪算法综述[J].智能系统学报, 2010,5(2):96-102.
[3] 周芳芳,樊晓平,叶榛.均值漂移算法的研究与应用[J].控制与决策, 2007(8):841-847.
[4] 窦永梅. 基于粒子群算法和卡尔曼滤波的运动目标跟踪算法[D]. 太原:太原理工大学,2011.
[5] 王法胜,郭权.视觉跟踪中的粒子滤波算法研究进展[J]. 山西大学学报(自然科学版),2011,34(4):528-533.
[6] 胡昭华,樊鑫,梁德群,等.基于双线非线性学习的轨迹 跟踪和识别[J].计算机学报,2007,30(8):1390-1397.
[7] 吴长江,赵不贿,郑博,等.基于FPGA的动态目标跟踪系统设计[J].电子技术应用,2010,36(3):45-50.
[8] 李由,张恒,李立春.基于多测量融合的粒子滤波跟踪算法[J].国防科技大学学报,2007,29(5):27-30.
[9] 杨柳,张宝亮,赵建,等.基于改进粒子滤波算法的人体运动跟踪[J]. 电子技术应用,2007,33(11):74-79.

此内容为AET网站原创,未经授权禁止转载。