基于MATLAB的图像拼接实现
第一章 绪论
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-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中以某点为基点(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 匹配时的取最大值。 (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( ) (3-8)
也就是说,这两幅图像在频域中具有相同的幅值,只是相位不同,他们之间的相位差可以等效的表示为互功率谱的相位。
其中*为共扼符号, 表示频谱幅度。通过对互功率谱式(3-9)进行傅立叶逆变换,在((x,y)空间的(x ,y ),即位移处,将形成一个单位脉冲函数 ,脉冲位置即为两幅被配准图像间的相对平移量x 和y
式(3-9)表明,互功率谱的相位等价于图像间的相位差,故该方法称作相位相关法。
相位相关度法的优点:
(1)该算法简单速度快,因此经常被采用。对于其核心技术傅立叶变换,现在己经出现了很多有关的快速算法,这使得该算法的快速性成为众多算法中的一大优势。另外,傅立叶变换的硬件实现也比其它算法容易。
(2)该算法抗干扰能力强,对于亮度变化不敏感。
相位相关度法的缺点:
(1)该算法要求图像有50%左右的重叠区域,在图像重叠区域很小的时,算法的结果很难保证,容易造成误匹配。
(2)由于Fourier变换依赖于自身的不变属性,所以该算法只适用于具有旋转、平移、比例缩放等变换的图像配准问题。对于任意变换模型,不能直接进行处理,而要使用控制点方法,控制点方法可以解决诸如多项式、局部变形等问题。
3.3 基于特征的配准
3.3.1 比值匹配法
比值匹配法算法思路是利用图像中两列上的部分像素的比值作为模板,即在参考图像T的重叠区域中分别在两列上取出部分像素,用它们的比值作为模板,然后在搜索图S中搜索最佳的匹配。匹配的过程是在搜索图S中,由左至右依次从间距相同的两列上取出部分像素,并逐一计算其对应像素值比值;然后将这些比值依次与模板进行比较,其最小差值对应的列就是最佳匹配。这样在比较中只利用了一组数据,而这组数据利用了两列像素及其所包含的区域的信息。
该算法的具体实现步骤如下:
(1)在参考图像T中间隔为c个像素的距离上的两列像素中,各取m个像素,计算这m个像素的比值,将m个比值存入数组中,将其作为比较的模板。
(2)从搜索图S中在同样相隔c个像素的距离上的两列,各取出m+n个像素,计算其比值,将m+n个比值存入数组。假定垂直错开距离不超过n个像素,多取的n个像素则可以解决图像垂直方向上的交错问题。
(3)利用参考图像T中的比值模板在搜索图S中寻找相应的匹配。首先进行垂直方向上的比较,即记录下搜索图S中每个比值数组内的最佳匹配。再将每个数组的组内最佳匹配进行比较,即进行水平方向的比较,得到的最小值就认为是全局最佳匹配。此时全局最佳匹配即为图像间在水平方向上的偏移距离,该全局最佳匹配队应的组内最佳匹配即为图像间垂直方向上的偏移距离。
比值匹配法的优点:
(1)算法思路清晰简单,容易理解,实现起来比较方便。
(2)在匹配计算的时候,计算量小,速度快。
比值匹配法的缺点:
(1)利用图像的特征信息太少。只利用了两条竖直的平行特征线段的像素的信息,没有能够充分利用了图像重叠区域的大部分特征信息。虽然算法提到,在搜索图S中由左至右依次从间距相同的两列上取出部分像素,计算其对应像素的比值,然后将这些比值依次与模版进行比较,好像是利用了搜索图S中的重叠区域的大部分图像信息,但在参考图像T中,只是任意选择了两条特征线,没有充分利用到参考图像T的重叠区域的特征信息。
(2)对图片的采集提出了较高的要求。此算法对照片先进行垂直方向上的比较,然后再进行水平方向上的比较,这样可以解决上下较小的错开问题。在采集的时候只能使照相机在水平方向上移动。然而,有时候不可避免的照相机镜头会有小角度的旋转,使得拍摄出来的照片有一定的旋转,在这个算法中是无法解决的。而且对重叠区域无明显特征的图像,比较背景是海洋或者天空,这样在选取特征模版的时候存在很大的问题。由于照片中存在大块纹理相同的部分,所以与模版的差别就不大,这样有很多匹配点,很容易造成误匹配。
(3)不易对两条特征线以及特征线之间的距离进行确定。算法中在参考图像T的重叠区域中取出两列像素上的部分像素,并没有给出选择的限制。然而在利用拼接算法实现自动拼接的时候,如果选取的特征线不是很恰当,那么这样的特征线算出来的模版就失去了作为模版的意义。同时,在确定特征线间距时,选的过大,则不能充分利用重叠区域的图像信息。选择的过小,则计算量太大。