简易目标跟踪系统.docx
- 文档编号:3201088
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:9
- 大小:382.32KB
简易目标跟踪系统.docx
《简易目标跟踪系统.docx》由会员分享,可在线阅读,更多相关《简易目标跟踪系统.docx(9页珍藏版)》请在冰豆网上搜索。
简易目标跟踪系统
简易图像跟踪系统
摘要:
本文介绍了一种基于MATLAB的简易的从视频播放的帧图像中找出目标图像,并进行视频跟踪的实现方法。
通过对图像进行阈值处理(图像分割),再对分割后的图像求取形心,以对目标图像进行定位,并最后找到各幅帧图像的目标位置的方法,从而实现对200帧视频图像的实时跟踪。
关键词:
阈值处理;视频序列目标跟踪;形心估计
1引言
视频序列目标跟踪是指对传感器摄取到的图像序列进行处理与分析,充分利用传感器采集得到信息来对目标进行稳定跟踪的过程。
一旦目标被确定,就可获得目标的位置、速度、加速度等运动参数,进而获得目标的特征参数。
在军事上,视频序列目标跟踪技术广泛应用于精确制导、战场机器人自主导航、无人机着降,靶场光电跟踪等领域。
在民用上,该技术在智能视频监控、智能交通管制、医疗影像诊断等方面也有很重要的应用。
视频跟踪目前在国内外都有较广泛的研究和应用,比如2005年,美国中央佛罗里达大学计算机视觉实验室开发出了基于MATLAB的COCOA系统,用于无人机低空航拍视频图像的目标检测与跟踪处理。
而在国内,多家的科研院所都有很深入的研究。
本文就200帧图像中目标物体的的视频跟踪做简要的探讨。
2基于MATLAB的图像跟踪算法
2.1200帧视频图像的读取
由于视频是由200帧图像通过连续播放从而达到视频的效果的,所以要达到视频放映的效果,应首先对200帧图像序列进行顺序读取。
200帧图像存储在MATLAB的默认路径中,文件名为00000xxx.bmp。
要达到读取它们的目的,需要使用循环算法。
算法由一个名为read_seqim(i)的函数实现,以下是函数的源程序:
functionI=read_seqim(i)
ifnargin==0
i=1;min=00000001;
end
name=num2str(i);
ifi<=9
min=strcat('0000000',name,'.bmp');
elseifi<=99
min=strcat('000000',name,'.bmp');
else
min=strcat('00000',name,'.bmp');
end
I=imread(min);
其中i为读取图像的序号,通过以上的函数可以很方便的实现对200帧图像中任意一帧的读取,从而为后面的处理提供方便。
2.2图像的阈值处理(图像分割)
阈值(Threshold),也叫门限。
阈值化(Thresholding),即按给定阈值进行图像的二值化处理。
阈值分割法可分为以下几种:
☐简单阈值分割法;
☐多阈值分割法;
☐最大类间方差法;
☐最佳阈值法。
许多情况,图像是由具有不同灰度级的几类区域组成。
如文字与纸张、地物与云层(航空照片)等,阈值分割是利用同一区域的具有某种共同灰度特性进行分割。
而用阈值分割法分割图像就是选取一个适当的灰度阈值,然后将图像中的每个像素和它进行比较,将灰度值超过阈值的点和低于阈值的点分别指定一个灰度值,就可以得到分割后的二值图像,此时目标和背景已经得到了分割。
阈值分割法简单,快速,特别适用于灰度和背景占据不同灰度级范围的图像。
这里我们使用多阈值分割法。
多阈值分割法就是假设一幅图像包含两个以上的不同类型的区域,可以使用几个门限来分割图象。
分割函数如下:
2.2.1阈值的确定
由于需要分析的200帧图像的灰度分布大致是相当的,所以我们任意选取一帧图像来求取它的阈值,这里我们选取第50帧图像,具体的源代码如下:
I0=read_seqim(50);%任意读取一帧图像
figure
(1),imshow(I0);%原图像显示
I0=double(I0);%化为双精度
figure
(2),hist(I0,300);%原图像直方图显示
所得到的图像如下:
上图为读取一帧图像的图像显示,下图为它所对应的直方图显示
2.2.2图像的阈值分割
第一图中的直升机是我们所要跟踪的目标。
第二图中我们可以看出我们所要得到的目标灰度分布于灰度值在150-200的区域内;图中灰度小于50的区域内有以峰值,为第一图中右边边框的刻度线的灰度表示;图中灰度在200-230区域内为背景的灰度表示,所以这里我们就设定两个阈值T1=50;T2=200.在两阈值中间的区域为目标区域。
通过图像分割把目标从图像中提取出来,具体源代码如下:
T1=50;T2=200;%观察并找出阈值
fori=1:
200
I=read_seqim(i);
M=double(I);
form=1:
272
forn=1:
512
if(M(m,n)>=T1)&&(M(m,n)<=T2)
M(m,n)=1;%设置背景灰度
else
M(m,n)=0;%设置目标灰度
end
end
end%%图像的分割和阈值处理
end
所得到的阈值处理(图像分割)后的图像如下:
2.3形心(距心)的求取
成像跟踪系统经过图像的预处理、图像的分割识别等一系列信息处理,最终实现对目标位置的实时精确测量,即对目标或目标的局部实施稳定跟踪。
目标跟踪的方法具体有以下几种:
矩心(质心、形心)跟踪;边缘跟踪;峰值跟踪;相关跟踪;滤波跟踪。
这里我们使用矩心(质心、形心)跟踪。
矩心也叫质心或重心,是物体对某轴的静力矩作用中心。
如果把目标图像看成是一块质量密度不均匀的薄板,以图像上各像素点的灰度作为各点的质量密度。
这样就可以借用矩心的定义式来计算目标图像的矩心。
由于计算重心的过程是个统计平均过程,它算出的跟踪点不是个别的最亮点位置,而是图像中各个像元灰度加权平均的位置,所以,以重心为跟踪点,跟踪的随机误差小,精度高,稳定性好。
具体的计算方法如下:
其中f(x,y)为(x,y)处的灰度值,N和M分别为图像的列数和行数,以下为求取形心的源程序:
fori=1:
200
X=0;Y=0;X1=0;Y1=0;PINJUN=0;PINJUN1=0;
form=1:
272
forn=1:
512
x=m*M(m,n);y=n*M(m,n);pinjun=M(m,n);
X=X+x;Y=Y+y;PINJUN=PINJUN+pinjun;
end
X1=X1+X;
Y1=Y1+Y;
PINJUN1=PINJUN1+PINJUN;
end
Xmean=X1/PINJUN1;
Ymean=Y1/PINJUN1;%求取形心的计算
Xmean=(Xmean*100-mod(Xmean*100,100))/100;
Ymean=(Ymean*100-mod(Ymean*100,100))/100;%形心数值取整
end
2.4设置跟踪波门
为了实现对视频目标的跟踪,设置波门是一个十分必要的工作。
对边缘跟踪及矩心跟踪来说,都要设置一个波门。
波门的尺寸略大于目标图象,波门紧紧套住目标图象(如图3—42所示)。
波门是随目标图象视频信号而产生的。
在波门以内的信号当作感兴趣的信号予以检出而摒除波门以外的其它信号;也可以针对视场中出现的苦干个目标面同时设置几个波门,分别检出各个波门中的信号。
从整个视场中检出波门内的信号的方法属于选通技术的范畴。
利用选通技术可以对目标进行有选择的跟踪,同时也可以非常有效地排除背景干扰。
这里的波门设置方法为以形心位置为中心,在图像中包含目标的区域添加一个合适矩形框(即跟踪波门,这里我们取64×32pixels),以实现对200帧图像的实时跟踪,以下为波门设置源代码:
form=(Xmean-16):
(Xmean+16)
n=Ymean-32;
I(m,n)=1;
end
form=(Xmean-16):
(Xmean+16)
n=Ymean+32;
I(m,n)=1;
end
forn=(Ymean-32):
(Ymean+32)
m=Xmean-16;
I(m,n)=1;
end
forn=(Ymean-32):
(Ymean+32)
m=Xmean+16;
I(m,n)=1;
end%画出跟踪波门
波门设置后的图像实现:
通过上图我们不难看出,我们已经找到了正确的波门,并且实现了目标的定位和跟踪,通过以上简单的方法实现了简易图像跟踪系统的设计,并且较稳定地对目标图像进行了跟踪。
以下附上实现简易图像跟踪系统的完整matlab程序:
I0=read_seqim(50);%任意读取一帧图像
figure
(1),imshow(I0);%原图像显示
I0=double(I0);
figure
(2),hist(I0,300);%原图像直方图显示
T1=50;T2=200;%观察并找出阈值
fori=1:
200
I=read_seqim(i);
M=double(I);
form=1:
272
forn=1:
512
if(M(m,n)>=T1)&&(M(m,n)<=T2)
M(m,n)=1;%设置背景灰度
else
M(m,n)=0;%设置目标灰度
end
end
end%%图像的分割和阈值处理
X=0;Y=0;X1=0;Y1=0;PINJUN=0;PINJUN1=0;
form=1:
272
forn=1:
512
x=m*M(m,n);y=n*M(m,n);pinjun=M(m,n);
X=X+x;Y=Y+y;PINJUN=PINJUN+pinjun;
end
X1=X1+X;
Y1=Y1+Y;
PINJUN1=PINJUN1+PINJUN;
end
Xmean=X1/PINJUN1;
Ymean=Y1/PINJUN1;
Xmean=(Xmean*100-mod(Xmean*100,100))/100;
Ymean=(Ymean*100-mod(Ymean*100,100))/100;
%求取形心的计算
form=(Xmean-16):
(Xmean+16)
n=Ymean-32;
I(m,n)=1;
end
form=(Xmean-16):
(Xmean+16)
n=Ymean+32;
I(m,n)=1;
end
forn=(Ymean-32):
(Ymean+32)
m=Xmean-16;
I(m,n)=1;
end
forn=(Ymean-32):
(Ymean+32)
m=Xmean+16;
I(m,n)=1;
end%画出跟踪波门
figure(3),imshow(I);%连续读出每一帧图像,连续显示已达到视频播放的效果
end
3结束语
基于matlab的简易图像跟踪系统可以很简单易行的解决200帧图像的视频跟踪任务,通过图像的预处理,图像的阈值分割(二值化处理),图像的形心选取以及波门的设置等过程,较稳定准确地实现了对图像目标的跟踪。
误差小,精度高。
本系统的不足之处在于,对灰度背景较复杂的视频图像,如目标图像和背景图像的灰度差异不大时,不能准确的找到目标以进行跟踪。
这也是本系统在以后的工作中需要改进的地方。
课程设计总结:
本文介绍了视频跟踪系统的发展背景,目前发展状况以及未来发展趋势,通过基于matlab的简易图像跟踪系统的设计和仿真,实现了对简单灰度图像视频的跟踪。
通过这次试验,我更深入的掌握了matlab在光电图像处理中的的重要应用。
但是这个跟踪系统还存在诸多不足,比如如果所需分析的视频图像的目标和背景的灰度相当时,这种跟踪系统就不能很好的实现对目标的跟踪有时甚至会
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 目标 跟踪 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)