單應性矩陣的理解及求解1

2021-08-26 14:54:21 字數 1512 閱讀 4321

盡量寫的通俗一點,因為從某種程度上講,本人也是dummy.....

1. 先說homogeneous coordinate,齊次座標

一幅2d影象上的非齊次座標為(x,y),而齊次座標為(x,y,1),也可以寫成(x/z,y/z,1)或(x,y,z)。齊次座標有很多好處,比如可以很清楚的確定乙個點在不在直線上:

t(x)*i=0,這裡t表示轉置;

還可以描述無窮遠點:(x,y,0);

還可以把平移和旋轉寫到乙個矩陣裡(也有不願意這麼幹的,攝影測量裡用的都是非齊次座標,平移和旋轉分開寫);

具體的可去看《計算機視覺中的多檢視幾何》,i.e.,。

2. homography matrix,單應性矩陣

兩個不同視角的影象上的點對的homogeneous coordinate可以用乙個射影變換(projective transformation)表述,即:

x1 =h*x2

二維和三維的圖示如下:

射影變換也叫「單應」--homography,「homo」字首就是same的意思,表示「同」(homo***ual大家都知道),homography就是用同乙個源產生的graphy,中文譯過來大概就是"單應"。

因此上面式子中的矩陣h就叫單應性矩陣。上式中的x1和x2都是3*1的齊次座標,因此h是乙個3*3的矩陣:。

然而,單應矩陣的自由度是多少呢?(參考

如果給定乙個單應h=,給它的元素乘上同乙個數a,得到的的單應a*h和h作用相同,因為新單應無非把齊次點x1變成了齊次點a*x1,都是一回事。因此我們可以把a換成1/h22,那麼h就變成了只有8個自由元素的矩陣。

那麼需要多少個點對求解這個h呢?如果需要唯一解的話,需要4個點對(對應8個方程,去解h中的8個未知數)。

關於這個話題的理解,可以繼續參考:

3. 舉兩個應用的例子。

例子1:兩個影象的拼接

通過影象特徵點匹配+ransac可以獲得影象之間的單應性矩陣,然後把其中乙個影象通過這個矩陣投影到另乙個影象上就完成了基本的拼接。

例子2:在相機的內引數標定過程中會用到求解單應性矩陣

對乙個棋盤格拍照,棋盤格的世界座標系是使用者任意設定的,標定的時候,預設世界座標系就是以標定板左上角點為原點,z軸垂直於標定板,xoy面與標定板重合的三維直角座標系。棋盤格的格仔長度已知,因此可以知道各個角點的世界座標系座標xyz(z=0)。由於z=0,因此可以忽略掉z這個維度,世界座標系中某個座標(x,y,z,1)到影象座標(x,y,1)的變換就等價於(x,y,1)到影象座標(x,y,1)的變換。此時的變換矩陣就由3*4變為3*3,成為了單應性矩陣。

因此用4個角點就可以計算h的8個引數。以不同的角度對棋盤格拍攝3張就可以得到3個h,如果用張正友標定法,就可以得到6個約束方程,可以求解b矩陣(對稱矩陣)的6個未知引數,進而通過cholesky分解求解出內參矩陣a的引數。

線性求解單應矩陣 Homography

定義 2d單應 給定影象 mathbb 中的特徵點集 mathbf i 和另一幅影象在 mathbb 中對應的特徵點集 mathbf 將 mathbf i 對映到 mathbf 的射影變換。在實際情況中,點 mathbf 和 mathbf 是兩幅影象上的點,每幅影象都視為一張射影平面 mathbb ...

單應性矩陣和仿射變換 單應性矩陣自適應估計方法

單應性矩陣自適應估計方法 許金山,王一江,程 徐,李松,陳勝勇 摘要 摘要 如何從初始匹配點集中估計出精確的單應性矩陣,有效地剔 除誤匹配,一直以來都是視覺領域研究的重點和難點,也是實際相關技術應用 中最為關鍵的一步。通過將特徵點對相似度概念應用於 lmeds 的樣本選取過 程,提出了一種新的單應性...

DLT在求解單應性矩陣中的應用遇到的問題

最近在研究apap演算法的過程中需要用到dlt求解單應性矩陣,對於單應性矩陣的求解,已經有較為詳細的分析。下面簡單先介紹下其原理 已知兩幅影象需要拼接,得到的特徵匹配點集記作x和x 用單應性矩陣可以表達為x hx 在opencv中有svd類能夠直接對矩陣a進行分解求得三個矩陣u s vt。假設a m...