第四章 適用於二維攝影機陣列之影像合成方法
4.2 參考鄰近影像進行視差估測
(a) (b)
圖 4-3 因為物體位置太接近影像邊緣,導致兩者之間的區域視差值錯誤:(a)原 始影像 (b)原始影像的視差圖,其中標記區域為視差值錯誤區域
4.2 參考鄰近影像進行視差估測
在二維攝影機陣列上,對於一台給定的攝影機O 和其鄰近的攝影機位置關c
係如圖 4-4 所示,其中Or、O 、l O 以及d O 各表示u O 位置的右方、左方、下方、c 和上方的攝影機。假設圖 4-5 為這五台攝影機所擷取到的影像,並依照所對應的 攝影機分別標記為I 、c Ir、I 、l I 以及d I 。 u
圖 4-4 給定的攝影機O 和鄰近攝影機之間的位置關係 c
36
(a)
(b) (c) (d)
(e)
圖 4-5 攝影機O 和鄰近攝影機的擷取影像: c (a)攝影機O 的擷取影像 (b)攝影機u O 的擷取影像 l (c)攝影機O 的擷取影像 (d)攝影機c Or的擷取影像
(e)攝影機O 的擷取影像 d
若要計算影像I 的視差圖,傳統作法只會參考右邊的影像c Ir。我們將此方法 延伸,以I 為中心,分別參考周遭四張影像進行視差估測,其結果如圖 4-6。需c 要注意的是,參考影像的位置不同,進行對應點搜尋時的掃描線選取和搜尋方向
37
也會跟著改變。例如,以右邊攝影機的擷取影像Ir作參考,搜尋時是以I 和c Ir上 同樣高度的水平掃描作為比較,並以掃描線最左邊的 pixel 作為起始點向右搜尋,
如圖 4-7(a);若參考下方攝影機的擷取影像I ,則是比較d I 和c I 上同樣位置的d 垂直掃描線,並以掃描線最上方的 pixel 作為搜尋的起始點,如圖 4-7(b)。
(a) (b)
(c) (d) 圖 4-6 參考不同位置的攝影機所得到的視差圖:
(a)參考攝影機Or (b)參考攝影機O l (c)參考攝影機O (d)參考攝影機d O u
38
Scanline xC Scanline xR
0 1 2 3 4 5 6 7 8
Scanline xD Scanline xC
39
為了從不同搜尋方向的視差圖中得到一個較理想的結果,我們採用投票的方 式來決定影像I 中每個 pixel 視差值大小。對於影像c I 中一個給定位置的 pixel c P, 最直接的投票方式就是選擇在不同視差圖上,同樣位置出現次數最多的視差值作 為該 pixel 應有的視差值。但這顯然不是一個很客觀的方法,因此我們進行投票 時會以P為中心設置一個視窗,並將視窗內視差資料一併列入考慮。以下我們介 紹三種不同視窗:
(1) 視窗和掃描線方向無關
若不考慮掃描線的方向,則視窗是一個以點P為中心的方形,如圖 4-8,
其中 X 表示該點為 occlusion。我們統計四張視差圖中在視窗內各視差值出 現的次數(occlusion 區域不列入統計),並選擇出現次數最多的結果作為點
P的視差值。
(a) (b)
圖 4-8 視窗和掃描線方向無關的情形,點P為圖中紅色的區塊,方形紅框為視 窗,紫色虛線標記為掃描線位置:(a)掃描線方向為水平 (b)掃描線方向為垂直
(2) 視窗和掃描線方向相同
若視窗方向和掃描線方向相同,則視窗視一個以點P為中心且和掃描線方 向的矩形,如圖 4-9。
40
(a) (b)
圖 4-9 視窗和掃描線方向相同的情形,點P為圖中紅色的區塊,矩形紅框為視 窗,紫色虛線標記為掃描線位置:(a)掃描線方向為水平 (b)掃描線方向為垂直
(3) 視窗和掃描線垂直
若視窗方向和掃描線垂直,則視窗視一個以點P為中心和掃描線方向垂直 的矩形,如圖 4-10。
(a) (b)
圖 4-10 視窗和掃描線方向垂直的情形,紅點表示P所在的位置,方形紅框為視 窗,紫色虛線標記為掃描線位置:(a)掃描線方向為水平 (b)掃描線方向為垂直
圖 4-11 是分別以三種視窗對圖 4-6 進行投票的結果。可以明顯看出第一種 視窗會造成方形角落的部份變成圓弧狀,而第二種和第三種方式在這個範例中僅
41
在物體邊緣上出現細微的差異。
(a)
(b) (c)
圖 4-11 三種視窗對圖 4-6 進行投票的結果:(a)視窗和掃描線無關 (b)視窗和掃 描線方向相同 (c)視窗和掃描線方向垂直
為了更明顯區別第二種和第三種視窗的差異,我們以圖 4-12 來進行測試,
其結果如圖 4-13 所示。可以看出第一種視窗仍然會造成邊緣變得圓滑而外觀嚴 重變形。而第二種視窗則會造成物體在視差圖中的面積比原本影像中大,導致部 份背景的視差值被物體的視差值覆蓋,例如圖 4-13(b)中所標記的區域。使用第 三種視窗的結果在物體邊緣上雖然也有許些變形,但和第二種視窗相比明顯變形 較接近原本影像。因此,我們選擇視窗方向和掃描線方向垂直作為我們的投票機 制。
42
圖 4-12
(a)
(b) (c)
圖 4-13 三種視窗對圖 4-12 進行投票的結果:(a)視窗和掃描線無關 (b)視窗和掃 描線方向相同 (c)視窗和掃描線方向垂直
43
圖 4-14 是採用掃描線方向垂直的投票機制下比較視窗大小對視差圖的影響,
其視窗長度分別為 5、10、15、以及 20 個 pixel。觀察圖中可以發現,當視窗太 小時,參考的資料不足,容易造成物體邊緣區域視差值不一致,如圖 4-14(a)中 標記部份;而當視窗太大時,容易將其他物體的視差值一起列入參考,導致物體 邊緣變形或兩物體的間區域視差值錯誤,如圖 4-14(d)。經實驗測試後,視窗長 度以 10 個 pixel 最佳。
(a) (b)
(b) (d)
圖 4-14 不同視窗大小對投票結果的影響情形(a)視窗長度為 5 個 pixel (b)視窗長 度為 10 個 pixel (c)視窗長度為 15 個 pixel (d)視窗長度為 20 個 pixel
此外,若出現票數相同的情形時,我們選擇較大視差值的作為最後結果。這 是因為視差值越大,代表物體越接近攝影機,其資訊相對較為重要。所以在無法
44
判定視差值時,選擇較大的視差值較能減少遺失重要資訊的風險。