立体匹配十大概念综述---立体匹配算法介绍
from:https://blog.csdn.net/wintergeng/article/details/51049596
一、概念
??????? 立體匹配算法主要是通過建立一個能量代價函數(shù),通過此能量代價函數(shù)最小化來估計像素點(diǎn)視差值。立體匹配算法的實(shí)質(zhì)就是一個最優(yōu)化求解問題,通過建立合理的能量函數(shù),增加一些約束,采用最優(yōu)化理論的方法進(jìn)行方程求解,這也是所有的病態(tài)問題求解方法。
二、主要立體匹配算法分類
1)根據(jù)采用圖像表示的基元不同,立體匹配算法分為:
?????? A、區(qū)域立體匹配算法(可獲取稠密視差圖。缺點(diǎn):受圖像的仿射畸變和輻射畸變影響較大;像素點(diǎn)約束窗口的大小與形狀選擇比較困難,選擇過大,在深度不連續(xù)處,視差圖中會出現(xiàn)過度平滑現(xiàn)象;選擇過小,對像素點(diǎn)的約束比較少,圖像信息沒有得到充分利用,容易產(chǎn)生誤匹配。)
?????? B、基于特征的立體匹配算法(可獲得稀疏的視差圖,經(jīng)差值估計可獲得稠密視差圖。可提取點(diǎn)、線、面等局部特征,也可提取多邊形和圖像結(jié)構(gòu)等全局特征。缺點(diǎn):特征提取易受遮擋、光線、重復(fù)紋理等影響較大;差值估計計算量大)
?????? C、基于相位立體匹配算法(假定在圖像對應(yīng)點(diǎn)中,其頻率范圍內(nèi),其局部相位是相等的,在頻率范圍內(nèi)進(jìn)行視差估計)
2)依據(jù)采用最優(yōu)化理論方法的不同,立體匹配算法可以分為:
?????? A、局部的立體匹配算法
?????? B、全局的立體匹配算法
三、匹配基元(match primitive)
目前匹配算法中所采用的匹配基元可以分成兩大類:
1)在所有圖象像素點(diǎn)上抽取量測描述子
????? A、像素灰度值(最簡單、直接,但必須在同一光照條件下獲得)
????? B、局部區(qū)域灰度函數(shù)(主要是利用求得在各種大小不同窗口中灰度分布的導(dǎo)數(shù)信息,描述像素點(diǎn)周圍的結(jié)構(gòu)矢量。)
????? C、卷積圖象符號(利用各種大小算子與圖象進(jìn)行卷積,用灰度梯度局部極大值或極小值作為特征信息,描述整個圖像)
2)圖像特征
????? A、過零點(diǎn)
????? B、邊緣(由于邊緣是圖像特征位置的標(biāo)志,對灰度值的變化不敏感,邊緣是圖像匹配的重要特征和描述子)
????? C、角點(diǎn)(雖然其沒有明確的數(shù)學(xué)定義,但大家普遍認(rèn)為角點(diǎn),即二維圖像亮度變化劇烈的點(diǎn)或邊緣曲線上曲率極值點(diǎn))
------------------------------------------------------------------基元-----------------------------------------------------------------------------------------
-
點(diǎn):利用圖像的局部特征信息作為匹配基元,表示一個像素,如像素灰度值,角點(diǎn),邊緣,卷積等。
-
塊:局部區(qū)域內(nèi)所有像素的灰度、亮度特征值,對區(qū)域內(nèi)所有像素進(jìn)行變化,如卷積、梯度變換和Censes變換等。
-
線:一般是像素灰度信息發(fā)生急劇變化的像素點(diǎn)集,最能體現(xiàn)邊緣特征。
檢測邊緣的算子如Sobel算子、Canny算子、Log算子和Prewitt算子等。
------------------------------------------------------------------基元end------------------------------------------------------------------------------------------
四、區(qū)域匹配算法
??????? 基本原理是給定在一幅圖像上的某一點(diǎn),選取該像素點(diǎn)鄰域內(nèi)的一個子窗口,在另一幅圖像中的一個區(qū)域內(nèi),根據(jù)某種相似性判斷依據(jù),尋找與子窗口圖像最為相似的子圖,而其匹配的子圖中對應(yīng)的像素點(diǎn)就為該像素的匹配點(diǎn)。
??????? 一般單純的區(qū)域匹配都遇到如下限制:
?????? 1)針對弱紋理或存在重復(fù)紋理的區(qū)域,匹配結(jié)果不好
?????? 2)該算法不適應(yīng)于深度變化劇烈的場景
?????? 3)對光照、對比度和噪聲比較敏感
?????? 4)子窗體的大小很難選擇
五、特征匹配算法
??????? 特征的匹配算法,主要是基于幾何特征信息(邊緣、線、輪廓、興趣點(diǎn)、角點(diǎn)和幾何基元等),針對幾何特征點(diǎn)進(jìn)行視差估計,所以先要提取圖像的特征點(diǎn),盡而利用這些特征點(diǎn)的視差值信息來重建三維空間場景。
??????? 匹配所需要的主要步驟:圖像預(yù)處理、提取特征、特征點(diǎn)的匹配獲取稀疏視差圖,如果想得到稠密的視差圖,需要采用插值的方法。
六、全局匹配算法
??????? 全局立體匹配算法主要是采用了全局的優(yōu)化理論方法估計視差,建立全局能量函數(shù),通過最小化全局能量函數(shù)得到最優(yōu)視差值。
??????? 全局匹配算法得到的結(jié)果比較準(zhǔn)確,但是其運(yùn)行時間比較長,不適合實(shí)時運(yùn)行。主要的算法有圖割(graph cuts)、信念傳播(belief propagation)、動態(tài)規(guī)劃等算法。
七、局部匹配算法(個人覺得跟區(qū)域匹配類似,角度不同而已)
??????? 主要是采用局部優(yōu)化方法進(jìn)行視差值估計,局部立體匹配算法有 SAD,SSD 等算法,與全局立體匹配算法一樣,也是通過能量最小化方法進(jìn)行視差估計,但是,在能量函數(shù)中,只有數(shù)據(jù)項(xiàng),而沒有平滑項(xiàng)。
?????? 主要分為三類:自適應(yīng)窗體立體匹配算法、自適應(yīng)權(quán)值的立體匹配算法和多窗體立體匹配算法。
八、立體匹配約束
1)極線約束
2)唯一性約束
3)視差連續(xù)性約束
4)順序一致性約束
5)相似性約束
----------------------------------------------------------------匹配約束--------------------------------------------------------------------------------------
-
極線約束:
如圖所示,三維空間的一個映射點(diǎn),其匹配點(diǎn)必定在另一圖像的極線上,理想情況下,匹配點(diǎn)對位于同一水平線上即坐標(biāo)y值相同。故只需在對應(yīng)的水平線上搜素匹配點(diǎn),大大提高了匹配效率。
-
唯一性約束:
三維空間點(diǎn)至多只一個圖像上的映射點(diǎn)(遮擋則沒有映射點(diǎn)),匹配時左右圖像上只有唯一一個匹配點(diǎn)。
-
連續(xù)性約束:
三維空間中物體表面是光滑的,匹配得到的視差圖大部分情況下是連續(xù)且光滑變化的。一般使用較小的視差梯度降低匹配的搜索范圍和待匹配點(diǎn)的數(shù)量以提高匹配速度。
-
相似性約束:
三維空間中的物體在不同視角下投影產(chǎn)生的匹配基元(點(diǎn)、塊、線)必須要有相同或相似的屬性。由于光照等因素的影響,相似性約束具有局限性。
-
順序一致性約束:
三維空間中物體上的點(diǎn)的位置信息在映射到兩幅圖像上的位置順序不會改變。這是不透明物體表面投影的幾何學(xué)必然性。
-
平滑性約束:
假設(shè)三維空間中物體表面是平滑的,則視差圖上除物體邊界位置會有大的視差波動以外,其他位置上匹配視差的變化很小。
-
左右一致性約束:
如圖所示,參考圖上像素點(diǎn)p點(diǎn)在匹配圖上的點(diǎn)是q,則參考圖上像素點(diǎn)q在匹配圖上是p。如果兩次搜索的結(jié)果不對應(yīng),則改點(diǎn)不可靠。常用于遮擋區(qū)域的檢測。
-
視差范圍約束:
兩臺攝像機(jī)之間具有一定的距離,在沿極線搜索時,搜索的范圍應(yīng)小于一定的閾值。視差范圍約束限制了搜索的范圍。
-----------------------------------------------------------------匹配約束end----------------------------------------------------------------------------------
九、相似性判斷標(biāo)準(zhǔn)
1)像素點(diǎn)灰度差的平方和,即 SSD
2)像素點(diǎn)灰度差的絕對值和,即 SAD
3)歸一化交叉相關(guān),簡稱 NCC
4) 零均值交叉相關(guān),即 ZNCC
5)Moravec 非歸一化交叉相關(guān),即 MNCC
6)?Kolmogorov-Smirnov?距離,即 KSD
7)Jeffrey 散度
8)Rank 變換(是以窗口內(nèi)灰度值小于中心像素灰度值的像素個數(shù)來代替中心像素的灰度值)
9)Census 變換(是根據(jù)窗口內(nèi)中心像素灰度與其余像素灰度值的大小關(guān)系得一串位碼,位碼長度等于窗口內(nèi)像素個數(shù)減一)
各類代碼實(shí)現(xiàn)參考:https://blog.csdn.net/liyingjiang22/article/details/53156331
十、評價參數(shù)
??????? 立體匹配算法是一個病態(tài)問題,一般通過建立能量函數(shù),利用最小化能量函數(shù),和一些約束條件,采用最優(yōu)化理論方法進(jìn)行求解方程。
??????? 公認(rèn)的定量評價參數(shù)有:均方根誤差(Root-mean-squared)和誤匹配率(percentage of bad matching pixels)
總結(jié)
以上是生活随笔為你收集整理的立体匹配十大概念综述---立体匹配算法介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 终端命令字体大小,如何更改U
- 下一篇: c语言使用CodeBlocks软件,使用