一种新的基于SIFT算法的景象匹配制导方法*
2018-08-27陆晓飞董文锋王良斯
薛 鹏,陆晓飞,董文锋,罗 威,王良斯
(空军预警学院,武汉 430019)
0 引言
自美国“战斧”巡航导弹开始有40余种巡航导弹都采用下视可见光景象匹配制导。景象匹配制导是依据景象匹配得到的对应关系对飞行器定位并引导其按规划路径航行的制导方式[1]。工作流程如图1所示。
图1 景象匹配制导流程图
“战斧”经中段地形匹配或GPS等其它制导方式导引后,在进入离目标大约10 km的末段时,偏差缩小为数米至数十米,此时可确保弹上导引头中CCD向下拍摄地面目标区域的实时图像能够落入基准图像内,这时数字式景象匹配相关器(DSMAC)开始工作,对航行偏差进行修正,从而大幅提高命中精度。这种精确制导技术的优越性,在20世纪90年代发生的海湾战争中得到了有力证明[2]。
巡航导弹在实际作战中,导弹不同的飞行姿态导致导引头的拍摄角度不同,目标以不同方向、不同大小出现在实时图像中,给景象匹配制导带来了困难。这时人们希望找到一种特征向量,这种特征向量与目标在整个图像中的大小、位置和角度没有关系,如果再具有仿射不变性,甚至投射不变性当然就更好[2]。SIFT描述子具有较强的特征点描述能力[3-4],但其128维描述子造成图像匹配时间过长的缺点也较为明显,所以一些学者为缩短匹配时间,提出了改进的ICA-SIFT[5]算法和PCA-SIFT[6]算法等,但相应的增加了匹配复杂度。
基于此,文中提出一种新的基于SIFT算法的景象匹配制导方法:首先利用Canny算子提取图像的边
缘特征,再利用边缘特征图像进行匹配运算,实现图像匹配。实验结果表明:文中方法简单易行,可以获得更多的匹配点,提高了运算速度和准确率。
1 Canny-SIFT图像匹配算法
1.1 Canny算子边缘检测
Canny算子[7-8]是一种含有最优化思想的算子,因其具有优良的性能被广泛应用。用一维高斯函数实现对待检测图像的平滑滤波去噪,高斯函数如式(1)所示:
(1)
式中:σ为标准差。
梯度幅值和梯度方向如式(2)和式(3)所示:
(2)
(3)
式中:Px(x,y)和Py(x,y)分别是图像(x,y)的一阶偏导。
Canny算法使用3×3大小,包含8个方向的邻域对梯度幅值阵列的所有像素沿梯度方向进行插值运算,而后中心像素点与周边相邻两个像素的幅值进行比较,若前者小于后者,则不是边缘点,舍弃;反之,则是边缘点,保留。
利用高低不同的双阈值TH和TL对非极大值抑制后的图像进行分割。如若该点梯度幅值大于TH,则认为该点是边缘点;若该点梯度幅值小于TL,则不是边缘点;若TL
1.2 SIFT算法
David G.Lowe在文献[9]中对SIFT算法进行了完善。SIFT算法在一定程度上可以解决目标的旋转、缩放、平移、光照、遮挡、噪声、仿射和投影等变化带来的影响,应用十分广泛。SIFT算法的匹配过程主要包括三个方面:提取关键点;对关键点进行描述;匹配运算。
关键点是图像中一些十分突出的点,不受光照或旋转等因素影响,如角点、边缘点、暗区的亮点和亮区的暗点等[10],这些关键点之间有相对应的匹配点。SIFT算法通过构建高斯金字塔得到不同尺度空间,提取图像中对尺度变化不敏感的特征点。
高斯差分尺度空间(DoG)表达式为:
D(x,y,σ)=[G(x,y,kσ)-G(x,y,σ)]I(x,y)=
L(x,y,kσ)-L(x,y,σ)
(4)
式中:G(x,y,σ)是二维高斯核函数,表达式为:
(5)
k为相邻尺度图像的尺度比,σ2表示平滑尺度,I(x,y)表示原始图像。从式(4)可以看出,DoG在计算时只需要相邻尺度高斯模糊后的图像相减,大大简化了计算。每个像素点和所有相邻的26个点(周围8个点及上下两层18个点)比较,就可以在尺度空间和二维图形空间检测到极值点。
为使关键点描述子具有旋转不变性,采用梯度直方图统计法确定关键点的方向,给每个关键点分配一个基准方向。计算时有关键点主方向和辅方向之分,不同的关键点有不同的梯度能量。同时为使关键点具有更多的不变特性,用一组向量将关键点描述出来,描述子同时包括关键点本身和周围有贡献的像素,以此作为后续匹配的依据。
至此,已得到图像的大量特征点,将这些点保存成特征点集,为匹配做准备。景象匹配制导时分别对基准图(提前处理)和实时图(实时处理)进行处理;建立关键点描述子集合;利用关键点集合完成对基准图像和实时图像进行比对匹配。David G.Lowe对关键点描述子相似性度量采用欧氏距离,若对匹配精度要求较高,欧氏距离比例阈值取0.4,反之取0.6左右。
1.3 Canny-SIFT算法
应用于景象匹配制导时,作战行动前先利用Canny算子对图像进行边缘特征提取;再将提取的边缘特征图像存入弹载导航图存储器作为基准图;巡航导弹将飞行过程中导引头上CCD采集到的实时图像做Canny算子边缘特征提取,得到边缘特征图像;将基准图与实时图输入数字式景象匹配相关器,利用Canny-SIFT算法进行匹配运算,输出匹配结果,修正航线偏差,提高命中精度。图2为Canny-SIFT算法图像匹配流程图。
图2 Canny-SIFT算法图像匹配流程图
2 实验仿真与分析
图3是利用SIFT算法提取出的图像特征点结果。图3(a)是实验用的航拍原图(以此作为景象匹配制导过程中的基准图像),图3(b)是图3(a)特征点提取结果,图3(c)是原图亮度降低100%后的提取结果,图3(d)是原图旋转60°后的提取结果,图3(e)是原图放大2倍后的提取结果。
图3 SIFT算法特征点提取结果
图3结果表明SIFT算法能有效提取到大量的特征点,且该算法对图像亮度、旋转和缩放变化不敏感,具有一定的亮度、旋转和缩放不变性,即使原图产生了一些变化,但还是可以检测到大量特征点,说明该算法对景象匹配制导有较强的适用性。
仿真实验采用的实时图像从图3(a)中截取获得,如图4所示。
图4 基准图像和实时图像
用不同的航拍图片进行4组实验,比较SIFT和Canny-SIFT算法的性能。仿真条件如下:
条件一:实时图像不做任何变化处理;
条件二:实时图像顺时针旋转60°;
条件三:实时图像放大2倍并顺时针旋转60°;
条件四:实时图像放大2倍、顺时针旋转60°并降低亮度100%。
图5 SIFT算法和Canny-SIFT算法4组实验结果图
图5为SIFT算法和Canny-SIFT算法的4组实验结果。如果单靠目视观察,无法清晰判断出两种方法的优劣,因此将匹配结果统计如表1所示。为使所得结果更加精确,每种实验条件下重复10次统计出结果的期望值如表1所示。
表1 实验结果统计
从表1中可以看出,SIFT算法与Canny-SIFT算法相比,后者可以提取到更多的匹配特征点,匹配速度提升了近一倍,同时获得了更高的匹配正确率。
实验中条件三较条件二看似更加苛刻,匹配点数似乎会相应的减少,但实时图像放大2倍之后,图像细节更加丰富,反而可以提取到更多的特征点,所以匹配点数不降反增。
3 总结
文中提出的Canny-SIFT算法有效克服了SIFT算法匹配时间较长的弊端,大幅提升了匹配速度,同时可以成功提取到更多匹配特征点,具有更高的匹配正确率,改善了景象匹配制导系统的性能,为更好发挥巡航导弹作战效能提供了依据,对军事应用具有一定的参考价值。由于篇幅有限,后续将继续针对红外图像景象匹配制导和红外/可见光融合图像景象匹配制导做进一步研究[5]。