基于小波变换的红外弱小目标检测之背景抑制
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. 小结
说来惭愧,小波变换是自己研究生导师的主讲课程,但自己却是只学了个半吊子,到参加工作后才发现许多场景下小波变换的应用,现在又重新捡起来,后期会把具体的理论重新捋一遍出来,提醒一下小波变换的基础就是傅里叶变换,所以一上来就开干小波变换并不合适,建议有兴趣的同学也要循序渐进,不要想着一口一个胖子。
如仿真结果所示,小波变换的滤波效果也还不错,但泛化到整个场景中,还是需要进行调整设置,暂时没找到好点子进行深入,本次将其应用在复杂背景下弱小目标的背景抑制中,先挖个坑后续有机会再补上,看能否经过优化设计,得到更好的背景抑制效果的话,再进行详细介绍。