本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,具體涉及一種立體匹配方法及裝置。
背景技術(shù):
隨著雙攝像頭配置在手機(jī)等移動(dòng)終端中日益廣泛,一種適合手機(jī)等移動(dòng)終端使用的雙目圖像深度估計(jì)方法變得十分重要。
目前,在雙目圖像深度估計(jì)過程中,對(duì)鏡頭標(biāo)定與矯正后,需要進(jìn)行立體匹配,即估計(jì)其中一幅圖像(例如左視圖)每個(gè)像素點(diǎn)在另一圖像(例如右視圖)中的對(duì)應(yīng)的立體匹配(Stereo Matching)關(guān)系,由此可以獲得該幅圖像每個(gè)像素點(diǎn)的視差估計(jì)值,進(jìn)而得到一張視差估計(jì)圖(Disparity Map)。根據(jù)光學(xué)原理,該視差估計(jì)圖反比于物體的實(shí)際距離,因此根據(jù)所述視差估計(jì)圖可以獲得對(duì)應(yīng)的深度圖像。
由于計(jì)算能力的限制,早期的立體匹配算法大多是基于特征的稀疏匹配(Sparse Correspondence)算法,此類算法通過提取一些特征點(diǎn),基于塊相似的評(píng)價(jià)標(biāo)準(zhǔn),在另一幅圖像中搜索最為匹配的對(duì)應(yīng)位置。
隨著計(jì)算能力的提升以及后續(xù)流程的需要,如今的立體匹配算法大多是稠密匹配(Dense Correspondence)算法,相比與稀疏匹配算法,該類算法所獲得是視差估計(jì)圖更加精確,但實(shí)施也相對(duì)困難。
利用稠密匹配算法進(jìn)行立體匹配時(shí),大致可以分為兩類:基于局部的約束方法和基于全局的約束方法。然而,無論是基于局部的約束方法,還是基于全局的約束方法,均無法兼顧立體匹配的精確度及復(fù)雜度,難以應(yīng)用于手機(jī)等用戶終端。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的問題是如何在保證立體匹配精確度的情況下,降低立體匹配過程的復(fù)雜度。
為解決上述問題,本發(fā)明實(shí)施例提供了一種立體匹配方法,適用于對(duì)第 一圖像及第二圖像進(jìn)行立體匹配,所述方法包括:
將所述第一圖像作為參考圖像,分別計(jì)算所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值,獲得所述不同視差距離對(duì)應(yīng)的代價(jià)圖像;
分別根據(jù)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像,對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行代價(jià)聚合;
根據(jù)代價(jià)聚合后的匹配代價(jià)值以及預(yù)設(shè)的第一懲罰系數(shù)和第二懲罰系數(shù),分別對(duì)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像在預(yù)設(shè)方向上進(jìn)行動(dòng)態(tài)規(guī)劃操作,獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值,并根據(jù)所述累計(jì)匹配代價(jià)值獲得對(duì)應(yīng)像素點(diǎn)的實(shí)際視差值,其中,所述第一懲罰系數(shù)為所述預(yù)設(shè)方向上像素點(diǎn)按照視差步長變化時(shí)的懲罰值;所述第二懲罰系數(shù)為所述預(yù)設(shè)方向上像素點(diǎn)按照非視差步長變化時(shí)的懲罰值,且與所述預(yù)設(shè)方向上像素點(diǎn)的視差距離變化值相關(guān);
對(duì)所獲得的每個(gè)像素點(diǎn)的實(shí)際視差值進(jìn)行求精處理,獲得所述第一圖像及第二圖像的視差估計(jì)圖。
可選地,根據(jù)代價(jià)聚合后的匹配代價(jià)值以及預(yù)設(shè)的第一懲罰系數(shù)和第二懲罰系數(shù),分別對(duì)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像在預(yù)設(shè)方向上進(jìn)行動(dòng)態(tài)規(guī)劃操作,獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值,包括:
采用如下公式獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值:
其中,q表示像素點(diǎn)q(x,y)的位置坐標(biāo);pf(p,d)為進(jìn)行了代價(jià)聚合后的像素點(diǎn)q在視差距離為d時(shí)的代價(jià)值,Cr(q,d)和Cr(q-r,d)是對(duì)r方向動(dòng)態(tài)規(guī)劃過程中,q和p-r位置處的像素點(diǎn)在視差距離d時(shí)的累計(jì)匹配代價(jià)值。k表示待搜索的視差距離,且k∈[0,D]。(k-d)表示r方向上像素點(diǎn)的視差距 離變化值。為q-r位置處的像素點(diǎn)在各視差距離時(shí)的累計(jì)匹配代價(jià)值中最小的值。P1為在r方向上像素點(diǎn)以視差步長為dstep進(jìn)行變化時(shí)的懲罰值。κ1|k-d|+κ2表示在r方向上像素點(diǎn)以視差步長不為dstep進(jìn)行變化時(shí)的懲罰值的增益倍數(shù)。κ1,κ2表示隨著搜索方向相鄰像素點(diǎn)視差差異增加時(shí)懲罰系數(shù)的增加程度,τ為搜索視差差異范圍閾值。
可選地,所述根據(jù)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像,對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行代價(jià)聚合,包括:
獲取所述第一圖像的灰度圖像,并將所述灰度圖像作為引導(dǎo)圖像;
按照預(yù)設(shè)窗口,在所述引導(dǎo)圖像及代價(jià)圖像的降采樣圖像上,計(jì)算對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行引導(dǎo)性濾波的系數(shù),并在所述第一圖像對(duì)應(yīng)的尺度上進(jìn)行濾波操作,獲得所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)對(duì)應(yīng)的代價(jià)聚合后的匹配代價(jià)值。
可選地,所述預(yù)設(shè)窗口為4×4或8×8的窗口。
可選地,所述根據(jù)所述累計(jì)匹配代價(jià)值獲得對(duì)應(yīng)像素點(diǎn)的實(shí)際視差值,包括:
累計(jì)所述第一圖像上每個(gè)像素點(diǎn)在同一視差距離不同方向上的匹配代價(jià)值,獲得所述像素點(diǎn)在同一視差距離的匹配代價(jià)和;
選取所述像素點(diǎn)在不同視差距離的匹配代價(jià)和中的最小值,并將所選取的最小值作為所述像素點(diǎn)的實(shí)際視差值。
可選地,所述對(duì)所獲得的每個(gè)像素點(diǎn)的視差值進(jìn)行求精處理,獲得相應(yīng)的視差估計(jì)圖,包括:
對(duì)所述各個(gè)像素點(diǎn)的實(shí)際視差值進(jìn)行左右一致性檢查;
對(duì)未滿足左右一致性檢查的像素點(diǎn)以及所在深度塊的面積小于預(yù)設(shè)閾值的像素點(diǎn)進(jìn)行填充處理,獲得填充后的視差估計(jì)圖;
根據(jù)左右一致性檢查的結(jié)果以及所在深度塊的面積大小,對(duì)所述填充后的視差估計(jì)圖中各個(gè)像素點(diǎn)設(shè)置相應(yīng)的權(quán)重系數(shù),獲得對(duì)應(yīng)的權(quán)重圖像;
根據(jù)所述權(quán)重圖像及所述填充后的視差估計(jì)圖,得到不同視差距離下的權(quán)重圖像,并分別對(duì)所述不同視差距離下的權(quán)重圖像進(jìn)行引導(dǎo)性加權(quán)中值濾波,獲得最終的視差估計(jì)圖。
可選地,所述方法還包括:根據(jù)所獲得的每個(gè)像素點(diǎn)在不同視差距離時(shí)的實(shí)際視差值估計(jì)對(duì)應(yīng)的亞像素值,獲得具有亞像素級(jí)別的視差估計(jì)圖。
本發(fā)明實(shí)施例還提供了一種立體匹配裝置,適于對(duì)第一圖像及第二圖像進(jìn)行立體匹配,所述裝置包括:
匹配代價(jià)計(jì)算單元,適于將所述第一圖像作為參考圖像,分別計(jì)算所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值,獲得所述不同視差距離對(duì)應(yīng)的代價(jià)圖像;
代價(jià)聚合單元,適于分別根據(jù)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像,對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行代價(jià)聚合;
視差計(jì)算單元,適于根據(jù)代價(jià)聚合后的匹配代價(jià)值以及預(yù)設(shè)的第一懲罰系數(shù)和第二懲罰系數(shù),分別對(duì)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像在預(yù)設(shè)方向上進(jìn)行動(dòng)態(tài)規(guī)劃操作,獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值,并根據(jù)所述累計(jì)匹配代價(jià)值獲得對(duì)應(yīng)像素點(diǎn)的實(shí)際視差值,其中,所述第一懲罰系數(shù)為所述預(yù)設(shè)方向上像素點(diǎn)按照視差步長變化時(shí)的懲罰值,所述第二懲罰系數(shù)為所述預(yù)設(shè)方向上像素點(diǎn)按照非視差步長變化時(shí)的懲罰值,且與所述預(yù)設(shè)方向上像素點(diǎn)的視差距離變化值相關(guān);
求精處理單元,適于對(duì)所獲得的每個(gè)像素點(diǎn)的實(shí)際視差值進(jìn)行求精處理,獲得所述第一圖像及第二圖像的視差估計(jì)圖。
可選地,所述視差計(jì)算單元采用如下公式獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值:
其中,q表示像素點(diǎn)q(x,y)的位置坐標(biāo);pf(p,d)為進(jìn)行了代價(jià)聚合后的像素點(diǎn)q在視差距離為d時(shí)的代價(jià)值,Cr(q,d)和Cr(q-r,d)是對(duì)r方向動(dòng)態(tài) 規(guī)劃過程中,q和p-r位置處的像素點(diǎn)在視差距離d時(shí)的累計(jì)匹配代價(jià)值;k表示待搜索的視差距離,且k∈[0,D];(k-d)表示r方向上像素點(diǎn)的視差距離變化值;為q-r位置處的像素點(diǎn)在各視差距離時(shí)的累計(jì)匹配代價(jià)值中最小的值;P1為在r方向上像素點(diǎn)以視差步長為dstep進(jìn)行變化時(shí)的懲罰值;κ1|k-d|+κ2表示在r方向上像素點(diǎn)以視差步長不為dstep進(jìn)行變化時(shí)的懲罰值的增益倍數(shù);κ1,κ2表示隨著搜索方向相鄰像素點(diǎn)視差差異增加時(shí)懲罰系數(shù)的增加程度,τ為搜索視差差異范圍閾值。
可選地,所述代價(jià)聚合單元包括:
獲取子單元,適于獲取所述第一圖像的灰度圖像,并將所述灰度圖像作為引導(dǎo)圖像;
代價(jià)聚合子單元,適于按照預(yù)設(shè)窗口,在所述引導(dǎo)圖像及代價(jià)圖像的降采樣圖像上,計(jì)算對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行引導(dǎo)性濾波的系數(shù),并在所述第一圖像對(duì)應(yīng)的尺度上進(jìn)行濾波操作,獲得所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)對(duì)應(yīng)的代價(jià)聚合后的匹配代價(jià)值。
可選地,所述預(yù)設(shè)窗口為4×4或8×8的窗口。
可選地,所述視差計(jì)算單元適于累計(jì)所述第一圖像上每個(gè)像素點(diǎn)在同一視差距離不同方向上的匹配代價(jià)值,獲得所述像素點(diǎn)在同一視差距離的匹配代價(jià)和;選取所述像素點(diǎn)在不同視差距離的匹配代價(jià)和中的最小值,并將所選取的最小值作為所述像素點(diǎn)的實(shí)際視差值。
可選地,所述求精處理單元包括:
一致性檢查子單元,適于對(duì)所述視差估計(jì)圖中各個(gè)像素點(diǎn)的視差進(jìn)行左右一致性檢查;
填充子單元,適于對(duì)未滿足左右一致性檢查的像素點(diǎn)以及所在深度塊的面積小于預(yù)設(shè)閾值的像素點(diǎn)進(jìn)行填充處理,獲得填充后的視差估計(jì)圖;
權(quán)重設(shè)置子單元,適于根據(jù)左右一致性檢查的結(jié)果以及所在深度塊的面 積大小,對(duì)所述填充后的視差估計(jì)圖中各個(gè)像素點(diǎn)設(shè)置相應(yīng)的權(quán)重系數(shù),獲得對(duì)應(yīng)的權(quán)重圖像;
濾波子單元,適于根據(jù)所述權(quán)重圖像及所述填充后的視差估計(jì)圖,得到不同視差距離下的權(quán)重圖像,并分別對(duì)所述不同視差距離下的權(quán)重圖像進(jìn)行引導(dǎo)性加權(quán)中值濾波,獲得最終的視差估計(jì)圖。
可選地,所述裝置還包括:亞像素估計(jì)單元,適于根據(jù)所獲得的每個(gè)像素點(diǎn)在不同視差距離時(shí)的視差值估計(jì)對(duì)應(yīng)的亞像素值,獲得具有亞像素級(jí)別的視差估計(jì)圖。
與現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)方案至少具有以下優(yōu)點(diǎn):
通過計(jì)算第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值,獲得所述不同視差距離對(duì)應(yīng)的代價(jià)圖像,進(jìn)而可以根據(jù)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像,對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行代價(jià)聚合,并根據(jù)代價(jià)聚合后的匹配代價(jià)值以及預(yù)設(shè)的第一懲罰系數(shù)和第二懲罰系數(shù)來獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值,由此可以根據(jù)所述累計(jì)匹配代價(jià)值獲得對(duì)應(yīng)像素點(diǎn)的實(shí)際視差值,最后對(duì)所獲得的每個(gè)像素點(diǎn)的實(shí)際視差值進(jìn)行求精處理,即可獲得所述第一圖像及第二圖像的視差估計(jì)圖。其中,由于所述第二懲罰系數(shù)為所述預(yù)設(shè)方向上像素點(diǎn)按照非視差步長變化時(shí)的懲罰值,且與所述預(yù)設(shè)方向上像素點(diǎn)的視差距離變化值相關(guān),進(jìn)而在動(dòng)態(tài)規(guī)劃過程中,可以僅對(duì)所述預(yù)設(shè)方向上像素點(diǎn)的視差距離變化值在預(yù)設(shè)范圍內(nèi)變化時(shí)才更新所述累計(jì)匹配代價(jià)值,極大降低了動(dòng)態(tài)規(guī)劃過程中的計(jì)算量,也就降低了立體匹配過程的復(fù)雜度,并且可以保證立體匹配的精確度,更適合在手機(jī)等用戶終端上應(yīng)用。
進(jìn)一步地,在引導(dǎo)圖像和代價(jià)圖像的降采樣圖像上,對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行引導(dǎo)性濾波的系數(shù)計(jì)算,然后再在原始尺度上進(jìn)行濾波操作。相對(duì)于在引導(dǎo)圖像和代價(jià)圖像的原始圖像上進(jìn)行引導(dǎo)性濾波,可以進(jìn)一步降低立體匹配過程的復(fù)雜度。
進(jìn)一步地,采用4×4或8×8的窗口,在所述引導(dǎo)圖像和代價(jià)圖像的降采樣圖像上,對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn) 行引導(dǎo)性濾波,可以避免在引導(dǎo)性濾波過程中執(zhí)行除法操作,而僅用移位操作即可完成整個(gè)濾波過程,進(jìn)一步降低立體匹配過程的復(fù)雜度。
進(jìn)一步地,通過對(duì)所獲得的每個(gè)像素點(diǎn)的視差值進(jìn)行左右一致性檢查、填充以及引導(dǎo)性加權(quán)中值濾波處理,可以使得所獲得的視差估計(jì)圖更加準(zhǔn)確,進(jìn)一步提高立體匹配的精確度。
附圖說明
圖1是本發(fā)明實(shí)施例中一種立體匹配方法的流程圖;
圖2是本發(fā)明實(shí)施例中一種立體匹配裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
目前,利用稠密匹配算法進(jìn)行立體匹配時(shí),要么基于局部的約束方法進(jìn)行立體匹配,要么基于全局的約束方法進(jìn)行立體匹配。相對(duì)于基于全局的約束方法進(jìn)行的立體匹配,基于局部的約束方法進(jìn)行立體匹配時(shí),雖然復(fù)雜度較低,但對(duì)噪聲較為敏感、無紋理、視差不連續(xù)或是遮擋區(qū)域的視差估計(jì)效果不理想,即立體匹配的精確度較低。相對(duì)于基于局部的約束方法進(jìn)行的立體匹配,基于全局的約束方法進(jìn)行立體匹配時(shí),可以把匹配問題轉(zhuǎn)化為能量函數(shù)的全局優(yōu)化問題,但卻具有較高的計(jì)算復(fù)雜度,不利于實(shí)時(shí)處理。
針對(duì)上述問題,本發(fā)明的實(shí)施例提供了一種立體匹配方法,所述方法在獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值時(shí),不僅根據(jù)代價(jià)聚合后的匹配代價(jià)值進(jìn)行計(jì)算,還根據(jù)預(yù)設(shè)的第一懲罰系數(shù)和第二懲罰系數(shù)來控制預(yù)設(shè)方向相鄰像素具有不同實(shí)際視差值時(shí)的懲罰因子。由于所述第二懲罰系數(shù)為所述預(yù)設(shè)方向上像素點(diǎn)按照非視差步長變化時(shí)的懲罰值,且與所述預(yù)設(shè)方向上像素點(diǎn)的視差距離變化值相關(guān),因此在動(dòng)態(tài)規(guī)劃過程中,可以僅對(duì)所述預(yù)設(shè)方向上像素點(diǎn)的視差距離變化值在預(yù)設(shè)范圍內(nèi)時(shí)才更新對(duì)應(yīng)的累計(jì)匹配代價(jià)值,由此可以降低動(dòng)態(tài)規(guī)劃過程的復(fù)雜度,同時(shí)準(zhǔn)確地獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例作詳細(xì)地說明。
如圖1所示,本發(fā)明實(shí)施例提供了一種立體匹配方法,所述方法適用于對(duì)第一圖像及第二圖像進(jìn)行立體匹配。具體地,所述方法可以包括如下步驟:
步驟11,將所述第一圖像作為參考圖像,分別計(jì)算所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值,獲得所述不同視差距離對(duì)應(yīng)的代價(jià)圖像。
需要說明的是,在具體實(shí)施中,所述第一圖像及第二圖像分別為具有雙攝像頭配置的手機(jī)使用不同的攝像頭獲取到的圖像。所述參考圖像可以為所述第一圖像,也可以為第二圖像。本發(fā)明實(shí)施例中,為了方便描述,將所述第一圖像作為所述參考圖像??梢岳斫獾氖?,無論所述參考圖像具體為第一圖像還是第二圖像,均可以參照本發(fā)明實(shí)施例中的立體匹配方法,來獲得所述第一圖像及第二圖像的視差估計(jì)圖。
在具體實(shí)施中,可以采用多種方法計(jì)算所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值。其中,所述不同視差距離的數(shù)量及具體數(shù)值可以預(yù)先設(shè)定,比如,可以設(shè)定n個(gè)視差距離,根據(jù)每個(gè)視差距離可以獲得一代價(jià)圖像,共可以獲得n幅代價(jià)圖像。例如,當(dāng)最大視差距離為D,當(dāng)前視差距離為d時(shí),第一圖像I1中像素點(diǎn)(x,y)在第二圖像I2中對(duì)應(yīng)的像素點(diǎn)為(x+d,y),則在計(jì)算像素點(diǎn)(x,y)在視差距離為d時(shí)的匹配代價(jià)值為C(x,y,d)時(shí),可以采用公式(1)獲得C(x,y,d)的值:
在本發(fā)明的一實(shí)施例中,c(x,y,d,I1,I2)=|I1(x,y)-I2(x+d,y)|,即所述第一圖像I1及第二圖像I2對(duì)應(yīng)像素點(diǎn)的灰度的絕對(duì)差;即所述第一圖像I1及第二圖像I2對(duì)應(yīng)像素點(diǎn)的梯度的絕對(duì)差;I2(x,y)為第一圖像y行x列的像素點(diǎn)的像素值;w為融合權(quán)重;d∈[0,D]。
在本發(fā)明的另一實(shí)施例中,可以分別通過公式(2)及公式(3)來獲得c(x,y,d,I2,I1)及的值:
其中,xi表示在[-1/2,+1/2]像素值范圍內(nèi)的所有像素點(diǎn),是第二圖像I2上(xi+d,y)位置處的像素點(diǎn)根據(jù)左右相鄰整像素的線性插值。是第一圖像I1上的(xi,y)位置處的像素點(diǎn)根據(jù)左右相鄰整像素的線性插值。
步驟12,分別根據(jù)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像,對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行代價(jià)聚合。
在具體實(shí)施中,為了獲得較精確的視差估計(jì)圖,在獲得所述代價(jià)圖像后,根據(jù)所述代價(jià)圖像,可以采用多種方法對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行代價(jià)聚合。
在本發(fā)明的一實(shí)施例中,可以采用引導(dǎo)性濾波的方法對(duì)不同視差距離下的代價(jià)圖像進(jìn)行濾波平滑。具體地,先獲取所述第一圖像的灰度圖像,并將所述灰度圖像作為引導(dǎo)圖像,再按照預(yù)設(shè)窗口,在所述引導(dǎo)圖像及代價(jià)圖像的降采樣圖像上,對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行引導(dǎo)性濾波的系數(shù)計(jì)算,如公式(6)-(7),然后在原始尺度上對(duì)代價(jià)圖像進(jìn)行濾波,如公式(5),如此獲得所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)對(duì)應(yīng)的代價(jià)聚合后的匹配代價(jià)值。其中,所述原始尺度即所述第一圖像未經(jīng)降采樣處理前所對(duì)應(yīng)的尺度。
在具體實(shí)施中,所述預(yù)設(shè)窗口可以為4×4或8×8的窗口。
例如,所述第一圖像I1的灰度圖像為I,所獲得的一代價(jià)圖像為p,對(duì)所述第一圖像I1中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行引導(dǎo)性濾波時(shí),分別將同一像素點(diǎn)在灰度圖像為I上對(duì)應(yīng)的灰度值,以及代價(jià)圖像為p上對(duì)應(yīng)的匹配代價(jià)值代入公式(5),可以獲得所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)對(duì)應(yīng)的代價(jià)聚合后的匹配代價(jià)值pf:
其中,↑為升采樣操作;分別為引導(dǎo)性濾波系數(shù)a,b做均值濾波的結(jié)果,且a,b在不同視差距離時(shí)均須計(jì)算,因此,為了節(jié)約計(jì)算量,可以在灰度圖像I及代價(jià)圖像p的降采樣圖像上進(jìn)行計(jì)算,具體可以參照公式(6)及(7):
其中,↓為降采樣操作,K為參數(shù)且K=2n,e為整數(shù)變量且σk表示窗口內(nèi)引導(dǎo)圖像的變化方差值,ε為描述濾波強(qiáng)度的參數(shù)。
需要說明的是,為了簡化公式,在公式(5)-(7)中,分別以I表示像素點(diǎn)(x,y)的灰度值,p表示像素點(diǎn)(x,y)的匹配代價(jià)值,pf表示像素點(diǎn)(x,y)代價(jià)聚合后的匹配代價(jià)值。
步驟13,根據(jù)代價(jià)聚合后的匹配代價(jià)值以及預(yù)設(shè)的第一懲罰系數(shù)和第二懲罰系數(shù),分別對(duì)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像在預(yù)設(shè)方向上進(jìn)行動(dòng)態(tài)規(guī)劃操作,獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值,并根據(jù)所述累計(jì)匹配代價(jià)值獲得對(duì)應(yīng)像素點(diǎn)的實(shí)際視差值。
在具體實(shí)施中,通過在動(dòng)態(tài)規(guī)劃的過程中加入懲罰系數(shù),相對(duì)于局部約束方法進(jìn)行立體匹配,加入了對(duì)視差圖像相鄰像素點(diǎn)視差差異的依賴性,提高視差估計(jì)準(zhǔn)確性。相對(duì)于全局約束方法進(jìn)行立體匹配,通過不需要迭代的一次動(dòng)態(tài)規(guī)劃代價(jià)累計(jì)過程,簡化了視差估計(jì)的復(fù)雜度。其中,所述第一懲罰系數(shù)為所述預(yù)設(shè)方向上像素點(diǎn)按照視差步長移動(dòng)時(shí)的懲罰值,所述第二懲罰系數(shù)為所述預(yù)設(shè)方向上像素點(diǎn)按照非視差步長移動(dòng)時(shí)的懲罰值。所述第二懲罰系數(shù)通常為所述第一懲罰系數(shù)的倍數(shù)。
在具體實(shí)施中,可以設(shè)置多個(gè)預(yù)設(shè)方向,進(jìn)而可以在不同方向上對(duì)各個(gè) 像素點(diǎn)的匹配代價(jià)值進(jìn)行累計(jì)。可以理解的是,所述預(yù)設(shè)方向的數(shù)量越多,每個(gè)像素點(diǎn)實(shí)際視差值也就越精確。
在具體實(shí)施中,以視差步長為dstep為例,對(duì)視差距離為d的代價(jià)圖像p在r方向上進(jìn)行動(dòng)態(tài)規(guī)劃,此時(shí),可以通過公式(8),計(jì)算視差距離為d時(shí)的代價(jià)圖像p上的像素點(diǎn)q(x,y)對(duì)應(yīng)的累計(jì)匹配代價(jià)值:
其中,q表示像素點(diǎn)q(x,y)的位置坐標(biāo);pf(p,d)為進(jìn)行了代價(jià)聚合后的像素點(diǎn)q在視差距離為d時(shí)的代價(jià)值,Cr(q,d)和Cr(q-r,d)是對(duì)r方向動(dòng)態(tài)規(guī)劃過程中,q和p-r位置處的像素點(diǎn)在視差距離d時(shí)的累計(jì)匹配代價(jià)值。k表示待搜索的視差距離,且k∈[0,D]。(k-d)表示r方向上像素點(diǎn)的視差距離變化值。為q-r位置處的像素點(diǎn)在各視差距離時(shí)的累計(jì)匹配代價(jià)值中最小的值。P1為在r方向上像素點(diǎn)以視差步長為dstep進(jìn)行變化時(shí)的懲罰值。κ1|k-d|+κ2表示在r方向上像素點(diǎn)以視差步長不為dstep進(jìn)行變化時(shí)的懲罰值的增益倍數(shù)。κ1,κ2表示隨著搜索方向相鄰像素點(diǎn)視差差異增加時(shí)懲罰系數(shù)的增加程度,τ為搜索視差差異范圍閾值,通常較小。
比如,當(dāng)dstep=1時(shí),可以得到對(duì)應(yīng)的Cr(q,d)如下:
采用半全局匹配方法獲得各像素點(diǎn)的實(shí)際視差值,即通過累計(jì)不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值Cr(p,d),并選取最小累計(jì)匹配代價(jià)值Cr(p,d)的視差作為對(duì)應(yīng)像素點(diǎn)的實(shí)際視差值,有效提高立體匹配的精確度,特別是相比局部方法,在存在大量平坦區(qū)域的圖像中效果更為穩(wěn)定。
具體地,可以先對(duì)所述第一圖像上每個(gè)像素點(diǎn)在同一視差距離不同方向上的匹配代價(jià)值進(jìn)行累計(jì),獲得所述像素點(diǎn)在同一視差距離的匹配代價(jià)和Csgm(q,d),如公式(9)所示;再選取所述像素點(diǎn)在不同視差距離的匹配代價(jià)和Csgm(q,d)中的最小值,并將所選取的最小值作為所述像素點(diǎn)的實(shí)際視差值D(q),如公式(10)所示。
D(q)=argmind Csgm(q,d) (10)
需要說明的是,為了簡化公式,在公式(8)-(10)中,pf表示像素點(diǎn)(x,y)代價(jià)聚合后的匹配代價(jià)值,r表示對(duì)應(yīng)的方向矢量。
步驟14,對(duì)所獲得的每個(gè)像素點(diǎn)的實(shí)際視差值進(jìn)行求精處理,獲得所述第一圖像及第二圖像的視差估計(jì)圖。
在具體實(shí)施中,在對(duì)所獲得的每個(gè)像素點(diǎn)的實(shí)際視差值進(jìn)行求精處理時(shí),可以先對(duì)各個(gè)像素點(diǎn)的實(shí)際視差值進(jìn)行左右一致性檢查再對(duì)未滿足左右一致性檢查的像素點(diǎn)以及所在深度塊的面積小于預(yù)設(shè)閾值的像素點(diǎn)進(jìn)行填充處理,獲得填充后的視差估計(jì)圖,最后根據(jù)左右一致性檢查的結(jié)果以及所在深度塊的面積大小,對(duì)所述填充后的視差估計(jì)圖中各個(gè)像素點(diǎn)設(shè)置相應(yīng)的權(quán)重系數(shù),獲得對(duì)應(yīng)的權(quán)重圖像。將所述填充后的視差估計(jì)圖在不同距離下的二值化圖像與所述權(quán)重圖像相乘,再對(duì)相乘后得到的圖像進(jìn)行引導(dǎo)性加權(quán)中值濾波,并通過累計(jì)值中值的位置確定最終的視差估計(jì)圖。
其中,各個(gè)像素點(diǎn)的實(shí)際視差值進(jìn)行左右一致性檢查時(shí),將以第一圖像作為參考圖像,按照步驟11~13獲得像素點(diǎn)q(x,y)的實(shí)際視差值記為D1(x,y),以第二圖像作為參考圖像,按照步驟11-13獲得像素點(diǎn)q(x,y)的實(shí)際視差值記為D2(x,y),當(dāng)D2(x,y)為正,D1(x,y)為負(fù)時(shí),可以通過公式(11)進(jìn)行左右一致性檢查:
其中,LRC(q)為左右一致性檢查的結(jié)果,ξ為已知參數(shù)。
根據(jù)公式(11),所述未滿足左右一致性檢查的像素點(diǎn),即LRC(q)值等于0的像素點(diǎn)。將未滿足左右一致性檢查的像素點(diǎn)以及所在深度塊的面積小于預(yù)設(shè)閾值的像素點(diǎn)作為無效像素點(diǎn),其他為有效像素點(diǎn)。對(duì)無效像素點(diǎn)進(jìn)行填充時(shí),可以從所述無效像素點(diǎn)所在的行方向上,選取左右兩側(cè)最接近有效像素點(diǎn)的實(shí)際視差值中的最小值,并將所選取的最小值作為所述無效像素點(diǎn)的當(dāng)前視差距離。
之后,根據(jù)左右一致性檢查的結(jié)果以及所在深度塊的面積大小,對(duì)所述填充后的視差估計(jì)圖中各個(gè)像素點(diǎn)設(shè)置相應(yīng)的權(quán)重系數(shù),獲得對(duì)應(yīng)的權(quán)重圖像。例如,可以設(shè)置有效像素點(diǎn)權(quán)重為1,設(shè)置左右不一致和面積小于預(yù)設(shè)閾值的像素點(diǎn)的權(quán)重為t,t∈[0,1]。由于無效像素點(diǎn)一般處于遮擋區(qū)域,對(duì)無效的像素點(diǎn)設(shè)置較小的權(quán)重,可以在后續(xù)的引導(dǎo)性加權(quán)中值濾波中,使得濾波視差圖像更好地保持與原始灰度圖像的邊緣一致性。當(dāng)然,權(quán)重設(shè)置可以進(jìn)一步優(yōu)化,例如,對(duì)于不同的左右一致性程度和不同的像素孤立深度塊面積大小,選擇不同權(quán)重系數(shù)以提高濾波效果。
得到權(quán)重圖像后,對(duì)所述填充后的視差估計(jì)圖進(jìn)行二值化處理,得到不同的視差距離對(duì)應(yīng)的視差二值化圖像,再根據(jù)公式(12),對(duì)所述不同視差距離對(duì)應(yīng)的視差二值化圖像與權(quán)重圖像的進(jìn)行乘積運(yùn)算,得到圖像Wb(d):
Wb(d)=(D==d)⊙WLRC (12)
其中,(D==d)為所述填充后的視差估計(jì)圖在視差距離為d時(shí)的視差二值化圖像,其中,在視差距離為d時(shí),所述二值化圖像中各個(gè)像素點(diǎn)的像素值為1,其它視差距離下,所述視差二值化圖像中各個(gè)像素點(diǎn)的像素值為0?!?/p>
為逐像素相乘運(yùn)算符,WLRC為根據(jù)左右一致性檢查的結(jié)果以及所在深度塊的面積大小獲得的權(quán)重圖像。把所述第一圖像I1的灰度圖像作為引導(dǎo)圖像,對(duì)WLRC圖像和不同視差下的Wb(d)分別作引導(dǎo)性濾波,并根據(jù)公式(13),得到各像素點(diǎn)的最終視差值Df:
其中,pf(Wb(d))和pf(WLRC)為對(duì)Wb(d)和WLRC做引導(dǎo)性濾波的結(jié)果。
在具體實(shí)施中,為了使得最終獲得的視差估計(jì)圖達(dá)到一定的像素級(jí)別,在獲得每個(gè)像素點(diǎn)在不同視差距離時(shí)的視差實(shí)際視差值時(shí),可以根據(jù)像素點(diǎn)在不同視差距離時(shí)的視差實(shí)際視差值估計(jì)對(duì)應(yīng)的亞像素值,獲得具有亞像素級(jí)別的視差估計(jì)圖。
具體地,在本發(fā)明的一實(shí)施例中,可以通過擬合一條二次曲線的方式來預(yù)測具有亞像素級(jí)別的視差值Δ(q),如公式(14)所示:
獲得所述亞像素級(jí)別的視差值Δ(q)后,像素點(diǎn)q的最終視差值即為對(duì)應(yīng)的當(dāng)前視差值與所述亞像素級(jí)別的視差值Δ(q)之和。
需要說明的是,所述像素點(diǎn)q的當(dāng)前視差值可以為其經(jīng)步驟13所獲得的實(shí)際視差值,也可以對(duì)所述實(shí)際視差值進(jìn)行求精處理后所獲得的視差值。也就是說,可以在獲得各個(gè)像素點(diǎn)的實(shí)際視差值后,即進(jìn)行亞像素估計(jì),也可以在對(duì)所獲得的每個(gè)像素點(diǎn)的實(shí)際視差值進(jìn)行求精處理,再進(jìn)行亞像素估計(jì)。具體無論何時(shí)進(jìn)行亞像素估計(jì),均不構(gòu)成對(duì)本發(fā)明的限制,且均在本發(fā)明的保護(hù)范圍之內(nèi)。
由上述內(nèi)容可知,在本發(fā)明的實(shí)施例中,基于半全局匹配的方法進(jìn)行立體匹配,相對(duì)于基于局部約束方法進(jìn)行立體匹配,可以提高匹配的精確度,相對(duì)于基于全局約束方法進(jìn)行立體匹配,由于所述第一懲罰系數(shù)及第二懲罰系數(shù)的設(shè)置,可以降低匹配過程中的復(fù)雜度,減少計(jì)算量,節(jié)約存儲(chǔ)空間,更適于在手機(jī)的用戶終端應(yīng)用。
為了使本領(lǐng)域技術(shù)人員更好地理解和實(shí)現(xiàn)本發(fā)明,以下對(duì)上述立體匹配方法對(duì)應(yīng)的裝置進(jìn)行詳細(xì)描述。
如圖2所示,本發(fā)明實(shí)施例提供了一種立體匹配裝置,所述裝置適于對(duì)第一圖像及第二圖像進(jìn)行立體匹配。具體地,所述裝置可以包括:匹配代價(jià)計(jì)算單元21,代價(jià)聚合單元22,視差計(jì)算單元23以及求精處理單元24。其中:
所述匹配代價(jià)計(jì)算單元21,適于將所述第一圖像作為參考圖像,分別計(jì) 算所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值,獲得所述不同視差距離對(duì)應(yīng)的代價(jià)圖像。
所述代價(jià)聚合單元22,適于分別根據(jù)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像,對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行代價(jià)聚合。
所述視差計(jì)算單元23,適于根據(jù)代價(jià)聚合后的匹配代價(jià)值以及預(yù)設(shè)的第一懲罰系數(shù)和第二懲罰系數(shù),分別對(duì)所述不同視差距離對(duì)應(yīng)的代價(jià)圖像在預(yù)設(shè)方向上進(jìn)行動(dòng)態(tài)規(guī)劃操作,獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值,并根據(jù)所述累計(jì)匹配代價(jià)值獲得對(duì)應(yīng)像素點(diǎn)的實(shí)際視差值。
所述求精處理單元24,適于對(duì)所獲得的每個(gè)像素點(diǎn)的視差值進(jìn)行求精處理,獲得所述第一圖像及第二圖像的視差估計(jì)圖。其中,所述第一懲罰系數(shù)為所述預(yù)設(shè)方向上像素點(diǎn)按照視差步長變化時(shí)的懲罰值;所述第二懲罰系數(shù)為所述預(yù)設(shè)方向上像素點(diǎn)按照非視差步長變化時(shí)的懲罰值,且與所述預(yù)設(shè)方向上像素點(diǎn)的視差距離變化值相關(guān);
在具體實(shí)施中,所述視差計(jì)算單元23采用如下公式獲得不同預(yù)設(shè)方向上,各像素點(diǎn)在不同視差距離時(shí)的累計(jì)匹配代價(jià)值:
其中,q表示像素點(diǎn)q(x,y)的位置坐標(biāo);pf(p,d)為進(jìn)行了代價(jià)聚合后的像素點(diǎn)q在視差距離為d時(shí)的代價(jià)值,Cr(q,d)和Cr(q-r,d)是對(duì)r方向動(dòng)態(tài)規(guī)劃過程中,q和p-r位置處的像素點(diǎn)在視差距離d時(shí)的累計(jì)匹配代價(jià)值。k表示待搜索的視差距離,且k∈[0,D]。(k-d)表示r方向上像素點(diǎn)的視差距離變化值。為q-r位置處的像素點(diǎn)在各視差距離時(shí)的累計(jì)匹配代價(jià)值中最小的值。P1為在r方向上像素點(diǎn)以視差步長為dstep進(jìn)行變化時(shí)的懲罰值。κ1|k-d|+κ2表示在r方向上像素點(diǎn)以視差步長不為dstep進(jìn)行變化 時(shí)的懲罰值的增益倍數(shù)。κ1,κ2表示隨著搜索方向相鄰像素點(diǎn)視差差異增加時(shí)懲罰系數(shù)的增加程度,τ為搜索視差差異范圍閾值。
在具體實(shí)施中,所述代價(jià)聚合單元22可以包括:獲取子單元221及代價(jià)聚合子單元222。
其中,所述獲取子單元221,適于獲取所述第一圖像的灰度圖像,并將所述灰度圖像作為引導(dǎo)圖像。所述代價(jià)聚合子單元222,適于按照預(yù)設(shè)窗口,在所述引導(dǎo)圖像及代價(jià)圖像的降采樣圖像上,計(jì)算對(duì)所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)的匹配代價(jià)值進(jìn)行引導(dǎo)性濾波的系數(shù),并在所述第一圖像對(duì)應(yīng)的尺度上進(jìn)行濾波操作,獲得所述第一圖像中各個(gè)像素點(diǎn)在不同視差距離時(shí)對(duì)應(yīng)的代價(jià)聚合后的匹配代價(jià)值。
在具體實(shí)施中,所述預(yù)設(shè)窗口為4×4或8×8的窗口。
在具體實(shí)施中,所述視差計(jì)算單元23適于累計(jì)所述第一圖像上每個(gè)像素點(diǎn)在同一視差距離不同方向上的匹配代價(jià)值,獲得所述像素點(diǎn)在同一視差距離的匹配代價(jià)和;選取所述像素點(diǎn)在不同視差距離的匹配代價(jià)和中的最小值,并將所選取的最小值作為所述像素點(diǎn)的實(shí)際視差值。
在具體實(shí)施中,所述求精處理單元24可以包括:一致性檢查子單元241,填充子單元242,權(quán)重設(shè)置子單元243以及濾波子單元244。其中,所述一致性檢查子單元241,適于對(duì)所述視差估計(jì)圖中各個(gè)像素點(diǎn)的視差進(jìn)行左右一致性檢查。
所述填充子單元242適于對(duì)未滿足左右一致性檢查的像素點(diǎn)以及所在深度塊的面積小于預(yù)設(shè)閾值的像素點(diǎn)進(jìn)行填充處理,獲得填充后的視差估計(jì)圖。
所述權(quán)重設(shè)置子單元243適于根據(jù)左右一致性檢查的結(jié)果以及所在深度塊的面積大小,對(duì)所述填充后的視差估計(jì)圖中各個(gè)像素點(diǎn)設(shè)置相應(yīng)的權(quán)重系數(shù),獲得對(duì)應(yīng)的權(quán)重圖像。
所述濾波子單元244適于根據(jù)所述權(quán)重圖像及所述填充后的視差估計(jì)圖,得到不同視差距離下的權(quán)重圖像,并分別對(duì)所述不同視差距離下的權(quán)重圖像進(jìn)行引導(dǎo)性加權(quán)中值濾波,獲得最終的視差估計(jì)圖。
在具體實(shí)施中,所述裝置還可以包括:亞像素估計(jì)單元(未示出)。所述亞像素估計(jì)單元,適于根據(jù)所獲得的每個(gè)像素點(diǎn)在不同視差距離時(shí)的視差值估計(jì)對(duì)應(yīng)的亞像素值,獲得具有亞像素級(jí)別的視差估計(jì)圖。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:ROM、RAM、磁盤或光盤等。
雖然本發(fā)明披露如上,但本發(fā)明并非限定于此。任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動(dòng)與修改,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以權(quán)利要求所限定的范圍為準(zhǔn)。