曹 南,蔡扬扬,李旭洋,李 黎
(1.自然资源部第一地形测量队,陕西 西安 710054;2.西安新华测绘有限公司,陕西 西安 710054)
近年来,随着遥感技术的快速发展,多源、多分辨率、多时相的遥感影像已应用于人类生活与工作的多个方面,如生态环境保护、农作物生长状态估计、灾害管理、城市规划等[1-3]。在遥感领域,平台、传感器、无线通信传输技术的快速更新,使遥感影像逐渐向高空间、高时间、高光谱分辨率的高分方向发展[4]。在许多遥感影像的处理与应用中,需要将多源数据结合起来进行分析与比较,如影像融合、变化检测、影像拼接等,需对影像进行匹配处理。影像信息主要集中在特征区域[5],而影像特征匹配依靠点位匹配完成,因此可通过影像特征点匹配实现影像匹配。传统的特征点匹配采用人工操作的方式,需要有经验的操作人员在图上逐点均匀选点,操作过程极其耗时、费工费力,且对于含有沙漠、森林等纹理重复性高、相似度大的地区,难以辨别相同特征,误匹配的几率增大,无法达到自动化匹配要求。
目前的遥感影像特征点匹配方法包括两类,即基于灰度的特征点匹配方法和基于特征的特征点匹配方法[6],后者克服了前者计算量大、对灰度敏感等缺点,是目前研究的主要方向。SURF算法是一种基于特征的特征点匹配方法,对旋转、尺度缩放保持不变性,同时具有较高的运行速度,被广泛应用于影像匹配领域[7]。然而,将SURF算法应用于高分影像匹配时存在以下问题:
1)算法来源于场景图像的特征提取,数据量较小,对于拥有丰富纹理特征的遥感影像,特征提取阶段会检测到大量特征点,构造特征点描述子、匹配特征点将耗费过多时间,算法效率底下。
2)当遥感影像中存在重复或非常相似的场景时,产生误匹配的概率将变大。
3)无法同时满足保证算法运行效率和保持尺度缩放、旋转不变性的需求。
针对上述问题,本文从特征提取和特征匹配两个方面出发,通过控制特征点数量和分布情况,采用分部匹配策略和粗差控制策略,提出了一种基于SURF的改进特征点匹配算法,并应用于高分影像特征匹配中。
SURF算法借鉴了SIFT算法简化近似的思想,采用积分图像和盒式滤波器等技术,将图像与模板的卷积运算转化为若干次加减运算[8],检测速度能达到SIFT算法的3倍以上。
SURF算法对特征点的检测基于Hessian矩阵,假设图像是一个灰度分布为L(x,y)的函数,在点(x,y)处,尺度为σ的Hessian矩阵为:
式中,Lxx(x,y,σ)、Lxy(x,y,σ)、Lyy(x,y,σ)为图像中点(x,y)与高斯二阶偏导数的卷积。
Hessian矩阵的行列式为:
实际运算中,高斯滤波器必须离散化,则Hessian矩阵行列式的近似值,即特征响应值为:
式中,Dxx、Dxy、Dyy为差分模板与图像进行卷积的结果。
为在不同尺度上寻找特征点,需建立图像的尺度空间。SURF算法只需改变方框滤波器即可获取不同尺度下的影像,运算过程较简单。该方式只需改变滤波器和模糊系数,生成不同大小、清晰度的影像,达到构建尺度空间的目的[9]。
为了获取图像的旋转信息,需要确定特征点的方向。SURF算法首先统计特征点圆形邻域内的Harr小波特征,即在特征点的圆形邻域内,统计一定弧度扇形内所有点的水平、垂直Harr小波特征总和;然后将扇形以固定弧度大小的间隔进行旋转,并再次统计该区域内Harr小波特征值;最后将值最大的那个扇形方向作为该特征点的主方向。
获取特征点主方向后,以特征点为中心,首先将坐标轴旋转到主方向,按主方向选取20σ×20σ的正方形区域,并将其等分为4×4个子区域,计算每个子区域的Harr小波响应;假设dx和dy分别为水平与垂直方向上的Harr小波响应,赋予高斯权重后统计每个子区域里响应的总和以及响应绝对值之和,得到一个四维向量所有子区域的向量构成该点的特征向量,最终生成总计64维的特征描述符,是SIFT特征的描述子的1/2[10]。
获取SURF特征向量后即可进行特征点匹配,采用最近邻搜索算法在欧式空间搜索查找每个特征点的两个最近邻特征点,若最近距离与次近距离的比值小于某个阈值,则接受这对匹配点[11]。
本文从4个方面对高分辨率遥感影像进行特征匹配,具体方法流程如图1所示。首先对高分辨率参考影像进行降采样,使采样后的影像与遥感影像保持同一分辨率;再设置影像分割阈值,对高分辨率遥感影像进行影像分割,形成对应的匹配图像;然后利用基于GPU运算改进的SURF算法进行特征点提取、描述、匹配;最后设置阈值删除误匹配点。
图1 方法流程图
作业过程中,一般选用较高分辨率的遥感影像来纠正较低分辨率的影像,为消除两种影像间的尺度差,同时减小精确提取同名点时的运算量,先将参考影像分辨率降采样为与遥感影像同等分辨率[12]。降采样过程[13]如图2所示。
图2 降采样过程
在遥感影像降采样处理时,由于采样点对应的位置坐标不是整数,因此通过对周围像元值进行内插求取新的像元值。常见的内插方法包括最近邻内插法、双线性内插法和三次卷积内插法[14]。本文采用双线性内插法实现参考影像的降采样。双线性内插法考虑投影点周围4个相邻像元的灰度值,并根据各自权重计算输出像元灰度值,计算公式为:
式中,gxy为输出像元灰度值;gi为邻近点i的灰度值;pi为邻近点对投影点的权重。
双线性内插法具有平均化的滤波效果,且内插精度和运算量较适中,结果如图3所示。
图3 降采样前后对比图
高分辨率遥感影像一般来源于航天或航空影像,普遍具有地物纹理信息丰富、成像光谱波段多、影像数据量大的特点。同名点匹配算法一般来源于图像处理领域对图片特征点的提取需求,处理的影像大小一般较小。影像过大,处理时间则过长,同时让高分辨率遥感影像特征点匹配失去了意义。为解决该问题,需对高分辨率遥感影像进行分割,再对分割后的遥感影像进行特征点匹配。影像分割应满足的条件为:①既能满足快速分割要求,又能满足单幅影像特征点匹配的需要;②分割后的单幅影像大小不超过1 GB;③分割后的单幅影像信息应与原遥感影像保持一致。
传统SURF算法会对整幅影像的所有区域进行特征点提取和描述,处理过程耗时严重,难以满足实时性应用的要求。为了提升算法速度,本文考虑将GPU并行运算引入SURF算法的影像特征点匹配中,较好地解决了遥感影像特征点匹配效率低的问题。
将预处理后的输入图像数据,通过总线从内存上传至显卡显存,再利于分段前缀加法在GPU上构建积分图像。其实现原理为:
对于一幅图像I(x,y),式(5)为对输入图像的每一行进行行前缀加法,式(6)为对行前缀加法的输出进行列前缀加法得到的积分图像。
在构建尺度空间时,各尺度空间图像中各点的海森矩阵判别计算相互独立,可利用GPU并行计算优势改进尺度空间的构建速度。基于GPU并行加速优化的SURF算法的特征点提取与匹配过程为:①将输入的遥感图像从主机存储器上传至GPU显示存储器;②利用积分图像对特征进行检测,获取特征位置和尺度参数;③结合遥感图像和特征参数计算主方向;④计算特征向量,SURF描述符有16个区域,可采用16个线程计算一个特征的特征向量;⑤利用GPU加速特征点匹配过程;⑥将处理后的数据从GPU下载到CPU主机内存。
2.5.1 特征点匹配算法
特征点匹配算法主要包括朴素匹配法(BF)和快速最近邻逼近搜索函数库(FLANN)。FLANN算法包含了一些大数据量的快速搜索邻近和高维特征的优化算法,比BF算法的匹配速度更快,因此本文采用FLANN算法进行特征点匹配[15]。
FLANN算法步骤为:①建立k-d树将数据划分为两部分,对每个部分重复该过程直至为子结点建立快速搜索索引;②通过保存在堆栈中的搜索路径回溯,计算得到第一个从堆栈中取出的点与基准匹配点的欧氏距离;③依次比较保存在堆栈中的节点大小,直至找出最小距离即为最邻近匹配点。
2.5.2 误匹配去除
由于图像遮挡或背景混乱等原因,FLANN算法匹配的图像会产生部分误匹配点,需对其进行去除。去除误匹配点采用比较最近邻距离和次近邻距离的方式,具体步骤为:①取参考图像中的特征点,并找出与另一幅图像中欧氏距离最短的两个匹配点;②计算最邻近距离与次邻近距离的比率;③当比率值大于0.4时,去除匹配点,当比率值小于等于0.4时,保留匹配点。
本文的研究内容来源于对生产活动中地理国情监测影像的精度检测工作,采用最新的1∶5万更新DOM影像成果作为参考影像,以单景纠正后的地理国情监测卫星影像数据为原始影像进行特征点匹配实验。影像参数如表1所示。实验所用的硬件环境:CPU为Intel(R)Core(TM)i7-3770 3.4 GHz 8核,内存为16 GB,存储为1 TB,GPU显卡为Nvidia GeForce GTX 1050Ti,显存为2 GB。
表1 影像参数
实验采用的1∶5万更新DOM数据为分幅数据,覆盖地理国情单景卫星影像全范围,首先对1∶5万更新DOM影像进行降采样,按照1∶5万图幅的范围对单景影像进行裁切,然后利用GPU并行加速优化的SURF算法对降采样后的影像和裁切后的影像进行特征点提取与描述,最后进行特征匹配与误匹配点删除。
本文算法采用C#语言、基于OpenCV的计算机视觉库OpenCVSharp3以及开源栅格空间数据转换库GDAL2.2进行开发。
3.3.1 匹配效果图
参与实验的1∶5万图幅共30幅,对应裁切出30幅待匹配影像。对30组影像进行特征提取与匹配,匹配效果如图4所示。
图4 匹配效果图
3.3.2 结果分析
随机选取8组影像对,分别采用本文方法和传统SURF算法进行特征点提取与匹配,对比结果如表2所示。
为进行精度评定,对于采用本文方法的匹配结果,每幅影像随机选取5个点进行精度统计。影像自带高斯—克吕格投影,逐点记录其投影坐标,精度统计结果如表3所示。
表3 精度统计结果
由表2、3中数据可知:
表2 实验结果对比
1)对于高分辨率、大数据量的影像匹配,改进算法的总匹配数与传统SURF算法相差不大,匹配点数基本相同,改进算法基本保证了其正确性。
2)在总匹配点数基本一致的基础上,改进算法大幅提高了匹配点的提取速度,约提高了4倍,使得算法应用于实际工程成为了可能。
3)匹配得到的特征点坐标平均差值为6.358 m,人工检测单点精度要求5个像素,即10 m以内均满足检测要求,说明自动匹配结果满足影像检测与配准工作的需要,可替代人工特征匹配工作。
4)采用人工方式进行影像匹配需要作业人员逐景寻找同名点,耗费大量人力;而采用改进算法可快速找到大量精度较高的同名点,代替了人工工作,使计算机完成特征点匹配工序成为可能。
综上所述,本文方法在满足匹配正确性与较高匹配数的前提下,匹配耗时较短,当需要批量影像匹配时,可明显提高匹配效率,节约大量人力。
针对高分辨率遥感影像人工匹配费时费力的问题,以满足实际应用需要为导向,本文提出了一种高分辨率遥感影像特征点自动化匹配方法。首先采用参考影像降采样和高分辨率遥感影像分幅裁切的方式,降低影像匹配的难度和要求;然后采用GPU并行运算提高SURF算法的计算速度;最后采用计算最近邻距离与次近邻距离比率的方式,删除误匹配点。结果表明,该方法的匹配速度比传统算法提高了4倍,且拥有较高的匹配精度,实现了高分辨率遥感影像特征点的自动匹配,能满足科学研究、工程应用快速响应的要求,具有较高的理论研究意义和实际应用价值。