【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】

⛄一、基于SAR-SIFT改进的SAR图像配准

合成孔径雷达(synthetic aperture radar,SAR)图像配准的主要目标是对同一或不同传感器在不同时间、不同视点捕获的SAR图像进行配准。SAR因具有全天候成像能力和地物穿透能力,因此具有非常广泛的应用,如变化检测[1]、图像融合[2]、目标检测与识别[3]。

图像配准方法可分为两类:基于区域的配准方法和基于特征的配准方法[4]。基于区域的配准方法对噪声敏感,当目标发生形变、旋转、尺寸变换时容易导致算法失败且计算量过大。SAR图像中通常包含许多不同的特征,因此基于特征的配准方法具有较高的计算效率[5]。对SAR图像匹配而言,更具研究意义和实用价值。

虽然SIFT算法已经在光学遥感的各种应用中证明了其有效性,但是对于SAR图像而言,情况有所不同。SAR图像成像条件复杂,特别是斑点噪声的存在,导致SIFT类算法检测到大量的虚假特征点,这些点随机性强,易造成误匹配和少匹配,影响了同名点自动提取的性能。SIFT算法在这类图像上表现不佳,一些学者提出了改进算法的几点建议。文献[6]提出了SIFT-OCT算法,通过跳过尺度空间金字塔的第1组减小斑点的影响。然而,在许多SAR图像对中,它不能产生足够的正确匹配。文献[7]考虑关键点之间的空间关系抑制虚假对应。文献[8]提出了AAG-SIFT算法,该算法用各向异性尺度空间(anisotropic scale space,ASS)代替高斯尺度空间(gaussian scale space,GSS)降低边缘噪声的影响。

上述基于SIFT改进的算法都是通过差分计算梯度,对SAR图像中的散斑噪声比较敏感。因此,文献[9]提出了SAR-SIFT算法,该算法采用了一种新的梯度计算方法,用指数加权均值比(ratio of exponential weighted average,ROEWA)算子取代差分方法,通过对原始图像使用不同权重的ROEWA算子,算出对应的SAR-Harris函数,构建了SAR-Harris尺度空间,有效地增强了算法对SAR图像的稳健性。

考虑到ASS和ROEWA算子对散斑噪声具有稳健性,同时受到文献[10]利用相位一致性(phase congruency,PC)和基于非线性扩散的SIFT进行SAR图像配准的启发。本文结合非线性扩散滤波和PC信息对SAR-SIFT算法进行改进,进一步抑制斑点噪声影响。首先,利用非线性扩散滤波(nonlinear diffusion filter,NDF)构建SAR-SIFT的尺度空间(nonlinear diffusion scale space,NDSS),然后,在NDSS不同尺度上计算SAR-Harris函数,该方法在去除噪声的同时保留边界信息。为了减少噪声对NDSS构造的影响,利用ROEWA算子计算NDSS构造过程中所需的梯度信息。此外,通过计算特征点的PC信息滤除初始特征点中的虚假点,提高特征点的可靠性。

1 改进的SAR-SIFT算法
SAR图像上存在的乘性噪声,对图像匹配的影响主要体现在2个阶段[11]:(1)在特征检测阶段,会导致检测出一些噪声点;(2)在特征描述阶段,斑点噪声影响了特征点邻域的质量。本文提出的算法可以减少特征检测阶段虚假点数量,减少误匹配,提高匹配速度;同时在特征描述阶段,为特征点提供更好的领域质量,提高特征点的可区分性。

本文算法改进方面包括:(1)利用非线性扩散滤波生成SAR图像的NDSS,在非线性尺度空间不同尺度层上算出对应的SAR-Harris函数;(2)为了使得NDSS对散斑噪声具有稳健性,NDSS构造过程中的梯度信息也采用ROEWA算子计算;(3)PC信息去除初始关键点中由散斑引起的虚假点。

1.1 构建非线性尺度空间
SAR-SIFT算法的尺度空间是对原始图像使用不同权重的ROEWA算子,算出对应的SAR-Harris函数,构建了SAR-Harris尺度空间。为了进一步提高算法对散斑噪声的稳健性,提升算法性能,本文算法构造NDSS,NDSS可以在抑制散斑噪声的同时保持边界信息,在NDSS的基础上通过不同权重的ROEWA算子计算SAR-Harris函数。

目前,构建NDSS最常用的方法为文献[12]中在热扩散方程的基础上建立的各向异性扩散方程,称为P-M扩散方程,如下
【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第1张图片
式中,!u为图像的梯度模值;div为散度算子;u0为原始图像;g(x)为扩散系数。g(0)=1,g(x)≥0,并且g(x)在无穷远处趋于0。这表明由方程得到的平滑过程是有条件的:如果梯度值!u(x)大,扩散就会很慢,因此边缘将被保留;如果梯度值中u(x)小,那么在x附近会更加平滑。本文选用了文献[13]提出的扩散函数,该扩散函数能快速降低扩散率,同时对边缘进行增强,定义为
【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第2张图片
式中,参数k为对比度因子,控制着扩散方程的平滑力度,决定保留边缘信息的多少。k值通过图像梯度直方图估计。

在求解对比因子k和扩散函数g的过程中,需要图像中的梯度信息。通常可以用简单的一阶差分法得到梯度。然而,由于乘性散斑噪声的存在,导致在高反射率区域产生假边缘,在低反射率区域丢失一些图像信息,这种方法并不适用SAR图像。与差分梯度法不同,不同反射率的均匀区域对ROEWA计算的梯度影响较小[9]。因此,采用ROEWA算子计算梯度信息,使得非线性尺度空间对散斑噪声更具有稳健性。

由于没有求解非线性扩散方程的有效的解析法,需要使用数值方法求近似解。文献[13]提出了一种计算效率高的方法,其中使用了加法算子分裂(additive operator splitting,AOS)方案。将AOS方案应用到式(1)中,以迭代形式进行离散化和重构
在这里插入图片描述
式中,τ为时间步长;l为方向;矩阵Al为沿l方向的导数;Li和Li+1分别为ti和ti+1时刻的图像;I为单位矩阵。对于这样一个离散后的方程组,可以采用Thomas法进行快速求解。利用AOS将二维扩散滤波分解为2个独立的一维扩散过程,在x、y方向上求解相应的线性方程组
在这里插入图片描述
NDSS的构建,即将尺度空间指数离散化递增,形成mmax层子空间。非线性扩散滤波模型是以时间为单位,离散尺度α需要转换为时间单位
【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第3张图片
式中,参数α计算为
在这里插入图片描述
式中,α0为尺度的初始基准值;mmax为尺度空间总的层数。

因此,各向异性尺度空间L可由一组由式(4)—式(6)生成的平滑图像组成
在这里插入图片描述
在构建完NDSS后,利用ROEWA算子在NDSS各尺度上计算出SAR-Harris函数。之后的特征检测、描述和匹配的步骤与SAR-SIFT算法相同。

1.2 使用PC信息去除虚假点
由于SAR图像中存在大量的散斑噪声,算法在特征点检测时会检测出大量的虚假点,这些虚假点会导致特征点的错误匹配,进而影响模型转换参数的计算。本文引入了PC信息,PC信息对光照变化、对比度变化和非线性辐射差异具有很强的稳健性,因此利用它去除虚假点是很好的选择。虚假点的去除步骤如下:

(1)先计算参考图和待配准图的每个像素处的PC信息。PC是一种基于图像局部相位信息的特征检测方法,可通过对数Gabor滤波器获得
【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第4张图片
(2)在SAR图像中,噪声点或不稳定的特征点的PC强度一般较弱,而稳定的特征点的PC强度一般较高[10,14,15]。因此,本文对特征点按PC强度进行降序排列,舍弃PC强度最低的10%的特征点,将这10%建议经验值的特征点视为虚假点。

根据上述利用PC强度信息去除虚假点,可以去除一些由斑点噪声形成的虚假点,提高特征点的可靠性,从而提高特征点的正确匹配率。

⛄二、部分源代码

clear all;
close all;

%该函数根据各向异性扩散原理构建各向异性的尺度空间,并用harris进行角点检测

%% 读入并显示参考和待配准图像

[filename,pathname]=uigetfile({‘.’,‘All Files(.)’},‘选择参考图像和待配准图像’,…
‘F:\class_file\图像配准\图像配准’);%选择多个图像,这里两个
image_1=imread(strcat(pathname,filename));
[filename,pathname]=uigetfile({‘.’,‘All Files(.)’},‘选择参考图像和待配准图像’,…
‘F:\class_file\图像配准\图像配准’);%选择多个图像,这里两个
image_2=imread(strcat(pathname,filename));

figure;
subplot(2,1,1);
imshow(image_1);
title(‘参考图像’);
subplot(2,1,2);
imshow(image_2);
title(‘待配准图像’);
%button=questdlg(‘是否显示中间结果图像或数据?’,‘显示选择’,‘YES’,‘NO’,‘YES’);
button=‘NO’;

t1=clock;
%% 初始参数设定
sigma_1=1.6;%第一层的尺度
sigma_2=1;
ratio=2^(1/3);%尺度比
nbin=500;%计算对比度因子时候构建的梯度直方图的Bin个数
perc=0.7;%计算对比度因子时候的百分位,这个值越大,平滑越多
Mmax=8;%尺度空间的层数
which_diff=2;%选择计算扩散系数的方程
is_auto=‘YES’;%是否自动计算对比度阈值k
first_layer=1;%极值点检测开始层数

d=0.04;%HARRIS函数任意常数默认是0.04
d_SH_1=0.1;%参考图像阈值如果是scharr滤波时候取值较大500,如果是sobel滤波取值较小
d_SH_2=0.1;%待配准图像阈值

change_form=‘相似变换’;%可以是相似变换,仿射变换,
sift_or_log_polar=‘对数极坐标描述子’;%可以是‘对数极坐标描述子’和‘SIFT描述子’

%% 转换输入图像格式
[,,num1]=size(image_1);
[,,num2]=size(image_2);
if(num13)
image_11=rgb2gray(image_1);
else
image_11=image_1;
end
if(num2
3)
image_22=rgb2gray(image_2);
else
image_22=image_2;
end

⛄三、运行结果

【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第5张图片
【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第6张图片
【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第7张图片

【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第8张图片
【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第9张图片
【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第10张图片
【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第11张图片
【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】_第12张图片

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]李培,姜刚,马千里.基于SAR-SIFT改进的SAR图像配准[J].测绘通报. 2021(02)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

你可能感兴趣的:(Matlab图像处理(进阶版),matlab)