本發(fā)明涉及立體影像密集匹配技術(shù)領(lǐng)域,具體地指一種基于全局塊優(yōu)化的立體影像密集匹配方法。
技術(shù)背景
立體影像密集匹配指根據(jù)一定的匹配代價優(yōu)化方法,逐像素地匹配出兩幅影像之間同名點的過程。根據(jù)優(yōu)化方法的不同,可以將立體影像密集匹配方法分為:局部密集匹配、半全局密集匹配和全局密集匹配。立體影像密集匹配是三維建模、虛擬現(xiàn)實、計算機視覺等領(lǐng)域的核心技術(shù)之一,能夠用于無人自動駕駛、無人機自動巡航、3d地圖、3d打印、智慧城市、機器人雙目視覺、虛擬電商等應(yīng)用。
目前主流的三維建模技術(shù)包括:人工手動建模技術(shù)、激光掃描技術(shù)、結(jié)構(gòu)光技術(shù)和立體影像密集匹配技術(shù)。與其余兩種技術(shù)相比,立體影像密集匹配技術(shù)的優(yōu)勢在于:(1)成本低廉;(2)平面精度高;(3)建模范圍大;(4)反映三維模型的顏色信息。傳統(tǒng)的立體影像密集匹配算法包括雙邊濾波算法、半全局密集匹配算法(semi-globalmatching,sgm)、圖割算法、置信傳播算法等等。這些算法總是假設(shè)影像中相鄰像素之間的視差要盡可能滿足視差一致的約束。實際上,在三維模型的斜面區(qū)域,相鄰像素的視差是不可能一致的。如果在斜面區(qū)域要求相鄰像素的視差一致,就會在斜面區(qū)域產(chǎn)生“視差階梯”問題,從而造成三維模型表面粗糙,影響三維模型的重建精度和三維顯示效果。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對上述技術(shù)問題,提供一種基于全局塊優(yōu)化的立體影像密集匹配方法,該方法假設(shè)三維模型場景是分塊連續(xù)的,將立體影像中的基準(zhǔn)影像分割成一系列相互鄰接的塊,構(gòu)建全局能量函數(shù)(包括數(shù)據(jù)項和平滑項),將立體影像密集匹配問題轉(zhuǎn)化為全局能量函數(shù)的最優(yōu)解計算問題,采用最小二乘的方法獲取最優(yōu)解,作為立體影像密集匹配的結(jié)果。本發(fā)明能夠有效解決傳統(tǒng)立體影像密集匹配中普遍存在的“視差階梯”問題,使得匹配后的模型表面連續(xù)光滑。
為實現(xiàn)此目的,本發(fā)明所設(shè)計的基于全局塊優(yōu)化的立體影像密集匹配方法,其特征在于,它包括如下步驟:
步驟1:在立體影像中,選擇基準(zhǔn)影像和參考影像,采用傳統(tǒng)的立體影像密集匹配方法,獲取初匹配的視差圖;
步驟2:采用slic(simplelineariterativecluster)超像素分割方法,將基準(zhǔn)影像分割成一系列相互鄰接的塊(patch),用si表示基準(zhǔn)影像上的第i個塊;
步驟3:構(gòu)建基于全局塊優(yōu)化的立體影像密集匹配全局能量函數(shù)中的數(shù)據(jù)項edata,數(shù)據(jù)項edata用于描述基準(zhǔn)影像的每個塊與參考影像上的同名塊之間的非相似性測度;
每個所述塊都用一個視差平面方程來描述,即:
其中,ai、bi、ci表示塊si的視差平面方程參數(shù);p=(px,py)t表示塊si內(nèi)的一個像素;d表示像素所對應(yīng)的視差;
令
式中,gdata表示數(shù)據(jù)項edata的二次項系數(shù)矩陣;hdata表示數(shù)據(jù)項edata的一次項的系數(shù)矩陣,edata為基于全局塊優(yōu)化的立體影像密集匹配的全局能量函數(shù)的數(shù)據(jù)項,t表示轉(zhuǎn)置符號,上述二次項系數(shù)矩陣gdata和一次項系數(shù)矩陣hdata的具體表達為:
gdata=diag(-gdata(si));
上式中,diag表示對角線矩陣;gdata(si)、hdata(si)分別表示gdata、hdata中的對應(yīng)si的塊矩陣;a、b、c表示視差平面方程系數(shù);a0、b0、c0表示視差平面方程系數(shù)的初值;r(a0,b0,c0|si)表示塊si所對應(yīng)的相關(guān)系數(shù);
步驟4:構(gòu)建基于全局塊優(yōu)化的立體影像密集匹配全局能量函數(shù)中的平滑項esmooth,平滑項esmooth用于保證相鄰塊之間連續(xù)平滑;
同樣令
式中,gs表示平滑項esmooth的二次項系數(shù)矩陣,hs表示平滑項esmooth的一次項系數(shù)矩陣;
上述二次項系數(shù)矩陣gs和一次項系數(shù)矩陣hs可以分別表達為:
其中,τ表示塊的數(shù)目;sj表示si的鄰接塊;n(si)表示塊si的相鄰塊集合;e(si,sj)表示塊si內(nèi),與塊sj相鄰接的像素集合;|e(si,sj)|表示集合e(si,sj)內(nèi)的像素數(shù)目;ci=(cix,ciy)t表示塊si的重心;pn1(i,j)表示根據(jù)塊si與塊sj的鄰接關(guān)系計算出來的連接性懲罰系數(shù);pn2(i,j)表示根據(jù)塊si與塊sj的鄰接關(guān)系計算出來的共面性懲罰系數(shù);t表示基準(zhǔn)影像上的一個像素,該像素位于集合e(si,sj)內(nèi),且是塊與塊之間鄰接處的像素;gsr(si,sj,t)表示塊si與塊sj之間關(guān)于像素t的相關(guān)矩陣;hsr(si,sj,t)表示塊si與塊sj之間一次項系數(shù)矩陣的分塊矩陣;
其中,σ1(t,si,sj)表示塊si與塊sj之間關(guān)于像素t的二次項分塊矩陣,t為轉(zhuǎn)置符號;03×3表示3×3的零矩陣;
其中,hi(t,si,sj)表示hsr(si,sj,t)內(nèi),關(guān)于si的分塊矩陣;hj(t,si,sj)表示hsr(si,sj,t)內(nèi),關(guān)于sj的分塊矩陣;
步驟5:根據(jù)數(shù)據(jù)項edata和平滑項esmooth,構(gòu)建基于全局塊優(yōu)化的立體影像密集匹配的全局能量函數(shù),其中,上述全局能量函數(shù)的極值最優(yōu)解,即為立體影像密集匹配的結(jié)果;
定義d表示立體影像匹配的視差圖,e(d)表示基于全局塊優(yōu)化的立體影像密集匹配的全局能量函數(shù),那么,將上述全局能量函數(shù)定義為:
其中,edata表示基于全局塊優(yōu)化的立體影像密集匹配的全局能量函數(shù)的數(shù)據(jù)項;esmooth表示基于全局塊優(yōu)化的立體影像密集匹配的全局能量函數(shù)的平滑項;
求公式
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點:
本發(fā)明能夠有效消除傳統(tǒng)立體影像密集匹配算法中普遍存在的視差階梯問題,采用本發(fā)明的方法生成的密集匹配視差圖中,模型表面連續(xù)光滑,匹配精度較高,三維顯示效果好。本發(fā)明能夠為數(shù)字攝影測量與遙感、計算機視覺、虛擬現(xiàn)實、公共工程安全、國防建設(shè)等學(xué)科和應(yīng)用提供技術(shù)服務(wù)。
附圖說明
圖1為本發(fā)明的流程圖;
具體實施方式
以下結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明:
本發(fā)明針對傳統(tǒng)立體影像密集匹配方法中普遍存在的視差階梯問題,提出了一種基于全局塊優(yōu)化的立體影像密集匹配方法。該方法能夠有效解決上述視差階梯問題,獲取模型表面連續(xù)光滑的視差圖。本發(fā)明的工作流程如圖1所示,它包括如下步驟:
步驟1:在立體影像中,選擇基準(zhǔn)影像和參考影像,采用傳統(tǒng)的立體影像密集匹配方法,獲取初匹配的視差圖;
立體影像即組成立體視覺的兩幅影像。影像可以采用衛(wèi)星影像、航拍影像、無人機影像等,首先在兩張影像中選擇基準(zhǔn)影像和參考影像,一般選擇左視影像為基準(zhǔn)影像,選擇右視影像為參考影像,然后將立體影像重采樣成核線立體影像,采樣的方法可以采用開源的代碼庫opencv中的initundistortrectifymap()函數(shù),根據(jù)經(jīng)過重采樣的核線立體影像,采用傳統(tǒng)的立體影像密集匹配方法,生成初匹配的視差圖,傳統(tǒng)的立體影像密集匹配方法包括局部匹配方法、半全局匹配方法和全局匹配方法,仍然可以采用開源的代碼庫opencv中的立體影像密集匹配函數(shù),局部匹配方法對應(yīng)cvfindstereocorrespondencebm()函數(shù),半全局匹配算法對應(yīng)sgbm()函數(shù),全局匹配算法對應(yīng)cvfindstereocorrespondencegc()函數(shù);
步驟2:采用slic超像素分割方法,將基準(zhǔn)影像分割成一系列相互鄰接的塊,用si表示基準(zhǔn)影像上的第i個塊;每個塊可以采用一個平面來描述,在數(shù)學(xué)上可以采用一個視差平面方程來描述。超像素分割代碼參見網(wǎng)址:
http://ivrl.epfl.ch/supplementary_material/rk_slicsuperpixels/index.html;
步驟3:構(gòu)建基于全局塊優(yōu)化的立體影像密集匹配全局能量函數(shù)中的數(shù)據(jù)項edata,數(shù)據(jù)項edata用于描述基準(zhǔn)影像的每個塊與參考影像上的同名塊之間的非相似性測度,如果數(shù)據(jù)項越大,說明非相似性測度越大;反之,說明非相似性測度越?。?/p>
每個所述塊都用一個視差平面方程來描述,即:
其中,ai、bi、ci表示塊si的視差平面方程參數(shù);p=(px,py)t表示塊si內(nèi)的一個像素;d表示像素所對應(yīng)的視差;
令
式中,gdata表示數(shù)據(jù)項edata的二次項系數(shù)矩陣;hdata表示數(shù)據(jù)項edata的一次項的系數(shù)矩陣,edata為基于全局塊優(yōu)化的立體影像密集匹配的全局能量函數(shù)的數(shù)據(jù)項,t表示轉(zhuǎn)置符號,上述二次項系數(shù)矩陣gdata和一次項系數(shù)矩陣hdata的具體表達為:
gdata=diag(-gdata(si));
上式中,diag表示對角線矩陣;gdata(si)、hdata(si)分別表示gdata、hdata中的對應(yīng)si的塊矩陣;a、b、c表示視差平面方程系數(shù);a0、b0、c0表示視差平面方程系數(shù)的初值;r(a0,b0,c0|si)表示塊si所對應(yīng)的相關(guān)系數(shù);
步驟4:構(gòu)建基于全局塊優(yōu)化的立體影像密集匹配全局能量函數(shù)中的平滑項esmooth,平滑項esmooth用于保證相鄰塊之間連續(xù)平滑;
同樣令
式中,gs表示平滑項esmooth的二次項系數(shù)矩陣,hs表示平滑項esmooth的一次項系數(shù)矩陣;
上述二次項系數(shù)矩陣gs和一次項系數(shù)矩陣hs可以分別表達為:
其中,τ表示塊的數(shù)目;sj表示si的鄰接塊;n(si)表示塊si的相鄰塊集合;e(si,sj)表示塊si內(nèi)與塊sj相鄰接的像素集合;|e(si,sj)|表示集合e(si,sj)內(nèi)的像素數(shù)目;ci=(cix,ciy)t表示塊si的重心;pn1(i,j)表示根據(jù)塊si與塊sj的鄰接關(guān)系計算出來的連接性懲罰系數(shù);pn2(i,j)表示根據(jù)塊si與塊sj的鄰接關(guān)系計算出來的共面性懲罰系數(shù);t表示基準(zhǔn)影像上的一個像素,該像素位于集合e(si,sj)內(nèi),且是塊與塊之間鄰接處的像素;gsr(si,sj,t)表示塊si與塊sj之間關(guān)于像素t的相關(guān)矩陣;hsr(si,sj,t)表示塊si與塊sj之間一次項系數(shù)矩陣的分塊矩陣;
其中,σ1(t,si,sj)表示塊si與塊sj之間關(guān)于像素t的二次項分塊矩陣,t為轉(zhuǎn)置符號;03×3表示3×3的零矩陣;
其中,hi(t,si,sj)表示hsr(si,sj,t)內(nèi),關(guān)于si的分塊矩陣;hj(t,si,sj)表示hsr(si,sj,t)內(nèi),關(guān)于sj的分塊矩陣;
步驟5:根據(jù)數(shù)據(jù)項edata和平滑項esmooth,構(gòu)建基于全局塊優(yōu)化的立體影像密集匹配的全局能量函數(shù),其中,上述全局能量函數(shù)的極值最優(yōu)解,即為立體影像密集匹配的結(jié)果;
定義d表示立體影像匹配的視差圖,e(d)表示基于全局塊優(yōu)化的立體影像密集匹配的全局能量函數(shù),那么,將上述全局能量函數(shù)定義為:
其中,edata表示基于全局塊優(yōu)化的立體影像密集匹配的全局能量函數(shù)的數(shù)據(jù)項;esmooth表示基于全局塊優(yōu)化的立體影像密集匹配的全局能量函數(shù)的平滑項;
求公式
http://eigen.tuxfamily.org/index.php?title=main_page
上述技術(shù)方案中,所述步驟5中,解算
ai=a0+dai,bi=b0+dbi,ci=c0+dci
式中,ai、bi、ci表示塊si的視差平面方程參數(shù);a0、b0、c0表示塊si的視差平面方程參數(shù)的初值。
根據(jù)每個塊內(nèi)像素的影像坐標(biāo)和視差平面方程參數(shù),計算每個像素的精確視差,如下式所示:
其中,ai、bi、ci表示塊si的視差平面方程參數(shù);
上述技術(shù)方案的步驟3中,相關(guān)系數(shù)r(a0,b0,c0|si)的表達式為:
上式中,ib表示基準(zhǔn)影像,ir表示參考影像,p表示塊si內(nèi)的一個像素;
一階偏微分
上述技術(shù)方案的步驟3中,塊si對應(yīng)參考影像上的同名塊的位置可由步驟1中的初匹配視差圖獲得。
上述技術(shù)方案的步驟4中,重心化坐標(biāo)
式中,(tx,ty)t表示像素t在基準(zhǔn)影像上的坐標(biāo);(cix,ciy)t表示塊si的重心坐標(biāo)。
上述技術(shù)方案的步驟4中,連接性懲罰系數(shù)pn1(i,j)的計算公式為:
上式中,p表示用戶指定的懲罰系數(shù),一般數(shù)值取5~10,exp表示指數(shù)函數(shù);σ表示像素灰度平滑因子,一般取5~10,
上述技術(shù)方案的步驟4中,共面性懲罰系數(shù)pn2(i,j)的計算公式為:
pn2(i,j)=pn1(i,j)·(cos<si,sj>)m
上式中,cos表示余弦函數(shù),<si,sj>表示塊si與塊sj之間法向量的夾角,m表示冪因子,一般取10,pn1(i,j)表示根據(jù)塊si與塊sj的鄰接關(guān)系計算出來的連接性懲罰系數(shù)。
本發(fā)明能夠有效解決傳統(tǒng)立體影像密集匹配算法中普遍存在的“視差”階梯問題,將立體影像密集匹配問題轉(zhuǎn)化為全局能量函數(shù)的最優(yōu)解計算問題,所獲取的立體影像密集匹配視差圖中,模型表面連續(xù)光滑,為三維建模、虛擬現(xiàn)實、計算機視覺、數(shù)字攝影測量等學(xué)科和應(yīng)用提供技術(shù)支持。
本說明書未作詳細描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。