- 图像拼接简介
- 图像拼接的主要步骤
- 摄像机运动的投影模型( projective model)
- 图像的对齐 (registration)
- 图像的合成 (blending)
- 图像拼接试验
- 什么是图像拼接?
将多幅在不同时刻、从不同视角或者由不同传感器获得的图像经过对齐然后无缝地融合在一起,从而得到一幅大视场、高分辨率图像的处理过程。该图像被称为全景图。
- 传统全景图 (panorama)
- 是由在一个固定位置上以不同角度拍摄到的一系列图像拼接而成的大视场图像。
- 特点:没有或只有轻微的运动视差
- 多重投影拼接图 (multi-perspective mosaic)
- 是由在一些不同位置上拍摄到的一系列图像拼接而成的大视场图像。
- 特点:存在较大的运动视差( motion parallax)
- 图像拼接中的几个主要问题:
- 使用图像数据和摄像机模型对几何失真进行校正。
- 使用图像数据及摄像机模型进行图像对齐。
- 消除拼接图像中的接缝。
- 在拍摄过程中由于摄像机镜头的运动,使得拍摄到的相邻两幅图像中的景物会出现几何形变。
- 通过寻找能够恰当地将一幅图像与另一幅图像对准的几何变换来将两幅图像对齐。这些变换被称为对应(homography) 。换句话说,这些几何变换是一种映射,
两幅有重叠区域的图像,其中一幅图像重叠区域中的一个点经过这种几何变换将被映射到另外一幅图像重叠区域中的某个点上。这样这两个点形成了对应关系。
- 在固定位置拍摄的条件下,我们通常使用 8- 参数运动模型以及其简化形式来概括或计算这些几何变换。
homography
-
- 常见的几种几何变换:
平移
( translation)
水平切变(horizontal shear)
旋转
(rotation)
投影
(projection
)
- 假设 p '( x ' , y ') T p 和= (x , y ) T 分别是一个象素点的新旧坐标,一个二维仿射变换可以写为:
p ' = M p + t æ x 或'ö 是 æ a11
a12 öæ x ö
æ tx ö
ç ÷ = ç
y' a
÷ç ÷ + ç ÷
a y t
è ø è 21
22 øè ø
è y ø
æcosq
尺度M和=旋sç转
è sinq
- sinq ö
cosq ÷
垂直切æ变1 0ö
M = ç ÷
è a 1ø
水平切æ变1 a ö
M = ç ÷
è 0 1 ø
-
- 仿射变换在统一坐标系下可以用一个矩阵相乘的形式来表示:
æ X 'ö
æ a11
a12
a13 öæ x ö
ç ÷ ç ÷ç ÷
ç Y ' ÷
= ç a21
a22
a23 ÷ç y ÷
ç 1 ÷ ç 0 0 1 ÷ç 1 ÷
è ø è øè ø
当引进尺度参数 W 后,就得到了 8- 参数模型:
æ X 'ö
æ a11
a12
a13 öæ x ö
ç ÷ ç ÷ç ÷
ç Y ' ÷
= ç a21
a22
a23 ÷ç y ÷
ç W ÷ ç a a 1 ÷ç 1 ÷
è ø è 31 32 øè ø
-
-
- 平移、刚体、仿射以及透视变换对应的变换矩阵M 的形式:
-
M 平移
æ 1
= ç 0
- t ö
÷
- ty ÷
M刚体
æ cosq
= ç sinq
- sinq
cosq
t ö
÷
ty ÷
M 仿射
è 0
æ m0 m1
ç 3 m4
÷
ø
m ö
÷
m5 ÷
M 投影
ç
è
æ m
ç
= ç m3
0 ø
m m ö
1 ÷
m4 m5 ÷
ç 0 0 1 ÷
ç m m 1 ÷
è ø è 6 7 ø
- 图像对齐
- 找出两幅图像之间最优的空间位置和色彩之间的变换关系,使一幅图像中的点最优地映射到另一幅图像中。它是图像拼接过程中的主要任务。
- 所使用的图像特征
- 特征点
- 频域
- 灰度值
- 优化算法
- 非线性最小二乘
- 傅立叶变换
- 小波变换
- 动态规划
- 遗传算法
非线性最小二乘法进行优化
- 初始变换矩阵 M 可以通过提取特征点或者在频域上计算两幅图像的相位相关等方法来得到。
- MATLAB 中内建有cpselect 函数,该函数允许用户在将要拼接的两幅图像的重叠区 域中手工选取一定数量的匹配特征点对然 后自动给出两幅图像之间的初始变换矩阵。
- 假设 I‘(x’,y‘) 和I(x,y) 是两幅需要对齐的图像。
这种方法就是要使 I(x,y) 和I‘(x’,y‘) 的重叠区域中所有相应象素 i 的强度值之差的平方和最小,即:
E = åe2
= å[I
' (x' ,
y' )-
I (x,
y)]2
- 1. 对于未对齐图像中( x,y )处的象素点 ,
( a )计算它在基准图像中的位置
x' =
m0 x + m1 y + m2
m6 x + m7 y +1
y' =
m3 x + m4 y + m5
m6 x + m7 y +1
-
- ( b )计算误差梯度
¶e
¶mk
= ¶I '
¶x'
¶x'
¶mk
+ ¶I '
¶y'
¶y'
¶mk
-
- ( c )计算 Hessian 矩阵A 和加权梯度向量b, 其中
akl
= ¶ei
¶mk
¶ei
¶ml
bk =
- ¶ei e
¶mk
-
- 2. 求解方程(A + lI )Dm = b
( )
并且更新变换矩阵
= m(t )
- Dm
-
- 3. 检查误差 E 的变化,如果增大,则适当地增加 λ ,重新计算一个△ m ,然后重复步骤 2 ;如果减小,则适当地减小λ ,重新计算△ m ,然后重复步骤 2 。
-
- 4. 不断进行迭代计算直到强度差 E 低于某一门限或执行完
一定的次数为止。
拼接实验 (1)
-
- 改进图像对齐算法:使用全局对齐算法以减少累计误差,并最终实现自动对齐而无续人工干预。
- 图像合成部分可以通过直方图均衡化或者平滑函数等方法来对图像拼接后的出现的接缝进行处理。