精华内容
下载资源
问答
  • 基于IBR的简单图像拼接算法,图像拼接算法及实现,matlab源码
  • 图像拼接算法及实现.doc图像拼接算法及实现.doc图像拼接算法及实现.doc图像拼接算法及实现.doc图像拼接算法及实现.doc图像拼接算法及实现.doc图像拼接算法及实现.doc图像拼接算法及实现.doc图像拼接算法及实现.doc...
  • 图像拼接算法及实现

    2012-11-25 21:08:27
    关于图像拼接算法的说明,有助于对图像的理解,对拼接的学习
  • 基于IBR的简单图像拼接算法.可以在matlab环境下较快拼接成360°全景图
  • 图像拼接2 SIFT+RANSAC,图像拼接算法及实现,matlab源码
  • MATLAB图像拼接算法及实现 论文关键词:图像拼接 图像配准 图像融合 全景图 论文摘要:图像拼接(image mosaic)技术是将一组相互间重叠部分的图像序列进行空间匹配对准,经重采样合成后形成一幅包含各图像序列信息...

    MATLAB图像拼接算法及实现


      论文关键词:图像拼接 图像配准 图像融合 全景图

      论文摘要:图像拼接(image mosaic)技术是将一组相互间重叠部分的图像序列进行空间匹配对准,经重采样合成后形成一幅包含各图像序列信息的宽视角场景的、完整的、高清晰的新图像的技术。图像拼接在摄影测量学、计算机视觉、遥感图像处理、医学图像分析、计算机图形学等领域有着广泛的应用价值。 一般来说,图像拼接的过程由图像获取,图像配准,图像合成三步骤组成,其中图像配准是整个图像拼接的基础。本文研究了两种图像配准算法:基于特征和基于变换域的图像配准算法。 在基于特征的配准算法的基础上,提出一种稳健的基于特征点的配准算法。首先改进Harris角点检测算法,有效提高所提取特征点的速度和精度。然后利用相似测度NCC(normalized cross correlation——归一化互相关),通过用双向最大相关系数匹配的方法提取出初始特征点对,用随机采样法RANSAC(Random Sample Consensus)剔除伪特征点对,实现特征点对的精确匹配。最后用正确的特征点匹配对实现图像的配准。本文提出的算法适应性较强,在重复性纹理、旋转角度比较大等较难自动匹配场合下仍可以准确实现图像配准。

      Abstract:Image mosaic is a technology that carries on the spatial matching to a series of image which are overlapped with each other, and finally builds a seamless and high quality image which has high resolution and big eyeshot. Image mosaic has widely applications in the fields of photogrammetry, computer vision, remote sensing image processing, medical image analysis, computer graphic and so on. 。In general, the process of image mosaic by the image acquisition, image registration, image synthesis of three steps, one of image registration are the basis of the entire image mosaic. In this paper, two image registration algorithm: Based on the characteristics and transform domain-based image registration algorithm. In feature-based registration algorithm based on a robust feature-based registration algorithm points. First of all, to improve the Harris corner detection algorithm, effectively improve the extraction of feature points of the speed and accuracy. And the use of a similar measure of NCC (normalized cross correlation - Normalized cross-correlation), through the largest correlation coefficient with two-way matching to extract the feature points out the initial right, using random sampling method RANSAC (Random Sample Consensus) excluding pseudo-feature points right, feature points on the implementation of the exact match. Finally with the correct feature point matching for image registration implementation. In this paper, the algorithm adapted, in the repetitive texture, such as relatively large rotation more difficult to automatically match occasions can still achieve an accurate image registration.


      Key words: image mosaic, image registration, image fusion, panorama

      第一章 绪论

      1.1 图像拼接技术的研究背景及研究意义

      图像拼接(image mosaic)是一个日益流行的研究领域,他已经成为照相绘图学、计算机视觉、图像处理和计算机图形学研究中的热点。图像拼接解决的问题一般式,通过对齐一系列空间重叠的图像,构成一个无缝的、高清晰的图像,它具有比单个图像更高的分辨率和更大的视野。

      早期的图像拼接研究一直用于照相绘图学,主要是对大量航拍或卫星的图像的整合。近年来随着图像拼接技术的研究和发展,它使基于图像的绘制(IBR)成为结合两个互补领域——计算机视觉和计算机图形学的坚决焦点,在计算机视觉领域中,图像拼接成为对可视化场景描述(Visual Scene Representaions)的主要研究方法:在计算机形学中,现实世界的图像过去一直用于环境贴图,即合成静态的背景和增加合成物体真实感的贴图,图像拼接可以使IBR从一系列真是图像中快速绘制具有真实感的新视图。

      在军事领域网的夜视成像技术中,无论夜视微光还是红外成像设备都会由于摄像器材的限制而无法拍摄视野宽阔的图片,更不用说360 度的环形图片了。但是在实际应用中,很多时候需要将360 度所拍摄的很多张图片合成一张图片,从而可以使观察者可以观察到周围的全部情况。使用图像拼接技术,在根据拍摄设备和周围景物的情况进行分析后,就可以将通过转动的拍摄器材拍摄的涵盖周围360 度景物的多幅图像进行拼接,从而实时地得到超大视角甚至是360 度角的全景图像。这在红外预警中起到了很大的作用。

      微小型履带式移动机器人项目中,单目视觉不能满足机器人的视觉导航需要,并且单目视觉机器人的视野范围明显小于双目视觉机器人的视野。利用图像拼接技术,拼接机器人双目采集的图像,可以增大机器人的视野,给机器人的视觉导航提供方便。在虚拟现实领域中,人们可以利用图像拼接技术来得到宽视角的图像或360 度全景图像,用来虚拟实际场景。这种基于全景图的虚拟现实系统,通过全景图的深度信息抽取,恢复场景的三维信息,进而建立三维模型。这个系统允许用户在虚拟环境中的一点作水平环视以及一定范围内的俯视和仰视,同时允许在环视的过程中动态地改变焦距。这样的全景图像相当于人站在原地环顾四周时看到的情形。在医学图像处理方面,显微镜或超声波的视野较小,医师无法通过一幅图像进行诊视,同时对于大目标图像的数据测量也需要把不完整的图像拼接为一个整体。所以把相邻的各幅图像拼接起来是实现远程数据测量和远程会诊的关键环节圆。在遥感技术领域中,利用图像拼接技术中的图像配准技术可以对来自同一区域的两幅或多幅图像进行比较,也可以利用图像拼接技术将遥感卫星拍摄到的有失真地面图像拼接成比较准确的完整图像,作为进一步研究的依据。

    从以上方面可以看出,图像拼接技术的应用前景十分广阔,深入研究图像拼接技术有着很重要的意义

      1.2图像拼接算法的分类

      图像拼接作为这些年来图像研究方面的重点之一,国内外研究人员也提出了很多拼接算法。图像拼接的质量,主要依赖图像的配准程度,因此图像的配准是拼接算法的核心和关键。根据图像匹配方法的不同仁阔,一般可以将图像拼接算法分为以下两个类型:
      (1) 基于区域相关的拼接算法。
    这是最为传统和最普遍的算法。基于区域的配准方法是从待拼接图像的灰度值出发,对待配准图像中一块区域与参考图像中的相同尺寸的区域使用最小二乘法或者其它数学方法计算其灰度值的差异,对此差异比较后来判断待拼接图像重叠区域的相似程度,由此得到待拼接图像重叠区域的范围和位置,从而实现图像拼接。也可以通过FFT 变换将图像由时域变换到频域,然后再进行配准。对位移量比较大的图像,可以先校正图像的旋转,然后建立两幅图像之间的映射关系。
    当以两块区域像素点灰度值的差别作为判别标准时,最简单的一种方法是直接把各点灰度的差值累计起来。这种办法效果不是很好,常常由于亮度、对比度的变化及其它原因导致拼接失败。另一种方法是计算两块区域的对应像素点灰度值的相关系数,相关系数越大,则两块图像的匹配程度越高。该方法的拼接效果要好一些,成功率有所提高。
    (2) 基于特征相关的拼接算法。
    基于特征的配准方法不是直接利用图像的像素值,而是通过像素导出图像的特征,然后以图像特征为标准,对图像重叠部分的对应特征区域进行搜索匹配,该类拼接算法有比较高的健壮性和鲁棒性。
    基于特征的配准方法有两个过程:特征抽取和特征配准。首先从两幅图像中提取灰度变化明显的点、线、区域等特征形成特征集冈。然后在两幅图像对应的特征集中利用特征匹配算法尽可能地将存在对应关系的特征对选择出来。一系列的图像分割技术都被用到特征的抽取和边界检测上。如canny 算子、拉普拉斯高斯算子、区域生长。抽取出来的空间特征有闭合的边界、开边界、交叉线以及其他特征。特征匹配的算法有:交叉相关、距离变换、动态编程、结构匹配、链码相关等算法。

      1.3本文的主要工作和组织结构

    本文的主要工作:
    (1) 总结了前人在图像拼接方面的技术发展历程和研究成果。

    (2) 学习和研究了前人的图像配准算法。

    (3) 学习和研究了常用的图像融合算法。

    (4) 用matlab实现本文中的图像拼接算法

    (5) 总结了图像拼接中还存在的问题,对图像拼接的发展方向和应用前景进行展望。

      本文的组织结构

      第一章主要对图像拼接技术作了整体的概述,介绍了图像拼接的研究背景和应用前景,以及图像拼接技术的大致过程、图像拼接算法的分类和其技术难点。第二章主要介绍讨论了图像预处理中的两个步骤,即图像的几何校正和噪声点的抑制。第三章主要介绍讨论了图像配准的多种算法。第四章主要介绍讨论了图像融合的一些算法。第五章主要介绍图像拼接软件实现本文的算法。第六章主要对图像拼接中还存在的问题进行总结,以及对图像拼接的发展进行展望。

      1.4 本章小结

      本章主要对图像拼接技术作了整体的概述,介绍了图像拼接的研究背景和应用前景,以图像拼接算法的分类和其技术难点,并且对全文研究内容进行了总体介绍。
      第二章 图像拼接的基础理论及图像预处理

      2.1图像拼接

    图像拼接技术主要有三个主要步骤:图像预处理、图像配准、图像融合与边界平滑,

    如图。

    图像拼接技术主要分为三个主要步骤:图像预处理、图像配准、图像融合与边界平滑,图像预处理主要指对图像进行几何畸变校正和噪声点的抑制等,让参考图像和待拼接图像不存在明显的几何畸变。在图像质量不理想的情况下进行图像拼接,如果不经过图像预处理,很容易造成一些误匹配。图像预处理主要是为下一步图像配准做准备,让图像质量能够满足图像配准的要求。图像配准主要指对参考图像和待拼接图像中的匹配信息进行提取,在提取出的信息中寻找最佳的匹配,完成图像间的对齐。图像拼接的成功与否主要是图像的配准。待拼接的图像之间,可能存在平移、旋转、缩放等多种变换或者大面积的同色区域等很难匹配的情况,一个好的图像配准算法应该能够在各种情况下准确找到图像间的对应信息,将图像对齐。图像融合指在完成图像匹配以后,对图像进行缝合,并对缝合的边界进行平滑处理,让缝合自然过渡。由于任何两幅相邻图像在采集条件上都不可能做到完全相同,因此,对于一些本应该相同的图像特性,如图像的光照特性等,在两幅图像中就不会表现的完全一样。图像拼接缝隙就是从一幅图像的图像区域过渡到另一幅图像的图像区域时,由于图像中的某些相关特性发生了跃变而产生的。图像融合就是为了让图像间的拼接缝隙不明显,拼接更自然

      2.2 图像的获取方式

      图像拼接技术原理是根据图像重叠部分将多张衔接的图像拼合成一张高分辨率全景图 。这些有重叠部分的图像一般由两种方法获得 : 一种是固定照相机的转轴 ,然后绕轴旋转所拍摄的照片 ;另一种是固定照相机的光心 ,水平摇动镜头所拍摄的照片。其中 ,前者主要用于远景或遥感图像的获取 ,后者主要用于显微图像的获取 ,它们共同的特点就是获得有重叠的二维图像。

      2.3 图像的预处理

      2.3.1 图像的校正

      当照相系统的镜头或者照相装置没有正对着待拍摄的景物时候,那么拍摄到的景物图像就会产生一定的变形。这是几何畸变最常见的情况。另外,由于光学成像系统或电子扫描系统的限制而产生的枕形或桶形失真,也是几何畸变的典型情况。几何畸变会给图像拼接造成很大的问题,原本在两幅图像中相同的物体会因为畸变而变得不匹配,这会给图像的配准带来很大的问题。因此,解决几何畸变的问题显得很重要。

      图象校正的基本思路是,根据图像失真原因,建立相应的数学模型,从被污染或畸变的图象信号中提取所需要的信息,沿着使图象失真的逆过程恢复图象本来面貌。实际的复原过程是设计一个滤波器,使其能从失真图象中计算得到真实图象的估值,使其根据预先规定的误差准则,最大程度地接近真实图象。

      2.3.2 图像噪声的抑制

      图像噪声可以理解为妨碍人的视觉感知,或妨碍系统传感器对所接受图像源信息进行理解或分析的各种因素,也可以理解成真实信号与理想信号之间存在的偏差。一般来说,噪声是不可预测的随机信号,通常采用概率统计的方法对其进行分析。噪声对图像处理十分重要,它影响图像处理的各个环节,特别在图像的输入、采集中的噪声抑制是十分关键的问题。若输入伴有较大的噪声,必然影响图像拼接的全过程及输出的结果。根据噪声的来源,大致可以分为外部噪声和内部噪声;从统计数学的观点来定义噪声,可以分为平稳噪声和非平稳噪声。各种类型的噪声反映在图像画面上,大致可以分为两种类型。一是噪声的幅值基本相同,但是噪声出现的位置是随机的,一般称这类噪声为椒盐噪声。另一种是每一点都存在噪声,但噪声的幅值是随机分布的,从噪声幅值大小的分布统计来看,其密度函数有高斯型、瑞利型,分别成为高斯噪声和瑞利噪声,又如频谱均匀分布的噪声称为白噪声等。

      1.均值滤波

    所谓均值滤波实际上就是用均值替代原图像中的各个像素值。均值滤波的方法是,对将处理的当前像素,选择一个模板,该模板为其邻近的若干像素组成,用模板中像素的均值来替代原像素的值。如图2.4所示,序号为0是当前像素,序号为1至8是邻近像素。求模板中所有像素的均值,再把该均值赋予当前像素点((x, y),作为处理后图像在该点上的灰度g(x,y),即

    g(x,y)= (2-2-2-1)

    其中,s为模板,M为该模板中包含像素的总个数。

    图2.2.2.1模板示意图

      2.中值滤波

      中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。它的核心算法是将模板中的数据进行排序,这样,如果一个亮点(暗点)的噪声,就会在排序过程中被排在数据序列的最右侧或者最左侧,因此,最终选择的数据序列中见位置上的值一般不是噪声点值,由此便可以达到抑制噪声的目的。
    取某种结构的二维滑动模板,将模板内像素按照像素值的大小进行排序,生成单调上升(或下降)的二维数据序列。二维德中值滤波输出为
    ( 2-2-2-2 )

    其中,f(x,y),g (x,y)分别为原图像和处理后的图像,w二维模板,k ,l为模板的长宽,Med 为取中间值操作,模板通常为3 3 、5 5 区域,也可以有不同形状,如线状、圆形、十字形、圆环形。

      2.4 本章小结

      本章主要介绍了图像几何畸变校正和图像噪声抑制两种图像预处理.

      第三章 图像配准算法

      3.1 图像配准的概念

    图像配准简而言之就是图像之间的对齐。图像配准定义为:对从不同传感器或不同时间或不同角度所获得的两幅或多幅图像进行最佳匹配的处理过程。为了更清楚图像配准的任务,我们将图像配准问题用更精确的数学语言描述出来。配准可以用描述为如下的问题:



    给定同一景物的从不同的视角或在不同的时间获取的两个图像I ,I 和两个图像间的相似度量S(I ,I ),找出I ,I 中的同名点,确定图像间的最优变换T,使得S(T(I ),I )达到最大值。

    图像配准总是相对于多幅图像来讲的,在实际工作中,通常取其中的一幅图像作为配准的基准,称它为参考图,另一幅图像,为搜索图。图像配准的一般做法是,首先在参考图上选取以某一目标点为中心的图像子块,并称它为图像配准的模板,然后让模板在搜索图上有秩序地移动,每移到一个位置,把模板与搜索图中的对应部分进行相关比较,直到找到配准位置为止。

    如果在模板的范围内,同一目标的两幅图像完全相同,那么完成图像配准并不困难。然而,实际上图像配准中所遇到的同一目标的两幅图像常常是在不同条件下获得的,如不同的成像时间、不同的成像位置、甚至不同的成像系统等,再加上成像中各种噪声的影响,使同一目标的两幅图像不可能完全相同,只能做到某种程度的相似,因此图像配准是一个相当复杂的技术过程。
      3.2 基于区域的配准

      3.2.1 逐一比较法

    设搜索图为s待配准模板为T,如图3.1所示,S大小为M N,T大小为U V,如图所示。

    图3.1搜索图S与模板T示意图

    逐一比较法的配准思想是:

    在搜索图S中以某点为基点(i,j),截取一个与模板T大小一样的分块图像,这样的基点有(M-U+1) (N-V+1)个,配准的目标就是在(M-U+1) (N-V+1)个分块图像中找一个与待配准图像最相似的图像,这样得到的基准点就是最佳配准点。

    设模板T在搜索图s上移动,模板覆盖下的那块搜索图叫子图S ,(i,j)为这块子图的左上角点在S图中的坐标,叫做参考点。然后比较T和S 的内容。若两者一致,则T和S 之差为零。在现实图像中,两幅图像完全一致是很少见的,一般的判断是在满足一定条件下,T和S 之差最小。

    根据以上原理,可采用下列两种测度之一来衡量T和S 的相似程度。D(i,j)的值越小,则该窗口越匹配。

    D(i,j)= [S (m,n)-T(m,n)] (3-1)

    D(i,j)= [S (m,n)-T(m,n) (3-2)

    或者利用归一化相关函数。将式(3-1)展开可得:

    D(i,j)= [S (m,n)] -2 S (m,n)*T(m,n)+ [T(m,n)] (3-3)

    式中等号右边第三项表示模板总能量,是一常数,与(i,j)无关;第一项是与模板匹配区域的能量,它随((i,j)的改变而改变,当T和S 匹配时的取最大值。因此相

    关函数为:

    R(i,j)= (3-4)

    当R(i,j)越大时,D(i,j)越小,归一化后为:

    R(i,j)= (3-5)

    根据Cauchy-Schwarz不等式可知式(3-5)中0 R(i,j) 1,并且仅当值S (m, n)/T (m, n)=常数时,R(i,j)取极大值。

    该算法的优点:

    (1)算法思路比较简单,容易理解,易于编程实现。

    (2)选用的模板越大,包含的信息就越多,匹配结果的可信度也会提高,同时能够对参考图像进行全面的扫描。

    该算法的缺点:

    (1)很难选择待配准图像分块。因为一个如果分块选择的不正确,缺少信息量,则不容易正确的匹配,即发生伪匹配。同时,如果分块过大则降低匹配速度,如果分块过小则容易降低匹配精度。

    (2)对图像的旋转变形不能很好的处理。算法本身只是把待配准图像分块在标准参考图像中移动比较,选择一个最相似的匹配块,但是并不能够对图像的旋转变形进行处理,因此对照片的拍摄有严格的要求。

      3.2.2 分层比较法

      图像处理的塔形(或称金字塔:Pyramid)分解方法是由Burt和Adelson首先提出的,其早期主要用于图像的压缩处理及机器人的视觉特性研究。该方法把原始图像分解成许多不同空间分辨率的子图像,高分辨率(尺寸较大)的子图像放在下层,低分辨率(尺寸较小)的图像放在上层,从而形成一个金字塔形状。

    在逐一比较法的思想上,为减少运算量,引入了塔形处理的思想,提出了分层比较法。利用图像的塔形分解,可以分析图像中不同大小的物体。同时,通过对低分辨率、尺寸较小的上层进行分析所得到的信息还可以用来指导对高分辨率、尺寸较大的下层进行分析,从而大大简化分析和计算。在搜索过程中,首先进行粗略匹配,每次水平或垂直移动一个步长,计算对应像素点灰度差的平方和,记录最小值的网格位置。其次,以此位置为中心进行精确匹配。每次步长减半,搜索当前最小值,循环这个过程,直到步长为零,最后确定出最佳匹配位置。

    算法的具体实现步骤如下:

    (1)将待匹配的两幅图像中2 2邻域内的像素点的像素值分别取平均,作为这一区域(2 2)像素值,得到分辨率低一级的图像。然后,将此分辨率低一级的图像再作同样的处理,也就是将低一级的图像4 4邻域内的像素点的像素值分别取平均,作为这一区域(4 4)点的像素值,得到分辨率更低一级的图像。依次处理,得到一组分辨率依次降低的图像。

    (2)从待匹配的两幅图像中分辨率最低的开始进行匹配搜索,由于这两幅图像像素点的数目少,图像信息也被消除一部分,因此,此匹配位置是不精确的。所以,在分辨率更高一级的图像中搜索时,应该在上一次匹配位置的附近进行搜索。依次进行下去,直到在原始图像中寻找到精确的匹配位置。

    算法的优点:

    (1)该算法思路简单,容易理解,易于编程实现。

    (2)该算法的搜索空间比逐一比较要少,在运算速度较逐一比较法有所提高。

    算法的缺点:

    (1)算法的精度不高。在是在粗略匹配过程中,移动的步长较大,很有可能将第一幅图像上所取的网格划分开,这样将造成匹配中无法取出与第一幅图像网格完全匹配的最佳网格,很难达到精确匹配。

    (2)对图像的旋转变形仍然不能很好的处理。与逐一比较法一样,该算法只是对其运算速度有所改进,让搜索空间变小,并无本质变化,因此对图像的旋转变形并不能进行相应处理。

      3.2.3 相位相关法

      相位相关度法是基于频域的配准常用算法。它将图像由空域变换到频域以后再进行配准。该算法利用了互功率谱中的相位信息进行图像配准,对图像间的亮度变化不敏感,具有一定的抗干扰能力,而且所获得的相关峰尖锐突出,位移检测范围大,具有较高的匹配精度。

    相位相关度法思想是利用傅立叶变换的位移性质,对于两幅数字图像s,t,其对应的傅立叶变换为S,T,即:

    S=F{s}= e T=F{t}= e (3-6)

    若图像s,t相差一个平移量(x ,y ),即有:

    s(x,y) = t(x-x ,y-y ) (3-7)

    根据傅立叶变换的位移性质,上式的傅立叶变换为:

    S( )=e T( ) &n

    展开全文
  • MATLAB图像拼接算法及实现(一) 论文关键词:图像拼接 图像配准 图像融合 全景图 论文摘要:图像拼接(image mosaic)技术是将一组相互间重叠部分的图像序列进行空间匹配对准,经重采样合成后形成一幅包含各图像...

    MATLAB图像拼接算法及实现(一)


      论文关键词:图像拼接 图像配准 图像融合 全景图

      论文摘要:图像拼接(image mosaic)技术是将一组相互间重叠部分的图像序列进行空间匹配对准,经重采样合成后形成一幅包含各图像序列信息的宽视角场景的、完整的、高清晰的新图像的技术。图像拼接在摄影测量学、计算机视觉、遥感图像处理、医学图像分析、计算机图形学等领域有着广泛的应用价值。 一般来说,图像拼接的过程由图像获取,图像配准,图像合成三步骤组成,其中图像配准是整个图像拼接的基础。本文研究了两种图像配准算法:基于特征和基于变换域的图像配准算法。 在基于特征的配准算法的基础上,提出一种稳健的基于特征点的配准算法。首先改进Harris角点检测算法,有效提高所提取特征点的速度和精度。然后利用相似测度NCC(normalized cross correlation——归一化互相关),通过用双向最大相关系数匹配的方法提取出初始特征点对,用随机采样法RANSAC(Random Sample Consensus)剔除伪特征点对,实现特征点对的精确匹配。最后用正确的特征点匹配对实现图像的配准。本文提出的算法适应性较强,在重复性纹理、旋转角度比较大等较难自动匹配场合下仍可以准确实现图像配准。

      Abstract:Image mosaic is a technology that carries on the spatial matching to a series of image which are overlapped with each other, and finally builds a seamless and high quality image which has high resolution and big eyeshot. Image mosaic has widely applications in the fields of photogrammetry, computer vision, remote sensing image processing, medical image analysis, computer graphic and so on. 。In general, the process of image mosaic by the image acquisition, image registration, image synthesis of three steps, one of image registration are the basis of the entire image mosaic. In this paper, two image registration algorithm: Based on the characteristics and transform domain-based image registration algorithm. In feature-based registration algorithm based on a robust feature-based registration algorithm points. First of all, to improve the Harris corner detection algorithm, effectively improve the extraction of feature points of the speed and accuracy. And the use of a similar measure of NCC (normalized cross correlation - Normalized cross-correlation), through the largest correlation coefficient with two-way matching to extract the feature points out the initial right, using random sampling method RANSAC (Random Sample Consensus) excluding pseudo-feature points right, feature points on the implementation of the exact match. Finally with the correct feature point matching for image registration implementation. In this paper, the algorithm adapted, in the repetitive texture, such as relatively large rotation more difficult to automatically match occasions can still achieve an accurate image registration.


      Key words: image mosaic, image registration, image fusion, panorama

      第一章 绪论

      1.1 图像拼接技术的研究背景及研究意义

      图像拼接(image mosaic)是一个日益流行的研究领域,他已经成为照相绘图学、计算机视觉、图像处理和计算机图形学研究中的热点。图像拼接解决的问题一般式,通过对齐一系列空间重叠的图像,构成一个无缝的、高清晰的图像,它具有比单个图像更高的分辨率和更大的视野。

      早期的图像拼接研究一直用于照相绘图学,主要是对大量航拍或卫星的图像的整合。近年来随着图像拼接技术的研究和发展,它使基于图像的绘制(IBR)成为结合两个互补领域——计算机视觉和计算机图形学的坚决焦点,在计算机视觉领域中,图像拼接成为对可视化场景描述(Visual Scene Representaions)的主要研究方法:在计算机形学中,现实世界的图像过去一直用于环境贴图,即合成静态的背景和增加合成物体真实感的贴图,图像拼接可以使IBR从一系列真是图像中快速绘制具有真实感的新视图。

      在军事领域网的夜视成像技术中,无论夜视微光还是红外成像设备都会由于摄像器材的限制而无法拍摄视野宽阔的图片,更不用说360 度的环形图片了。但是在实际应用中,很多时候需要将360 度所拍摄的很多张图片合成一张图片,从而可以使观察者可以观察到周围的全部情况。使用图像拼接技术,在根据拍摄设备和周围景物的情况进行分析后,就可以将通过转动的拍摄器材拍摄的涵盖周围360 度景物的多幅图像进行拼接,从而实时地得到超大视角甚至是360 度角的全景图像。这在红外预警中起到了很大的作用。

      微小型履带式移动机器人项目中,单目视觉不能满足机器人的视觉导航需要,并且单目视觉机器人的视野范围明显小于双目视觉机器人的视野。利用图像拼接技术,拼接机器人双目采集的图像,可以增大机器人的视野,给机器人的视觉导航提供方便。在虚拟现实领域中,人们可以利用图像拼接技术来得到宽视角的图像或360 度全景图像,用来虚拟实际场景。这种基于全景图的虚拟现实系统,通过全景图的深度信息抽取,恢复场景的三维信息,进而建立三维模型。这个系统允许用户在虚拟环境中的一点作水平环视以及一定范围内的俯视和仰视,同时允许在环视的过程中动态地改变焦距。这样的全景图像相当于人站在原地环顾四周时看到的情形。在医学图像处理方面,显微镜或超声波的视野较小,医师无法通过一幅图像进行诊视,同时对于大目标图像的数据测量也需要把不完整的图像拼接为一个整体。所以把相邻的各幅图像拼接起来是实现远程数据测量和远程会诊的关键环节圆。在遥感技术领域中,利用图像拼接技术中的图像配准技术可以对来自同一区域的两幅或多幅图像进行比较,也可以利用图像拼接技术将遥感卫星拍摄到的有失真地面图像拼接成比较准确的完整图像,作为进一步研究的依据。

    从以上方面可以看出,图像拼接技术的应用前景十分广阔,深入研究图像拼接技术有着很重要的意义

      1.2图像拼接算法的分类

      图像拼接作为这些年来图像研究方面的重点之一,国内外研究人员也提出了很多拼接算法。图像拼接的质量,主要依赖图像的配准程度,因此图像的配准是拼接算法的核心和关键。根据图像匹配方法的不同仁阔,一般可以将图像拼接算法分为以下两个类型:
      (1) 基于区域相关的拼接算法。
    这是最为传统和最普遍的算法。基于区域的配准方法是从待拼接图像的灰度值出发,对待配准图像中一块区域与参考图像中的相同尺寸的区域使用最小二乘法或者其它数学方法计算其灰度值的差异,对此差异比较后来判断待拼接图像重叠区域的相似程度,由此得到待拼接图像重叠区域的范围和位置,从而实现图像拼接。也可以通过FFT 变换将图像由时域变换到频域,然后再进行配准。对位移量比较大的图像,可以先校正图像的旋转,然后建立两幅图像之间的映射关系。
    当以两块区域像素点灰度值的差别作为判别标准时,最简单的一种方法是直接把各点灰度的差值累计起来。这种办法效果不是很好,常常由于亮度、对比度的变化及其它原因导致拼接失败。另一种方法是计算两块区域的对应像素点灰度值的相关系数,相关系数越大,则两块图像的匹配程度越高。该方法的拼接效果要好一些,成功率有所提高。
    (2) 基于特征相关的拼接算法。
    基于特征的配准方法不是直接利用图像的像素值,而是通过像素导出图像的特征,然后以图像特征为标准,对图像重叠部分的对应特征区域进行搜索匹配,该类拼接算法有比较高的健壮性和鲁棒性。
    基于特征的配准方法有两个过程:特征抽取和特征配准。首先从两幅图像中提取灰度变化明显的点、线、区域等特征形成特征集冈。然后在两幅图像对应的特征集中利用特征匹配算法尽可能地将存在对应关系的特征对选择出来。一系列的图像分割技术都被用到特征的抽取和边界检测上。如canny 算子、拉普拉斯高斯算子、区域生长。抽取出来的空间特征有闭合的边界、开边界、交叉线以及其他特征。特征匹配的算法有:交叉相关、距离变换、动态编程、结构匹配、链码相关等算法。

      1.3本文的主要工作和组织结构

    本文的主要工作:
    (1) 总结了前人在图像拼接方面的技术发展历程和研究成果。

    (2) 学习和研究了前人的图像配准算法。

    (3) 学习和研究了常用的图像融合算法。

    (4) 用matlab实现本文中的图像拼接算法

    (5) 总结了图像拼接中还存在的问题,对图像拼接的发展方向和应用前景进行展望。

      本文的组织结构

      第一章主要对图像拼接技术作了整体的概述,介绍了图像拼接的研究背景和应用前景,以及图像拼接技术的大致过程、图像拼接算法的分类和其技术难点。第二章主要介绍讨论了图像预处理中的两个步骤,即图像的几何校正和噪声点的抑制。第三章主要介绍讨论了图像配准的多种算法。第四章主要介绍讨论了图像融合的一些算法。第五章主要介绍图像拼接软件实现本文的算法。第六章主要对图像拼接中还存在的问题进行总结,以及对图像拼接的发展进行展望。

      1.4 本章小结

      本章主要对图像拼接技术作了整体的概述,介绍了图像拼接的研究背景和应用前景,以图像拼接算法的分类和其技术难点,并且对全文研究内容进行了总体介绍。
      第二章 图像拼接的基础理论及图像预处理

      2.1图像拼接

    图像拼接技术主要有三个主要步骤:图像预处理、图像配准、图像融合与边界平滑,

    如图。

    图像拼接技术主要分为三个主要步骤:图像预处理、图像配准、图像融合与边界平滑,图像预处理主要指对图像进行几何畸变校正和噪声点的抑制等,让参考图像和待拼接图像不存在明显的几何畸变。在图像质量不理想的情况下进行图像拼接,如果不经过图像预处理,很容易造成一些误匹配。图像预处理主要是为下一步图像配准做准备,让图像质量能够满足图像配准的要求。图像配准主要指对参考图像和待拼接图像中的匹配信息进行提取,在提取出的信息中寻找最佳的匹配,完成图像间的对齐。图像拼接的成功与否主要是图像的配准。待拼接的图像之间,可能存在平移、旋转、缩放等多种变换或者大面积的同色区域等很难匹配的情况,一个好的图像配准算法应该能够在各种情况下准确找到图像间的对应信息,将图像对齐。图像融合指在完成图像匹配以后,对图像进行缝合,并对缝合的边界进行平滑处理,让缝合自然过渡。由于任何两幅相邻图像在采集条件上都不可能做到完全相同,因此,对于一些本应该相同的图像特性,如图像的光照特性等,在两幅图像中就不会表现的完全一样。图像拼接缝隙就是从一幅图像的图像区域过渡到另一幅图像的图像区域时,由于图像中的某些相关特性发生了跃变而产生的。图像融合就是为了让图像间的拼接缝隙不明显,拼接更自然

      2.2 图像的获取方式

      图像拼接技术原理是根据图像重叠部分将多张衔接的图像拼合成一张高分辨率全景图 。这些有重叠部分的图像一般由两种方法获得 : 一种是固定照相机的转轴 ,然后绕轴旋转所拍摄的照片 ;另一种是固定照相机的光心 ,水平摇动镜头所拍摄的照片。其中 ,前者主要用于远景或遥感图像的获取 ,后者主要用于显微图像的获取 ,它们共同的特点就是获得有重叠的二维图像。

      2.3 图像的预处理

      2.3.1 图像的校正

      当照相系统的镜头或者照相装置没有正对着待拍摄的景物时候,那么拍摄到的景物图像就会产生一定的变形。这是几何畸变最常见的情况。另外,由于光学成像系统或电子扫描系统的限制而产生的枕形或桶形失真,也是几何畸变的典型情况。几何畸变会给图像拼接造成很大的问题,原本在两幅图像中相同的物体会因为畸变而变得不匹配,这会给图像的配准带来很大的问题。因此,解决几何畸变的问题显得很重要。

      图象校正的基本思路是,根据图像失真原因,建立相应的数学模型,从被污染或畸变的图象信号中提取所需要的信息,沿着使图象失真的逆过程恢复图象本来面貌。实际的复原过程是设计一个滤波器,使其能从失真图象中计算得到真实图象的估值,使其根据预先规定的误差准则,最大程度地接近真实图象。

      2.3.2 图像噪声的抑制

      图像噪声可以理解为妨碍人的视觉感知,或妨碍系统传感器对所接受图像源信息进行理解或分析的各种因素,也可以理解成真实信号与理想信号之间存在的偏差。一般来说,噪声是不可预测的随机信号,通常采用概率统计的方法对其进行分析。噪声对图像处理十分重要,它影响图像处理的各个环节,特别在图像的输入、采集中的噪声抑制是十分关键的问题。若输入伴有较大的噪声,必然影响图像拼接的全过程及输出的结果。根据噪声的来源,大致可以分为外部噪声和内部噪声;从统计数学的观点来定义噪声,可以分为平稳噪声和非平稳噪声。各种类型的噪声反映在图像画面上,大致可以分为两种类型。一是噪声的幅值基本相同,但是噪声出现的位置是随机的,一般称这类噪声为椒盐噪声。另一种是每一点都存在噪声,但噪声的幅值是随机分布的,从噪声幅值大小的分布统计来看,其密度函数有高斯型、瑞利型,分别成为高斯噪声和瑞利噪声,又如频谱均匀分布的噪声称为白噪声等。

      1.均值滤波

    所谓均值滤波实际上就是用均值替代原图像中的各个像素值。均值滤波的方法是,对将处理的当前像素,选择一个模板,该模板为其邻近的若干像素组成,用模板中像素的均值来替代原像素的值。如图2.4所示,序号为0是当前像素,序号为1至8是邻近像素。求模板中所有像素的均值,再把该均值赋予当前像素点((x, y),作为处理后图像在该点上的灰度g(x,y),即

    g(x,y)= (2-2-2-1)

    其中,s为模板,M为该模板中包含像素的总个数。

    图2.2.2.1模板示意图

      2.中值滤波

      中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。它的核心算法是将模板中的数据进行排序,这样,如果一个亮点(暗点)的噪声,就会在排序过程中被排在数据序列的最右侧或者最左侧,因此,最终选择的数据序列中见位置上的值一般不是噪声点值,由此便可以达到抑制噪声的目的。
    取某种结构的二维滑动模板,将模板内像素按照像素值的大小进行排序,生成单调上升(或下降)的二维数据序列。二维德中值滤波输出为
    ( 2-2-2-2 )

    其中,f(x,y),g (x,y)分别为原图像和处理后的图像,w二维模板,k ,l为模板的长宽,Med 为取中间值操作,模板通常为3 3 、5 5 区域,也可以有不同形状,如线状、圆形、十字形、圆环形。

      2.4 本章小结

      本章主要介绍了图像几何畸变校正和图像噪声抑制两种图像预处理.

      第三章 图像配准算法

      3.1 图像配准的概念

    图像配准简而言之就是图像之间的对齐。图像配准定义为:对从不同传感器或不同时间或不同角度所获得的两幅或多幅图像进行最佳匹配的处理过程。为了更清楚图像配准的任务,我们将图像配准问题用更精确的数学语言描述出来。配准可以用描述为如下的问题:



    给定同一景物的从不同的视角或在不同的时间获取的两个图像I ,I 和两个图像间的相似度量S(I ,I ),找出I ,I 中的同名点,确定图像间的最优变换T,使得S(T(I ),I )达到最大值。

    图像配准总是相对于多幅图像来讲的,在实际工作中,通常取其中的一幅图像作为配准的基准,称它为参考图,另一幅图像,为搜索图。图像配准的一般做法是,首先在参考图上选取以某一目标点为中心的图像子块,并称它为图像配准的模板,然后让模板在搜索图上有秩序地移动,每移到一个位置,把模板与搜索图中的对应部分进行相关比较,直到找到配准位置为止。

    如果在模板的范围内,同一目标的两幅图像完全相同,那么完成图像配准并不困难。然而,实际上图像配准中所遇到的同一目标的两幅图像常常是在不同条件下获得的,如不同的成像时间、不同的成像位置、甚至不同的成像系统等,再加上成像中各种噪声的影响,使同一目标的两幅图像不可能完全相同,只能做到某种程度的相似,因此图像配准是一个相当复杂的技术过程。
      3.2 基于区域的配准

      3.2.1 逐一比较法

    设搜索图为s待配准模板为T,如图3.1所示,S大小为M N,T大小为U V,如图所示。

    图3.1搜索图S与模板T示意图

    逐一比较法的配准思想是:

    在搜索图S中以某点为基点(i,j),截取一个与模板T大小一样的分块图像,这样的基点有(M-U+1) (N-V+1)个,配准的目标就是在(M-U+1) (N-V+1)个分块图像中找一个与待配准图像最相似的图像,这样得到的基准点就是最佳配准点。

    设模板T在搜索图s上移动,模板覆盖下的那块搜索图叫子图S ,(i,j)为这块子图的左上角点在S图中的坐标,叫做参考点。然后比较T和S 的内容。若两者一致,则T和S 之差为零。在现实图像中,两幅图像完全一致是很少见的,一般的判断是在满足一定条件下,T和S 之差最小。

    根据以上原理,可采用下列两种测度之一来衡量T和S 的相似程度。D(i,j)的值越小,则该窗口越匹配。

    D(i,j)= [S (m,n)-T(m,n)] (3-1)

    D(i,j)= [S (m,n)-T(m,n) (3-2)

    或者利用归一化相关函数。将式(3-1)展开可得:

    D(i,j)= [S (m,n)] -2 S (m,n)*T(m,n)+ [T(m,n)] (3-3)

    式中等号右边第三项表示模板总能量,是一常数,与(i,j)无关;第一项是与模板匹配区域的能量,它随((i,j)的改变而改变,当T和S 匹配时的取最大值。因此相

    关函数为:

    R(i,j)= (3-4)

    当R(i,j)越大时,D(i,j)越小,归一化后为:

    R(i,j)= (3-5)

    根据Cauchy-Schwarz不等式可知式(3-5)中0 R(i,j) 1,并且仅当值S (m, n)/T (m, n)=常数时,R(i,j)取极大值。

    该算法的优点:

    (1)算法思路比较简单,容易理解,易于编程实现。

    (2)选用的模板越大,包含的信息就越多,匹配结果的可信度也会提高,同时能够对参考图像进行全面的扫描。

    该算法的缺点:

    (1)很难选择待配准图像分块。因为一个如果分块选择的不正确,缺少信息量,则不容易正确的匹配,即发生伪匹配。同时,如果分块过大则降低匹配速度,如果分块过小则容易降低匹配精度。

    (2)对图像的旋转变形不能很好的处理。算法本身只是把待配准图像分块在标准参考图像中移动比较,选择一个最相似的匹配块,但是并不能够对图像的旋转变形进行处理,因此对照片的拍摄有严格的要求。

      3.2.2 分层比较法

      图像处理的塔形(或称金字塔:Pyramid)分解方法是由Burt和Adelson首先提出的,其早期主要用于图像的压缩处理及机器人的视觉特性研究。该方法把原始图像分解成许多不同空间分辨率的子图像,高分辨率(尺寸较大)的子图像放在下层,低分辨率(尺寸较小)的图像放在上层,从而形成一个金字塔形状。

    在逐一比较法的思想上,为减少运算量,引入了塔形处理的思想,提出了分层比较法。利用图像的塔形分解,可以分析图像中不同大小的物体。同时,通过对低分辨率、尺寸较小的上层进行分析所得到的信息还可以用来指导对高分辨率、尺寸较大的下层进行分析,从而大大简化分析和计算。在搜索过程中,首先进行粗略匹配,每次水平或垂直移动一个步长,计算对应像素点灰度差的平方和,记录最小值的网格位置。其次,以此位置为中心进行精确匹配。每次步长减半,搜索当前最小值,循环这个过程,直到步长为零,最后确定出最佳匹配位置。

    算法的具体实现步骤如下:

    (1)将待匹配的两幅图像中2 2邻域内的像素点的像素值分别取平均,作为这一区域(2 2)像素值,得到分辨率低一级的图像。然后,将此分辨率低一级的图像再作同样的处理,也就是将低一级的图像4 4邻域内的像素点的像素值分别取平均,作为这一区域(4 4)点的像素值,得到分辨率更低一级的图像。依次处理,得到一组分辨率依次降低的图像。

    (2)从待匹配的两幅图像中分辨率最低的开始进行匹配搜索,由于这两幅图像像素点的数目少,图像信息也被消除一部分,因此,此匹配位置是不精确的。所以,在分辨率更高一级的图像中搜索时,应该在上一次匹配位置的附近进行搜索。依次进行下去,直到在原始图像中寻找到精确的匹配位置。

    算法的优点:

    (1)该算法思路简单,容易理解,易于编程实现。

    (2)该算法的搜索空间比逐一比较要少,在运算速度较逐一比较法有所提高。

    算法的缺点:

    (1)算法的精度不高。在是在粗略匹配过程中,移动的步长较大,很有可能将第一幅图像上所取的网格划分开,这样将造成匹配中无法取出与第一幅图像网格完全匹配的最佳网格,很难达到精确匹配。

    (2)对图像的旋转变形仍然不能很好的处理。与逐一比较法一样,该算法只是对其运算速度有所改进,让搜索空间变小,并无本质变化,因此对图像的旋转变形并不能进行相应处理。

      3.2.3 相位相关法

      相位相关度法是基于频域的配准常用算法。它将图像由空域变换到频域以后再进行配准。该算法利用了互功率谱中的相位信息进行图像配准,对图像间的亮度变化不敏感,具有一定的抗干扰能力,而且所获得的相关峰尖锐突出,位移检测范围大,具有较高的匹配精度。

    相位相关度法思想是利用傅立叶变换的位移性质,对于两幅数字图像s,t,其对应的傅立叶变换为S,T,即:

    S=F{s}= e T=F{t}= e (3-6)

    若图像s,t相差一个平移量(x ,y ),即有:

    s(x,y) = t(x-x ,y-y ) (3-7)

    根据傅立叶变换的位移性质,上式的傅立叶变换为:

    S( )=e T( ) &n

    展开全文
  • 图像拼接 采用SIFT+RANSAC的特征匹配方法实现图像拼接
  • 图像拼接算法及实现 图像拼接

    热门讨论 2010-03-24 03:01:55
    图像拼接(image mosaic)技术是将一组相互间重叠部分的图像序列进行空间匹配对准,经重采样合成后形成一幅包含各图像序列信息的宽视角场景的、完整的、高清晰的新图像的技术。图像拼接在摄影测量学、计算机视觉、遥感...
  • 图像拼接算法及实现(一)论文关键词:图像拼接 图像配准 图像融合 全景图 论文摘要:图像拼接 image mosaic 技术是将一组相互间重叠部分的图像序列进行空间匹配对准,经重采样合成后形成一幅包含各图像序列信息的...

    图像拼接算法及实现(一)论文关键词:图像拼接 图像配准 图像融合 全景图  论文摘要:图像拼接 image mosaic 技术是将一组相互间重叠部分的图像序列进行空间匹配对准,经重采样合成后形成一幅包含各图像序列信息的宽视角场景的、完整的、高清晰的新图像的技术。图像拼接在摄影测量学、计算机视觉、遥感图像处理、医学图像分析、计算机图形学等领域有着广泛的应用价值。 一般来说,图像拼接的过程由图像获取,图像配准,图像合成三步骤组成,其中图像配准是整个图像拼接的基础。本文研究了两种图像配准算法:基于特征和基于变换域的图像配准算法。 在基于特征的配准算法的基础上,提出一种稳健的基于特征点的配准算法。首先改进Harris角点检测算法,有效提高所提取特征点的速度和精度。然后利用相似测度NCC normalized cross correlation――归一化互相关 ,通过用双向最大相关系数匹配的方法提取出初始特征点对,用随机采样法RANSAC Random Sample Consensus 剔除伪特征点对,实现特征点对的精确匹配。最后用正确的特征点匹配对实现图像的配准。本文提出的算法适应性较强,在重复性纹理、旋转角度比较大等较难自动匹配场合下仍可以准确实现图像配准。  Abstract:Image mosaic is a technology that carries on the spatial matching to a series of image which are overlapped with each other, and finally builds a seamless and high quality image which has high resolution and big eyeshot. Image mosaic has widely applications in the fields of photogrammetry, computer vision, remote sensing image processing, medical image analysis, computer graphic and so on. 。In general, the process of image mosaic by the image acquisition, image registration, image synthesis of three steps, one of image registration are the basis of the entire image mosaic. In this paper, two image registration algorithm: Based on the characteristics and transform domain-based image registration algorithm. In feature-based registration algorithm based on a robust feature-based registration algorithm points. First of all, to improve the Harris corner detection algorithm, effectively improve the extraction of feature points of the speed and accuracy. And the use of a similar measure of NCC normalized cross correlation - Normalized cross-correlation , through the largest correlation coefficient with two-way matching to extract the feature points out the initial right, using random sampling method RANSAC Random Sample Consensus excluding pseudo-feature points right, feature points on the implementation of the exact match. Finally with the correct feature point matching for image registration implementation.

    展开全文
  • 很好的资料,希望与大家分享。请用office2007打开。
  • 但当面对低照度、特征不明显的岩心荧光图像、以及受消光性和干涉色影响的岩石薄片正交偏光图像时,传统的BBF算法无法很好地粗剔除误匹配特征点对,RANSAC算法就无法实现图像的正确拼接.本文提出了一种改进算法,首先...
  • 图像拼接在制作全景图的过程中具有重要作用。...投影后,用约束的相位相关度法求取水平垂直偏移量,然后寻找最佳缝合线,实现图像拼接, 最后采用多分辨率算法对全图进行拼接处理去除曝光差异和鬼影
  • 基于MATLAB的图像拼接算法实现研究.pdf
  • 全景拼接算法matlab实现

    热门讨论 2009-08-27 14:04:53
    全景拼接算法matlab实现 测试图像没有发,可参考程序修改
  • hslogic算法仿真-基于MATLAB的图像拼接算法,可以将多个图片进行拼接得到一个完整的图像
  • 图像拼接算法

    2014-06-04 19:29:57
    改程序是用C++完成的图像拼接算法,改程序经过本人亲自验证,非常好用,非常有用,放心
  • 基于ZC702 Zynq的SURF/SIFT图像拼接算法实现系列最新的论文!
  • 第一、文章实现内容Ransac算法步骤简介 第二、SIFT特征提取方法简介效果 第三、BFMatcher与Flann特征点匹配方法效果对比 第四、RANSAC算法详解 第五、Py实例代码实现 第一、文章实现内容Ransac算法...

    进算计视觉课程,图像处理实例共享。

     

    文章目录

    • 第一、文章实现内容及Ransac算法步骤简介
    • 第二、SIFT特征提取方法简介及效果
    • 第三、BFMatcher与Flann特征点匹配方法效果对比
    • 第四、RANSAC算法详解
    • 第五、Py实例代码实现

     

    第一、文章实现内容及Ransac算法步骤简介

    使用两张自己拍摄的横向位移差图像,验证RANSAC算法,实现步骤如下:

    1. 使用高斯滤波器对图像进行滤噪图像预处理。

    2. 分别对图像进行特征点提取。特征点提取方法主要有FAST、SURF、Harris、BRIEF, 在本例中使用SIFT提取方法。

    3. 根据提取的特征点,使用特征点匹配方法和条件得到两张图片的特征点对。本 例主要对BFMatcher特征点匹配方法和Flann特征点匹配方法进行效果比较和 运用。

    4. 根据得到特征点对使用鲁棒方法对特征点对进行筛选,排除错误的特征点对, 提高两张图像相似特征对的正确匹配度。常用的鲁棒方法主要有LMEDS、 RHO(PROSAC)和RANSAC算法,本例中使用RANSAC算法来进行特征点对筛选。

    5. 写出邻近点匹配列表,并且校正漂移。

    6. 读取变形图像做透视变换,将变形图像和原图像进行融合拼接。

    7. 特征点匹配对图像显示,拼接图像结果显示。

     

    第二、SIFT特征提取方法简介及效果

            SIFT(Scale-invariant feature transform)尺度不变特征变换,其对刚体变换、光照强度、物体尺度变化和遮挡的情况时稳定性较好,可用于检测图像局部特征描述子即特征点。SIFT特征提取方法的主要走实现步骤主要包括:特征点提取、特征点方向获取、对特征点进行描述、特征点匹配。SIFT特征提取方法具体实现效果如图1所示。


                                                       图1 SIFT特征点提取效果显示图

    第三、BFMatcher与Flann特征点匹配方法效果对比

            BFMatcher特征点匹配是一种常见的二维特征点段匹配方法,因其总是尝试所有可能特征点对匹配的算法运行特性,又俗称为“暴力匹配法”,虽算法实现简单但也具有运行速度慢、错误率高的特点。BFMatcher方法的运作过程大致分成三步:第一步,发现两幅图片分别提取出来N,M个特征向量;第二步,对N和M的特征向量进行匹配,根据用户设定的限制条件,找到最佳匹配特征点对;第三步,画出特征匹配结果。BFMatcher方法的特征匹配效果如图2所示(仅显示10个特征点)。

                                                                                   图2 BFMatcher特征点提取效果显示

           Flann(Fast Library forApproximate Nearest Neighbors)快速最近邻特征点匹配,找到的是最近邻近特征匹配,具有算法快速但易受到失真、缩放的影响的特点。Flann算法的实现步骤如下:第一步,首先训练一个匹配器,以提高匹配速度;第二步,建立特征集的索引树,将图片每一个特征点和 该匹配器进行匹配;第三步,找出最佳匹配特征点对。Flann算法可以通过设置截断值来去除误差大的匹配,其特征匹配效果如图3所示(仅显示10个特征点)。

                                                                                       图3 Flann特征点提取效果显示图

            从图2和图3的特征点匹配效果进行对比,不难得到Flann算法比BFMatcher算法匹配效果更好的结论。由于本例核心为RANSAC算法,所以本例最后选择错误率高,更能够体现RANSAC算法筛选性能的BFMatcher特征匹配方法。

     

    第四、RANSAC随机采样一致性算法详解

            RANSAC(RAndom SAmple Consensus)算法,是一种利用一组以“外点”构成的特征点对数据组中,进行正确估计并得到“内点”的数学模型迭代方法。其中,“外点”指数据组中的噪声或者离群点,在本例中值匹配错误的特征点对;“内点”指组成模型参数的数据即目标数据,在本例中指图像边缘正确匹配特征点对。RANSAC算法是一种较为不稳定的算法,是一种基于概率不断极性迭代的算法,算法具体实现原理如下:

    1. 假设内点在总数据集中的占比r。

    2. 得到取n个点时取到错误点即外点的概率1-pow(r,n)。

    3. 若进行k次迭代寻找正确点即内点,则最后能够得到正确模型的概率为      1-pow((1-pow(r,n),k)。

    4. 经过1~3步,最终可以得到内点占比为r的条件下,需要迭代次数

          

         上述RANSAC算法在原图中特征点对的分类效果如下图4所示,可一看到分类线旁边的点占总数据集的大部分,即离散程度最小。

          

     

    第五、RANSAC算法Python代码实现
    2.读入数据

    代码如下(示例):

    import random
    import math
    import cv2
    import matplotlib.pyplot as plt
    import matplotlib.image as mpimg
    from PIL import Image
    import numpy as np
    """
    https://zhuanlan.zhihu.com/p/62238520
    
    RANSAC是通过反复选择数据集去估计出模型,一直迭代到估计出认为比较好的模型。
    具体的实现步骤可以分为以下几步:
    1.选择出可以估计出模型的最小数据集;(对于直线拟合来说就是两个点,对于计算Homography矩阵就是4个点)
    2.使用这个数据集来计算出数据模型;
    3.将所有数据带入这个模型,计算出“内点”的数目;(累加在一定误差范围内的适合当前迭代推出模型的数据)
    4.比较当前模型和之前推出的最好的模型的“内点“的数量,记录最大“内点”数的模型参数和“内点”数;
    5.重复1-4步,直到迭代结束或者当前模型已经足够好了(“内点数目大于一定数量”)。
    """
    #设置一个至少10个匹配的条件(有MinMatchNum指定)来找目标
    MinMatchNum = 20
    #读取照片
    L = cv2.imread('D:/MyTechnology/Python/2.jpg')          # queryImage
    R = cv2.imread('D:/MyTechnology/Python/3.jpg')          # trainImage
    #高斯滤波
    L = cv2.GaussianBlur(L,(3,3),0)
    R = cv2.GaussianBlur(R,(3,3),0)
    #创建sift检测器
    sift = cv2.xfeatures2d.SIFT_create()
    # 计算所有特征点的特征值kp和特征向量des并获取
    left_kp, left_des = sift.detectAndCompute(R, None)
    righ_kp, righ_des = sift.detectAndCompute(L, None)
    # BFMatcher爆力解决匹配,但是不好的特征值匹配较多
    bf = cv2.BFMatcher()
    matches = bf.knnMatch(left_des, righ_des, k=2)
    # 进行特征点匹配筛选
    BetterChoose1 = []
    for m, n in matches:
        #认为第一近的点小于第二近的点一倍以上是好的匹配BetterChoose1
        if m.distance < 0.5 * n.distance:
            BetterChoose1.append(m)
    # 但是由于爆力匹配的较好结果BetterChoose1匹配效果仍然不理想。
    # 所以我们想到用Ransat的方法优化匹配结果
    BetterChoose2 = np.expand_dims(BetterChoose1, 1)
    match = cv2.drawMatchesKnn(L, left_kp, R, righ_kp, BetterChoose2[:30], None, flags=2)
    # 判断是否当前模型已经符合超过MinMatchNum个点
    if len(BetterChoose1) > MinMatchNum:
        # 获取关键点的坐标
        src_pts = np.float32([left_kp[m.queryIdx].pt for m in BetterChoose1]).reshape(-1, 1, 2)
        dst_pts = np.float32([righ_kp[m.trainIdx].pt for m in BetterChoose1]).reshape(-1, 1, 2)
        #在这里调用RANSAC方法得到解H
        H, modle = cv2.findHomography(src_pts, dst_pts, cv2.RANSAC, 5.0)
        wrap = cv2.warpPerspective(R, H, (R.shape[1] + R.shape[1], R.shape[0] + R.shape[0]))
        wrap[0:R.shape[0], 0:R.shape[1]] = L
        #得到新的位置
        rows, cols = np.where(wrap[:, :, 0] != 0)
        min_row, max_row = min(rows), max(rows) + 1
        min_col, max_col = min(cols), max(cols) + 1
        # 去除黑色无用部分
        LeftAndRight = wrap[min_row:max_row, min_col:max_col, :]
    # 将图片结果进行显示
    scal = 0.7 #蹄片显示比例控制
    cv2.imshow('connect', cv2.resize(match, (0, 0), fx=scal, fy=scal, interpolation=cv2.INTER_NEAREST))
    cv2.imshow('LeftAndRightg',cv2.resize(LeftAndRight, (0, 0), fx=scal, fy=scal, interpolation=cv2.INTER_NEAREST))
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    
    
    
    
    
    
    
    
    


     

    展开全文
  • 图像拼接论文集,包括大规模显微图像拼接算法,基于2D格状图的显微图像拼接,基于尺度不变特征变换特征的显微图像在线拼接方法,基于互相关的显微医学图像配准,基于特征的显微图像全自动拼接,基于最小路由代价树的...
  • 图像拼接算法研究

    2013-07-08 14:40:08
    图像拼接算法研究 Opencv 硕士生毕业论文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,199
精华内容 12,879
关键字:

图像拼接算法及实现