直接線性變換法(DLT)的求解

2021-01-08 圖像那些式兒

#視覺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個線對應求解,或者是用點與線的組合,只要將它們都轉換成點對應或者線對應後,仍然有四個一般位置的點對應或者線對應。一個簡單的示意圖如下

圖1,幾種等價配置

相關焦點

  • 齊次線性方程組求解
    求解齊次線性方程組是線性代數的重要內容,也是線性代數的核心問題之一,要求同學們必需掌握。
  • 2015考研數學線性代數歷年真題考點梳理
    而抽象型行列式的計算主要分為五類:利用行列式的性質、利用矩陣乘法、利用特徵值、直接利用公式、利用單位陣進行變形。06、08、10、12年、13年的填空題均是抽象型的行列式計算問題,而今年的選擇題考查的是一個四階行列式的計算,非常的簡單,可利用行列式的性質求也可利用展開定理來做。
  • 中國突破億階線性方程組高性能求解
    受計算能力所限,超大規模線性方程組的求解往往成為工程數值計算過程中的一大瓶頸。浪潮高性能計算應用研發團隊基於CPU+MIC異構平臺開發的超大規模線性方程組高性能求解系統,可在短短幾分鐘內完成億階規模矩陣的求解,這一成果對科學研究、工程應用以及自主可控國產CAE軟體的開發都有重要意義!」
  • 一元線性回歸的求解
    1 最小二乘法及代數求解最小二乘法中的「二乘」代表平方,最小二乘也就是最小平方。
  • 2019考研數學:淺析高斯消元法如何求解線性方程組
    線性方程組是線性代數的核心考點之一,命題率比較高。線性方程組求解的基本方法就是高斯消元法。今天我們就給大家簡單講解如何利用高斯消元法求解線性方程組的解。首先,我們先來了解一下線性方程組和高斯消元法的相關概念。
  • 多元線性回歸分析:納入多元回歸自變量的確定及求解多元回歸方程
    許栩原創專欄《從入門到高手:線性回歸分析詳解》第五章,多元線性回歸分析:如何求解多元線性回歸方程。在前面的章節中我講到,實際需求預測場景中,通常,影響需求的因素不止一個,對需求影響的因素可能多種多樣,也就是說自變量多種多樣,很少能用單一的變量(也即一元線性回歸分析)來做好需求預測。這時,我們需要用到多元線性回歸分析。回歸分析在需求預測的應用,也主要是多元線性回歸分析。對需求預測而言,多元線性回歸更具有實用性和有效性。
  • 「每周一識」一階非齊次線性微分方程求解及應用舉例
    本文介紹一階非齊次線性微分方程的通解的應用、特解求解舉例,以及二階微分方程可用該通解求解的情形。一、方程通解公式一階非齊次線性微分方程的解析式為:y'+p(x)=q(x),則其通解表達式如下:y=e^[-∫p(x)]dx{∫q(x)*e^[∫p(x)dx]dx+c}.
  • 電路的等效化簡之星形-三角形變換法
    星形-三角形變換法與三角形-星形變換法原則上是等效的。為了簡化計算,可以把星形連接的電路變換成等效三角形,也可以把三角形連接的電路變換為等效星形。即電路等效化簡後,對電路未進行變換的部分沒有影響。也就是說,u,v,w三相之外的電路,各點之間的電壓或支路中的電流都不受影響。
  • 必備技能,高中數學「函數圖像」相關問題的求解一般方法與技巧
    解決問題的一般方法1) 作圖方法① 描點法a) 列表(一般取自變量的一些特殊值)b) 描點(注意關鍵點:如圖像與x、y軸的交點,端點,極值點等)c) 連線(注意關鍵線:如對稱軸,漸近線等)② 變換法(利用基本初等函數圖像進行變換得到)利用平移、對稱、翻折和伸縮等變換方法,從一個圖像可便捷地得到另一個圖像
  • 最有效的求解方法:三行代碼搞定任何線性方程
    圖源:unsplash在三行函數中解決任何線性方程式的技巧,甚至可以在兩行代碼中重寫,不想了解一下嘛?據筆者所知,這是解決Python中線性方程的最有效方法。首先定義一個線性方程式,它必須以純形式可解。這意味著它只能有一個變量,通常寫為x。二元方程需要求解多個線性方程(方程組)。線性方程式由三個主要部分組成:常數,變量和乘數。不管是幾元方程還是運算的組合(加,減,乘和除),在括號範圍內都是有效的。只要遵守線性方程的這些定義,就可以通過函數解決。接下來逐步分解該函數,用以下線性方程式的演示為例。
  • 《常見一階微分方程》類型及其一般求解思路與步驟
    第二類:一階線性微分方程,其中齊次線性微分方程的求解歸結為可分離變量的微分方程;而非齊次線性微分方程基於常數變易法,或稱為待定函數法,直接得到非齊次線性微分方程的通解或者基於線性微分方程解的結構求得其一個特解來求通解:非齊次線性微分方程的特解
  • 基於MATLAB求解三類方程組
    基於MATLAB求解三類方程組第1類 線性方程組線性方程組是指各個方程變量的最高次冪為1次的方程組。線性方程組主要有定解方程組、不定解方程組、超定方程組和奇異方程組。線性方程組的通解為齊次線性方程組的基礎解系加上線性方程組的一個特解。
  • 簡單線性回歸模型
    3 求解線性回歸模型函數3.1 極大似然法最小二乘法和極大似然法都可以用來求解線性回歸模型,我們在往期文章中討論過最小二乘法,這裡對似然法進行簡單介紹。現在假裝大家已經理解了極大似然的原理,下面我們來求解它。直接最大化不太可行,我們通常對似然函數取對數得到對數似然函數然後再分別對各個參數進行優化。限於篇幅,不再贅述。
  • 線性電阻電路的分析方法_線性電阻的串並聯
    以上計算過程說明:支路電流法一般用於結點間聯接支路數不是太多的電路,否則需列寫的方程組較多,給計算帶來不便;當電路中的獨立節點數(n一1)小於支路數b時,應選擇結點電壓法求解。 如圖2所示,電路中有4條支路,若用支路電流法求解需解四元一次方程組,比較複雜;而電路中只有2個結點,即僅有1個獨立結點,所以用結點電壓法求解較方便。
  • 2016考研數學之解線性方程組的方法
    線性方程組的三種形式包括原始形式、矩陣形式、向量形式,高斯消元法是最基礎和最直接的求解線性方程組的方法,其中涉及到三種對方程的同解變換:(1)把某個方程的k倍加到另外一個方程上去;(2)交換某兩個方程的位置;(3)用某個常數k乘以某個方程。我們把這三種變換統稱為線性方程組的初等變換。