留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

高分辨率遥感图像SIFT和SURF算法匹配性能研究

齐冰洁 刘金国 张博研 左洋 吕世良

齐冰洁, 刘金国, 张博研, 左洋, 吕世良. 高分辨率遥感图像SIFT和SURF算法匹配性能研究[J]. 中国光学, 2017, 10(3): 331-339. doi: 10.3788/CO.20171003.0331
引用本文: 齐冰洁, 刘金国, 张博研, 左洋, 吕世良. 高分辨率遥感图像SIFT和SURF算法匹配性能研究[J]. 中国光学, 2017, 10(3): 331-339. doi: 10.3788/CO.20171003.0331
QI Bing-jie, LIU Jin-guo, ZHANG Bo-yan, ZUO Yang, LYU Shi-liang. Research on matching performance of SIFT and SURF algorithms for high resolution remote sensing image[J]. Chinese Optics, 2017, 10(3): 331-339. doi: 10.3788/CO.20171003.0331
Citation: QI Bing-jie, LIU Jin-guo, ZHANG Bo-yan, ZUO Yang, LYU Shi-liang. Research on matching performance of SIFT and SURF algorithms for high resolution remote sensing image[J]. Chinese Optics, 2017, 10(3): 331-339. doi: 10.3788/CO.20171003.0331

高分辨率遥感图像SIFT和SURF算法匹配性能研究

doi: 10.3788/CO.20171003.0331
基金项目: 

国家自然科学基金资助项目 61405191

详细信息
    作者简介:

    齐冰洁(1991-), 女, 辽宁开原人, 硕士研究生, 主要从事遥感图像处理方面的研究。E-mail:doudouqbj@126.com

    刘金国(1968—),男,吉林蛟河人,硕士,研究员,硕士生导师,主要从事空间遥感与图像处理方面的研究。E-mail: liujg@ciomp.ac.cn

    通讯作者: 刘金国, E-mail: liujg@ciomp.ac.cn
  • 中图分类号: TP391

Research on matching performance of SIFT and SURF algorithms for high resolution remote sensing image

Funds: 

National Natural Science Foundation of China 61405191

图(11) / 表 (4)
计量
  • 文章访问数:  506
  • HTML全文浏览量:  203
  • PDF下载量:  635
  • 被引次数: 0
出版历程
  • 收稿日期:  2017-01-18
  • 修回日期:  2017-03-27
  • 刊出日期:  2017-06-01

高分辨率遥感图像SIFT和SURF算法匹配性能研究

doi: 10.3788/CO.20171003.0331
    基金项目:

    国家自然科学基金资助项目 61405191

    作者简介:

    齐冰洁(1991-), 女, 辽宁开原人, 硕士研究生, 主要从事遥感图像处理方面的研究。E-mail:doudouqbj@126.com

    刘金国(1968—),男,吉林蛟河人,硕士,研究员,硕士生导师,主要从事空间遥感与图像处理方面的研究。E-mail: liujg@ciomp.ac.cn

    通讯作者: 刘金国, E-mail: liujg@ciomp.ac.cn
  • 中图分类号: TP391

摘要: 遥感图像匹配是图像校正、拼接的基础。由于遥感图像特征相似度大,重叠区域小,遥感图像对匹配算法的要求更高。本文首先从特征检测、特征描述和特征匹配三个方面,比较了SIFT算法和SURF算法在计算速度和准确度方面性能,然后研究了算法对遥感图像重叠度、度量距离的要求,并针对SURF算法对特征方向误差敏感的特点,提出一种oSURF算法;最后利用卫星1A级条带遥感图像分析各个算法优劣性。测试结果表明,相比于SIFT算法,SURF算法计算速度为SIFT的3倍,需要的图像重叠宽度仅为1.25倍描述向量尺寸,而在保证同样匹配率的情况下,SIFT算法则需要图像重叠宽度为1.5倍描述向量尺寸。本文提出的oSURF算法在保证计算速度的同时,准确度相对于SURF算法提升5%~10%,因此,oSURF算法更适合1A级条带遥感图像的拼接。

English Abstract

齐冰洁, 刘金国, 张博研, 左洋, 吕世良. 高分辨率遥感图像SIFT和SURF算法匹配性能研究[J]. 中国光学, 2017, 10(3): 331-339. doi: 10.3788/CO.20171003.0331
引用本文: 齐冰洁, 刘金国, 张博研, 左洋, 吕世良. 高分辨率遥感图像SIFT和SURF算法匹配性能研究[J]. 中国光学, 2017, 10(3): 331-339. doi: 10.3788/CO.20171003.0331
QI Bing-jie, LIU Jin-guo, ZHANG Bo-yan, ZUO Yang, LYU Shi-liang. Research on matching performance of SIFT and SURF algorithms for high resolution remote sensing image[J]. Chinese Optics, 2017, 10(3): 331-339. doi: 10.3788/CO.20171003.0331
Citation: QI Bing-jie, LIU Jin-guo, ZHANG Bo-yan, ZUO Yang, LYU Shi-liang. Research on matching performance of SIFT and SURF algorithms for high resolution remote sensing image[J]. Chinese Optics, 2017, 10(3): 331-339. doi: 10.3788/CO.20171003.0331
    • 遥感图像匹配是对不同传感器、不同时相、不同视角的遥感图像在其重叠部分计算同名点(Homologous Points)的过程。由于遥感图像高分辨率和大视场的矛盾性,为了保证分辨率,卫星相机只推扫条带状影像数据,再通过图像拼接、融合等步骤实现大范围图像覆盖率,而这些处理都是以图像匹配为前提。图像特征匹配包括检测特征点、提取描述向量和向量匹配3个步骤。

      本文选取计算机视觉领域中两种经典匹配算法:SIFT (Scale Invariant Feature Transform)和SURF (Speed Up Robust Features)进行性能分析,SIFT算法是由David G.lowe[1-2]在1999年提出,该算法对图像旋转、缩放、光照变化都具有很好的鲁棒性,但算法的计算速度较慢。SURF算法由Herbert Bay[3-4]在2006年提出,在保证算法鲁棒性的基础上对SIFT算法进行了加速改进。近几年,Luo Juan、索春宝等人[5-9]利用Mikolajczyk和Schimd数据集,分析了两种算法在普通图像上的鲁棒性。由于遥感图像数据量大,一般为1G左右,导致计算量很大。而且遥感图像特征相似度大,卫星条带图像重叠区域较小,易受到非重叠区域影响,这些特点导致遥感图像对匹配算法有很高要求。目前国内张云生、罗楠等人[10-13]针对遥感图像,对SIFT和SURF算法匹配性能做出了研究。南京理工大学的罗楠针对同一传感器不同时相遥感图像和不同传感器遥感图像分别分析两种算法的效率,并提出一种基于扩展SURF的描述符;葛盼盼在分析算法的匹配效率基础上,比较了峰值信噪比(PNSR)、相似性度量(SSIM)和互信息量(MI)4个方面的匹配效果。但目前针对SIFT和SURF算法在遥感图像边缘处特性分析很少,比如特征邻域尺寸和非重叠区域尺寸等影响,而且大部分实验数据均经过深度处理,并不能充分反映遥感图像特点。

      根据卫星图像后期处理程度逐渐升高,可以分为0级、1A级、1B级、2级、3级和4级。1A级图像是传感器采集的原始图像进行初步均衡化辐射较正后的数据产品,该级数据可以充分反映遥感图像特点。本文利用卫星1A级遥感数据,对SIFT和SURF算法在遥感图像匹配速度、准确度以及非重叠区域影响等性能进行对比分析。

    • 本节在相同计算机配置下,从特征点检测、特征向量描述和特征点匹配三方面,比较了SIFT和SURF算法计算速度、准确度及重叠度等方面性能。

      实验图像为美国某海岸1A级遥感数据,图 1中(a)(b)为两条边缘重叠的卫星条带图像,本文采用的图像重叠宽度为采集条带宽度的1.23%。由于匹配前图像重叠宽度未知,因此根据卫星推扫特点,将特征检测宽度限定为100像素(图中框内为检测区域,为1 000×100像素)。

      图  1  美国某海岸影像数据

      Figure 1.  Image of an America′s shore

    • 首先进行特征点检测,本节从检测时间和特征点数量两方面比较算法性能。为了便于比较和显示,本文对算法阈值进行设定以确保检测到特征点数量相当,SIFT算法检测阈值设定为0.071 2,SURF算法检测阈值为0.000 6,检测结果如图 2

      图  2  SIFT和SURF算法特征点检测效果

      Figure 2.  Detection result of SIFT and SURF algorithm

      表 1为不同算法检测性能比较,可以看出SURF算法检测特征点速度相对SIFT算法有明显提升,约是SIFT的3倍。

      表 1  SIFT和SURF算法特征检测结果

      Table 1.  Detection result of SIFT and SURF algorithm

      图像算法特征点数/个检测时间/s
      条带图像1SIFT4385.013
      SURF5231.596
      条带图像2SIFT4805.326
      SURF5731.869

      SIFT算法是通过不同尺寸的高斯模板进行滤波和降采样形成尺度空间,再将相邻层相减得到高斯差分DOG尺度空间[14],通过非极大值抑制法寻找特征点。SURF算法尺度空间的建立不改变图像的大小,而是改变滤波模板尺寸,通过Hessian矩阵行列式值来判断特征点。SIFT和SURF算法通过建立尺度空间来实现尺度不变性,而两种算法的检测时间差也主要在尺度空间形成过程中产生,原因有两个方面:

      (1) SURF算法通过框状滤波器代替高斯二阶偏导,结合Paul Viola在2001年提出的积分图像(Intergral Image)[15]的概念形成一种近似卷积模板,将SIFT算法中高斯滤波卷积运算简化成框状滤波器4个顶点积分值加减法运算。这种近似卷积模板的计算量独立于模板尺寸,使得SURF算法运算量大大降低。

      (2) SIFT尺度空间通过降采样改变图像大小形成,需要层层递推,而SURF尺度空间是改变盒子滤波尺寸,图像的大小始终不变,因此不同尺度层可以同时建立。另一方面,由于图像大小不变,SURF算法只需一个积分图像,在滤波同时可以直接建立尺度空间,而不需要对图像进行降采样处理,实现了计算量的优化。

      综上所述,由于SURF算法采用了积分图像,在检测特征点相同的情况下,SURF算法的检测速度比SIFT算法快3倍。

    • 检测特征点之后,需要对特征点进行局部信息描述,分为确定主方向和提取描述向量两步。本节从构建向量速度、特征向量数目、描述邻域尺寸三方面进行比较和分析。本文中SURF算法特征向量采取64维和128维,由于SIFT算法受特征邻域划分规则所限,特征向量维度只有32和128,而32维度独特性较差,故本文SIFT算法向量维度只选取128。表 2是对SIFT和SURF算法检测的特征点进行描述的结果。

      表 2  不同算法特征向量描述结果

      Table 2.  Feature description result of different algorithms

      算法图像特征向量特征点变化描述时间10个向量描述时间
      SIFT条带图像11 119+68112.9620.116
      条带图像21 451+97113.8630.096
      SURF64条带图像1464-593.0150.065
      条带图像2520-533.3680.065
      SURF128条带图像1464-593.2130.069
      条带图像2520-533.4730.067
    • 表 2可知,SIFT算法描述特征时间相对SURF算法更长。由于SIFT算法需要通过计算特征点邻域梯度信息构建邻域梯度直方图来实现,而SURF算法直接利用积分图结合haar小波滤波器生成的xy方向上响应实现,从而优化了时间复杂度。另外,SURF算法的64维和128维向量虽然维度增加1倍,但是特征向量生成时间相差不大。

    • 表 2可知SIFT算法特征向量数目相对于检测特征点数明显增加,是由于SIFT算法不同于只有一个主方向的SURF算法,SIFT算法选取梯度方向直方图中所有大于主方向0.8倍的方向作为特征方向,每一个特征方向作为一个特征点,因此向量数大大增加。这些辅助方向的存在有利于提高SIFT匹配稳定性。

    • 表 2可知,特征描述后SURF算法特征数降低了,事实上SIFT算法特征点也有所降低,由于辅助方向的存在而没有表现出来。因为SIFT和SURF算法都属于局部特征检测算法[16-18],即描述特征方向和构建特征向量时需要特征点一定邻域内灰度信息。而遥感图像重叠区域都集中在边界,而且相对较小。因此,当特征点与边缘的距离小于邻域半径时,该特征点无法被描述。

      图 3为SIFT和SURF两种算法检测范围变化时检测到特征点数量。由于构建向量的邻域比提取主方向邻域大,因此以构建向量邻域作为主要影响参数。为了保证尺度不变性,特征描述是在检测到特征点的尺度层上进行的。无论是SIFT还是SURF算法特征邻域大小都与金字塔层对应sigma值成正比,sigma越大邻域越大,式(1) 和式(2) 分别为本文SIFT和SURF算法特征向量邻域大小,根据公式可知,SIFT和SURF算法最小特征向量邻域分别为40和20个像素。由图 3可知,两种算法均在超过最小邻域范围后才开始出现特征向量。图 4为重叠尺寸不同时同名向量占向量总数的概率变化情况。图像重叠100个像素时同名点概率都在90%以上,但随着重叠区域尺寸下降,SIFT算法由于特征向量邻域较大,同名点概率下降更快。为了保证后续的匹配质量,同名点的概率至少要50%以上,因此SIFT算法重叠区域保证在最小特征邻域的1.5倍以上,SURF算法重叠区域至少为最小邻域的1.25倍。

      图  3  检测区域宽度不同时描述向量个数变化

      Figure 3.  Vector number change with the detection area

      图  4  重叠区域不同时同名点概率变化

      Figure 4.  Probability change of Homologous Points with the overlap region

      (1)
      (2)

      其中,surf0=2,ssurf0=1.2。

      针对描述向量邻域影响,部分算法采取在边界处降低检测邻域大小,但遥感图像特征相似度高,降低特征邻域意味着降低算子独特性,会引起误配率上升,此种方法并不可取。还有一些算法采取插值法增加边界像素点,但这样会增加1倍的计算量。

      综上所述,在计算速度方面,SURF算法无论是64维还是128维其特征向量构建速度都远远大于SIFT算法。在特征向量数方面,由于特征检测邻域尺寸的影响,部分边缘检测点无法被描述,为了保证后续的匹配质量,SIFT算法要求重叠区域在最小特征邻域的1.5倍以上,而SURF算法重叠区域至少为最小邻域的1.25倍。

    • 特征点检测和描述后,根据描述向量间距离进行特征点匹配,本节从匹配速度、准确度、非重叠区域影响以及匹配距离四方面对两种算法进行了比较和分析。本文采用欧式距离作为衡量标准,结合最近邻比次近邻的方法匹配特征点,阈值选取0.7。本文选取Mikolajczyk和Schmid提出的匹配准确度[19]作为判定标准。

      (3)

      其中,误配点数通过RANSAC (Random Sample Consensus)[20]对极几何约束模型算法计算,迭代次数设定为100,总特征点数为去除误配前的匹配点数。

      图  5  不同算法匹配效果图

      Figure 5.  Matching result of different algorithms

    • 表 3中可以看出,SIFT算法匹配时间为SURF算法的3倍左右,主要由于SIFT算法特征向量较多,单位向量的匹配时间相差并不大。而且SURF算法的不同维度特征向量匹配时间相差很小。从总时间来看,SIFT算法计算时间约为SURF算法的3倍,主要时间差集中在检测和描述上,尤其是特征描述步骤。

      表 3  不同算法特征匹配结果比较

      Table 3.  Matching result of different algorithms

      算法匹配点正确率匹配时间总时间
      SIFT2860.9791.15238.521
      SURF64840.8960.31011.514
      SURF1281200.946 70.42512.581
    • 从匹配准确性来看,SIFT算法的匹配准确度最好,其次是SURF128维算法,SURF64维算法最差。由于遥感图像拍摄距离远,图像包含大量相似结构,由于特征描述符仅利用特征点局部邻域信息,对散落在这些相似结构中的点极易发生误匹配现象,进而放大了匹配准确度方面的差异。

    • 测试图像重叠区域为50个像素,图 6中为匹配准确度随重叠区域占检测区域比率变化的情况,非重叠区域的影响反映了算法的独特性。由图 6可知不存在非重叠区域时3种算法准确度都在95%以上,随着非重叠区域比率的增加算法准确度都有所下降。当重叠区域占检测区域比率为20%时,3种算法受到非重叠区域的影响加大,准确度开始急速下降。相比较而言,SIFT算法和SURF128算法受到非重叠区域的影响相对更小。

      图  6  非重叠区域的影响

      Figure 6.  Influence of non-overlapping domain

    • 图 7中可以看出,SIFT算法和SURF64算法采用余弦距离匹配准确度高于欧氏距离,而SURF128算法无法通过余弦距离进行匹配。原因是余弦距离表示向量间夹角,当SURF算法向量由64维增加到128维,将每个种子点的向量参数∑dx、∑|dx|分成了dy>0,dy<0两种情况,∑dy、∑|dy|同理。由于增加的信息不直接反映方向信息,因此采用余弦距离计算无法匹配。

      图  7  不同算法计算距离不同时正确率的变化情况

      Figure 7.  Matching ratio change with the calculated distance

      综上所述,从匹配时间和匹配准确度两方面综合来看,SURF128算法的匹配性能最好。同时SURF128算法受非重叠区域影响相对较小,但进行特征匹配时只能采用欧式距离。

    • 通过第二节分析可知,相对于SIFT算法和SURF64算法,SURF128算法综合性能最好,但在特征描述和匹配过程中,SURF算法过分依赖局部区域提取的特征方向,特征方向上小的偏差会造成匹配准确度上较大误差。因此,本节在SURF128算法基础上,对特征方向做出改进,提出一种oSURF算法。

    • 在以兴趣点为中心,6s (s为兴趣点对应尺度)为半径的邻域内,用尺寸为4s的haar小波滤波器对圆形邻域内所有点求xy方向小波响应,再以兴趣点为中心对响应进行高斯加权。将圆形邻域分成若干个60度扇形,每个扇形间隔15度,分别计算每个扇形中所有xy方向haar响应和,再构成的矢量。

      图  8  Haar小波滤波器

      Figure 8.  Haar wavelet filters

      图  9  扇形窗口

      Figure 9.  Sector window

      将所有扇形窗口对应矢量按照大小排序,最大矢量的方向即为该特征点主方向。同时,当存在另一个矢量大小超过最大矢量的80%时,则将这个矢量的方向作为该特征点辅助方向,存储为新的特征点。虽然辅助方向会导致特征向量数目增加,但多个特征方向可以弥补由于特征方向失准引起的匹配准确率下降问题。

    • 对oSURF算法进行测试,采用与第2节相同的实验数据和条件,匹配结果如下:

      图  10  oSURF算法匹配效果图

      Figure 10.  Matching result of oSURF algorithm

    • 表 2表 3表 4对比可知,由于oSURF算法增加了辅助方向,特征描述向量相对SURF128增加了1倍,但总计算时间仅增加了0.345 s。综上所述,oSURF算法保留了SURF算法计算速度快的优点。

      表 4  oSURF算法特征匹配结果比较

      Table 4.  Matching result of oSURF algorithm

      算法条带1描述向量条带2描述向量匹配点数准确度总时间
      oSURF8149632890.965 412.926
    • 本节对oSURF算法与SIFT、SURF64、SURF128算法进行匹配准确度比较,实验图像为10组卫星条带图像,非重叠度在75%~85%之间,检测宽度为200个像素点。图 11为不同算法匹配准确度比较结果。

      图  11  不同算法匹配结果

      Figure 11.  Matching result of different algorithms

      通过2.3节实验分析可知,SURF算法虽然比SIFT算法计算速度提升了3倍,但牺牲了一定的匹配准确度。由图 11可知,在10组条带图像匹配实验中,oSURF算法相对于SURF128算法匹配准确度提升了5%~10%,和SIFT算法匹配准确度相当,恰恰弥补了SURF算法采用框状滤波器近似带来的准确度损失。

      通过速度和匹配准确度分析可知,相对SURF算法,oSURF算法在保证匹配速度的前提下,使得匹配准确度提高5%~10%。

    • 本文针对遥感图像数据,首先,从特征检测、描述和匹配三个方面,对SIFT算法和SURF算法在重叠率和匹配准确度方面进行了比较;其次,分析了算法对遥感图像重叠度、匹配度量距离的要求;最后,通过对SURF128算法特征方向的改进,提出了oSURF算法,并与SIFT、SURF64、SURF128算法进行了匹配准确度比较。实验结果表明,相对于SIFT算法,SURF算法计算速度为SIFT的3倍,受非重叠区域影响更小,为保证50%以上同名点概率,SIFT算法要求图像重叠区域不低于其描述向量邻域大小的1.5倍, SURF算法仅要求为1.25倍;相对于SURF算法,在保证匹配速度前提下,oSURF算法准确度提高了5%~10%。因此,oSURF算法更适合遥感图像拼接。

参考文献 (20)

目录

    /

    返回文章
    返回