基于SIFT算法的室内全景图拼接

2020-03-27 08:12杨志芳袁家凯黄瑶瑶
自动化与仪表 2020年3期
关键词:尺度空间高斯金字塔

杨志芳,袁家凯,黄瑶瑶

(武汉工程大学 电气信息学院,武汉430205)

近年来,随着计算机视觉技术的发展和照相像素品质的提高,图像拼接技术成为图像处理领域的热点。 全景图在工程领域的应用越来越广泛,室内全景图能很好地展示室内装修效果。 图像拼接技术是将具有重叠区域的一系列图像拼接为一幅具有较宽视角图像的技术。 该技术将2 幅图像进行同一场景匹配,找出最终匹配的对应关系,从而获得宽阔的视角图像[1-3]。 它克服了一般成像设备视野受限和广角镜头失真严重且价格较贵的弊端,在不改变硬件条件的前提下极大地拓展了人们的视野[2]。 目前主要有3 种图像配准方法:灰度信息配准方法[4]、特征配准方法[5]和变换域配准方法[6]。

特征配准方法的尺度不变特征变换SIFT 计算机视觉算法[7],用于侦测与描述影像中的局部性特征。 改进的SIFT 算法[8]能够找出独特的关键点不会受移动、转动、缩放、仿射变换、亮度等外在因素影响而改变其特性,因此广泛应用于图像识别与匹配的领域[9-10]。 文献[11]将SIFT 与Harris 结合,在提取SIFT 特征过程中加入Harris 角点算子以增强特征点的提取精度。 改进后的算法相对于其他特征算法具有方向和尺度不变性,具有不会因光照、仿射变换、噪音等因素而变化的特点。SIFT 算法在角点、边缘点、暗区的亮点及亮区的暗点等检测环境中的适应性更高。 在相同图像尺度空间的情况下,SIFT 算法下每组图像的长宽均是上一组的一半,同一组不同层图像之间尺寸一样。而在SURF 算法中,不同组间图像的尺寸都是一致的,不同组间使用的盒式滤波器的模板尺寸逐渐增大,同一组不同层图像使用相同尺寸的滤波器, 因此SIFT 算法的精确度更高。高精度的性能与之对应的会有更复杂计算方法和计算量,降低了SIFT 特征点的计算速度。 基于SIFT算法抗干扰能力强和精度高的特点,在此采用SIFT算法实现了室内全景图像的拼接。

1 室内全景图像拼接流程

室内全景图像是由多张具有重合区域不同角度的图像拼接而成,在此用5 张图像进行拼接。为了减少图像中的亮度和各种噪声的影响,需要对每张图像进行预处理提高图像的对比度以及滤波处理;采用SIFT 算法进行每张图像的特征点进行描述,使用FLANN 方法筛选有效的匹配特征点,滤除无效的匹配特征点;在完成有效特征点匹配后进行图像融合。 全景图像的拼接流程如图1所示。

图1 全景图像拼接流程Fig.1 Panoramic image splicing flow chart

2 图像的预处理

图像的预处理主要分为图像增强和噪声消除2个部分。

图像增强根据处理空间的不同分为空域和频域处理方法。 基于空域的方法是直接对图像进行处理;基于频域的方法是在图像的某种变换域内对图像的变换系数进行修正, 再反变换到原来的空域,得到增强的图像。 原图如图2 所示,对原图直接采用空域增强的方法改善图像的视觉效果,可以提高图像的对比度和清晰度, 同时提高图像的梯度变化,增强不同物体间特征的差别,突出SIFT 算法感兴趣的特征点。 噪声的消除主要采用滤波方法消除图片的外部噪声,减少图像无效特征点的产生。 预处理后的图像如图3 所示。

图2 原图像Fig.2 Original pictures

图3 预处理后的图像Fig.3 Pretreated images

3 SIFT 算法特征点提取与描述

根据Lowe 2004年对SIFT 算法改进和SIFT 特征点不变性的总结,特征点描述和提取过程如下:

(1)构建DoG(difference of Gaussian)高斯金字塔

DoG 金字塔形成尺度空间,高斯金字塔是构建DoG 金字塔的基础。 DoG 金字塔是尺度空间构建的基础,高斯核是唯一可以产生多尺度空间的线性核[12]。 二维高斯核的定义为

二维图像为I(x,y)的尺度空间L(x,y,σ)有即图像I(x,y)在尺度空间内与高斯内核G(x,y,σ)的卷积。 式中:σ 为尺度因子。

Lowe[7]提出高斯差分DoG 方程与图像I(x,y)卷积求得尺度空间极值,用D(x,y,σ)表示为

式中:系数k 为相邻的2 个尺度比。

图像I(x,y)与不同尺度的高斯核进行卷积得到图像的一组尺度空间,将这一组图像作为金字塔的第1 阶(octave);取其中的2 倍尺度图像以2 倍像素距离进行下采样,得到金字塔第2 阶的底层图像。 以同样的方式依次向上卷积和采样,可以得到第2 阶、第3 阶(octave)等,由此形成高斯金字塔的完整图像。 通过每一阶相邻的高斯图像相减形成高斯差分图像,即DoG 图像,如图4 所示。

图4 高斯图像与DoG 图像Fig.4 Gaussian image and DoG image

在DoG 金字塔的尺度空间中,中间层的每个像素点都需要与同一层的相邻8 个像素点及其上一层和下一层的9 个相邻像素点总共26 个相邻像素点进行比较,以确保在尺度空间和二维图像空间都检测到局部极值。 DoG 图像极值检测示意图如图5所示。

图5 DoG 图像极值检测Fig.5 DoG image extremum detection

(2)确定特征点的位置

由于SIFT 特征点的特性对边缘和不稳定的点很敏感的原因,需要对局部的极值点进行拟合精确特征点的位置。将尺度空间极值D(x,y,σ)方程进行Taylor(泰勒)展开:

其中

对式(4)求导,令其为零,得到精确极值位置X^为

将式(5)代入式(4),得到

图6 图像的SIFT 特征点Fig.6 SIFT feature points of image

利用特征点邻域像素的梯度方向分布特性为每个特征点指定方向参数,从而使算子具备旋转不变性。 则该特征点的梯度幅值为

该特征点的梯度方向为

用梯度方向直方图来统计邻域像素的梯度方向,直方图以每10°方向为一个柱,共36 个柱,也就覆盖了0°~360°的范围。 直方图的峰值代表该特征点邻域或梯度的主方向, 作为该特征点的主方向。如果某个侧峰达到顶峰80%就将这个方向作为辅助方向。

(3)特征点的描述

在计算关键点后进行描述形成描述符,描述符的梯度和方向与特征点相对应。 图像梯度及特征点描符如图7 所示。

图7 图像梯度及特征点描符Fig.7 Image gradient and feature point description

以特征点为中心位置,取8×8 的像素单元块如图7(a)所示,每一个小格代表特征点邻域所在的尺度空间的一个像素, 箭头所指为像素的梯度方向,箭头长度为梯度的幅值,图中圈内代表高斯加权的范围(越靠近特征点的像素,梯度方向信息贡献越大)。 然后,在每个4×4 的像素小块上计算8 个方向的梯度方向直方图,绘制每个梯度方向的累加值来形成一个种子点,如图7(b)所示。 图7(b)中一个特征点由2×2 共4 个种子点组成,每个种子点8 个方向信息,可产生2×2×8 共32 个数据,形成32 维的SIFT 特征向量即特征描述符[13]。 最后将特征向量归一化去除光照变化影响。

4 FLANN 特征点匹配

FLANN(fast library for approximate nearest neighbors)算法是基于K 均值树或者KD-Tree 搜索操作的二值特征匹配方法,是一个对大数据集和高维特征进行最近邻搜索的算法的集合,而且这些算法都已经被优化过。 在面对大数据集的处理时它的效果要好于BFMatcher,其匹配结果如图8 所示。

图8 FLANN 特征点匹配Fig.8 Matching of FLANN feature points

随机k-d(dimensional)树算法建立多棵随机k-d树, 从具有最高方差的Nd维中随机选取若干维度,用来做划分。在对随机k-d 森林进行搜索时候,所有的随机k-d 树将共享一个优先队列。 增加树的数量能加快搜索速度,考虑内存负载的问题,树的数量一般控制在20 的范围以内。

层次聚类树是用k-medoids 的聚类方法,聚类中心一般都是某个输入数据点,该算法未像k-medoids聚类算法那样最小化方差求聚类中心,而是直接从输入数据中随机选取聚类中心点。 这样的方法在建立树时更加简单有效,还保持了多棵树之间的独立性[14],同时建立多棵树,在搜索阶段并行地搜索它们能大大提高搜索性能 (归功于随机地选择聚类中心,而无需多次迭代去获得更好的聚类中心)。 建立多棵随机树的方法对k-d tree 也十分有效, 但对于k-means tree 却不适用。

5 图像融合

完成图像的特征点匹配以后直接拼接图像时,重叠区域会产生裂缝、“鬼影”并带有明显的亮度变化现象。 因此,采用加权平均图像融合的方法消除这种现象,使图像重叠的中间区域较好地适应左右两边平滑的过渡,实现无缝无损的图像拼接。

加权图像融合的计算公式为

其中

式中:α,β 为重叠区域的权值。 待融合图像如9 所示,图像融合后的结果如图10 所示。

图9 待融合原图像Fig.9 Original images to be fused

图10 融合图像Fig.10 Fusion image

6 试验结果

试验的硬件平台为Intel (R)Core(TM)i3-8100 CPU@3.60 GHz,软件为Visual Studio 2015。

将5 幅图像按照两幅图像融合原理依次进行拼接,最后的结果如图11 所示。 由图可见,图像的拼接程度非常完整, 能够达到众多应用场景高精度、广视角的室内全景图像的应用要求。

图11 室内全景图像Fig.11 Indoor panoramic image

7 结语

本文提出了一种基于SIFT 算法提取特征点,并用FLANN 最近邻算法进行特征点匹配来实现室内全景图像拼接设计。由于SIFT 算法提取特征点具有位置、旋转和尺度不变性,应用于高精度、高细节品质图像处理时具有良好适应能力。 通过FLANN 算法的k-mean tree 匹配特征点,具有非常精准的匹配能力,鲁棒性高,输出图像噪声少、拼接效果非常好等特点好,可广泛应用于各个领域。

猜你喜欢
尺度空间高斯金字塔
“金字塔”
基于AHP的大尺度空间域矿山地质环境评价研究
Great Vacation Places
数学王子高斯
天才数学家——高斯
金字塔是用金子造的吗
居住区园林空间尺度研究
基于降采样归一化割的多尺度分层分割方法研究
从自卑到自信 瑞恩·高斯林
基于尺度空间的体数据边界不确定性可视化研究