朱丙麗 高曉琴 阮玲英
1(重慶三峽學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院 重慶 404100)
2(四川工商職業(yè)技術(shù)學(xué)院信息工程系 四川 都江堰 611830)
圖像深度估計(jì)是計(jì)算機(jī)視覺中的一個(gè)基本問題,在該領(lǐng)域中有著廣泛的應(yīng)用。深度信息是理解場(chǎng)景中幾何關(guān)系的重要線索,具有顏色和深度通道的RGBD圖像可以應(yīng)用于多種任務(wù),如三維模型重構(gòu)[1-2]、場(chǎng)景識(shí)別[3-4]和人體姿態(tài)估計(jì)[5]等。
深度估計(jì)通常是使用多幅或單幅圖像預(yù)測(cè)場(chǎng)景深度圖的過程。當(dāng)使用多幅圖像預(yù)測(cè)深度圖時(shí),通常采用運(yùn)動(dòng)序列圖像進(jìn)行預(yù)測(cè)[6-7],其得到的深度圖可以用于理解相對(duì)豐富的三維結(jié)構(gòu)信息。相比之下,從單幅圖像估計(jì)深度更具挑戰(zhàn)性。這是因?yàn)樵谑褂脝畏鶊D時(shí),無法將立體圖像和時(shí)間幀進(jìn)行相互匹配。
越來越多的方法嘗試對(duì)單幅圖像進(jìn)行深度估計(jì),大致可以分為兩大類:基于學(xué)習(xí)的方法和交互式方法。一些傳統(tǒng)的基于學(xué)習(xí)的方法將深度估計(jì)表述為一個(gè)馬爾可夫隨機(jī)場(chǎng)學(xué)習(xí)問題。Saxena等[8]使用線性回歸和馬爾可夫隨機(jī)場(chǎng)從一組圖像特征預(yù)測(cè)深度。Liu等[9]提出了一種考慮相鄰超像素之間關(guān)系的離散連續(xù)條件隨機(jī)場(chǎng)模型,實(shí)現(xiàn)了深度估計(jì)與語義分割的強(qiáng)相關(guān)性,利用預(yù)測(cè)的語義標(biāo)簽,通過對(duì)類和幾何先驗(yàn)深度的強(qiáng)化引導(dǎo)三維信息重建。
目前基于學(xué)習(xí)的方法大多依賴于深度學(xué)習(xí)的應(yīng)用,其中深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的使用最為普遍。Eigen等[10]設(shè)計(jì)了一個(gè)全局粗尺度深度CNN,直接從輸入圖像返回一個(gè)粗略的深度圖,然后訓(xùn)練一個(gè)局部精細(xì)網(wǎng)絡(luò)進(jìn)行局部?jī)?yōu)化。Liu等[11]通過探究CNN和離散連續(xù)條件隨機(jī)場(chǎng)提出了一種深度估計(jì)的深度卷積神經(jīng)場(chǎng)模型。在統(tǒng)一的深度CNN框架下,共同學(xué)習(xí)離散連續(xù)條件隨機(jī)場(chǎng)的一元?jiǎng)莺统蓪?duì)勢(shì)。Wang等[12],與傳統(tǒng)的基于學(xué)習(xí)的方法一樣,使用CNN聯(lián)合預(yù)測(cè)由像素深度值和語義標(biāo)簽組成的全局布局,通過深度和語義信息的交互提高性能。
為了通過單幅圖像進(jìn)行深度估計(jì),本文提出了一種基于多通道卷積神經(jīng)網(wǎng)絡(luò)的單圖像深度估計(jì)算法。首先,為了提取信息更多的CNN中間層特征,對(duì)ResNet[13]的框架進(jìn)行了改進(jìn);然后對(duì)輸入圖像進(jìn)行各種比例的裁剪來生成多個(gè)深度圖候選對(duì)象,并將這些深度圖候選對(duì)象映射合并為一個(gè)深度映射候選對(duì)象;最后,通過傅里葉反變換生成最終估計(jì)深度圖。
ResNet-152是一個(gè)非常深的網(wǎng)絡(luò),包括151個(gè)卷積層和1個(gè)全連接層。如圖1所示,原始的ResNet-152包含50個(gè)BC。為了提取信息更多的中間層特征,對(duì)BC進(jìn)行了改進(jìn)。BC,C′表示修改后的塊,其中:C是輸出特征圖中的通道數(shù),C′為特征映射中通過附加路徑提取的通道數(shù)。在這里,中間特征映射從BC的最后一個(gè)ReLU層提取得到。
圖1 原始?jí)K和修改塊的結(jié)構(gòu)圖
在訓(xùn)練階段,為了提升訓(xùn)練速度和提高深度估計(jì)的性能,本文采用雙階段訓(xùn)練方法。在第一階段,使用ResNet-152的原始結(jié)構(gòu)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。然后從ResNet-152參數(shù)開始,對(duì)圖像分類任務(wù)進(jìn)行預(yù)訓(xùn)練,并使用訓(xùn)練圖像及其實(shí)際深度圖對(duì)其進(jìn)行微調(diào)。在第二階段,使用第一階段的參數(shù)開始訓(xùn)練,用高斯隨機(jī)值初始化附加特征提取部分的參數(shù)。
在回歸問題中,經(jīng)常使用歐幾里得損失:
(1)
(2)
為了克服這個(gè)問題,本文提出一種新的損失,稱為深度平衡歐幾里得(DBE)損失:
(3)
式中:g是平衡的二次函數(shù)。
(4)
然后可得:
(5)
基于上文提出的深度估計(jì)網(wǎng)絡(luò)結(jié)構(gòu),使用DBE損失進(jìn)行訓(xùn)練,可以將輸入圖像生成多個(gè)深度圖候選對(duì)象。圖2說明了生成深度映射候選對(duì)象的過程。首先,將輸入圖像分別裁剪到四個(gè)角,裁剪比r定義為裁剪后的圖像與整個(gè)圖像的大小比。其次,通過CNN對(duì)每個(gè)裁剪后的圖像進(jìn)行處理,得到相應(yīng)的深度圖。最后,將這四個(gè)部分估計(jì)的深度映射合并為一個(gè)深度映射候選對(duì)象。
圖2 多通道卷積神經(jīng)網(wǎng)絡(luò)中深度圖候選對(duì)象的生成過程
在合并過程中,所有深度值都應(yīng)該按1/r的倍數(shù)進(jìn)行縮放,以補(bǔ)償裁剪后的圖像中物體看起來更近的縮放效果??s放后,將部分深度圖轉(zhuǎn)換到它們的位置,然后疊加,對(duì)重疊區(qū)域的疊加進(jìn)行平均。
由于CNN參數(shù)不對(duì)稱,翻轉(zhuǎn)后的圖像不會(huì)產(chǎn)生翻轉(zhuǎn)后的深度圖。因此,本文水平翻轉(zhuǎn)輸入圖像,獲得裁剪比r的深度映射候選對(duì)象,并翻轉(zhuǎn)深度映射候選對(duì)象。
(6)
式中:u和v是水平和垂直頻率。
(7)
(8)
(9)
這可以使用Tk的偽逆運(yùn)算來解決:
wk=TK+tk
(10)
本文對(duì)所有k重復(fù)這個(gè)過程以確定所有的權(quán)值和偏置參數(shù)。
本文使用NYUv2深度數(shù)據(jù)集[1],其中包含大約280 000幅訓(xùn)練圖像。為了訓(xùn)練所提出的CNN,本文使用比例、旋轉(zhuǎn)、顏色和水平翻轉(zhuǎn)變換來執(zhí)行數(shù)據(jù)增強(qiáng)。NYUv2數(shù)據(jù)集還提供654幅單獨(dú)的測(cè)試圖像。如上文所述,這里采用雙階段訓(xùn)練法。在第一階段,使用預(yù)先訓(xùn)練的ResNet-152網(wǎng)絡(luò)初始化參數(shù),再進(jìn)行50萬次迭代訓(xùn)練,區(qū)域塊大小為4,學(xué)習(xí)率為0.000 16。在第二階段中,將現(xiàn)有部分的學(xué)習(xí)率降低10-3倍,對(duì)于附加的特征提取部分,將學(xué)習(xí)速率設(shè)置為0.000 16,塊大小也設(shè)為4。
對(duì)于每幅圖像,本文生成9個(gè)具有裁剪率r∈{0.60,0.65,…,1.00}的深度圖候選對(duì)象,并且為每個(gè)裁剪率使用翻轉(zhuǎn)候選對(duì)象。因此,最終可得到18個(gè)候選對(duì)象。
這里使用了三個(gè)性能指標(biāo)[14]來進(jìn)行結(jié)果對(duì)比,分別為RMSE、Rel和δ δ 本文基于ResNet-152提出了改進(jìn)的深度估算網(wǎng)絡(luò)(DEN),然后提出了改進(jìn)的深度平衡歐幾里得(DBE)損失函數(shù),最后提出了基于傅里葉聯(lián)合算法(FDC)。 為了較好地對(duì)比本文的算法效果,分別使用ResNet-152、DEN、DEN+DBE和本文算法對(duì)輸入圖像進(jìn)行深度估計(jì)。深度估計(jì)結(jié)果如圖3所示。 (a) 輸入圖像 (b) ResNet-152 (c) DEN (d) DEN+DBE (e) 本文算法 (f) 實(shí)際深度圖 為量化對(duì)比分析圖3的深度估計(jì)結(jié)果,分別使用RMSE、Rel、δ<1.25指標(biāo)對(duì)圖3(b)~(e)進(jìn)行計(jì)算,結(jié)果如表1所示。觀察表中數(shù)據(jù)可發(fā)現(xiàn),對(duì)網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)優(yōu)化了深度估計(jì)結(jié)果,例如RMSE從0.588(ResNet-152的值)提高到0.577(DEN的值)。同理,DBE和FDC均優(yōu)化了深度估計(jì)結(jié)果。因此本文完整算法的最終指標(biāo)為最佳值,如表1中粗體字所示。 表1 本文算法的指標(biāo)結(jié)果 將本文算法與最近提出的先進(jìn)算法進(jìn)行比較,結(jié)果如圖4所示。與其他算法相比,本文算法能夠準(zhǔn)確、可靠地估計(jì)深度信息,減少模糊偽像。通過對(duì)比表2中的指標(biāo)結(jié)果,同樣可發(fā)現(xiàn),本文算法的質(zhì)量指標(biāo)最佳、效果最好。 (a) 輸入圖像 (b) 實(shí)際深度圖 (c) 文獻(xiàn)[15] (d) 文獻(xiàn)[14] (e) 文獻(xiàn)[16] (f) 本文算法 表2 與其他算法比較的指標(biāo)結(jié)果 本文提出了一種基于多通道卷積神經(jīng)網(wǎng)絡(luò)的單圖像深度估計(jì)算法,該算法生成多個(gè)深度映射候選對(duì)象,并將這些候選對(duì)象組合到傅里葉頻域。具體來說,本文開發(fā)了基于ResNet-152的CNN結(jié)構(gòu),并引入了DBE損失對(duì)網(wǎng)絡(luò)進(jìn)行深度訓(xùn)練。此外,本文通過裁剪具有不同裁剪比例的輸入圖像來生成多個(gè)深度圖候選對(duì)象。為了利用不同深度映射候選函數(shù)的互補(bǔ)性質(zhì),在傅里葉域中對(duì)它們進(jìn)行了組合。實(shí)驗(yàn)結(jié)果表明,該算法取得了較好的效果。2.3 實(shí)驗(yàn)結(jié)果
3 結(jié) 語