如上圖所示,給定乙個目標點p,以左攝像頭光心ol為原點。點p相對於光心ol的觀察位置為pl,相對於光心or的觀察位置為pr。點p在左攝像頭成像平面上的位置為pl,在右攝像頭成像平面上的位置為pr。注意pl、pr、pl、pr都處於攝像機座標系,其量綱是與平移向量t相同的(pl、pr在影象座標系中對應的畫素座標為 ql、qr)。
假設右攝像頭相對於左攝像頭的相對位置關係由旋轉矩陣r和平移向量t表示,則可得:pr = r(pl-t)。
現在我們要尋找由點p、ol和or確定的對極平面的表示式。注意到平面上任意一點x與點a的連線垂直於平面法向量n,即向量 (x-a) 與向量 n 的點積為0:(x-a)·n = 0。在ol座標系中,光心or的位置為t,則p、ol和or確定的對極平面可由下式表示:(pl-t)t·(pl×t) = 0。由pr
= r(pl-t) 和 rt=r-1 可得:(rtpr)t·(pl×t) = 0。
另一方面,向量的叉積又可表示為矩陣與向量的乘積,記向量t的矩陣表示為s,得:pl×t = spl。
圖11那麼就得到:(pr)trspl = 0。這樣,我們就得到essential matrix:e = rs。
通過矩陣e我們知道pl和pr的關係滿足:(pr)tepl = 0。進一步地,由 pl = fl*pl/zl 和 pr = fr*pr/zr 我們可以得到點p在左右兩個攝像機座標系中的觀察點 pl和 pr 應滿足的極線約束關係為:(pr)tepl = 0。
注意到 e 是不滿秩的,它的秩為2,那麼 (pr)tepl = 0 表示的實際上是一條直線,也就是對極線。
(2)fundamental matrix
由於矩陣e並不包含攝像頭內參資訊,且e是面向攝像頭座標系的。實際上我們更感興趣的是在影象畫素座標系上去研究乙個畫素點在另一檢視上的對極線,這就需要用到攝像機的內參資訊將攝像頭座標系和影象畫素座標系聯絡起來。在(1)中,pl和pr是物理座標值,對應的畫素座標值為ql和qr,攝像頭內參矩陣為m,則有:p=m-1q。從而:(pr)tepl = 0 à qr
t(mr
-1)te ml
-1ql = 0。這裡,我們就得到fundamental matrix:f = (mr
-1)te ml
-1。並有 qr
tfql = 0。
(3)opencv的相關計算
由上面的分析可見,求取矩陣e和f關鍵在於旋轉矩陣r和平移向量t的計算,而
cvstereocalibrate的**中大部分(cvcalibration.cpp的第1886-2180行)也是計算和優化r和t的。在
cvcalibration.cpp的第1913-1925行給出了計算r和t初始估計值的基本方法:
/*compute initial estimate of pose
for each image, compute:
r(om) is the rotation matrix of om
om(r) is the rotation vector of r
r_ref = r(om_right) * r(om_left)'
t_ref_list = [t_ref_list; t_right - r_ref * t_left]
om_ref_list = ;
cvmat tx = cvmat(3, 3, cv_64f, tx);
double e[9], f[9];
cvmat e = cvmat(3, 3, cv_64f, e);
cvmat f = cvmat(3, 3, cv_64f, f);
cvmatmul( &tx, &r_lr, &e );
if( mate )
cvconvert( &e, mate );
if( matf )
}
三維重建 對極幾何與基礎矩陣
基本概率 對極幾何是structure from motion問題中,在兩個相機位置產生的兩幅影象的之間存在的一種特殊幾何關係,是sfm問題中2d 2d求解兩幀間相機姿態的基本模型。基本模型 其中c0 c1為兩個相機中心,p為空間中一點,p在c0 c1對應像平面上的投影分別為x0 x1。c0 c1連...
tuxian本質矩陣和基礎矩陣是什麼,區別是什麼?
先了解下對極幾何,兩個相機在不同位置 實際要求光心位置不同即可 拍攝兩張圖,這個模型就是對極幾何,如下圖 摘自 計算機視覺中的多檢視幾何 兩攝像機光心分別是c和c 影象平面是兩白色的平面,空間中某乙個點x在兩張圖的投影點分別是x和x 這樣的模型就是對極幾何,空間點和兩光心組成的平面叫做對極面。簡言之...
基礎矩陣和照相機矩陣
參考部落格 對極線約束 空間點p,o1和o2為相機光心,p1和p2為點p的像點,p1和p2為o1和o2指向p的向量 t為o1指向o2的向量,即左右相機座標系之間的平移向量 e1和e2為o1o2所在直線與兩成像面的交點,稱為對極點 e1和e2表示p1e1和p2e2所在直線,被稱為對極線 p1必位於e1...