歐永東,謝小鵬
(華南理工大學機械與汽車工程學院,廣東 廣州 510640)
近年來,人工智能發(fā)展迅猛,機器視覺又是其中的一大焦點領域。對于機器視覺來說,立體匹配是機器視覺的基礎和研究熱點之一,是通過匹配雙目或多目圖像中的對應點進而獲得場景深度信息的過程,在軌跡規(guī)劃、虛擬現實以及三維重建等領域得到了廣泛應用[1]。Scharstein等[2]曾闡述了立體匹配的主要過程,一般可分為4個階段,即初始代價匹配、代價聚合、視差計算和視差優(yōu)化。依據匹配范圍的大小,現有立體匹配算法可概括為全局立體匹配和局部立體匹配。全局立體匹配算法的準確率較高,但是計算有著復雜度高、耗時長的弊端;局部立體匹配算法雖然運算速度快,便于實現,但匹配準確率還不夠高。
全局立體匹配算法主要有動態(tài)規(guī)劃DP(Dynamic Programming)[3]、置信度傳播BP(Belief Propagation)[4]以及圖割法GC(Graph-Cut)[5]等算法,其優(yōu)勢在于能達到較高的定位精度,但是由于其計算復雜度高,往往不能滿足實時視覺系統(tǒng)的要求,因而大多數的視覺系統(tǒng)都傾向于采用運算速度快的局部立體匹配算法。而對于局部立體匹配算法,初始匹配代價的計算作為匹配算法的第一步有著舉足輕重的作用。在初始匹配代價計算階段,應用最多最廣的3種匹配代價為:計算復雜度低的絕對差值和SAD(Sum of Absolute Differences)、截斷絕對差值和STAD(Sum of Truncated Absolute Differences)以及相對計算較復雜的差值平方和SSD(Sum of Squared Differences)。此外,另有基于梯度信息GBM(Gradient Based Measure)、歸一化互相關NCC(Normalized Cross Correlation)的匹配代價。其中,SAD和 SSD 對光照強度的均勻性和噪聲較敏感;GBM則建立在圖像的梯度差異上,對圖像的邊緣信息有很好的保留作用,但依舊對噪聲和光照變化敏感。Census變換因對光照具有良好的抗干擾性,得到了廣泛的應用,并在此基礎上衍生出了一系列優(yōu)質算法。竇燕等[6]總結出了反色均值化的非參數Census匹配算法;彭俊新等[7]通過剔除異常值進一步改進Census變換,提高了算法匹配準確率。
以上傳統(tǒng)方法所采用的均為單一匹配代價,近年來的研究表明,單獨運用一種匹配代價往往不能得到高精度的視差圖,匹配精度仍有待提高。為了克服單一匹配代價的缺陷,近年來不少學者都紛紛采用復合代價作為初始匹配代價。王云峰等[8]指出AD代價與Census代價相結合能獲得更好的匹配精度,提出了一種自適應權重的AD-Census匹配算法;鄒進貴等[9]探索出了一種自適應權重SAD與Census融合的匹配算法;而在文獻[10]的立體匹配算法中,在初始匹配代價階段融合了Census與主梯度信息,進一步提高了匹配精度。
對于局部匹配算法來說,其核心就在于初始匹配代價的計算和代價聚合算法,為了更進一步取得高精度的視差圖,本文主要針對這2個階段進行改進,由此提出了一種基于改進Census變換的多特性立體匹配算法。首先,在初始代價計算時,將改進Census變換、色彩測度和梯度信息進行賦權計算,取得高可靠性的初始匹配代價;其次,在代價聚合階段,本文利用快速最小生成樹算法進行代價聚合;然后,依據勝者為王WTA(Winner Take All)法則來確定初始視差;最后是視差優(yōu)化,經由左右一致性檢測策略減少誤匹配點,提高遮擋點視差精度,最終得到精細化的視差圖。
據Scharstein等[2]所歸納綜合的視差圖獲取順序,以下將依照初始匹配代價計算、代價聚合、初始視差獲取和視差優(yōu)化4個步驟進行闡明。
2.1.1 改進的Census變換
經典的Census變換在整幅圖像中依次以某一像素p為中心參考點,構建一個小范圍的局部窗口,將窗口內的像素灰度值順次與中心像素p進行數值比較,將灰度值大于p的記為1,小于p的記為0,獲得一個以p像素為中心的二進制數字串。轉換公式為:
(1)
其中,p為中央參考像素,q為p的鄰近像素,I(p)、I(q)分別為p、q的灰度值。由轉換判別式(1)可得到相應的二進制比特串,變換連接式如下所示:
(2)
其中,CT(p)為經Census轉變后的比特串,?表示將轉變位按位鄰接,Np表示p的窗口變換域。
經上述2步即可將一定窗口大小的原始像素轉換為一定位數的比特串。詳細流程如圖1所示,這里示意的是3*3窗口的Census變換。
Figure 1 Census transform process圖1 Census變換過程
由上述過程可知,傳統(tǒng)的Census變換主要依賴于中心像素,極易受到外界的噪聲干擾,抗干擾能力弱。Chang等[11]提出用變換窗口內的所有像素灰度值的均值替代中心像素,作為參考變換值的算法MCT(Modified Census Transform),提高了初始匹配代價的可靠性,但未能充分考慮各個鄰域像素與參考像素的其他特征關系。祝世平等[12]在MCT的基礎上考慮了噪聲容限的變換效應,增添了噪聲容限的R-MCT(Revised Modified Census Transform)算法,進一步改善了單像素匹配的抗干擾能力,但依舊未能充分考慮各個鄰域像素與中心像素的特征關系。
針對上述算法存在的問題,本文提出為每個鄰域像素賦予一定的權重,然后求和得到參考像素值。具體計算公式如下所示:
(3)
wpq=exp(-(rs2+cs2)/(2·v))
(4)
其中,Ipm為p加權后的參考像素值,wpq為各個鄰域像素的權重,W為窗口內所有權重之和,rs、cs分別為中心像素p與像素q的橫向、縱向距離,v為空間控制參數。
當視差為d時,2個像素之間的漢明距離為:
HD(p,d)=hamming(CTL(p),CTR(p,d))
(5)
其中,CTL、CTR各為左右圖像經Census變換后的比特串矩陣。CTL(p)為左圖像中像素p的比特串,CTR(p,d)為右圖像在左圖像相應位置的像素p偏移d距離后的比特串值,即若左圖像中像素p坐標為(x,y),則右圖像中的(p,d)坐標為(x+d,y)。依此,改進后的Census變換的匹配代價為:
CT(p,d)=1-exp(-HD(p,d)/λc)
(6)
其中,λc為Census代價控制參數。
2.1.2 色彩信息
Census變換僅僅只考慮了圖像的灰度信息,為了進一步提高單像素的匹配度,本文將圖像的三通道R、G、B的顏色信息加入匹配代價計算。其匹配代價為:
(7)
其中,Ccolor(p,d)是像素p在視差為d時的顏色匹配代價,IML、IMR分別為左右圖像在M通道的像素值矩陣,IML(p)為左圖像在M通道的p的像素值,IMR(p,d)為右圖像相應位置的p偏移d距離后的M通道的像素值,Tcolor為截斷閾值。
2.1.3 梯度信息
梯度信息能有效地保留圖像的邊緣信息,對改善深度不連續(xù)區(qū)域的匹配準確性有較好的效果。而傳統(tǒng)的梯度信息代價通常只是將x、y方向的梯度進行絕對值求和或平方求和,沒有考慮兩者的權重關系。本文將梯度信息引入,并給予一定的權重,使得邊緣像素能更好地凸顯邊緣的偏向。單一的梯度信息的匹配代價為:
(8)
2.1.4 多特性匹配代價
單一特性的匹配代價往往匹配精度不高,故本文將上述改進Census變換、顏色信息、梯度信息進行融合,形成可靠性高的初始匹配代價。加權交融后的初始匹配代價計算如下所示:
C(p,d)=μ1CT(p,d)+
μ2Ccolor(p,d)+μ3CG(p,d)
(9)
其中,μ1,μ2,μ3代表對應特性的權重值,C(p,d)表示像素p在視差為d時的初始匹配代價。
由圖2可以看出,僅僅使用一種匹配代價所得的視差圖比較粗糙,邊緣保持性較差,而本文算法所得的視差圖整體更為平滑,在深度不連續(xù)區(qū)域的匹配精度更高。故而,本文的多特性匹配算法具有更高的匹配精度,適應性更強。
Figure 2 Comparison of disparity maps obtained from a single matching cost with the algorithm in this paper圖2 單一匹配代價與本文算法所得的視差圖對比
經上述初始匹配代價計算后,得到的只是單一像素的匹配代價,并沒有考慮相鄰像素的作用。單一匹配獲得的視差并不可靠,往往會因遭到噪聲干擾而出現莫大的誤匹配點。代價聚合便是將相鄰像素的初始匹配代價依照一定的方法聚合計算,取得高匹配度的匹配代價,使得2點之間的匹配可靠性更高。代價聚合階段應用廣泛的典型方法有盒子濾波、引導濾波[13]等。這些聚合方法大部分是只在支持窗口內進行聚合,只考慮了窗口內像素匹配代價的相互作用,而徹底忽視了窗口外的像素信息。
本文采用最小生成樹的聚合方法,將聚合代價擴展至整幅圖像,更全面、有效地利用圖像的整體信息,提高匹配代價聚合精度。詳細的做法是:首先把待匹配圖像I用無向圖G(V,E)表示,V是圖像像素節(jié)點,E是節(jié)點的毗連邊,其權重為:
w(m,n)=w(n,m)=|I(m)-I(n)|
(10)
其中,I(m)、I(n)為圖像中連接節(jié)點m、n的灰度像素值。這2個節(jié)點之間的最小生成樹經由Kruskal算法或prim算法來優(yōu)化,進而算出2個節(jié)點之間的最小連接方式,即最小生成樹。所得最小連接中,內部節(jié)點p、q之間的親近程度是2個節(jié)點之間的連接邊的權重之和,記為D(p,q)。則p、q之間的相近度為:
(11)
其中,σ為調節(jié)相似度常數。故對于像素p,聚合后的匹配代價為:
(12)
最后在不同尺度下分別對匹配代價圖進行代價聚合。文獻 [14]描述了其類似的具體實施步驟,最終的聚合代價為:
(13)
本文采用勝者為王策略(WTA)選取視差,即選取匹配代價圖中最小匹配代價對應的視差作為該點的視差,其公式為:
(14)
其中,dend代表最小匹配代價下確定的最優(yōu)視差值,dmax表示視差搜索區(qū)間的最大值,pn表示當前像素。
因獲得的初始視差圖必然會存在遮擋點和誤匹配點,對其進行優(yōu)化也是提高精度的重要一步。這里采納左右一致性檢測策略減少誤匹配點,具體做法為:憑借左右2幅待匹配輸入圖像,分別獲得左右2幅視差圖。對左圖中的一個像素psr,求得的視差值是dL,那么psr在右圖中的理論對應點坐標應該是(psr-dL),其視差值記作dR,若:
dL-dR≤thresh
(15)
則斷定psr為誤匹配點,需要重新確定視差值;閾值thresh通常取1。
(16)
其中,dcor為修正后的視差值。
本節(jié)在VS2013下C++軟件平臺上對所提算法進行實驗驗證。實驗的計算機硬件配置為64位Windows10家庭中文版,Intel(R) core(TM) i5-9300H的CPU處理器,運行內存為8 GB。實驗所用到的標準圖像匹配對Tsukuba、Venus、Teddy、Cones來源于學術界公認的Middlebury測試平臺。4組標準圖像的視差搜索范圍為:[0,15],[0,19],[0,59],[0,59]。初始匹配代價所用的窗口大小為55,實驗中所用參數{v,λc,w1,w2,μ1,μ2,μ3}={0.7121,35,0.9,0.1,0.11,0.89,1}。
為了驗證匹配代價的有效性,本文選取了傳統(tǒng)算法[1]、自適應權重算法[9]、SAD+IGMCT[15]、RinCensus[16]、AdpDP[17]、三測度融合的算法[18],對4組源自Middlebury測試平臺的標準圖像對進行測試,將所得結果與本文算法的結果進行對比分析。這里通過非遮擋區(qū)域與所有區(qū)域的誤匹配率來對比算法的優(yōu)劣,結果如表1和表2所示。
由表1和表2結果可知,本文算法未經過視差優(yōu)化時的非遮擋區(qū)域平均誤匹配率為3.43%,全部區(qū)域的平均誤匹配率為5.56%,相比其他算法具有更高的匹配代價可靠性。圖3為實驗所得的視差圖與標準視差圖的對比示意。
Table 1 Percentage of false match in nooccluded region of different matching cost algorithms表1 非遮擋區(qū)域不同匹配代價計算方法誤匹配率 %
Table 2 Percentage of false match in all regions of different matching cost algorithms表2 所有區(qū)域不同匹配代價計算方法誤匹配率 %
Figure 3 Comparison of the disparity map obtained by the algorithm with the standard disparity map圖3 本文算法所得視差圖與標準視差圖的對比
為了更全面地驗證本文算法的可靠性,本文還選取了Middlebury3.0平臺的15組測試數據集進行實驗,對比非遮擋區(qū)域的誤匹配率來驗證算法的好壞。圖4所示是Recycle圖像對的實驗結果,其中圖4b為標準的視差圖,圖4c為本文算法所得的視差圖,接近真實的視差圖,最終所得的誤差匹配率低于4%,相比其他對比算法更為優(yōu)良,性能得到了提升。最終的所有實驗結果如表3和表4所示。
Figure 4 Disparity maps of Recycle圖4 Recycle圖像對的視差圖
表3和表4結果表明,本文算法在15組測試數據集上的平均誤匹配率最低,僅為6.81%。實驗測試圖像中的Jadeplant圖像對最高誤匹配率高達54.2%,而本文算法僅為11.3%,相比降低了42.9%,極大地提高了匹配的準確性。
本文提出了一種基于Census變換的多特性立體匹配算法,以變換窗口內的加權均值為Census變換的中心參考值,增強了Census變換的抗干擾能力;并且將色彩測度與梯度測度加權融合進初始匹配代價中,進一步提高了初始匹配代價中2點單一匹配的可靠性。進而,在聚合階段用最小生成樹算法分別在不同分辨率尺度下進行代價聚合,充分考慮了圖像的細節(jié)信息,使得視差不連續(xù)及弱紋理區(qū)域的誤匹配率進一步降低。驗證時,把本文算法與相關算法進行對比,結果表明本文算法的匹配精度相較其他算法更高。但是,從算法所得的視差圖中可以看出,本文算法在細節(jié)區(qū)域中的匹配精度仍有待提高,今后將在這方面進行更深入的研究。
Table 3 Average disparity errors of non-occlusion pixels表3 不同算法非遮擋像素點的視差平均誤差比較
Table 4 Average disparity errors of all pixels表4 不同算法全部像素點的視差平均誤差比較