基于MSER和NSST算法的大视场图像拼接技术
2021-07-02庞丽东潘维东林博文
庞丽东 潘维东 林博文
(1.井冈山大学 建筑工程学院,吉安 343009;2.井冈山大学 机电工程学院,吉安 343009)
大视场图像拼接是指通过给定某个场景的一组有重叠区域的局部图像,生成一幅完整、高分辨率、大视场全景图像的过程[1]。大视场图像拼接可以应用在遥感图像处理、卫星图像合成、医学图像分析以及大幅面文物数字化保存等领域。
常用的特征描述子如SIFT、SURF等,通常会得到较多的特征向量。虽然特征向量越多,对图像的描述越准确,图像处理的结果越好,但是过多的特征向量会浪费大量的运算时间,不适用于某些要求较高的场合[2]。针对上述情况,本文考虑利用MSER算法代替SIFT和SURF算法进行图像特征点的检测,在减少特征点数量的同时,还能够满足仿射不变性,提高后续的图像配准、图像拼接等效率。整个流程如图1所示。
图1 大视场图像拼接基本流程
1 MSER算法
MSER(Maximally Stable Extrernal Regions)算法是利用分水岭的概念来求解图像的局部稳定区域[3]。
分水岭算法是把像素的值想象成地势,高灰度值对应峰顶,低灰度值对应盆地。在盆地的极小值处打一个洞,然后往盆地里注水,当相邻两个盆地的水汇集的时刻,在相交的边缘线上构筑大坝,即形成分水岭。
MSER算法的基本过程是使用一系列阈值参数Δ∈[0 255]对图像进行二值化处理。随着阈值从0依次递增到255,图像从白色变为黑色的二值图像。在这个过程中,有些区域灰度值变化很小甚至不变化,那么这些区域就认为是最大稳定极值区域。
由于MSER算法只能够检测最大稳定极值区域,因此需要对图像的灰度值取反,再依次进行二值化阈值处理来求取最小极值稳定区域,分别称作正向和反向提取过程,记为MSER+和MSER-。
经过MSER算法检测到的极值区域,需要进一步进行描述和处理,以计算整个极值区域的每个点的几何零阶矩和几何一阶矩得到整个区域的重心位置,即椭圆的重心。计算二阶矩的两个特征值,可以分别得到椭圆的长半轴、短半轴和角度。根据这些参数,最终拟合成为一个椭圆。此外,可以根据两幅图像的相对位置关系,规定只在两幅图像的重叠范围进行检测,以减少无效特征点的提取。检测出特征点后,利用SURF算法快速对特征点附近的局部图像特征进行描述。
2 图像配准
图像配准是在图像中提取到特征点并对其描述后,在两幅图像中找到对应的匹配点对的过程。图像粗配准利用欧式距离作为判断依据。
两特征点之间的欧式距离di可以表示为:
式中,Pij和Qij分别表示图1的特征点Pi和图2的特征点Qi的特征矢量的第j维值。其中,欧式距离最小的为匹配点对[4]。
粗配准后还需要对匹配点对进行提纯,剔除误匹配点对,得到更精确的匹配关系,多利用常用的RANSAC算法来实现。利用提纯后的匹配向量计算两图像之间的单应性矩阵,优化后可得到空间变换矩阵。
3 基于NSST变换进行图像融合
通过非下采样剪切波变换(Non-Subsampled Shearlet Transform,NSST)将图像分解成各个频段的子图像。对待融合两幅图像的高、低频子带系数进行比较,保留绝对值较大的高频系数;对于低频系数采用加权平均的方法,得到融合高、低频系数,再进行NSST逆变换,重构图像,完成图像融合。算法步骤如图2所示。
图2 基于NSST变换的图像融合
4 实验结果
采用Matlab 2019作为编译环境,将前述方法运行于Windows 10 64位系统、英特尔酷睿i5-7200U CPU@2.50 GHz处理器、8 GB内存的笔记本电脑上。选取连续的6幅由手机拍摄的建筑物图像,如图3所示。拼接后的完整图像,如图4所示。可以看出,图像拼接后清晰完整,亮度无明显差异,图像平滑,没有明显的拼接缝,保留了图像细节信息,具有较好的拼接效果。
图3 多幅连续待拼接图像
图4 图像拼接结果
5 结语
本文提出用MSER算法检测特征点利用NSST变换进行图像融合。实验证明,算法具有有效性,计算效率和鲁棒性均较好,拼接精度较高,图像具有平滑、清晰、完整等优点,可以满足实际大视场图像拼接应用的需要。