暢雅雯,趙冬青,單彥虎
中北大學(xué) 儀器與電子學(xué)院,太原 030051
立體視覺(jué)是計(jì)算機(jī)視覺(jué)的重要研究領(lǐng)域,立體匹配是立體視覺(jué)的核心步驟,通過(guò)尋找左右兩幅圖像的匹配點(diǎn)來(lái)計(jì)算視差,獲取場(chǎng)景深度信息。相對(duì)傳統(tǒng)的接觸式測(cè)量,立體視覺(jué)測(cè)量技術(shù)可以滿(mǎn)足水下、火場(chǎng)等非接觸式場(chǎng)景下的測(cè)量需求,具有效率高、系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、成本低等優(yōu)點(diǎn),近年來(lái)被廣泛應(yīng)用到三維重建、無(wú)人駕駛、醫(yī)學(xué)成像等領(lǐng)域[1]。Scharstein等[2]將立體匹配分為匹配代價(jià)計(jì)算、代價(jià)聚合、視差計(jì)算和視差精細(xì)四個(gè)步驟。其中匹配代價(jià)計(jì)算和代價(jià)聚合對(duì)獲取高精度的視差信息,進(jìn)行精確三維重建至關(guān)重要。
立體匹配中,選取的匹配代價(jià)計(jì)算方法在不同應(yīng)用條件中產(chǎn)生的匹配精度不同。常見(jiàn)匹配代價(jià)計(jì)算方法有:灰度變化差A(yù)D算法、非參數(shù)Census變換、梯度Gradient及互信息MI等[3]?;趫D像的顏色和幾何信息算法在紋理豐富區(qū)域匹配效果較好,但受光照失真影響較大;非參數(shù)變換和梯度對(duì)幅度失真不敏感,但在重復(fù)結(jié)構(gòu)區(qū)域處理效果并不理想。綜合考慮顏色、梯度、非參數(shù)變換等信息,融合兩種或多種代價(jià)計(jì)算方法通常能夠更加準(zhǔn)確地描述像素點(diǎn)包含的信息,如Census+MI+Gradient[4]、AD+Census+Gradient[5]、AD+Census[6]等。圖像的光照、噪聲以及其自身的紋理?xiàng)l件都會(huì)影響匹配效果,針對(duì)特定測(cè)試環(huán)境設(shè)計(jì)相應(yīng)匹配算法對(duì)于準(zhǔn)確獲得視差信息有著重要的意義。
對(duì)于代價(jià)聚合,聚合窗口的尺寸影響著匹配結(jié)果的可靠性,窗口過(guò)小易在弱紋理區(qū)域出現(xiàn)誤匹配,過(guò)大易在深度不連續(xù)區(qū)域匹配錯(cuò)誤。Zhang等[7]利用顏色和空間距離雙閾值,自適應(yīng)地構(gòu)造十字交叉域進(jìn)行代價(jià)聚合。Qu等[8]基于Census變換中心像素與鄰域像素的差異性構(gòu)建自適應(yīng)支持窗。Hosni等[9]提出利用引導(dǎo)濾波器進(jìn)行代價(jià)聚合,可以很好地保持邊緣,但是窗口大小是固定的。如何針對(duì)圖像的紋理、顏色、空間結(jié)構(gòu)有效調(diào)整聚合窗尺寸是個(gè)亟待解決的問(wèn)題。
為提高立體匹配算法在弱紋理區(qū)域的匹配精度以及增強(qiáng)光照失真條件下的穩(wěn)健性,本文融合多種匹配代價(jià)計(jì)算方法和改進(jìn)的自適應(yīng)十字窗口聚合進(jìn)行算法實(shí)現(xiàn)。在匹配代價(jià)計(jì)算階段引入對(duì)光照失真更穩(wěn)定的HSV顏色空間,使用高斯加權(quán)后的Census變換,排除傳統(tǒng)Census變換受噪聲產(chǎn)生的中心異常值影響,有效抑制噪聲干擾,并結(jié)合梯度信息提高對(duì)圖像邊界的匹配精度。代價(jià)聚合階段利用梯度劃分弱紋理與紋理豐富區(qū)域,根據(jù)像素點(diǎn)區(qū)域特征提出基于梯度和可變顏色閾值的新型自適應(yīng)窗口構(gòu)建方法,提高了匹配精度,并利用多步驟視差精細(xì)優(yōu)化視差效果。
本文所提算法的整體流程如圖1所示,首先,以校正后的左右圖像為輸入,融合H通道信息、梯度信息和改進(jìn)的Census變換作為代價(jià)計(jì)算方法。其次,引入梯度信息和可變顏色閾值對(duì)每個(gè)像素構(gòu)建自適應(yīng)的十字交叉聚合窗口。最后,采用勝者為王(Winner-Take-All,WTA)策略進(jìn)行初始視差計(jì)算,通過(guò)左右一致性檢測(cè)、迭代局部區(qū)域投票、視差填充和非連續(xù)區(qū)域調(diào)整等步驟進(jìn)行視差精細(xì),得到最終視差圖結(jié)果。
圖1 算法流程圖Fig.1 Diagram of proposed algorithm
代價(jià)計(jì)算通過(guò)相似度量函數(shù)選取左右圖像視差搜索范圍內(nèi)最高相似度的像素點(diǎn)作為匹配點(diǎn)。根據(jù)亮度/色彩一致性假設(shè),匹配點(diǎn)通常具有相似的灰度、顏色等,常引入RGB顏色空間作為匹配代價(jià),可以提高在紋理豐富區(qū)域的匹配精度[9]。
本文引入HSV顏色空間[10],從色調(diào)、飽和度和亮度3個(gè)方面提取圖像信息。H分量通常反映圖像的色彩變化,可以有效提取前、后景信息;S分量反映圖像飽和度,突出圖像細(xì)節(jié);V分量反映圖像亮度。選取Middlebury數(shù)據(jù)集中的Plastic圖像,針對(duì)光照條件相同但曝光時(shí)間不同、光照條件不同但曝光時(shí)間相同、以及光照條件和曝光時(shí)間均不同三種條件情況,以同一場(chǎng)景同一個(gè)像素點(diǎn)(225,195)為測(cè)試對(duì)象,統(tǒng)計(jì)該點(diǎn)在RGB、HSV各通道及其灰度圖的數(shù)值,取值范圍都是[0,255]。表1記錄像素點(diǎn)在上述三種情況下的B、G、R、H、S、V各通道及灰度值的變化情況。
表1 不同光照曝光下Plastic圖像各通道數(shù)值Table 1 Value of each channels of Plastic image under different illumination and exposure conditions
對(duì)同一圖像在不同曝光條件下選取多個(gè)測(cè)試點(diǎn)進(jìn)行分析發(fā)現(xiàn),R、G、B分量在數(shù)值變化上具有一致性,彼此相關(guān),且取值與物體本身光照亮度有關(guān),由RGB得到的灰度值也受此影響,在光照曝光不同時(shí),無(wú)法準(zhǔn)確描述像素。在HSV空間中,三通道相對(duì)獨(dú)立,但是S和V通道受光照影響也比較大。通過(guò)比較光照曝光不同時(shí)各分量的標(biāo)準(zhǔn)差,觀察到H通道最穩(wěn)定,波動(dòng)遠(yuǎn)遠(yuǎn)小于其他幾個(gè)通道。因此,選取左右圖像對(duì)應(yīng)像素H通道的絕對(duì)差值作為匹配代價(jià),既能表征色度信息又能有效改善光照失真的影響,提高匹配精度。H通道匹配代價(jià)定義如下:
傳統(tǒng)Census變換通過(guò)逐位比較像素p與其鄰域窗口像素的灰度大小,來(lái)構(gòu)建二進(jìn)制Census變換碼。Census變換的匹配代價(jià)定義為左右圖像對(duì)應(yīng)像素點(diǎn)Census變換碼的漢明距離[11]。表述如下:
式中,I(p)和I(q)分別是像素點(diǎn)p和q的灰度值;N(p)是p的鄰域窗口;B[·]為比較函數(shù);?表示按位連接;BT(p)和BT(pd)分別為左圖像素p和右圖匹配點(diǎn)pd的Census變換碼。
傳統(tǒng)的Census變換能在一定程度上抑制幅度失真,但它忽略了像素之間的位置關(guān)系,也過(guò)于依賴(lài)中心像素,一旦中心像素由于噪聲干擾發(fā)生突變,Census變換碼將發(fā)生很大變化[12]。針對(duì)上述缺陷,本文進(jìn)一步考慮鄰域像素與中心像素的距離關(guān)系,提出用鄰域高斯加權(quán)灰度平均值作為參考值,將其與中心像素的灰度值進(jìn)行對(duì)比,并設(shè)置灰度差值閾值T作為替換條件。當(dāng)原中心像素與參考值的灰度差值超過(guò)設(shè)定閾值,則認(rèn)為該中心像素點(diǎn)發(fā)生突變,用參考值代替原中心像素值,否則,仍然使用原中心像素的灰度值。表達(dá)式如下:
式中,Iwm(p)是高斯加權(quán)平均后的參考像素灰度值;Wpq為高斯加權(quán)值,是窗口內(nèi)的權(quán)值之和;x和y是窗口中像素到中心像素p的位置偏移;Icen(p)為最終Census代價(jià)計(jì)算時(shí)像素p的灰度值;σ是設(shè)定的標(biāo)準(zhǔn)差;T為灰度差值閾值,此處取18。
圖2以鄰域3×3的窗口為例,展示了本文改進(jìn)Census變換的計(jì)算過(guò)程。當(dāng)中心像素受到噪聲干擾,從65突變到100,傳統(tǒng)Census算法變換碼發(fā)生明顯變化,而通過(guò)改進(jìn)的Census變換,將鄰域加權(quán)平均值73作為參考值替換得到的變換碼保持不變,提高了Census變換的抗干擾性。
圖像梯度能有效反映待匹配點(diǎn)附近的輪廓和結(jié)構(gòu)信息,對(duì)光照失真和噪聲有很好的穩(wěn)健性。梯度匹配代價(jià)定義如下:
式中,?x和?y分別為水平和豎直方向的Sobel加權(quán)梯度算子,I(p)和I(pd)分別為左圖像素點(diǎn)p和右圖對(duì)應(yīng)視差為d的匹配點(diǎn)pd的灰度值。
本文將H通道顏色信息、改進(jìn)的Census變換和水平、豎直方向的梯度信息進(jìn)行歸一化融合[13],最終將立體匹配代價(jià)計(jì)算定義為:
圖2 改進(jìn)Census變換計(jì)算過(guò)程Fig.2 Improving calculation process of Census transform
式中,α、δ和γ是不同代價(jià)組成的權(quán)重,調(diào)整三個(gè)參數(shù)對(duì)總代價(jià)計(jì)算的貢獻(xiàn),可以獲得較好的匹配效果,考慮到色度信息在弱紋理區(qū)域的低魯棒性以及Census變換對(duì)光照失真的不敏感性,此處取值分別為{0.3,1,0.1};λH、λcen、λg分別為H通道、Census變換和梯度代價(jià)對(duì)總代價(jià)的影響參數(shù)[14]。
圖3顯示了多特征融合策略的效果,實(shí)驗(yàn)的局部圖像選自Middlebury官網(wǎng)立體數(shù)據(jù)集中的Teddy圖像對(duì),對(duì)比圖3(c)和圖3(d),融合AD算法、傳統(tǒng)Census變換和梯度的方法在邊界區(qū)出現(xiàn)較多誤匹配,而基于H通道、高斯加權(quán)后的Census變換和梯度的方法能明顯減少在邊界區(qū)的錯(cuò)誤數(shù)量,證明了所改進(jìn)多特征融合策略的有效性。
圖3 不同的代價(jià)組合方法獲得的視差圖Fig.3 Disparity maps obtained by different cost combination methods
由于單個(gè)像素的匹配代價(jià)區(qū)分度低,獲取的視差往往并不可靠,將局部窗口相鄰像素的初始匹配代價(jià)求和或取平均可以提高匹配可靠性,窗口的形狀和大小直接決定了聚合效果。
本文根據(jù)相似強(qiáng)度的像素可能來(lái)自相似結(jié)構(gòu)具有相近的視差值這一假設(shè)[15],基于Mei等的自適應(yīng)十字交叉窗口骨架,在代價(jià)聚合階段提出了基于梯度信息和可變顏色閾值的窗口臂長(zhǎng)構(gòu)建方法[16]。首先設(shè)置梯度閾值,劃定該像素點(diǎn)處于弱紋理區(qū)域還是邊緣區(qū)域,針對(duì)不同的區(qū)域特點(diǎn)設(shè)置不同的約束條件,在弱紋理區(qū)域設(shè)置較寬松的顏色和距離閾值,在邊緣區(qū)域通過(guò)縮小最大顏色和距離閾值加強(qiáng)限制。臂長(zhǎng)的構(gòu)造規(guī)則不僅考慮中心像素與臂上像素的顏色差異,還考慮它們的梯度值之差,確保臂長(zhǎng)只在相似區(qū)域內(nèi)部延伸。梯度值采用3×3的加權(quán)Sobel算子計(jì)算。改進(jìn)后弱紋理區(qū)域的臂長(zhǎng)約束條件如下:
式中,βmax是判斷弱紋理和邊緣區(qū)域的梯度閾值;β1是中心像素與臂上像素梯度差值閾值;Dg(pi,p)、Dc(pi,p)、Dd(pi,p)分別是像素p和pi之間的梯度差值、顏色差值和空間距離;τmax和τ2是兩個(gè)不同的顏色閾值;Lmax和L2是兩個(gè)不同的距離閾值。其中,τ2為可變顏色閾值,它隨當(dāng)前臂長(zhǎng)線性變化,臂長(zhǎng)越長(zhǎng),顏色閾值限定越嚴(yán)格。Lp=0時(shí),顏色閾值取最大值τ2=τmax。Lp=Lmax時(shí),顏色閾值取最小值τ2=0。定義如下:
對(duì)于邊緣和不連續(xù)區(qū)域,僅需要對(duì)最大顏色閾值和距離閾值進(jìn)行適當(dāng)減小,避免邊緣區(qū)域臂長(zhǎng)的過(guò)度延伸,增加錯(cuò)誤匹配,其余條件仍不變。
通過(guò)本文的臂長(zhǎng)約束條件,以像素p為中心逐像素直線延伸可確定左、右、上、下四個(gè)臂長(zhǎng),分別是,以此構(gòu)造由水平線段H(p)和垂直線段V(p)組成的十字交叉骨架作為聚合的局部窗口,并采用四個(gè)方向的掃描線優(yōu)化方法進(jìn)一步減少匹配誤差。在不滿(mǎn)足上述任意條件時(shí),停止臂長(zhǎng)的延伸[17]。
代價(jià)聚合后采用贏家通吃策略(WTA)算法,即選取聚合后的最小代價(jià)值對(duì)應(yīng)的視差作為初始視差值[18]。后處理優(yōu)化時(shí),采用左右一致性檢測(cè)選出異常值,左圖中像素p(x,y)的視差d1與右圖對(duì)應(yīng)的匹配點(diǎn)p(x-d1,y)的視差d2的差值,若滿(mǎn)足表達(dá)式:
則認(rèn)為p(x,y)的視差不滿(mǎn)足一致性檢測(cè),將其作為異常值作后續(xù)處理,否則滿(mǎn)足一致性檢測(cè),將其保留,Th為設(shè)定的視差閾值,一般取1。利用迭代局部投票統(tǒng)計(jì)異常像素p支持域內(nèi)所有有效像素的視差值,多次迭代后將滿(mǎn)足占比條件得票概率最多的視差值賦值給p,作為該像素的視差。異常像素包括遮擋點(diǎn)和誤匹配點(diǎn),對(duì)于遮擋點(diǎn),選擇鄰域16方向最小視差值插值填充;對(duì)于誤匹配點(diǎn),選擇與p顏色最接近的鄰域像素視差進(jìn)行插值。非連續(xù)區(qū)域調(diào)整針對(duì)邊緣像素采用左右兩邊代價(jià)更小的視差值替代原視差。
實(shí)驗(yàn)硬件配置為64位Windows10系統(tǒng),Intel?Core?i5-6200U的CPU處理器,運(yùn)行內(nèi)存為4 GB。利用C++語(yǔ)言在VS2019軟件下使用公認(rèn)立體匹配評(píng)估平臺(tái)Middlebury官方提供的數(shù)據(jù)集對(duì)所提算法進(jìn)行匹配精度的測(cè)試驗(yàn)證,將本文視差結(jié)果與真實(shí)視差相差1.0像素以上的點(diǎn)定義為誤匹配點(diǎn),用誤匹配點(diǎn)數(shù)除以總體有效視差點(diǎn)數(shù)得到誤匹配率[19],實(shí)驗(yàn)對(duì)圖像的非遮擋區(qū)域和全部區(qū)域進(jìn)行誤匹配率的計(jì)算,實(shí)驗(yàn)所用參數(shù)如表2所示。Lmax、L2和τmax沿用文獻(xiàn)[6]的原始參數(shù),可以獲得較穩(wěn)定的峰值信噪比,β1和βmax由動(dòng)態(tài)雙閾值Canny邊緣提取算法確定,灰度差值閾值T的選取過(guò)大會(huì)對(duì)發(fā)生突變的像素不敏感,過(guò)小會(huì)增加不必要的運(yùn)算成本,通過(guò)計(jì)算不同閾值下的誤匹配率,選取區(qū)間設(shè)置在[15,22]為宜,此處T取值18。
表2 實(shí)驗(yàn)所用參數(shù)Table 2 Parameters Used in Experiment
為了驗(yàn)證算法在光照失真時(shí)的性能以及弱紋理區(qū)域的匹配精度,選取Middlebury中的立體匹配圖像對(duì)Aloe、Baby1、Lampshade1、Plastic、Bowling2進(jìn)行算法測(cè)試,其中,Lampshade1和Plastic是典型弱紋理豐富的圖像。在無(wú)光照失真和不同光照失真條件下分別進(jìn)行算法的實(shí)現(xiàn),并將本文算法與CG-GF算法[7(]Census+梯度+引導(dǎo)濾波代價(jià)聚合)、CG-NL算法[16(]Census+梯度+非局部代價(jià)聚合)和AD-Census算法[6(]AD+Census+十字交叉域代價(jià)聚合)的視差圖進(jìn)行對(duì)比。圖4為無(wú)光照失真條件下視差誤匹配像素的對(duì)比圖,錯(cuò)誤匹配的點(diǎn)已標(biāo)為紅色。表3為無(wú)光照失真條件下的非遮擋區(qū)域和全部區(qū)域的誤匹配率。
從圖4視差對(duì)比圖中可以看出,在無(wú)光照失真條件下,本文算法視差圖中的誤匹配像素點(diǎn)明顯較其他算法少,在邊界和弱紋理區(qū)域尤其明顯。結(jié)合表3結(jié)果分析,由于Lampshade1和Plastic中的弱紋理區(qū)域豐富,CG-NL算法在Plastic中未遮擋區(qū)域的誤匹配率高達(dá)35%,而本文算法針對(duì)每個(gè)像素基于梯度和顏色閾值進(jìn)行自適應(yīng)聚合窗的構(gòu)建,增強(qiáng)了鄰域匹配代價(jià)的可靠性,提高了弱紋理區(qū)域的匹配精度,Plastic圖像誤匹配率只有15.87%,四幅圖像的平均誤匹配率為14.29%,匹配精度遠(yuǎn)遠(yuǎn)優(yōu)于其他算法,視差效果較好。
光照和曝光差異會(huì)引起左右圖像亮度的急劇變化,為進(jìn)一步測(cè)試所提算法對(duì)于光照失真的穩(wěn)健性,將四種算法在不同光照不同曝光程度下進(jìn)行測(cè)試比較。圖5可以看到前三種算法對(duì)于由于光照和曝光差異產(chǎn)生的幅度失真非常敏感,視差圖中錯(cuò)誤匹配較多,這是因?yàn)镃G-GF和CG-NL算法融合了Census變換和梯度進(jìn)行代價(jià)計(jì)算,對(duì)光照失真不敏感,但在重復(fù)紋理結(jié)構(gòu)區(qū)域易發(fā)生誤匹配;AD-Census算法基于圖像亮度灰度進(jìn)行代價(jià)計(jì)算,在光照失真情況下難以取得較好效果。而本文算法采用對(duì)光照亮度信息不敏感的HSV顏色空間H通道,同時(shí)融合改進(jìn)的Census變換作匹配代價(jià),以解決中心像素突變帶來(lái)的誤匹配問(wèn)題,增強(qiáng)光照失真穩(wěn)健性的同時(shí)提高了算法的抗干擾能力。在物體邊界即視差不連續(xù)區(qū)域,本文算法能更好地反映出物體輪廓,平坦區(qū)域也有更少的錯(cuò)誤匹配出現(xiàn),進(jìn)一步說(shuō)明了所提自適應(yīng)聚合方法的優(yōu)越性。
圖4 圖像對(duì)(Aloe、Baby1、Lampshade1、Plastic)在無(wú)光照失真條件下不同匹配算法的視差圖Fig.4 Disparity map of image pair(Aloe,Baby1,Lampshade1,Plastic)under same illumination and exposure conditions using different matching algorithms
表3 圖像對(duì)在無(wú)光照失真條件下的誤匹配率Table 3 Error match rate of different matching algorithms under same illumination and exposure conditions %
圖6為四種算法的運(yùn)行時(shí)間對(duì)比圖,所提算法在處理弱紋理圖像時(shí)耗時(shí)較長(zhǎng)。主要時(shí)間差距在代價(jià)聚合階段,CG-NL算法基于最小生成樹(shù)聚合,只需兩次遍歷即可得到結(jié)果,運(yùn)行效率較快。AD-Census算法采用并行結(jié)構(gòu)進(jìn)行自適應(yīng)窗聚合,加快了運(yùn)行速度。CG-GF算法對(duì)圖像進(jìn)行多層采樣處理,增加了運(yùn)算復(fù)雜度。而本文算法由于對(duì)每個(gè)像素進(jìn)行弱紋理與深度不連續(xù)區(qū)的判斷,基于不同約束條件構(gòu)建聚合窗,提升了弱紋理區(qū)域精度但也增加了運(yùn)算復(fù)雜度。雖然算法還未達(dá)到實(shí)時(shí)性要求,但由于本文算法基于各像素點(diǎn)可獨(dú)立進(jìn)行運(yùn)算處理,利用多線程共享數(shù)據(jù)內(nèi)存進(jìn)行并行結(jié)構(gòu)設(shè)計(jì),能進(jìn)一步提高算法效率。
圖5 圖像對(duì)(Bowling2)在不同程度光照失真條件下不同匹配算法的視差圖Fig.5 Disparity map of image pair(Bowling2)under different degree of illumination distortion using different matching algorithms
圖6 各算法運(yùn)行時(shí)間Fig.6 Running time of algorithms
圖7記錄在Baby1圖像中添加不同密度椒鹽噪聲后四種算法的誤匹配率,本文算法在不同密度的椒鹽噪聲下都具有最低的誤匹配率,原因?yàn)楦倪M(jìn)Census變換對(duì)受到干擾的像素可根據(jù)鄰域像素重新選值,確保了匹配代價(jià)值的準(zhǔn)確性,可以有效抑制噪聲干擾。
圖7 各算法在椒鹽噪聲下的誤匹配率Fig.7 Error match rate of algorithms in salt and pepper noise
定的H通道、對(duì)噪聲干擾有效抑制的高斯加權(quán)平均的Census變換和梯度作為匹配代價(jià)。利用梯度信息和可變顏色閾值實(shí)現(xiàn)新型的自適應(yīng)十字交叉聚合方法。與AD-Census算法相比,本文算法的匹配誤差減少了3.24%。實(shí)驗(yàn)結(jié)果表明,本文算法能有效減少邊界處的錯(cuò)誤匹配,提高對(duì)弱紋理區(qū)域的匹配精度,增強(qiáng)了對(duì)光照失真的穩(wěn)健性和噪聲抗干擾性。未來(lái)工作將圍繞實(shí)際場(chǎng)景中的三維重建而展開(kāi),優(yōu)化算法減少實(shí)測(cè)中的測(cè)量誤差,并利用并行結(jié)構(gòu)設(shè)計(jì)以滿(mǎn)足實(shí)時(shí)性要求。