国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)SGM算法的雙目立體匹配*

2024-01-03 01:49易懷安舒愛華宋欣茹黃杰鋒
關(guān)鍵詞:立體匹配視差代價

宋 坤,易懷安,舒愛華,宋欣茹,黃杰鋒

(1.桂林理工大學(xué)機(jī)械與控制工程學(xué)院,桂林 541006;阜陽師范大學(xué)計(jì)算機(jī)與信息工程,阜陽 236000)

0 引言

雙目立體視覺技術(shù)是計(jì)算機(jī)視覺中的一個重要領(lǐng)域,其原理是利用雙目相機(jī)模仿人的雙眼獲取一對二維圖像,通過立體匹配算法從一對二維圖像中計(jì)算出三維結(jié)構(gòu)信息。該技術(shù)具備操作簡單、效率高、成本低的優(yōu)點(diǎn),因此有廣泛的應(yīng)用領(lǐng)域,如計(jì)算機(jī)視覺[1-2]、機(jī)器人工業(yè)[3]、自動駕駛技術(shù)[4-5]、遙感測繪[6-7]等方面。雙目立體視覺技術(shù)的主要工作流程包括5個步驟:圖像采集、相機(jī)標(biāo)定[8]、立體校正、立體匹配和三維重建[9]。其中,最核心的步驟為立體匹配。它是根據(jù)左右相機(jī)獲取的一對圖像,建立被拍攝物體在左右圖像之間投影點(diǎn)的對應(yīng)關(guān)系,通過立體幾何原理計(jì)算投影點(diǎn)的視差,從而得到視差圖。根據(jù)視差圖可以恢復(fù)其深度信息,重構(gòu)物體的三維空間幾何。因此,立體匹配獲得視差圖的精度直接決定三維重建得到立體場景的精確度,所以,提高立體匹配的精度成為了當(dāng)前研究的熱點(diǎn)。

為了提高立體匹配的精度,科研人員進(jìn)行了一系列的研究。根據(jù)優(yōu)化理論方法的不同可分為全局立體匹配、局部立體匹配和半全局立體匹配。全局立體匹配算法使用全局優(yōu)化算法進(jìn)行視差估計(jì),主要有DP[10]、GC[11]、BP[12]算法。該類算法是在能量函數(shù)框架下,把立體匹配問題轉(zhuǎn)換為求解能量函數(shù)最小化問題。該算法雖然有較高的精度,但是該算法復(fù)雜程度較高,耗時長,難以達(dá)到實(shí)時性。而局部立體匹配使用的是局部優(yōu)化,主要是利用SSD、SAD、Census等局部代價函數(shù)進(jìn)行視差估計(jì)[13],該類算法靈活多變且運(yùn)算速度快,但是精度較低。因此,HEIKO[14]提出一種半全局立體匹配(SGM)的方法,該算法通過沿圖像上的多條(通常為4或8條)獨(dú)立路徑求解一維最小化問題來近似全局解。雖然較好地中和局部匹配和全局匹配的優(yōu)缺點(diǎn),但在處理遮擋區(qū)域以及視差不連續(xù)區(qū)域的能力較弱,在遮擋區(qū)域的地方出現(xiàn)較大的偏差。近幾年由于深度學(xué)習(xí)的快速發(fā)展,CAO、CHEN等[15-17]提出了AMDCNet、PGNet、PSNet等立體匹配方法,雖然該方法能很好的解決以上問題,且匹配精度也很高,但是該類方法泛化能力不足,需要依賴大量的訓(xùn)練數(shù)據(jù)集,立體匹配數(shù)據(jù)集采集難度大,成本高,且應(yīng)用的場景也過于局限。因此該類方法不能很好的應(yīng)用到實(shí)際場景。

本文針對SGM算法在圖像匹配中遮擋區(qū)域以及視差不連續(xù)區(qū)域的能力較弱問題,在SGM算法基礎(chǔ)上進(jìn)行視差優(yōu)化,提出一種基于SGM算法結(jié)合泛洪填充算法[18-20]和中值平滑的視差優(yōu)化方法。泛洪填充算法是模擬流體擴(kuò)散過程用特定的顏色填充聯(lián)通區(qū)域的一種算法,該算法被廣泛應(yīng)用在二維空間中確定連通區(qū)域的圖像處理中,且該算法填充不僅效率高且有較高的準(zhǔn)確性,因此利用該算法對視差圖中的遮擋區(qū)域以及視差不連續(xù)區(qū)域進(jìn)行空洞填充,接著對視差圖進(jìn)行中值平滑處理,進(jìn)一步對視差進(jìn)行細(xì)化的方案,大大增加了視差圖的匹配準(zhǔn)確度和適用性。

1 算法原理

本文算法流程如圖1所示,輸入左右相機(jī)采集的圖像對,經(jīng)過Sobel算子處理、代價計(jì)算、代價聚合、視差計(jì)算、唯一性檢測、泛洪填充算法、中值平滑及左右一致性檢測等步驟最終生成視差圖。首先,本文在代價計(jì)算過程中使用BT代價計(jì)算,相較于傳統(tǒng)的互信息像素代價計(jì)算降低運(yùn)行時間的同時也提高匹配的精度。然后通過對多路徑的一維約束進(jìn)行求解各路徑的能量函數(shù)計(jì)算像素點(diǎn)總的匹配代價。采用WTA算法進(jìn)行視差計(jì)算。本文在視差優(yōu)化階段使用唯一性檢測、亞像素插值對錯誤的視差進(jìn)行剔除,接著通過泛洪填充算法對視差弱紋理、重復(fù)紋理以及視差不連續(xù)區(qū)域進(jìn)行填充,利用中值平滑在剔除噪點(diǎn)的同時保留物體的邊緣特征,最后生成視差圖。

1.1 SGM算法

1.1.1 預(yù)處理

本文在采用Sobel算子對初始圖像進(jìn)行水平處理,該算子根據(jù)相鄰點(diǎn)灰度的加權(quán)差,在邊緣處達(dá)到極值這一現(xiàn)象檢測邊緣。對噪聲具有平滑作用,可以精準(zhǔn)的計(jì)算出邊緣信息,因此使用SobelX水平算子對輸入圖像的邊緣進(jìn)行提取,水平方向進(jìn)行梯度濾波處理。

然后再經(jīng)過一個函數(shù)將SobelX處理后圖像上像素點(diǎn)的像素值P,映射到一個新的圖像,像素值為Pnew,映射函數(shù)為:

(1)

式中:preFilterCap是一個參數(shù),可以根據(jù)不同的需求進(jìn)行調(diào)整,經(jīng)過上述處理,可以得到圖像的梯度信息,用于下一步的代價計(jì)算。

1.1.2 匹配代價計(jì)算

(2)

(3)

取兩個代價的最小值:

C(xR,y,d)=min(cos1,cos2)

(4)

1.1.3 代價聚合

通過圖像上多個方向上的一維路徑約束,建立一個類似全局的馬爾科夫能量方程,代替全局匹配中的能量函數(shù),每個像素最終的匹配代價是所有路徑的疊加,每個方向方向都按照動態(tài)規(guī)劃的方法進(jìn)行能量積累,如式(5)所示。

(5)

式中:C(P,d)代表的是基于BT代價計(jì)算的初始代價項(xiàng),P是像素點(diǎn)(xR,y),r代表聚合路徑,P1,P2是懲罰因子,數(shù)學(xué)模型如式(6)所示。

P=x*number*SAD*SAD

(6)

式中:x為常數(shù),number為待匹配圖像通道數(shù),SAD是代價計(jì)算的窗口大小。

將每個方向的匹配代價進(jìn)行累加得到該像素點(diǎn)總的匹配代價,公式為:

S(P,d)=∑rLr(P,d)

(7)

1.1.4 視差計(jì)算

在本文算法中,采用贏家通吃(WTA)算法進(jìn)行視差計(jì)算,即每個像素都選擇最小的代價聚合值所對應(yīng)的視差作為初始視差(D(p)),一般會把每個像素計(jì)算到的視差以左圖為參考存儲視差值,再結(jié)合圖像的內(nèi)外參數(shù)即可轉(zhuǎn)換為深度圖,計(jì)算公式為:

(8)

1.1.5 后處理

SGM算法中后處理階段主要包括:唯一性檢驗(yàn)、亞像素插值、左右一致性檢測。本文在后處理階段做了大量的處理,在經(jīng)過左右一致性檢驗(yàn)后,視差圖會有大量的無效區(qū)域,對此本文加入泛洪填充算法與中值平滑,對泛弱紋理、重復(fù)紋理以及視差不連續(xù)區(qū)域進(jìn)行填充,再用中值平滑對圖像的噪點(diǎn)進(jìn)行剔除。

左右一致性檢查即把左右圖像的位置進(jìn)行對調(diào),對右圖像進(jìn)行視差圖計(jì)算,并對照兩個視差圖的同名點(diǎn)對是否能夠相互匹配,一般是把左視差圖的每一個像素點(diǎn)計(jì)算出同名點(diǎn)在右視差圖中的像素點(diǎn)的位置。再判斷視差值之差的絕對值是否小于一個閾值,如果超過閾值則視為不一致,即該位置視差為無效值。計(jì)算公式為:

(9)

1.2 泛洪填充算法

泛洪填充算法[15-16]是模擬流體擴(kuò)散過程用特定的顏色填充聯(lián)通區(qū)域的一種算法,該算法被廣泛應(yīng)用在二維空間中確定連通區(qū)域的圖像處理中。從一個選定的像素點(diǎn)F(x,y)出發(fā),根據(jù)該像素點(diǎn)與周圍像素點(diǎn)灰度值的差值對周圍目標(biāo)像素點(diǎn)判斷是否屬于該聯(lián)通區(qū)域,滿足判斷則對該點(diǎn)進(jìn)行填充,并將該目標(biāo)點(diǎn)作為新的種子點(diǎn)進(jìn)行下一輪填充過程,直到完全填充該聯(lián)通區(qū)域。泛洪填充最常見的有四連通和八連通兩種填充算法,如圖2所示。

(a) 四連通填充方向 (b) 四連通填充區(qū)域

由圖2可以看出,四連通填充算法是指從選定的像素點(diǎn)F(x,y)出發(fā),對上、下、左、右4個填充方向上的相鄰像素點(diǎn)進(jìn)行判斷,以確定是否對該填充方向進(jìn)行擴(kuò)展,見圖2a。八連通填充算法則是在四聯(lián)通填充的基礎(chǔ)上加入了左上、左下、右上、右下4個填充方向,見圖2b;圖2c和圖2d分別為四連通和八連通填充區(qū)域。相比較兩種算法,后者會出現(xiàn)跨區(qū)域填充的情況,對于細(xì)節(jié)較多的視差圖來說會增大視差圖的誤差,而且計(jì)算量較大、耗時較長。而四聯(lián)通不僅會減少計(jì)算量在對視差圖空洞填充中的“魯棒性”較強(qiáng),因此本文選用四聯(lián)通填充算法對視差圖中的空洞進(jìn)行填充,在視差圖中圖像中,由于無效點(diǎn)(其灰度值為0)與有效點(diǎn)之間的灰度值是存在突變,可以利用泛洪填充算法找到空洞中的某一非零灰度像素點(diǎn)作為起始像素點(diǎn),對該聯(lián)通區(qū)域進(jìn)行填充以獲取匹配度更高的視差圖。

1.3 中值平滑

中值平滑是一種基于排序統(tǒng)計(jì)理論的圖像處理技術(shù),同時也是一種鄰域運(yùn)算,是生成一個濾波模板,通過從視差圖中的二維模板取出奇數(shù)個像素點(diǎn)的灰度值進(jìn)行排序,用排序后的中值取代該滑動窗口中心像素的灰度值,從而達(dá)到對視差圖的平滑處理。假設(shè)w為輸入的二維模板,能夠在整幅圖像上滑動,通常尺寸為3*3或5*5區(qū)域,也可以是不同的形狀如線狀、圓形、十字形、圓環(huán)形等。一般設(shè){xij(i,j)∈I2}表示視差圖各點(diǎn)的灰度值。窗口大小為A,yij是窗口A在xij像素點(diǎn)的中值,則有:

yij=Med{xij}=Med{xi+r,(i,s),(r,s)∈A,(i,j)∈I2}

(10)

中值平滑是一種經(jīng)典的平滑處理方式,它的目的是保護(hù)視差圖邊緣特征的同時可以填補(bǔ)視差圖中噪聲點(diǎn),能夠克服線性濾波器帶來的視差圖像中細(xì)節(jié)模糊等弊端。

2 評價指標(biāo)

為了驗(yàn)證算法參數(shù)的有效性,我們引入均方根誤差(RMSE)、峰值信噪比(PSNR)對視差圖進(jìn)行分析[18],同時為了更詳細(xì)地量化匹配結(jié)果,引入平均結(jié)構(gòu)相似性(MSSIM)評價指標(biāo)計(jì)算本文算法得到的視差圖與真實(shí)視差圖像相似性。

2.1 均方根誤差

均方根誤差反映的是變量間的差異程度,是一種基于像素誤差的圖像質(zhì)量客觀評價指標(biāo),用于衡量生成視差圖像和真實(shí)視差圖像之間的差異,MSE越小,表示生成的視差圖像效果越好。表達(dá)式如下:

(11)

2.2 峰值信噪比

峰值信噪比,用于衡量圖像有效信息與噪聲之間的比率,是衡量圖像失真或噪聲水平的客觀指標(biāo),能夠反映圖像是否失真。PSNR的值越大,表示圖像的匹配質(zhì)量越好。公式為:

(12)

式中:M*N表示圖像的大小,X(i,j)和Y(i,j)表示兩幅圖像的灰度值。

2.3 結(jié)構(gòu)相似性

結(jié)構(gòu)相似性是一種用以衡量兩張圖像相似程度的指標(biāo),它分別從亮度、對比度、結(jié)構(gòu)3個方面度量圖像相似性,尤其反映了圖像的輪廓,細(xì)節(jié)等的相似度,很適合在本實(shí)驗(yàn)中用來衡量生成視差圖與真實(shí)視差圖之間的相似程度的客觀評價指標(biāo),MSSIM值越大,說明與真實(shí)視差圖像更接近,視差圖效果越好,計(jì)算公式為:

MSSIM(X,Y)=

(13)

式中:μXk、μYk分別表示圖像X和Y的均值,σXk、σYk分別表示圖像X和Y的方差,σXkYk表示圖像X和Y的協(xié)方差,C1、C2、C3為常數(shù),為了避免分母為零的情況。

2.4 實(shí)驗(yàn)參數(shù)選取

在SGM算法的參數(shù)中,有3個關(guān)鍵參數(shù)對視差生成效果有很大影響,即SADNowSize、NumDisparities和UniquenessRatio。

(1)SADNowSize(SWS):計(jì)算成本步驟中SAD窗口的大小SW應(yīng)該是奇數(shù),一般在范圍(3,11)內(nèi)。

(2)NumDisparities(NDis):視差窗口,即最大和最小視差值之間的差值,必須是16的整數(shù)倍。

(3)UniquenessRatio(UniR):主要是為了防止不匹配,這個參數(shù)對最終的匹配結(jié)果有很大的影響。在立體匹配中,如果存在不匹配,遇到障礙物檢測應(yīng)用程序?qū)⒎浅B闊?。此參?shù)不能為負(fù),可在范圍(5,15)內(nèi)獲得。

因此,我們將重點(diǎn)分析SWS、NDis和UniR的參數(shù),以選擇最佳算法參數(shù)。利用MSSIM與RMSE對視差圖進(jìn)行了評估。首先,在程序中,我們設(shè)置參數(shù)的初始值,然后調(diào)整其中一個參數(shù)(保持其他參數(shù)不變),使值變化最大。同樣,我們調(diào)整其他參數(shù)以使其達(dá)到最佳狀態(tài),最后選擇所有最佳參數(shù)。設(shè)置參數(shù)的初始值:SWS=5、NDis=64和UniR=10。我們僅以teddy的視差圖為例,圖3是配重參數(shù)SWS=5和UniR=10時。更改NDis值時Teddy視差圖所對應(yīng)的MSSIM與RMSE的評價指標(biāo),NDis的值范圍為:(16~112)。

圖3 相對于Ndis的teddy變化(SWS=5,UniR=10)

從圖3可以看出,當(dāng)Ndis=16、32、48時,teddy的視差圖中的RMSE值在不斷的下降,MSSIM值在不斷的提高,視差圖在隨著Ndis值的增大精度在不斷地提高,當(dāng)Ndis=80、96、112時,teddy的視差圖中的RMSE值在不斷的上升,MSSIM值在不斷的下降,視差圖在隨著Ndis值的增大精度在降低,由此看見,當(dāng)Ndis=64時,teddy的圖像匹配效果與真實(shí)視差最接近,此時的匹配效果最好。

圖4是配重參數(shù)Ndis=64和UniR=10時。更改SWS值時Teddy視差圖所對應(yīng)的MSSIM與RMSE的評價指標(biāo)。

從圖4可以看出。當(dāng)SWS=3、5、7、9、11時,teddy的視差圖中的RMSE值在不斷的上升,MSSIM值在不斷的下降,由此可見當(dāng)SWS增大時視差誤差越大,但是視差圖的相似性越大。為平衡二者的優(yōu)劣,本文取SWS=5。

圖5是配重參數(shù)Ndis=64和SWS=5時。更改UniR值時Teddy視差圖所對應(yīng)的MSSIM與RMSE的評價指標(biāo)。

從圖5可以看出,當(dāng)參數(shù)UniR改變時,teddy的圖像匹配效果沒有顯著變化。為了評估生成的teddy視差圖像的全局精度,平衡二者的優(yōu)劣,本文取UniR=12。結(jié)果表明,組合(Ndis=64,SWS=5,UniR=12)產(chǎn)生的結(jié)果最準(zhǔn)確。

3 實(shí)驗(yàn)結(jié)果及分析

為了驗(yàn)證本文提出的視差圖像優(yōu)化算法的性能,進(jìn)行3組實(shí)驗(yàn)。分別選用teddy、Books、Dolls、Cloth進(jìn)行實(shí)驗(yàn)驗(yàn)證,該實(shí)驗(yàn)的目的是通過評價指標(biāo)定量評估算法性能;本文算法的代碼通過PyCharm Community Edition 2021.3.2中OpenCV庫實(shí)現(xiàn),在配備Intel(R) Core(TM) i5-10400F 2.90 GHz的CPU以16GB內(nèi)存的計(jì)算機(jī)上運(yùn)行。

3.1 實(shí)驗(yàn)結(jié)果

在Middlebury立體匹配數(shù)據(jù)集中選取teddy、Books、Dolls、Cloth場景,參考以上實(shí)驗(yàn)中的主要參數(shù)取值,用原始SGM算法與本文改進(jìn)SGM算法分別進(jìn)行實(shí)驗(yàn),得到結(jié)果如圖6所示。

圖6 teddy、Books、Dolls、Cloth的立體匹配結(jié)果

圖7 改進(jìn)前后RMSE、PSNR、MSSIM指標(biāo)平均值變化曲線

通過與傳統(tǒng)SGM算法所生成的視差圖比較,本文所提的泛洪算法對視差圖的遮擋區(qū)域有很好的填充效果,如圖6c所示。中值平滑可以剔除對視差圖中的噪點(diǎn),從而進(jìn)一步改善視差圖,如圖6d所示。

3.2 結(jié)果分析

為了進(jìn)一步驗(yàn)證本文改進(jìn)的SGM算法的優(yōu)越性,利用均方根誤差(RMSE)、峰值信噪比(PSNR)、結(jié)構(gòu)相似性(MSSIM)評價方法對實(shí)驗(yàn)結(jié)果進(jìn)行量化評價。從而對本文所改進(jìn)的SGM算法進(jìn)行量化分析。定量評價結(jié)果如表1所示,其中b列是傳統(tǒng)SGM算法得到視差圖的量化評價,c列為在SGM算法的基礎(chǔ)上引入泛洪填充算法所得到視差圖的量化評價,d列為在c列的基礎(chǔ)上再對視差圖進(jìn)行中值平滑處理所得到視差圖的量化評價。

表1 基于Middlebury數(shù)據(jù)集部分圖像匹配量化指標(biāo)

通過對表1中的量化指標(biāo)分析可以看出,所提改進(jìn)SGM算法增加了泛洪填充算法與中值平滑算法的方法,僅在SGM算法中加入泛洪填充算法,RMSE指標(biāo)平均值下降1.66,PSNR指標(biāo)平均值上升4.64;MSSIM指標(biāo)平均值上升8.25%,由于改進(jìn)后的視差圖是根據(jù)空洞邊緣的視差值來決定空洞的視差值填充,對于丟失的部分可以得到有效的補(bǔ)充,使得改進(jìn)后的算法所生成的視差圖準(zhǔn)確度得到提升。在后處理階段加入中值平滑后,RMSE指標(biāo)平均值下降0.17;PSNR指標(biāo)平均值上升0.42;MSSIM指標(biāo)平均值上升0.75%,中值平滑可以很好的去除視差中的噪點(diǎn),從而提高視差的精確度。通過對3項(xiàng)指標(biāo)的量化分析可以看出,改進(jìn)后的SGM算法,RMSE指標(biāo)平均值下降1.83;PSNR指標(biāo)平均值上升5.06;MSSIM指標(biāo)平均值上升9.00%。與傳統(tǒng)SGM算法相比較之下,本文改進(jìn)的SGM算法在立體匹配中性能有較高的提升。

4 結(jié)論

本文提出一種在SGM算法基礎(chǔ)上引入泛洪填充算法以及中值平滑。在視差后處理階段采用泛洪填充算法對圖像匹配中遮擋區(qū)域以及視差不連續(xù)區(qū)域中空洞進(jìn)行填充,先是對空洞邊緣的信息進(jìn)行選取,然后基于空洞的邊緣信息進(jìn)行空洞填充,不僅很好的保留圖像的邊緣信息,而且對視差圖的空洞很好的進(jìn)行填充,接著再對圖像進(jìn)行中值平滑處理,對視差圖中的噪點(diǎn)進(jìn)行剔除。與傳統(tǒng)SGM算法相比本文所改進(jìn)的立體匹配準(zhǔn)確度提高了9.00%。

猜你喜歡
立體匹配視差代價
基于自適應(yīng)窗的立體相機(jī)視差圖優(yōu)化方法研究
基于梯度域引導(dǎo)濾波的視差精煉迭代算法
愛的代價
影像立體匹配中的凸優(yōu)化理論研究
基于互補(bǔ)不變特征的傾斜影像高精度立體匹配
代價
基于分割樹的視差圖修復(fù)算法研究
改進(jìn)導(dǎo)向?yàn)V波器立體匹配算法
立體視差對瞳孔直徑影響的研究
成熟的代價