您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数字图像处理-实验报告书(九)目标跟踪
电子信息学院实验报告书课程名:《数字图像处理》题目:实验九目标检测与目标跟踪实验实验类别:【设计】班级:BX0901学号:111103020103姓名:窦中锋评语:学习态度:【很好】【一般】【较差】程序编写:【完整】【部分完整】【不完整】得出结论:【正确】【部分正确】【不正确】报告书写:【规范】【一般】【不规范】成绩:指导教师:范光宇批阅时间:2012年月日《数字图像处理》实验报告-1-1、实验目的(1)了解目标检测和目标跟踪的基本原理和方法;(2)使用MATLAB对视频中的目标进行检测和跟踪。2、实验原理运动目标跟踪在军事制导、视觉导航、机器人、智能交通、公共安全等领域有着广泛的应用。例如在车辆违章抓拍系统中,车辆的跟踪就是必不可少的。在入侵检测中,人、动物、车辆等大型运动目标的检测与跟踪也是整个系统运行的关键所在。因此在计算机视觉领域中目标跟踪是一个很重要的分支。运动目标检测是运动目标跟踪的前提。运动目标检测,根据目标与摄像机之间的关系可以分为静态背景下的运动检测与动态背景下的运动检测。(一)静态背景下的运动检测:整个监控过程中只有目标在运动。主要包括以下几种方法:1、背景差分法:整个监控过程中,需要不停地维护一个“纯背景”。对于任意一帧监控图像而言,将其与纯背景进行差分,从而得到出现在当前画面中的运动目标。该方法对光照变化、天气、背景变化比较敏感,而且需要不停进行地依靠学习来维护一个纯背景画面。此外背景的维护和更新、阴影去除等对运动目标的检测至关重要。2、帧间差分法:通过相邻帧之间的差值计算,来获得运动目标的位置、形状等信息的方法。该方法对光照的适应能力很强,但由于运动目标像素上的相似性,从而不能完整地检测出运动目标。有研究人员将相邻帧间的差分进行改进,得到三帧差分方法,即利用相邻三帧之间的差值计算来进行运动目标的检测。该方法经很多研究人员和工程师的实际测试,证明了其在特定环境中优良的性能。3、光流法:在空间中,运动可以用运动场描述。而在一个图像平面上,物体的运动往往是通过图像序列中图像灰度分布的不同来体现,从而使空间中的运动场转移到图像上就表示为光流场。光流场反映了图像上每一点灰度的变化趋势。它可看成是带有灰度的像素点在图像平面上运动而产生的瞬时速度场,也是一种对真实运动场的近似估计。在比较理想的情况下,它能够检测独立运动的对象而不需要预先知道场景的任何信息,可以很精确地计算出运动物体的速度,并且可用于动态场景的情况。但是大多数光流方法的计算相当复杂,对硬件要求比较高,不适于实时处理,而且对噪声比较敏感,抗噪性差。(二)动态背景下的运动检测:监控过程中,目标和背景都在发生运动或变化。在运动目标检测的应用环境中,动态背景相比而言更加复杂。根据相机的运动形式,可以分为以下两种:1、相机支架固定:相机可以随着云台的运动而发生旋转,倾斜等运动。相机也可以根据远程计算机指令来控制镜头调焦,从而产生远景和近景缩放运动。2、相机置于移动设备之上(例如车载相机)。对于以上两种相机运动形式的任意一种而言,在进行运动目标检测之前,都需要根据一定的方法进行全局运动估计与补偿。通常可以利用块匹配法、特征点匹配法等进行运动量的估计。也可以利用光流法建立光流场模型,利用光流方程求解图像像素点的运动速度。运动目标跟踪就是在一个连续视频序列中,在每一帧监控画面中找到感兴趣的运动目标(例如车辆、行人、动物等)。跟踪大致可以分为以下几个步骤:(1)目标的有效描述:目标的跟踪过程跟目标检测一样,需要对其进行有效的描述,即需要提取目标的特征,从而能够表达该目标。一般来说,可以通过图像的边缘、轮廓、形状、纹理、区域、直方图、矩特征、变换系数等来进行目标的特征描述。(2)相似性度量计算:常用的方法有欧式距离、马氏距离、棋盘距离、加权距离、相似系数、相关系数等。(3)目标区域搜索匹配:如果对场景中出现的所有目标都进行特征提取、相似性计算,系统运行《数字图像处理》实验报告-2-所耗费的计算量是很大的。因此通常采用一定的方式对运动目标可能出现的区域进行估计,从而减少冗余,加快目标跟踪的速度。常用的预测算法有Kalman滤波、粒子滤波、均值漂移等。3、实验步骤(1)打开计算机,启动MATLAB程序,设置MATLAB的程序组中的当前活动文件夹;(2)找到待处理的图像文件;(3)根据实验内容和实验要求进行实验;(4)记录和整理实验报告。4、实验内容(1)编写MATLAB程序,对视频中的特定目标进行检测和跟踪,观察并记录结果。Run:cleardatadisp('inputvideo');avi=aviread('samplevideo.avi');video={avi.cdata};fora=1:length(video)imagesc(video{a});axisimageoffdrawnow;end;disp('outputvideo');tracking(video);Tracking:functiond=tracking(video)%%输出跟踪图像,输出目标在每帧的位置。%读取图像ifischar(video)%Loadthevideofromanavifile.avi=aviread(video);pixels=double(cat(4,avi(1:2:end).cdata))/255;clearavielse%Compilethepixeldataintoasinglearraypixels=double(cat(4,video{1:2:end}))/255;《数字图像处理》实验报告-3-clearvideoend%ConverttoRGBtoGRAYSCALEimage.转换成灰度图像nFrames=size(pixels,4);forf=1:nFramespixel(:,:,f)=(rgb2gray(pixels(:,:,:,f)));endrows=240;cols=320;nrames=f;forl=2:nramesd(:,:,l)=(abs(pixel(:,:,l)-pixel(:,:,l-1)));%帧之间比较,并记录%图像恢复重建k=d(:,:,l);bw(:,:,l)=im2bw(k,.2);bw1=bwlabel(bw(:,:,l));imshow(bw(:,:,l))holdoncou=1;forh=1:rowsforw=1:colsif(bw(h,w,l)0.5)%分割阈值%disp(d(h,w,l));toplen=h;if(cou==1)tpln=toplen;endcou=cou+1;breakendendend《数字图像处理》实验报告-4-disp(toplen);coun=1;forw=1:colsforh=1:rowsif(bw(h,w,l)0.5)leftsi=w;if(coun==1)lftln=leftsi;coun=coun+1;endbreakendendenddisp(leftsi);%跟踪图像显示disp(lftln);widh=leftsi-lftln;heig=toplen-tpln;%跟踪区域加框提示widt=widh/2;disp(widt);heit=heig/2;with=lftln+widt;heth=tpln+heit;wth(l)=with;hth(l)=heth;disp(heit);disp(widh);disp(heig);rectangle('Position',[lftlntplnwidhheig],'EdgeColor','r');disp(with);disp(heth);plot(with,heth,'r*');drawnow;holdoff《数字图像处理》实验报告-5-end;5、实验程序与结果(结果可以抓图粘贴)(1)编写MATLAB程序,对视频中的特定目标进行检测和跟踪,观察并记录结果。6、实验体会通过本次实验,了解目标检测和目标跟踪的基本原理和方法,并且学会了使用MATLAB对视频中的目标进行检测和跟踪。
本文标题:数字图像处理-实验报告书(九)目标跟踪
链接地址:https://www.777doc.com/doc-4959503 .html