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