1) 调研收集分析粒子滤波的资料;
2) 研究MATLAB GUI的使用方法;
3) 完成粒子滤波算法的设计与实现;
4) 利用MATLAB GUI开发粒子滤波跟踪算法的界面。
1.3 国内外的研究现状
1.4 本文的主要结构
文章的章节结构如下:
第一章,绪论。主要研究该课题研究的目的与背景,并介绍课题中要完成的内容与该课题的国内外现状与发展过程及存在的问题。
第二章,MATLAB GUI。主要研究了MATLAB GUI的基本组成与设计步骤。
第三章,目标跟踪算法。主要研究了目标跟踪的基本概念以及目标跟踪的几种常用模型。
第四章,基于MATLAB GUI的粒子滤波算法。采用了正弦、直线、曲线三种轨迹仿真实现了粒子滤波算法,并对仿真结果进行分析。
第五章,基于MATLAB GUI的交互多模型粒子滤波。实现了交互多模型粒子滤波算法的仿真,并实现了在直线轨迹下的粒子滤波算法与交互度模型粒子滤波算法的仿真,并对仿真结果进行了分析。
论文的最后对本次毕业设计进行了总结。
第二章 Matlab GUI简介
2.1 GUI的基本概念
GUI的优势就是能够使程序变得更加方便被人接受与使用,它主要是提供给用户一个界面,界面中还会提供一些控制元件,比如弹出式菜单,按键,滑块,列表框,图像显示原件等等。用户图像的界面是一种容易接受并且操作简单的一种界面。因此,当执行者执行一步操作时,该界面就立即接受任务。例如,当需要用鼠标去指示一个按键去操控一个事件,可利用信息去驱动该机制,它的操作需要用户图形界面去初始化,并把将要对其的操作命令写在该按钮的标签上。
创立MATLAB用户图形界面一定具有如下三个基本要素:
1)组件
在MATLAB GUI中的每一个控件(按键,滑块,弹出式菜单)都是一个由图形表示的控件。控件可以分成三类:图形式的组件,静态元素(文本的字符串和窗口),菜单栏和坐标轴。
图形式的控件和静态元素是由函数Uicontrol构建,可由函数Uimenu和Uicontextmenu构建菜单栏,如果要显示图形化的数据,经常要用坐标轴,该项目可由函数Axes构建。
2)图形窗口
在GUI中如果要安排想要的控件务必要在图像的窗口中。如果想要画数据类图像时,该图像的窗口可以自动的创建出来。但是还可以在Matlab的编辑器中写入figure函数来创建空的图形窗口,此时可以把各种类型的控件放在该空图像窗口中。
3)回应
如果想要用鼠标单机来执行一个事件或是在键盘上输入可以在控件中显示信息,那么就要在程序中键入相应行为的程序。鼠标点击执行或是键盘输入信息都属于一个事件,那么当Matlab程序执行到该段程序时,会做出相应的反应。比如,当执行者点击了一下鼠标,那么就会调用执行Matlab中相应的程序,那么这些程序就叫做回应,一旦执行窗口中的某一个图形组件,就一定要有回应。通常我们在图形界面中编辑的控件,在M文件中都会生成相应的回调函数,往往执行该组件的功能后都会通过回调函数做出回应。
2.2 GUI的结构
实现GUI要包括以下两个步骤:一是组建GUI的布局,二是各个GUI组件的编程。除此之外,用户必须要保存以便可以展示自己的GUI,使得这个开发出来的界面可以得到应用。
所有的GUI图形界面都要由GUIDE来创建,GUIDE是一个组建布局的工具集合,据此可以生成用户需要的各种图形窗口以实现功能,并且保存在FIG文件中;其次在生成FIG文件的同时又生成了一个包含GUI初始化的并且有可编程代码的.M文件,此文件作为该GUI的回调函数(用户要是想执行某一控件要执行的函数)提供了框架。