李寶平,王宏濤
(1.河南理工大學(xué) 物理與電子信息學(xué)院,河南 焦作 454000;2.河南理工大學(xué) 測繪與國土信息工程學(xué)院,河南 焦作 454000)
近年來,隨著雙目立體視覺技術(shù)在虛擬現(xiàn)實(shí)、人工智能、目標(biāo)追蹤、立體攝影測量及三維重建等領(lǐng)域中的廣泛應(yīng)用,它已成為計(jì)算機(jī)視覺領(lǐng)域中的一個(gè)研究熱點(diǎn)[1-3]。立體匹配是雙目立體視覺研究中最為關(guān)鍵的一部分,匹配準(zhǔn)確度將直接影響目標(biāo)物體深度信息的獲取。由于遮擋、光照、紋理變換等因素的影響,立體匹配也是立體視覺領(lǐng)域研究中的一個(gè)難點(diǎn)。
D.Scharstein等[4]將現(xiàn)有的立體匹配算法分為局部算法和全局算法2大類。局部算法利用支持窗口內(nèi)像素點(diǎn)的區(qū)域特征實(shí)現(xiàn)匹配,不需要平滑假設(shè);全局算法則需要進(jìn)行平滑假設(shè),構(gòu)造全局能量函數(shù),將立體匹配的標(biāo)簽優(yōu)化問題轉(zhuǎn)化為能量最小化問題,通過能量優(yōu)化的方式求解[5]。雖然局部算法計(jì)算精確度比全局算法低,但是計(jì)算復(fù)雜度低,易于實(shí)現(xiàn),有著廣泛的應(yīng)用。局部立體匹配的主要步驟可以概括為[6]:(1)匹配代價(jià)初始化;(2)代價(jià)聚合;(3)視差選擇;(4)視差優(yōu)化。目前提升匹配準(zhǔn)確度的2個(gè)主要方法是:(1)改進(jìn)初始化匹配結(jié)果[7-8];(2)改進(jìn)代價(jià)聚合方法[9]。
代價(jià)初始化是立體匹配中至關(guān)重要的一個(gè)環(huán)節(jié)[7]。采用不同的匹配測度函數(shù),在圖像的不同區(qū)域(紋理結(jié)構(gòu),邊緣分布等不同)取得的匹配效果也不盡相同。如基于色彩的絕對差值(absolute difference,AD)、平方差值(squared difference,SD)等測度對噪聲及光照變化比較敏感,而基于統(tǒng)計(jì)的Census 變換雖然對光照變化有較好的魯棒性,并且在弱紋理區(qū)域也有好的表現(xiàn),但是在重復(fù)紋理區(qū)域效果不理想。一個(gè)有效的方法就是采用多測度融合的方法。K.Wegner等[10]將多測度乘積融合方法應(yīng)用到新視點(diǎn)合成算法中,取得不錯(cuò)的效果,但也存在錯(cuò)誤擴(kuò)大化問題,當(dāng)2種測度中有一個(gè)匹配錯(cuò)誤時(shí),由于乘積的原因會(huì)將錯(cuò)誤擴(kuò)大,影響匹配準(zhǔn)確度,尤其是在遮擋區(qū)域;A.Klaus等[9]利用加權(quán)求和的方法融合Gradient和AD 2種測度,使匹配精度得到大幅提升,但權(quán)重因子是通過試驗(yàn)的方法獲得的,缺乏普適性;X.Mei等[7]通過構(gòu)建指數(shù)函數(shù)的方法融合Census和AD測度,也取得了很好的效果;C.Stentoumis等[11]采用固定權(quán)重因子,利用指數(shù)函數(shù)的方法融合了AD,Gradient和Census 3個(gè)測度。指數(shù)函數(shù)融合方法存在與乘積融合方法類似的錯(cuò)誤擴(kuò)大化問題。這些已有的融合方法,其融合參數(shù)大都通過試驗(yàn)的方法獲得,對圖像中所有像素點(diǎn)都是固定不變的,缺乏普適性。
代價(jià)聚合是局部立體匹配算法中最為關(guān)鍵的一步,通過對支持窗口內(nèi)的初始匹配代價(jià)進(jìn)行加權(quán)濾波以提高匹配可靠性。代價(jià)聚合方法又可分為自適應(yīng)窗口法和自適應(yīng)權(quán)重法[6]。支持窗口尺寸的選擇會(huì)直接影響立體匹配效果,如果窗口過小,則區(qū)分度不高,在弱紋理區(qū)域容易出現(xiàn)誤匹配;反之窗口過大,容易跨越邊界,在深度不連續(xù)區(qū)域出現(xiàn)誤匹配。自適應(yīng)支持窗口成為最佳選擇[12]:QU Y F等[13]利用像素點(diǎn)的色彩差異性構(gòu)建自適應(yīng)支撐窗口;YANG Y Y等[14]提出一種依據(jù)梯度大小構(gòu)建自適應(yīng)矩形窗口的方法;ZHANG K等[8]提出利用相鄰像素間的色彩及距離雙重約束,構(gòu)建一種基于十字支撐的自適應(yīng)窗口的方法;MEI X等[7]則在此基礎(chǔ)上進(jìn)行擴(kuò)展,提出基于距離和色彩雙閾值的十字支撐自適應(yīng)窗口?;谧赃m應(yīng)權(quán)重的方法則是通過對支持窗口內(nèi)的相鄰像素分配不同的權(quán)重實(shí)現(xiàn)代價(jià)聚合的。K.J.Yoon等[15]首先提出基于距離和色彩的雙邊濾波立體匹配方法,取得很好效果,但計(jì)算復(fù)雜度較高;A.Hosni等[16]提出一種基于引導(dǎo)濾波器的代價(jià)聚合算法,計(jì)算復(fù)雜度與窗口大小無關(guān),在實(shí)時(shí)系統(tǒng)中被廣泛應(yīng)用。
本文針對局部立體匹配算法在弱紋理區(qū)域匹配準(zhǔn)確度低的問題,對匹配代價(jià)初始化和代價(jià)聚合2階段進(jìn)行改進(jìn),提出一種兩階段自適應(yīng)優(yōu)化的局部立體匹配算法。首先,在代價(jià)初始化階段,利用十字支撐的最短臂長構(gòu)造自適應(yīng)函數(shù),自適應(yīng)融合AD及Census特征測度[17];其次,在代價(jià)聚合階段,利用十字支撐擴(kuò)展及形態(tài)學(xué)方法構(gòu)建自適應(yīng)窗口,通過自適應(yīng)區(qū)域?yàn)V波實(shí)現(xiàn)代價(jià)聚合;最后,經(jīng)過視差選擇及視差優(yōu)化生成視差圖像。
本文算法的整體流程如圖1所示:首先,對經(jīng)過立體校正后的雙目圖像,采用限制對比度自適應(yīng)直方圖均衡(采用Rayleigh直方圖)方法[18]進(jìn)行圖像增強(qiáng);其次,利用色彩及距離雙閾值線性約束構(gòu)造十字支撐窗口,并利用最短臂長構(gòu)造自適應(yīng)權(quán)值函數(shù)融合AD及Census測度,實(shí)現(xiàn)匹配代價(jià)初始化;再次,通過對十字支撐窗口進(jìn)行水平擴(kuò)展及形態(tài)學(xué)處理生成自適應(yīng)窗口,并進(jìn)行區(qū)域?yàn)V波,實(shí)現(xiàn)代價(jià)聚合;最后,經(jīng)視差選擇(winner takes all,WTA)及視差優(yōu)化,輸出最終視差圖像。
圖1 算法流程Fig.1 Flowchart of the proposed algorithm
在局部匹配算法中,通常假設(shè)匹配窗口內(nèi)的像素點(diǎn)視差平滑。對于弱紋理區(qū)域需要一個(gè)大的匹配窗口以容納更多紋理,而對于視差不連續(xù)區(qū)域則需要小的窗口以保持邊緣細(xì)節(jié)。因此,采用基于紋理的自適應(yīng)窗口代替固定窗口,有助于提高弱紋理區(qū)域的匹配準(zhǔn)確度。
AD測度主要依賴于像素點(diǎn)自身色彩強(qiáng)度值,Census測度則更依賴于周邊像素序列。因此,對于弱紋理區(qū)域,Census更具優(yōu)勢,且對光照變化和圖像噪聲有較好的抑制作用,但對圖像中重復(fù)紋理及視差不連續(xù)區(qū)域的匹配效果不是很好。為解決這個(gè)問題,需要引入更多的細(xì)節(jié)參與到匹配計(jì)算中,色彩強(qiáng)度信息有助于消除這種模糊性。因此,考慮利用AD-Census進(jìn)行聯(lián)合測度,并利用基于紋理的十字支撐窗口的最短臂長構(gòu)造自適應(yīng)函數(shù),實(shí)現(xiàn)AD-Census測度的自適應(yīng)融合。
ZHANG K等[8]提出基于十字支撐窗口的立體匹配算法,利用周圍像素色彩的約束關(guān)系構(gòu)造自適應(yīng)窗口。MEI X等[7]在此基礎(chǔ)上改進(jìn)了十字臂長的計(jì)算規(guī)則,提出基于距離和色彩雙閾值約束的臂長計(jì)算準(zhǔn)則。本文在此基礎(chǔ)上,采用一種基于距離的線性可變閾值的臂長計(jì)算準(zhǔn)則。色彩閾值τ隨臂長lpq的增加而線性減小。色彩閾值τ的計(jì)算準(zhǔn)則為
(2)
式中:L1,L2為構(gòu)造十字支撐的距離閾值;τ1,τ2為色彩強(qiáng)度閾值;lpq為待匹配像素點(diǎn)p與相鄰像素點(diǎn)q之間的距離。
閾值變化曲線如圖2所示:L1可理解為設(shè)定的深度不連續(xù)區(qū)域最大允許范圍,L2為設(shè)定的最大臂長。當(dāng)lpq 需要說明的是,在計(jì)算臂長時(shí),不僅要求p點(diǎn)與q點(diǎn)之間的色彩強(qiáng)度差值小于τ,而且要求臂上相鄰像素點(diǎn)(q,q′)間的差值也要小于τ。利用該約束準(zhǔn)則,可得到像素點(diǎn)p的四方向臂長{Hp-,Hp+;Vp-,Vp+},進(jìn)而得到十字支撐窗口,如圖3所示。 圖2 色彩閾值變化曲線Fig.2 Color threshold change curve 圖3 自適應(yīng)十字支撐窗口Fig.3 Adaptive cross-support window 基于AD-Census測度立體匹配算法的準(zhǔn)確度與圖像的紋理強(qiáng)弱及邊緣分布有密切聯(lián)系,而十字支撐的最短臂長又可以反映圖像的紋理變化:臂長變長,則處于弱紋理覆蓋區(qū)域;臂長變短,則接近于物體的邊緣。由此考慮基于最短臂長構(gòu)造自適應(yīng)函數(shù)以融合AD和Census測度。AD-Census自適應(yīng)聯(lián)合測度函數(shù)可表示為[1] (3) (4) 式中:λAD和λCensus為正則化參數(shù);α為自適應(yīng)權(quán)值系數(shù);Lmin為四方向最短臂長;γL為邊緣區(qū)域控制參數(shù);ε為修正系數(shù)。 如果像素點(diǎn)p接近圖像邊緣,則最短臂長短,AD權(quán)值增大,Cesus權(quán)值減小,自適應(yīng)融合AD和Census測度。 在代價(jià)聚合階段,采用基于自適應(yīng)區(qū)域?yàn)V波的代價(jià)聚合方式。如圖3所示,首先在像素點(diǎn)p十字支撐的垂直臂{Vp-~Vp+}上,對每一個(gè)像素點(diǎn)q進(jìn)行水平擴(kuò)展,水平擴(kuò)展需要滿足與p點(diǎn)水平擴(kuò)展相似的色彩閾值條件: (6) 至此,可以初步得到每一個(gè)像素點(diǎn)p的自適應(yīng)濾波區(qū)域,如圖4(b)所示??紤]到區(qū)域?yàn)V波的平滑性,可以對該區(qū)域進(jìn)行形態(tài)學(xué)處理,得到如圖4(c)所示的自適應(yīng)濾波區(qū)域。 R°B=(RΘB)⊕B, (7) 式中:R為二值化后的自適應(yīng)區(qū)域;B為結(jié)構(gòu)元素;°為開運(yùn)算;Θ為腐蝕操作;⊕為膨脹操作。 像素點(diǎn)p在視差范圍d∈[dmin,dmax]內(nèi)的匹配代價(jià)可以表示為 (8) 圖4 自適應(yīng)濾波區(qū)域示意Fig.4 Sketch map of adaptive filtering area 式中:Νp為像素點(diǎn)p的自適應(yīng)濾波區(qū)域;N為該區(qū)域內(nèi)的像素點(diǎn)數(shù)目。 最后,采用WTA( winner takes all)策略,在視差范圍內(nèi)選擇使匹配代價(jià)最小的視差值作為初始視差: (9) 由WTA方法得到的初始視差與真實(shí)視差之間還存在一定的差距,需要進(jìn)行后續(xù)處理。首先,考慮利用圖像中每個(gè)像素點(diǎn)p的自適應(yīng)區(qū)域Νp,進(jìn)行區(qū)域優(yōu)化,選擇鄰域范圍內(nèi)統(tǒng)計(jì)頻次最高的視差值作為p點(diǎn)的視差[12]: (10) 其中,hist(d,Νp)為在p點(diǎn)的鄰域Νp內(nèi)視差d的統(tǒng)計(jì)頻次。 由式(10)得到的視差值為統(tǒng)計(jì)意義上的最優(yōu)視差。這一過程可進(jìn)行多次迭代以盡量消除誤匹配點(diǎn)。圖5為AD初始視差統(tǒng)計(jì)優(yōu)化前后的視差圖像對比。 通過左右一致性檢測,檢測視差圖像中的異值點(diǎn): 式中:dleft(p)為左視差圖中p點(diǎn)的視差值;dright(p-dleft(p))為p點(diǎn)在右視差圖中對應(yīng)點(diǎn)的視差值。 對于異值點(diǎn)可以在該像素點(diǎn)的八方向進(jìn)行搜索,選擇最小視差作為該點(diǎn)的視差值,最后,通過中值濾波,得到視差圖像。 為了驗(yàn)證算法的試驗(yàn)效果,試驗(yàn)利用Middlebury Stereo Evaluation 2和Evaluation 3測試數(shù)據(jù)集[19]進(jìn)行測試。試驗(yàn)中Evaluation 2測試集采用誤匹配率作為匹配準(zhǔn)確度的衡量指標(biāo),視差允許誤差設(shè)為1,Evaluation 3測試集采用視差平均誤差為匹配準(zhǔn)確度的衡量指標(biāo)。試驗(yàn)中所用的主要參數(shù)設(shè)置如表1所示。 表1 試驗(yàn)所用參數(shù)設(shè)置Tab.1 Parameter settings in test 為檢驗(yàn)兩階段自適應(yīng)優(yōu)化的效果,將本文算法與AD、Census單測度及固定權(quán)值(α=0.5)融合方法進(jìn)行比較,這里統(tǒng)一采用自適應(yīng)區(qū)域?yàn)V波,在視差優(yōu)化階段,只進(jìn)行左右一致性檢測及中值濾波。Venus,Teddy圖像的試驗(yàn)測試結(jié)果如圖6所示。 從圖6可以看到,AD測度在圖像邊緣區(qū)域表現(xiàn)較好,但在弱紋理區(qū)域表現(xiàn)較差;Census測度則相反,在弱紋理區(qū)域表現(xiàn)較好,視差平滑,但在圖像邊緣區(qū)域,由于視差不連續(xù),Census的區(qū)域特性會(huì)導(dǎo)致邊緣模糊。圖6(d)中采用固定權(quán)值的融合方式,與Census匹配結(jié)果相接近,融合優(yōu)勢表現(xiàn)不明顯,主要原因是缺乏自適應(yīng)環(huán)節(jié)。本文提出的兩階段自適應(yīng)優(yōu)化方法則可以依據(jù)像素點(diǎn)位置的紋理強(qiáng)弱,自適應(yīng)調(diào)整AD及Census的權(quán)值,使其在弱紋理區(qū)域和圖像邊緣區(qū)域均有較好的表現(xiàn)。試驗(yàn)數(shù)據(jù)集平均測試結(jié)果對比如圖7所示。本文所提算法較固定權(quán)值算法,誤匹配率下降了0.44%。 圖6 Venus及Teddy試驗(yàn)結(jié)果對比 Fig.6 Comparison of Venus and Teddy images test results 圖7 不同測度函數(shù)得到的誤匹配率對比Fig.7 Comparison of error matching rates obtained by different measures 下面探討不同參數(shù)設(shè)置對立體匹配結(jié)果的影響。這里以Evaluation 2數(shù)據(jù)集中的Tsukuba,Venus,Teddy和Cones圖像為例進(jìn)行分析。 首先,分析色彩強(qiáng)度及距離閾值對匹配結(jié)果的影響。在代價(jià)初始化階段,由閾值決定的像素點(diǎn)的最短臂長會(huì)影響AD及Census測度的權(quán)值分配;在代價(jià)聚合階段,由臂長決定的像素點(diǎn)自適應(yīng)區(qū)域則會(huì)對濾波效果產(chǎn)生影響。 由圖8(a)及(c)所示的測試結(jié)果可以觀測到:最短距離閾值L1及色彩強(qiáng)度閾值τ1的變化對匹配結(jié)果的影響較小,這是因?yàn)閷τ诤芏鄰?qiáng)紋理區(qū)域或邊緣區(qū)域而言,高對比度已經(jīng)將其自適應(yīng)區(qū)域限制在一較小的范圍內(nèi),因此,其變化對結(jié)果的影響不大。L2及τ2主要影響弱紋理區(qū)域像素點(diǎn)自適應(yīng)區(qū)域的構(gòu)建,會(huì)對Census測度產(chǎn)生較大的影響。由圖8(b)和(d)可知,當(dāng)L2=40,τ2=5時(shí),可以取得較好的匹配效果。 其次,分析邊緣控制參數(shù)γL和修正系數(shù)ε對匹配視差的影響,其變化均會(huì)影響AD和Census測度的比例分配。這里固定γL=1,分析ε取值對匹配結(jié)果的影響。當(dāng)ε取值減小,AD比例增加,反之Census比例增加。 修正系數(shù)ε對匹配視差的影響如圖9所示。當(dāng)取值較小時(shí),AD比例過大,可以獲得較好的邊緣視差,但同時(shí)會(huì)減弱Census測度在弱紋理區(qū)域的作用,導(dǎo)致匹配誤差較大。合理設(shè)置ε,既可以在弱紋理區(qū)域獲得較好的平滑視差,又不至于產(chǎn)生邊緣模糊。 圖8 參數(shù)設(shè)置對試驗(yàn)結(jié)果的影響 Fig.8 Influence of parameter settings on test results 圖9 修正系數(shù)ε對匹配結(jié)果的影響Fig.9 Influence of correction coefficient ε on matching results 將本文算法與其他同類融合算法進(jìn)行比較分析?;贛iddlebury Evaluation 3測試集的測試結(jié)果對比如表2~3所示。MEI X等[7]提出的經(jīng)典自適應(yīng)AD-Census融合算法,采用基于十字支撐的自適應(yīng)區(qū)域?yàn)V波算法,但其在代價(jià)初始化階段采用固定權(quán)值進(jìn)行AD-Census測度融合,沒有考慮不同測度在不同紋理區(qū)域的適應(yīng)度問題。而本文算法則在初始化階段考慮不同測度在不同紋理區(qū)域的置信度,因此,匹配效果更好。整體匹配誤差下降了3.95%,非遮擋區(qū)域下降了2.17%。AW-ADCens算法[1]利用指數(shù)函數(shù)對AD-Census測度進(jìn)行自適應(yīng)融合,其中采用固定閾值的方法計(jì)算十字支撐臂長,本文采用線性閾值,在弱紋理區(qū)域,有更好的適應(yīng)性,視差平均誤差下降了0.25%。ADSM算法[20]是在圖像分割的基礎(chǔ)上,融合多個(gè)特征測度進(jìn)行視差估計(jì),其匹配準(zhǔn)確度與圖像分割的可靠性有很大關(guān)聯(lián),本文算法整體視差匹配誤差較之下降了1.85%。部分試驗(yàn)測試結(jié)果如圖10所示。 表2 不同融合方法視差平均誤差比較(非遮擋區(qū)域)Tab.2 Comparison of disparity average errors with different fusion methods(non-occlusion area) % 表3 不同融合方法視差平均誤差比較(全部區(qū)域)Tab.3 Comparison of disparity average errors with different fusion methods(all area) % 圖10 部分測試結(jié)果 Fig.10 Partial results of tests 針對局部立體匹配算法在圖像弱紋理區(qū)域匹配效果不理想的問題,本文提出兩階段自適應(yīng)優(yōu)化匹配算法。在代價(jià)初始化階段,基于像素點(diǎn)十字支撐窗口的最短臂長構(gòu)造自適應(yīng)融合函數(shù),實(shí)現(xiàn)AD-Census聯(lián)合測度;在代價(jià)聚合階段,則通過十字支撐窗口的自適應(yīng)擴(kuò)展及形態(tài)學(xué)處理,實(shí)現(xiàn)像素點(diǎn)的自適應(yīng)區(qū)域?yàn)V波。試驗(yàn)結(jié)果表明,兩階段自適應(yīng)優(yōu)化算法在弱紋理區(qū)域及圖像邊緣區(qū)域,較傳統(tǒng)的AD-Census融合算法,平均匹配誤差均有明顯下降,匹配準(zhǔn)確度得到提升。2.2 AD-Census自適應(yīng)融合
3 自適應(yīng)區(qū)域?yàn)V波
4 視差優(yōu)化
5 測試分析
5.1 與單一測度及固定權(quán)值融合方法的比較
5.2 參數(shù)設(shè)置對結(jié)果的影響
5.3 與其他融合算法的比較
6 結(jié) 論