數字影象是真實世界中的物件透過光學成像裝置在光敏材料上的投影。在3D到2D的轉換過程中,深度資訊會丟失。從單個或多個影象中恢復有用的3D資訊需要使用立體視覺知識進行分析。本文分別介紹了針孔攝像機模型和對極幾何的基本知識。
針孔相機針孔相機是簡化的相機模型。光線沿直線傳播,被物體反射的光穿過針孔以在成像表面上形成反轉影象。針孔與成像表面之間的距離稱為焦距。一般而言,針孔越小,影象越清晰,但是針孔太小會導致衍射,從而使影象模糊。
從外部世界的點X發出的光穿過小孔,並投射在像平面上的點x上。
3D空間中的點X和成像平面上對應的點x座標之間的定量關係為:
我們可以按以下形式表示3D和2D之間的轉換。
在實際計算中,我們首先將3D點轉換成4維向量(在結尾填充1),然後在左面乘以變換矩陣。這個矩陣P被稱為相機投影矩陣,它是完全由相機引數決定的。
上式假定主點p在座標的原點。實際情況可能並非如此,因此對映變為
該矩陣K被稱為相機校準矩陣。
另外,我們的畫素也有可能不是正方形,因此,當我們以畫素為單位測量影象座標時,我們需要在每個方向上引入一個非等效的比例因子mx,my。具體來說,在x和y方向上影象座標每單位距離的畫素數為mx,my,則為我們的校準矩陣。
最後,為了提高通用性,我們還需要考慮失真引數s,儘管我們當前的標準相機通常s = 0,
我們可以在世界座標系X中的點和影象平面中的點x之間做一個對映,表示為
K中的引數稱為相機內部引數,其餘引數R和C稱為相機外部引數。
對極幾何對極幾何是兩個檢視之間固有的射影幾何。它與場景結構無關,僅取決於攝像機的內部和外部引數。
對極幾何通常用於解決雙目匹配和尋找對應點的問題。
在上圖中,兩個攝像機的中心為C和C',X為三維空間點,在兩個攝像機的成像平面上的投影點分別為x和x'。我們常稱:
基線:兩個攝像機CC'的光學中心之間的連線。
對極平面:這是一個包含基線的平面。有一組對極平面(以基線為軸旋轉)。上圖中的一個示例是CXC '
對極線:對極平面和像平面之間的相交線。在上面的圖片的例子是xe與x'e'。
對極幾何有什麼用?一種是立體匹配問題。當兩個視點之間的空間位置關係已知時,由於對極幾何的幾何模型定義的約束條件,立體影象對上的搜尋空間僅位於兩個影象中。需要在相應的對極線搜尋,並且原始的二維搜尋問題直接簡化為一維搜尋。雙目測距是這方面的應用之一。
第二個是確定兩個目標點的相對位置和姿態。在未知視角位置的情況下,透過在影象對中搜索匹配點,可以獲得兩個位置和姿勢之間的相對關係。這通常用於機器人導航,地圖生成,三維重建等。
基本矩陣為了表達對極約束中兩個成像平面上各點之間的相對關係,在數學中,我們只需要新增一個矩陣(本質矩陣或基本矩陣)即可簡潔地寫出兩者之間的方程關係。
如下圖所示,假設已知攝像機引數,則對於空間中的點P,它將唯一確定對極幾何與兩個攝像機的中心點O和O'之間的幾何關係。極、對極線和極平面將全部確定,並且所有空間點都將在平面π上成像為p,它們必須投影在平面π'的極線上,反之亦然。
在實際應用中,我們可以直接使用此屬性,但並不是那麼簡單。因此,在數學中,我們介紹的本質矩陣和基本矩陣使用非常簡潔的方程式來總結這種關係。
基本矩陣:我們知道從攝像機1到攝像機2的運動是一個剛體,因此可以透過剛體變換將攝像機1座標系中觀察點P的座標轉換為攝像機2座標系。
其中R和T分別表示旋轉和平移。如果我們將其左側乘以T,我們得到:
如果將左點乘以P',則T x P'表示對極平面的法線,
由於P'垂直於法線TxP',因此存在
我們知道,兩個向量的叉積可以轉換為一個向量與另一個向量的反對稱矩陣的點積,因此
其中,[Tx]代表T的反對稱矩陣,我們令E = [Tx] R,然後
基本矩陣E是兩個矩陣的乘積,其中R的秩為3,T的秩為2,因此E的秩為2。
基本矩陣的自由度包括三個平移和三個旋轉自由度,加上等價的比例,因此基本矩陣的自由度為5。
派生基本矩陣
從上面我們知道基本矩陣的自由度是5,所以至少我們可以使用5對點來求解基本矩陣。但是,由於它們的許多固有屬性都是非線性的,因此使用最少的點數求解會比較麻煩,因此通常只考慮比例等價,然後使用8對點求解。這也稱為八點法。
考慮一對匹配點及其畫素座標。
根據極線約束,有:
展開上面的矩陣,並以向量的形式編寫它:
此時,上述極限約束方程可寫為
將八個點的對極約束放在一起可以得到一個方程組:
本質矩陣和基本矩陣可以透過求解方程組來求解。
參考Multiple View Geometry in Computer Vision (Second Edition)視覺SLAM十四講Hartley, R. & Zisserman, A., 2003. Multiple view geometry in computer vision, Cambridge university press