入門 | Stereo Vision(四)立體匹配的代價計算和聚合

首先,pipeline先來:

在這裏插入圖片描述

現在校正也做完後,就到了correspondence,這一步也叫做stereo matching。
直觀來說,就是找到左右兩幅圖中,對應於現實中同一點的點,這樣之後,再通過兩點間的視差,就可以得到現實中這個點的深度信息。

既然是找兩幅圖中的相同點,必然要判斷兩個點之間的相似性,所以要有一個相似性的描述,這個描述我們叫做matching cost;然而只從一個點出發是不合理的,因爲在圖中的像素之間肯定是有聯繫的,所以需要考慮像素之間的相關性,來優化之前的cost。得到兩點的對應關係後,就可以計算視差。所以correspondence的基本步驟如下:

在這裏插入圖片描述
現有的算法主要分爲全局算法和局部算法。

全局算法是對於每個點找他對應的最優匹配點,來使整幅圖的代價最小,一般不經過代價聚合步驟。

局部算法則是在局部匹配,需要經過代價聚合來整合每個patch之間的信息。

匹配代價計算

這一步是要描述兩個像素點的相似性,樸素的想法就是直接計算兩個點像素值的差異,但是這種簡單的算法因爲只從一個點考慮,往往容易受到噪聲的影響,於是有優化方法是放一個window,計算其中的點的像素差值之和。但是這種基於像素值的算法,會對光線和畸變十分敏感,產生一定誤差。

於是有一些不基於像素值的算法,如census算法和Rank變換等。

這裏簡單介紹一下census的基本思想。

在圖中找一個點,以它爲中心劃一個3x3的矩陣,將矩陣中的點與中心點比較,大於中心點的記爲0,小於記爲1,則可以產生一個8位的序列,記爲中心點的census序列。
將兩個點的census序列做異或,統計結果中的1的個數,記爲兩個點的漢明距離,距離越短越相似。
因爲不是基於像素值,而是基於點之間的關係,所以census方法有抗光畸變,效率高穩定等優點。

代價聚合

參考:https://blog.csdn.net/Gavinmiaoc/article/details/92804547

因爲局部算法在計算代價時,只考慮了局部的信息,在特徵明顯的地方能夠匹配的較好,但在一些噪聲大的邊緣區域往往難以匹配,所以採用代價聚合的方法,每個像素在某個視差下的新代價值都會根據其相鄰像素在同一視差值或者附近視差值下的代價值來重新計算,得到新的DSI,用矩陣S來表示。這是基於同一深度的像素有相同的視差值的先驗知識。
代價聚合也可以理解爲視差的傳播,讓信噪比高的區域的視差傳播到信噪比低的區域,使所有點的代價都能較好地表示真實的相關性。

常用的方法:掃描線法、動態規劃法、SGM算法中的路徑聚合法。

視差計算

這一步就是在得到對應點的基礎上,計算視差即可,就是求下圖中的|XR - XT|
在這裏插入圖片描述
所以在整個Stereo Matching的過程中,最難的點就是代價的計算和代價的聚合,這裏只是做了一個簡單的介紹,很多美妙的算法(包括基於DL的方法)會進一步補充。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章