立體匹配 立體匹配過程

2021-08-01 21:33:14 字數 1029 閱讀 9427

立體匹配就4個步驟:

匹配代價計算,代價聚合,計算視差,視差精化

。匹配代價計算: 一般是通過計算左右兩圖對應畫素3個通道的灰度值差來決定匹配代價的,

常用的就是基於畫素點匹配代價計算,一般有ad, sd,tad什麼的,基於區域的匹配代價計算一般有sad,ssd, stad之類的。匹配代價計算會生成乙個disparity space image,也就是dsi。這個dsi是乙個三維的空間,也就是每乙個視差,得到一張代價圖。假如視差範圍是0~16,則會得到17幅代價圖。

視差搜尋範圍就是middleburry**上的stereo pair值,也就是說在視差範圍內(比如0-16)內搜尋匹配代價,得到17張匹配代價圖,然後找到匹配代價最小的對應的視差值就是此畫素對應的視差。

代價聚合:

其實就是乙個濾波的過程,對每一幅代價圖進行聚合,最簡單的就是採用boxfilter。第一步代價計算只是得到了影象上所有孤立畫素的視差值,但是這些時差值都是孤立的,引入了過多雜訊,比如一片區域的視差值都是10,可是引入雜訊後就會導致這一片的視差值都不一樣,那麼就需要乙個濾波的過程,也就是我們所說的區域性立體匹配方法,即採用視窗卷積達到區域性濾波的目的。

計算視差:

常用的方法就是wta演算法(區域性),對於影象中的同乙個點,選出17幅代價圖中匹配代價最小的那張圖,該幅圖對應的視差值就選取為最終的視差。

或者在全域性立體匹配中採用能量函式的方法,分為資料項和平滑項,資料項其實就是代價計算,平滑項就是代價聚合,只不過視窗大小是整幅影象,也可以試試如果把平滑項前面的係數lamda設為0,那麼得到的結果和單純代價計算的區域性立體匹配是一樣的。

視差精化:

也就是對得到的視差進行優化的過程,如:左右一致性檢測、區域投票等;這步其實是很多立體匹配的遮羞布,比如用遮擋處理,中值濾波,左右一致性檢測等,都能使最後的是視差圖提公升1%左右,它是很多**的遮羞布。但是不可否認的是,立體匹配最關鍵的步驟仍然是代價計算和代價聚合步驟。

在立體匹配

方法中,基於全域性和區域性的演算法有些區別。不過基本步驟都差不多。有些時候,基於區域性的演算法,第一步和第二步是合併在一起進行的,基於全域性的演算法,會跳過第二步。

雙目立體匹配

公式 其中資料項描述了匹配程度,平滑項體現了定義場景的約束,c是匹配代價 或稱penalty p是不同兩畫素p和q視差的函式,一般稱之為平滑項 考慮到能量優化問題在一維空間的複雜度是多項式級的,因此一些研究試圖做一些近似來降低演算法的複雜度。例如,半全域性演算法 sgm 就利用了這一特性將二維問題簡...

立體匹配演算法 RankTransform

1.基本介紹 立體匹配演算法,關鍵是計算左右圖對應點的匹配代價。但是基於畫素的匹配方法有乙個問題就是對於重複紋理區域,支援視窗選取太小則不利於獲取準確的匹配代價,視窗選取過大則計算複雜度過高。對於這種情況,我們應該適當的考慮支援視窗的結構資訊,但是結構資訊如何表示,怎樣定量計算,這裡就要用到標題中提...

立體匹配演算法 RankTransform

1.基本介紹 立體匹配演算法,關鍵是計算左右圖對應點的匹配代價。但是基於畫素的匹配方法有乙個問題就是對於重複紋理區域,支援視窗選取太小則不利於獲取準確的匹配代價,視窗選取過大則計算複雜度過高。對於這種情況,我們應該適當的考慮支援視窗的結構資訊,但是結構資訊如何表示,怎樣定量計算,這裡就要用到標題中提...