本發(fā)明涉及圖像處理領(lǐng)域,且更具體地涉及立體匹配方法、控制器和系統(tǒng)。
背景技術(shù):
立體匹配是立體匹配中最基本的技術(shù),它主要需要解決的問題是如何將真實(shí)對(duì)象點(diǎn)在雙目攝像機(jī)拍攝的左右兩幅圖像中的投影點(diǎn)對(duì)應(yīng)起來,即通過一幅圖像的每個(gè)像素點(diǎn),如何準(zhǔn)確找出在另一幅圖像中的對(duì)應(yīng)點(diǎn),從而計(jì)算對(duì)應(yīng)點(diǎn)對(duì)的圖像坐標(biāo)差值,得出視差值。
到目前為止立體匹配算法研究已取得了顯著的發(fā)展,涌現(xiàn)出了許多立體匹配算法,算法匹配精度不斷提高。根據(jù)約束方式的不同,可將立體匹配算法分為局部匹配算法和全局匹配算法兩大類。
局部匹配算法通常是對(duì)待匹配像素點(diǎn)周圍小鄰域內(nèi)進(jìn)行討論,獲得待匹配點(diǎn)的視差值,此類算法往往計(jì)算量小,易于硬件實(shí)現(xiàn)。
全局匹配算法是對(duì)掃描線甚至整個(gè)圖像進(jìn)行討論,通過不同視差分布計(jì)算全局范圍內(nèi)的不同相似性度量值,最小度量值即為最優(yōu)視差分布。通常全局匹配方法都是在一個(gè)全局能量函數(shù)最小化的框架下進(jìn)行的,根據(jù)約束條件,定義出相應(yīng)的全局能量函數(shù),通過算法計(jì)算獲得全局能量函數(shù)最小值時(shí)所對(duì)應(yīng)的視差分布,即得出視差圖。
因此,仍然存在對(duì)立體匹配方法的不斷探索以尋求更精確的立體匹配結(jié)果。
技術(shù)實(shí)現(xiàn)要素:
置信傳播算法可以應(yīng)用于立體匹配的全局匹配算法中。置信傳播算法的優(yōu)點(diǎn)是根據(jù)區(qū)域的特點(diǎn)自動(dòng)調(diào)節(jié)消息傳輸?shù)木嚯x遠(yuǎn)近,它不僅考慮了相鄰像素點(diǎn)對(duì)目標(biāo)像素點(diǎn)的影響,還考慮了不相鄰像素點(diǎn)對(duì)目標(biāo)像素點(diǎn)的影響,同時(shí)能很好的處理低紋理區(qū)域和深度不連續(xù)區(qū)域,在低紋理區(qū)域,消息可以傳 輸很遠(yuǎn);在不連續(xù)區(qū)域,消息的傳輸很快停止。這些方法通常首先利用局部匹配實(shí)現(xiàn)粗匹配,找出其中正確的匹配點(diǎn)對(duì)(種子點(diǎn)),用這些匹配點(diǎn)對(duì)進(jìn)行全局匹配處理,以計(jì)算其他像素點(diǎn)的視差值,最終獲得精度更高的稠密視差圖。這種方法的最基本的步驟就是計(jì)算像素之間的關(guān)系,即如何將種子點(diǎn)的信息傳播到其他點(diǎn),將多少種子點(diǎn)的信息來進(jìn)行置信傳播。信息傳播的能量的多少可以用能量傳播系數(shù)來表征?,F(xiàn)有的技術(shù)通常采用匹配代價(jià)計(jì)算、初始視差值計(jì)算、以及與鄰像素的輸入/輸出消息傳遞的步驟。在消息傳遞過程中完成置信傳播。
本公開的技術(shù)對(duì)現(xiàn)有的置信傳播算法進(jìn)行了改進(jìn),提高了立體匹配的精確度。
具體地,根據(jù)本發(fā)明的一個(gè)方面,提供一種立體匹配方法,包括:計(jì)算第一圖的像素和第二圖的像素之間的匹配代價(jià);預(yù)估作為參考圖像的、第一圖和第二圖之一中的像素的視差值和對(duì)應(yīng)的可靠度,其中,所述可靠度表示該像素的預(yù)估的視差值的正確的概率;根據(jù)所述參考圖像中的兩個(gè)像素之間的所述視覺特征的差異度和在圖像坐標(biāo)中的距離和該兩個(gè)像素對(duì)應(yīng)的可靠度來計(jì)算該兩個(gè)像素之間的有方向的能量傳播系數(shù);基于所述有方向的能量傳播系數(shù)來實(shí)施置信傳播算法以獲得像素的更新的視差值。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種立體匹配系統(tǒng),包括:拍攝裝置,被配置為拍攝第一圖和第二圖;控制器,被配置為接收所述拍攝裝置發(fā)送的第一圖和第二圖,并計(jì)算第一圖的像素和第二圖的像素之間的匹配代價(jià);預(yù)估作為參考圖像的、第一圖和第二圖之一中的像素的視差值和對(duì)應(yīng)的可靠度,其中,所述可靠度表示該像素的預(yù)估的視差值的正確的概率;根據(jù)所述參考圖像中的兩個(gè)像素之間的所述視覺特征的差異度和在圖像坐標(biāo)中的距離和該兩個(gè)像素對(duì)應(yīng)的可靠度來計(jì)算該兩個(gè)像素之間的有方向的能量傳播系數(shù);基于所述有方向的能量傳播系數(shù)來實(shí)施置信傳播算法以獲得像素的更新的視差值。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種立體匹配控制器,包括:匹配代價(jià)計(jì)算裝置,被配置為計(jì)算第一圖的像素和第二圖的像素之間的匹配代價(jià);預(yù)估裝置,被配置為預(yù)估作為參考圖像的、第一圖和第二圖之一中的像素的視差值和對(duì)應(yīng)的可靠度,其中,所述可靠度表示該像素的預(yù)估的視差值的正確的概率;能量傳播系數(shù)計(jì)算裝置,被配置為根據(jù)所述參考圖像中的兩個(gè)像素 之間的所述視覺特征的差異度和在圖像坐標(biāo)中的距離和該兩個(gè)像素對(duì)應(yīng)的可靠度來計(jì)算該兩個(gè)像素之間的有方向的能量傳播系數(shù);視差值獲得裝置,被配置為基于所述有方向的能量傳播系數(shù)來實(shí)施置信傳播算法以獲得像素的更新的視差值。
附圖說明
圖1示出應(yīng)用根據(jù)本發(fā)明的實(shí)施例的立體匹配算法的系統(tǒng)硬件場(chǎng)景圖。
圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的立體匹配方法的示意流程圖。
圖3A示出了置信傳播算法的傳播示意圖。
圖3B示出了根據(jù)本發(fā)明的實(shí)施例的考慮種子點(diǎn)的可靠度來進(jìn)行置信傳播算法的示意圖。
圖3C示出了根據(jù)本發(fā)明的實(shí)施例的考慮兩個(gè)像素點(diǎn)之間的傳播是非對(duì)稱的方式來進(jìn)行置信傳播算法的示意圖。
圖4示出了根據(jù)本發(fā)明的實(shí)施例的基于可靠度的置信傳播算法的立體匹配過程的示意圖。
圖5示出了根據(jù)本發(fā)明的實(shí)施例的立體匹配控制器的方框圖。
具體實(shí)施方式
現(xiàn)在將詳細(xì)參照本發(fā)明的具體實(shí)施例,在附圖中例示了本發(fā)明的例子。盡管將結(jié)合具體實(shí)施例描述本發(fā)明,但將理解,不是想要將本發(fā)明限于所述的實(shí)施例。相反,想要覆蓋由所附權(quán)利要求限定的在本發(fā)明的精神和范圍內(nèi)包括的變更、修改和等價(jià)物。應(yīng)注意,這里描述的方法步驟都可以由任何功能塊或功能布置來實(shí)現(xiàn),且任何功能塊或功能布置可被實(shí)現(xiàn)為物理實(shí)體或邏輯實(shí)體、或者兩者的組合。
為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
注意,接下來要介紹的示例僅是一個(gè)具體的例子,而不作為限制本發(fā)明的實(shí)施例必須為如下具體的步驟、數(shù)值、條件、數(shù)據(jù)、順序等等。本領(lǐng)域技術(shù)人員可以通過閱讀本說明書來運(yùn)用本發(fā)明的構(gòu)思來構(gòu)造本說明書中未提到的更多實(shí)施例。
圖1示出應(yīng)用根據(jù)本發(fā)明的實(shí)施例的立體匹配算法的系統(tǒng)硬件場(chǎng)景圖。
如圖1所示的一種立體匹配系統(tǒng)包括:拍攝裝置100,被配置為拍攝第一圖102(1)和第二圖102(2);控制器101,被配置為執(zhí)行根據(jù)本發(fā)明的實(shí)施例的立體匹配算法。該立體匹配算法可以包括接收所述拍攝裝置100發(fā)送的第一圖和第二圖,并計(jì)算第一圖的像素和第二圖的像素之間的匹配代價(jià);預(yù)估作為參考圖像的、第一圖和第二圖之一中的像素的視差值和對(duì)應(yīng)的可靠度,其中,所述可靠度表示該像素的預(yù)估的視差值的正確的概率;根據(jù)所述參考圖像中的兩個(gè)像素之間的所述視覺特征的差異度和在圖像坐標(biāo)中的距離和該兩個(gè)像素對(duì)應(yīng)的可靠度來計(jì)算該兩個(gè)像素之間的有方向的能量傳播系數(shù);基于所述有方向的能量傳播系數(shù)來實(shí)施置信傳播算法以獲得像素的更新的視差值。由此,可以通過更新的視差值來構(gòu)建最終的視差圖。
在此,如果該拍攝裝置為雙目相機(jī),則拍攝得到至少作為第一圖的左圖和作為第二圖的右圖。在以下實(shí)施例的說明中,采用示例而非限制的左圖和右圖來給出說明。但實(shí)際上,隨著科技的發(fā)展,可能出現(xiàn)多維相機(jī),而本發(fā)明公開的立體匹配技術(shù)也可以應(yīng)用于多維立體匹配中。
在此,控制器101可以包括通用處理器、數(shù)字信號(hào)處理器(DSP)、ASIC、場(chǎng)可編程門陣列信號(hào)(FPGA)或其他可編程邏輯器件(PLD)、離散門或晶體管邏輯、離散的硬件組件或者其任意組合而實(shí)現(xiàn)或進(jìn)行所述的各個(gè)例示的邏輯塊、模塊和電路。處理器101可以以單個(gè)芯片、芯片組、集成電路、單片機(jī)等的形式。通用處理器可以是微處理器,但是作為替換,該控制器可以是任何商業(yè)上可獲得的處理器、微控制器或狀態(tài)機(jī)??刂破鬟€可以實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如DSP和微處理器的組合,多個(gè)微處理器、與DSP核協(xié)作的一個(gè)或多個(gè)微處理器或任何其他這樣的配置??刂破鲀?nèi)部還可以包括存儲(chǔ)器(未示出)。存儲(chǔ)器可以存儲(chǔ)至少一個(gè)計(jì)算機(jī)可執(zhí)行指令,用于在由控制器執(zhí)行時(shí)本技術(shù)所描述的實(shí)施例中的各個(gè)功能和/或方法的步驟。存儲(chǔ)器還可以臨時(shí)或永久地存儲(chǔ)各種數(shù)據(jù)和指令。
當(dāng)然,圖1所示的硬件場(chǎng)景圖僅是一個(gè)示例而非限制,本領(lǐng)域技術(shù)人員可以基于本公開的描述來構(gòu)造任何適當(dāng)?shù)挠布?chǎng)景。
圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的立體匹配方法200的示意流程圖。
根據(jù)本實(shí)施例的立體匹配方法200包括:步驟201,計(jì)算第一圖的像素和第二圖的像素之間的匹配代價(jià);步驟202,預(yù)估作為參考圖像的、第一圖和第二圖之一中的像素的視差值2021和對(duì)應(yīng)的可靠度2022,其中,所述可 靠度2022表示該像素的預(yù)估的視差值的正確的概率;步驟203,根據(jù)所述參考圖像中的兩個(gè)像素之間的所述視覺特征的差異度和在圖像坐標(biāo)中的距離和該兩個(gè)像素對(duì)應(yīng)的可靠度來計(jì)算該兩個(gè)像素之間的有方向的能量傳播系數(shù);步驟204基于所述有方向的能量傳播系數(shù)來實(shí)施置信傳播算法以獲得像素的更新的視差值。
在步驟201中,例如左圖的第一圖和例如右圖的第二圖可以是極線校正過的,使得左圖和右圖可以位于同一極線上,以便更準(zhǔn)確地計(jì)算左圖的各個(gè)像素和右圖的各個(gè)像素之間的匹配代價(jià)。匹配代價(jià)可以用任意一種已知的匹配代價(jià)函數(shù)來計(jì)算,例如絕對(duì)差和(Sum of Absolute Differences,SAD),平方差和(Sum of Squared Differences,SSD),絕對(duì)差零均值和(Zeromean Sum of Absolute Differences,ZSAD),平方差零均值和(Zeromean Sum of Squared Differences,ZSSD),伯奇和托馬西(Birchfield and Tomasi,BT),互信息(Mutual Information,MI),Census等等。為了提高初始視差圖的精度,也可進(jìn)一步利用多種匹配代價(jià)函數(shù)融合得到更高精度的匹配代價(jià)函數(shù)。同時(shí),通過一定大小的窗口中,利用窗口疊加來增強(qiáng)匹配代價(jià)的可靠性也是一種提高精度的常見方法。
在步驟202中,利用得到的匹配代價(jià),預(yù)估左圖和右圖中的參考圖像中的每個(gè)像素的視差值和對(duì)應(yīng)的可靠度。這里,左圖和右圖中取一個(gè)作為參考圖像,并計(jì)算該參考圖像中的每個(gè)像素的視差值和對(duì)應(yīng)的可靠度。另外,這里可以僅得到初步的粗略的視差值,為了提高計(jì)算效率而不太考慮準(zhǔn)確度的話,可以采用簡(jiǎn)單有效的方法來計(jì)算,例如勝者為王(Winner Takes All,WTA)算法。
優(yōu)選地,在得到初始的視差值的同時(shí),也相應(yīng)地求出該初始的視差值的可靠度的得分??煽慷瓤梢员硎驹撓袼氐念A(yù)估的視差值的正確的概率。在此,關(guān)于可靠度在立體匹配中的應(yīng)用可參考文獻(xiàn)X.Hu,P.Mordohai,A quantitative evaluation of confidence measures for stereo vision,in PAMI 34(2012),2121-2133。在該文獻(xiàn)中提到很多種計(jì)算可靠度的算法。例如,可靠度的計(jì)算可以采用基于規(guī)則的算法或者學(xué)習(xí)預(yù)測(cè)算法來完成。
如果采用基于規(guī)則的算法可以包括以下步驟:基于每個(gè)像素點(diǎn)及其相鄰的像素,提取匹配代價(jià)的曲線的可靠性特征;對(duì)每個(gè)像素點(diǎn)進(jìn)行投票,其中,fin是像素i的第n個(gè)可靠性特性,fin的值越大表示像素i的初始的預(yù)估視差值在 第n個(gè)可靠性特性上表現(xiàn)出更高的可靠性,如果fin的值大于預(yù)定閾值,則像素i得到投票;將像素i的總投票Σn fin作為像素i的初始的預(yù)估視差值的可靠度得分。在此,可靠性特性指的是由于不同的視差值評(píng)估方法得到不同初始視差值而得到的對(duì)應(yīng)于不同初始視差值的不同可靠性特性。因此,利用投票的方式能夠?qū)Ω鱾€(gè)不同的初始視差值評(píng)估方法的可靠性特性進(jìn)行統(tǒng)計(jì),得到更為準(zhǔn)確的可靠性。如果采用學(xué)習(xí)預(yù)測(cè)的算法可以包括以下步驟:收集包括多個(gè)樣本的訓(xùn)練集,每一個(gè)樣本包括匹配的像素對(duì)及其正確的視差值,每個(gè)樣本還有一個(gè)正負(fù)標(biāo)簽,表示按照勝者為王(WTA)算法得到的預(yù)估視差值是否正確;基于匹配代價(jià)的曲線的可靠性特征,利用機(jī)器學(xué)習(xí)的算法來學(xué)習(xí)一個(gè)分類器,以預(yù)測(cè)一個(gè)預(yù)估的視差值是否可靠。
當(dāng)然,計(jì)算預(yù)估的視差值和相應(yīng)的可靠度的方法不限于上述,本領(lǐng)域技術(shù)人員還可以采用已知的其他方法。
在本文中,用像素點(diǎn)作為單位來進(jìn)行初始視差值的預(yù)估和可靠度的計(jì)算以及后續(xù)的能量傳播系數(shù)和傳播模型的建立,這是考慮到精細(xì)度,利用像素點(diǎn)可以獲得精細(xì)的視差值。然而,在追求速度而不太考慮精細(xì)度的情況下,也可以采用比像素點(diǎn)更大的圖像塊作為單位,例如具有相同或類似視覺特征(顏色/灰度)的超像素塊等等。
如此,可以通過根據(jù)所述參考圖像中的兩個(gè)像素之間的所述視覺特征的差異度和在圖像坐標(biāo)中的距離和該兩個(gè)像素對(duì)應(yīng)的可靠度來計(jì)算該兩個(gè)像素之間的有方向的能量傳播系數(shù),從而考慮每個(gè)像素的預(yù)估視差值的可靠程度(即正確的概率)來獲得更準(zhǔn)確的能量傳播系數(shù),從而獲得更準(zhǔn)確的置信傳播模型,來得到更準(zhǔn)確的視差值。
下面結(jié)合圖3A-3C和圖4詳細(xì)介紹步驟203的根據(jù)所述參考圖像中的兩個(gè)像素之間的所述視覺特征的差異度和在圖像坐標(biāo)中的距離和該兩個(gè)像素對(duì)應(yīng)的可靠度來計(jì)算該兩個(gè)像素之間的有方向的能量傳播系數(shù)的原理。
圖3A示出了置信傳播算法的傳播示意圖。
置信傳播算法通常首先利用局部匹配實(shí)現(xiàn)粗匹配,找出其中正確的匹配點(diǎn)對(duì)(種子點(diǎn)),用這些匹配點(diǎn)對(duì)進(jìn)行全局匹配處理,以計(jì)算其他像素點(diǎn)的視差值,最終獲得精度更高的稠密視差圖。這種方法的最基本的步驟就是計(jì)算像素點(diǎn)之間的關(guān)系,即如何將種子點(diǎn)的信息傳播到其他點(diǎn),將多少種子點(diǎn)的信息來進(jìn)行置信傳播。如圖3A所示,用能量傳播系數(shù)來表征在置信傳播算 法中從種子點(diǎn)向其他像素點(diǎn)的信息傳播的能量的多少,即種子點(diǎn)能將多少信息能量傳播到其他像素點(diǎn)。
圖3B示出了根據(jù)本發(fā)明的實(shí)施例的考慮種子點(diǎn)的可靠度來進(jìn)行置信傳播算法的示意圖。
不同于其中相同地對(duì)待任何種子點(diǎn)的傳統(tǒng)置信傳播算法,根據(jù)本發(fā)明的實(shí)施例,可以考慮不同種子點(diǎn)的各自的可靠度來區(qū)別對(duì)待不同種子點(diǎn)以進(jìn)行置信傳播算法。如圖3B所示,從種子點(diǎn)1向像素點(diǎn)3的能量傳播系數(shù)由于種子點(diǎn)1和2的可靠度不同而不同于從種子點(diǎn)2向像素點(diǎn)3的能量傳播系數(shù)。
圖3C示出了根據(jù)本發(fā)明的實(shí)施例的考慮兩個(gè)像素點(diǎn)之間的傳播是非對(duì)稱的方式來進(jìn)行置信傳播算法的示意圖。
不同于其中兩個(gè)像素點(diǎn)之間的能量傳播系數(shù)對(duì)稱的傳統(tǒng)置信傳播算法,根據(jù)本發(fā)明的實(shí)施例,兩個(gè)像素點(diǎn)之間的能量傳播系數(shù)由于該兩個(gè)像素點(diǎn)各自的可靠度而可以是非對(duì)稱的。如圖3C所示,從種子點(diǎn)1向像素點(diǎn)2的能量傳播系數(shù)由于種子點(diǎn)1和2的可靠度不同而可能不同于從種子點(diǎn)2向像素點(diǎn)1的能量傳播系數(shù)。因此,在本發(fā)明的實(shí)施例中,有方向的能量傳播系數(shù)意味著由于傳播方向(例如,像素點(diǎn)1到像素點(diǎn)2和像素點(diǎn)2到像素點(diǎn)1的方向)不同而使得能量傳播系數(shù)也不同。
圖4示出了根據(jù)本發(fā)明的實(shí)施例的基于可靠度的置信傳播算法的立體匹配過程的示意圖。
如圖4所示,a,b,c,...,i表示9個(gè)像素點(diǎn),在傳統(tǒng)的置信傳播算法中,像素b到e(b→e),和e到b(e→b)的能量傳播系數(shù)是相同的。而在本發(fā)明的實(shí)施例中,因?yàn)橄袼豣和e在預(yù)估初始視差值的時(shí)候的可靠度是不相同的,所以b→e和e→b的能量傳播系數(shù)也可以是不同的。從而將不相同的能量傳播系數(shù)加載到有向的圖模型中,得到最終的視差值。
具體地,在步驟203中,根據(jù)所述參考圖像中的兩個(gè)像素之間的所述視覺特征的差異度和在圖像坐標(biāo)中的距離和該兩個(gè)像素對(duì)應(yīng)的可靠度來計(jì)算該兩個(gè)像素之間的有方向的能量傳播系數(shù)?;镜囊?guī)則可以是:兩個(gè)像素之間的所述視覺特征的差異度越小,能量傳播系數(shù)越大;兩個(gè)像素之間的距離越小,能量傳播系數(shù)越大;且兩個(gè)像素對(duì)應(yīng)的可靠度越高,能量傳播系數(shù)越大。以下列舉具體的公式來表示能量傳播系數(shù)和兩個(gè)像素之間的所述視覺特征的差異度和在圖像坐標(biāo)中的距離和兩個(gè)像素對(duì)應(yīng)的可靠度之間的關(guān)系,但本發(fā) 明不限于該具體的公式,而是其他滿足上述基本規(guī)則的公式都是可以構(gòu)思的。
在一個(gè)實(shí)施例中,基于圖像像素的視覺特征、空間位置,以及上述得到的可靠度得分,計(jì)算能量傳播系數(shù)。在此,視覺特征可以包括灰度、顏色等視覺信息,空間位置可以包括歐式距離等距離度量。在一個(gè)實(shí)施例中,用wij表示像素i和像素j之間的初始能量傳播系數(shù),其可以被定義為:
這里Δc(i,j)=||I(i)-I(j)||和Δg(i,j)=||i-j||分別代表像素i和像素j之間的顏色/灰度等的差異度和在圖像坐標(biāo)中的歐式距離。該差異度也反映了兩個(gè)像素在視覺特征上的相似度,即差異度越小,相似度越高。λc和λg是兩個(gè)平衡參數(shù)。
另一方面,用ri表示像素i的可靠度得分,表示該像素的預(yù)估視差值的正確的概率。即,可靠度得分越高,表示預(yù)估的視差值越有可能是正確的。能量傳播系數(shù)pij則可被定義為如下內(nèi)積形式:
pij=<ri,wij>
其中<ri,wij>表示可靠度的得分ri和初始能量傳播系數(shù)wij的內(nèi)積。
也就是說,在本實(shí)施例中,能量傳播系數(shù)考慮了像素的初始視差值的可靠度得分。另外,由于考慮的傳播起始的像素點(diǎn)的可靠度得分,因此,從傳播起始的像素點(diǎn)到其他像素點(diǎn)的能量傳播系數(shù)與從其他像素點(diǎn)到該像素點(diǎn)的能量傳播系數(shù)可能是不同的、非對(duì)稱的,因此可以理解為該能量傳播系數(shù)是有方向的。
另外,在此,由于可以利用每個(gè)像素的初始視差值及其可靠度得分,因此,可以更準(zhǔn)確地使得每個(gè)像素都可以作為種子點(diǎn)(而非傳統(tǒng)技術(shù)中的僅一部分像素作為種子點(diǎn))以及考慮其對(duì)能量傳播系數(shù)的影響,因此可以得到更準(zhǔn)確的能量傳播系數(shù),從而之后得到更準(zhǔn)確的視差值和立體匹配結(jié)果。
當(dāng)然,上述具體的能量傳播系數(shù)的計(jì)算公式僅是示例,而事實(shí)上,可以構(gòu)思其他公式,只要使得能量傳播系數(shù)考慮像素的初始視差值的可靠度得分,使得可靠度得分越高,從該像素傳播出去的能量傳播系數(shù)越大。
在步驟204中,基于所述有方向的能量傳播系數(shù)來實(shí)施置信傳播算法以獲得像素的更新的視差值。
具體地,首先,建立一個(gè)有方向的圖模型G=(V,E),這里V是圖模型的 節(jié)點(diǎn),也就是參考圖像的像素,圖模型中的節(jié)點(diǎn)之間的邊的權(quán)值用能量傳播系數(shù)pij表示。圖模型的每條邊是一個(gè)有方向的點(diǎn)對(duì)[i,j],表示從像素i到像素j的有向邊。這里暫不考慮自循環(huán)(selfloop),即對(duì)所有的節(jié)點(diǎn)v∈V,在此,有方向的圖模型是為了體現(xiàn)節(jié)點(diǎn)和節(jié)點(diǎn)之間的有方向且有權(quán)值的傳播關(guān)系,事實(shí)上,其他類型的模型——只要體現(xiàn)了這種關(guān)系——也是可以使用的。
然后,在該圖模型上實(shí)施置信傳播算法以獲得像素的更新的視差值。
具體地,基于構(gòu)建的有向圖模型和能量傳播系數(shù)矩陣,可以定義一個(gè)隨機(jī)游走模型,使得該模型有唯一的穩(wěn)定分布,例如傳送隨機(jī)游走(teleporting random walk)模型。用П表示一個(gè)對(duì)角矩陣,該對(duì)角矩陣的對(duì)角元素是隨機(jī)游走的穩(wěn)定分布,計(jì)算傳播概率矩陣Θ=(П1/2 PП-1/2+П-1/2 PП1/2)/2其中P是能量傳播系數(shù)矩陣。用y(i)表示像素i的所述的視差值預(yù)估的計(jì)算函數(shù),那么像素最終的視差計(jì)算函數(shù)為f(i)=(I-αΘ)-1y(i),這里α是范圍為[0,1]的參數(shù)。注意,此處f(i)、y(i)可以是矩陣形式,即豎向量式的矩陣。
上述隨機(jī)游走模型可以從例如文獻(xiàn)D.Zhou,J.Huang,and B.Scholkopf,Learning from Labeled and Unlabeled Data on a Directed Graph,in ICML,2005中找到。但是,除了隨機(jī)游走模型以外,還可以使用其他模型來在所述圖模型上實(shí)施置信傳播算法。
總的來說,通過利用可靠度得分,該立體匹配算法不需要如傳統(tǒng)算法那樣,僅單獨(dú)地檢測(cè)種子點(diǎn),而是所有像素的視差值在考慮可靠度的同時(shí)進(jìn)行置信傳播。像素對(duì)的初始預(yù)估的視差值如果具有較高的可靠度得分,則說明該像素對(duì)越有可能是正確的匹配對(duì),將會(huì)更容易影響其他像素的視差更新,從而將減輕從不太可靠的像素出發(fā)的誤傳播帶來的影響,從而得到更準(zhǔn)確的視差值。從而,本發(fā)明的實(shí)施例的改進(jìn)的全局立體匹配算法更容易取得更高精度的視差圖像。
圖5示出了根據(jù)本發(fā)明的實(shí)施例的立體匹配控制器500的方框圖。
圖5所示的立體匹配控制器500包括:匹配代價(jià)計(jì)算裝置501,被配置為計(jì)算第一圖的像素和第二圖的像素之間的匹配代價(jià);預(yù)估裝置502,被配置為預(yù)估作為參考圖像的、第一圖和第二圖之一中的像素的視差值和對(duì)應(yīng)的可靠度,其中,所述可靠度表示該像素的預(yù)估的視差值的正確的概率;能量傳播系數(shù)計(jì)算裝置503,被配置為根據(jù)所述參考圖像中的兩個(gè)像素之間的所 述視覺特征的差異度和在圖像坐標(biāo)中的距離和該兩個(gè)像素對(duì)應(yīng)的可靠度來計(jì)算該兩個(gè)像素之間的有方向的能量傳播系數(shù);視差值獲得裝置504,被配置為基于所述有方向的能量傳播系數(shù)來實(shí)施置信傳播算法以獲得像素的更新的視差值。
例如左圖的第一圖和例如右圖的第二圖可以是極線校正過的,使得左圖和右圖可以位于同一極線上,以便更準(zhǔn)確地計(jì)算左圖的各個(gè)像素和右圖的各個(gè)像素之間的匹配代價(jià)。匹配代價(jià)可以用任意一種已知的匹配代價(jià)函數(shù)來計(jì)算,例如絕對(duì)差和(Sum of Absolute Differences,SAD),平方差和(Sum of Squared Differences,SSD),絕對(duì)差零均值和(Zeromean Sum of Absolute Differences,ZSAD),平方差零均值和(Zeromean Sum of Squared Differences,ZSSD),伯奇和托馬西(Birchfield and Tomasi,BT),互信息(Mutual Information,MI),Census等等。為了提高初始視差圖的精度,也可進(jìn)一步利用多種匹配代價(jià)函數(shù)融合得到更高精度的匹配代價(jià)函數(shù)。同時(shí),通過一定大小的窗口中,利用窗口疊加來增強(qiáng)匹配代價(jià)的可靠性也是一種提高精度的常見方法。
這里,左圖和右圖中取一個(gè)作為參考圖像,并計(jì)算該參考圖像中的每個(gè)像素的視差值和對(duì)應(yīng)的可靠度。另外,這里可以僅得到初步的粗略的視差值,為了提高計(jì)算效率而不太考慮準(zhǔn)確度的話,可以采用簡(jiǎn)單有效的方法來計(jì)算,例如勝者為王(Winner Takes All,WTA)算法。
優(yōu)選地,在得到初始的視差值的同時(shí),也相應(yīng)地求出該初始的視差值的可靠度的得分??煽慷瓤梢员硎驹撓袼氐念A(yù)估的視差值的正確的概率。例如,可靠度的計(jì)算可以采用基于規(guī)則的算法或者學(xué)習(xí)預(yù)測(cè)算法來完成。
如果采用基于規(guī)則的算法可以包括以下步驟:基于每個(gè)像素點(diǎn)及其相鄰的像素,提取匹配代價(jià)的曲線的可靠性特征;對(duì)每個(gè)像素點(diǎn)進(jìn)行投票,其中,fin是像素i的第n個(gè)可靠性特性,fin的值越大表示像素i的初始的預(yù)估視差值在第n個(gè)可靠性特性上表現(xiàn)出更高的可靠性,如果fin的值大于預(yù)定閾值,則像素i得到投票;將像素i的總投票Σn fin作為像素i的初始的預(yù)估視差值的可靠度得分。如果采用學(xué)習(xí)預(yù)測(cè)的算法可以包括以下步驟:收集包括多個(gè)樣本的訓(xùn)練集,每一個(gè)樣本包括匹配的像素對(duì)及其正確的視差值,每個(gè)樣本還有一個(gè)正負(fù)標(biāo)簽,表示按照勝者為王(WTA)算法得到的預(yù)估視差值是否正確;基于匹配代價(jià)的曲線的可靠性特征,利用機(jī)器學(xué)習(xí)的算法來學(xué)習(xí)一個(gè)分類器, 以預(yù)測(cè)一個(gè)預(yù)估的視差值是否可靠。
當(dāng)然,計(jì)算預(yù)估的視差值和相應(yīng)的可靠度的方法不限于上述,本領(lǐng)域技術(shù)人員還可以采用已知的其他方法。
如此,可以通過根據(jù)所述參考圖像中的兩個(gè)像素之間的所述視覺特征的差異度和在圖像坐標(biāo)中的距離和該兩個(gè)像素對(duì)應(yīng)的可靠度來計(jì)算該兩個(gè)像素之間的有方向的能量傳播系數(shù),從而考慮每個(gè)像素的預(yù)估視差值的可靠程度(即正確的概率)來獲得更準(zhǔn)確的能量傳播系數(shù),從而獲得更準(zhǔn)確的置信傳播模型,來得到更準(zhǔn)確的視差值。
當(dāng)然,上述的具體實(shí)施例僅是例子而非限制,且本領(lǐng)域技術(shù)人員可以根據(jù)本發(fā)明的構(gòu)思從上述分開描述的各個(gè)實(shí)施例中合并和組合一些步驟和裝置來實(shí)現(xiàn)本發(fā)明的效果,這種合并和組合而成的實(shí)施例也被包括在本發(fā)明中,在此不一一描述這種合并和組合。
注意,在本公開中提及的優(yōu)點(diǎn)、優(yōu)勢(shì)、效果等僅是示例而非限制,不能認(rèn)為這些優(yōu)點(diǎn)、優(yōu)勢(shì)、效果等是本發(fā)明的各個(gè)實(shí)施例必須具備的。另外,上述公開的具體細(xì)節(jié)僅是為了示例的作用和便于理解的作用,而非限制,上述細(xì)節(jié)并不限制本發(fā)明為必須采用上述具體的細(xì)節(jié)來實(shí)現(xiàn)。
本公開中涉及的器件、裝置、設(shè)備、系統(tǒng)的方框圖僅作為例示性的例子并且不意圖要求或暗示必須按照方框圖示出的方式進(jìn)行連接、布置、配置。如本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到的,可以按任意方式連接、布置、配置這些器件、裝置、設(shè)備、系統(tǒng)。諸如“包括”、“包含”、“具有”等等的詞語是開放性詞匯,指“包括但不限于”,且可與其互換使用。這里所使用的詞匯“或”和“和”指詞匯“和/或”,且可與其互換使用,除非上下文明確指示不是如此。這里所使用的詞匯“諸如”指詞組“諸如但不限于”,且可與其互換使用。
本公開中的步驟流程圖以及以上方法描述僅作為例示性的例子并且不意圖要求或暗示必須按照給出的順序進(jìn)行各個(gè)實(shí)施例的步驟。如本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到的,可以按任意順序進(jìn)行以上實(shí)施例中的步驟的順序。諸如“其后”、“然后”、“接下來”等等的詞語不意圖限制步驟的順序;這些詞語僅用于引導(dǎo)讀者通讀這些方法的描述。此外,例如使用冠詞“一個(gè)”、“一”或者“該”對(duì)于單數(shù)的要素的任何引用不被解釋為將該要素限制為單數(shù)。
另外,本文中的各個(gè)實(shí)施例中的步驟和裝置并非僅限定于某個(gè)實(shí)施例中實(shí)行,事實(shí)上,可以根據(jù)本發(fā)明的概念來結(jié)合本文中的各個(gè)實(shí)施例中相關(guān)的 部分步驟和部分裝置以構(gòu)思新的實(shí)施例,而這些新的實(shí)施例也包括在本發(fā)明的范圍內(nèi)。
以上所述的方法的各個(gè)操作可以通過能夠進(jìn)行相應(yīng)的功能的任何適當(dāng)?shù)氖侄味M(jìn)行。該手段可以包括各種硬件和/或軟件組件和/或模塊,包括但不限于硬件的電路、專用集成電路(ASIC)或處理器。
可以利用被設(shè)計(jì)用于進(jìn)行在此所述的功能的通用處理器、數(shù)字信號(hào)處理器(DSP)、ASIC、場(chǎng)可編程門陣列信號(hào)(FPGA)或其他可編程邏輯器件(PLD)、離散門或晶體管邏輯、離散的硬件組件或者其任意組合而實(shí)現(xiàn)或進(jìn)行所述的各個(gè)例示的邏輯塊、模塊和電路。通用處理器可以是微處理器,但是作為替換,該處理器可以是任何商業(yè)上可獲得的處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還可以實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如DSP和微處理器的組合,多個(gè)微處理器、與DSP核協(xié)作的一個(gè)或多個(gè)微處理器或任何其他這樣的配置。
結(jié)合本公開描述的方法或算法的步驟可以直接嵌入在硬件中、處理器執(zhí)行的軟件模塊中或者這兩種的組合中。軟件模塊可以存在于任何形式的有形存儲(chǔ)介質(zhì)中。可以使用的存儲(chǔ)介質(zhì)的一些例子包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、快閃存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬碟、可移動(dòng)碟、CD-ROM等。存儲(chǔ)介質(zhì)可以耦接到處理器以便該處理器可以從該存儲(chǔ)介質(zhì)讀取信息以及向該存儲(chǔ)介質(zhì)寫信息。在替換方式中,存儲(chǔ)介質(zhì)可以與處理器是整體的。軟件模塊可以是單個(gè)指令或者許多指令,并且可以分布在幾個(gè)不同的代碼段上、不同的程序之間以及跨過多個(gè)存儲(chǔ)介質(zhì)。
在此公開的方法包括用于實(shí)現(xiàn)所述的方法的一個(gè)或多個(gè)動(dòng)作。方法和/或動(dòng)作可以彼此互換而不脫離權(quán)利要求的范圍。換句話說,除非指定了動(dòng)作的具體順序,否則可以修改具體動(dòng)作的順序和/或使用而不脫離權(quán)利要求的范圍。
所述的功能可以按硬件、軟件、固件或其任意組合而實(shí)現(xiàn)。如果以軟件實(shí)現(xiàn),功能可以作為一個(gè)或多個(gè)指令存儲(chǔ)在切實(shí)的計(jì)算機(jī)可讀介質(zhì)上。存儲(chǔ)介質(zhì)可以是可以由計(jì)算機(jī)訪問的任何可用的切實(shí)介質(zhì)。通過例子而不是限制,這樣的計(jì)算機(jī)可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟存儲(chǔ)、磁碟存儲(chǔ)或其他磁存儲(chǔ)器件或者可以用于攜帶或存儲(chǔ)指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并且可以由計(jì)算機(jī)訪問的任何其他切實(shí)介質(zhì)。如在此使用的,碟(disk)和盤(disc)包括緊湊盤(CD)、激光盤、光盤、數(shù) 字通用盤(DVD)、軟碟和藍(lán)光盤,其中碟通常磁地再現(xiàn)數(shù)據(jù),而盤利用激光光學(xué)地再現(xiàn)數(shù)據(jù)。
因此,計(jì)算機(jī)程序產(chǎn)品可以進(jìn)行在此給出的操作。例如,這樣的計(jì)算機(jī)程序產(chǎn)品可以是具有有形存儲(chǔ)(和/或編碼)在其上的指令的計(jì)算機(jī)可讀的有形介質(zhì),該指令可由一個(gè)或多個(gè)處理器執(zhí)行以進(jìn)行在此所述的操作。計(jì)算機(jī)程序產(chǎn)品可以包括包裝的材料。
軟件或指令也可以通過傳輸介質(zhì)而傳輸。例如,可以使用諸如同軸電纜、光纖光纜、雙絞線、數(shù)字訂戶線(DSL)或諸如紅外、無線電或微波的無線技術(shù)的傳輸介質(zhì)從網(wǎng)站、服務(wù)器或者其他遠(yuǎn)程源傳輸軟件。
此外,用于進(jìn)行在此所述的方法和技術(shù)的模塊和/或其他適當(dāng)?shù)氖侄慰梢栽谶m當(dāng)時(shí)由用戶終端和/或基站下載和/或其他方式獲得。例如,這樣的設(shè)備可以耦接到服務(wù)器以促進(jìn)用于進(jìn)行在此所述的方法的手段的傳送?;蛘?,在此所述的各種方法可以經(jīng)由存儲(chǔ)部件(例如RAM、ROM、諸如CD或軟碟等的物理存儲(chǔ)介質(zhì))提供,以便用戶終端和/或基站可以在耦接到該設(shè)備或者向該設(shè)備提供存儲(chǔ)部件時(shí)獲得各種方法。此外,可以利用用于將在此所述的方法和技術(shù)提供給設(shè)備的任何其他適當(dāng)?shù)募夹g(shù)。
其他例子和實(shí)現(xiàn)方式在本公開和所附權(quán)利要求的范圍和精神內(nèi)。例如,由于軟件的本質(zhì),以上所述的功能可以使用由處理器、硬件、固件、硬連線或這些的任意的組合執(zhí)行的軟件實(shí)現(xiàn)。實(shí)現(xiàn)功能的特征也可以物理地位于各個(gè)位置,包括被分發(fā)以便功能的部分在不同的物理位置處實(shí)現(xiàn)。而且,如在此使用的,包括在權(quán)利要求中使用的,在以“至少一個(gè)”開始的項(xiàng)的列舉中使用的“或”指示分離的列舉,以便例如“A、B或C的至少一個(gè)”的列舉意味著A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辭“示例的”不意味著描述的例子是優(yōu)選的或者比其他例子更好。
可以不脫離由所附權(quán)利要求定義的教導(dǎo)的技術(shù)而進(jìn)行對(duì)在此所述的技術(shù)的各種改變、替換和更改。此外,本公開的權(quán)利要求的范圍不限于以上所述的處理、機(jī)器、制造、事件的組成、手段、方法和動(dòng)作的具體方面??梢岳门c在此所述的相應(yīng)方面進(jìn)行基本相同的功能或者實(shí)現(xiàn)基本相同的結(jié)果的當(dāng)前存在的或者稍后要開發(fā)的處理、機(jī)器、制造、事件的組成、手段、方法或動(dòng)作。因而,所附權(quán)利要求包括在其范圍內(nèi)的這樣的處理、機(jī)器、制造、事件的組成、手段、方法或動(dòng)作。
提供所公開的方面的以上描述以使本領(lǐng)域的任何技術(shù)人員能夠做出或者使用本發(fā)明。對(duì)這些方面的各種修改對(duì)于本領(lǐng)域技術(shù)人員而言是非常顯而易見的,并且在此定義的一般原理可以應(yīng)用于其他方面而不脫離本發(fā)明的范圍。因此,本發(fā)明不意圖被限制到在此示出的方面,而是按照與在此公開的原理和新穎的特征一致的最寬范圍。
為了例示和描述的目的已經(jīng)給出了以上描述。此外,此描述不意圖將本發(fā)明的實(shí)施例限制到在此公開的形式。盡管以上已經(jīng)討論了多個(gè)示例方面和實(shí)施例,但是本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到其某些變型、修改、改變、添加和子組合。