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

Posted zizi7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[图像拼接]APAP算法及相关问题研究相关的知识,希望对你有一定的参考价值。

目录


图像拼接首先通过一些手段(标定、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) \\beginaligned\\left[\\beginmatrixx'\\\\y'\\\\w'\\endmatrix\\right]=&\\left[\\beginmatrixh_00&h_01&h_02\\\\h_10&h_11&h_12\\\\h_20&h_21&h_22\\endmatrix\\right]\\left[\\beginmatrixx\\\\y\\\\w\\endmatrix\\right]\\\\=&H\\left[\\beginmatrixx\\\\y\\\\w\\endmatrix\\right]\\endaligned \\tag1 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 \\tag2 A=UΣVT(2)
其中 U U U V V V分别称为 A A A的左、右奇异向量,满足正交性(即 U T = U − 1 U^T=U^-1 UT=U1
Σ \\Sigma Σ为对角阵,对角元素是 A A A的奇异值

将式(2)代入目标函数,有
m i n ∣ ∣ A x − b ∣ ∣ → m i n ∣ ∣ U Σ V T x − b ∣ ∣ → m i n ∣ ∣ Σ V T x − U T b ∣ ∣ ( 正 交 性 ) → m i n ∣ ∣ Σ y − b ′ ∣ ∣ ( 令 y = V T x , b ′ = U T b ) (3) \\beginaligned&min||Ax-b||\\\\&\\rightarrow min||U\\Sigma V^Tx-b||\\\\&\\rightarrow min||\\Sigma V^Tx-U^Tb|| (正交性) \\\\&\\rightarrow min||\\Sigma y-b'|| (令y=V^Tx,b'=U^Tb)\\endaligned \\tag3 minAxbminUΣVTxbminΣVTxUTb()minΣyb(y=VTx,b=UTb)(3)
注意到 Σ \\Sigma Σ是一个对角阵,令 λ i \\lambda_i λi为其对角线元素,则有
y i = b i ′ λ i x = V y (4) y_i=\\fracb'_i\\lambda_i\\\\x=Vy \\tag4 yi=λibix=Vy(4)

- 模型 A x = 0 Ax=0 Ax=0的求解
A A A尺寸为 m × n m\\times n m×n,且 m > n m>n m>n ∣ ∣ x ∣ ∣ = 1 ||x||=1 x=1
则优化目标为 m i n ∣ ∣ A x

以上是关于[图像拼接]APAP算法及相关问题研究的主要内容,如果未能解决你的问题,请参考以下文章

图像配准SIFT算法原理及二图配准拼接

图像配准SIFT算法原理及二图配准拼接

图像配准SIFT算法原理及二图配准拼接

MATLAB图像拼接问题

基于最近邻的邻鸢尾花数据集回归问题

基于最近邻的邻鸢尾花数据集回归问题