日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

多视图几何总结——基础矩阵、本质矩阵和单应矩阵的求解过程

發(fā)布時間:2025/3/20 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多视图几何总结——基础矩阵、本质矩阵和单应矩阵的求解过程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

多視圖幾何總結(jié)——基礎(chǔ)矩陣、本質(zhì)矩陣和單應(yīng)矩陣的求解過程

  • 多視圖幾何總結(jié)——基礎(chǔ)矩陣、本質(zhì)矩陣和單應(yīng)矩陣的求解過程
    • 1. 說明——其實(shí)求解過程大同小異
    • 2. 單應(yīng)矩陣求解過程
      • 2.1 基于代數(shù)誤差的線性估計(jì)
        • 2.1.1 解法一:最小二乘法 / 高斯消去法(最小配置解情況)
        • 2.1.2 解法二:DLT算法
      • 2.2 基于幾何誤差的非線性估計(jì)
    • 3. 基礎(chǔ)矩陣求解過程
      • 3.1 基于代數(shù)誤差的線性估計(jì)
        • 3.1.1 七個點(diǎn)——最小配置解情形
        • 3.1.2 八個點(diǎn)——線性解法
        • 3.1.3 n個點(diǎn)——八點(diǎn)法
      • 2.2 基于幾何誤差的非線性估計(jì)
    • 4. 本質(zhì)矩陣求解過程
      • 4.1 基于代數(shù)誤差的線性估計(jì)
        • 4.1.1 八點(diǎn)法
        • 4.1.2 五點(diǎn)法

多視圖幾何總結(jié)——基礎(chǔ)矩陣、本質(zhì)矩陣和單應(yīng)矩陣的求解過程

在《視覺SLAM十四講》中,僅僅給出了基礎(chǔ)矩陣、本質(zhì)矩陣和單應(yīng)矩陣的推導(dǎo)過程,并沒有詳細(xì)給出其求解過程,再看過《計(jì)算機(jī)視覺中的多視圖幾何》之后才發(fā)現(xiàn)這里面原來有這么多巧妙的地方,因此在這篇文章中予以總結(jié)。

1. 說明——其實(shí)求解過程大同小異

為什么說求解過程大同小異呢,不管是那種矩陣,在求解方法的分類上大致是都可以分為基于代數(shù)誤差的線性估計(jì)基于幾何誤差的非線性估計(jì),在基于代數(shù)誤差的線性估計(jì)中,不管是那種矩陣最后的形式一般都是Ax=bAx=bAx=b其中AAA是由匹配的點(diǎn)構(gòu)成的矩陣,而xxx是由待解的基礎(chǔ)矩陣或者單應(yīng)矩陣的元素構(gòu)成的向量,bbb是根據(jù)解法的不同而不同,在基于幾何誤差的非線性估計(jì)中,又幾乎都有黃金標(biāo)準(zhǔn)方法(重投影誤差)和一階幾何誤差(Sampson距離)等方法,因此我個人覺得是比較相似的,因此,我下文主要是單應(yīng)矩陣的求解過程詳解,其他矩陣主要說明不同。

2. 單應(yīng)矩陣求解過程

2.1 基于代數(shù)誤差的線性估計(jì)

首先我們知道,單應(yīng)矩陣的對應(yīng)點(diǎn)的方程為:Hxi=xi′Hx_i=x'_iHxi?=xi?其中有

通過令xi′=(xi′,yi′,wi′)x'_i=(x'_i,y'_i,w'_i)xi?=(xi?,yi?,wi?),求解xi′×Hxi=0x'_i×Hx_i=0xi?×Hxi?=0

整理得

容易觀察到左邊的矩陣僅有兩個是線性獨(dú)立的,因此可以方程組變?yōu)?br />
注意上面都是針對一個點(diǎn)變換的,因此知道,一對匹配點(diǎn)可以構(gòu)造出兩個方程,而我們的單應(yīng)矩陣自由度是8,因此我們最少需要四對點(diǎn)進(jìn)行求解。

2.1.1 解法一:最小二乘法 / 高斯消去法(最小配置解情況)

上面方程的右側(cè)是一個9維的向量,其實(shí)就是H矩陣九個未知量,根據(jù)尺度不變性的理解,這里第一種方法是將尺度不變性理解為九個元素中間的某一個為1,這樣就消除了尺度不變性,假定選擇最后一個元素為1的話,方程就可以轉(zhuǎn)換為《視覺SLAM十四講》里面的方程

這是一個線性方程組,如果匹配點(diǎn)的數(shù)量多于4對點(diǎn)的話,就是超定方程,采用最小二乘法,如果是4對點(diǎn)的話,就是普通的非齊次線性方程組,采用高斯消去法就可以。
這種方法的確定是,如果所選為1的元素接近0,結(jié)果將導(dǎo)致不穩(wěn)定解,因此更推薦解法二。

2.1.2 解法二:DLT算法

上述方程形式為Ah=xAh=xAh=x,其中矩陣AAA為的秩為8,未知向量hhh的維數(shù)為9,如果四對點(diǎn)都是準(zhǔn)確點(diǎn)的話,上述方程存在一維的零空間,即存在一個線性解,但是如果匹配點(diǎn)都存在誤差的話,通常的做法是在約束∣∣h∣∣=1||h||=1h=1的最小化范數(shù)∣∣Ah∣∣||Ah||Ah,即求∣∣Ah∣∣/∣∣h∣∣||Ah||/||h||Ah/h的最小值問題,該問題解為ATAA^TAATA的最小特征值的特征矢量,也就是AAA的最小奇異值的奇異矢量,總之其基本DLT算法步驟如下:

在多視圖幾何中證明了,DLT算法的結(jié)果與點(diǎn)的坐標(biāo)系有關(guān),為了相處坐標(biāo)系的影響同時使DLT算法關(guān)于相似變換不變,提出了歸一化的問題,包括圖像坐標(biāo)的平移和尺度縮放,而歸一化是再DLT之前必須實(shí)施的。其步驟如下:
(1)對點(diǎn)進(jìn)行平移使其形心位于原點(diǎn)
(2)對點(diǎn)進(jìn)行縮放使他們到原點(diǎn)的平均距離等于2\sqrt{2}2?
(3)對兩幅圖獨(dú)立進(jìn)行上述變換
因此歸一化的DLT算法如下:

2.2 基于幾何誤差的非線性估計(jì)

幾何誤差分好幾種情況,包括單圖像誤差對稱轉(zhuǎn)移誤差重投影誤差,如下圖

上圖的上半圖就是對稱轉(zhuǎn)移誤差,表示為

上圖的下半圖就是重投影誤差,表示為

可以通過DLT獲得其初始值,然后通過牛頓法或者列溫伯格法進(jìn)行迭代下降求得最后的值。

基于代數(shù)誤差的方法會更快,而基于幾何誤差的方法會根據(jù)魯棒性


3. 基礎(chǔ)矩陣求解過程

3.1 基于代數(shù)誤差的線性估計(jì)

基礎(chǔ)矩陣的求解方法和單應(yīng)矩陣就比較相似啦,不過還是有區(qū)別的,首先基本矩陣的方程如下:xiFxi′=0x_iFx_i'=0xi?Fxi?=0與單應(yīng)矩陣不同的是,對于基本矩陣一對點(diǎn)只能確定一個約束方程,給定n對匹配點(diǎn)就得到如下方程組

下面我換個思路按照點(diǎn)的數(shù)量多少對求解方法進(jìn)行分類:

3.1.1 七個點(diǎn)——最小配置解情形

當(dāng)矩陣A的秩為7時,其解空間維數(shù)為2,因此會有F1F_1F1?F2F_2F2?兩個解,同時FFF又要滿足det(F)det(F)det(F)的要求,因此添加一個強(qiáng)迫約束det(αF1+(1?α)F2)=0det(\alpha F_1+(1-\alpha)F_2)=0det(αF1?+(1?α)F2?)=0,此種情況下矩陣可能有一種或者三種解。

3.1.2 八個點(diǎn)——線性解法

這就是解解空間為1維的線性方程組

3.1.3 n個點(diǎn)——八點(diǎn)法

多視圖幾何中將n個點(diǎn)的解法成為八點(diǎn)法(明明不是八個點(diǎn)…)

其實(shí)就對應(yīng)著前面的求解單應(yīng)矩陣的DLT算法,歸一化的8點(diǎn)法就是歸一化 DLT算法,在此不贅述,需要注意的一點(diǎn)是,單應(yīng)矩陣不是奇異矩陣,而基礎(chǔ)矩陣是奇異矩陣(為什么是奇異矩陣參見MVG總結(jié)——基礎(chǔ)矩陣、本質(zhì)矩陣和單應(yīng)矩陣的自由度分析),因此需要添加一個強(qiáng)迫約束, 即求解在Frobenius范數(shù)下最接近FFF的奇異矩陣F′F'F代替FFF,采用SVD分解,具體解法如下:

2.2 基于幾何誤差的非線性估計(jì)

多視圖幾何中介紹的除了重投影誤差,還介紹了一種對稱對極點(diǎn)距離的幾何誤差,如下:

這里順便插一句,目前state of art的一種過濾動態(tài)物體的算法就是基于這種思想完成的DS SLAM

4. 本質(zhì)矩陣求解過程

4.1 基于代數(shù)誤差的線性估計(jì)

4.1.1 八點(diǎn)法

本質(zhì)矩陣的八點(diǎn)法求解與基礎(chǔ)矩陣是一致的,不同的一點(diǎn)是其強(qiáng)迫約束不同,因?yàn)楸举|(zhì)矩陣的性質(zhì)中有一條是其奇異值分解的兩個非零奇異值相等,因此再SVD的處理中按照如下方式處理;

4.1.2 五點(diǎn)法

5點(diǎn)算法的大概思路就是把本征方程展開,再加上本質(zhì)矩陣的充要條件。化簡后得到一個高次多項(xiàng)式方程,該多項(xiàng)式實(shí)數(shù)解中的一個確定出的本質(zhì)矩陣是系統(tǒng)的真實(shí)本質(zhì)矩陣,對偽解進(jìn)行剔除。該方法的具體原理可見論文An efficient solution to the five-point relative pose problem

總結(jié)大致如此, 有什么問題歡迎交流~

此外,對SLAM算法感興趣的同學(xué)可以看考我的博客SLAM算法總結(jié)——經(jīng)典SLAM算法框架總結(jié)

總結(jié)

以上是生活随笔為你收集整理的多视图几何总结——基础矩阵、本质矩阵和单应矩阵的求解过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。