周武威,劉子濠,王 瓊,譚書倫,郭龍?jiān)?,胡建?/p>
(1.湖南理工學(xué)院 a.信息科學(xué)與工程學(xué)院; b.機(jī)械工程學(xué)院; c.機(jī)器視覺與人工智能研究中心,湖南 岳陽 414006;2.廣西中煙工業(yè)有限責(zé)任公司,廣西 桂林 530000)
立體匹配在無人駕駛[1]、三維重建[2]、虛擬現(xiàn)實(shí)[3]等領(lǐng)域有著廣泛的應(yīng)用。研究者提出了很多有效的立體匹配算法?;跀U(kuò)展移動的算法是目前的研究方向之一。Boykov等[4]首先提出了擴(kuò)展移動來求解立體匹配問題,擴(kuò)展移動能同時(shí)改變大部分像素的標(biāo)簽,很好地克服了陷入局部最小值的問題。針對擴(kuò)展移動建模過程繁瑣的問題,Kolmogorov等[5]給出了一種通用的建模方法,簡化了擴(kuò)展移動的建模過程。Li等[6]提出了一種多層超像素結(jié)構(gòu),利用該結(jié)構(gòu)可以在無窮大的三維標(biāo)簽集中進(jìn)行高效地?cái)U(kuò)展移動。Taniai等[7]進(jìn)一步提出了局部擴(kuò)展移動的方法,該方法通過局部化和空間傳播2種方式,并有效結(jié)合了傾斜塊匹配項(xiàng)[8]和曲率平滑項(xiàng)[9],具有局部最優(yōu)、適合并行化和基于導(dǎo)引濾波加速代價(jià)計(jì)算等優(yōu)點(diǎn)。但以上算法在弱紋理區(qū)域的匹配效果欠佳。
Li等[10]提出了一種基于期望最大化[11]的方法,通過估計(jì)擴(kuò)展移動立體匹配算法的參數(shù),改善了在弱紋理區(qū)域的匹配效果。受文獻(xiàn)[10]的啟發(fā),本文提出了一種基于期望最大化的局部擴(kuò)展移動立體匹配算法,算法的創(chuàng)新點(diǎn)為:提出了傾斜塊匹配項(xiàng)和曲率平滑項(xiàng)的概率模型;基于期望最大化算法自適應(yīng)地設(shè)置局部擴(kuò)展移動算法的平滑權(quán)重。
首先介紹局部擴(kuò)展移動立體匹配的費(fèi)用函數(shù),然后建立費(fèi)用函數(shù)中傾斜塊匹配項(xiàng)和曲率平滑項(xiàng)的概率模型,并且基于期望最大化算法分別估計(jì)2個概率模型的參數(shù)。
對于左圖像I={i}和右圖像J={j}(本文將左圖像作為參考圖像),根據(jù)局部擴(kuò)展移動立體匹配[7]的費(fèi)用函數(shù)式(1),可以得到參考圖像中像素的視差平面fi=(ai,bi,ci)。
(1)
di=aix+biy+ci。
(2)
傾斜塊匹配項(xiàng)φi(fi)的定義為:
(3)
ρ(s|fi)=min(CCNN(s,s′),τCNN)。
(4)
函數(shù)CCNN(s,s′)[12]利用卷積神經(jīng)網(wǎng)絡(luò)計(jì)算分別以s=(xs,ys)和s′=(xs,ys)-(aixs+biys+ci,0)為中心點(diǎn)的2個圖像塊之間的相似性,τCNN是常數(shù),Wi是以i為中心的窗口,權(quán)重ωis實(shí)現(xiàn)了基于導(dǎo)引濾波[13]的自適應(yīng)支持窗口[14],權(quán)重ωis的定義見文獻(xiàn)[7]。
曲率平滑項(xiàng)ψij(fi,fj)的定義為:
ψij(fi,fj)=max(wij,
(5)
(6)
di(fj)=ajxi+bjyi+cj。
(7)
1.2.1 建立概率模型
首先令:
(8)
(9)
式中:μ是指數(shù)分布的參數(shù);R是均勻分布的參數(shù)。定義混合概率:
P(γi=1)=α,P(γi=0)=α′=1-α。
(10)
式中:α是在左圖和右圖中均可見的像素的比例。對γi求和得到如下邊緣概率:
(11)
1.2.2 基于期望最大化算法估計(jì)模型參數(shù)
給定參考圖像中像素的視差平面{fi},根據(jù)期望最大化算法,首先計(jì)算:
(12)
然后計(jì)算γi的條件概率:
(13)
接著計(jì)算對數(shù)概率的期望:
(14)
(15)
(16)
通過最大化式(14)可以得到α和μ的估計(jì)值。分別令式(14)對α和對μ的偏導(dǎo)為零,得式(15)和(16),式(15)中的|I|為參考圖像的像素個數(shù)。
1.3.1 建立概率模型
為參考圖像中的每個相鄰像素對g設(shè)置一個隱隨機(jī)變量θg,變量的值為2時(shí)表示相鄰像素對g是共面的,變量的值為1時(shí)表示像素對g是連續(xù)的,變量的值為0時(shí)表示g是不連續(xù)的。
為了簡化表達(dá),令ψg(fg)=ψij(fi,fj)。曲率平滑項(xiàng)ψg(fg)的定義如下:
P(ψg(fg))=
(17)
式中:ν是指數(shù)分布的參數(shù);L是均勻分布的參數(shù);函數(shù)δ(ψg(fg))服從狄拉克分布,
(18)
(19)
定義如下混合概率:
P(θg=2)=β;P(θg=1)=β′;
P(θg=0)=β″=1-β-β′。
(20)
式中:β是共面像素對的比例;β′是連續(xù)像素對的比例;β″是不連續(xù)像素對的比例。
關(guān)于θg求和得如下邊緣概率:
P(ψg(fg))=
(21)
1.3.2 基于期望最大化算法估計(jì)模型參數(shù)
給定參考圖像中像素的視差平面{fi},根據(jù)期望最大化算法,首先計(jì)算:
(22)
式中:g′為連續(xù)或不連續(xù)的相鄰像素對。然后計(jì)算θg′的條件概率:
pg′?P(θg′=1|ψg′(fg′),β′,ν)=
(23)
接著計(jì)算對數(shù)概率的期望:
Eg′[logP(ψg′(fg′),θg′|β′,ν)]=
(1-pg′)logP(ψg′(fg′),θg′=0|β′,ν))。
(24)
通過最大化這個期望可以得到β′和ν的估計(jì)值,分別令式(24)對β′和對ν的偏導(dǎo)為零,得:
(25)
(26)
式中:G′為全體g′組成的集合;|G′|為g′的個數(shù)。
(27)
圖1 本文算法流程
本文基于計(jì)算機(jī)視覺開源庫OpenCV和局部擴(kuò)展移動立體匹配算法的開源代碼實(shí)現(xiàn)所提算法,在Middlebury數(shù)據(jù)集[15]上進(jìn)行實(shí)驗(yàn)。Middlebury數(shù)據(jù)集是一個室內(nèi)場景數(shù)據(jù)集,它的大部分算法采用原始圖像一半分辨率的圖像進(jìn)行計(jì)算,本文也采用半分辨率圖像。實(shí)驗(yàn)用計(jì)算機(jī)的CPU為Ryzen7 2700主頻3.2 GHz,內(nèi)存為16 GB。
Middlbury數(shù)據(jù)集有多種評價(jià)標(biāo)準(zhǔn),比如bad 2.0 nonocc標(biāo)準(zhǔn)和bad 4.0 nonocc標(biāo)準(zhǔn)。bad 2.0 nonocc標(biāo)準(zhǔn)下的誤匹配率,其含義是最終視差圖的非遮擋區(qū)域中,與真實(shí)視差的絕對差值大于2.0的像素的百分比。類似地,bad 4.0 nonocc標(biāo)準(zhǔn)下的誤匹配率,其含義是最終視差圖的非遮擋區(qū)域中,與真實(shí)視差的絕對差值大于4.0的像素的百分比。
本文算法的結(jié)果上傳至Middlbury在線評測網(wǎng)站后,部分圖像對在bad 2.0 nonocc標(biāo)準(zhǔn)下的誤匹配率和在bad 4.0 nonocc標(biāo)準(zhǔn)下的誤匹配率分別見表1和表2,本文算法的運(yùn)行時(shí)間見表3。
如表1所示,相比于局部擴(kuò)展移動立體匹配算法,本文算法在bad 2.0 nonocc標(biāo)準(zhǔn)下的誤匹配率減少了1%左右。如表2所示,對于圖像對Piano,本文算法在bad 4.0 nonocc標(biāo)準(zhǔn)下的誤匹配率減少了2.74%,對于圖像對PianoL和Playrm,本文算法在bad 4.0 nonocc標(biāo)準(zhǔn)下的誤匹配率減少了1%左右,對于圖像對Shelves和Vintge,本文算法在bad 4.0 nonocc標(biāo)準(zhǔn)下的誤匹配率僅減少了約0.03%,幾乎沒有變化。
表1 bad 2.0 nonocc標(biāo)準(zhǔn)下的誤匹配率 %
表2 bad 4.0 nonocc標(biāo)準(zhǔn)下的誤匹配率 %
如表3所示,本文算法的運(yùn)行時(shí)間與局部擴(kuò)展移動立體匹配算法的運(yùn)行時(shí)間相當(dāng),為后者的1.05倍左右。
表3 運(yùn)行時(shí)間 s
對于Piano圖像對和Playrm圖像對,本文的實(shí)驗(yàn)結(jié)果如圖2所示。
本文算法誤匹配率減少的區(qū)域主要是弱紋理區(qū)域,比如圖2紅框中標(biāo)明的墻壁、百葉窗等弱紋理區(qū)域。
左圖 局部擴(kuò)展移動 本文算法 真實(shí)視差
綜上,相比于局部擴(kuò)展移動立體匹配算法,本文算法在弱紋理區(qū)域的效果更好,而運(yùn)行時(shí)間大體相當(dāng)。