范聰聰,葛寶瑧,范怡萍
(天津大學 精密儀器與光電子工程學院,天津 300072)
近年來,基于卷積神經(jīng)網(wǎng)絡(luò)[1]的立體匹配算法[2-4]越來越受到關(guān)注,其中,MCCNN網(wǎng)絡(luò)(matching cost convolutioal neural network)[2]是用于立體匹配的典型方法。使用MCCNN網(wǎng)絡(luò)必須利用訓練集來訓練模型中的參數(shù),利用測試集來評估立體匹配性能,訓練數(shù)據(jù)和測試數(shù)據(jù)需要滿足獨立同分布原理[5],即訓練數(shù)據(jù)和測試數(shù)據(jù)分布要有一定的相似性,相似性越高,匹配結(jié)果越好。因此在MCCNN的實際應(yīng)用中,需要根據(jù)待匹配圖像的特點,合理選擇訓練數(shù)據(jù)集,以達到較好的匹配結(jié)果。在雙目數(shù)據(jù)集的選擇上,Su等[6]選擇包含真實的背景紋理和變化的光照的數(shù)據(jù)集,Lee等[7]通過定性實驗,選擇不同的數(shù)據(jù)集共同訓練,Mayer團隊[8]選擇對攝像機畸變進行建模的合成數(shù)據(jù)集。上述研究通過定性實驗得到選擇數(shù)據(jù)集的方法,但如何通過定量的標準為待匹配圖像選擇合適的訓練集是一個值得研究的問題。
針對MCCNN立體匹配數(shù)據(jù)集定量選擇的問題,本文提出了一種基于相關(guān)性比較、余弦相似性和結(jié)構(gòu)相似性加權(quán)度量的選擇方法,在網(wǎng)絡(luò)訓練前先使用這3個相似性標準的加權(quán)值衡量待匹配圖像與目前公開訓練集的相似性,以及訓練集本身的相似性,選擇相似性最高的對應(yīng)數(shù)據(jù)集進行訓練,最后實驗結(jié)果表明,通過該相似性標準選擇與待匹配圖像相似性高的數(shù)據(jù)集訓練MCCNN網(wǎng)絡(luò)進行立體匹配,相比常用的BM(block matching)[9]、SSD(sum of squared differences)[10]、NCC(normalized cross correlation)[11]、BP(belief propagation)[12]等4種立體匹配方法得到的視差圖更準確。
MCCNN的基本原理是通過卷積神經(jīng)網(wǎng)絡(luò)分別提取左右圖像塊的特征,獲得特征向量,再利用特征向量構(gòu)造損失函數(shù),進行網(wǎng)絡(luò)訓練。網(wǎng)絡(luò)訓練完成后,利用訓練好的模型對輸入圖像對進行立體匹配時,整個流程如圖1所示。
圖1 MCCNN立體匹配流程
網(wǎng)絡(luò)經(jīng)過連續(xù)的卷積層提取輸入左右圖像對的特征,并在卷積層除最后一層外接ReLU激活函數(shù), ReLU(x)=max(0,x) 式中x為提取的圖像特征,將兩個分支網(wǎng)絡(luò)提取的特征圖經(jīng)過歸一化和點積后,輸出兩個圖像對的相似度,取相似度的負值作為初始化的匹配代價。然后通過基于交叉的代價聚合和半全局匹配算法后,利用“贏者通吃”策略(winner take all,WTA)找到使匹配代價最小的視差值作為該像素的視差值,從而生成初始的視差圖,最后經(jīng)過一致性檢測、亞像素增強、中值濾波等進一步優(yōu)化,生成最終的視差圖。
目前,常見用于訓練的雙目立體視覺數(shù)據(jù)集見表1,其中N代表自然數(shù)據(jù)集,S代表合成數(shù)據(jù)集。自然數(shù)據(jù)集是用相機等采集裝置拍攝的真實場景的圖片,合成數(shù)據(jù)集是使用三維建模軟件渲染生成的虛擬場景的圖片。自然數(shù)據(jù)集是Middlebury[13]、Kitti[14]、Eth3d[15]和Cityscapes[16]。合成數(shù)據(jù)集是Sintel[17]、Flyingthings3D、Mookaa和Dri-ving[18],下面對這些數(shù)據(jù)集進行簡單的介紹。
表1 雙目立體視覺數(shù)據(jù)集基本特性
Middlebury數(shù)據(jù)集最早于2001年創(chuàng)建,均是在窒內(nèi)通過控制不同的光照條件拍攝而得,示例如圖2(a)所示,被廣泛應(yīng)用于計算機視覺領(lǐng)域,多用于算法的評估。Kitti數(shù)據(jù)集在2012年創(chuàng)建并在2015年進行了擴充,采用車載雙目攝像頭在街道行駛并拍攝真實道路場景,示例如圖2(b)所示,是目前最常用的自動駕駛場景下的算法評測數(shù)據(jù)集。Cityscapes數(shù)據(jù)集是Cordts等在2016年創(chuàng)建的城市景觀數(shù)據(jù)集,示例如圖2(c)所示,和Kitti類似采用車載相機錄制了50個不同城市大量多樣的街道場景視頻序列。Eth3d數(shù)據(jù)集是Thomas等使用單反相機及具有不同視場的同步多相機裝置拍攝的圖像對,示例如圖2(d)所示,包括各種室內(nèi)、室外場景的多視圖和二視圖高分辨圖像對。
近年來合成數(shù)據(jù)集得到了較快發(fā)展,Butler等通過開源動畫電影中的現(xiàn)有數(shù)據(jù),在三維建模軟件blender中進行渲染提供了一個合成數(shù)據(jù)集Sintel,示例如圖2(e)所示,包含了一些逼真的場景,例如霧氣和運動模糊。Mayer等同樣利用開源的3D軟件構(gòu)建了SceneFlow數(shù)據(jù)集,其中包括3個子集,F(xiàn)lyingthings3d、Monkaa和Driving,示例如圖2(f)~圖2(h)所示,F(xiàn)lyingthings3d數(shù)據(jù)集采用隨機導入網(wǎng)絡(luò)模型并為模型附上紋理,之后將模型沿著3D軌跡飛行,最后進行渲染采集。Mookaa數(shù)據(jù)集是利用一段開源的動畫電影,選取關(guān)鍵幀并進行隨機的更改。Driving數(shù)據(jù)集采取導入逼真的汽車、路燈和樹木模型并進行渲染采集。3個數(shù)據(jù)集共計34 799對圖像,極大地解決了數(shù)據(jù)集不足的問題,是目前規(guī)模最大的雙目數(shù)據(jù)集。
圖2 數(shù)據(jù)集示例
針對不同的圖像特征指標和計算原理,可以分為基于概率[19-21]、幾何特征[22-24]以及語義特征[25]的3類圖像相似性度量方法。
基于概率的相似性度量方法是根據(jù)圖像像素值的概率分布,對圖像的直方圖進行比較,幾種常用的比較方法有:
(1)巴氏距離[19](Bhattacharyya distance)
(1)
(2)相關(guān)性比較[20](Correlation)
(2)
(3)卡方比較[21](Chi-Square)
(3)
基于幾何特征的相似性度量方法主要有距離相似度[22]、方向相似度[23]以及形狀相似度[24]等指標。距離相似度指標主要是計算圖形特征之間的距離,通過距離的大小衡量相似性程度,主要有歐氏距離、曼哈頓距離等,距離相似度計算比較簡單往往需要和其它指標綜合使用。方向相似度主要是計算圖像之間的角度差,代表為余弦相似性,如式(4)所示,通過測量兩張圖片向量夾角的余弦值來度量它們之間的相似性大小。向量夾角越小,則余弦值越接近1,方向更加吻合,兩張圖片越相似
(4)
式中:xi、yi為要比較的兩張圖像在i位置處的像素灰度值,n為像素總數(shù)。形狀相似度指標有面積比、重疊面積比、周長比、形狀比率等,某一特征指標V(如面積、周長等)的相似度計算如式(5)所示,形狀相似度指標范圍為(0,1),當兩張圖像分布越相似時,形狀相似度指標越接近于1
(5)
基于語義特征的相似性度量表現(xiàn)在圖像的像素間存在著很強的相關(guān)性,這些相關(guān)性在視覺場景中攜帶著關(guān)于物體結(jié)構(gòu)的重要信息。主要由結(jié)構(gòu)相似性(structural simila-rity,SSIM)[25]來衡量,結(jié)構(gòu)相似性用圖像均值作為亮度的估計,標準差作為對比度的估計,協(xié)方差作為結(jié)構(gòu)相似度的估計。給定兩張圖像x和y,其結(jié)構(gòu)相似性可按照式(6)求出
(6)
在進行相似度計算時一般會選取多個相似性指標進行綜合計算。因此根據(jù)計算量和應(yīng)用程度選取了基于概率的相關(guān)性比較、基于幾何特征的余弦相似性比較和基于語義特征的結(jié)構(gòu)相似性比較,這3種相似性度量標準的取值范圍都為(0,1),且均為兩張圖像越相似時,值越近于1。用這3種相似性度量標準計算測試集與訓練集的互相似性以及訓練集本身的自相似性值。
互相似性以圖3(a)、圖3(b)所示為例,是指待匹配圖像Kitti與訓練集Middlebury圖像數(shù)據(jù)分布的相似性;自相似性以圖3(c)、圖3(d)所示為例,是指訓練集Middlebury內(nèi)部不同圖像數(shù)據(jù)之間的相似性。
圖3 相似性示例
計算的方法主要有總分法[26]和加權(quán)法[27]。總分法將選取的各個相似度指標的和作為相似度值,而加權(quán)法考慮了不同指標對綜合相似度值的不同影響,使用比較廣泛,故采用加權(quán)法進行綜合計算,一般加權(quán)法所采用的權(quán)重系數(shù)靠經(jīng)驗決定,主觀性較大,因此在本文中采用實驗的方法確定加權(quán)系數(shù)。
加權(quán)系數(shù)確定流程如圖4所示,整個過程描述如下。
圖4 加權(quán)系數(shù)確定流程
(1)先將第2節(jié)介紹的8種數(shù)據(jù)集依次在MC-CNN網(wǎng)絡(luò)上訓練得到8種網(wǎng)絡(luò)模型,將測試數(shù)據(jù)依次在這8種模型上匹配得到視差圖。視差圖的評價標準采用平均誤匹配率,誤差容限閾值取3像素,即計算得到的視差圖與視差真值相差大于3個像素時,認為是錯誤匹配點。這樣得到在測試集上每種模型的平均誤匹配率,結(jié)果見表2。
(3)按不同的加權(quán)系數(shù)分別計算出測試集與訓練集的互相似性和訓練集本身的自相似性值,并將兩者的值相加,即加權(quán)相似性范圍為(0,2)。
表2 各類數(shù)據(jù)集測試平均誤匹配率/%
(7)
(5)計算下一加權(quán)系數(shù)組合下的正確率,直到計算完成全部4356種不同加權(quán)系數(shù)組合下的正確率。
(6)選擇正確率最高時對應(yīng)的加權(quán)系數(shù)組合。
表3 加權(quán)系數(shù)組合情況
將表3中不同加權(quán)系數(shù)的組合情況與在不同情況下的正確率繪制散點圖,如圖5所示。同時還計算了當只考慮自相似性和只考慮互相似性時的正確率,繪制這兩種情況下加權(quán)系數(shù)的組合與在不同組合下正確率的散點圖,如圖6、圖7所示。
圖5 綜合互相似性和自相似性時的正確率
圖6 只考慮自相似性時的正確率
圖7 只考慮互相似性時的正確率
表4 不同情況下符合相似性越高、 平均誤匹配率越低的正確率/%
按得到的權(quán)重系數(shù)對測試集與訓練集的互相似性和訓練集本身的自相似性進行加權(quán),加權(quán)結(jié)果見表5,為直觀表達在這一權(quán)重系數(shù)下,相似性和平均誤匹配率的關(guān)系,將表2和表5中的數(shù)據(jù)繪制散點圖如圖8所示,其中圖8的橫坐標為表5中測試集與訓練集的加權(quán)相似性值,縱坐標為表2中測試集的平均誤匹配率。由于在這一權(quán)重系數(shù)下,符合相似性越高,平均誤匹配率率越低這一關(guān)系的正確率為90%,所以出現(xiàn)了少部分異常點,但整體上隨著相似性的增加,平均誤匹配率呈下降趨勢,加權(quán)相似性最高時,匹配結(jié)果最好。
表5 測試集和訓練集的加權(quán)相似度
圖8 相似性與匹配平均錯誤率的關(guān)系
為了對加權(quán)相似性度量方法的有效性進行驗證,進行了二組實驗。實驗一,選擇InStereo2K[28]數(shù)據(jù)集數(shù)據(jù)進行實驗,如圖9(a)、圖9(b)所示的InStereo2K數(shù)據(jù)集中的兩組圖片作為待匹配數(shù)據(jù),為其進行訓練集的選擇。實驗二,以兩組實際拍攝圖像對作為待匹配數(shù)據(jù)進行實驗。實拍圖像是使用兩臺佳能5D MARKIII單反相機與兩支佳能EF 600 mm f/4L IS USM鏡頭進行采圖,將采集的圖像對進行立體校正,如圖9(c)、圖9(d)所示為經(jīng)過立體校正后的兩組左右圖像對。
視差圖的質(zhì)量是所提訓練集選擇方法性能的直接反映,評價標準采用比較不同數(shù)據(jù)集訓練匹配得到的視差值與標準視差值相差大于3個像素的平均誤匹配率,但由于實拍圖像沒有標準視差圖,本文先由SGM[29]算法計算得到參考視差圖,圖9中圖(a3)、圖(b3)為InStereo2K兩組圖片的標準視差圖,圖(c3)、圖(d3)為實拍圖像經(jīng)過SGM算法計算得到的參考視差圖。
首先按3.3節(jié)得到的3個相似性標準的加權(quán)系數(shù),計算圖9(a)~圖9(d)這4組圖片數(shù)據(jù)與8種公開訓練集的互相似性,以及各訓練集的自相似性,加權(quán)相似性結(jié)果見表6,從表中可以看出,InStereo2K兩組圖片與Cityscapes數(shù)據(jù)集的加權(quán)相似性最高,實拍圖像1與Flying-things3d數(shù)據(jù)集加權(quán)相似性最高,實拍圖像2與Mookaa數(shù)據(jù)集加權(quán)相似性最高。
為實驗圖片選擇加權(quán)相似度最高的數(shù)據(jù)集進行訓練匹配,為了進行對比,同時選擇相似性較低的數(shù)據(jù)集進行訓練匹配,圖9(a4)~圖9(d4)分別表示對InStereo2k圖片和實拍圖像使用加權(quán)相似性較高的數(shù)據(jù)集訓練匹配得到的視差圖,圖9(a5)~圖9(d5)表示采用加權(quán)相似性較低的數(shù)據(jù)集訓練匹配得到的視差圖。在圖中標注了與標準視差圖相比得到的平均誤匹配率,數(shù)值越低表示匹配結(jié)果越好。
從圖9中看到,采用相似性較低的數(shù)據(jù)集得到的視差圖相比標準視差圖有很多錯誤匹配點,效果不是特別理想,而采用加權(quán)相似性較高的數(shù)據(jù)集得到的視差圖更為平滑,也均比采用相似性較低的數(shù)據(jù)集訓練得到視差圖的平均誤匹配率低。
圖9 視差圖結(jié)果對比
表6 實驗圖片與訓練集的加權(quán)相似性
實驗說明在本文選擇的相似性標準的加權(quán)系數(shù)下,實驗圖片與訓練集的加權(quán)相似性和平均誤匹配率符合相似性越高,平均誤匹配率越小這一關(guān)系,選擇相似性較高的對應(yīng)數(shù)據(jù)集訓練可以提高視差圖的準確率。
為了進一步評價所提方法的立體匹配效果,選擇了BM(block matching)[9]、SSD(sum of squared differences)[10]、NCC(normalized cross correlation)[11]、BP(belief propagation)[12]這4種常用的匹配方法進行對比實驗,實驗在Windows 10系統(tǒng)上進行,使用處理器Intel(R) Core(TM) i7-8700,3.2 GHz,內(nèi)存8 GB。使用Python語言+Opencv庫,輸入圖像與圖9的實驗一樣,實驗結(jié)果見表7和表8,表7中給出了5種匹配方法對相同的4組輸入圖像的視差圖平均誤匹配率,表8為運行時間。從表7中可以看出,相比于其它對比方法,使用所提方法選擇的數(shù)據(jù)集去訓練MCCNN網(wǎng)絡(luò)進行立體匹配,得到的視差圖平均誤匹配率低于其它對比方法。同時,從表8的運行時間來看,所提方法的運行時間比BM算法長,而比其它方法都短,因此,綜合平均誤匹配率和運行時間,特別是更多場合需要匹配精度高、誤匹配率低,本文方法的平均誤匹配率比BM算法低近一倍,因此,根據(jù)所提加權(quán)相似性選擇訓練集方法訓練MCCNN網(wǎng)絡(luò)進行立體匹配,其效果是顯著的。
表7 不同算法的平均誤匹配率/%
表8 不同算法的運行時間/s