一、 前言
这是一门课的作业,然后无脑复制贴在这。论文地址:http://scholar.google.com/scholar?hl=zh-CN&q=image+registration+method+a+survey&btnG=&lr=
我接下去写的内容基本都在survey中(翻译。。。),但是我经过了一些筛选,因为文章摘引非常多的不同的文献中各种细节的方法,我这里基本是把他的主体拎了出来,相当于入门中的入门。
二、问题描述
Image registration翻译成中文是图像配准。图像配准就是将不同时间、不同传感器(成像设备)或不同条件下(天候、照度、摄像位置和角度等)获取的两幅或多幅图像进行匹配、叠加的过程。一般来说我们可以认为是将一张图匹配至另一张图的过程,其中一个叫参考图像(reference image),一个是感知图像(sense image)。由于成像条件的不同,得到的图像也有所不同,所以我们需要图像配准技术来将图片进行合成。这项技术在遥感,医用,制图,计算机视觉领域被广泛地应用。
三、图像配准的问题。
根据图像获取的不同方法,我们可以找到图像配准的几大问题:
1. 不同视角(Different viewpoints)。
同一事物在不同视角下会获得不同结果,通过配准技术,我们可以获得一个更大的二维视角甚至该事物的三维表达。
2. 不同时间(Different times)。
同样的事物在不同时间下也会有不同的效果。通过图像配准,我们就可以知道该事物根据时间的变化。
3. 不同传感器(Different sensors)。
通过配准不同传感器获得的图像,我们对所摄事物获得更多复杂和细节的信息。
4. 场景到模型配准(Scene to model registration):
通过所摄场景定位到已知虚拟模型,我们可以对图像进行分析并和模型进行比较。
四、图像配准的基本框架
当我们使用设计图像配准方法时,一般可以分为以下四个步骤:
1.特征提取(featuredetection):
提取图像中显著的和有特色的物体,http://scholar.google.com/scholar?hl=zh-CN&q=image+registration+method+a+survey&btnG=&lr=如一块区域,边,轮廓,角点等。然后将这些物体的点特征提取出来。
2. 特征匹配(feature mathing):
将参考图像和感知图像中的特征对应起来。这里会用到不同的特征描述子和相似度测量方法。3. 转换模型估计(Transform model estimation)
根据之前获得的匹配信息,我们估计出映射函数的参数。
4. 图像重采样变换和拼接(Image resampling and transformation)。
根据已确认参数的映射函数,对感知图像进行变形,然后与参考图像进行拼接。
每一个步骤会因此产生很多问题:如,选取什么特征?选取什么特征描述子和相似度测量方法?怎么样确定映射方程的形式?选取什么重采样算法。
图 1 特征提取(十字点为特征点),其中左图为参考图像,右图为感知图像
图 2 特征匹配,标有同一个数字的即为匹配对
图 3 左图为映射函数估计,右图为进行重采样和拼接的过程
在这篇文章中,作者根据每个步骤所采用的方案来对算法进行分类。
下面就会根据每一个步骤来分别讲述以前的研究者们使用的方法。
五、特征提取
特征提取分为两类,根据特征的性质所分。
5.1基于区域方法(Area-based methods)
第一种方法基于区域,也就是说我们不寻找图像中的局部的特征,而是将图像的每一块区域都作为一个特征,所以基于区域的方法在特征检测步骤可以忽略(不需要去检测特征)。
5.2基于特征方法(Feature-based methods)
第二种方法称为基于特征的方法,就是我们寻找图像中一些局部的有特色的显著的目标,这些有特色的显著的目标就是我们的特征。
根据显著目标的类型,又可以分为区域特征(Region feature),线特征(Line feature)和点特征(Point feature)。
5.2.1区域特征
区域特征比如说就像图片中的水坝,湖面,建筑,是一块一定大小的明显的区域。通常使用区域的重心来作为区域特征的点表达,因为它对旋转,放缩,偏移和噪音不变。
由于区域是通过分割方法来获得,所以通过不同的分割方法,我们就可以发展出不同的区域特征方法。
5.2.2 线特征
线特征主要是一些物体轮廓,海岸线,马路等等。线特征通常用两个端点或者中点来表达。
类似于区域方法,根据不同的边缘检测算法,我们也能获得不同的线特征提取方法。
5.2.3点特征
点特征包括线交点,十字路口,高变化点等等。寻找什么样的“点”是点特征检测最核心的部分。而角点是最常使用的一种“点”,很多研究工作专注于开发精确鲁棒并且快速的角点检测算法。
基于特征方法比较适用于图片包含足够多易于检测又明显的目标。这在计算机视觉和遥感领域比较常见。因为这些图片一般都包含很多细节。然而,像医学图像,就不一定会有那么多丰富的细节,所以基于区域方法一般用在这方面。也有一些配准方法将两个方法同时使用。
六、特征匹配
在这里,我们同样还是分成基于特征和基于区域的方法。
6.1 基于区域方法
基于特征方法并不检测显著目标,而是用一个个预先定义的窗口来作为特征。
这个方法有明显的局限性有:第一,因为我们一般都是用矩形窗,而矩形窗一般只适用于只有平移的图像。也有人使用圆形窗来解决旋转的问题,但是对于其他更加复杂的几何变换,窗方法很难适用;第二,匹配结果很容易受窗口内容的显著性所影响。如果参考图像和感知图像都有一块光滑的区域,则这两个窗口很容易被误匹配。
接下去的我们讨论的方法基本上都是相似性测量方法,用来测量区域间的匹配关系。
6.1.1类相关性方法(Correlation-likemethods)
最经典的方法就是归一化交叉相关性。
有了这个方法,我们就计算任一两个窗口的相似性,并且找到相似性最大的窗口对。作为结果。
虽然CC方法严格意义上只适用于平移图像,但是它也能适应微小的旋转和放缩。
在这个CC方法的基础上,学者们又根据不同的问题研究出了各种类似的算法。有的为了适用更多的变形,有的是为了加快计算速度,有的为了解决不同传感器中图像强度差异的问题。
类相关性方法两个主要的缺点是相似性的最大值的平缓(由于图像的自相似性)和高计算复杂度。由此,也有科学家研究了锐化极大值的方法,以及基于边缘的相关性来改善算法。
由于这个算法简单的硬件实现,这个方法可以用在实时应用上。
6.1.2 傅里叶方法(Fourier methods)
如果希望加速计算速度,或者图像被频域依赖噪音影响,那么傅里叶方法会比类相关性方法表现更好。
我们先对图像做傅里叶变换,然后计算两个窗口的相位相关性,找到最大值。
这个方法对相关的频域以来的噪音和不一致的光照具有强鲁棒性。为了适应旋转,放缩,科学家又改进了该算法,增加了其他的新的基于频域幅度的特征。
6.1.3 互信息方法(Mutual informationmethods)
互信息来源于信息论,是一种衡量两组数据统计相关性的方法。两个随机变量X,Y的互信息定义如下:
这个方法和之前两个类似,目标也是最大化互信息。这个方法的研究工作主要关注加速计算速度上。最一开始用的是梯度下降,后来用了Marquardt-Levenberg方法做优化,以及其他各种优化升级来对算法进行加速。
6.2 基于特征方法:
我们假设已经获得了参考图像和感知图像的两组控制点(control points)(如点特征本身,线特征的端点,区域特征的重心),我们要做的是将这两组控制点匹配去来。
6.2.1空间关系方法。
这个方法适用于检测到的特征比较模糊或者邻域失真的情况。最简单的方法,假设变换方程,找到变换参数使得变换后感知图像中的特征能够落在参考图像特征一定范围之内,得分最高的参数就是所要求的参数。
6.2.2不变描述子方法。
已知形变的类别,选取对预计形变的不变描述子。
描述子有以下要求,不变,唯一,稳定,独立。一般来说,这些条件不可能全部满足,要根据实际需求进行取舍。
最简单的描述子是邻域的图像强度。用于基于区域方法的相似度测量方法都可以利用到这。当然还有更多形形色色的描述子,基于均值的描述子,基于位置的描述子,多种描述子联合。
6.2.3放松方法。
这里讲特征匹配问题转化为Consistent Labeling problem(CLP),借用其中的放松方法,和回溯方法来求解匹配。
6.2.4金字塔方法和小波变换方法:
金字塔方法是为了减小计算复杂度。通过从粗到细的层次策略,我们可以比较快的处理一些大图片的配准问题。同时小波分解可以和金字塔方法进行结合,因为小波分解内在就有多分辨率的思想在里面。
基于区域的方法比较适合没有显著细节,且显著信息不在形状和结构而在灰度值或者颜色上。局限性就是一个参考图片和感知图片需要有相似的强度,而且可适用的变换只有平移和小角度的旋转。基于区域方法会采用金字塔方法和成熟的最优化算法来加速寻找极值的速度。
基于特征的方法一般使用在局部结构特征比图像强度特征更加重要的时候。这些方法可以配准非常不一样的两张图(卫星图片和地图),并且允许两张图像有很大的扭曲。主要的问题在于这些特征可能很难检测。这个方法最重要就在于找到一个不一样的,鲁棒的描述子。
七、 变换模型估计
当获得来了控制点之间匹配的结果之后,我们希望能将图片拼接起来。这里我们就要先估计出变换的模型。
一般来说,我们先要大致确定映射函数的类型,然后再去估计参数。映射函数的类型和图片获得的方式有关(如扫描仪的失真)。
构建映射函数的方法有两种。第一种是将所有的控制点一起考虑,估计出整个图片的变换参数。还有一种方法,就是把图片分成一个个小块,然后在每个小块上估计出各自的变换参数。
7.1 全局映射模型:
最简单的模型就是相似变换,包括,旋转,平移和放缩。
公式如下:
这个模型也叫“形状保留映射”,因为他会保留角度和曲率,最少通过两对控制点就能确定。
仿射变换模型公式如下:
这个方程可以是把一个平行四边形映射成一个矩形。并且最少能够通过三对控制点确定。
透射模型:
这个模型可以描述两个光轴不平行的针孔摄像机的图像的变形。可以把一个四边形映射成一个矩形,最少能通过四对控制点获得。
更加复杂的模型会用到二阶或者三阶多项式模型,更高阶的一般不会在实际用到。
一般来说我们得到的控制点对个数会比最低所需数目多,所以我们这时候可以使用最小二乘估计来获得最优的参数。
7.2 局部映射模型:
然而,全局多项式映射可能不能解决一些局部变形。这种局部变形的情况在医学图像和机载图像中会出现。全局的最小二乘估计会忽略这些局部的几何变换。
一般使用三角形划分将图像变为一个个小块,然后每个局部的变换参数可以通过全局参数进行细微变换来得到。
7.3通过径向基函数(Radial basis function)来映射:
径向基函数可以表示一组全局映射方法,但同时他还能处理局部的几何变换。
映射函数是径向对称函数和一个低阶多项式的线性组合。
常用的径向基函数有多元二次,高斯,Wendland函数和thin-plate splines(TPS)。最常用的是TPS,形式如下
TPS可以给出很好的结果,但是当控制点比较多的时候计算非常耗时。所以研究者也提出了一些近似算法,来减小计算量。
八、图像重采样和变形。
当获得了映射函数后,我们就可以对感知图像进行变换然后配准了。其中,变形有前向和后向算法。前向算法指的是,感知图像中的每个像素可以通过映射函数直接被变换。这个称为前向算法,而一般后向算法比较常用。在参考图像的坐标系下的点的坐标,通过变换函数的反函数,找到对应的感知图像中的点的位置,然后通过插值得到颜色值。
最优的插值是使用二维sinc函数,但是实际应用很困难。所以很多文献讨论了更加简单快速的插值方法。比如将二维卷积转化为两个一维卷积。最近邻,双线性,双三次,二次splines,三次B-splines,高斯,截断sinc函数等都是比较常用的插值方法。
其中,双线性是精确度和计算复杂度最综合的一个,所以最经常使用。三次插值适用于感知图片有剧烈放大的情况。最近邻应该避免使用,除非要变换的图像只有很少的强度值,并且我们不希望得到“综合”的灰度值或者颜色。
九、图像配准准确率评估:
准确率评估并不简单,因为在配准的每一个步骤,都会引入不同的误差。
误差基本可以有以下几个部分。
9.1定位误差:
由于不精确的检测导致控制点的移位被称作定位误差。定位误差无法直接从配准结果中获得,但是可以从检测算法的精确度来估计。定位误差可以通过使用多个检测算法选取最优的方法来获得。但是有时候我们更希望有多一点的误差大的控制点而不是很少却很精确的点。
9.2匹配误差:
匹配误差来自控制点间错误的匹配。这是一个很严重的误差,很可能会导致配准结果的失败,所以需要别面。一般来说,这种误差可以被避免。错误匹配可以通过一致性检测来识别。用两个不同匹配算法进行匹配,而只有同时在两个匹配结果中出现的点对才被认为是合法的。如果没有另外的匹配算法,也可以通过交叉验证的方法。每次我们剔除一个点对,来计算新的参数,如果这个点对在新的参数下进行变换后并不接近,则可以将其认为是非法的。
9.3校准误差:
校准误差指的是映射模型和实际的几何变换不符合。校准误差来自选择的模型不对和计算出来的参数不精确。第一个问题是因为先验知识不够,第二个问题是因为控制点数量不够或者有定位误差。校准误差可以通过控制点的均方差来衡量。但是控制点的均方差可能因为过拟合所以太小,也可能给因为定位误差导致太大。更好的方法是使用测试点均方差。
十、其余的阅读资料:
由于这篇论文已经是十年前的survey,所以内容上不是很新。
2012年Springer有一本专门写Imageregistration的书,http://link.springer.com/book/10.1007/978-1-4471-2458-0, 里面涵盖了非常多的方法。