文章目錄
參考:
https://www.cnblogs.com/clarenceliang/p/6704970.html
3.1. epipolar geometry 對極幾何介紹
對極幾何(Epipolar Geometry)是Structure from Motion(sfm)問題中,在兩個相機位置產生的兩幅圖像的之間存在的一種特殊幾何關係,是sfm問題中2D-2D求解兩幀間相機姿態的基本模型。
baseline
極平面epipolar plane
極線epipolar line
極點epipoles
當兩個image plane平行時,會出現如下圖的情況,極點在無線遠處。極線平行與image plane中的u軸。
我們知道,以及p,p’在image plane的座標,可以確定極平面。並假設世界座標系是,之間關係。
從而有M,M’表示從3D點(世界座標系下)到兩個image plane的projection metrices(映射矩陣)
3.2. Essential Matrix
首先假設canonical cameras(簡單的相機),,那麼
is normal to 垂直於
更多的是,由於,所以都在極平面上,我們用兩者外積(叉積)構造一個垂直於極平面的向量
.
所以該向量垂直於p,有
矩陣變換:外積變內積:
所以有:
Essential Matrix(本質矩陣) :
(基本矩陣Fundamental Matrix定義類似,相見下文)
E是3x3矩陣,5個自由度,rank(秩)=2,奇異矩陣
利用E和p,p’求極線,和
另一個特徵:image plane1中任意一點x(當作一個P點),對應的極線,包含e’點,所以,所以,同理
3.3. Fundamental Matrix
substituting 替代
當不是canonical cameras時,
所以公式爲:
我們定義 fundamental matrix(基本矩陣)
F是3x3矩陣,7個自由度
利用F和p,p’求極線,和
當知道了F和一個點p,可以求出p’所在的極線,所以我們不用P點的3D座標,也不用相機內外參,就可以得到p和p‘之間的關係
3.4. (Standard)Eight point Algorithm
1981提出,1995改進
需要8對點:,都有
這個scalar equation(標量等式),只限制了一個維度,需要:
W是Nx9,N大於等於8(通常N會大於8,爲了去除噪聲)
可以通過奇異值分解(SVD)在最小二乘意義上找到該齊次方程組的解,因爲w是不滿秩的
解出的預測,可能是滿秩的,但實際F是rank=2,所以需要處理下述優化問題,得到rank=2的
這個問題再次用SVD解決,,最優預測爲:
3.5. Normalized Eight point Algorithm
magnitude 大小
對於SVD方法,W應該有一個奇異值接近\等於0,其餘不等於0。然而的前兩個值可能很大,當和相對小的圖片對應時,會有一個奇異值很大,剩下的相對小。
先對W進行translation(新座標系的原點位於圖像點的質心)和scaling(變換後圖像點和原點的均方距離應該爲2個像素),兩個camera分別用變換矩陣T,T’.
再通過上述計算得到,不過是normalized coordinates,所以要變換乘普通的F
3.6. Image Rectification
當兩個image plane平行時(),有
那麼對應的極線
l是平行於baseline的,同理l’也是,兩者也平行。
用我們得到.
rectification就是讓倆個圖片平行
只要通過Normalized Eight Point Algorithm得到F,就可以計算出l,接下來求e,實際中由於誤差,所有l不會都交於一點,所以就是優化問題(SVD)
找到e,e‘後,求H,H’使得將e,e’映射到無窮遠(f,0,0)
一般認爲H是一個R和一個T,並認爲T將中心區域映射到(0,0,1)
在做完T變換後,認爲R將極點映射到(f,0,1),所以如果Te’後是,那麼R是:
,做完R變換後,只需要應用G就可以變換到(f,0,0):
做完G變換後,再用T‘變換回regular image space(規則圖像空間),所以是:
之後再找,利用p和p’在三維空間中是一個點優化:
求解:
3x3斜對稱矩陣特性 。
有Wa=b以及下圖,可求出a,得到,最終得到.
(中間省略一部分,沒太看明白)