一种基于SIFT特征点匹配的图像拼接方法与流程

文档序号:11234834阅读:456来源:国知局
一种基于SIFT特征点匹配的图像拼接方法与流程

本发明涉及一种图像拼接方法,尤其涉及一种基于sift特征点匹配的图像拼接方法,属于图像处理技术领域。



背景技术:

图像拼接就是将多幅具有一定重叠部分的图像进行融合,合成一张宽视野、没有明显拼接缝隙的高分辨率图像。目前图像拼接技术逐渐成为研究的热点,它广泛应用于计算机图像处理、海底勘探、医学图像、虚拟现实、遥感影像处理等领域。

图像拼接的方法基本可以分为以下两种:基于灰度信息的方法和基于特征的方法。基于灰度信息的方法是通过使用待拼接图像的像素值来计算两幅图像的相似程度,从而确定拼接的重叠区域,实现图像的拼接,这种方法计算量大,并且鲁棒性较差。



技术实现要素:

本发明所要解决的问题在于针对目前图像拼接技术效率低、融合图像不清晰的问题提出了一种基于sift特征点匹配的图像拼接方法,本发明是一种高精度、高效率且拼接效果良好的无缝拼接方法。

本发明具体采用以下技术方案:

一种基于sift特征点匹配的图像拼接方法,首先提取两幅待拼接图像的sift特征点,并生成每一个特征点的特征描述符,针对生成的描述符对两幅图像进行匹配,根据匹配提纯后的特征点对确定融合区域,对两幅待拼接的图像进行图像融合。

传统的sift方法采用的是128维的特征描述符,在图像配准阶段需要耗费大量的时间。为了降低特征点的匹配时间,本文采用双向2dpca方法对128 维的特征描述符进行了改进,提高方法的鲁棒性和计算效率,具体改进方法如下:

2dpca-sift提取特征点周围41×41的邻域,计算邻域内每个像素点水平方向和垂直方向的梯度。每一个像素点水平方向和垂直方向的梯度交替排列。这样就将特征描述符转化为一个39×78维的矩阵。假设提取出有m个特征点,则:

(1)将提取出的39×78维的m个特征点x1,x2,…,xm训练得到它们的均值矩阵:

(2)计算协方差矩阵g1:

(3)计算协方差矩阵g2:

(4)获得矩阵g1的特征值λ1,λ2,…,λn和对应的特征向量v1,v2,…vn。选取前n1大的

特征值所对应的特征向量构成投影矩阵w1。

(5)获得矩阵g2的特征值λ1,λ2,…,λn和对应的特征向量v1,v2,…vn。选取前n2大的特征值所对应的特征向量构成投影矩阵w2。

(6)将xi先在水平方向进行投影,然后在垂直方向进行第二次投影,最终得到特征矩阵y=w2xiw1(i=1,2,…,m)

采用欧式距离进行匹配往往会有很多的误匹配点,通常采用随机采样一致性方法来剔除误匹配点。本文针对随机采样一致性方法内点概率小,导致方法计算效率低的问题,提出了一种约束条件的方法来对匹配点对进行筛选,提高了方法的运算效率。对匹配特征点进行粗提纯,本文采用采用匹配特征点对之间的几何一致性来对特征点进行粗提纯。具体方法如下:

(1)假设图像a和b表示待匹配的图像,特征点集分别取图像a和图像b粗匹配点的集合a=(a1,a2,…,an)和b=(b1,b2,…,bn)。并设粗匹配点集的尺度 比值集合和角度差值集合为m、n则:

(2)并规定mσ为计算出的图像尺度缩放的比例,nθ为计算出的图像旋转的角度。

(3)从i=1开始,依次求出的值,如果这两个值均少于阈值t,保留此匹配点。否则,剔除此点。

经过配准之后,就可以通过这些匹配点来确定两幅图像的重叠部分。本发明通过计算单应性矩阵来确定两幅图像的重叠区域。单应性矩阵是一个三阶矩阵,它有8个未知的参数,它可以反映两幅图像的变换关系。假设匹配特征点有n个,确定两幅图像重叠区域的流程是:

(1)从n个匹配点中随机选取4对(8个)匹配点。假设(x,y)是第一幅图像匹配点的坐标,(x',y')是第二幅图像匹配点的坐标,利用这4组匹配点,我们可以求出单应性矩阵中m0-m7的值。

(2)求出单应性矩阵后,我们可以用单应性矩阵求出匹配图像1在图像2对应的匹配特征点。假设此时在图像2中求出的匹配点坐标为(x”,y”),然后我们计算真实的匹配特征点(x',y')和(x”,y”)的欧式距离。

(3)设定一个阈值,如果在第二步中计算出来的欧式距离少于设定的阈值,我们定义这样的点为一个内点。否则定义这样的点为一个外点,记录内点的总 数。

(4)利用单应性矩阵,我们可以计算出第二幅图像的匹配点在第一幅图像中对应的位置。我们可以计算出第二幅图像的4个顶点相应的位置。

两幅图像的重叠区域通常会有颜色的差异,为了使两幅图像能够无缝拼接,通常采用的方法是重叠区域线性过渡融合法。但是,这种方法会使拼接之后的图像变得模糊。本发明针对现有方法融合区域有缝隙,融合区域不清晰的问题,在融合阶段采用contourlet变换来对重叠区域采用不同的融合策略来消除了融合重叠区域中的模糊现象,增强图像融合的效果。

假设需要运用contourlet变换的重叠区域是ab。图像a是重叠区域在图像a中的部分,图像b是重叠区域在图像b中的部分。对图像a和b分别进行contourlet变换分解,可以求得各自的contourlet变换系数ya和yb。定义融合系数为yf。

对于低频信息,使用平均值融合法:

而对于高频信息,如果dfb分解参数lj≠0,则让yf(i)=max{|ya(i)|,|yb(i)|}。

如果dfb分解参数lj=0,应该考虑这一层采用小波变换。然后利用小波变换技术对系数进行处理。小波变换的低频信息:高频信息:yf(i)=max{|ya(i)|,|yb(i)|}

计算出融合系数之后,进行contourlet逆变换求出融合图像。

本发明针对现有图像拼接方法计算复杂,匹配精度不高、效率低、融合图像不清晰的问题,提出一种基于sift特征点匹配的图像拼接方法,通过采用双向2dpca方法对特征描述符进行降维,提高了匹配的效率和精度;借助匹配特征点对之间的几何一致性来对特征点进行粗提纯,提高随机采样一致性方法的运行效率;采用contourlet变换进行图像融合,消除了融合图像的色差,达到了两幅图像高质量的拼接效果。

附图说明

图1是本发明的图像拼接方法流程图;

图2是极值点检测示意图;

图3是确定两幅图像重叠区域示意图。

具体实施方式

本发明的思路是针对现有的sift图像拼接方法计算复杂,匹配正确率低,融合效果不理想的问题,提出一种基于sift特征点匹配的图像拼接方法,通过采用双向2dpca方法对特征描述符进行降维,提高了匹配的效率和精度;借助匹配特征点对之间的几何一致性来对特征点进行粗提纯,提高随机采样一致性方法的运行效率;采用contourlet变换进行图像融合,消除了融合图像的色差,达到了两幅图像高质量的拼接效果。

本发明的图像拼接方法,其流程图如图1所示:具体按照以下步骤:

步骤1、建立尺度空间

二维高斯函数的定义为:σ为高斯正太分布的方差值,也称为尺度因子。图像的尺度空间可以表示为一个函数l(x,y,σ),它是由原图像i(x,y)与一个可变尺度的二维高斯核g(x,y,σ)卷积运算获得:表示x和y两个方向上进行卷积操作,(x,y)表示图像像素的位置。σ尺度因子的大小决定图像平滑的程度,σ的值越大,就说明图像边缘越清晰,而细节越模糊,平滑程度就越大。相反,如果σ的值越小,就说明图像的细节信息保留的越好,平滑程度也越小。对图像做不同尺度的高斯模糊,并对高斯模糊后的图像做降采样处理。为了能够更好地检测到相对稳定的极值点,需要构建高斯差分金字塔。dog是高斯金字塔中上下相邻两层图像的差值相邻尺度空间的差值dog用d(x,y,σ)表示:

步骤2、检测极值点

得到图像中的高斯差分金字塔之后,就可以计算尺度空间中的极值点了。如图2所示,我们需要将尺度空间中每一个像素点与它同尺度的3×3邻域内的8个相邻点进行比较,同时,还要和相邻尺度中对应的18个像素点进行比较,即总共与26个点进行比较。如果该点的灰度值是26点中的最大或最小值,那么该点就被定义为候选极值点。

步骤3、精确定位特征点

对于检测到的候选极值点,通常还需要进一步进行筛选,因为大部分的极值点还存在噪声和边缘响应。首先利用尺度空间函数d(x,y,σ)的taylor二次展开式对曲线拟合,然后采用极值点尺度位置的2×2hessian矩阵计算其主曲率。2×2hessian矩阵如下式所示:

记tr(h)=dxx+dyy,det(h)=dxxdyy-(dxy)2

如果满足其中r=10,则将该点保存下来,如果不满足条件,则去除改点。这样不稳定的边缘响应点也被剔除。经过一系列的计算,对比度较低的极值点以及不稳定的边缘点都被剔除,被保留下来的点就是所需要的图像特征点。

步骤4、确定主方向

为了使最终生成的描述子在图像旋转的情况下依然保持很好的不变性,利用统计直方图信息的方式来为每一个特征点指定主方向。点(x,y)处的梯度幅值以及方向角度可以利用下面公式来计算:

其中,m(x,y)表示梯度幅值,θ(x,y)表示梯度方向角度。

将梯度直方图从0°~360°的方向范围划分成36个柱,其中每一柱为,规定将梯度直方图中的峰值确定为特征点的主方向。为了增强方法的鲁棒性,sift方法还给每一个特征点定义了辅方向,即如果在直方图中有一个或多个大于主 方向峰值80%能量的方向,就把这些方向定义为此特征点的辅助方向。因此,一个特征点可以有两个以上的方向。

步骤5、生成sift特征描述符

传统的sift方法特征点采用的是128维的特征描述符,在图像配准阶段需要耗费的时间。为了降低特征点的匹配时间,本文采用双向2dpca方法对128维的特征描述符进行了改进,提高方法的鲁棒性和计算效率,具体改进方法如下:

2dpca-sift提取特征点周围41×41的邻域,计算邻域内每个像素点水平方向和垂直方向的梯度。每一个像素点水平方向和垂直方向的梯度交替排列。这样就将特征描述符转化为一个39×78维的矩阵。假设提取出有m个特征点,则:

(1)将提取出的39×78维的m个特征点x1,x2,…,xm训练得到它们的均值矩阵:

(2)计算协方差矩阵g1:

(3)计算协方差矩阵g2:

(4)获得矩阵g1的特征值λ1,λ2,…,λn和对应的特征向量v1,v2,…vn。选取前n1大的特征值所对应的特征向量构成投影矩阵w1。

(5)获得矩阵g2的特征值λ1,λ2,…,λn和对应的特征向量v1,v2,…vn。选取前n2大的特征值所对应的特征向量构成投影矩阵w2。

(6)将xi先在水平方向进行投影,然后在垂直方向进行第二次投影,最终得到特征矩阵y=w2xiw1(i=1,2,…,m)为了进行特征匹配,本文将最终得到的特征矩阵y转化成了向量的形式。

经过双向2dpca变换后,每一个特征点都有一个n2×n1维的特征描述子。本文选取n1=8,n2=4,最后组成32维的特征向量。

步骤6、特征点匹配

特征向量的匹配一般采用欧式距离对32维的特征描述子进行相似性度量。从待匹配图像中选择一个特征点,从原始图像中找出与该点最近距离的特征点和次近距离的特征点,从而得到最近邻与次近邻的比值,若比值小于规定的阈值,则认为最近距离的点为匹配点。采用欧式距离进行匹配往往会有很多的误匹配点,通常采用随机抽样一致性方法来剔除误匹配点。本文针对随机抽样一致性方法内点概率小,导致方法计算效率低的问题,提出了一种约束条件的方法来对匹配点对进行筛选,提高了方法的运算效率。

(1)假设图像a和b表示待匹配的图像,特征点集分别取图像a和图像b粗匹配点的集合a=(a1,a2,...,an)和b=(b1,b2,…,bn)。并设粗匹配点集的尺度比值集合和角度差值集合为m、n则:

(2)并规定mσ为计算出的图像尺度缩放的比例,nθ为计算出的图像旋转的角度。

(3)从i=1开始,依次求出的值,如果这两个值均少于阈值t,保留此匹配点。否则,剔除此点。

步骤7、确定融合区域

经过配准之后,我们可以通过这些匹配点来确定两幅图像的重叠部分。

本文通过计算单应性矩阵来确定两幅图像的重叠区域。单应性矩阵是一个三阶矩阵,它有8个未知的参数,它可以反映两幅图像的变换关系。假设匹配特征点有n个,确定两幅图像重叠区域的流程是:

(1)从n个匹配点中随机选取4对(8个)匹配点。假设(x,y)是第一幅图像匹配点的坐标,(x',y')是第二幅图像匹配点的坐标,

利用这4组匹配点,我们可以求出单应性矩阵中m0-m7的值。

(2)求出单应性矩阵后,我们可以用单应性矩阵求出匹配图像1在图像2对应的匹配特征点。假设此时在图像2中求出的匹配点坐标为(x”,y”),然后我们计算真实的匹配特征点(x',y')和(x”,y”)的欧式距离。

(3)设定一个阈值,如果在第二步中计算出来的欧式距离少于设定的阈值,我们定义这样的点为一个内点。否则定义这样的点为一个外点,记录内点的总数。

(4)重复步骤1和步骤3,找到内点最多的单应性矩阵。规定这个单应性矩阵为最后的单应性矩阵。

(5)利用单应性矩阵,我们可以计算出第二幅图像的匹配点在第一幅图像中对应的位置。我们可以计算出第二幅图像的4个顶点相应的位置。如图3所示,然后我们就可以用它们的坐标来确定两幅图像的重叠区域。

步骤8、图像融合

两幅图像的重叠区域通常会有颜色的差异,为了使两幅图像能够无缝拼接,通常采用的方法是重叠区域线性过渡融合法。但是,这种方法会使拼接之后的图像变得模糊。本发明针对现有方法融合区域有缝隙,融合区域不清晰的问题,在融合阶段采用contourlet变换来对重叠区域采用不同的融合策略来消除了融合重叠区域中的模糊现象,增强图像融合的效果。

假设需要运用contourlet变换的重叠区域是ab。图像a是重叠区域在图像a中的部分,图像b是重叠区域在图像b中的部分。对图像a和b分别进行contourlet变换分解,可以求得各自的contourlet变换系数ya和yb。定义融合系数为yf。

对于低频信息,使用平均值融合法:

而对于高频信息,如果dfb分解参数lj≠0,则让yf(i)=max{|ya(i)|,|yb(i)|}。

如果dfb分解参数lj=0,应该考虑这一层采用小波变换。然后利用小波变换技术对系数进行处理。小波变换的低频信息:高频信息:yf(i)=max{|ya(i)|,|yb(i)|}

计算出融合系数之后,进行contourlet逆变换求出融合图像。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1