立體匹配算法介紹

首先介紹一篇比較好的介紹立體匹配的綜述性文章:http://wenku.baidu.com/view/5b359d7d5acfa1c7aa00cc7b.html

而後有一個較好的介紹立體匹配的PPT:http://wenku.baidu.com/view/cabedc4bc850ad02de804124.html

下面的內容轉載自:http://www.360doc.com/content/12/0621/19/10004630_219681094.shtml,具體介紹了立體匹配十個方面的概念:

一、概念

        立體匹配算法主要是通過建立一個能量代價函數,通過此能量代價函數最小化來估計像素點視差值。立體匹配算法的實質就是一個最優化求解問題,通過建立合理的能量函數,增加一些約束,採用最優化理論的方法進行方程求解,這也是所有的病態問題求解方法。

二、主要立體匹配算法分類

1)根據採用圖像表示的基元不同,立體匹配算法分爲:

       A、區域立體匹配算法(可獲取稠密視差圖。缺點:受圖像的仿射畸變和輻射畸變影響較大;像素點約束窗口的大小與形狀選擇比較困難,選擇過大,在深度不連續處,視差圖中會出現過度平滑現象;選擇過小,對像素點的約束比較少,圖像信息沒有得到充分利用,容易產生誤匹配。)

       B、基於特徵的立體匹配算法(可獲得稀疏的視差圖,經差值估計可獲得稠密視差圖。可提取點、線、面等局部特徵,也可提取多邊形和圖像結構等全局特徵。缺點:特徵提取易受遮擋、光線、重複紋理等影響較大;差值估計計算量大)

       C、基於相位立體匹配算法(假定在圖像對應點中,其頻率範圍內,其局部相位是相等的,在頻率範圍內進行視差估計)

2)依據採用最優化理論方法的不同,立體匹配算法可以分爲:

       A、局部的立體匹配算法

       B、全局的立體匹配算法

三、匹配基元(match primitive)

目前匹配算法中所採用的匹配基元可以分成兩大類:

1)在所有圖象像素點上抽取量測描述子

      A、像素灰度值(最簡單、直接,但必須在同一光照條件下獲得)

      B、局部區域灰度函數(主要是利用求得在各種大小不同窗口中灰度分佈的導數信息,描述像素點周圍的結構矢量。)

      C、卷積圖象符號(利用各種大小算子與圖象進行卷積,用灰度梯度局部極大值或極小值作爲特徵信息,描述整個圖像)

2)圖像特徵

      A、過零點

      B、邊緣(由於邊緣是圖像特徵位置的標誌,對灰度值的變化不敏感,邊緣是圖像匹配的重要特徵和描述子)

      C、角點(雖然其沒有明確的數學定義,但大家普遍認爲角點,即二維圖像亮度變化劇烈的點或邊緣曲線上曲率極值點)

四、區域匹配算法

        基本原理是給定在一幅圖像上的某一點,選取該像素點鄰域內的一個子窗口,在另一幅圖像中的一個區域內,根據某種相似性判斷依據,尋找與子窗口圖像最爲相似的子圖,而其匹配的子圖中對應的像素點就爲該像素的匹配點。

        一般單純的區域匹配都遇到如下限制:

       1)針對弱紋理或存在重複紋理的區域,匹配結果不好

       2)該算法不適應於深度變化劇烈的場景

       3)對光照、對比度和噪聲比較敏感

       4)子窗體的大小很難選擇

五、特徵匹配算法

        特徵的匹配算法,主要是基於幾何特徵信息(邊緣、線、輪廓、興趣點、角點和幾何基元等),針對幾何特徵點進行視差估計,所以先要提取圖像的特徵點,盡而利用這些特徵點的視差值信息來重建三維空間場景。

        匹配所需要的主要步驟:圖像預處理、提取特徵、特徵點的匹配獲取稀疏視差圖,如果想得到稠密的視差圖,需要採用插值的方法。

六、全局匹配算法

        全局立體匹配算法主要是採用了全局的優化理論方法估計視差,建立全局能量函數,通過最小化全局能量函數得到最優視差值。

        全局匹配算法得到的結果比較準確,但是其運行時間比較長,不適合實時運行。主要的算法有圖割(graph cuts)、信念傳播(belief propagation)、動態規劃等算法。

七、局部匹配算法(個人覺得跟區域匹配類似,角度不同而已)

        主要是採用局部優化方法進行視差值估計,局部立體匹配算法有 SAD,SSD 等算法,與全局立體匹配算法一樣,也是通過能量最小化方法進行視差估計,但是,在能量函數中,只有數據項,而沒有平滑項。

       主要分爲三類:自適應窗體立體匹配算法、自適應權值的立體匹配算法和多窗體立體匹配算法。

八、立體匹配約束

1)極線約束
2)唯一性約束

3)視差連續性約束

4)順序一致性約束

5)相似性約束

九、相似性判斷標準

1)像素點灰度差的平方和,即 SSD

2)像素點灰度差的絕對值和,即 SAD

3)歸一化交叉相關,簡稱 NCC

4) 零均值交叉相關,即 ZNCC

5)Moravec 非歸一化交叉相關,即 MNCC

6) Kolmogorov-Smirnov 距離,即 KSD

7)Jeffrey 散度

8)Rank 變換(是以窗口內灰度值小於中心像素灰度值的像素個數來代替中心像素的灰度值)

9)Census 變換(是根據窗口內中心像素灰度與其餘像素灰度值的大小關係得一串位碼,位碼長度等於窗口內像素個數減一)

十、評價參數

        立體匹配算法是一個病態問題,一般通過建立能量函數,利用最小化能量函數,和一些約束條件,採用最優化理論方法進行求解方程。

        公認的定量評價參數有:均方根誤差(Root-mean-squared)和誤匹配率(percentage of bad matching pixels)

  

     其中,利用極線約束、唯一性約束、順序性約束以及特徵約束的方法較爲常用。對於場景連續變化,縮放、光照以及旋轉變化不大的場景來說,模板匹配算法(SSD、SAD等)配合極線和特徵約束可以實現快速得到稠密匹配的目的。同時爲了加速可以考慮利用改進的模板匹配算法以及GPU加速。

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