转自 肖洒的博客
图像拼接技术是计算机视觉和数字图像处理领域中一个研究的重点。图像拼接是指将描述同一场景的两张或者多张有重叠区域的图像,通过图像配准和图像融合技术拼接成一幅大场景全新图像的过程。
文章目录
图像拼接过程的三个过程
图像的预处理
由于在图像获取的过程中存在这很多干扰,光线不统一的情况,常常产生图像模糊、灰度偏移及几何变形。所以对图像进行预处理是很有必要的。图像预处理的主要目的是为了:消除干扰降低图像的配准难度,提高图像配准的准确度。图像预处理包括:图像去噪、图像投影、图像修正等。
图像预处理
通过硬件传感器获取到的模拟图像在转换成数字图像的过程中,由于设备存在一些自身缺陷,所采集到的原始图像中有很多不同的干扰,获取的图像达不到人们期望的质量,就必须对原始图像进行准确、有效的图像去噪,图像修正等图像前期的预处理工作,确保图像之间具有精确到像素级的校准精度。因为,图像预处理阶段的精度对最终拼接图像的质量有直接影响,所以,有必要首先研究图像拼接前的预处理。
图像的投影模型
由于图像序列是实体景物在不同坐标系下的二维投影,直接对拍摄图像进行拼接无法满足视觉一致性,所以需要将待拼接的图像分别投影到一个标准的坐标系下,然后再进行图像的拼接。常见的投影模型有:平面投影、柱面投影、球面投影、立方体投影。
平面投影模式
平面投影方式是指:一组有重叠的图片序列,把其中一张图片作为基准,将其它图片投影到这个基准坐标系中,使相邻图片重叠区域对齐,平面投影模式是最简单也是最直接的图像投影方式。
球面投影模式
球面投影是指:将图像序列投影到以一点为坐标中心的球面上。人的眼睛在看东西时的原理就类似于球面投影,因此,以视点为中心的球面投影模型是最自然的投影模型。但是球面投影模型也存在着一些缺点,比如球面上的像素点不是行列均匀排列的关系,球面不能展开成平面,这些都使得很多图像处理算法很难用在平面投影上。
立方体投影模型
立方体投影是为了克服球形投影缺点最近提出的一种新的投影模型。这种投影模型的优点是方便计算机处理与储存图像,缺点是计算机形成的图像的投影比较简单,但对于实景拍摄的图像比较困难,原因是需要很好的校正相机的拍摄位置才不会使图片在投影时出现光学变形,并且这种投影在图像拼接时难以确定立方体定点与边的对应关系。
柱面投影模型
柱面投影的核心是以相机为圆柱中心点,相机焦距为半径的一个柱面作为投影面。相比立方体和球面投影方式,柱面投影只能在水平方向上转动,在垂直方向上的转动有一定的限制,只允许在较小的范围上转动。
- 柱面投影可以使用计算机内的图像格式直接进行存取。
- 柱面可以很好的展开成平面图像,使得图像处理方法更容易进行操作
- 图像采集过程相比较球形投影和立方体投影简单,相机在拍摄过程中只需要固定一点然后旋转拍摄,期间使图像之间有一定的重合即可。
基于以上对各个投影模型的分析,可以发现不同的投影模式有其特定的应用背景,目前,在图像拼接算法中比较常用的是柱面投影模型,在使用中,需要对相机焦距进行估值,然后将图片投影到以焦距为半径的柱面上,再进行之后的图像拼接算法处理。
图像去噪
数字图像噪声产生原因很多,有来自内部的干扰,如:电器机械产生的抖动、相机的热噪声、模数转换产生的误差等,也有来自外部的干扰,如:电磁波的冲击等。在图像拼接中,图像去噪的目的是为了方便之后算法处理过程,同时也起到改善图像视觉效果的作用。
图像去噪可分为基于图像空间域和基于图像变换域的处理方法。
图像空间域去噪方法有很多,主要是通过设计一种加权求和滤波器,对图像进行滤波是图像更加的平滑与模糊,通过平滑模糊图像牺牲图像纹理信息的方法来达到去噪的目的,比较常用的有:领域平均法,其算法取掩模内像素灰度值的平均值作为中心像素点的灰度值;空间域低通滤波发,其算法是通过一个低通卷积模版在空间域进行图像卷积运算,达到图像去噪的目的;中值滤波法一种非线性空间域滤波算法,在一定条件下,可以避免线性滤波器带来的图像变模糊的缺点。
图像变换域去噪方法原理是:将空间域图像线性变换到变换域进行处理,然后将处理后的图片反变换回空间域,达到去除图像噪声的目的。进行线性变换的方法有很多种,其中比较常用的有:傅里叶变换、余弦变换、小波变换以及Ridgelet变换等,各种变换都有各自不同的特点,合理的利用这些特点处理变换域的系数,在反变换回空间域将很有效地达到去除图像噪声的目的。
图像的增强
增强的首要目的是处理图像,使其比原始图像更适合于特定目的。
图像增强的方法分为两大类:空间域法和频域法。“空间域法”是以对图像的像素直接处理为基础的。“频域法”以修改图像的傅氏为基础的。图像空间域增强根据变换函数的不同可分为:对数变换法、幂级数变换法、直方图处理法等;频域增强法有:低通滤波、高通滤波、同态滤波等。
图像配准
图像配准的目的是确定一组图像序列的重叠部分和重叠位置,并且对于不同角度、不同时间和不同光照等随机条件下采集的图片做到最佳的配准效果,所以,图像配准算法是图像拼接里最为关键的步骤,图像配准算法的好坏直接影响到最后图像拼接的效率与准确率,近年来,国内外对图像拼接的研究重心基本都是在图像配准上。
图像配准的原理及概念
假设给定两幅图像和,其中是两幅图像空间和中的某一点。图像配准算法的目标是找到一种变换,使得变换某一图后两幅图像的相似程度:达到最大。相似性测度是一个跟变换有关并借助两幅图像数据计算出的用来衡量相似程度的函数,最后通过一种数学优化算法找到该函数的最优解,即变换。
图像配准算法
图像配准算法可以分为基于区域和基于特征的算法。在待配准的图像中,以一幅图像作为参考图像,其它图像则称为目标图像。图像配准需要将目标图像进行空间几何变换使得与参考图像对齐。基于区域灰度强度的配准方法是通过模板在拼接图像中寻找与参考图像相似度最高的模版,从而找到最佳的配准位置;基于特征的配准方法则是通过匹配几幅图像中相似度最高的特征点,来找到最好的配准效果,其中特征点有:角点、线和轮廓,基于特征的配准算法包括:Harris角点检测算法、SIFT尺度不变转换算法、SURF尺度不变算法等。
基于空间域像素灰度值的方法。
早期的像素配准算法一般都是直接利用图像中的像素选定一定区域来建立模板进行拼接,而其中模板的选取一般都不会很复杂,最简单的方法是利用整幅图像作为模版,然后利用选取的模版在相邻有重叠部分的图片上平移,通过计算比较模版覆盖区域的相似程度,找到一种最佳的匹配方式。这种基于灰度的算法计算量大运算速度慢。针对全局图像搜索慢的缺点,Toyama提出了一种在一幅图片中选取一块矩形区域作为模版进行搜索,然后通过计算比较最后的相关度,最后找到相关度最大的位置即为最佳配准位置,该算法相比之前的算法运算速度上有了一定的提升,但计算量仍然很大。Faugeras提出基于多层分辨率金字塔的配准算法,该算法通过从粗到细的顺序寻找相似度最佳的匹配位置,该方法在很大程度上提高了运算速率,但对于图像存在尺度变化、旋转角度大等情况匹配的效果不是很好。
Faugeras等提出了基于金字塔数据结构的多分辨率图像配准算法,按由粗到细的顺序寻找最佳配准位置,首先算出图像邻域内的像素点的灰度平均值,得到分辨率低一级的数字图像,再照此算法继续下去,可得到一组金字塔式的数字图像,在对两幅待拼接的数字图像都做了此处理后,从两幅数字图像的某一低级的分辨率开始进行搜索,直到搜索到一个最佳的配准位置。此算法的搜索速度很快,拼接图像尺度缩放小的情况下具有良好的效果,但如果图像的旋转的角度很大,配准效果就不是很好。
基于图像特征的配准算法
由于基于区域的图像配准算法在试图利用图像的全局信息进行图像配准时,出现计算量大和对图像本身特征敏感的问题,决定了该算法只能应用于一部分图像尺度、几何、亮度变化比较简单的图像,因此,另一种基于特征的图像配准算法就显得更加有效。基于特征的配准算法是目前应用最广的一种图像配准算法,该方法具有计算量少、对图像(尺度、几何、亮度)变化不敏感、配准效果好等特点,这类方法主要是提取图像中对几何、尺度、亮度变化不敏感特征,生成一对图像的特征集合,最后通过计算比较这对特征集合的相似度,寻找出最佳的配准位置。
图像的几何变换模型
通常待拼接的图像之间一般都有不同程度的几何形变,为了实现图像的拼接,就必须找到图像之间存在的几何变换模型,空间变换模型的方式有平移模型、刚性模型、相似模型、仿射模型以及投影模型等。
矩阵M里面未知数的不同形式对应于不同的几何变换。
刚性变换
该变换代表相机模型平移和绕光轴旋转运动,对应的物体形状大小不变。
仿射变换
仿射变换的特点是:变换是线性的,经过仿射变换的直线仍然是直线。可以表示相机的平移、旋转、缩放运动。仿射变换后的平行线依然是平行线,仿射变换有6个自由度
透视变换
透视变换是最一般的变换形式,前面提到的几种变换:刚性变换、仿射变换等都是透视变换的特殊形式,透视变换具有8个自由度
上面介绍的几种变换是图像拼接中经常用到的模型,每一种图像变换模型都有其各自适用的领域,在数字图像拼接中都会应用其中的某种图像变换模型。图像变换模型的选择将直接关系到拼接图像的结果。
图像的重采样
在确定了图像之间的变换矩阵之后,接下来就是对拼接图像进行重采样,将拼接图像上的像素点采样到同一坐标系下。图像重采样有两种方法,分别是:直接法和间接法。
直接法:是从原始数字图像上的像素点坐标出发,通过变换矩阵求出拼接后图像上对应的像素点的坐标,再将原始图像上像素点的灰度值赋给拼接后数字图像上的对应像素点。
间接法:是从拼接后图像上像素点坐标出发,求出原始图像上对应的像素点坐标,然后将原始图像上像素点的灰度值赋给拼接后图像上对应坐标的像素点。
在对坐标点进行矩阵运算求对应坐标点时,无论是直接法还是间接法都会出现计算得出非整数坐标值的问题,因此,需要用到邻域范围内像素点的灰度信息,通过插值的方法求出目标点的灰度值。比较常用的插值算法有:最近邻值法、双线性插值法和立方卷积法。通过分析可以知道,三种算法的精确度由低到高,同时计算复杂度也是由低到高。
图像配准是图像拼接的关键步骤,直接决定了最后图像拼接的质量。数字图像配准目的是能够找到一个空间变换,使得数字图像序列之间相互重叠的部分的坐标点能够准确地对准。图像配准算法不但要保证图像配准时的准确度,而且要能够减小计算量,图像配准是数字图像拼接技术的关键步骤。
图像融合
图像配准后,通过对配准图像重采样就可以进行图像的拼接。但由于图像灰度差异等原因,拼接后的图像很容易出现亮度差异和拼接接缝,所以在图像拼接后需要进行图像融合,使拼接后的图片看起来自然准确。
在建立参考图像与拼接图像的配准关系后,就可以将图像进行拼接了,由于图像之间无可避免地存在着灰度差异,使得拼接后的图片出现拼缝或者亮度差异的情况。图像融合就是在图像拼接过程中尽量减少亮度差异以及消除拼缝的过程。图像融合分成图像合并和拼缝消除两个过程。
图像融合意义
图像融合是指:在确定参考图像与拼接图像的几何变换关系之后,接着将待拼接图像的像素点投影到参考图像坐标系中
图像融合方法分类
在图像拼接中,图像融合主要用来将拼接后得到的图像重叠部分进行融合,使图像在视觉上保持一致性,图像融合根据拼缝消除方法的不同可分为:直接平均法、加权平均法和渐入渐出法等。
图像拼接需要从待拼接图像中检测出重叠部分才能进行拼接,这需要对待拼接图像提取关键信息从而确定图像的拼接部分。之前介绍分析过基于图像像素块查找法和图像特征点提取法,在实际应用中,直接匹配图像像素点运算量大,对图像几何变换、灰度差异、尺度缩放都比较敏感,因此很少直接应用。一般的实际应用中,主要采取了特征点提取的方法。图像的特征点因为具有可重复性、特殊性、鲁棒性,使得在图像拼接中,我们只要提取待拼接图像的特征点,然后通过特征点确定图像直接的配准关系,这无疑大大减小计算量,也提高了匹配的精确度
图像拼接分为四个步骤:图像匹配、重投影、缝合和融合。
1.图像匹配:是指一对描绘相同场景之间的几张图片的几何对应关系。一组照片可以是不同时间不同位置的拍摄,或者由多个传感器同时拍摄多张图像。
2.重投影:通过图像的几何变换,把一系列图片转换成一个共同的坐标系
3.缝合:通过合并重叠部分的像素值并保持没有重叠的像素值使之生成更大画布的图像
4.融合:通过几何和光度偏移错误通常导致对象的不连续,并在两个图像之间的边界附近产生可见的接缝。因此,为了减小接缝的出现,需要在缝合时或缝合之后使用混合算法.
图像拼接算法分类
如图二所示,对“图像匹配方法”分类,图像拼接算法可分为基于“空间域”和“频域”。基于空间域的图像拼接可以进一步划分为基于区域的图像拼接和基于特征的图像拼接。基于特征的图像拼接可以再细分为基于底层特征的图像拼接(low level feature-based image mosaicing)和基于轮廓的图像拼接(contour-based image mosaicing)。基于底层特征的拼接可以分为四类:基于Harris角点检测器的拼接、基于FAST角点检测器的拼接、基于SIFT特征检测器的拼接、以及基于SURF特征检测器的拼接。
如图三所示,根据“融合方法”,拼接算法可分为基于平滑过渡(transition smoothening-based)和基于最佳接缝(optimal seam-based)。基于平滑过渡拼接可以进一步被分成基于羽化(feathering-based)、基于金字塔(pyramid-based)、和基于梯度(gradient-based)的拼接。
对图像拼接的“图像匹配方法(registration)”分类
基于空间域(Spatial domain)图像拼接算法
这类算法使用像素的属性进行图像匹配,因此它们是最直接的图像拼接的方法。现有的图像拼接算法大部分都属于这一类。图像拼接算法大部分都属于这一类。“基于空间域图像拼接算法”可以是基于区域(area-based)或基于特征(feature-based)的。“基于区域“的图像拼接算法依赖于计算待拼接的两个图像的“窗口”像素值基本方法是将图像有关联的“窗口”互相转移,看看有多少像素的匹配。
最常用的两个基于空间域的图像拼接算法 是基于“归一化互相关”(normalized cross correlation)的拼接和基于“互信息”(mutual information)的拼接。这两种方法都提供了图像相似性的量度,这些指标的较大值来自匹配区域或“窗口”大小。