1. 程式人生 > >雙目立體匹配中的核線約束[極線約束]

雙目立體匹配中的核線約束[極線約束]

  雙目立體匹配在尋找同名點的過程中,若沒有任何先驗約束,則對左影像每個畫素,需要在右影像全圖空間中進行搜尋,這種暴力搜尋方法不僅效率非常低,而且很容易由於各種因素(如弱紋理、重複紋理等)搜尋到錯誤的對應點,而利用核線幾何約束則是減小搜尋範圍,提高匹配效率且降低錯誤匹配的一種有效方法。在攝影測量中,核線是核平面與兩張影像的交線,核平面是物方點與兩個相機中心共同所在的平面,而核線約束描述的是物方點在兩張影像上的投影像點一定在同一個核平面上,進而可以推匯出,左影像上每個畫素點在右影像上的同名點一定在該像點所在核平面與右影像的交線(即核線)上。核線約束將原先二維的搜尋空間縮小至一維的核線空間,大大的減小了搜尋範圍,是提高匹配效率的十分有效的約束。核線約束的描述如圖1所示。

圖1 核線約束示意圖

  從圖1還可以看到,在左影像中同一個核面相交的核線上所有畫素都對應右影像上同一條核線,形成以核線為單位的對應關係,如果能夠找出所有的對應核線對,那麼匹配將變得更加方便,雙目立體視覺中通過核線糾正來完成這一步驟,通過標定好的相機引數,將影像投影至與基線平行的平面上,讓兩個相機的主光軸相互平行,使得核平面與兩張影像的交線位於同一個掃描行,這樣同一核線對位於兩張影像的同一行,即同名點對的行號一定相等,只存在列號的差異。圖2為核線糾正的示意圖。

圖2 核線糾正示意圖

  核線糾正之後的影象同名點只存在列號的差異,這種差異就稱為視差

(嚴謹來說是列方向視差,因為行方向視差通過糾正消除,所以對於核線像對,視差就指列方向視差),具體來說,視差等於同名點在左影像上的列號減去在右影像上的列號。在核線糾正後,相機座標系的X軸與基線平行,Z軸與像平面垂直,如圖3所示,

圖3 深度與視差

  通過三角形POlOr和Ppp相似可以得到

式1 深度與視差

  進而推匯出

式2 深度與視差2

  式2中,f為相機焦距(或主距),d為視差。式2描述的是深度與視差之間的關係。在雙目立體匹配中視差圖和深度圖都可以作為匹配的結果,視差圖總儲存每個畫素的視差值,是立體匹配演算法中最常用的輸出方式。圖4是航空影像與近景影像的雙目立體核線像對及視差圖示意圖,圖中航空影像視差圖為立體匹配演算法所得,近景影像視差圖為真實視差圖。

圖4 航空影像與近景影像的視差圖示意圖