基于SIFT的飞行器图像自动拼接处理系统的研究与实现
2018-05-22王欣
王 欣
(武昌工学院信息工程学院,湖北 武汉 430065)
0 引言
卫星技术与应用不断发展,飞行器因其重量轻、体积小、成本低、研制周期短、发射方式灵活且快速等特点[1],成为当前主要的研究热点之一。但受到CCD大小和设备成本等因素的限制,一般难以得到物体的全景图像。解决这一问题的有效途径就是采用多CCD拍摄的图像,然后利用图像间的冗余信息把拍摄的图像拼接融合起来[2]。但是目前飞行器原始数据的图像拼接存在两方面的问题:一是图像拼接之前需先对原始数据进行预处理,拼接过程又较复杂,增加了整个流程实现自动化的难度;二是飞行器获取的影像重叠度低且缺少精确的内参数,而待拼接图像的数据量较大,容易产生较大的误差,这些对拼接处理提出了更高的要求。因此设计一个自动处理系统,实现对飞行器原始数据的图像拼接成为当务之急。
图像拼接是整个数据处理最重要的环节,其直接决定数据处理结果的精度。目前常用的匹配算法可分为基于区域的和基于特征的两大类。基于区域的匹配算法根据两幅图像重叠区域之间的相关性进行匹配,缺点是未考虑图像旋转、尺度缩放等造成的影响。而基于特征的匹配算法是提取图像的特征,如边界、轮廓和拐点等特征进行匹配,在处理不同特征的图像以及图像间发生复杂变化的情况下更具稳定性。目前基于SIFT特征的匹配算法[3]在图像匹配上有独特的优势,本文采用此算法,依次完成四片CCD的图像拼接,得到全景图像。
1 SIFT特征匹配算法
基于SIFT(尺度不变特征变换)描述子的图像匹配算法,是David G.Lowe在2004年提出的,能处理具有不同特征的图像,并适用于图像间变形复杂的情况,分三步实现:①SIFT特征的生成;②特征点匹配;③基于Ransac算法的匹配矫正[4-6]。
1.1 SIFT特征的生成[7]
为使图像达到尺度不变性,需在不同尺度下提取图像特征。Koendetink[6]证明了高斯核是实现尺度变换的惟一变换核,因此利用高斯核对图像做尺度变换。
高斯核G(x,y,σ)定义如式⑴所示,其中(x,y)是空间坐标,σ表示尺度空间因子:
一个图像I(x,y),其在不同尺度下的尺度空间L(x,y,σ)定义为原始图像与高斯核G(x,y,σ)的卷积运算,如式⑵所示。
为获取图像在不同尺度空间下的稳定特征点,根据式⑵来建立高斯金字塔。然后建立DOG高斯金字塔,DOG金字塔是相邻两尺度空间函数之差,表达式定义如式⑶,可通过高斯金字塔同一阶上相邻两层的尺度空间函数相减得到,其第一层的尺度因子与高斯金字塔的第一层保持一致,如图1(a)所示。
接着在DOG金字塔的基础上进行极值检测[4]。为进行DOG空间的极值点检测,需将DOG空间中的每个像素点与它26个相邻像素点进行比较(同层的8个,上层和下层各9个像素点)。若比较后发现该检测点为极值点,则该点成为图像在该尺度下的一个候选特征点,如图1(b)所示。
图1 建立尺度空间、检测关键点
由于DOG值对噪声和边缘较敏感,检测到的局部极值点还要经过去除一些低对比度和不稳定的候选特征点及边缘点才能精确定位为特征点。然后利用特征点邻域像素的梯度方向分布特征来确定特征点的方向,使算子具备旋转不变形。可利用式⑷与式⑸计算,两式分别表示(x,y)处的梯度值和方向,L是每一个特征点各自所在的空间尺度函数。
通过以上步骤,图像的特征点检测完成,每个特征点包含位置、对应尺度和方向三个信息。最后需生成特征向量描述子。确定特征点的邻域范围的大小对于进一步描述特征点的信息至关重要。通常以特征点为中心取16*16的邻域范围,如图2(a)所示,4*4个子区域形成一个种子点,每个种子点有八个方向的向量信息。这样对于16*16的领域范围会产生4*4=16个种子点,使得每个关键点的信息量包含在了4*4*8=128维特征向量里[8],如图2(b)所示。
图2 生成SIFT描述子
1.2 特征点匹配
SIFT特征向量的匹配首先应进行相似性度量。一般采用的匹配方法有:欧式距离和马氏距离等。本文采用欧氏距离对特征点进行匹配。在获取SIFT特征向量后,采用优先k-d树进行优先搜索来查找每个特征点的近似最近邻特征点。在这两个特征点中,若最低的距离除以次近的距离少于某比例阈值,我们才接受这一对匹配。当这个比例阈值降低,SIFT匹配点数目减少,但也增加了稳定性。
1.3 基于Ransac算法的匹配矫正
通过相似性度量得到的匹配对,不可避免会存在一些错误匹配,需采用Ransac方法去除错配。Ransac方法是一种迭代的方法,具体思路是:首先在基准图和目标图中选取3对匹配点对,通过这三对点得到一个仿射变换矩阵,求基准图中的点通过变换矩阵得到的点与目标图中的对应点的误差,若该误差小于某个阈值,则判定该点为内点;重复这个步骤,找到内点最多的一次变换,并将该次变换得到的匹配点对作为新的匹配点集合,进行一轮新的迭代,直到该次迭代所找到的最大内点数目与此次匹配点集合中的点数目一致时结束迭代过程,此时得到的就是去误配后的匹配点集[9]。
2 飞行器原始数据自动拼接处理系统设计及结果分析
飞行器共有四片CCD,相邻两片CCD的拼接过程基本相同,故以CCD3与CCD4的图像拼接为例分析飞行器原始数据自动拼接处理系统的流程。整个系统大致可分为预处理、获取重叠区域图像和基于Ransac算法的SIFT特征自动拼接三个部分,如图3所示。
图3 自动拼接处理系统流程图
2.1 原始数据的预处理
针对飞行器的原始数据,在拼接之前,需先对图像进行预处理。本文的预处理包含解同步、去格式两步。其中,帧同步负责从卫星下传的基带数据流提取帧同步字并进行成帧处理,可用硬件和软件两种方式实现。软件方式具有开发周期短、成本低、可配置和移植性强的优点[10],本系统采用软件方式实现帧同步模块。此外,还需进行数据解析,以获取所需的图像数据和相应的辅助参考数据。经过预处理,得到飞行器的格式为raw的图像数据。
2.2 重叠区域图像的获取
本文一次处理N行飞行器数据,N通常根据实际需求决定。为方便对格式为raw的原始数据做后续处理,先将其转换为格式为tif的图像数据。并且需先提取两幅图像的重叠区域图像,来避免在全幅图像上做特征匹配时引起的误匹配过多和耗时过长等问题,进一步提高图像匹配的准确性和速度。飞行器重叠区域为M列,CCD3最右边的M列与CCD4最左边的M列为重叠区域的数据。单独提取出来转换成tif的图像格式,通过基于Ransac算法的SIFT特征自动匹配处理即可计算得到两片CCD之间的仿射矩阵,供图像融合使用。
2.3 基于Ransac算法的SIFT特征自动拼接
利用相邻两片CCD重叠区域的图像数据,按前述SIFT特征匹配算法的三个步骤,即可计算得到仿射矩阵。值得注意的是,在Ransac方法消除误配时,阈值的选取直接影响匹配的稳定性。降低这个阈值,SIFT的匹配点数会减少,但结果更加稳定,故选取合适的阈值对拼接结果至关重要。利用求出来的仿射矩阵,通过逆变换将待拼接图像转换到两幅参考图像的坐标系中,即可完成相邻两片CCD的图像拼接,得到平滑无缝的拼接后图像。
2.4 基于XML配置的通用系统模块的设计
对于不同卫星而言,帧同步、去格式等处理模块的流程基本相同,仅配置参数有所差异;而拼接模块中的参数,如欧氏距离比例阈值也可能会随着实际需求进行调整。为提高本系统的通用性,本文采用XML文件配置处理参数[11],将处理数据与处理流程分开,使其能灵活地进行数据处理。
2.5 实验结果及分析
针对本文采用的四片CCD的飞行器原始数据,本实验在win64软件平台上,采用VS2010+OpenCV编程实现自动拼接处理系统,基于SIFT算法对实验数据做预处理和拼接,最后自动生成一幅拼接后无缝清晰的影像,如图4所示。
图4 CCD 1000行原始数据拼接结果
实验结果表明:该系统针对飞行器原始数据,可获得足够数量稳定的匹配点对,处理得到的图像平滑无缝清晰,适用于飞行器原始数据的自动拼接。
3 结束语
本文重点研究SIFT算法,对飞行器原始数据进行预处理和拼接,最终实现一套飞行器CCD原始数据的自动化拼接系统。实现结果验证了本系统一方面成功实现了飞行器原始数据的自动拼接,得到了平滑无缝的配准图像;另一方面,解同步、去格式等模块采用XML文件配置,实现了对多颗卫星的通用预处理;最终成功解决了飞行器原始数据预处理流程多、拼接自动化不足、拼接效果不理想等问题。
本系统可以进一步改进和优化,一方面,由于算法的复杂度较高,计算量较大,计算速度相对较慢,不具有实时性,需要向并行处理改进,提高算法的实时性;另一方面,在基于SIFT的拼接算法中,一些阈值的选取通常是凭经验人工选取,直接影响到拼接结果,图像之间具有灰度差异,这些都对特征匹配的准确性提出了要求,也是今后需要进一步研究的方面。
参考文献(References):
[1]詹亚锋,马正新,曹志刚.现代微小卫星技术及发展趋势[J].电子学报,2000.28(7):102-106
[2]李秀华,宋立明,王朔等.CCD图像拼接技术综述[C]//2010 Internation Conference on Future Information Technology and Management Engineering,2010:270-273
[3]David G Lowe.Distincive Image Features from Scale-Invariant Interest Points[J]. InternationalJournalof Computer Vision,2004.60(2):91-110
[4]王国美,陈孝威.SIFT特征匹配算法研究[J].盐城工学院学报:自然科学版,2007.20(2):1-5
[5]David G Lowe,Distincive Image Features from Scale-Invariant Interest Points[J]. InternationalJournal of Computer Vision,2004.60(2):91-110
[6]David G Lowe,Object Recognition from Local Scale-Invariant Features[C]//7th International Conference on Computer Vision,1999:1150-1157
[7]刘伯江,姜明新.基于sift特征的图像匹配算法[J].系统信息工程,2001.5:33-36
[8]李明.基于SIFT特征点匹配的目标跟踪算法研究[D].合肥工业大学,2011.4.
[9]TaejungKim,Yong-Jo Im.AutomaticSatelliteImage Registration by Combination of Matching and Random Sample Consensus[J].IEEE Transactions on Geoscience and Remote Sensing,2003.41(5):1111-1117
[10]候仰拴,石涛,胡玉新.HJ-1C卫星实时软件帧同步算法研究与实现[J].雷达学报,2014.6(3):326-331
[11]陈元伟,基于流程再造的遥感卫星地面预处理系统中处理功能的分析与实现[D].中国科学院对地观测与数字地球科学中心,2008.6.