0
点赞
收藏
分享

微信扫一扫

弱小目标检测跟踪算法研究(6) 基于小波变换的红外弱小目标检测之背景抑制

基于小波变换的红外弱小目标检测之背景抑制

1. 前言

红外图像中的弱小目标,目标属性包涵“弱"和“小’’两个方面:“弱’’是指目标在红外波长上所表现出来的强度,具体反映到所拍摄的红外图像上,就是指目标的灰度值;而“小’’是指目标的尺寸大小,也就是前面所述的成像面积很小,反映到红外图像上就是指目标所占的像素数目很少。

SPIE国际光学工程学会(Societyof Photo一0ptical Instrumentation Engineers,简记为SPIE)从1989年开始,几乎每年都会举办有关弱小目标检测技术的国际会议,研讨弱小目标检测技术的最新研究成果。根据SPIE的定义,成像尺寸小于整个成像区域0.12%的目标均可称为弱小目标(即当成像尺寸为256×256时,弱小目标应不超过81个像素,其目标尺寸在9*9以内)。

2. 小波变换算法

小波变换是一种变换域分析处理方式,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。它的主要特点是通过变换能够充分突出问题某些方面的特征,能对时间(空间)频率的局部化分析,通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。

而傅立叶变换的主要缺点就是:

(1) Fourier分析不能刻画时间域上信号的局部特性

(2) Fourier分析对突变和非平稳信号的效果不好,没有时频分析

3. Matlab仿真

%% 测试算法1(小波分析):对小波分析进行红外弱小目标检测跟踪的性能进行检验
%% 1,根据小波变换,在通用数据集上进行验证背景抑制
%% 图像分辨率为 256 × 256,仿真图像位数为 8 bit,目标最小1个像素
% date:2019-11-20 08:43:40
% author:C.S
clc;clear;close;
tic

% function infradDepartion
f=imread('190.bmp');
if ndims(f)>2
f=rgb2gray(f);
end; 
order=4;
depth=4;
f=double(f);
%f=medfilt2(f);
T=wpdec2(f,order,'db8');
firstIndex=(order^depth-1)/3;         
lastIndex=((order^(depth+1)-1)/3)-1;   
gaus=[];
for i=firstIndex:lastIndex
  cfs=wpcoef(T,i);
  cfs=cfs*1.5;
  igass=judgeGauss(cfs);
  gaus=[gaus,igass];
   if i==firstIndex
           cp=wpcoef(T,i);
           [h,w]=size(cp);
            y=zeros(h,w);
            T=write(T,'cfs',i,y);
  end;
  if igass==1
           m=i;
   cp=wpcoef(T,m);
   [h,w]=size(cp);
    y=zeros(h,w);
   T=write(T,'cfs',m,y);
  end;
end;
  f1=wprec2(T);
  means=mean2(f1);
  stds=std2(f1);
  v=means+stds*4;      %
  [l1,l2]=size(f1);
  for i=1:l1
         for j=1:l2
                if f1(i,j)<v
                        f1(i,j)=0;
%                 else
%                         f1(i,j)=1;
                end;
         end;
  end;
figure(1);subplot(121);
imagesc(f);
title('原始红外图像');
colormap('gray');
subplot(122);
imagesc(uint8(f1));
title('小波变换背景抑制效果');
colormap('gray');
% end



function isGauss=judgeGauss(wpacketcoef)
L=numel(wpacketcoef);
[row,col]=size(wpacketcoef);
sum1=0;
sum2=0;
Confidence=0.95;
for i=1:row
      for j=1:col
              temp1=wpacketcoef(i,j)^4;
              temp2=wpacketcoef(i,j)^2;
              sum1=sum1+temp1;
              sum2=sum2+temp2;
      end;
end;
k=L*(sum1/(sum2^2))-3;
if abs(k)<sqrt(24/(L*(1-Confidence)))
       isGauss=1;
else
       isGauss=0;
end;
end


在这里插入图片描述

4. 小结

说来惭愧,小波变换是自己研究生导师的主讲课程,但自己却是只学了个半吊子,到参加工作后才发现许多场景下小波变换的应用,现在又重新捡起来,后期会把具体的理论重新捋一遍出来,提醒一下小波变换的基础就是傅里叶变换,所以一上来就开干小波变换并不合适,建议有兴趣的同学也要循序渐进,不要想着一口一个胖子。

如仿真结果所示,小波变换的滤波效果也还不错,但泛化到整个场景中,还是需要进行调整设置,暂时没找到好点子进行深入,本次将其应用在复杂背景下弱小目标的背景抑制中,先挖个坑后续有机会再补上,看能否经过优化设计,得到更好的背景抑制效果的话,再进行详细介绍。

举报

相关推荐

0 条评论