基于改进的SURF 算子和透视变换模型的图像配准*

2020-06-09 06:18
计算机与数字工程 2020年3期
关键词:邻域尺度向量

徐 明 刁 燕 罗 华 黎 彪

(四川大学机械工程学院 成都 610065)

1 引言

21 世纪以来,由于科技的进步,计算机进入大众的视野以及计算机技术得到飞快的发展,图像处理技术也得到前所未有的飞跃,图像配准作为图像处理的重要组成部分已经广泛应用于模式识别、医学图像处理、计算机视觉等领域[1~3]。

目前研究的图像配准方法中,主要可以分为两大类:一类是基于灰度的配准方法,另一类是基于特征的配准方法[4~5]。第一种是基于灰度的图像配准方法,比较简单,也容易理解,主要是通过两幅图像的灰度值的变化来进行匹配,但是此方法稳定性差,匹配精度低;相比之下,第二种是基于特征的匹配方法,具有很好的稳定性和鲁棒性,对光照、旋转、尺度等变化有很好的不变性,是当前图像配准方法中最流行的方法[6]。

学者们在进行图像配准的过程中,为了提高配准的精度,他们对图像的特征点[7]、特征轮廓[8]进行研究。2004 年,Lowe 完善了尺度不变特征(Scale Invariant Feature Transform,SIFT)算法[9],通过建立尺度空间、构建图像金字塔、生成特征描述子来寻找图像的稳定特征点,虽然这种方法有良好的稳定性,但是SIFT 算法复杂度高、耗时长、计算量大,匹配效率低。2006年,Bay对SIFT算法进行了改进——加速鲁棒特征(Speeded Up Robust Feature,SURF)算法[10],该方法具有很好的鲁棒性,相对SIFT 算法速度提高了3 倍,但对于图像旋转和尺度变换过大时,依然存在误匹配,使得匹配精度低。

针对上述方法的优点以及方法存在的不足,本文提出了一种基于改进的SURF 算子和通过透视变换模型的图像配准算法。

2 SURF算法原理

2.1 积分图像

SURF 算法中通过利用积分图像,图像与高斯二阶微分模板的滤波运算就可以转换成通过对积分图像的简单加减,从而减少运算量,提高计算速度。因此,计算图1 中S 区域的灰度值积分就可以通过S=A-B-C+D来求得。

图1 积分图像法

2.2 DoH近似

图像I中像素点(x,y),有尺度为σ的Hessian矩阵:

式中,Lxx(x,σ)表示图像I(x,y)与高斯函数二阶微分在点x处的卷积,同理,Lxy(x,σ)和Lyy(x,σ)也有类似的定义。

高斯函数的高阶微分与离散的图像函数I(x,y)做卷积运算时相当于高斯滤波模板对图像做滤波处理。在实际的运用过程中,用盒子滤波运算来替代卷积运算,简化了对高斯二阶微分模板的计算。对于σ=1.2 的高斯滤波器,我们设定9×9大小模板尺寸的盒子滤波器,并用它作为最新的尺度空间值来对图像进行滤波斑点检测。使用Dxx、Dxy和Dyy来表示模板与图像卷积运算后的结果,来用替代Lxy、Lxy、Lyy。如图2所示。

因此,便可以对已得到的Hessian 矩阵的行列式进行简化:

式中:Det(Happrox)表示在x点邻域的盒子滤波响应值,主要用来检测极值点;w是一个参数,通常取0.9。

图2 盒子滤波器

2.3 尺度空间建立

为了能够获得不同尺度上的斑点,必须通过建立图像的尺度空间金字塔,如图3所示。

图3 图像金字塔

建立图像金字塔的基本思路是:保持原图像大小不变,通过改变滤波器的大小,但要保证滤波器内核为奇数,就能够得到不同的尺度空间。SURF算法采用不断增大盒子模板的尺寸,利用不同尺寸的盒子滤波器模板与积分图像得到Hessian矩阵的响应值,然后在响应图像求得极值点,计算出不同尺度的特征点。

2.4 特征点定位

为了在不同尺度空间定位出特征点,需要在响应图像上进行3×3×3 邻域的非极大值抑制,使同尺度中相邻的8个像素点与其上下相邻尺度的各9个像素点相比较,如图4所示。

图4 非极大值抑制

在进行极值比较的过程中,如果该极值大于或小于相邻26 个点的极值,则该点保留下来,作为初步的特征点。然后通过拟合三维二次函数对兴趣点进行定位,使其达到亚像素级,从而获得稳定的特征点。

2.5 确定特征点主方向

由于关键点邻域像素的梯度方向是不同的,为了使目标图像具备旋转不变形,就要为每一个兴趣点指点一个确定的方向,确定特征点主方向。首先以上述得到的特征点为中心,在半径为6s的邻域中计算x和y方向上的Harr小波响应,小波的边长为4s,计算半径为6s(s为特征点所在的尺度值)邻域内的点分别在x,y方向上的Harr 小波响应,Harr 小波边长取4s,并对响应值进行高斯加权。然后,在60°的扇形区域内由相应的高斯加权权重得到新的矢量,选择最长的矢量为该特征点的主方向,如图5所示。

图5 选取特征点的主方向

2.6 生成描述子

上述的操作已经知道了特征点的位置以及特征点的主方向,接下来就是要在局部区域内计算出特征描述子。首先根据特征点的主方向调整坐标系使其方向一致,以保证旋转不变性。再以特征点为中心,在特征点周围选取一个邻域为20s×20s的正方形框,把它划分为4×4 个子区域,然后用尺寸宽度为2s的Harr小波模板对每个子区域进行响应值计算,得到每个子区域的响应信息。由于每个子区域携带4 个信息,所以得到的特征描述子由4×4×4=64 维特征矢量构成。

3 结合改进的SURF 算子及其配准过程

3.1 改进的SURF特征描述符

SURF 算法在对彩色图像配准中,首先要将彩色图像处理成灰度图像,并且只用到了彩色图像的亮度信息,并不能充分利用彩色图像的色彩信息,因此在配准过程中会丢失相关的信息,从而降低了彩色图像的配准率。本文将只含有灰度信息的SURF 特征描述符增加了图像的色彩信息,形成改进的SURF特征描述符。

通过对SURF 特征点以及特征点邻域内RGB的颜色信息进行分析,可以在SURF 特征描述符的基础上增加RGB 色彩分量描述符来描述特征点的色彩信息,步骤如下。

假定SURF特征点在(x,y)处RGB 三通道的值分别为r、g和b,且r,g,bϵ[0,255],SURF特征点和特征点邻域内像素点的总数为n。

S1:在RGB 彩色空间中,分别计算出图像特征点以及特征点邻域内所有像素点的每个通道的均值μr、μg、μb。

将μr、μg、μb三个值组成一个包含RGB 色彩均值的三维向量E=(μr,μg,μb)。

S2:在RGB彩色空间中,分别计算图像特征点以及特征点邻域内所有像素点的每个通道的方差δr、δg和δb。

将δr、δg和δb三个值组成一个包含RGB色彩方差的三维向量S=(δr,δg,δb)。

S3:将E和S分别归一化处理,得到三维RGB色彩均值向量En和三维RGB色彩方差向量Sn。

S4:将En与Sn合并,构成了一个包含了色彩信息的六维RGB色彩分量描述向量Vc。

S5:在特征点邻域4×4 的子区域范围内,将原有的 SURF 特征描述向量Vs=(i1,i2,…,i64)上叠加六维RGB 色彩分量描述向量Vc,组成改进的且包含色彩信息的70维SURF特征描述向量。

3.2 FLANN算法进行特征点匹配

FLANN 算法是 Muja 和 Lowe[11~12]于 2009 年 提出的,主要是基于K 均值树或KD-TREE 操作实现的,根据数据集的分布特点和空间资源消耗的要求来推荐搜索类型和检索参数。FLANN 算法模型的特征空间一般是n 维实数向量空间Rn,该算法的核心是通过欧式距离来寻找与实例点最邻近的点,欧氏距离的定义如式(8)所示。

如果D 值越小,就表示这些特征点对之间的距离越“近”,也就说明了这些特征点相似程度越高。

本文通过KD-TREE 方法将数据点在n 维空间Rn划为几个特定的部分,其作用主要是在KD-TREE中检索与查询点距离最近的欧式距离[13]。

在向量空间Rn中,通过KD-TREE结构将所有的欧氏距离存储,就能够更有效查询与参考点最相近的点。KD-TREE的整个搜索过程是从上而下的一个递归的过程。首先是以特定的基准将目标点和分割点分开,然后进行比较,再判断目标点是在左边的区域还是右边的区域;一直循环与对应点进行比较,直到目标搜索成功。

3.3 RANSAC算法特征点筛选

由FLANN 算法通过初步匹配得到的特征点中还存在大量匹配错误的特征点,为了减少误匹配点,保证配准的准确性,需要采用随机采样一致性算法(Random Sample Consensus,RANSAC)对特征点 进 行 筛 选 。RANSAC 是 Fischler 和 Bolles[14]在1981 年最先提出,是目前剔除错误匹配点方法中最广泛使用的一种。使用RANSAC 方法的流程如下所示。

Step1:在初步匹配集P中随机抽出4 组特征点对(要求4 个特征点不共线),计算出变换矩阵H,记为模型M;

Step2:计算P中所有数据与模型M的投影误差,如果误差小于阈值t,就将误差加入内点集I,并且记录此模型下的统计误差;

Step3:对上述步骤进行重复,当计算得到新的模型,比较其统计误差error与errormin大小,如果error更小,就需要更新模型M和errormin。

Step4:计算出最优模型M和最大内点集I。

在步骤1 中,取4 组特征点对是因为本文选择的几何变换模型是透视变换模型,该模型中有8 个未知的参数,至少需要8 个方程来对其进行求解,一组特征点对可以列出两个方程,因此需要选择4组特征点对。

3.4 透视变换

由匹配点来对源图像和目标图像之间进行坐标转换,可以得出两幅图像的关系,即透视变换矩阵H,如下所示。

若p=(u,v) ,q=(x,y) 为一对匹配的特征点对,则投影变换公式为

其中,(u,v)为源图像中的坐标,为变换之后的目标图像的坐标,由得到的最优模型M可计算出H中的各参数hi(i=0,1,2,…,7),再通过透视变换就可以完成源图像到目标图像之间的配准。

4 实验结果与分析

针对本文提出的改进SURF 算法,通过Mikolajazyk[15]数据集对本算法进行验证。分别从图像的光照变化、平移与模糊变化、旋转与尺度变化和视角变化四组情况下验证本文算法与SURF 算法的匹配性能。

4.1 运行环境

实验条件是在硬件条件为Intel 酷睿i7-7200U CPU @3.5GHz、8G内存、64位操作系统的Windows10 PC 机上处理数据,其应用的软件为VS2015,开源计算机视觉库OpenCV3.4。

4.2 配准实验结果及分析

1)第一组是在光照变化下对图像的测试,通过改变图像的光照情况,图6(a)为原始输入图像,左图为测试图像,右图为基准图像。图6(b)和图6(c)分别是用SURF 算法和本文算法来对两幅图像进行角点匹配,再利用本文算法得到的精确匹配点计算出单应矩阵:

通过得到的单应矩阵H可以实现对图像的精确配准,如图6(d)所示。

图6 光照变化图像配准

2)第二组是在平移和模糊变化下对图像的测试,图7(a)为原始输入图像,左图为测试图像,右图为基准图像。图7(b)和图7(c)分别是用SURF 算法和本文算法来对两幅图像进行角点匹配,再利用本文算法得到的精确匹配点计算出单应矩阵:

通过得到的单应矩阵H可以实现对图像的精确配准,如图7(d)所示。

图7 平移与模糊变化图像配准

3)第三组是在大角度旋转和尺度变化下对图像的测试,通过对图像进行旋转和尺度变化的情况,图8(a)为原始输入图像,左图为测试图像,右图为基准图像。图8(b)和图8(c)分别是用SURF 算法和本文算法来对两幅图像进行角点匹配,再利用本文算法得到的精确匹配点计算出单应矩阵:

通过得到的单应矩阵H可以实现对图像的精确配准,如图8(d)所示。

图8 旋转与尺度变化图像配准

4)第四组是在视角变化下对图像的测试,图9(a)为原始输入图像,左图为测试图像,右图为基准图像。图9(b)和图9(c)分别是用SURF 算法和本文算法来对两幅图像进行角点匹配,再利用本文算法得到的精确匹配点计算出单应矩阵:

通过得到的单应矩阵H可以实现对图像的精确配准,如图9(d)所示。

图9 视角变化图像配准

本文实验是在相同条件下对SURF 算法和本文所优化的算法从匹配的准确性进行比较。从表1 中可以看出:对同一对测试图像来说,SURF 检测的特征点总点数要多于本文优化算法的特征点数,但匹配的精度低于本文优化算法的精度。所以从表中可以反映出,本文提出的方法对光照、平移和模糊、旋转和尺度、视角变化在匹配正确性以及匹配精度方面性能更优。

表1 四组图像匹配结果对比

5 结语

针对图像的匹配性能差以及误匹配率高,提出了一种基于改进的SURF 算子和通过透视变换模型的图像配准算法,通过和SURF 算法进行对比,提高了图像的匹配精度,并利用单应矩阵实现图像配准。由于图像配准可以应用于图像识别,计算机视觉等热门领域,所以在后续的研究中,希望能提高图像匹配的效率,获得更加稳定的图像特征匹配。

猜你喜欢
邻域尺度向量
基于混合变邻域的自动化滴灌轮灌分组算法
向量的分解
含例邻域逻辑的萨奎斯特对应理论
融合t-分布随机邻域嵌入与自动谱聚类的脑功能精细分区方法
聚焦“向量与三角”创新题
财产的五大尺度和五重应对
宇宙的尺度
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
9