#視覺slam與三維重建#
直接線性變換法的提出見上節估計——2D射影變換,現在我們討論其求解方法
1. 超定解
如果給出的點對應xi<->x'i多於四組,則由方程4.3導出的方程組Ah=0是超定的,如果點的位置是精確的,那麼A的秩仍為8並且有唯一零空間,如果圖像測量含有噪聲,那麼我們只能求方程的近似解,即:
在定義一個適當代價函數的基礎上,我們需要求解使代價函數取最小值時所對應的h
如何定義代價函數 ?
既然Ah=0的解不存在,我們可以固定||h||=1的基礎上求||Ah||的最小值,也就是求解||A||/||h||的最小值,由奇異值分解(SVD)的基本內容知,該解是ATA的最小特徵值對應的(單位特徵矢量),也就是A最小奇異值對應的單位奇異矢量
由此得到的算法稱為基本DLT算法,概括在表4.1中
2. 非齊次解
除了把h直接作為齊次矢量來求解以外,另一種方法是把等式4.3轉成非齊次線性方程組來求解,因為這種方法存在局限性(在地平線過圖像中心,且坐標原點與圖像中心重合的場景該方法失效)因此此處不再詳述。
3. 退化配置
設用來計算單應的最小配置解的四組點對應中有三點x1,x2,x3共線,則可以證明方程4.1的一個解是H*=x'4lT,因為對i=1,2,3,H*xi=x'44(lTxi)=0,H*x4=x'4(lTx4)=kx'4,也就是對於所有四個點對應都有x'ix H*xi = 0.
下面討論兩種情況:
(1)x'1,x'2,x'3不共線
方程的解唯一且為H*,此時變換把x1,x2,x3都映射到一點而不是三點dx'1,x'2,x'3,H*不是射影變換.
(2)x'1,x'2,x'3共線
方程存在另一個基礎解H,任何形式的aH* + bH的矩陣都是解,當某種配置求不出唯一解時,稱這種配置是退化的.
4. 由線和其他實體求解
上述最小配置解求解的過程用了4個一般位置的點,因為IP2中點於線對偶,因此我們也可以用一般位置的4個線對應求解,或者是用點與線的組合,只要將它們都轉換成點對應或者線對應後,仍然有四個一般位置的點對應或者線對應。一個簡單的示意圖如下