劉 軍,苗志勇,張煜祺,任建華
(蘭州理工大學(xué)機(jī)電工程學(xué)院,蘭州 730050)
隨著“中國(guó)制造2025”計(jì)劃的廣泛實(shí)施,機(jī)器視覺(jué)中的雙目測(cè)距[1]、三維重建[2-4]、無(wú)人自動(dòng)駕駛、立體成像及虛擬現(xiàn)實(shí)[5]等諸多領(lǐng)域的發(fā)展,均需通過(guò)圖像立體匹配技術(shù)高效準(zhǔn)確地提供圖像景深.而立體匹配算法作為圖像立體匹配技術(shù)的核心,眾多學(xué)者進(jìn)行了很多研究工作.Scharstein等[6]與Affendi等[7]依據(jù)計(jì)算方法將立體匹配算法分為兩大類(lèi):全局立體匹配算法和局部立體匹配算法.并且,依據(jù)實(shí)施階段將立體匹配算法分為4 大步驟:匹配代價(jià)計(jì)算、匹配代價(jià)聚合、視差左右一致性檢查與細(xì)化.全局立體匹配算法通過(guò)圖像對(duì)像素的全局約束信息構(gòu)造能量函數(shù),并使之最小來(lái)獲得稠密的視差圖.而局部立體匹配算法是以待匹配像素為中心的局部窗口內(nèi)的信息來(lái)準(zhǔn)確描述待匹配像素,以便在對(duì)應(yīng)圖像中準(zhǔn)確高效地確定對(duì)應(yīng)點(diǎn),從而獲得視差值.局部立體匹配算法分為窗口形狀選擇法和自適應(yīng)權(quán)重法.窗口形狀選擇法以待匹配像素為標(biāo)準(zhǔn),期望把鄰域內(nèi)與待匹配像素“同等性質(zhì)”(簡(jiǎn)稱同質(zhì))的其他像素引入此窗口,形成可變窗口.“同等性質(zhì)”的判斷標(biāo)準(zhǔn)通常為像素間顏色相似度,大多數(shù)此類(lèi)算法[8-9]只采用灰度值信息.
窗口形狀選擇法又分為可調(diào)節(jié)矩形窗口法和自適應(yīng)形狀窗口法.傳統(tǒng)可調(diào)節(jié)矩形窗口法通過(guò)設(shè)置窗口半徑獲得固定矩形的待匹配窗口,若窗口半徑選擇太小,則會(huì)在圖像低紋理區(qū)域內(nèi)產(chǎn)生很大的匹配誤差;若窗口半徑選擇太大,則容易在窗口中引入過(guò)多的“壞像素”,從而在深度不連續(xù)區(qū)域內(nèi)產(chǎn)生較大的誤差.曾凡志等[10]提出了一種自適應(yīng)多窗口的立體匹配算法,采用8 個(gè)相同的窗口,根據(jù)圖像的平滑情況從8 個(gè)方向選擇適當(dāng)?shù)闹螀^(qū)域,可有效減小單個(gè)窗口帶來(lái)的匹配誤差,但依然未解決窗口半徑的選擇問(wèn)題.自適應(yīng)形狀窗口法則避免了上述算法選擇窗口半徑的難點(diǎn),通過(guò)設(shè)置中心像素與非中心像素之間的相似性閾值和最大窗口半徑,使窗口形狀大小自適應(yīng)變化.Boykov等[11]提出了一種任意形狀窗口匹配算法,利用像素間灰度值差異判斷是否為可用像素,雖解決了待匹配窗口形狀問(wèn)題,但確定窗口過(guò)程的時(shí)間復(fù)雜度較高,且獲得的窗口可靠度較低.Men等[12]提出了像素?cái)U(kuò)展自適應(yīng)窗口匹配算法,類(lèi)似于十字交叉窗口匹配算法,以待匹配像素為原點(diǎn)沿一個(gè)方向搜索像素形成像素帶,然后搜索像素帶上與之垂直方向上的像素形成待匹配窗口.該算法雖使窗口內(nèi)無(wú)“壞像素”,提高了窗口可靠度與立體匹配精度,但不足之處在于仍沒(méi)有解決窗口無(wú)法貼合某些復(fù)雜圖像邊界的問(wèn)題,還相應(yīng)提高了算法時(shí)間復(fù)雜度.
基于以上窗口形狀選擇法存在的問(wèn)題,本工作提出一種異形自適應(yīng)窗口局部立體匹配技術(shù).為使后期自適應(yīng)窗口只選擇當(dāng)前特定區(qū)域像素,采用引導(dǎo)濾波算法[13-14]對(duì)待匹配圖像進(jìn)行預(yù)處理,平滑其非邊緣區(qū)域信息,保持邊緣信息;為解決傳統(tǒng)自適應(yīng)窗口形狀過(guò)于單一的問(wèn)題,采用結(jié)合了預(yù)處理圖像CIELab 顏色空間信息和灰度值信息的雙螺旋搜索路徑法,來(lái)獲得對(duì)復(fù)雜圖像邊界具有較好貼合性、較強(qiáng)描述性,以及可有效提高匹配精度的異形自適應(yīng)匹配窗口.這種方法不僅可以有效遍歷待匹配像素周?chē)袼?生成比傳統(tǒng)方法更加多變的、貼合復(fù)雜輪廓的窗口形狀,如“X”或“S”形,還可以由順、逆時(shí)針兩條路徑生成匹配窗口,提高窗口成形效率.另外,單一的匹配代價(jià)計(jì)算方式準(zhǔn)確性較低,會(huì)直接影響視差值精度,為此使用傳統(tǒng)的Census 變換和本工作提出的像素信息三維化處理技術(shù)進(jìn)行匹配代價(jià)計(jì)算.像素信息三維化處理技術(shù)是通過(guò)將待匹配圖像的像素值與像素坐標(biāo)樣條插值獲得兩個(gè)像素曲面,并投影求得體積差,從而獲得窗口內(nèi)其余像素信息和窗口間像素信息.這種匹配代價(jià)計(jì)算方法可以有效結(jié)合Census 變換對(duì)光照失真魯棒性強(qiáng)的優(yōu)點(diǎn),同時(shí)又可以降低窗口內(nèi)像素變化對(duì)窗口整體信息的影響,克服窗口中心像素對(duì)Census 變換干擾較強(qiáng)的缺點(diǎn).最后對(duì)獲得的匹配代價(jià)與異形自適應(yīng)窗口代價(jià)聚合,對(duì)視差左右一致性進(jìn)行檢查與細(xì)化,獲得誤差較小的視差圖,算法流程如圖1 所示.圖中,LRC(left right consistency)代表左右一致性,WTA(winner take all)代表贏者通吃,CT(Census transform)代表Census 變換.
圖1 所提算法流程圖Fig.1 Block diagram of proposed algorithm
通過(guò)立體匹配技術(shù)獲得的圖像景深是雙目立體視覺(jué)的基礎(chǔ),但是如圖2 所示,由普通局部立體匹配算法得到的視差圖對(duì)光照變化魯棒性較差,圖2(a)圓內(nèi)的景深理論上是一致的,但在圖2(b)圓內(nèi)卻存在明顯誤差;圖2(a)矩形內(nèi)的實(shí)物輪廓與圖2(b)矩形內(nèi)的視差輪廓也誤差較大.所以,如何通過(guò)提高立體匹配視差值精度從而提高圖像景深精度,一直是雙目立體視覺(jué)領(lǐng)域研究的熱點(diǎn)與難點(diǎn).
圖2 傳統(tǒng)局部立體匹配算法生成的視差圖Fig.2 Disparity map generated by traditional local stereo matching algorithm
圖像景深與視差值的關(guān)系為
式中:l 為圖像景深;f 為相機(jī)焦距;B 為雙目間垂直于光軸的距離;d 為視差值.
圖像立體匹配技術(shù)的核心是確定左(右)圖像中任意一個(gè)像素,即如何高效準(zhǔn)確地在右(左)圖像中尋找到此像素(見(jiàn)圖3).在解決此問(wèn)題時(shí)對(duì)左、右圖像給出以下約束條件:極線約束、唯一性約束、視差連續(xù)性約束、順序一致性約束、相似性約束、平滑性約束、左右一致性約束、視差范圍約束.需要達(dá)到的目標(biāo)是,以左圖像為參考生成的視差圖與以右圖像為參考生成的視差圖,二者誤差最小.基于以上約束與目標(biāo),故采用改進(jìn)的局部立體匹配算法來(lái)提高匹配精度,具體為對(duì)圖像進(jìn)行引導(dǎo)濾波預(yù)處理增強(qiáng)其邊緣信息;增加匹配代價(jià)計(jì)算信息和提高窗口對(duì)“同質(zhì)”像素包含范圍從而提高視差值精度.
圖3 左右圖像素匹配Fig.3 Left and right pixel matching
傳統(tǒng)局部立體匹配算法大多直接采用不作預(yù)處理的原始圖像,導(dǎo)致后期在窗口生成時(shí)不易感知邊緣信息而誤包含非當(dāng)前區(qū)域像素.因此本工作根據(jù)Gestalt 原理在立體匹配之前強(qiáng)化圖像輪廓信息以區(qū)分各物體,使后期視差圖輪廓更接近原始圖像.首先,在匹配代價(jià)計(jì)算之前采用引導(dǎo)濾波算法對(duì)圖像進(jìn)行預(yù)處理,在一定程度上削弱了原始圖像平滑區(qū)域信息,相對(duì)增強(qiáng)了邊緣區(qū)域信息.引導(dǎo)濾波算法具體原理如下:設(shè)輸入圖像為I(input),輸出圖像為O(output),引導(dǎo)圖像為G(guide),當(dāng)I=G 時(shí)引導(dǎo)濾波與雙邊濾波效果近似,但比雙邊濾波更容易實(shí)現(xiàn)與濾波半徑無(wú)關(guān)的優(yōu)化,同時(shí)降低時(shí)間復(fù)雜度.在引導(dǎo)濾波中將圖像視為無(wú)法求出解析表達(dá)式的二維函數(shù),該圖像的任何像素滿足局部線性模型,
式中:ω(k)為以I 中像素i 為中心、k 為半徑、尺寸為(2k+1)2的矩形濾波窗口;ak,bk為窗口中的線性常參數(shù).
為使擬合函數(shù)輸出值Oi與實(shí)際輸入值Gi差異最小,構(gòu)造如下能量函數(shù),并采用線性回歸方法求解其線性常參數(shù),
為降低能量函數(shù)模型的過(guò)擬合概率和減小參數(shù)的取值范圍,需引入正則化參數(shù)ε,通過(guò)最小二乘法可得到能量函數(shù)最小值時(shí)的ak,bk值為
每個(gè)待計(jì)算像素被(2k+1)2個(gè)窗口所包含,因此會(huì)產(chǎn)生(2k+1)2個(gè)ak,bk值,具體求某像素的輸出值時(shí),需將所有該像素下的線性函數(shù)值平均,
立體匹配的目的是確定左(右)圖像中任意一個(gè)像素在右(左)圖像中的位置,由于單個(gè)像素信息(三通道下的顏色與像素坐標(biāo))過(guò)于單一,所以很難利用僅有的信息去描述待匹配像素.傳統(tǒng)自適應(yīng)擴(kuò)展窗口是尋找與待匹配像素“同質(zhì)”的其他像素,從而可以更精確地再次描述該像素,由像素顏色和位置信息計(jì)算出的可變臂長(zhǎng)確定窗口大小與形狀,但其擴(kuò)展只局限于橫、縱兩個(gè)方向,所以較難適應(yīng)具有復(fù)雜邊界的圖像.因此,本工作提出了一種與傳統(tǒng)方法不同的改進(jìn)窗口選擇方法,設(shè)置窗口的最大搜索半徑,但不設(shè)置最小搜索半徑,因此待匹配窗口半徑可能為零(只有待匹配像素本身);但由于對(duì)初始左、右圖像進(jìn)行了引導(dǎo)濾波,所以會(huì)平滑圖像中的絕對(duì)孤立像素,使得待匹配的窗口半徑不會(huì)為零.采用螺旋搜索法遍歷待匹配像素周?chē)乃邢袼?會(huì)形成比傳統(tǒng)算法更加多變的窗口形狀,更易貼合復(fù)雜圖像的輪廓,提高對(duì)待匹配像素描述的準(zhǔn)確性,從而提高匹配精度;設(shè)置順、逆時(shí)針兩條搜索路徑生成匹配窗口,可以有效提高窗口形成效率,節(jié)約算法運(yùn)行時(shí)間.異形自適應(yīng)窗口生成過(guò)程如下.
(1) 考慮到人眼會(huì)對(duì)后期視差圖作主觀評(píng)估和Gestalt 原理,首先將RGB 顏色空間中的待匹配圖像轉(zhuǎn)換到與設(shè)備無(wú)關(guān)、基于人類(lèi)生理特征的CIELab 顏色空間.
(2) 將RGB 顏色空間中的待匹配圖像灰度化.
(3) 將灰度值與CIELab 顏色值疊加,使位于(x,y)處的像素具有4 層像素值,分別為(iL,ia,ib,i)(見(jiàn)圖4);任選灰度圖中坐標(biāo)為i(x,y)的像素,以其為起點(diǎn)1 逆時(shí)針?lè)较蛞雰?nèi)層螺旋搜索線lN,同時(shí)為提高窗口ω 形成效率,以i(xr,yr)為起點(diǎn)2 順時(shí)針?lè)较蛞胪鈱勇菪阉骶€lS(見(jiàn)圖5).
圖4 CIELab+i 顏色空間Fig.4 CIELab+i color space
圖5 搜索路徑Fig.5 Searching path
設(shè)待搜索窗口的最大半徑為r,則i(xr,yr)定義如下:
(4) 確定螺旋搜索路徑與起始點(diǎn)后,需對(duì)路徑上的每個(gè)像素j(xp,yq)(p,q ∈ω)與起始像素i(x,y)進(jìn)行如下比較,才能得到窗口ω,
式中:τ 為窗口像素截?cái)嚅撝?
窗口搜索停止條件為兩搜索路徑交集不為空,或某環(huán)形像素帶灰度值均為0,
環(huán)形像素帶定義為以起始點(diǎn)1 為中心,集合Q 像素所構(gòu)成的正方形(見(jiàn)圖6),
圖6 環(huán)形像素帶Fig.6 Ring pixel strip
對(duì)圖像上每個(gè)像素點(diǎn)重復(fù)上述過(guò)程,即可得到異形自適應(yīng)窗口,
式中:L 為左圖像;R 為右圖像.
(5) 選擇特定圖像邊界形成模擬窗口,如圖7 所示.選取圖7(a)圓內(nèi)的銀色貨架邊框中像素為待匹配像素,則與其“同質(zhì)”的像素也應(yīng)在此邊框.當(dāng)圖像邊界較為規(guī)則時(shí),傳統(tǒng)自適應(yīng)匹配窗口與本工作所提算法窗口形狀相同,皆為矩形窗口,如圖7(b)所示.選取圖7(c)圓內(nèi)的褐色弧形把手中像素為待匹配像素,則與其“同質(zhì)”的像素也應(yīng)在此弧形把手(設(shè)置一定的窗口半徑),本算法形成弧形窗口如圖7(d)中黑色像素塊.而傳統(tǒng)基于十字的自適應(yīng)窗口算法先沿紅色箭頭上下豎直搜索像素,直到大于閾值時(shí)停止,形成紅色的豎直條狀像素帶;然后此像素帶上的每個(gè)像素再分別沿黃色水平方向左右搜索像素,直到大于閾值時(shí)停止,形成黃色的水平條狀像素帶;最后所有條狀像素帶求并集就可以得到自適應(yīng)窗口.圖中基于十字的自適應(yīng)窗口算法相比本算法,獲得的窗口過(guò)早收斂在了圖像的復(fù)雜邊界處,窗口內(nèi)的像素?cái)?shù)更少,獲得的信息量也更少,從而導(dǎo)致匹配精度降低.選取圖7(e)圓內(nèi)的白色交叉木框中像素為待匹配像素,則與其“同質(zhì)”的像素也應(yīng)在此交叉木框,本算法形成“X”形窗口如圖7(f)中黑色像素塊;而傳統(tǒng)基于十字的自適應(yīng)窗口算法形成的窗口如黃色邊框所示.選取圖7(g)圓內(nèi)的字母“S”中像素為待匹配像素,則與其“同質(zhì)”的像素也在此字母,本算法形成“S”形窗口如圖7(h)中黑色像素塊;而傳統(tǒng)基于十字的自適應(yīng)窗口算法形成的窗口如黃色矩形所示.傳統(tǒng)自適應(yīng)窗口算法在圖7(d),(f),(h)中所形成的窗口形狀均為近似“十”字狀,難以有效描述圖像邊界,從而影響后期代價(jià)聚合.
圖7 測(cè)試圖像與異形窗口Fig.7 Test images and shaped windows
匹配代價(jià)就是左、右圖像待匹配像素信息的相似程度,Hirschmuller等[15]在光照不均的情況下測(cè)試了各種匹配代價(jià)算法,得出Census 變換具有較好的魯棒性和匹配精度.傳統(tǒng)Census 變換將待匹配像素為中心窗口內(nèi)非中心像素與中心像素的灰度值比較大小,并將這些信息儲(chǔ)存在比特串中,最后計(jì)算Hamming 距離作為匹配代價(jià)值;但傳統(tǒng)Census 變換受自身原理限制容易導(dǎo)致一些問(wèn)題,如Hamming 距離只關(guān)注待匹配窗口內(nèi)非中心像素與中心像素之間的大小關(guān)系,這會(huì)使中心像素間差異過(guò)大或窗口內(nèi)非中心像素間差異過(guò)大的左右窗口誤匹配,從而降低匹配精度.
針對(duì)上述問(wèn)題,本工作提出像素信息三維化處理技術(shù),將灰度值視為豎坐標(biāo),并與像素平面聯(lián)合形成三維棱柱(見(jiàn)圖8),在匹配代價(jià)計(jì)算時(shí)引入左右待匹配窗口內(nèi)非中心像素間差異和窗口間中心像素差異信息,在一定程度上削弱了傳統(tǒng)Census 變換信息單一帶來(lái)的不確定性.具體是將待匹配像素的灰度值與像素坐標(biāo)信息置于笛卡爾坐標(biāo)系中,得到一個(gè)空間中的三維坐標(biāo)點(diǎn),然后將所有得到的坐標(biāo)點(diǎn)光滑連接起來(lái)形成一個(gè)曲面;但由于待匹配窗口內(nèi)的像素點(diǎn)個(gè)數(shù)有限,很難形成光滑曲面,所以需要在已知坐標(biāo)點(diǎn)中插入一些點(diǎn),從而得到更理想的曲面;基于已知窗口內(nèi)定端點(diǎn)處的一階導(dǎo)數(shù)值,且需分段依次插值多項(xiàng)式,又需提高插值函數(shù)光滑性,所以采用第一類(lèi)邊界條件下的三次樣條插值函數(shù)[16],在待匹配窗口內(nèi)的矩陣間進(jìn)行橫、縱向插值,使得窗口內(nèi)數(shù)據(jù)更加密集.通過(guò)Matlab 的自帶函數(shù)將所有三維坐標(biāo)點(diǎn)光滑連接起來(lái)形成曲面,并將此曲面向xOy 平面投影求出體積;此體積是由窗口內(nèi)所有像素信息參與構(gòu)成,所以此方法引入了待匹配窗口內(nèi)非中心像素間差異信息.由三次樣條插值原理可知:插入像素處灰度值位于函數(shù)邊界的兩灰度值之間,且參與曲面形成及體積構(gòu)成,故通過(guò)三次樣條插值原理也可證明此方法引入了窗口內(nèi)非中心像素間信息.最后,再求得左右待匹配窗口形成曲面間的差異,就可以獲得窗口間中心像素差異信息,但直接求兩曲面差異非常困難,所以比較兩窗口在xOy 平面上的投影體積就可間接得到此差異.
圖8 像素信息三維化Fig.8 3D pixel information
在左右匹配窗口形成時(shí),引入閾值τ 使各窗口內(nèi)非中心像素灰度值分布在i+ρ 與i?ρ 兩平面之間,中心像素i 的灰度值大小決定上述兩平面到像素平面的距離.因此,以i(x,y)和i(x ?d,y)為中心像素的左右匹配窗口在像素平面投影的體積差反映了兩窗口中心像素間差異.設(shè)i 為待匹配左窗口中心像素灰度值,坐標(biāo)為(x,y),j 為待匹配左窗口非中心像素灰度值,ωi為以i 為中心的待匹配左窗口,待匹配右窗口中心像素坐標(biāo)為(x ?d,y),窗口為ωi+d,
式中:?為位的串聯(lián)符號(hào);Ccen(x,y,d)為在Census 變換下視差值為d 的匹配代價(jià)值;τc為在此計(jì)算方法下的截?cái)嘀?
為引入窗口內(nèi)非中心像素間信息,本算法在窗口內(nèi)所有相鄰像素間均插入θ 個(gè)亞像素(見(jiàn)圖9),設(shè)待匹配窗口ωi半徑為r,則尺寸為(2r+1)2,
圖9 插入亞像素Fig.9 Inserting sub-pixel
函數(shù)T 為三次樣條插值函數(shù),經(jīng)T (ωi)函數(shù)計(jì)算后的增強(qiáng)窗口尺寸為(2r(1+θ))2,(x,y)屬于左圖像L 或右圖像R,得到增強(qiáng)窗口內(nèi)的每個(gè)亞像素插值后,還需對(duì)其賦予新的像素坐標(biāo)值,
其中×Θ定義為
圖10 亞像素曲面Fig.10 Subpixel surface
式中:Cv(x,y,d)為在像素信息三維化方法下視差值為d 的匹配代價(jià)值;τv為在此計(jì)算方法下的截?cái)嘀?
最終匹配代價(jià)為
由式(16)和(17)可得左、右圖像中所有待匹配窗口,通過(guò)尋求匹配代價(jià)差異最小的兩個(gè)窗口就可得到視差值,此方法被稱為贏者通吃(WTA):
WTA 原理簡(jiǎn)單且容易實(shí)現(xiàn),但可能會(huì)引入錯(cuò)誤的視差值.聚合后的最小匹配代價(jià)可能對(duì)應(yīng)多個(gè)視差值,但WTA 只能選擇其中一個(gè)作為待匹配點(diǎn)的視差值.因此,由WTA 獲得的視差值具有不可靠性,對(duì)獲得的視差圖還需后期細(xì)化處理.具體處理過(guò)程如下:若左圖像為參考圖像時(shí)待匹配像素為i(x,y),則右圖像中的待匹配像素為i(x ?d,y);若右圖像為參考圖像時(shí),左圖像中i(x+d,y)的對(duì)應(yīng)點(diǎn)為i(x,y);如果不滿足雙向?qū)?yīng)關(guān)系,則為遮擋點(diǎn)或誤匹配點(diǎn),通過(guò)左右一致性(LRC)檢測(cè)得到匹配異常點(diǎn)并重新賦值.不滿足下式的點(diǎn)為遮擋點(diǎn)或誤匹配點(diǎn):
式中:dL,dR是左、右初始視差.
對(duì)檢測(cè)到的遮擋點(diǎn)或誤匹配點(diǎn),掃描其水平方向的第一個(gè)左側(cè)有效點(diǎn),并將誤匹配點(diǎn)的原始視差替換為二者中的視差較小值,然后獲得視差圖.此方法可以有效地提高分辨率、降低匹配誤差,并細(xì)化視差圖.最后再使用中值濾波器進(jìn)行平滑操作去除噪聲點(diǎn),得到較高精度的視差圖.
為測(cè)試所提出算法的有效性,基于Windows 系統(tǒng)的Matlab 2018a 軟件進(jìn)行實(shí)驗(yàn),中央處理器(CPU)為Intel(R)Core(TM)i5-7300HQ,2.50 GHz,8 GB 內(nèi)存,顯卡(GPU)為NVIDIA GetForge GTX 1050 Ti.實(shí)驗(yàn)圖像采用Middlebury 大學(xué)立體視覺(jué)數(shù)據(jù)庫(kù)提供的第二版和第三版測(cè)試數(shù)據(jù)集.
(1) 為單獨(dú)測(cè)試本工作提出的像素信息三維化匹配代價(jià)計(jì)算方法,選取以下3 種方法與所提出算法相比較:基于灰度值差的絕對(duì)值之和(sum of absolute differences,SAD)匹配代價(jià)計(jì)算方法、基于Census 變換(CT)的匹配代價(jià)計(jì)算方法、基于Census 變換和梯度(Census transform and gradient,CG)的匹配代價(jià)計(jì)算方法.算法參數(shù)設(shè)置如下:k=16,ε=0.01,r=7,τc=1,τv=0.275,τ=10θ=2,α=0.5;實(shí)驗(yàn)圖像采用Middlebury 大學(xué)立體視覺(jué)第二版2001 年數(shù)據(jù)庫(kù)中標(biāo)準(zhǔn)彩色圖像對(duì)Tsukuba 和Venus,分辨率(pixel×pixel)為384×288 和434×383,視差(pixel)范圍為[1,28]和[1,20];以及2003 年數(shù)據(jù)庫(kù)彩色圖像對(duì)Teddy 和Cones,分辨率為450×375 和450×375,視差范圍為[1,55]和[1,55].
由實(shí)驗(yàn)結(jié)果(見(jiàn)表1)得出:本工作提出算法在非遮擋區(qū)域(Nonocc)的平均誤匹配率為3.21%,在所有區(qū)域(All)的平均誤匹配率為13.1%,均優(yōu)于其他匹配代價(jià)計(jì)算方法,表明像素信息三維化匹配代價(jià)計(jì)算方法引入的左右待匹配窗口內(nèi)非中心像素間差異和窗口間中心像素差異信息提高了匹配精度.
表1 不同匹配代價(jià)計(jì)算方法誤匹配率Table 1 Percentage of mismatches for different matching cost calculations %
由圖11 可知,Tsukuba(第一行)在本算法視差圖背景中有兩個(gè)較小的噪聲點(diǎn),圖11(c),(d),(e)算法背景雖無(wú)明顯噪聲點(diǎn)但物體輪廓完整性較差,視差圖有明顯誤差;Cones(第四行)采用圖11(c),(d),(e)算法在左側(cè)圓錐輪廓描述上均有缺陷;綜合來(lái)看是由于結(jié)合了Census 變換,噪聲抑制能力進(jìn)一步增強(qiáng),所提算法視差圖平滑性較好,邊界更為平整,輪廓更加清晰.
圖11 不同立體匹配方法在圖像對(duì)上的測(cè)試結(jié)果Fig.11 Test results of different stereo matching methods on image pairs
(2) 為全面有效地測(cè)評(píng)所提出算法,又選取Middlebury 大學(xué)立體視覺(jué)第三版2014 年數(shù)據(jù)庫(kù)中標(biāo)準(zhǔn)彩色圖像對(duì)AustraliaP,Livingroom,Hoops,Newkuba 作為測(cè)試圖像對(duì),分辨率為717×492,742×496,721×498,701×487,視差范圍為[1,73],[1,113],[1,103],[1,143].
實(shí)驗(yàn)選取了視差閾值為2 時(shí)Middlebury 排名為43,48,50,61 的迭代差異細(xì)化(iterative disparity refinement,IDR)、局部平面掃描(local plane sweeps,LPS)、局部自適應(yīng)代價(jià)(local adaptive cost,LAC)和局部自適應(yīng)多重代價(jià)(local adaptive multi-cost,LAMC)的LAMC-DSM共4 組自適應(yīng)窗口局部立體匹配算法,結(jié)合表2,3 與圖12(a),(b)得出,本算法對(duì)植物、非洲鼓、呼啦圈和水壺等圖像,均可獲得與真實(shí)視差在輪廓與細(xì)節(jié)方面非常接近的視差圖.在紋理豐富和深度不連續(xù)的區(qū)域匹配精度較高,說(shuō)明結(jié)合了Census 變換的算法可以形成較為全面的、多重信息下的匹配代價(jià)計(jì)算方法,更能精確地描述待匹配像素間的差異,從而得到更為精確的匹配代價(jià)值.圖12(a)和(d)中矩形框內(nèi)的復(fù)雜邊界植物莖葉和弧形椅子扶手與圖12(b)和(c)中矩形框內(nèi)的復(fù)雜邊界圓形呼啦圈和斜線臺(tái)燈桿比其他算法更加接近真實(shí)視差圖;在圖12(a)中非遮擋匹配率僅為3.83%,在其余圖中也明顯低于表2 中其他算法誤差,說(shuō)明異形自適應(yīng)窗口更加多變的形狀對(duì)圖像輪廓貼合更為精確,在紋理豐富的區(qū)域更容易獲得匹配精度較高的形狀;且在圖12(c)中光照不均的條件下表現(xiàn)依舊良好,非遮擋匹配率僅為5.12%,源于在匹配代價(jià)計(jì)算時(shí)結(jié)合了Census 變換,提高了算法對(duì)光照不均的魯棒性.本算法平均誤匹配率分別為14.74%與21.26%,相比表2 中前4 種算法平均值分別降低了3.32%與7.63%,由此可以得出異形自適應(yīng)窗口算法在復(fù)雜邊界圖像中的匹配精度提升幅度較大.
表2 各算法在視差閾值為2 時(shí)的誤差對(duì)比Table 2 Error comparison of each algorithm when the parallax threshold is 2 %
圖12 各算法在Middlebury 圖像對(duì)上的實(shí)驗(yàn)結(jié)果Fig.12 Experimental results of algorithms on Middlebury image pairs
實(shí)驗(yàn)選取了視差閾值為2 時(shí)Middlebury 排名前10 中的3 組算法,即卷積神經(jīng)網(wǎng)絡(luò)匹配代價(jià)與自頂向下分段回歸(matching cost-convolutional neural networks+top down segmented regression,MC-CNN+TDSR),局部擴(kuò)展(local expansion,LoaclExp),利用卷積神經(jīng)網(wǎng)絡(luò)更廣泛尋找(look wide-convolutional neural networks,LW-CNN)(見(jiàn)表3).可以看出這3 組算法的誤匹配率約為異形自適應(yīng)窗口的60%,但是程序運(yùn)行時(shí)間約為本算法的25 倍以上.這說(shuō)明相對(duì)于排名靠前的優(yōu)秀算法,異形自適應(yīng)窗口算法在誤匹配率上落后不大,但在效率上遠(yuǎn)遠(yuǎn)大于3 組算法.對(duì)于效率相近的算法,本工作提出的異形自適應(yīng)窗口算法則在匹配精度上更占優(yōu)勢(shì).
表3 各算法在表1和2圖像中的匹配精度與運(yùn)行時(shí)間對(duì)比Table 3 Comparison of the matching accuracy and runtime of each algorithm in the images of tables 1 and 2
本工作提出一種異形自適應(yīng)窗口局部立體匹配算法,通過(guò)快速、可遍歷窗口所有像素的雙螺旋路徑法得到形狀多變的待匹配窗口,提高了復(fù)雜圖像邊界的貼合性和圖像描述性;并采用結(jié)合了Census 變換的像素信息三維化匹配代價(jià)計(jì)算方法,引入了左右待匹配窗口內(nèi)更為豐富的信息,在一定程度上削弱了傳統(tǒng)Census 變換信息單一帶來(lái)的不確定性,有效提高了對(duì)待匹配像素信息描述的準(zhǔn)確性;由此在復(fù)雜邊界與光照不均圖像中獲得較為精確的視差值,為雙目立體視覺(jué)技術(shù)發(fā)展提供了有利的條件.
異形自適應(yīng)窗口算法在圖11 Tsukuba 視差圖背景中有兩個(gè)較小的噪聲點(diǎn),以及在圖12(b),(d)中的局部出現(xiàn)了較大的匹配誤差,這源于本算法在弱紋理區(qū)域獲得的匹配窗口與傳統(tǒng)自適應(yīng)窗口類(lèi)似,從而使窗口間像素信息差異過(guò)小,無(wú)法有效根據(jù)此差異獲得可靠的匹配代價(jià),所以匹配精度有所降低.具體還需在后續(xù)工作中進(jìn)一步分析研究此問(wèn)題,并對(duì)弱紋理區(qū)域匹配提出針對(duì)性的解決方法.