[图像拼接]APAP算法及相关问题研究

本文深入探讨了图像拼接中的APAP(As-Projective-As-Possible)算法,该算法通过局部单应性矩阵修正解决角度差异导致的虚影问题。内容包括APAP算法的基本思想,SVD在最小二乘法中的应用,DLT求解单应性矩阵以及Moving DLT用于计算局部变换。此外,还提到了算法实现中的关键细节和相关文献。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


图像拼接首先通过一些手段(标定、SIFT等特征点、其他传感器等)获取图像间的对应关系(2D-2D)。

这个对应关系可以用单应性矩阵 H H H(也称透视变换)描述
[ x ′ y ′ w ′ ] = [ h 00 h 01 h 02 h 10 h 11 h 12 h 20 h 21 h 22 ] [ x y w ] = H [ x y w ] (1) \begin{aligned}\left[\begin{matrix}x'\\y'\\w'\end{matrix}\right]=&\left[\begin{matrix}h_{00}&h_{01}&h_{02}\\h_{10}&h_{11}&h_{12}\\h_{20}&h_{21}&h_{22}\end{matrix}\right]\left[\begin{matrix}x\\y\\w\end{matrix}\right]\\=&H\left[\begin{matrix}x\\y\\w\end{matrix}\right]\end{aligned} \tag{1} xyw==h00h10h20h01h11h21h02h12h22xywHxyw(1)

但上述思路的前提是:待拼接的目标处于或者近似处于同一平面。否则就会产生遮挡和角度差异,从而造成拼接图的“虚影”
在这里插入图片描述
                                                 图1. 由于相机角度差异造成的虚影现象(红圈)

针对上述问题,Autostitch(OpenCV实现的方法)和Photosynth等方法走的是一个全局H + 虚影后处理的路线;
APAP【1】算法则使用多个局部H的方式尝试在拼接时就尽可能精确。


APAP算法思路

APAP算法官方主页提供了matlab的源码
Github上有第三方实现的C++代码

算法以A图为基准,首先计算B图到A图的全局变换 H H H(DLT方法),
然后将B图等间距划分小网格,逐个计算B图每个小网格与A图的局部变换 H ∗ H_* H(Moving DLT方法),
最后将B图每个网格内的点按对应的 H ∗ H_* H做局部变换,与A图融合。

在这里插入图片描述
                                                        图2. 网格局部变换(摘自APAP论文)


几个问题

SVD在最小二乘中的应用

参考博文《SVD之最小二乘【推导与证明】》

- 模型 A x = b Ax=b Ax=b的求解
A A A尺寸为 m × n m\times n m×n,且 m > n m>n m>n(超定问题)
则优化目标为 m i n ∣ ∣ A x − b ∣ ∣ min||Ax-b|| minAxb

首先对 A A A做SVD分解,有
A = U Σ V T (2) A=U\Sigma V^T \tag{2} A=UΣVT(2)
其中 U U U V V V分别称为 A A A的左、右奇异向量,满足正交性(即 U T = U − 1 U^T=U^{-1} UT=U1
Σ

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值