定义


图像配准是使用某种算法,基于某种评估标准,将一副或多副图片(局部)最优映射到目标图片上的方法。
image.png
image.png
image.png
通常,图像配准技术包括四个方面:变换模型、特征空间、相似性测度、搜索空间和搜索策略。依据这四个特性,图像配准的步骤一般可分为以下五个步骤:

  1. 根据实际应用场合选取适当的变换模型;
  2. 选取合适的特征空间,基于灰度或基于特征;
  3. 根据变换模型的参数配置以及所选用的特征,确定参数可能变化的范围,并选用最优的搜索策略;
  4. 应用相似性测度在搜索空间中按照优化准则进行搜索,寻找最大相关点,从而求解出变换模型中的未知参数;
  5. 将待配准图像按照变换模型对应到参考图像中,实现图像间的匹配。

其中,如何选取合适的特征进行匹配是配准的关键所在。
基于特征的图像配准通用流程

image.png
1.Feature detection: 特征检测
图像配准过程的一项重要任务。根据问题的复杂性,通常分为手动或自动检测,但通常优先选择自动特征检测。
封闭边界,边缘,轮廓,线交点,角点,以及它们的代表点如重心或线末端(统称为控制点)可以作为特征。由特殊对象组成的这些特征必须易于检测,即特征将是物理上可解释和可识别的。
参考图像必须与浮动图像共享足够多的共同特征集合,而不受到任何未知遮挡或意外改变的影响。用于检测的算法应该足够稳健,以便能够在场景的所有投影中检测相同的特征而不受任何特定图像变形或退化的影响。
(a)显著性,所提取的特征应该是比较明显的,分布广泛的、易于提取的特征;
(b)抗噪性,具有较强的噪声抑制能力且对成像条件的变化不敏感;
(c)一致性,能准确地检测出两幅图像的共有特征;
2.Feature matching: 特征匹配
该步骤基本建立在对待配准图像与在参考图像中检测到的特征之间的对应关系上。
除了特征之间的空间关系之外,还采用不同的特征描述符( feature descriptor)和相似性度量来确定配准的准确性。
必须合理地配置特征描述符,使得它们在任何退化时仍保持不变,与此同时,它们需要不受噪声影响且能适当区分不同的特征。
3.Transform model estimation: 图像变换模型的评估
为配准浮动图像与参考图像,需要估计映射函数的参数。使用从前一步骤获得的对应特征来计算这些参数。
映射函数的选择,取决于图像采集过程和预期图像变形的先验知识。在没有任何先验信息的情况下,必须确保模型的灵活性。
4.Image transformation/re-sampling: 图像变换
对浮动图像使用映射进行图像变换来配准。

图像配准质量评估标准(performance measures)

单模图像配准常使用 相关性(Correlation Coefficient, CC)来衡量效果,
而多模图像配准常使用 互信息(Mutual Information, MI)衡量。
①相关性 Correlation Coefficient (CC)

相关性本质上是一种相似性度量,它可以了解浮动图像和参考图像的相似程度。如果两个图像完全相同,则相关性等于1;而如果两个图像完全不相关,则相关性值等于0;若相关性值等于-1,表示图像完全反相关,这意味着一个图像是另一个的负面。通过使用相关性作为评价标准,单模态配准可获得满意的结果。
对于同一物体由于图像获取条件的差异或物体自身发生的小的改变而产生的图像序列,采用使图像间相似性最大化的原理实现图像间的配准,即通过优化两幅图像间相似性准则来估计变换参数,主要是刚体的平移和旋转。相关性主要限于单模图像配准,特别是对一系列图像进行比较,从中发现由疾病引起的微小改变。
它表示为:
image.png
x_i , y_i 分别为浮动图像和参考图像第 i 个像素的强度;
x_m , y_m 为 浮动图像和参考图像的平均强度。
②互信息 Mutual Information (MI)
互信息是确定两个图像中相应体素的图像强度之间相似度的另一个度量。当两个图像准确对齐时,互信息最大化。互信息的值是非负且对称。其范围从零开始,可以变化到高值。高互信息值表示不确定性的大幅降低,而零互信息值清楚地表明这两个变量是独立的。
由于该方法不需要对两种成像模式中图像强度间关系的性质作任何假设,也不需要对图像作分割或任何预处理,所以被广泛地用于CT/MR、PET/MR等多种配准工作。最大互信息法几乎可以用在任何不同模式图像的配准,特别是当其中一个图像的数据部分缺损时也能得到很好的配准效果。
image.png
p(x, y) 为 联合分布函数; p_1(x) , p_2(y) 为边际分布函数。
也常使用图像分割领域的DICE loss[1],熵相关系数(Entropy Corrleation Coefficient,ECC)等指标进行评估。

SIFT算法实现特征匹配

SIFT算法特点:
1、具有较好的稳定性和不变性,能够适应旋转、尺度缩放、亮度的变化,能在一定程度上不受视角变化、仿射变换、噪声的干扰。
2、区分性好,能够在海量特征数据库中进行快速准确的区分信息进行匹配
3、多量性,就算只有单个物体,也能产生大量特征向量
4、高速性,能够快速的进行特征向量匹配
5、可扩展性,能够与其它形式的特征向量进行联合
image.png
流程:
1、提取关键点:
关键点是一些十分突出的不会因光照、尺度、旋转等因素而消失的点,比如角点、边缘点、暗区域的亮点以及亮区域的暗点。此步骤是搜索所有尺度空间上的图像位置。通过高斯微分函数来识别潜在的具有尺度和旋转不变的兴趣点。

2、定位关键点并确定特征方向:
在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。然后基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。

  1. 通过各关键点的特征向量,进行两两比较找出相互匹配的若干对特征点,建立景物间的对应关系。
    尺度空间
    SIFT算法在构建尺度空间时候采取高斯核函数进行滤波,使原始图像保存最多的细节特征,经过高斯滤波后细节特征逐渐减少来模拟大尺度情况下的特征表示。
    利用高斯核函数进行滤波的主要原因有两个:
    (1)高斯核函数是唯一的尺度不变核函数。
    (2)DoG核函数可以近似为LoG函数,这样可以使特征提取更加简单。
    同时,David. Lowe作者在论文中提出将原始图像进行2倍上采样后滤波能够保留更多的信息便于后续特征提取与匹配。其实尺度空间图像生成就是当前图像与不同尺度核参数σ进行卷积运算后产生的图像。
    L(x, y, σ) ,定义为原始图像 I(x, y)与一个可变尺度的2维高斯函数G(x, y, σ) 卷积运算。
    image.png
    表示卷积运算,(x,y)代表图像的像素位置。是尺度空间因子,值越小表示图像被平滑的越少,相应的尺度也就越小。大尺度对应于图像的概貌特征,小尺度对应于图像的细节特征。
    *高斯金字塔的构建

    尺度空间在实现时使用高斯金字塔表示,高斯金字塔的构建分为两步:
    (1)对图像做高斯平滑;
    (2)对图像做降采样。
    image.png

    DOG空间极值检测

    DOG函数
    image.png
    DoG高斯差分金字塔
    (1)对应DOG算子,需构建DOG金字塔。
    可以通过高斯差分图像看出图像上的像素值变化情况。(如果没有变化,也就没有特征。特征必须是变化尽可能多的点。)DOG图像描绘的是目标的轮廓。
    image.png
    (2)DOG局部极值检测
    特征点是由DOG空间的局部极值点组成的。
    为了寻找DoG函数的极值点,每一个像素点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。特征点是由DOG空间的局部极值点组成的。为了寻找DoG函数的极值点,每一个像素点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。如下图,中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。
    image.png
    (2)去除边缘效应
    在边缘梯度的方向上主曲率值比较大,而沿着边缘方向则主曲率值较小。候选特征点的DoG函数D(x)的主曲率与2×2Hessian矩阵H的特征值成正比。
    image.png
    候选点邻域对应位置的差分求得
    H的特征值α和β代表x和y方向的梯度
    image.png
    表示矩阵H对角线元素之和,表示矩阵H的行列式。假设是α较大的特征值,而是β较小的特征值
    image.png
    image.png
    该值在两特征值相等时达最小。Lowe论文中建议阈值T为1.2,即
    image.png
    保留关键点,反之剔除

    关键点方向分配

    1、通过尺度不变性求极值点,需要利用图像的局部特征为给每一个关键点分配一个基准方向,使描述子对图像旋转具有不变性。对于在DOG金字塔中检测出的关键点,采集其所在高斯金字塔图像3σ邻域窗口内像素的梯度和方向分布特征。梯度的模值和方向如下:
    image.png
    2、本算法采用梯度直方图统计法,统计以关键点为原点,一定区域内的图像像素点确定关键点方向。在完成关键点的梯度计算后,使用直方图统计邻域内像素的梯度和方向。梯度直方图将0~360度的方向范围分为36个柱,其中每柱10度。如下图所示,直方图的峰值方向代表了关键点的主方向,方向直方图的峰值则代表了该特征点处邻域梯度的方向,以直方图中最大值作为该关键点的主方向。为了增强匹配的鲁棒性,只保留峰值大于主方向峰值80%的方向作为该关键点的辅方向。
    image.png

    关键点描述

    对于每一个关键点,都拥有位置、尺度以及方向三个信息。为每个关键点建立一个描述符,用一组向量将这个关键点描述出来,使其不随各种变化而改变,比如光照变化、视角变化等等。这个描述子不但包括关键点,也包含关键点周围对其有贡献的像素点,并且描述符应该有较高的独特性,以便于提高特征点正确匹配的概率。
    image.png
    Lowe实验结果表明:描述子采用4×4×8=128维向量表征,综合效果最优(不变性与独特性)。
    关键点匹配
    1、分别对模板图(参考图,reference image)和实时图(观测图,
    observation image)建立关键点描述子集合。目标的识别是通过两点集内关键点描述子的比对来完成。具有128维的关键点描述子的相似性度量采用欧式距离。
    3、匹配可采取穷举法完成,但所花费的时间太多。所以一般采用kd树的数据结构来完成搜索。搜索的内容是以目标图像的关键点为基准,搜索与目标图像的特征点最邻近的原图像特征点和次邻近的原图像特征点。
    Kd树如下如所示,是个平衡二叉树
    image.png
    总结
    SIFT特征具有稳定性和不变性,在图像处理和计算机视觉领域有着很重要的作用,其本身也是非常复杂的,由于接触SIFT不是很久,对其中的相关知识了解还很不足,经多方查阅参考,写得此文,内容还不够详尽,望多多见谅。以下是SIFT算法的粗略总结。
    1、DoG尺度空间的极值检测。
    2、删除不稳定的极值点。
    3、确定特征点的主方向
    4、生成特征点的描述子进行关键点匹配。

ref
https://zhuanlan.zhihu.com/p/360796922
https://link.zhihu.com/?target=https%3A//blog.csdn.net/carson2005/article/details/38823529
https://zhuanlan.zhihu.com/p/80985475
https://link.zhihu.com/?target=https%3A//blog.csdn.net/qq_28901541/article/details/88817122
https://link.zhihu.com/?target=https%3A//blog.csdn.net/qq_37374643/article/details/88606351