图像拼接

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像拼接技术
图像拼接技术就是将数张有重叠部分的图像(可能是不同时间、不同视角或者不同传感器获得的)拼成一幅大型的无缝高分辨率图像的技术。

图像配准和图像融合是图像拼接的两个关键技术。

图像配准是图像融合的基础,而且图像配准算法的计算量一般非常大,因此图像拼接技术的发展很大程度上取决于图像配准技术的创新。

早期的图像配准技术主要采用点匹配法,这类方法速度慢、精度低,而且常常需要人工选取初始匹配点,无法适应大数据量图像的融合。

图像拼接流程图像拼接的方法很多,不同的算法步骤会有一定差异,但大致的过程是相同的。

一般来说,图像拼接主要包括以下五步:
a)图像预处理。

包括数字图像处理的基本操作(如去噪、边缘提取、直方图处理等)、建立图像的匹配模板以及对图像进行某种变换(如傅里叶变换、小波变换等)等操作。

b)图像配准。

就是采用一定的匹配策略,找出待拼接图像中的模板或特征点在参考图像中对应的位置,进而确定两幅图像之间的变换关系。

c)建立变换模型。

根据模板或者图像特征之间的对应关系,计算出数学模型中的各参数值,从而建立两幅图像的数学变换模型。

d)统一坐标变换。

根据建立的数学转换模型,将待拼接图像转换到参考图像的坐标系中,完成统一坐标变换。

e)融合重构。

将带拼接图像的重合区域进行融合得到拼接重构的平滑无缝全景图像。

下图给出了图像拼接的基本流程图。

相邻图像的配准及拼接是全景图生成技术的关键,有关图像配准技术的研究至今已有很长的历史,其主要的方法有以下两种:基于两幅图像的亮度差最小的方法和基于特征的方法。

本文采用基于特征模板匹配特征点的拼接方法。

该方法允许待拼接的图像有一定的倾斜和变形,克服了获取图像时轴心必须一致的问题,同时允许相邻图像之间有一定色差。

全景图的拼接主要包括以下4个步骤:图像的预拼接,即确定两幅相邻图像重合的较精确位置,为特征点的搜索奠定基础。

特征点的提取,即在基本重合位置确定后,找到待匹配的特征点。

图像矩阵变换及拼接,即根据匹配点建立图像的变换矩阵并实现图像的拼接。

最后是图像的平滑处理。

图片拼接镶嵌(image spline and mosaics)应用很广,可以实现不同图片之间的拼接和镶嵌。

这方面的一个经典算法是Peter J. Burt和Edward H. Adelson在《A Multiresolution Spline With Application To Image Mosaics》中提出的。

实现该算法还需要精读一篇论文 "The Laplacian pyramid as a compact image code" (Burt & Adelson 1983)。

用Multiresolution Spline算法来消除这些痕迹。

Multiresolution Spline的基本原理是使用Gaussian算子通过对图像进行层叠分解(pyramid decomposition),使用REDUCE和EXPAND算子来获得G k(Gaussian图)和L k (Laplacian图),并在给定曲线(一般指重叠的痕迹)上对每层的两个L k图进行融合。

然后将融合后的P K图放大,以得到S k(即每层的最终图像,由P k和S k+1求得)。

最终的图像是S0 。

如下图所示:
实现该算法,主要需要以下步骤:
1、完成对图像的高斯和拉普拉斯金字塔存储转换。

主要有以下三个函数:
[p] = gaussianPyramid(im,n,a)
[p] = laplacianPyramid(im,n,a)
[im] = collapsePyramid(p,a)
2、写出对两张图像进行融合拼接的函数:
[im] = imBlend(fg,bg,n)
3、根据不同的应用问题,可以按照Peter J. Burt和Edward H. Adelson的经典算法的要求,对上面的函数的进行修改。

由于该算法是比较早期提出的,现已经有许多改进。

但该算法仍然是一个经典算法,通过该算法,可以进一步理解图像分层数据结构的原理和应用。

以下是一些效果展示:
1、原文中苹果和梨的拼接效果:
苹果梨
直接拼接效果该算法实现效果
2、不同风格图片的拼接:
小狗壁画形式
直接拼接效果该算法实现效果
可以认真阅读论文《A Multiresolution Spline With Application To Image Mosaics》,上面对这个算法讲得很详细。

另外,有个开源项目:
/,是关于图像拼接处理的,有源代码哦。

讨论】图像拼接算法原理
不久前我在做一个项目可行性分析时接触了一下图像拼接。

在论坛换服务器之前,我发了一个帖子,阐述了我对图像拼接算法的看法,抛砖引玉,意在引起大家关于图像拼接算法原理的讨论。

当时csq 回了帖子,对该类算法做了全面而详细的介绍。

后来由于服务器问题帖子丢失了,不敢独享,现在帖出来,希望大家继续讨论。

*********我原来的帖子*************
图像拼接是计算机视觉中的重要分支,它是将两幅以上的具有部分重叠的图像进行无缝拼接从而得到较高分辨率或宽视角的图像。

目前成形算法原理大致如下:
1、频率域:(不甚清楚)
利用"相位相关法"完成两幅图像的平移估计(只能精确到像素级)。

2、空间域:
(1)基于特征的方法:找出特征点,进行匹配。

a.使用HARRIS角点,然后使用灰度相关加松弛匹配找到对应点,如果两幅图像重叠区域较大,且透视变形较小,可以考虑使用这种方法。

b.通过特征点的梯度方向等信息,确定一组最佳的特征匹配,利用这一组数据给出两幅图像间变换矩阵的估计初值,再利用递归算法找到最终的精确变换关系。

在拍摄图片的相机的旋转与缩放不是很大的情况下可以实现较好效果。

(2)和基于光差的方法(方法精确但收敛慢)。

应用最广泛的一类拼接算法是柱面与球面图像的拼接,经过球面与柱面变换后,问题就归结为确定每幅图像的平移量。

以上是我阅读了一些文章总结出来的,贻笑大方了。

希望各位修正或添加之。

*********csq************
我来补充吧.
1 频率域:一般是用fourier的相位相关,可以估计出频移,旋转,缩放。

频移没什么好讨论的,比较简单,估计缩放和旋转一般是变到极坐标系去做,无数的paper讨论这个问题,前面讨论“怎样判断两幅图像有没有重叠”的帖子,我给了一篇paper,今年ieee tran
ip的。

还不错。

频率域的有人做sub-pixel. 这个我也说过,university of centrl florida 的那个什么faroon (名字记不清了),写了一篇这样的,但好像只能处理频移的sub-pixel. 我还发email 问过他有没有处理旋转的sub-pixel. 他没有回。

ft.
2.空域:
1 。

楼主遗漏了基于intensity的方法,不过确实用的不多了。

2。

特征的方法:
看来最多的是point-rgistration. 不过还是有做用边缘啊那些其他特征去拼的人。

下面我就介绍一下point发.
Point-registration:
1.经典的harris point, 现在有不少修正版,因为harris 当时对参数的选择并没有给出很好的建议,所以参数选择比较烦,我以前就试过很多参数.
参考文献:A Mathematical Comparison of Point Detectors
Evaluation of Interest Point Detectors
找到特征点那就要去匹配拉。

一般是先初步估计一下,剔出差太多的匹配对。

可以用intensity的各种方法,但是这就摆出一个问题:光照。

很麻烦,两幅图的光照差很多的话,有可能根本弄不出来匹配的点,但你从图上明显可以看到很多对都是匹配的。

这个等会讨论。

2.然后进一步估计匹配,RANSAC用的最多,也有其他的方法,像paper: MLESAC- A new robust estimator with application to estimating image geometry.
估计出匹配对,然后就要算那个烂七八糟的矩阵。

又是很多方法可以来做。

一般是各种优化算法像LM之类的。

3.算出矩阵,然后把一个变到另外一个的坐标系,就是融合的问题了。

咋个无缝的拼接是个问题。

Szeliski的方法用的多,paper我忘了,等会那篇review里面可以查到。

没有考虑的问题:
1.假设是perfect 的各种关系,像频移,旋转,缩放,仿射,实际上并不那么简单,实际数码照的片子关系很复杂。

2.光照。

刚才说了,大问题。

在估计匹配点,矩阵,甚至最后融合都会引入不少麻烦。

SIFT 方法好,可以解决一些问题,
经典的一篇综述
Image alignment and stitching- A tutorial google就能下到了
Ok.差不多了。

算是我的对我工作的一个简单总结吧。

呵呵。

相关文档
最新文档