图像拼接算法总结(一)

来源:互联网 发布:html img 调用js方法 编辑:程序博客网 时间:2024/06/09 21:24
图像的拼接技术包括三大部分:特征点提取与匹配、图像配准、图像融合。
1、基于SRUF 的特征点的提取与匹配
为了使拼接具有良好的精度和鲁棒性,同时又使其具有较好的实时性,本实验采用SURF 算法完成图像序列特征点的提取。
SURF 算法又称快速鲁棒特征,借鉴了SIFT 中简化近似的思想,将DoH 中的高斯二阶微分模板进行了近似简化,使得模板对图像的滤波只需要进行几个简单的加减法运算,并且这种运算与滤波模板的尺寸无关。实验证明,SURF 算法较SIFT 在运算速度上要快3 倍左右,综合性能要优于SIFT 算法。
SURF 特征点提取与描述主要包含4 个步骤:
1)检测尺度空间极值。
2)精炼特征点位置。
3)计算特征点的描述信息。

4)生成描述特征点的特征向量。

SURF的匹配算法是通过计算两个特征点藐视算子之间的欧式距离得到的,即找出与特征点描述符pi欧式距离最近和次近的两个邻居特征点描述符qi'和qi'',然后计算pi与qi'以及pi与qi'' 两组描述符之间欧式距离的比值r。如果比值r小于规定阈值规则视为匹配成功,(pi,qi')点对则为图像序列中的一对匹配点,否则匹配失败。这种匹配方法简便快捷,但是会差生误匹配。在图像配准模块会使用RANSAC进行误匹配点的筛选。

2、图像配准

图像配准是一种确定待拼接图像间的重叠区域以及重叠位置的技术,它是整个图像拼接的核心。本节采用的是基于特征点的图像配准方法,即通过匹配点对构建图像序列之间的变换矩阵,从而完成全景图像的拼接。

变换矩阵H求解是图像配准的核心,其求解的算法流程如下。

1)检测每幅图像中特征点。

2)计算特征点之间的匹配。

3)计算图像间变换矩阵的初始值。

4)迭代精炼H变换矩阵。

5)引导匹配。用估计的H去定义对极线附近的搜索区域,进一步确定特征点的对应。

6)重复迭代4)和5)直到对应点的数目稳定为止。

设图像序列之间的变换为投影变换

可用4组最佳匹配计算出H矩阵的8 个自由度参数hi=( i=0,1,...,7),并以此作为初始值。

为了提高图像配准的精度,本节采用RANSAC算法对图像变换矩阵进行求解与精炼,达到了较好的图像拼接效果。RANSAC算法的基本原理可通过图9-1来描述。


图9-1:RANSAC算法

RANSAC算法的思想简单而巧妙:首先随机地选择两个点,这两个点确定了一条直线,并且称在这条直线的一定范围内的点为这条直线的支撑。这样的随机选择重复数次,然后,具有最大支撑集的直线被确认为是样本点集的拟合。在拟合的误差距离范围内的点被认为是内点,它们构成一致集,反之则为外点。根据算法描述,可以很快判断,如果只有少量外点,那么随机选取的包含外点的初始点集确定的直线不会获得很大的支撑,值得注意的是,过大比例的外点将导致RANSAC算法失败。在直线拟合的例子中,由点集确定直线至少需要两个点;而对于透视变换,这样的最小集合需要有4个点。

图9-1中蓝色点属于内点(正确点),而第红色点属于外点(偏移点)。此时用最小二乘法拟合这组数据,实际的最佳拟合直线是那条穿越了最多点数的蓝色实线。

3、图像合成

根据图像间变换矩阵H,可以对相应图像进行变换以确定图像间的重叠区域,并将待融和图像映射到到一幅新的空白图像中形成拼接图。需要注意的是,由于普通的相机在拍摄照片时会自动选取曝光参数,这会使输入图像间存在亮度差异,导致拼接后的图像缝合线两端出现明显的明暗变化。因此,在融和过程中需要对缝合线进行处理。进行图像拼接缝合线处理的方法有很多种,如颜色插值和多分辨率样条技术等,本节采用了快速简单的加权平滑算法处理拼接缝问题。该算法的主要思想是:图像重叠区域中像素点的灰度值Pixel 由两幅图像中对应点的灰度值Pixel_L和_R加权平均得到,即Pixel=k×Pixel_L+(1-k)× Pixel_R,其中k是可调因子。图9-2为加权平滑算法图。


图9-2:加权平滑算法

通常情况下0<k<1,即在重叠区域中,沿图像1向图像2的方向,k由1渐变为0,从而实现重叠区域的平滑拼接。为使图像重叠区域中的点与两幅图像建立更大的相关性,令k=d1/(d1+d2),其中d1,d2分别表示重叠区域中的点到两幅图像重叠区域的左边界和右边界的距离。即使用公式Pixel = ×Pixel_L + ×Pixel_R进行缝合线处理。



原创粉丝点击