丁国绅,乔延利,易维宁,杜丽丽
(1. 中国科学院安徽光学精密机械研究所 通用光学定标与表征技术重点实验室,安徽,合肥 230031;2. 中国科学技术大学,安徽,合肥 230026;3. 北方自动控制技术研究所,山西,太原 030006)
图像特征匹配是数字图像处理中一个关键的基础步骤,把从不同时间和空间中采集到的具有重叠部分的两幅或多幅图像进行配准,被广泛应用于图像融合、目标检测、三维重建等领域[1-3]. 影响图像匹配结果的因素有多种,概括来说可以分为两大类,一类是数据源的可靠性,即采集的源图像的质量;另一类是特征提取与匹配方法的有效性. 由于不同阶段源图像的质量会稳定在某个数量级,因此对于图像特征的提取与匹配成为了图像处理领域的一个重要的研究方向. 根据图像特征属性,特征提取方法可归纳为基于点、线和局部区域3种,早期经典的特征提取方法有Moravec算子[4]、Harris算子[5]和Hog算子[6]等. 这些算子在图像空间变换角度较小、纹理结构较为复杂时能取得不错的效果,但在图像发生仿射变换或尺度空间发生变化时效果不佳. 为了解决这一问题,LOWE首次将图像尺度空间的概念引入到图像特征提取方法中,并于2004年正式提出尺度不变特征变换(scale invariant feature transform,SIFT)算法[7]. 相比于角点、纹理等特征检测方法,SIFT算法的性能在仿射与尺度扩展方面有了很大的提升,因此一经提出就得到了国内外学者的广泛关注[8-10].虽然SIFT算法在特征提取方面具有独特的优势,但是传统SIFT算法依然有其缺陷,最明显的不足就是提取到的特征点数量少,误匹率高,因此各种SIFT算法的变体方法也被相继提出.
鉴于SIFT算法对光照、噪声等环境条件不敏感的特性,张强等[11]将SIFT算法引入到水下环境中,用于解决水下探测视觉系统的三维重构. 由于水下环境与空气中的极限约束条件不同,提出了一种基于水体约束的图像特征提取算法并取得了良好的结果. 耿庆田等[12]在对当前的车辆身份识别系统的关键技术进行研究之后,提出了一种基于边缘约束与整体结构化的特征点提取方法,在提取特征点信息之后经过SVM分类器对特征向量进行归类,有效地提升了特征提取的效率和识别率. YU等[13]针对合成孔径雷达图像存在的严重的斑点噪声和局部变形问题,设计了一种新的非线性多尺度空间构造策略和一种新的局部特征检测器,通过在尺度空间构造过程中嵌入滚动制导滤波器来生成多尺度图像,为检测到高质量的特征点提供了良好的基础. 根据Memristor桥的LPF参数可变的特性,YU等[14]提出了基于Memristor桥的低通滤波器和改进的图像处理算法,用于图像去噪的自适应高斯滤波器和一种用于尺度不变特征变换的高斯金字塔,并且将实验结果与传统的高斯滤波器以及传统SIFT方法进行了对比,验证了算法的可行性.
针对传统SIFT方法提取到的特征点数量少的问题,本文提出了一种新的图像金字塔构造方式,并结合实验进行了深入地分析;为了消除误匹配的影响,设计了基准匹配参照点,有效提升了算法的特征点提取与匹配性能.
SIFT方法是学者LOWE在1999年首次提出并于2004年进行总结完善的具有尺度不变性的图像特征点提取方法,对于待处理图像的旋转、仿射以及尺度变换具有良好的包容性,因此在图像处理特别是计算机视觉领域有着广泛的应用. 概括地说,SIFT算法可以分为以下3个步骤.
相比于角点检测等其他图像特征点提取方法,SIFT方法在特征点的提取方式上有很大的不同. 为了降低图像尺度的变化对特征点匹配带来的影响,LOWE提出了图像尺度空间模型. 对原始图像进行不同程度的高斯模糊与降采样操作,得到一系列具有不同尺度的图像序列. 图像尺度空间可表示为
图像尺度空间代表了图像像素信息的最原始分布. 要获取比较稳定的特征信息,利用高斯差分函数的极值特性,高斯差分金字塔被引入进来(DOG金字塔). 在DOG金字塔中,分别比较第2、3、4层图像与其相邻两层图像在每一点上的像素值的大小,即3×3×3大小的3层图像块上的像素点.
在某一点确定为图像特征点之后,就需确定该特征点的位置方向信息. 由于提取到的特征点都是离散空间中的点,真实空间中的特征点位置需要进行更精确的插值计算才能确定. 因此对DOG空间函数进行了子像素插值. 对于函数f(x),其DOG空间函数的泰勒展开式如下
式中X为位置向量,在D(X)=0时可得到该极值点的偏移大小
接着根据设定的阈值剔除边缘处的极值点,并依据模值的大小找到特征点的主方向
主方向的分配方式是将圆周以10°为一组,分别统计36组方向上的模值大小,最大的模值所在的角度为该特征点的主方向所在区间,最后经过插值确定特征点精确的主方向.
在确定了特征点的主方向之后,将特征点所在的邻域划分为4×4个子区域,并且将每个子区域划分为8个方向,计算每个区域每个方向上的梯度模值的和,得到的128维的向量即为最终的特征描述符.
在原始SIFT算法中,图像金字塔的构造方式是通过源图像与目标图像经过一系列的模糊操作和降采样而得到的. 这种方式虽然能够扩充图像的尺度空间,但这种处理后的图像并不能真正表示真实世界中的图像数据,甚至反映出来的图像特征在某些维度上是有很大的误差的,这也是SIFT算法提取到的图像特征点数量较少的原因之一. 高光谱图像是指光谱分辨率达到10 nm以上的光谱图像,不同波段的图像光谱信息不同,折射到可视化的角度即表示DN值的差异. 对于同一个场景,不同波段下的高光谱图像其所表征的目标却几乎相同,具有相同的特征. 因此,受光谱图像特性的启发,本文重新设计了高斯图像金字塔,原始SIFT算法采用不同参数的高斯核取差,是对图像空间性质的一种测量方法. 本文取消了这一过程,在光谱维度上取差,用光学系统在光谱维度上的差异作为图像空间性质的测量方法.具体思路如下:
①在可见波段的范围内,选取一组波段间隔固定的高光谱图像作为高斯金字塔的原始输入图像,这里选取的图像数量为6幅;
②不同组的高斯金字塔的图像是由上一组的图像直接经过降采样得到的,不需要经过高斯模糊操作;
③高斯差分金字塔直接由高斯金字塔逐层相减得到,剔除高斯模糊操作.
另外,设计了不同的对比实验,来研究高光谱图像的波段间隔对所提取图像特征点数量的影响. 图1为重构的光谱图像尺度空间.
图1 光谱图像尺度空间Fig. 1 Spectral image scale space
在特征提取结束之后,传统的SIFT算法以及诸多改进方法大都采用比较特征描述符之间的欧氏距离或最近邻与次近邻的比值大小作为匹配与否的判断依据. 这种匹配准则单纯地利用了特征点特定邻域大小内的图像块像素梯度信息,虽然在很多场合能够将特征点区分开,但也存在一些不确定因素. 例如,在图像中存在相似的两个或数个图像块时,某一特征点的匹配结果并非是对应的正确的匹配点,而是其相似的图像块中的点,造成误匹配.
传统的SIFT算法中,为了平衡特征点提取数量与匹配性能,最近邻与次近邻的比值大小被设为0.8.比值大于0.8时能增加匹配对数量,但同时误匹率也会上升;小于0.8可以降低误匹率,但正确匹配对的数量也会相应减少. 为克服这一缺陷,本文提出了双重位置匹配准则. 具体做法是:首先采用最近邻与次近邻之比H,完成第一步的粗匹配,在这一步骤中,经过实验验证将H的值设为1.0,这其中的匹配结果会包含许多误匹配;在粗匹配完成之后,将所得的匹配结果按照相似性大小进行排序,从排序之后的结果中选取4对相似性程度最高的匹配点作为基准匹配对,并且得到由这4对基准匹配对组合而成的2个不同的三角形;计算源图像与目标图像分别关于基准匹配对在该图像上的点的相对位置,通过判断计算出来的源图像特征点与目标图像特征点的相对位置与匹配结果之间差异决定是否从匹配结果中剔除该匹配. 由于图像反映的是三维空间在二维空间上的映射关系,因此本文以二维空间为例阐述双重位置匹配准则.
图2 双重位置匹配准则Fig. 2 Double position matching criterion
令
则直线lbc与直线laq的交点p的坐标等于
令
则有
由于各个点相对基准匹配对的位置是不变的,所以有以下等式成立
判断坐标误差是否在给定的阈值范围内,若小于给定阈值,则按相同步骤计算点q相对于三角形(a,b,d),在(a',b',d')上的映射位置,计算其坐标误差δ2.当δ1与 δ2同时小于给定阈值时,则认为该匹配为正确匹配. 双重匹配位置准则能很好地避免在三角形的点趋于同一直线上时,单匹配位置准则带来的误差较大的问题.
由于在本文的工作之前,并未发现有用高光谱图像重构图像金字塔的工作的通用数据集,因此本文实验中所采用的高光谱图像全部是由型号为IS210-0.4-1.0-L的Brimrose高光谱成像光谱仪拍摄得到,实验数据链接为https://pan.baidu.com/s/1SmWyS4BXKitQMTDzpXw5A. 实验环境为Windows7OS(64 bit),Intel(R) Core(TM) i5-3470CPU @ 3.20 GHz处理器,16.0 GB安装内存,编码采用MatlabR2018a.
本文实验分为两组,旨在验证文中所提方法的可行性与其意义,为后续采用SIFT方法提取图像特征提供新的研究思路,因而并未对诸多SIFT改进方法进行同步实验对比. 实验中的高光谱图像波段间隔为10~50 nm,图像选取的原则是以800 nm波段为中心向两边取图像,为了保证所在组的图像有充分的曝光率.
图3是SURF、SIFT和本文算法的特征点提取结果,从图3可以看出,在特征点提取性能上本文算法明显优于传统SIFT和SURF方法,这也是下一步如何提高有效特征点的占比工作的研究重点.
图3 特征点提取结果Fig. 3 Feature points extraction results
图4和图5分别是两组图像在波段间隔为25 nm、最近邻与次近邻比值为0.8和1.0时,传统SIFT与本文提出改进算法的特征点提取及匹配结果. 双重位置匹配准则中的阈值设定为3.
从图4和图5可以看出,传统SIFT方法所提取到的图像特征点数量非常少,并且伴随着数量较多的误匹配. 虽然最近邻与次近邻比值增大能增加特征点的数量,但误匹配数量的相应增加使得算法难以应用. 表1和表2分别是在简单与复杂目标的条件下的图像特征点匹配结果. 由于图像波段的变化对于传统SIFT算法不会产生影响,因此传统SIFT方法的实验结果均在波段为800 nm的图像下得到的. 表中SIFT-O表示传统SIFT方法得到的匹配结果(包含误匹配),SIFT-F表示经过双重位置匹配准则筛选后的匹配结果,Dratio表示最近邻与次近邻之比. 由表中结果可知,当Dratio的值增大时,虽然传统SIFT算法的特征点匹配数量在不断增加,但其正确匹配的数量增长缓慢甚至不会增加.
表1 不同波段间隔下简单目标的特征匹配结果Tab. 1 Feature matching results of simple targets in different band intervals
表2 不同波段间隔下复杂目标的特征匹配结果Tab. 2 Feature matching results of complex targets in different band intervals
图4 波段间隔为25 nm时的简单目标匹配效果图Fig. 4 Effect drawing of simple target matching with 25 nm band interval
图5 波段间隔为25 nm时的复杂目标匹配效果图Fig. 5 Effect drawing of complex target matching with 25 nm band interval
随着图像间波段间隔的增大,本文提出的方法的特征点匹配数量先增大后减小,在波段间隔为30 nm左右时达到最优,这意味着图像之间的波段间隔并非是越大或者越小越好. 从理论上分析,当波段间隔较大时,图像间的差异较大,不同波段的图像上的同一位置所对应的目标位置偏差较大,因此采集到的特征点数量会相应减少;当波段间隔较小(方便分析此处假设趋近于0),金字塔中每一层的图像差异很小,则差分金字塔中的图像数据趋近于0,因此提取到的特征点数量也会减少. 所以波段间隔过大或过小都会影响特征点提取效果,与实验所得结果的现象一致. 另外,最近邻与次近邻之比是目前较多采用的验证匹配成功与否的方法,经过实验验证,在相同的实验条件下,改变源图像与目标图像的顺序,会极大影响最终的匹配结果,这个原因在上文中也提到过,因为存在相似点的原因. 为了规避这种影响,下一步工作中会着重考虑匹配方法的有效性,本文重点在于研究波段间隔对提取特征点数量的影响. 图6为不同波段间隔下提取到的特征点数量曲线图,纵轴的数量单位为万,从图中可清晰地看到波段间隔在30 nm左右时提取到的特征点数量最佳.
图6 不同波段间隔提取到的特征点数量Fig. 6 The number of feature points extracted from different band intervals
特征点数量的增加必然会导致特征搜索时间花销的增加,经过实验类比,本文算法的时间花销程度是文献[15 - 16]的1~2倍. 但本文的重点是研究波段间隔对特征点提取数量的影响和双重位置匹配策略,对于时间花销的研究将在下一步的工作中进行.
图像特征提取是图像处理中的一个关键的步骤,SIFT特征点提取与匹配方法是目前应用较广泛的特征点处理方法之一. 针对SIFT方法所存在的提取到的特征点数量较少、误匹率高的问题,本文提出了一种新的思路,用高光谱图像重构了图像尺度空间,并通过实验验证了本方法的可行性,而且研究了高光谱图像的波段间隔大小对于特征点提取的影响,为以后的研究打下了基础;对于误匹率高的问题,本文提出了双重位置匹配准则,将匹配阶段分为3个部分,首先通过粗匹配将所有匹配按相似性大小进行排序,接着找到最优匹配对并将其设为基准匹配,对后续匹配进行校准,最后利用基准匹配,在双重位置匹配准则的方法下进行最后的匹配校验,有效剔除了误匹配,提升了算法的实用性能. 接下来的研究重点是解决特征点的提取方式问题,压缩特征点提取过程中的时间花销,全面提升算法的整体性能.