针对利用SIFT算法的图像拼接在匹配过程中特征点维数较高的问题,提出一种对SIFT算法优化的方法。利用
随着计算机视觉领域的发展,图像拼接技术变成计算机图形学的一个重要的研究内容。对于不同的需要, 将具有相同特征点的多幅图像拼接成一幅全景图[1], 实现在一幅图像上对于整个世界环境的观察。
而图像拼接的首要问题就是图像匹配。图像匹配指的是,在不同的匹配场景下,使用不同的匹配算法, 通过对数字图像的构成信息,包括了图像内容、图像的结构、特征、图像的纹理灰度等信息进行分析, 达到在两幅或者多幅图像之间寻找同名点的目的。本文提出把PCA-SIFT 算法用于图像拼接的匹配部分[2]。PCA-SIFT 算法在描述子构建上作了创新,主要是将统计学中的主成分分析(PCA)应用于对描述子向量的降维,以提高匹配效率。
2. SIFT 算法的特征匹配 随着对图像拼接的研究工作的不断深入,现今的各类匹配算法各具优劣,根据图像类型的差异往往选择不同的匹配算法,也就是说匹配算法的选择和图像本身的性质是强相关的,目前还不存在一种可以通用的处理各种类型图像之间的匹配问题的匹配算法,因此匹配算法的选定需要综合考虑匹配效果的好坏,匹配算法的准确性和计算所耗费的时间以及计算量的大小这一系列因素,以及考虑匹配算法对各种外界条件变化如光照改变、噪声影响、畸变影响等的敏感程度[3]。基于SIFT 的特征匹配算法主要是由两个部分组成:首先构建SIFT 特征向量,其次对SIFT 特征向量进行匹配[4]。
a. 生成SIFT 特征向量:SIFT 特征向量的生成包括了构建尺度空间检测极值点、对极值点进行过滤和精确定位、为精确的关键点分配主方向形成向量、生成SIFT 特征向量描述子这四个步骤[5]: 第一步:生成不同的尺度空间,并且获取尺度空间的极值点 由于SIFT 特征是一种尺度不变的特征, 因此为了实现能够在不同尺度下对图像特征进行提取, 首先使用高斯滤波函数与图像进行卷积运算得到图像在不同尺度空间下的高斯图像表示,高斯核是唯一一个能够实现尺度变换的变换核[6]。基于高斯核对图像进行处理的数学表示如下(1)所示: ()222221, , e2πxyG x yσσσ+−= (1) 图像(), I x y 在不同尺度下的表示,即图像同不同尺度高斯核进行卷积运算,数学表达用公式(2)表示: ()()(), , , , *, L x yG x yl x yσσ= (2) L 表示的即为图像的尺度空间,σ 为尺度因子,(), x y 即对应图像上的像素点。尺度因子越大表明反映的是图像的概貌特征,尺度因子越大,图像越模糊,尺度因子越小对应的是图像的细节特征,也即是说尺度因子越小,图像的分辨率越高[7]。
根据上述构造尺度空间函数来建立高斯金字塔,设定高斯金字塔有O 阶,每一阶有S 层,相邻两阶之间的图像大小有一定的规律, 即每一阶图像大小是前一阶图像大小的一半, 在各阶的S 层图像之间, 图像大小是一致的,但是相邻层之间的尺度变换因子是不同的,每一层的尺度因子都是前面一层的K 倍,如图1 所示: