图像拼接-APAP算法精读As-Projective-As-Possible Image Stitching with Moving DLT

主要思想:

使用单一的全局投影矩阵,只能应对平面场景的图像拼接,对于有视差的图像拼接,结果会有鬼影(ghosting artefacts)。作者针对这一问题,提出了将图像网格化,然后利用Moving DLT的获得每个网格的投影矩阵。

个人精读分析

  • 为什么单应矩阵只适应于二维平面和旋转的情况?

原文内容:“目前的大多数技术(包括Autostitch和Photosynth)将对齐函数建模为2D投影变换或同形变换(同形变换就是homography-单应矩阵)。只有当图像对应于纯粹因旋转而不同的视图时,或者如果成像的场景实际上是平面的(例如,当场景足够远时),单应矩阵的做法才被证明是合理的”

理解:首先来看单应矩阵的定义。单应矩阵可以理解为有2台相机,从不同的视角看同一个二维平面。如下图。

从2个不同视角看同一个二维平面

假设该二维平面上有一个点,落在相机A上的坐标为(x,y),落在相机B上的坐标为(x',y'),那么这2个点可以通过单应矩阵H进行映射。

由于观测对象是在同一平面,所以物体上的点都在同一平面上。只有当物体是平面,相机内参已知的情况下,相机的姿态才可以从单应矩阵中估计出来。到这里就可以得出结论了,因为转换的矩阵公式就是只针对二维平面的,所以在三维世界中存在缺陷。

算法思路

1、The projective warp-投影变换估计

1.1 定义匹配点与投影变换关系

1.2 用DLT来估计矩阵H

超定方程组是指方程的个数多于未知数的个数的方程组,通常没有精确解。在这种情况下,最小二乘法提供了一种寻找最佳近似解的方法。这种方法的目标是最小化残差平方和,即找到参数,使得所有方程的残差(实际观测值与模型预测值之间的差异)的平方和最小。

1.3 图像对齐

求解出H之后,源图像中的点x就可以通过变换得到对应的位置x'=Hx

2. Moving DLT(直接线性变换

使用上一部分推导的普通投影变换,无法处理复杂场景,比如不是单纯旋转或者2个视角不在同一平面的时候,存在视差的情况下就会产生重影。为了解决这个问题,每一个网格使用一个独立的局部单应。其实就是多加了一个权重W,之前是Ah,现在是WAh,权重由每个像素与该像素格子左上角的距离确定。

3. 图像拼接的高效计算

3.1 把图片分成小方块

在前面已经提到过,因为计算每个像素非常浪费,所以分块。

3.1 更新SVD权重

        观察到许多权重 wi∗​ 接近于一个偏移值 γ,这意味着许多权重实际上是相同的。因此,可以利用这个性质来更新WSVD,而不是从头开始计算。

大部分方格的权重都一样
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值