对于两幅不同角度拍摄图像,不考虑光学成像相关信息,仅认为两幅图像是通过某一种平面映射(如仿射变换)相关联。使用该模型对两幅图像配准方法如下:

 

1 特征检测与匹配

    1)使用任意特征点检测算法分别检测出两幅图像上得显著特征点(如 Harris 角点,SIFT,SURF等);

    2)使用特征点描述算法对两幅图像特征点生成具体描述信息(如 BRIEF,SIFT, SURF等);

    3)使用特征点匹配算法对两幅图像特征点进行匹配(如 Brute force matching,Fast approximate nearest neighbors matching);

    4)保留部分特征点匹配度较高匹配点,作为图像配准基本输入信息;

 

2 二维几何变换

    1)平移(translation)

     设 图像配准_线性变换 为变换前坐标,图像配准_仿射变换_02 为变换后坐标,图像配准_it技术_03 为平移向量,平移变换可表示为 图像配准_迭代_04

     使用矩阵表示为 图像配准_仿射变换_05,令 图像配准_it技术_06图像配准_线性变换_07图像配准_图像配准_08图像配准_线性变换_09

     其中 图像配准_it技术_06 为齐次坐标表达,平移变换可简化为 图像配准_it技术_11

    2)平移+旋转(rotation)

    在平移基础上加入旋转被称为刚体运动(rigid body motion)或者欧几里得变换(euclidean transformation),该变换前后欧式距离保持不变;

    而单独平移变换不仅欧式距离保持不变,同时线条方向等均保持不变。

    向量 图像配准_线性变换 绕原点旋转 图像配准_图像配准_13 后为 图像配准_仿射变换_02,以下给出两者之间的关系:

        图像配准_仿射变换_15

    如上图所示,有 图像配准_仿射变换_16

    将 图像配准_仿射变换_17 带入得 图像配准_迭代_18,得到了向量 图像配准_线性变换 绕原点旋转 图像配准_图像配准_13 后的表达式。

    添加平移分量得  图像配准_it技术_21,使用矩阵表示为 图像配准_迭代_22,其中 图像配准_it技术_23

    3)相似变换(similarity transform)

    在平移与旋转基础上添加缩放变换则构成了相似变换,相似变换使得变换前后点间距离发生变化,但保持角度不变。

    相似变换可表达为 图像配准_仿射变换_24

    4)仿射变换(affine transform)

    放射变换不改变平行性质,但不再保持角度不变,可表示为 图像配准_线性变换_25

    5)透视变换(perspective transform)

    透视变换不再保持平行性质,但保持直线性质。透视变换需要使用齐次坐标表示为 图像配准_it技术_26

    变换后转换为非齐次坐标为 图像配准_图像配准_27

 

3 图像配准

    假设两幅图像特征点之间存在以上以上5种变换关系中任意一种变换 A,变换前后可表示为 图像配准_图像配准_28

    由于已知点对集 图像配准_图像配准_29,可以通过重新改写表达式求解 A,改写如下:

    将矩阵 A 改写为列向量 图像配准_线性变换_30,构造矩阵 图像配准_it技术_31,构造向量 图像配准_图像配准_32

    变换 图像配准_图像配准_28 可被改写为 图像配准_图像配准_34,其中 a 为未知量,使用最小二乘法求解线性方程组可以得到最佳变换矩阵 A。

    如何两幅图像特征点之间得变换为仿射变换,使用以上方案求解最佳变换矩阵是合理的;但如果两幅图像间变换为相似变换或者刚体变换,以上方案则存在参数冗余。

    下面首先来分析各种变换的参数情况:

    1)平移变换仅依赖平移向量 图像配准_it技术_03,故其参数为 图像配准_it技术_03,观察公式 图像配准_迭代_04 可知平移变换为线性变换。

    2)刚体变换在依赖平移向量基础上增加了旋转角度 图像配准_图像配准_13,故其参数为 图像配准_图像配准_39;观察公式 图像配准_it技术_21 可知,

    刚体变换不是线性变换;若将参数修改 图像配准_迭代_41,可以认为该变换是关于变量 图像配准_迭代_42 的线性变换。

    3)相似变换依赖参数可表示为 图像配准_仿射变换_43,其变换矩阵可改写为 图像配准_迭代_44,该变换是关于变量 图像配准_仿射变换_43 的线性变换。

     这里使用 1 + a 而不使用 a,是因为当该参数无变换时,该变换矩阵为单位矩阵!

    4)仿射变换变换矩阵可表示为 图像配准_图像配准_46,其依赖参数为 图像配准_图像配准_47,该变换为线性变换。

    5)透视变换矩阵可表示为 图像配准_线性变换_48,其依赖参数为 图像配准_迭代_49,观察公式 图像配准_图像配准_27 可知该变换为非线性变换。

    使用变换参数 p,两幅图像间特征点变换关系可表达为 图像配准_it技术_51, 其中 图像配准_迭代_52, 图像配准_线性变换_07;变换后向量与匹配向量平方和最小化即为最优解,表达如下:

    图像配准_迭代_54

    对于平移,刚体(使用参数 图像配准_仿射变换_43),相似及仿射变换,图像配准_it技术_51 为线性变换函数,下面以相似变换为例给出推导:

    图像配准_图像配准_57, 当输入向量 图像配准_迭代_58 改变 图像配准_it技术_59时,利用线性近似可得:

    图像配准_it技术_60,写成矩阵为 图像配准_迭代_61

    其中 图像配准_迭代_62 为变换矩阵 图像配准_迭代_44 关于变量图像配准_迭代_58的雅可比矩阵。

    当变量 p 从 图像配准_图像配准_65 增加到 图像配准_图像配准_66,输入值 图像配准_迭代_52 增加到 图像配准_线性变换_07

    得 图像配准_仿射变换_69,因此 图像配准_线性变换_70 描述了点对间得运动关系。

    图像配准_线性变换_70 所描述的点对间的运动与实际点对间的运动差越小则表示变换模型越合理,因此,最小化平方和可改写为:

    图像配准_迭代_72,公式中仅 p 为未知量,展开公式如下:

    图像配准_迭代_73

    使 图像配准_迭代_74 即可求得最小平方和,得到线性方程组 图像配准_迭代_75,可求解 p。

 

4 非线性变换

    由于受到镜头畸变以及成像角度影响,匹配点间的变换关系一般都无法使用简单线性关系表示,可以首先利用简单线性变换求得一个初始变换参数,

    然后根据初始变换参数使用迭代方法求得精确变换关系。

    在二维几何变换中,刚体变换参数为 图像配准_图像配准_39 时为非线性变换。使用参数 图像配准_迭代_41 或 图像配准_仿射变换_43 可将该变换视为线性变换,

    由于满足 图像配准_图像配准_79,所以参数 a,b 并非独立参数,线性变换求解的结果也不一定满足关系 图像配准_仿射变换_80

    但可以将线性变换结果作为初始参数值 图像配准_图像配准_81,将其转换为非线性参数 图像配准_it技术_82

    使用迭代算法(Levenberg Marquardt)即可求得最优解。具体如下:

    1)第一次迭代前,参数 图像配准_迭代_83,该值为线性变换的结果;

    2)使用初始值求解更精确的变换参数 图像配准_迭代_84,根据线性近似有 图像配准_线性变换_85

          图像配准_it技术_86,由于 图像配准_图像配准_87 已知,为 x 经过参数 图像配准_图像配准_81 线性变换的结果,

          令 图像配准_仿射变换_89,进一步改写为 图像配准_仿射变换_90

          对于所有匹配点,最小化 图像配准_迭代_91 即为一次更好的迭代结果,

          展开公式得 图像配准_仿射变换_92, 其中 图像配准_it技术_93 线性变换与匹配点直接的差值向量,

          图像配准_图像配准_94 为变换参数 p 在 图像配准_仿射变换_95 点的雅可比矩阵,以上量均为已知量;

          进一步整理 图像配准_线性变换_96,该函数的未知量为 图像配准_迭代_97,最小化函数可转换为求解如下线性方程组:

          图像配准_it技术_98,同时可估计本次迭代后误差值;

    3)使用 图像配准_仿射变换_99 进行第二次迭代,其中 图像配准_迭代_100 为第一次迭代的结果,图像配准_迭代_101 为  图像配准_仿射变换_95 点经过 图像配准_迭代_100 变换后的结果,重复 2)即可得到下一个迭代值,

          估计第二次迭代后变换误差值,比较相邻两次迭代的变换误差可知是否得到一个更好的收敛值,同时也可以根据变换误差值决定何时终止迭代。

 

  参考资料 Computer Vision: Algorithms and Applications   Richard Szeliski

                 Computer Graphics with OpenGL   Donald Hearn & M. Pauline Baker & Warren R. Carithers