郭 倩,張福楊,孫農(nóng)亮
山東科技大學(xué) 電子通信與物理學(xué)院,山東 青島266590
雙目立體匹配一直是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)基本問(wèn)題和研究熱點(diǎn),其核心思想是在兩幅圖像之間建立對(duì)應(yīng)關(guān)系,該技術(shù)可應(yīng)用在3D 模型、機(jī)器人導(dǎo)航、三維場(chǎng)景重建、零件檢測(cè)以及基于圖像渲染等領(lǐng)域。20 世紀(jì)90年代以來(lái),立體匹配研究出現(xiàn)了兩個(gè)方向,一種是偏重于實(shí)時(shí)性的局部特征法,另一種是偏重于算法準(zhǔn)確性的全局匹配算法[1]。局部立體匹配通常可分為四個(gè)步驟:代價(jià)計(jì)算、代價(jià)聚合、視差計(jì)算和視差精化[2]。全局立體匹配通過(guò)隨機(jī)生成視差粗略圖,最小化全局能量方程,得到最優(yōu)視差圖。采用的匹配技術(shù)主要有置信度傳播算法[3]、圖割算法[4]、動(dòng)態(tài)規(guī)劃算法[5]、二次規(guī)劃算法[6]等。
全局立體匹配方法在應(yīng)用中匹配精度高,但實(shí)際執(zhí)行效率卻很低,無(wú)法滿(mǎn)足實(shí)時(shí)性的要求[7]。局部立體匹配算法以像素點(diǎn)為中心構(gòu)建局部窗口,通過(guò)計(jì)算窗口內(nèi)的像素相似性求取初始匹配代價(jià),具有計(jì)算速度快、易于實(shí)現(xiàn)的優(yōu)點(diǎn)。常用的像素相似性度量方法主要有:像素點(diǎn)灰度差(SAD)、歸一化交叉變換(NCC)、Rank 變換、Census變換[8]等,并通過(guò)在一定范圍內(nèi)代價(jià)聚合得到初始視差值。但是由于支持窗口的大小難以選擇,Zhang等人[9]將自適應(yīng)支持窗口用于代價(jià)聚合過(guò)程,Mei等人[10]對(duì)文獻(xiàn)[9]進(jìn)行改進(jìn),增大自適應(yīng)窗口的約束條件,提高匹配精度。Lee 和Hong[11]通過(guò)對(duì)左右圖像分別求各自的自適應(yīng)支持窗口進(jìn)行AND 操作,得出最終的代價(jià)聚合支持窗口,對(duì)文獻(xiàn)[10]進(jìn)一步改進(jìn)。文獻(xiàn)[12-13]分別提出基于最小生成樹(shù)(MST)和分割樹(shù)(ST)的代價(jià)聚合方法,在匹配精度上取得了較好的效果。Kang等人[14]利用人眼視覺(jué)由粗到細(xì)的特征,將CTF 框架用于立體匹配,在視差精度上進(jìn)一步得到了改進(jìn),速度上并沒(méi)有很大的提升。馬龍等人[15]利用強(qiáng)相似點(diǎn)檢測(cè)對(duì)雙目圖像進(jìn)行立體匹配,提高了匹配速度,但是在缺乏紋理區(qū)域匹配精度不高。文獻(xiàn)[16]將超像素分割應(yīng)用于立體匹配,并通過(guò)對(duì)超像素建立馬爾科夫場(chǎng)進(jìn)行匹配代價(jià)聚集,視差效果得到了較好的改進(jìn),但是在缺乏紋理區(qū)域卻不能很好的匹配。
本文基于多特征信息進(jìn)行代價(jià)計(jì)算,利用超像素分割將具有相似度高的像素聚合為超像素,并基于米字骨架自適應(yīng)搜索方法計(jì)算聚合范圍。在視差精化步驟,采用左右一致性檢測(cè)檢測(cè)出錯(cuò)誤匹配點(diǎn),并對(duì)錯(cuò)誤匹配點(diǎn)進(jìn)行8個(gè)方向極線掃描優(yōu)化,利用超像素分割結(jié)果作為檢測(cè)視差結(jié)果是否正確的判斷條件,進(jìn)一步修正了匹配中常見(jiàn)的毛刺現(xiàn)象。
本文算法主要通過(guò)權(quán)重融合AD、Census、Edge信息代價(jià)計(jì)算;利用超像素分割SLIC算法生成超像素,并基于米字骨架對(duì)初始匹配代價(jià)進(jìn)行代價(jià)聚合;利用Winner Take All 進(jìn)行視差求??;最后利用本文提出的超像素優(yōu)化算法進(jìn)行優(yōu)化,生成最終的視差圖。具體的算法流程圖如圖1所示。
圖1 本文算法流程圖
局部立體匹配算法中,AD(Absolute Difference)算法不需要復(fù)雜的乘除法運(yùn)算,因此運(yùn)算速度快,但對(duì)噪聲和光照較敏感,算法精度隨信噪比增加和光照不均而下降[17]。Census算法對(duì)光照變化的適應(yīng)性好,對(duì)由光照不均引起灰度變化有很好的修正作用[18]。在立體視覺(jué)匹配過(guò)程中,邊緣信息的處理比較復(fù)雜。由于邊緣位置視差具有很大的不連續(xù)性,在一幅圖像中體現(xiàn)場(chǎng)景特征最明顯的位置往往在圖像的邊緣位置上[19],這同時(shí)也為研究提供了一個(gè)非常有意義的線索。因此,在AD、Census算法的基礎(chǔ)上,加入Edge圖像的邊緣信息,能夠增強(qiáng)立體匹配對(duì)邊緣的辨識(shí)度,減少在邊緣匹配錯(cuò)誤的像素?cái)?shù)量。
AD(絕對(duì)差)算法通過(guò)計(jì)算在同一位置左右目圖像的信息差異來(lái)得到匹配代價(jià),像素(x,y)在視差為d 時(shí)的計(jì)算公式如下:
Census變換是一種局部非參數(shù)變換[20],通過(guò)比較兩個(gè)像素的Census 編碼得到漢明距離作為匹配代價(jià)。Census 編碼以窗口中心像素(u,v)為基準(zhǔn),如果窗口中的一個(gè)像素(m,n)的灰度值比中心像素大,則將該位置的編碼置為0,否則置為1。Census 變換示意圖如圖2所示。
圖2 Census初始代價(jià)計(jì)算
經(jīng)過(guò)以上Census 變換得到的初始計(jì)算代價(jià)如下所示:
式中,Cl(x,y),Cr(x-d,y)分別為匹配圖與參考圖中以(x,y),(x-d,y)為中心的匹配窗經(jīng)過(guò)Census 變換之后的比特串,d 為視差值。
Canny 算子利用一階差分偏導(dǎo)計(jì)算圖像的邊緣特征,將圖像邊緣像素值置為255,非邊緣像素值為0,得到邊緣初始代價(jià)CEdge。由于邊緣特征具有特殊的作用,往往代表著深度不連續(xù)區(qū)域。因此在代價(jià)融合時(shí),先將CCensus、CAD代價(jià)融合,然后將邊緣位置的代價(jià)替換為CEdge,增強(qiáng)了立體匹配在邊緣區(qū)域的辨識(shí)度。計(jì)算公式如下:
其中,λCensus、λAD、λEdge分別是CCensus、CAD、CEdge的變換影響參數(shù),P(a,b)則采用以下方程計(jì)算:
P(a,b)的作用是將匹配代價(jià)歸一化,使代價(jià)值投影到[0,1]范圍,從而使不同代價(jià)計(jì)算方法得到的初始代價(jià)對(duì)最終代價(jià)的貢獻(xiàn)相同。由于P(CCensus,λCensus) 、P(CAD,λAD)取值范圍均為[0,1],所以融合兩個(gè)初始代價(jià)時(shí)將兩種方法的初始代價(jià)相加并取平均,保證初始代價(jià)范圍仍然在[0,1]。
本文采用AD-Census 立體匹配[10]中的λCensus、λAD變換影響參數(shù),λCensus取30.0,λAD取10.0。由于CEdge的值只有0 和255,所以以10 為間隔,選取0.01~100 作為λEdge的候選值,以標(biāo)準(zhǔn)立體匹配庫(kù)中的4幅圖像作為實(shí)驗(yàn)對(duì)象,實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 不同λEdge 值對(duì)應(yīng)的錯(cuò)誤率
圖3 中的縱坐標(biāo)表示匹配精確度,橫坐標(biāo)表示λEdge值,從圖中可以看出,當(dāng)λEdge值小于等于1時(shí),立體匹配結(jié)果對(duì)應(yīng)的錯(cuò)誤率幾乎沒(méi)有變化,當(dāng)λEdge值大于1 時(shí),錯(cuò)誤率明顯上升,尤其是Teddy 圖像,變化最為明顯。因此,在本文的實(shí)驗(yàn)中,λEdge取值為1。
因此最終的初始匹配代價(jià)分為兩部分,當(dāng)匹配區(qū)域處于邊緣時(shí),匹配代價(jià)為CEdge,當(dāng)匹配區(qū)域處于非邊緣時(shí),匹配代價(jià)為CCensus、CAD的融合代價(jià)。
超像素分割方法是將具有相似紋理、顏色、亮度等特征的相鄰像素聚集成不規(guī)則像素塊,用來(lái)區(qū)分不同特征物體的技術(shù),常用于目標(biāo)識(shí)別、目標(biāo)檢測(cè)[21]、深度信息恢復(fù)[22]等計(jì)算機(jī)視覺(jué)領(lǐng)域。對(duì)于立體匹配得到的深度信息,利用顏色相似區(qū)域有相同的視差的原理[16],可以認(rèn)為超像素體中的像素?fù)碛邢嗤囊暡?。?jiǎn)單線性迭代聚類(lèi)方法(Simple Linear Iterative Clustering,SLIC)相對(duì)于其他超像素分割算法具有計(jì)算復(fù)雜度低的優(yōu)勢(shì)[21],因此在本文中,利用SLIC對(duì)圖像進(jìn)行超像素分割處理。不同超像素分割范圍的圖像如圖4所示。
圖4 選取不同超像素?cái)?shù)量Teddy的分割結(jié)果
通過(guò)圖4 可以發(fā)現(xiàn),分割個(gè)數(shù)越多,對(duì)圖像分割越精確,在圖像邊緣位置分割越好,但是分割時(shí)間相對(duì)較長(zhǎng)。在超像素個(gè)數(shù)少的分割圖像中,雖然分割時(shí)間較短,但由于圖像邊緣較多,因此會(huì)將多個(gè)深度不連續(xù)的邊緣包含在一個(gè)超像素體中。在超像素分割過(guò)程中,將每一個(gè)超像素體的中心點(diǎn)進(jìn)行標(biāo)記,并將此中心點(diǎn)的顏色定義為超像素體內(nèi)所有像素顏色的均值。
在進(jìn)行代價(jià)聚合步驟時(shí),本文汲取文獻(xiàn)[10]中提出的基于單個(gè)像素的自適應(yīng)聚合范圍方法,并以此為基礎(chǔ),提出基于超像素的自適應(yīng)聚合范圍方法。該方法以每個(gè)超像素為中心,分別以超像素為單位進(jìn)行條件約束下的自適應(yīng)搜索。由于米字骨架需要搜索8個(gè)方向,因此搜索到的代價(jià)聚合范圍更加全面。聚合范圍搜索過(guò)程中用到的條件約束分別由顏色約束和距離約束組成,具體公式如下:
式中,sp 為當(dāng)前超像素的中心位置,sp1為以sp 為出發(fā)點(diǎn)向右搜索的不同的超像素中心點(diǎn)(以向右搜索為例)。dn_sup為搜索的步長(zhǎng);τ1、τ2為設(shè)置的顏色約束閾值;L1、L2為空間距離約束閾值;Dc(sp1,sp)為超像素sp1、sp 的顏色差,Ds(sp1,sp)為超像素sp1、sp 的空間距離差。
約束條件(6)對(duì)超像素sp 和搜索到的超像素sp1,以及sp1和搜索到sp1之前的一個(gè)超像素sp1+(dn_sup,0)進(jìn)行顏色約束,該約束條件的作用是防止搜索范圍超出邊界。約束條件(7)為對(duì)超像素sp1和sp 進(jìn)行距離約束,用一個(gè)較大的值L1在無(wú)紋理和缺乏紋理區(qū)域聚集到更多的代價(jià)值。當(dāng)在滿(mǎn)足條件(6)和(7)的情況下搜索范圍仍然很大時(shí),為了節(jié)省搜索時(shí)間和保留搜索點(diǎn)的局部特征,定義公式(8),即當(dāng)搜索距離超過(guò)L2(L2<L1)時(shí),對(duì)超過(guò)L2的超像素實(shí)行更嚴(yán)格的顏色約束,使sp1與sp 的顏色差小于τ2(τ2<τ1)。具體搜索示意圖如圖5所示。
圖5 超像素基于米字骨架自適應(yīng)搜索示意圖
在圖5 中,第一行兩幅圖為中心搜索超像素圖,第二行兩幅圖為在約束條件(6)和(7)下的基于米字骨架的搜索區(qū)域圖,第三行兩幅圖為加上約束條件(8)的搜索區(qū)域圖。從A 組圖中可以看出,在加上約束條件(8)后,搜索區(qū)域明顯減小,避免了在缺乏紋理和無(wú)紋理區(qū)域過(guò)多地聚合代價(jià)信息。在保留了該超像素的局部特征信息的同時(shí),減小了在視差匹配時(shí)的誤差。而在B組圖中加上約束條件(8)后搜索區(qū)域沒(méi)有發(fā)生變化,說(shuō)明該約束條件在缺乏特征區(qū)域效果明顯,而在特征較為明顯區(qū)域約束性不強(qiáng)。
由于超像素單元中包含的像素個(gè)數(shù)較多,若在聚合時(shí)將搜索到的超像素代價(jià)值進(jìn)行簡(jiǎn)單地累加,則失去了每個(gè)中心超像素的特征性。因此對(duì)于自適應(yīng)搜索到的超像素,將其代價(jià)乘以權(quán)值exp(-i)(i 表示按照極線方向搜索到的第i 個(gè)超像素),以保留超像素的特征,在一定程度上提高匹配的精確度。代價(jià)聚合公式如下所示:
視差計(jì)算采用WTA(Winner Take All)策略求出粗略視差值,并利用左右一致性檢查得出錯(cuò)誤匹配視差。在視差優(yōu)化步驟,本文分為兩步:
(1)極線修正。先對(duì)初始視差圖進(jìn)行左右一致性檢測(cè)。對(duì)于經(jīng)過(guò)左右一致性檢測(cè)得出的異常值(非遮擋點(diǎn)),通過(guò)搜索該異常值周?chē)?6 個(gè)方向的有效像素點(diǎn),找出最具有相似特征的像素點(diǎn),并將找到的正確匹配的像素點(diǎn)的視差值賦值給該異常點(diǎn)。若該異常值是遮擋點(diǎn),則將其填充為周?chē)?6 個(gè)像素中視差值最低的視差值,對(duì)其進(jìn)行視差修正。
式中,rx,ry,(rx,ry∈[-2,2])分別表示相對(duì)于中心點(diǎn)(x,y)的周?chē)?6 個(gè)方向的像素搜索,Dis(x+rx,y+ry)為該像素點(diǎn)周?chē)阉鞯降?6個(gè)有效的視差值;Dis(x,y)代表搜索到的16個(gè)方向中顏色差異最小的像素點(diǎn)的視差值。
(2)超像素修正。計(jì)算每個(gè)超像素中由第一步修正后得到的視差,并將超像素中的每個(gè)像素的視差值映射到對(duì)應(yīng)的直方圖上。其具體步驟如下:
圖6 超像素映射直方圖
①計(jì)算視差圖像每個(gè)超像素內(nèi)的像素視差值,并將其投影到直方圖中,其對(duì)應(yīng)的直方圖形式如圖6 所示。本文將Tsukuba等4幅經(jīng)過(guò)極線修正的視差圖像進(jìn)行統(tǒng)計(jì),計(jì)算視差圖每個(gè)超像素中對(duì)應(yīng)的不同視差值,并統(tǒng)計(jì)不同視差值的像素個(gè)數(shù),將其以折線圖(如圖7)的形式呈現(xiàn)出來(lái)。從折線圖中可以看出,超像素中不同視差值分別為1、2、3、4個(gè)。其中不同視差值個(gè)數(shù)為1的最多,說(shuō)明大部分像素正確匹配;不同視差值個(gè)數(shù)為2的大約占27%;個(gè)數(shù)為3 的大約占14%;個(gè)數(shù)為4 的最少,比例不到5%。因此,個(gè)數(shù)為1 的超像素為正確匹配,如圖6(a)所示,不進(jìn)行后續(xù)的優(yōu)化;視差值個(gè)數(shù)為2、3、4的超像素分別進(jìn)行以下2、3、4步優(yōu)化。
圖7 超像素內(nèi)不同的視差值個(gè)數(shù)
②若超像素中的不同視差值為2,如圖6(b)所示,則搜索該超像素內(nèi)匹配正確的視差值,若全部為正確匹配,則不對(duì)其進(jìn)行優(yōu)化;若超像素內(nèi)正確匹配的視差值為dc,則將該超像素內(nèi)的視差值更改為dc;若超像素內(nèi)沒(méi)有正確匹配的視差值,則對(duì)該超像素周?chē)袼剡M(jìn)行搜索,找到顏色差最小的正確匹配的像素視差值ds,并將該超像素內(nèi)的像素視差值更改為ds。
③若超像素中的不同視差值為3,如圖6(c)所示,先搜索超像素內(nèi)正確匹配的視差值,若全部正確匹配,則不對(duì)該超像素視差值進(jìn)行處理;若有正確匹配的像素視差值,則對(duì)超像素內(nèi)沒(méi)有正確匹配的像素視差值進(jìn)行更新,更新準(zhǔn)則為:若未匹配像素視差值與匹配像素視差值顏色差小于λcolor,則對(duì)像素視差值進(jìn)行更新,否則標(biāo)記該像素為誤匹配,進(jìn)行下一次更新.
④若超像素中的不同視差值為4,先搜索超像素內(nèi)正確匹配的視差值,若全部正確匹配,則不對(duì)該超像素視差值進(jìn)行處理,否則進(jìn)行與第③步相同的步驟進(jìn)行視差更新。
基于上文對(duì)本文算法各步驟的詳細(xì)描述,給出以下算法偽代碼。其中Ileft、Iright分別表示輸入左右目圖像,N 表示超像素個(gè)數(shù),min Dis、max Dis 分別表示最小最大視差,d 表示視差取值,DleftDright表示視差圖。
輸入:左右圖像、超像素個(gè)數(shù)、最小最大視差。
1. Ileft和Iright進(jìn)行SLIC超像素分割
2. for d in min Dis to max Dis,do
3. Ileft和Iright計(jì)算AD、Census、Edge代價(jià)
4. # parallel compute {
5. for 每個(gè)超像素in Ileft和Iright,do
6. 基于米字骨架計(jì)算聚合范圍
7. 基于聚合范圍代價(jià)聚合
end}
end
8. WTA求出DleftDright
9. for DleftDright,do
10. LRC左右一致性檢測(cè)
11. if 錯(cuò)誤點(diǎn)為非遮擋點(diǎn)
填充具有相似特征的像素對(duì)應(yīng)的視差
12. else
填充周?chē)?6個(gè)像素中視差值最低的視差值
13. LRC左右一致性檢測(cè)
14. for每個(gè)超像素in DleftDright,do
15. 利用直方圖統(tǒng)計(jì)不同視差值個(gè)數(shù)
16. 根據(jù)不同視差值個(gè)數(shù)的情況進(jìn)行不同步驟的優(yōu)化操作
end
end
輸出:最終的視差圖DleftDright。
本文算法在Windows平臺(tái)下采用C++語(yǔ)言在Visual Studio 2015 環(huán)境下進(jìn)行開(kāi)發(fā)實(shí)現(xiàn),硬件條件為Intel Core i7-4790 CPU,頻率為3.6 GHz,實(shí)驗(yàn)平臺(tái)為Visual Studio2015 和OpenCV3.2.0。檢驗(yàn)算法性能的圖像來(lái)源于Middlebury 網(wǎng)站提供的數(shù)據(jù)集[23],先選取4 組圖像對(duì)初始視差進(jìn)行求取。本文算法采用超像素個(gè)數(shù)為3 200,其他的參數(shù)設(shè)置如下:
如圖8 為對(duì)Tsukuba、Venus、Teddy、Cones 這4 幅圖求取的初始視差結(jié)果,Census算法在低紋理區(qū)域出現(xiàn)了大面積匹配錯(cuò)誤的現(xiàn)象,如Tsukuba的燈罩區(qū)域;AD算法在邊緣部分較Census算法表現(xiàn)較好,例如Teddy的桌子邊緣區(qū)域,但在紋理豐富區(qū)域,例如Cones 的木板區(qū)域,以及Teddy 的背景區(qū)域,卻沒(méi)能達(dá)到正確匹配的效果。而本文的方法結(jié)合兩種方法的優(yōu)點(diǎn),無(wú)論是在低紋理區(qū)域還是在邊緣區(qū)域,都能夠得到較精準(zhǔn)的視差。
如圖9為各算法分別對(duì)Tsukuba、Venus、Teddy、Cones這4 幅圖求取的視差結(jié)果。其中圖9(a)、(b)分別是基準(zhǔn)圖像及標(biāo)準(zhǔn)視差圖;圖9(c)、(d)、(e)、(f)分別是ADCensus算法[25]、FA算法[26]、ASW算法[27]、GMM-MST[28]算法得出的立體匹配結(jié)果;圖9(g)為利用本文算法得出的立體匹配結(jié)果。
圖8 經(jīng)過(guò)代價(jià)計(jì)算的初始視差圖
表1根據(jù)Middlebury Stereo Evaluation對(duì)求出的視差結(jié)果進(jìn)行測(cè)試,給出了立體圖像對(duì)求得的視差圖在非遮擋區(qū)域(noncc)、視差不連續(xù)區(qū)域(disc)、所有區(qū)域(all)在錯(cuò)誤閾值為1.0 時(shí)的匹配錯(cuò)誤率,可以看出本文除了Tsukuba 匹配效果不是很好,在另外3 張圖中相對(duì)于另外4 種方法都減少了立體匹配的錯(cuò)誤率。其中ASW 以及GMM-MST 算法在Tsukuba 匹配上分別優(yōu)于本文算法0.55、0.61 個(gè)百分點(diǎn),本文算法比AD-Census、FA 算法分別降低了0.75、0.31 個(gè)百分點(diǎn)。在Venus 上,本文算法相對(duì)于4 種算法中表現(xiàn)最好的GMM-MST 算法,錯(cuò)誤率降低了0.05 個(gè)百分點(diǎn)。在Cones 上,本文算法較AD-Census算法錯(cuò)誤率降低了1.41個(gè)百分點(diǎn),相對(duì)于ASW 算法降低了3.41 個(gè)百分點(diǎn)。本文算法在Teddy上表現(xiàn)最好,匹配精度明顯增加,相對(duì)于AD-Census、FA算法分別降低了6.2、4.6個(gè)百分點(diǎn)。
在初始代價(jià)計(jì)算步驟,本文通過(guò)計(jì)算AD、Census、Edge得到初始代價(jià),令N 為圖像像素個(gè)數(shù),L 為視差取值范圍,則匹配代價(jià)計(jì)算步驟的時(shí)間復(fù)雜度為O(NL)。通過(guò)SLIC 算法對(duì)圖像進(jìn)行超像素分割,時(shí)間復(fù)雜度只與像素的數(shù)量線性相關(guān),為O(NL)。在代價(jià)聚合步驟,本文算法可在保證視差結(jié)果不變的情況下,利用OpenMP對(duì)聚合范圍求取步驟和初始代價(jià)聚合步驟并行加速,加快程序運(yùn)行速度。若超像素個(gè)數(shù)為M ,則聚合步驟在不利用并行加速的條件下時(shí)間復(fù)雜度為O(ML)。通過(guò)超像素對(duì)視差進(jìn)行優(yōu)化,若只計(jì)算最差情況下即所有超像素都需要進(jìn)行修正的情況下,時(shí)間復(fù)雜度為O(ML)。因此本文算法運(yùn)行速度跟圖像的大小和分割的超像素的個(gè)數(shù)成正比,圖像過(guò)大或分割的超像素個(gè)數(shù)過(guò)多,會(huì)使運(yùn)行速度變慢。
圖9 不同算法得到的視差圖
表1 閾值為1.0時(shí)不同算法的錯(cuò)誤匹配率%
本文對(duì)大小為450×375的圖像進(jìn)行處理,在加上并行運(yùn)算的條件下,運(yùn)行時(shí)間為230 ms。表2為本文算法與GMM-MST 算法、FA 算法、文獻(xiàn)[15]的運(yùn)行時(shí)間對(duì)比。GMM-MST 算法由于在求解GMM 模型時(shí)需要將圖像分割為多個(gè)區(qū)域并需要多次迭代求解,因此所需時(shí)間相對(duì)于其他三種算法較長(zhǎng)。本文算法在平均運(yùn)行時(shí)間上較FA算法和文獻(xiàn)[15]算法要短,并且與文獻(xiàn)[15]基于強(qiáng)相似點(diǎn)算法相比較,本文算法在匹配結(jié)果精度上更高。
表2 運(yùn)行時(shí)間對(duì)比ms
為了驗(yàn)證本文算法在不同圖像上的適應(yīng)性,對(duì)Middlebury標(biāo)準(zhǔn)測(cè)試平臺(tái)[23]提供的標(biāo)準(zhǔn)圖Aloe、Baby、Bowling進(jìn)行了測(cè)試,視差搜索范圍分別為[0,60],[0,52],[0,67]。圖10(a)為標(biāo)準(zhǔn)測(cè)試圖,圖(b)為標(biāo)準(zhǔn)視差圖,圖(c)為本文算法得到的視差結(jié)果。通過(guò)與標(biāo)準(zhǔn)視差圖作對(duì)比,本文算法在重復(fù)紋理區(qū)域以及缺乏紋理區(qū)域得到了很好的匹配效果。利用本文算法得到的aloe立體匹配結(jié)果圖,在前景顏色與背景顏色極為相似的地方,由于在圖像分割過(guò)程中出現(xiàn)誤分割,匹配效果不是很好,是下一步需要改進(jìn)的地方。
圖10 本文算法測(cè)試結(jié)果
本文提出一種融合邊緣信息的多特征融合代價(jià)計(jì)算方法和結(jié)合超像素的代價(jià)聚合、視差優(yōu)化立體匹配方法。通過(guò)在代價(jià)計(jì)算步驟中加入邊緣信息代價(jià),提高了在深度不連續(xù)區(qū)域的辨識(shí)度,進(jìn)而增加了立體匹配的精確度。通過(guò)結(jié)合SLIC 超像素分割,在代價(jià)聚合步驟中利用米字骨架自適應(yīng)搜索超像素,得出聚合范圍,并且分割得到的超像素可用來(lái)對(duì)誤匹配視差進(jìn)行優(yōu)化,提高匹配精度。
實(shí)驗(yàn)結(jié)果表明,本文算法能有效處理缺乏紋理和重復(fù)紋理區(qū)域的深度信息,并且在深度不連續(xù)區(qū)域得到了有效的匹配,但在前景顏色與背景顏色較為相近的區(qū)域,由于容易引起錯(cuò)誤分割,導(dǎo)致在此區(qū)域匹配效果不是很好,是下一步算法需要改進(jìn)的地方。由于本文算法在代價(jià)聚合步驟可以進(jìn)行有效的并行運(yùn)算,因此,通過(guò)GPU 并行編程技術(shù)實(shí)現(xiàn)本文算法是下一步的工作方向。