收藏 分享(赏)

视觉技术.doc

上传人:11xg27ws 文档编号:7686052 上传时间:2019-05-23 格式:DOC 页数:13 大小:303.44KB
下载 相关 举报
视觉技术.doc_第1页
第1页 / 共13页
视觉技术.doc_第2页
第2页 / 共13页
视觉技术.doc_第3页
第3页 / 共13页
视觉技术.doc_第4页
第4页 / 共13页
视觉技术.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、西安理工大学研究生课程论文/研究报告课程名称:视觉技术与机器视觉任课教师: 刘龙 论文/研究报告题目:基于卡尔曼滤波的视觉目标跟踪方法及实现完成日期: 2014 年 6 月 24 日学科: 控制科学与控制工程 班级: 研 1313 学号: 1308110597 姓名: 张宁宁 基于卡尔曼滤波的视觉目标跟踪方法及实现 1 简介随着信息技术的发展和计算机视觉技术的广泛应用,人类对数字视频的应用越来越广泛,并且利用图像处理技术对视频中的运动目标进行实时检测和跟踪的研究也越来越多。运动目标检测与跟踪是计算机视觉研究领域中最重要研究内容之一,它是一项将模式识别、图像处理、人工智能、概率论、随机过程、泛函

2、及优化、偏微分方程和自动控制等多种领域的方法融合在一起的新方法,形成了一种能自动从图像序列中实时提取目标位置,并自动对运动目标进行跟踪的先进技术。目标检测和跟踪不仅在科学上有重要的研究价值,而且在生产和生活中也有很广泛的应用前景。它已经在人机交互、智能交通、裸眼 3D、智能机器人等许多领域获得广泛的应用。1.1 基于卡尔曼滤波的动目标视觉跟踪的背景及意义运动目标跟踪的基本概念在 1955 年由 Wax 首先提出。随后,Hef, Aunta 及 Blom 等人对图像跟踪研究领域的方法及进展做出了系统而全面的论述。1964 年,Sittler 对多目标跟踪理论以及数据关联问题进行了深入的研究,并取

3、得了开创性的进展。然而直到 70 年代初期,随着自适应跟踪和智能跟踪的思想相继提出,机动目标跟踪理论才真正引起学者的极大兴趣和普遍关注。80 年代,Bar-Shalom 和 Singer 等人将数据关联技术与滤波理论有效的结合,代表了现代跟踪技术的进一步发展。80 年代末,Kass 等发表的关于主动轮廓线模型的论文在目标跟踪的研究历史中具有里程碑式的意义。90 年代以后,随着视频图像技术的普及和发展,基于视频数据的多目标跟踪研究也逐渐增多。目标跟踪可以被定义为对所关注区域内目标个数和状态做出预测的过程,其中目标状态包括运动分量(位置、速度、加速度)和属性信息(信噪比、雷达交叉区域、谱特征等)

4、。目标跟踪的方法概括起来有如下四种:(1)基于轮廓的跟踪方法;(2)基于特征的跟踪方法;(3)基于模型的跟踪方法;(4)基于区域的跟踪方法。卡尔曼滤波最早是由匈牙利数学家卡尔曼(Rudolf Emil Kalman)在二十世纪六十年代提出的最优化自回归数据处理算法(optimal recursive data processingalgorithm) 。而首次实现卡尔曼滤波器的却是斯坦利斯密特(Stanley Schmidt) 。对于很多问题,卡尔曼滤波方法是最优、效率最高甚至是最有用的解决方法,它的广泛应用已经超过 30 年,其中最知名的应用就是运用卡尔曼滤波方法对阿波罗飞船的轨道进行预测,

5、后来阿波罗飞船的导航系统便使用了这种滤波器。虽然卡尔曼滤波的应用很广泛,但它仅适用于线性系统,因此产生了许多种改进的卡尔曼滤波,包括自适应卡尔曼滤波、无迹卡尔曼滤波和扩展卡尔曼滤波等。其中自适应卡尔曼滤波跟踪的目标没有机动时,算法的估计误差偏大;扩展卡尔曼滤波和无迹卡尔曼滤波算法能适应非线性系统,然而当系统噪声呈非高斯分布时,它们的滤波精度将大幅下降。同时,通过研究发现,运动目标跟踪还存在一定的困难和挑战。当目标的形状发生变化时,或是目标所处的背景存在较大扰动时,也会给目标跟踪工作带来难度,对跟踪结果也会造成不良的影响。所以,基于卡尔曼滤波的动目标视觉跟踪是一件很具有挑战性的任务。1.2 基于

6、卡尔曼滤波的动目标视觉跟踪的国内外现状1960 年,卡尔曼(Kalman )为了克服维纳滤波的缺点,提出了离散型卡尔曼滤波;1961 年,他又把这一滤波方法推广到连续系统中,成为模拟卡尔曼滤波。卡尔曼滤波算法凭借其对目标运动状态准确的预测性,很快就成为运动目标跟踪算法中的主流算法。现在人们以传统卡尔曼滤波算法为基础,提出许多滤波结果更加优良的改进算法,如自适应卡尔曼滤波、无迹卡尔曼滤波、扩展卡尔曼滤波和粒子卡尔曼滤波等。但归根结底,他们都属于卡尔曼滤波算法。卡尔曼滤波研究现状卡尔曼滤波(Kalman filtering,KF)是一种高效的递归滤波器(自回归滤波器) 。它能够通过一系列不完全且包

7、含噪声的测量值,估计动态系统的状态。当输入是由白噪声产生的随机信号时,卡尔曼滤波可以使期望输出和实际输出之间的均方误差达到最小。它的广泛应用已经超过 30 年,包括在军事方面的雷达系统以及导弹追踪、工业过程、机器人导航与控制、传感器数据融合、信号处理、通信和社会经济等不同领域。近年来更是被广泛应用于计算机图像处理,例如人脸识别、图像分割、图像边缘检测、目标识别和跟踪等。Henry Medeiros 等人提出了一个分布式对象跟踪系统,可在无线电摄像机网络中采用基于集群的卡尔曼滤波器对动态目标进行跟踪。Dae-Sik Jang 等人设计了一个实时跟踪系统。当对象进入摄像机视觉范围时,该系统能自动检

8、测到跟踪目标并且通过控制伺服系统来跟踪运动目标,使目标对象始终处于图像的中心。该方法不仅使用了模型匹配策略,允许模板具有动态性,使系统在跟踪过程中可以吸收不同形状和大小的目标物体,还利用卡尔曼滤波器对运动目标进行跟踪,使跟踪历史可以被反馈到卡尔曼滤波算法的状态参数中。Pankaj Kumar 等人8 将自适应的程序和一种新的基于几何形态的模板匹配方法相结合,提出了一种可以解决多目标分裂和粘连问题的算法。该算法以卡尔曼滤波方法为基础,将一种新颖而有效的基于几何形态的模板匹配方法用于跟踪目标的位置和形状。B. J.Lee 等人提出了一种基于遗传算法的卡尔曼滤波器,该滤波器使用遗传算法或 DNA 编

9、码技术对卡尔曼滤波器进行优化。自适应卡尔曼滤波研究现状自适应卡尔曼滤波(Adaptive Kalman Filtering,AKF )因其具有自适应特性并且非常适合动态系统滤波而受到广泛重视。因此,在采用卡尔曼滤波处理动态测量数据时,一般都要考虑采取适当的自适应滤波方法来解决这一问题。有时需要根据实际情况不断调整系统模型或滤波器参数,使滤波性能达到最优。根据不同的调整策略,自适应卡尔曼滤波可分为相关自适应卡尔曼滤波、抗野值自适应卡尔曼滤波、多模型自适应卡尔曼滤波、基于信息的自适应卡尔曼滤波、基于神经网络的自适应卡尔曼滤波、基于模糊逻辑的自适应卡尔曼滤波。自适应卡尔曼滤波是一种很有效的状态滤波技

10、术,已经在目标跟踪、组合导航、故障诊断、图像处理等方面得到成功应用。随着自适应卡尔曼滤波的应用范围不断扩大,它已经成为解决工程滤波问题的主要研究方向。1.3 本文的研究内容本文研究的主要内容是运动目标的检测,基于卡尔曼滤波的动目标视觉跟踪。针对运动目标特性,设计出适合运动目标检测和跟踪的算法,将算法应用到实际的场景中,使其可以很好的检测并跟踪运动目标以此来提高运动目标检测和跟踪的精度。本文给出了相应的理论推导与计算,并用 MATLAB 语言实现本文设计的算法。本文共分三个部分,分别如下:第一部分:介绍主要论述运动目标检测和跟踪的基本概念,并介绍其在实际生产和生活中的应用;详细叙述了基于卡尔曼滤

11、波的动目标视觉跟踪的国内外现状及其意义。第二部分 :卡尔曼滤波算法简介对各种卡尔曼滤波方法的介绍。第三部分:将卡尔曼滤波应用到视觉目标检测中举了一个简单的例子说明目标检测中卡尔曼滤波算法的应用。2 基于卡尔曼滤波的动目标跟踪算法随着信息技术的发展和计算机视觉技术的广泛应用,人们对运动目标跟踪的研究也越来越多。本章首先介绍了跟踪运动目标常用的四种方法,然后对卡尔曼滤波方法进行详细介绍,并运用卡尔曼滤波方法实现对运动目标的跟踪。由于卡尔曼滤波方法是线性的滤波方法,对于非线性问题的结果不是很理想。本章将针对卡尔曼滤波的不足,结合自适应卡尔曼滤波和无迹卡尔曼滤波的优点,总结出自适应无迹卡尔曼滤波方法,

12、并运用该方法对单运动目标和多运动目标进行跟踪。2.1 运动目标跟踪的常用方法介绍运动目标常用的跟踪方法有基于轮廓的跟踪法、基于特征的跟踪法、基于模型的跟踪法和基于区域的跟踪法。基于轮廓的跟踪法基于轮廓的跟踪法是在初始时刻对运动目标进行检测并勾画出它的轮廓,然后在后面的图片帧中不断更新轮廓的参数,实现对目标的跟踪。动态轮廓的跟踪法的缺点是对检测出的目标轮廓的初始值比较敏感,一旦初始的目标轮廓检测的不正确,后续的跟踪过程将完全失效。基于特征的跟踪法基于特征的跟踪法是只对目标的部分特征进行跟踪,如目标的特征点和线段等。这种方法的弊端比较明显,如果选取的局部特征不够有代表性,或是在后续帧中检测不到相同

13、的点和线段等,将没有办法实现全程跟踪。基于模型的跟踪法基于模型的跟踪法也叫做基于 3D 的跟踪法,这种方法的核心是建立已知目标对象的三维模型并将其与待检测图像之间进行匹配操作。这种方法在可靠性、3D 跟踪等方面具有优势,但是必须要事先建立运动目标的 3D 模型,将对目标模型过分依赖,而且计算比较复杂。基于区域的跟踪法基于区域的跟踪法是在时间域上利用运动区域的形状、大小、前后检测区域的匹配程度等对运动目标进行跟踪。一般在视频中,运动目标主要做平移运动,所以这种方法较前三种方法有一定的优势,应用的也比前三种方法广泛。一些滤波的跟踪方法,包括卡尔曼滤波方法和粒子滤波方法,都属于基于区域的跟踪法。2.

14、2 基于卡尔曼滤波的跟踪算法卡尔曼滤波的状态方程设系统在 时刻(以下简称 k 时刻)的状态由 M 个状态变量构成的 M 维状kt态矢量来描述,则其状态方程为:(2-1)11, kkk wss式中: 时刻系统的 M 维状态矢量;- 系统从 k-1 时刻到 k 时刻,大小为 M M 一步状态转移矩阵;1,k 时刻的控制矩阵,大小为 M L;1 - 1kk 时刻系统受到的 L 维扰动噪声矢量。1 - 1kwk状态转移矩阵 表示系统从 时刻状态转移到 k 时刻状态的规律,并且0,0具有以下三点性质:(1)分布转移性:(2-2)klklk 0, 00(2)互逆性:(2-3)1,00kk(3)同时刻状态的

15、不变性:(2-4)Ik,卡尔曼滤波的观测方程卡尔曼滤波需要依据观测数据才能对系统的状态进行估计。因此,除了要建立系统的状态方程,也要建立系统的观测方程。一般情况下,假设系统是线性的,这样,则对于时间系统,卡尔曼滤波的观测方程表示为:(2-5)LknsHxkkk ,21 ,式中:- k 时刻的 N 维观测信号矢量;kx- k 时刻的 N M 观测矩阵;H- k 时刻的 N 维观测噪声矢量。 kn卡尔曼滤波的信号模型如图 3.1 所示。 图 2.1 卡尔曼滤波的信号模型 卡尔曼滤波初值的选择卡尔曼滤波是系统状态矢量的一种递推估计算法。为了能从 时刻开始1k递推计算,需要确定初始滤波值 和初始状态滤

16、波的均方误差阵 。0s 0M初始状态滤波值 的确定应使状态滤波的均方误差 最小。0s )()(0ssET为此,令:(2-6))()(000 ssET交换求导和求均值的次序,得:(2-7) 0)(20s即:(2-8)(0sE在进行观测前,选择的 是某个长值矢量,于是有:0(2-9)0)(ss即选择初始时刻状态矢量的均值作为初始状态滤波值 ,这显然是合理的。0s因为:状态模型 观测模型(2-10)000ss所以,初始状态滤波的均方误差阵为:(2-11) 000)()(00 sTssT CEsM卡尔曼滤波的递推过程卡尔曼滤波的一共有五个递推公式,分别如下:(1)一步预测均方误差阵: (2-12)Tk

17、wkTkKkk C11,1,1| (2)滤波增益矩阵:(2-13)11|1| )(knTkTkk HM(3)滤波均方误差阵:(2-14 )1|)(kkkKI(4)状态滤波: (2-15) )(1.1, kkkkk sHxs(5)状态一步预测: (2-16)kkk,1|1ss其中,卡尔曼滤波的递推公式可以分为两个部分,如图 3.2 所示。图 2.2 卡尔曼滤波的递推过程卡尔曼滤波关于状态的一步预测过程如图 3.3 所示。图 2.3 卡尔曼滤波的预测过程其中,灰色区域的状态滤波增益矩阵 是动态的.kK3 实验结果 附录程序:clc;clear;%产生目标点x= rand(1,20)y =rand(

18、1,20)A=;B=;%plot(x,y)%B=;%C=%将坐标值存储到数组中 还可以用A=A;x(i) y(i)%应 用卡尔曼滤波进行跟踪 (x,y)为目标点(实际值) ,b,c分别是x,y 对应的测量值,a,d 是估计值R=0.0002;Q=1e-5;N=20;%number of iretation%produce observation%randn() 产生正 态分布的随机数或矩阵的函数a=sqrt(R)*randn(1,N);d=sqrt(R)*randn(1,N);%for i=1:20b=0.5+a;c=1+a;%y=x+v%initializationFGP=zeros(1,N

19、);x=zeros(1,N);y=zeros(1,N);P(1)=1;x(1)=0;y(1)=0;%b(1)=0;%c(1)=0;%start calfor i=1:N-1pp=P(i)+Q;K(i)=pp/(pp+R);x(i+1)=x(i)+K(i)*(b(i)-x(i);y(i+1)=y(i)+K(i)*(c(i)-y(i);P(i+1)=(1-K(i)*P(i);A=A;x(i) y(i);B=B;b(i) c(i);endt=1:N;%plot(t,x,t,z,x,t,P);a(1,:)=0.5;d(1,:)=1;%figuresubplot(1,3,1);plot(t,x,k:,t,a,mh,t,b,b-);subplot(1,3,2);plot(t,y,b-,t,d,mh,t,c,b-);subplot(1,3,3);plot(t,P);figurex=A(:,1);y=A(:,2);b=B(:,1);c=B(:,2);subplot(1,2,1)plot(x,y);subplot(1,2,2)plot(b,c)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报