基于全景图像拼接算法

  1. 图像拼接简介
  2. 图像拼接的主要步骤
  3. 摄像机运动的投影模型( projective model)
  4. 图像的对齐 (registration)
  5. 图像的合成 (blending)
  6. 图像拼接试验

  1. 什么是图像拼接?

       将多幅在不同时刻、从不同视角或者由不同传感器获得的图像经过对齐然后无缝地融合在一起,从而得到一幅大视场、高分辨率图像的处理过程。该图像被称为全景图。

  1. 传统全景图 (panorama)
    1. 是由在一个固定位置上以不同角度拍摄到的一系列图像拼接而成的大视场图像。
    2. 特点:没有或只有轻微的运动视差
  2. 多重投影拼接图 (multi-perspective mosaic)
    1. 是由在一些不同位置上拍摄到的一系列图像拼接而成的大视场图像。
    2. 特点:存在较大的运动视差( motion parallax)

  1. 图像拼接中的几个主要问题:
    1. 使用图像数据和摄像机模型对几何失真进行校正。
    2. 使用图像数据及摄像机模型进行图像对齐。
    3. 消除拼接图像中的接缝。

  1. 在拍摄过程中由于摄像机镜头的运动,使得拍摄到的相邻两幅图像中的景物会出现几何形变。
  2. 通过寻找能够恰当地将一幅图像与另一幅图像对准的几何变换来将两幅图像对齐。这些变换被称为对应(homography) 。换句话说,这些几何变换是一种映射,

两幅有重叠区域的图像,其中一幅图像重叠区域中的一个点经过这种几何变换将被映射到另外一幅图像重叠区域中的某个点上。这样这两个点形成了对应关系。

  1. 在固定位置拍摄的条件下,我们通常使用 8- 参数运动模型以及其简化形式来概括或计算这些几何变换。

    1. 常见的几种几何变换:

  1. 所使用的图像特征
    1. 特征点
    2. 频域
    3. 灰度值
  2. 优化算法
    1. 非线性最小二乘
    2. 傅立叶变换
    3. 小波变换
    4. 动态规划
    5. 遗传算法

  1. 初始变换矩阵 M 可以通过提取特征点或者在频域上计算两幅图像的相位相关等方法来得到。

  1. MATLAB 中内建有cpselect 函数,该函数允许用户在将要拼接的两幅图像的重叠区 域中手工选取一定数量的匹配特征点对然 后自动给出两幅图像之间的初始变换矩阵。
  1. 假设 I‘(x’,y‘) 和I(x,y) 是两幅需要对齐的图像。

    这种方法就是要使 I(x,y) 和I‘(x’,y‘) 的重叠区域中所有相应象素 i 的强度值之差的平方和最小,即:

    1. 改进图像对齐算法:使用全局对齐算法以减少累计误差,并最终实现自动对齐而无续人工干预。
    2. 图像合成部分可以通过直方图均衡化或者平滑函数等方法来对图像拼接后的出现的接缝进行处理。