帥 然 呂植勇 劉昌偉 賴(lài)俊豪
(武漢理工大學(xué)國(guó)家水運(yùn)安全工程技術(shù)研究中心1) 武漢 430063) (武漢理工大學(xué)能源與動(dòng)力工程學(xué)院2) 武漢 430063)
局部立體匹配算法研究的早期出現(xiàn)了一種基于固定大小窗口的局部立體匹配算法(fixed window,F(xiàn)W),該算法具有比較簡(jiǎn)單的計(jì)算過(guò)程[1],在雙目圖像立體匹配算法研究的初期占有重要地位.由于雙邊濾波(bilateral filter,BF)技術(shù)很早就應(yīng)用于圖像處理領(lǐng)域,Gao等[2]發(fā)現(xiàn)可以將這種技術(shù)推廣到雙目視覺(jué)領(lǐng)域后,提出自適應(yīng)權(quán)值雙目立體匹配算法(adaptive weight,AW).該算法的計(jì)算復(fù)雜度比較高,能夠獲得與先進(jìn)全局匹配算法相近的匹配精度,但是在實(shí)時(shí)性方面的表現(xiàn)卻不盡人意.
李超[3]提出了一種具有固定時(shí)間常數(shù)的立體匹配算法,以前經(jīng)典的雙邊濾波式局部立體匹配算法在進(jìn)行匹配時(shí)需要用到匹配窗口,因此最后的計(jì)算復(fù)雜度與窗口的半徑的平方成線(xiàn)性關(guān)系,而他提出的算法在匹配計(jì)算時(shí)與窗口大小無(wú)關(guān),計(jì)算復(fù)雜度為一個(gè)固定時(shí)間常數(shù)O(1).在此研究基礎(chǔ)上,Zhang等[4]提出了改進(jìn)型的自適應(yīng)權(quán)值雙目立體匹配算法,該算法也具有運(yùn)行時(shí)間為常數(shù)的特點(diǎn),該算法雖處理灰度圖像且匹配效率也較高,但與能處理彩色圖像的傳統(tǒng)自適應(yīng)權(quán)值算法相比,在匹配精度和效率方面還是有差距.He等[5]借助聯(lián)合積分直方圖技術(shù),提出了新的改進(jìn)型自適應(yīng)權(quán)值立體匹配算法,該算法不僅能夠處理多通道的彩色圖像而且計(jì)算復(fù)雜度也具有固定時(shí)間常數(shù),更重要的是與以前的算法相比,匹配精度也有較大的提升.
CostFilter算法[6]是當(dāng)前匹配精度最高的局部立體匹配算法,性能指標(biāo)接近最為優(yōu)秀的全局立體匹配算法,進(jìn)一步推動(dòng)了局部立體匹配算法的研究工作.因此總的來(lái)說(shuō)近年來(lái)的發(fā)展趨勢(shì)和重點(diǎn)仍舊是在局部匹配算法上,主要是追求計(jì)算效率的高效化和匹配精度的高質(zhì)量上,本文后面提到的主要圖像處理算法思想也是基于此目的來(lái)展開(kāi)研究與開(kāi)發(fā)的.
IIR數(shù)字低通濾波器是一種很重要的數(shù)字濾波器,其具有設(shè)計(jì)簡(jiǎn)單、方便實(shí)現(xiàn)等特點(diǎn),在語(yǔ)音信號(hào)處理過(guò)程中運(yùn)用得比較廣泛.常用的IIR的輸入輸出差差分方程表達(dá)式為
λjF(n-j)
(1)
式中:N為前N個(gè)輸出時(shí)刻;M為當(dāng)前有M個(gè)輸入信號(hào),且一般N>M.IIR濾波器系統(tǒng)存在反饋?zhàn)饔?,反饋系?shù)為λ,ξ為輸入系數(shù),而且該差分方程的實(shí)際運(yùn)算過(guò)程中一般通過(guò)遞歸的編程方式來(lái)實(shí)現(xiàn),所以該數(shù)字低通濾波器也稱(chēng)為遞歸型數(shù)字濾波器.最簡(jiǎn)單的一階遞歸數(shù)字信號(hào)低通濾波器的差分方程表達(dá)式為
ξiI(n-1)+
(2)
當(dāng)把遞歸信號(hào)濾波模型引入到圖像濾波領(lǐng)域時(shí),需要做如下處理:首先將輸入圖像I按照Y軸方向劃分為yn條掃描線(xiàn),其中第yi條掃描線(xiàn)又包括[I(yi,1),I(yi,2),I(yi,3),…,I(yi,n),…]這些像素點(diǎn),見(jiàn)圖1.
圖1 圖像序列掃描線(xiàn)示意
將這些像素點(diǎn)序列當(dāng)作一個(gè)時(shí)域的輸入序列,可以推導(dǎo)出一階的圖像濾波輸出為Ox+,具體運(yùn)算表達(dá)式見(jiàn)式(3)~(4),其中令反饋系數(shù)λ<1,且ξ=1-λ.
Ox+=(1-λ)I(n,yi)+λox+(n-1,yi)
(3)
(4)
考慮到圖像濾波的特殊性,該點(diǎn)的濾波輸出不僅與左邊的像素點(diǎn)有關(guān),還應(yīng)考慮到該點(diǎn)右邊像素點(diǎn)對(duì)它的影響,因此可將式(4)擴(kuò)展到圖像I的整個(gè)寬度W上,最后推導(dǎo)簡(jiǎn)化后的一維濾波輸出的表達(dá)式為
(5)
Ox(n,yi)=I(n,yi)*H1(n)=
(6)
整理后的最終輸出結(jié)果表達(dá)式為
Ox(n,yi)=(1-λ)Ox(n,yi)+
λOx(n+1,yi)
(7)
進(jìn)一步延伸到圖像I在X軸上的掃描線(xiàn),同樣需要進(jìn)行Y軸正向、反向的濾波過(guò)程.其中第xi條掃描線(xiàn)按時(shí)域分割后的序列進(jìn)行Y軸方向的濾波輸出結(jié)果的表達(dá)式,可以采用上面相似的原理推導(dǎo)出來(lái).同時(shí)可以利用二維卷積,將一維濾波核H1擴(kuò)展成二維濾波核H,具體表達(dá)式為
*H1
(8)
由式(8)的表達(dá)式進(jìn)行推導(dǎo)后可以得到整個(gè)圖像I的二維濾波核的表示式,即H(x,y)=(1-λ)2λ|x|+|y|,最終的圖像I的濾波輸出O的計(jì)算結(jié)果為
(9)
由式(9)可知,圖像I的二維濾波可以分別進(jìn)行X軸和Y軸雙向?yàn)V波就可以完成.
Gastal等[7]提出了域變換(domain transform)的概念,并通過(guò)該概念提出了自己的圖像濾波模型.他將雙邊遞歸濾波算法中的反饋系數(shù)λ由一個(gè)常數(shù)改進(jìn)為一個(gè)變化量,該變化量主要與當(dāng)前元素和前一個(gè)元素的差值ΔI相關(guān)的變量λ’,具體表達(dá)式為:λ’=λΔI,這樣處理后,不僅能對(duì)圖像進(jìn)行遞歸濾波處理后獲得比較平滑的效果,同時(shí)又能借助新的反饋系數(shù)使圖像濾波能很好的保持圖像的邊緣特征.
根據(jù)該算法模型,則圖像I沿X軸正方向的濾波表達(dá)式為
Ox+(n,yi)=(1-λΔIx-)I(n,yi)+
λΔIx-Ox-(n,yi)
(10)
式中:ΔIx-=1+β|I(n,yi)-I(n-1,yi)|;β為差分調(diào)節(jié)參數(shù),且β=δs/δr,δs為空域方差,δr為值域方差.其他方向上的濾波表達(dá)式都可以由類(lèi)似式(10)的方法推導(dǎo)出來(lái),這里就不贅述.
采用這種方式的遞歸雙邊濾波算法,其計(jì)算復(fù)雜度并不高,因?yàn)樗惴▋?nèi)部主要是乘法和加法運(yùn)算,所以比較匹配嵌入式處理器有限的運(yùn)算處理能力,使其計(jì)算效率比較高,同時(shí)匹配精度也能得到保障.
所有的立體匹配算法都需要進(jìn)行計(jì)算代價(jià)聚合的過(guò)程,而傳統(tǒng)的計(jì)算代價(jià)聚合的方式是通過(guò)計(jì)算視差窗口內(nèi)匹配代價(jià)的總和或平均值而得到的.從本文第二節(jié)所述的REF濾波數(shù)學(xué)模型可知,輸入圖像I在經(jīng)過(guò)匹配代價(jià)計(jì)算后,獲得匹配代價(jià)矩陣e,對(duì)e進(jìn)行REF濾波時(shí),具體聚合過(guò)程可以分為從X軸、Y軸兩個(gè)方向分別進(jìn)行濾波處理的過(guò)程.式(11)中e矩陣中的一個(gè)點(diǎn)P,該點(diǎn)在視差為d的條件下,X軸正方向的濾波處理后得到的聚合代價(jià),進(jìn)而可以擴(kuò)展到X軸正負(fù)兩個(gè)方向的聚合代價(jià)具體表達(dá)式見(jiàn)式(12).而目前主流的局部立體匹配算法在計(jì)算代價(jià)聚合過(guò)程是主要采用邊緣保持濾波技術(shù),這樣處理可以使不同顏色的像素點(diǎn)都能獲得比較小的聚合權(quán)值,從而保證代價(jià)聚合的效果良好.
Cx+(p,d)=(1-λΔ-p)e(p,d)+
λΔ-(p)Cx-(p,d)
(11)
Cx+(p,d)=(1-λΔ+(p)Cx+(p,d)+
λΔ+pCx+(p+,d)
(12)
式(11),(12)中Δ-(p),Δ+(p)分別為像素點(diǎn)P與正向、反向相鄰元素之間的一個(gè)差分變量,而p+,p-分別是點(diǎn)P左右兩邊的相鄰元素.以X軸正向?yàn)槔?,差分量?p=1+β|I1(p)-I1(p-),Δ+(p)=1+β|I1(p)-I1(p+) 其中的β為差分調(diào)節(jié)參數(shù),它反映的是代價(jià)聚合過(guò)程的過(guò)程隨像素梯度變化的程度.
該代價(jià)聚合算法一次完整的聚合代價(jià)計(jì)算過(guò)程需要遍歷代價(jià)矩陣e中的所有元素4次,因此該算法的計(jì)算復(fù)雜度是一個(gè)與輸入圖像的寬和高息息相關(guān)的固定時(shí)間常數(shù),即O[4*W*H].
圖2為經(jīng)過(guò)REF代價(jià)聚合算法處理后的樣本圖像示意圖,實(shí)驗(yàn)樣本中的綠線(xiàn)為選取的比對(duì)圖像數(shù)據(jù),a行為代價(jià)矩陣e的視差圖分布圖,b行為經(jīng)過(guò)REF濾波處理后的視差分布圖,紅色部分為其中視差值最小值的點(diǎn).通過(guò)下圖圖像元素的分析可知:通過(guò)匹配代價(jià)計(jì)算處理后的矩陣e中的視差分布很雜亂,內(nèi)部存在鋸齒,而且過(guò)渡不平滑,視差也不連續(xù),邊緣特征也保持的不好;而經(jīng)過(guò)REF濾波處理后得到的視差矩陣C中的內(nèi)部視差過(guò)渡連續(xù)平滑,變化趨勢(shì)比較明顯,保留的邊緣特征效果比較好,因此將REF模型運(yùn)用到代價(jià)聚合的計(jì)算過(guò)程中是有效的.
圖2 REF雙目立體代價(jià)聚合算法圖像處理效果的示意
圖3 未采用迭代方式的二維濾波權(quán)值分布圖
圖4 三次迭代濾波后濾波權(quán)值分布圖
由文獻(xiàn)[8]可知,N次迭代濾波后的第i次迭代反饋參數(shù)為λi,其具體計(jì)算公式為
本節(jié)后面的實(shí)驗(yàn)部分將具體展示REF算法的性能與迭代濾波次數(shù)N之間的關(guān)系.
其中δs的取值可以參考經(jīng)典的AW,FBS等雙目算法,取高斯核空域平滑方差經(jīng)驗(yàn)值δs=30即可,而δr以及N對(duì)匹配精度的影響需要做相關(guān)仿真實(shí)驗(yàn)來(lái)確定最優(yōu)數(shù)值.迭代次數(shù)N和值域平滑參數(shù)δr與誤碼率的關(guān)系曲線(xiàn)圖見(jiàn)圖5~6.
圖6 值域平滑參數(shù)δr與誤碼率曲線(xiàn)關(guān)系圖
由圖5可知,經(jīng)過(guò)REF雙目立體匹配算法圖像處理后獲得的誤碼率隨著迭代次數(shù)的增加呈現(xiàn)一種震蕩收斂的曲線(xiàn)關(guān)系,其在N=3時(shí)誤碼率達(dá)到最小為0.056,而在N≥5以后誤碼率逐漸震蕩收斂于一個(gè)穩(wěn)定值0.056 4.在實(shí)際應(yīng)用過(guò)程中考慮到嵌入式芯片計(jì)算資源的有限,不可能選擇過(guò)高的迭代次數(shù),這會(huì)給芯片造成很大的計(jì)算負(fù)擔(dān),而選擇迭代次數(shù)N=3不僅可以保證比較好的誤碼率,對(duì)計(jì)算芯片的運(yùn)行速度要求沒(méi)有那么苛刻.不可能選擇過(guò)高的迭代次數(shù),這會(huì)給芯片造成很大的計(jì)算負(fù)擔(dān),而選擇迭代次數(shù)N=3不僅可以保證比較好的誤碼率,對(duì)計(jì)算芯片的運(yùn)行速度要求沒(méi)有那么苛刻.
由圖6可知,誤碼率與值域方差δr之間呈現(xiàn)明顯的凹曲線(xiàn)關(guān)系,在δr=0.24左右時(shí),誤碼率可以取得最小值0.056,因此,本算法在最后參數(shù)的確定環(huán)節(jié),影響REF雙目匹配算法匹配精度的三個(gè)核心參數(shù)的取值分別為:迭代次數(shù)N=3,空域平滑參數(shù)δs=30,值域平滑參數(shù)δr=0.24.
經(jīng)過(guò)本文提出的算法處理后,其不僅能夠很好的保留圖像的邊緣特性,方便提取物體的邊緣特征用于識(shí)別,同時(shí)內(nèi)部還具有均勻的視差分布,方便后期處理時(shí)獲得連續(xù)均勻的3D圖像,保證其平滑,觀看舒適,立體感強(qiáng)烈.發(fā)送誤匹配的點(diǎn)主要在物體邊緣,這進(jìn)一步證明了本算法內(nèi)部可以保證過(guò)渡平滑,邊緣特征比較明顯.
雙目匹配算法實(shí)時(shí)性的仿真結(jié)果分析.
本文提出的REF立體匹配算法的計(jì)算復(fù)雜度主要與輸入圖像的大小、輸入信道的數(shù)目以及迭代次數(shù)呈線(xiàn)性關(guān)系, REF雙目立體匹配算法的迭代計(jì)算過(guò)程中只涉及到加減和乘法運(yùn)算,沒(méi)有占用計(jì)算資源很多的矩陣運(yùn)算,因此計(jì)算效率較高.輸入圖像大小為N=h*w時(shí),在D個(gè)輸入信道下,其計(jì)算復(fù)雜度為O(4*N*D),它比目前先進(jìn)的雙邊濾波算法(計(jì)算復(fù)雜度為O(ND2)[9]或者O(Nlg(N)D)[10])更加有效,因此REF匹配算法的運(yùn)行效率要遠(yuǎn)高于其他局部匹配算法,在理論分析上具有比較好的實(shí)時(shí)性能.
在雙核AMD2.3 GHz處理器、4 GB運(yùn)行內(nèi)存的PC平臺(tái)上進(jìn)行本文提出的REF雙目立體匹配算法.經(jīng)過(guò)對(duì)四個(gè)實(shí)驗(yàn)樣本進(jìn)行立體匹配過(guò)程的運(yùn)行時(shí)間的追蹤,具體數(shù)據(jù)見(jiàn)表1.其中在對(duì)實(shí)驗(yàn)樣本Tsukuba進(jìn)行一次迭代的時(shí)間僅需38 ms,而三次迭代后所需時(shí)間也只為108 ms,即使數(shù)據(jù)量最大的Teddy和Cones實(shí)驗(yàn)樣本三次迭代的時(shí)間也不超過(guò)160 ms,對(duì)比其他實(shí)時(shí)性比較好的P-LinearS匹配算法的匹配過(guò)程約需要250 ms左右,因此,本文提出的REF雙目立體匹配算法具有比較優(yōu)秀的實(shí)時(shí)特性.
表1 REF立體匹配算法實(shí)驗(yàn)樣本運(yùn)行時(shí)間數(shù)據(jù) ms
本文主要開(kāi)發(fā)了一種計(jì)算效率高且圖像處理精度比較好的圖像處理算法,本文根據(jù)數(shù)字低通濾波器的遞歸數(shù)學(xué)模型展開(kāi)相關(guān)研究,將它擴(kuò)展到圖像濾波領(lǐng)域,并以此為核心設(shè)計(jì)了REF雙目立體匹配圖像處理算法.REF雙目立體匹配算法的圖像仿真實(shí)驗(yàn)主要是在PC機(jī)端實(shí)現(xiàn)的,實(shí)驗(yàn)的樣本主要來(lái)自經(jīng)典的四組立體圖像對(duì),仿真實(shí)驗(yàn)數(shù)據(jù)和仿真圖像可以得出本文的圖像處理算法在匹配精度上領(lǐng)先了幾種經(jīng)典的匹配算法,并與保持領(lǐng)先的局部算法在匹配精度誤碼率上差距不大,匹配精度平均能夠保持在5.6%以下,在圖像處理算法的運(yùn)行時(shí)間上優(yōu)于其他局部立體匹配算法.