第三章 遮蔽對視差估算的影響
4.3 對稱立體演算法
對稱立體演算法是一種對兩張輸入影像的立體匹配問題做最佳化的演算 法。由於基本總體最佳化只針對一張視差圖的匹配代價以及不連續代價做最佳 化,因而可能產生如圖 4.5 所示的情況:畫素 A 經過最佳化之後判斷畫素 B 為 最有可能與它匹配的畫素,但是以畫素 B 的觀點,在 L1 中還存在著比畫素 A 更 有可能匹配的畫素。而對稱立體演算法針對這種失誤做了改善。藉著幾項嚴格但 實際的限制,對稱立體演算法能夠有效的確保兩張輸入影像之間尋找每一對最有 可能匹配的畫素。而面對兩張輸入影像架構中無可避免的遮蔽區域問題,對時垃 體演算法的策略是將遮蔽區域偵測出來加以標記,並不估算視差。將對稱立體演 算法推廣至四張輸入影像的架構,我們的做法分成兩階段:第一階段先以兩張輸 入影像的架構找出各對匹配的畫素以及無法匹配的遮蔽區域。第二階段再以四張 輸入影像的架構修補被偵測並標記為遮蔽區域的畫素的視差值。
圖 4.5: 以基本總體最佳化尋找匹配點的不對稱狀況
4.3.1 對稱立體演算法的基本限制
兩張輸入影像的對稱立體演算法的基本理論乃建構於下列幾條限制之上:
1.可能的視差值落在一特定範圍之內。
2.一條極線中的一個畫素最多只能和另一條極線中的一個畫素匹配。
3.如圖 4.6 所示,A 為極線 L1 中的一個畫素,B 為 L1 當中位於 A 左側的 另一畫素,若 A 與 L2 中的 C 畫素匹配,則 B 不可能與 L2 中 C 右邊的畫素匹配。
4.如圖 4.7 所示,若在極線 L1 中產生一遮蔽區域,A 與 B 為該區域邊緣 A
B
L1
L2
的兩個未遮蔽的畫素,則 L2 中與 A、B 匹的兩個畫素必定相鄰。 價(occlusion cost)。除了輸入影像兩端的畫素必定無法找到匹配的畫素,所以不必 付出遮蔽代價之外,對於其它每一個受到遮蔽的畫素,遮蔽代價為一定值。雖然
(a) (b)
圖 4.8: (a)實際的遮蔽狀況 (b) 遮蔽代價非定值可能產生的錯誤。
接下來我們將對稱立體演算法的最佳化以動態規劃的方式實現。對稱立體演 算法的節點圖與圖 4.2 所示的基本總體最佳化的節點圖非常類似。一樣是以各個 畫素的所有可能的視差值決策做為節點。差別在於各節點連接的方式與距離的計 算。如圖 4.9 所示,考慮以 L1 為基準,從左邊出發的對稱立體演算法。一開始 必定會先遇到一段無法匹配的區域之後,A 畫素才與 L2 的第一個畫素匹配。若 在 L2 發生遮蔽,以 L1 的觀點而言相當於連續的畫素之間產生了視差值的遞減,
遞減量可以為任意值。若在 L1 發生遮蔽,則可以視為不相鄰的畫素間產生視差 值遞增,遞增量為兩畫素之間的距離減一。
圖 4.9: 以 L1 為基準的立體匹配示意圖
跟據上一段。欲在 L1 的某畫素做了一個視差值的決策,則必定是上一個畫 素做了大於或等於此畫數的視差值決策,或是前幾個畫素做了小於它的視差值決 策。這個結論就是對稱立體演算法在動態規劃的節點圖中各節點之間連結建立的 依據。依此我們得到了圖 4.10 的連結示意圖。
L1
L2
L1
L2
L1
L2 A
圖 4.10: 對稱立體演算法的子問題與其可能的解
4.2.3 以四張輸入影像的架構修補對稱立體演算法。
以兩張輸入影像架構搭配對稱立體演算法求出了兩張互相匹配的視差圖之 後,我們所要進行的工作是改以四張輸入影像的架構修補被標記出來的遮蔽區 域。這個工作基本上和四張輸入影像架構的基本的總體最佳化方法是一樣的。唯 一要注意的是如圖 4.11 所示的失誤狀況。當場景複雜度較高,且攝影機解析度 不足的情況下,輸入影像容易發生取樣失真。在失真的區域當中,實際的視差決 策也會有很高的匹配代價。當匹配代價高於遮蔽代價的時候,動態規劃就會做出 錯誤的決策。因此,為了演算法的抗誤能力,當我們進行遮蔽區域的視差值修補 的時候,必須將 L1 的遮蔽區域左邊的一個畫素以及 L2 的遮蔽區域右邊的一個畫 素一起修補。而圖 4.12 是對稱立體演算法與修補機制的示意圖。
disparit
pixe
Candidate solutions of sub-problem
Sub-problem
圖 4.12: 對稱立體演算法與修補機制示意圖
圖 4.13 是以 SWP 計算匹配代價、以對稱立體演算法進行總體最佳化,並且 把偵測到的遮蔽區域加以標記(圖 4.12 中的白色區域)、最後再搭配四張輸入影像 的架構做遮蔽區域的視差值修補。比較圖 4.12 的(c)與(e)可以發現對稱式立體演 算法比起基本的總體最佳化在視差估算上的改善。
(a) (b)
(c) (d) (e)
圖 4.13: 對稱立體演算法與基本總體最佳化的比較 (a)輸入影像 (b)ground truth (c)基本總體最佳化所得到的視差圖 (d)對稱立體演算法的最佳化與遮蔽區(畫面中的白色區域)之偵測
(e)以四張輸入影像架構修補圖 4.13 (d)遮蔽區之後的視差圖
symmetric stereo algorithm
repair function
repair function
occlusion detected completed
第五章 實驗結果
本章以一些測試影像實驗我們的演算法。並且以理論值檢驗所提的方法估算 出來的視差圖以及 image-based rendering 所得到的輸出影像並與其它現有的方方 做比較。以它們的誤差量來評估與比較各種方法之間的優劣。