《帧差法目标识别》由会员分享,可在线阅读,更多相关《帧差法目标识别(9页珍藏版)》请在金锄头文库上搜索。
1、本文展示了一种自动识别视频中移动目标的方法。论文中提取移动目标通过 帧序列,这种方法不需要先验知识,比如:时间阈值调整。基于相邻帧的连续对 称差分,我们能得到全分辨率显著图;然后利用最大熵方法计算阈值决定候选区 域和获得兴趣点的种子;最后用修改的模糊生长方法获得最终的结果。本文中提 出的算法是有效的、具有鲁棒性的。实验结果也证明它具有很好的效果。移动目标检测在计算机视觉中有广泛应用,但是在研究过程中也有很多 挑战。通常目标检测方法被分为三类:(1)基于时间信息。例如:帧差法能很快检测出目标,但很难得到整个物 体的轮廓,并且易受背景的影响。(2)基于空间信息的。(3)基于时间和空间信息的。有较好
2、的效果,计算复杂度高。本文提出了一种基于时间信息的方法。(1)通过相邻帧对称差分获得显著图;(2)使用最大熵模型得到一个阈值去二值化时间显著图和获得候选区域。 然后选择候选区域最显著的点作为兴趣种子点。(3)对于每一兴趣种子点,在显著图上应用模糊生长方法直到没有点能被 聚集和能获得移动物体的轮廓A. 移动显著图的产生 获得一段连续帧玳 L-i r0必.湖 人*”工加. 相邻帧做差分得到移动目标。可*L . 对得到的差分显著图做开运算。作用:消除小的和亮的细节。 为了去除噪声和背景运动的影响,对差分得到的显著图做和再平均P-J。B. 兴趣种子选择由于图像是连续变化的,一个固定的阈值不能很好的二值
3、化显著图,本文采 用最大熵方法得到一个变化的阈值去二值化显著图和提取候选兴趣区域。然后选 择兴趣种子点。C. 移动目标检测为了提取移动的目标,本论文应用模糊生长方法去使兴趣点的种子生长成一片区域。如果像素值满足下列条件 逐S何如5叫_(心,对兴趣点的种子使用模糊生长算法。a和u表示如下图实验数据集:PETS2000, PETS2001 and Dataset2014设备:The algorithm is implemented with C+ on a personal computer with Corei3 3.3 GHz CPU and 2G RAM.评价标准:假负率(False Neg
4、ative Rate , FNR) : FNR = FN /(TP + FN),即被预测为负的 正样本结果数/正样本实际数假正率(False Positive Rate , FPR) : FPR = FP /(FP + TN),即被预测为正的负 样本结果数/负样本实际数Specificity (负例的覆盖率,True Negative Rate)=正确预测到的负例个数/实 际负例总数PBC : Percentage of Bad Classifications召回率(Re、recall):预测为真实正例除以所有真实正例样本的个数准确率(Precision):预测为真实正例除以所有被预测为正例样
5、本的个数 F-measure:查准率和查全率的调和平均值,更接近于P, R两个数较小的那个:F=2* P* R/(P + R)实验结果如下图TABLE 1DETECTIOW RtSULTS QN PEDESTRIANS, BACKDOOR, FALL AM) PARKRe邱FPRFNRFBT政怂MlpedefUiw0,4603omi(P/0M80XI3OTfill IM(K9424tckdoor0LB86S0.9983o.oon0.1132&.39M0JII8O.&992Ml螂600.CH40&I2401247灯双3此悝尚|uA0LU3S炒加0.M0 3362132130M伐0.4841日 V
6、OTH*0.84*1UVM10.QCH70ilS330.HM20L77J7。.就 2*表一表示的是本论文实验得出的结果;Fig7和Fig8本文的实验结果与图中 方法的比较,可以看出本文中的方法表现很出色。论文中的检测结果本论文的贡献共以下五点:(1) 产生特征图基于时间信息。(2) 对于场景不需要任何先验知识。(3) 扩展了差分从相邻两帧到相邻n帧。(4) 对于复杂的背景和相机的抖动具有很好的鲁棒性。(5) 自动的提取移动目标。算法:clc;clear allvideoObj =VideoReader(11.avi ) ; %读视频文件nframes = get(videoObj, Numbe
7、rOfFrames);% 获取视频文件帧个数 N=12;start=20;% hang,lie=size(grayFrame);alldiff=zeros(288,512,N);for k = 1+start : N+startcurrentFrame = read(videoObj, k);%读取第 i 帧subplot(2,2,1);%创建图像显示窗口并获取第一个窗口句柄 imshow(currentFrame);% Convert to grayscale.grayFrame = rgb2gray(currentFrame);% 灰度化 hang,lie=size(grayFrame);
8、%alldiff=zeros(hang,lie,N);if(k=1+start)grayFrame_1 = grayFrame;enddifgrayFrame= grayFrame - grayFrame_1;% 邻帧差alldiff(:,:,k-start)=double(difgrayFrame);grayFrame_1 = grayFrame;subplot(2,2,2)imshow(alldiff(:,:,k-start),);endD=zeros(hang,lie);C=zeros(hang,lie);E=zeros(hang,lie);for j=1:10D(:,:,j)=alld
9、iff(:,:,1 + j).*alldiff(:,:,2+j);subplot(2,2,3);imshow(uint8(D(:,:,j),);pause(0.5)se=stre disk ,1); %圆盘型结构元素fo(:,:,j)=imopen( D(:,:,j),se) %直接开运算 subplot(2,2,4);imshow( fo(:,:,j),);C=(C+D(:,:,j);E=(E+ fo(:,:,j);endC=C/10;figure,subplot(2,2,1);imshow( C,);subplot(2,2,2);imshow(E,);imwrite(uint8(C) C:
10、UsersAdministratorDesktop16.jpg)a=imread(C:UsersAdministratorDesktop16.jpg);figure,imshow(a)count=imhist(a);m,n=size(a);N=m*n;L=256;count=count/N; %每一个像素的分布概率for i=1:Lif count(i)=0st=i-1;break;endendfor i=L:-1:1if count(i)=0nd=i-1;break;endendf=count(st+1:nd+1); %f是每个灰度出现的概率size(f)E=;for Th=st:nd-1
11、%设定初始分割阈值为Thav1=0;av2=0;Pth=sum(count(1:Th+1);%第一类的平均相对熵为for i=0:Thav1=av1-count(i+1)/Pth*log(count(i+1)/Pth+0.00001);end%第二类的平均相对熵为for i=Th+1:L-1av2=av2-count(i+1)/(1-Pth)*log(count(i+1)/(1-Pth)+0.00001); endE(Th-st+1)=av1+av2;% E(Th-st+1)=av1*(1-Pth)八15;endposition=find(E=(max(E);th=st+position-1;
12、for i=1:mfor j=1:nif a(i,j)tha(i,j)=255;elsea(i,j)=0;endendendfigure,imshow(a);title(1)se=strel disk ,1); %圆盘型结构元素fo=imopen(a,se) %直接开运算figure, imshow(fo);title kai);%B=1 1%1 1;B=1 1 11 1 11 1 1;A2=imdilate(fo,B);figure, imshow(A2);titlefushi);imwrite(A2,C:UsersAdministratorDesktop10.jpg) Ibw=imread
13、(10.jpg);% I=rgb2gray(I);% Ibw=im2bw(I);l,m=bwlabel(Ibw,8);status=regionprops(l,BoundingBox);imshow(Ibw);hold on;for i=1:mrectangle(position,status(i).BoundingBox,edgecolor,r);endhold off;frame = read(videoObj,start);figure,imshow(frame);for i=1:mrectangle(position,status(i).BoundingBox, edgecolor,r); end本算法的结果:表格1原始视频表格2显著图表格3最大熵算法处理后的二值图表格4二值图中的移动物体表格5原始图像中检测出的移动的物体