APP下载

改进SIFT算法和NSCT相结合的遥感图像匹配算法

2018-10-09宋佳乾汪西原

测绘通报 2018年9期
关键词:尺度空间图像匹配描述符

宋佳乾,汪西原

(宁夏大学物理与电子电气工程学院,宁夏 银川 750021)

图像配准是对2幅以上具有一定重叠区域、同一场景不同角度、不同传感器或不同时间获取的图片进行匹配的过程[1]。在遥感影像处理领域,图像的融合、拼接、变化检测也与图像配准息息相关,可以说配准是对遥感图像进行下一步处理的基础,其速度和精度对图像的后续分析具有关键的作用。

目前,对遥感图像配准通常使用的有4种方法,在这些方法中,基于图像像素信息和基于图像特征的方法使用频率较高,图像特征一般不随图像灰度差异的变化而变化,使基于图像特征的方法得到广泛的应用。在图像特征的配准方法中,David Lowe于2004年提出的SIFT算法[2]因对两幅图像之间的平移、旋转、仿射等变换具有较强的适应性[3],从而在配准领域得到了广泛的应用,但是当图像的特征点较多时,SIFT算法构造特征点的特征描述符会消耗大量时间,且在后续的匹配和拼接过程中仅有少量的特征点被使用,遥感图像信息非常丰富,检测到的特征点数目繁多,这对算法的精度和速度都有较大的影响。

综上,本文提出一种NSCT算法和改进SIFT算法相结合的遥感图像配准算法。首先使用NSCT算法对遥感图像进行处理,获得低频图像后,再使用改进后的SIFT算法来减少从遥感图像提取出的特征点数目,完成对遥感图像的匹配。试验结果和分析说明本文算法可以有效地减少特征点数目,提高特征点的匹配精度和效率。

1 NSCT算法

文献[4]提出了一种多分辨率、多局部、多方向的图像表示方法——Contourlet变换,其核心是拉普拉斯金字塔分解和方向滤波器组相结合的塔形方向滤波器组,这种滤波器组的构成是双迭代式的,称之为Contourlet滤波器组。Contourlet变换在对图像进行处理时,主要分为两个阶段:子带分解和方向变换。在子带分解阶段,拉普拉斯金字塔实现多尺度分解,每一步分解出来图像的一个低频分量和一个高频分量;在方向变换阶段,使用方向滤波器组实现图像的多方向分解,为使得方向频率能被分到任意的一个精度且保持样本数目不变,一般采用下采样方式。使用下采样带来的弊端就是使得图像不具有平移不变性,会给图像带来伪吉比斯效应导致图像失真[5]。为了解决这个问题,文献[6]提出了一种由无下采样金字塔分解和无下采样方向滤波器分解的算法——NSCT。NSCT算法可以使图像在保留良好的方向性、准确的边缘和纹理特征的同时具有平移不变性,不再受到伪吉比斯效应的影响[7],其结构如图1所示。

图1 NSCT分解图

NSCT的实现过程是首先由无下采样的金字塔滤波器组将卷积后图像分解成低频分量和高频分量,再由无下采样的方向滤波器组将高频分量分解成多个方向的高频方向子带[8]。NSCT算法不对经过拉普拉斯塔式分解和方向滤波器组分解后的分量进行下采样,而是对滤波器进行上采样,以便保留平移不变性。

2 改进的SIFT算法

传统的SIFT算法是在2004年由David Lowe总结提出的,在尺度空间,其具有图像局部特征对平移、旋转、缩放和仿射变换不变的性质,并对该特征给予描述。SIFT算法分为4步[9]:①图像特征点检测;②通过图像特征点计算特征点的方向;③形成特征描述符;④匹配特征向量。

在尺度空间内,通常使用高斯卷积核进行尺度空间不变点的检测。设F(x,y)是一幅二维图像,σ是尺度空间因子,则二维图像的尺度空间函数为

L(x,y,σ)=G(x,y,σ)*I(x,y)

式中,σ越小表示图像特征越细,反之则表示图像的概貌特征;*表示卷积。

为了能更好地检测出图像的特征点,Lowe提出了高斯差分尺度空间(DOG)的概念(如图2所示)

D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*F(x,y)=

L(x,y,kσ)-L(x,y,σ)

图2 DOG金字塔

高斯差分尺度空间函数是通过不同尺度空间函数之间差分所得到的。用来确定图像尺度空间极值点的DOG函数是使用相邻的两个图像之间的DOG函数相减所得到的,尺度空间极值点的计算过程如图3所示,需要将所属于尺度空间中的所有像素点同其所在的3×3邻域点及上下相邻的两个点的3×3 邻域共26个点进行比较[10],当且仅当这个点在这26个点中是最大或最小时,才将该点认定为极值点。

通过这种方法所得到的众多极值点中,会存在因为DOG算法而产生的边缘响应点和一些对比度比较低的点,如果这些点也进入下一步对特征描述符的构造中将增加算法的时间;其次,特征点越多,相应两幅图像的匹配对也就越多,可能会导致图像误匹配的点对增多,而在最终的匹配中,仅需要很少的特征点进行匹配,故需要对特征点位置进行过滤求精,增强SIFT算法的时效性和精确性。因此,考虑在进行特征点检测前,先对图像进行Canny边缘检测,获取图像边缘特征点的位置,再对图像进行SIFT特征点的检测获取检测出特征点的位置,将两次获得的位置进行比对,去除图像的边缘特征点,可以显著减少特征点的数量和受到边缘效应影响的特征点,从而减少下一步计算特征向量所需时间。

图3 极值点的确定

在得到尺度空间的特征点后,为了保持该点的方向不变性,需要对其赋予一个方向,综合思考特征点及其邻域像素梯度和方向的分布性,使用如下公式来计算特征点的梯度方向

m(x,y)=

其中,该描述由两部分构成:第一部分m(x,y)为特征点的梯度幅值;第二部分θ(x,y)为特征点的梯度方向。梯度方向直方图可以表征特征点及其邻域像素点的梯度方向,其峰值所代表的即为特征点的主方向。

经过以上步骤处理后的特征点具有3个基本信息:位置、尺度与方向。为使特征点具有更强的适应性(不随光照、角度的改变而改变),下一步需对特征点进行特征描述符的构造。

按照David Lowe的想法,对每个特征点描述时,首先应该旋转坐标轴的方向,使得坐标轴与上一步计算的特征点的方向一致,再将特征点作为中心,取该特征点邻域范围内的16×16像素点,16×16邻域区域共有8个4×4的子区域,计算出每一个子区域所包含的8个方向的梯度直方图,最终得到4×4×8共128维的特征向量[11]。在实际运行过程中,一旦特征点过多,对每一个特征点生成128维的特征向量描述符,如图4所示。

图4 特征描述符的生成

这需要计算很长的时间,为了减少特征向量的维数,节省程序运算时间,在特征描述符部分使用K-L变换来降低向量维数。

SIFT算法的最后一步是特征向量之间的匹配,通常使用欧几里得距离判断特征向量之间的相似性。其本质是:分别取参考图像中的一个特征点和待匹配图像中的一个特征点,在这两个特征点之间计算欧几里得距离,通过最近邻距离和次近邻距离之间的比值来判断两者是否匹配,这样匹配出来的特征点会有较多的误匹配,考虑引入RANSAC算法,该算法主要利用特征点集合中内在的几何约束关系来匹配特征点[12-13]。经过RANSAC算法处理后的特征点集合就可以去除错误的匹配点,完成特征点集合的精确匹配。

3 改进SIFT算法和NSCT相结合方法的步骤

本文提出结合NSCT算法和改进SIFT算法的匹配算法,可以更加精确提取遥感图像特征点,进而对遥感图像进行配准。主要流程如下:

(1) 输入两幅具有一定重叠度的遥感图像,一幅作为参考图像,另一幅作为待匹配图像。

(2) 对参考图像和待匹配图像作NSCT变换,分别获取两幅图像的低频图像。

(3) 使用改进后的SIFT算法提取两幅低频图像的特征点,构建特征描述符。

(4) 使用RANSAC算法去除误配点,最终完成特征向量的匹配。

具体流程如图5所示。

图5 NSCT结合改进SIFT算法配准图像流程

4 试验结果和分析

遥感图像的配准中,速度和精度是匹配的关键,本文选择不同的、具有一定重叠度和旋转角度的遥感图像进行匹配试验,并与直接使用SIFT算法、NSCT+SIFT算法的试验结果对比分析。试验平台为Matlab 2014a,运行环境:CPU为Intel Core(TM) i3-4150 3.5 GHz,内存为4 GB RAM,Windows 7操作系统。

因篇幅所限,本文仅给出了两组不同遥感图像匹配的结果,图6中遥感图像的尺寸分别为306×386、335×472,图7中遥感图像的尺寸分别为499×599、447×537。图中分别包含待匹配图像原图、SIFT算法匹配结果、NSCT+SIFT算法匹配结果、本文算法(NSCT+改进SIFT算法)匹配结果。

图6 遥感图像匹配试验结果1

图6(b)和图7(b)中,可以明显看出仅使用SIFT算法会产生大量的匹配点,也可以看到误匹配的存在;图6(c)和图7(c)中,使用NSCT+SIFT算法后,匹配点大量减少,误配点也很明显;图6(d)和图7(d)中,本文算法使误匹配点大幅降低的同时,还可以消除一些较为明显的误匹配。

图7 遥感图像匹配试验结果2

表1对3种方法的试验结果特征点数量、匹配对、匹配时间、错误匹配对、正确匹配率对比分析。从表1中可以看出:①在特征点数量上,使用SIFT算法对遥感图像进行处理时,由于遥感图像细节丰富,提取出的特征点数量很多,这在计算特征描述符时会花费相当长时间,从而拖累整个算法的时长,在这些特征点中,只有少部分的特征点在下一步匹配和拼接过程中可以用到,故采用NSCT算法将遥感图像分解,只使用分解出的低频图像进行下一步的特征提取,这样提取到的特征点数量会大幅下降,从而减少生成特征描述符的时间。②SIFT算法产生的匹配对数量因为特征点的数量多而增多,但带来的错误匹配对也较多,匹配时间增加,经过NSCT算法分解后的低频图像,用本文改进的SIFT算法处理后,可以明显看出,Canny算子会去除一些图像的不稳定边缘点,相比NSCT+SIFT算法,可以进一步减少特征点的数量,以达到减少匹配时的计算量和匹配时间的目的。③不稳定边缘点的去除和RANSAC算法的引入可以为算法减少部分误匹配,提升算法处理遥感图像的抗噪性和正确匹配率。

表1 遥感图像匹配比较数据

5 结 语

遥感图像具有丰富的细节特征,而SIFT算法在对遥感图像进行处理时会产生大量的特征点,这些特征点的描述符严重拖累图像的配准,本文考虑将NSCT算法引入到遥感图像的配准中,结合Canny算子和RANSAC算法、改进的SIFT算法对遥感图像配准。试验分析发现,本文算法达到了通过减少图像不稳定特征点数量以提高特征描述符生成速度、匹配效率和正确匹配率的目的,算法效果良好且优于两种对比算法。

猜你喜欢

尺度空间图像匹配描述符
基于多特征融合的图像匹配研究
基于AHP的大尺度空间域矿山地质环境评价研究
基于AKAZE的BOLD掩码描述符的匹配算法的研究
图像匹配及其应用
欧洲共同语言参考标准在中国高校学术英语写作教学适用性的研究:可理解性,可行性和有用性
基于深度学习的局部描述符
一种基于PCIE总线的改进分散集聚DMA的设计
居住区园林空间尺度研究
基于降采样归一化割的多尺度分层分割方法研究
基于尺度空间的体数据边界不确定性可视化研究