廖斌 李浩文
摘 要:針對(duì)在傳統(tǒng)機(jī)器學(xué)習(xí)方法下單幅圖像深度估計(jì)效果差、深度值獲取不準(zhǔn)確的問題,提出了一種基于多孔卷積神經(jīng)網(wǎng)絡(luò)(ACNN)的深度估計(jì)模型。首先,利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)逐層提取原始圖像的特征圖;其次,利用多孔卷積結(jié)構(gòu),將原始圖像中的空間信息與提取到的底層圖像特征相互融合,得到初始深度圖;最后,將初始深度圖送入條件隨機(jī)場(chǎng)(CRF),聯(lián)合圖像的像素空間位置、灰度及其梯度信息對(duì)所得深度圖進(jìn)行優(yōu)化處理,得到最終深度圖。在客觀數(shù)據(jù)集上完成了模型可用性驗(yàn)證及誤差估計(jì),實(shí)驗(yàn)結(jié)果表明,該算法獲得了更低的誤差值和更高的準(zhǔn)確率,均方根誤差(RMSE)比基于機(jī)器學(xué)習(xí)的算法平均降低了30.86%,而準(zhǔn)確率比基于深度學(xué)習(xí)的算法提高了14.5%,所提算法在誤差數(shù)據(jù)和視覺效果方面都有較大提升,表明該模型能夠在圖像深度估計(jì)中獲得更好的效果。
關(guān)鍵詞:多孔卷積;卷積神經(jīng)網(wǎng)絡(luò);條件隨機(jī)場(chǎng);深度估計(jì);深度學(xué)習(xí)
中圖分類號(hào): TP391.413
文獻(xiàn)標(biāo)志碼:A
Abstract: Focusing on the issues of poor depth estimation and inaccurate depth value acquisition under traditional machine learning methods, a depth estimation model based on Atrous Convolutional Neural Network (ACNN) was proposed. Firstly, the feature map of original image was extracted layer by layer using Convolutional Neural Network (CNN). Secondly, with the atrous convolution structure, the spatial information in original image and the extracted feature map were fused to obtain initial depth map. Finally, the Conditional Random Field (CRF) with combining three constraints, pixel spatial position, grayscale and gradient information were used to optimize initial depth map and obtain final depth map. The model usability verification and error estimation were completed on objective data set. The experimental results show that the proposed algorithm obtains lower error value and higher accuracy. The Root Mean Square Error (RMS) is averagely reduced by 30.86% compared with machine learning based algorithm, and the accuracy is improved by 14.5% compared with deep learning based algorithm. The proposed algorithm has a significant improvement in error reduction and visual effect, indicating that the model can obtain better results in image depth estimation.
Key words: atrous convolution; Convolutional Neural Network (CNN); Conditional Random Field (CRF); depth estimation; deep learning
0 引言
圖像中包含的深度信息能夠廣泛運(yùn)用于與圖像處理相關(guān)的計(jì)算機(jī)視覺應(yīng)用場(chǎng)景,在現(xiàn)實(shí)生活中具有十分重要的意義,提取圖像中的深度信息有利于在三維空間上幫助計(jì)算機(jī)理解現(xiàn)實(shí)場(chǎng)景,而不僅僅是在二維平面的圖像維度上進(jìn)行感知。在此之前,已經(jīng)有許多科研人員對(duì)單幅圖像的深度估計(jì)及其應(yīng)用進(jìn)行了研究[1-2],包括目標(biāo)檢測(cè)[3]、目標(biāo)跟蹤[4]、自動(dòng)駕駛[5]等技術(shù)的實(shí)現(xiàn),但是存在準(zhǔn)確度較低的問題。能夠準(zhǔn)確地獲取圖像的深度信息,既是從二維平面理解三維空間的必要條件,也是未來計(jì)算機(jī)視覺技術(shù)發(fā)展的重要基礎(chǔ)[6-7]。
受Chen等[8]對(duì)圖像語義分割的相關(guān)研究的啟發(fā),本文將多孔卷積運(yùn)算引入卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)[9-10],構(gòu)建了多孔卷積神經(jīng)網(wǎng)絡(luò)(Atrous Convolutional Neural Network, ACNN)模型。該模型能夠在底層特征的基礎(chǔ)上,加入原始圖像中的空間位置信息,使深度圖中包含更多的細(xì)節(jié)特征。在求解網(wǎng)絡(luò)參數(shù)的過程中,本文引入相對(duì)熵近似計(jì)算,降低了計(jì)算復(fù)雜度。在條件隨機(jī)場(chǎng)中加入三個(gè)高斯項(xiàng),分別從像素的位置、灰度以及梯度三個(gè)方面對(duì)深度圖在像素級(jí)別上進(jìn)行優(yōu)化,從而得到了更好的估計(jì)結(jié)果。在已有的圖像深度估計(jì)的方法[11-15]中,與Karsch等[13]
引用至文獻(xiàn)10之后,就引用了文獻(xiàn)13、15,文獻(xiàn)11、12、14未引用,這不符合規(guī)范,需按照順序進(jìn)行引用。鑒于調(diào)整順序修改工作量較大(因后面的圖形、表格中引用了文獻(xiàn)13、15),所以此處的修改,建議增加文獻(xiàn)11、12、14的引用文字(適當(dāng)增加幾句即可),這樣就符合引用規(guī)范了。
提出的基于機(jī)器學(xué)習(xí)的方法以及Liu等[15]提出的基于深度學(xué)習(xí)的方法相比,本文的方法在誤差分析中獲得了與圖像真實(shí)深度值相差最小的誤差值和最高的準(zhǔn)確率,并且在視覺觀察中更接近于圖像真實(shí)深度圖給出的效果。
1 相關(guān)工作
目前已有的深度信息獲取方法主要有兩種:一種是利用硬件設(shè)備直接獲取,如微軟公司的Kinect相機(jī)能提供室內(nèi)小范圍場(chǎng)景的深度信息數(shù)據(jù),激光測(cè)距儀可以提供室外場(chǎng)景的深度數(shù)據(jù),但是其價(jià)格較為昂貴。
另一種是利用對(duì)同一場(chǎng)景拍攝的單幅或者多幅圖像進(jìn)行深度估計(jì)。在已有的圖像深度估計(jì)方法中,基于深度線索的方法如Battiato等[11]利用線性透視這一深度線索進(jìn)行場(chǎng)景深度估計(jì),并將室內(nèi)與室外場(chǎng)景分別處理,該方法的缺點(diǎn)在于所估計(jì)的場(chǎng)景中必須要有可用于透視的規(guī)則幾何物體,具有一定的局限性;Chang等[12]結(jié)合物體的運(yùn)動(dòng)與相互遮擋關(guān)系這兩種深度線索進(jìn)行深度估計(jì),該方法需要場(chǎng)景中存在運(yùn)動(dòng)的物體,否則就無法使用。基于機(jī)器學(xué)習(xí)的方法如Karsch等[13]在2014年提出了使用最鄰近搜索(k-Nearest Neighbors, k-NN)的方法從數(shù)據(jù)庫(kù)中選取候選圖像,進(jìn)行前景與背景信息融合,從而獲得測(cè)試圖像的深度圖。該方法需要對(duì)數(shù)據(jù)庫(kù)中所有數(shù)據(jù)進(jìn)行分析計(jì)算,計(jì)算量大,深度估計(jì)效率低,并且受到數(shù)據(jù)庫(kù)完善性的局限。基于深度學(xué)習(xí)的方法如Eigen等[14]在2014年提出了使用卷積神經(jīng)網(wǎng)絡(luò)的深度估計(jì)方法,該方法提出了多尺度的CNN模型,在以AlexNet作為粗尺度網(wǎng)絡(luò)的基礎(chǔ)上,增加了細(xì)尺度優(yōu)化網(wǎng)絡(luò)進(jìn)行圖像的深度估計(jì)。由于該方法利用神經(jīng)網(wǎng)絡(luò)主動(dòng)地學(xué)習(xí)提取圖像深層特征,并結(jié)合原始圖像進(jìn)一步優(yōu)化,所以獲得了不錯(cuò)的深度估計(jì)效果。Liu等[15]使用深度學(xué)習(xí)模型與概率圖模型有效結(jié)合的策略,將CNN與條件隨機(jī)場(chǎng)(Conditional Random Field, CRF)結(jié)合使用,完成了端到端的訓(xùn)練,獲得了較好的單目圖像深度估計(jì)結(jié)果。
2 多孔卷積神經(jīng)網(wǎng)絡(luò)
本文將卷積神經(jīng)網(wǎng)絡(luò)與條件隨機(jī)場(chǎng)相結(jié)合,并在此基礎(chǔ)上引入多孔卷積結(jié)構(gòu),提出了多孔卷積神經(jīng)網(wǎng)絡(luò)(ACNN)圖像深度估計(jì)模型,其中神經(jīng)網(wǎng)絡(luò)具有優(yōu)越的特征提取和學(xué)習(xí)能力,能夠從大量樣本數(shù)據(jù)中獲取一系列的特征圖用于后續(xù)處理,可以將其視為一個(gè)回歸函數(shù)。條件隨機(jī)場(chǎng)是一種概率無向圖模型,屬于判別式模型,能夠建立局部與全局的關(guān)系。本章中將重點(diǎn)介紹模型的結(jié)構(gòu)及訓(xùn)練與預(yù)測(cè)過程。
2.1 模型概述
在一幅圖像輸入到CNN之前,利用提升小波變換閾值算法對(duì)其進(jìn)行增強(qiáng)處理,目的在于減少圖像中存在的噪聲信號(hào),并改善圖像質(zhì)量。增強(qiáng)過程首先將二維圖像I按奇偶性分裂為兩個(gè)子集合Ie、Io;其次以Ie對(duì)Io進(jìn)行預(yù)測(cè),預(yù)測(cè)誤差為D(i, j)=Io-F(Ie),其中F(·)為預(yù)測(cè)算子,在選定的預(yù)測(cè)因子作用下,便能夠由預(yù)測(cè)誤差及Ie完全恢復(fù)出Io;再進(jìn)行子集合數(shù)據(jù)的更新,使其與原始的圖像數(shù)據(jù)具有相同的特征,即Ie=Ie+U(D(i, j)),表示將更新后的Ie值放入變量Ie中,其中U(·)為更新算子;最后可以對(duì)變換后的子集合進(jìn)行重構(gòu)。本文通過自適應(yīng)的預(yù)測(cè)算子與更新算子獲取圖像中的高頻信息和低頻信息,對(duì)高頻系數(shù)采用半軟閾值去噪算法去除圖像中包含的噪聲信息,該處理方法有效地保持了圖像的平滑性,又不會(huì)導(dǎo)致圖像邊緣模糊,與其他閾值去噪方法相比能夠更好地去除圖像中的混合噪聲,保持圖像特征完整性,至此完成了圖像的預(yù)處理工作[16]。
在本文所提出深度估計(jì)模型的CNN部分中,以視覺幾何組16層網(wǎng)絡(luò)(Visual Geometry Group 16, VGG16)[17]為基礎(chǔ),如圖1所示,保留原始VGG16網(wǎng)絡(luò)的第1個(gè)到第12個(gè)卷積層,在第12個(gè)卷積層輸出512維的特征圖之后,去掉原網(wǎng)絡(luò)中最后的全連接層,將其卷積化為卷積核大小為1×1的卷積層,使得最后生成一個(gè)通道數(shù)為1的特征圖。網(wǎng)絡(luò)的輸出結(jié)果由此轉(zhuǎn)換為一個(gè)二維的特征圖,即圖1中所示的輸出1,而不是原網(wǎng)絡(luò)結(jié)構(gòu)中輸出的一維特征向量。神經(jīng)網(wǎng)絡(luò)中的5個(gè)卷積塊最后分別各包含1個(gè)池化層,池化操作采用最大池化的方式,在隱藏層中用ReLU函數(shù)[18]進(jìn)行非線性激活,在最后一個(gè)卷積層中采用DropOut的訓(xùn)練方法防止模型過擬合。
為了融合更多的細(xì)節(jié)信息,使得輸出的深度圖更加精確,模型中將CNN輸出的結(jié)果輸出1通過連接層與第二個(gè)池化層輸出的特征圖進(jìn)行融合,此時(shí)特征圖的大小僅為原始圖像大小的1/4,需要經(jīng)過上采樣得到與原始圖像1/2大小相同的特征圖,這里使用反卷積操作進(jìn)行上采樣,得到特征圖輸出2。將上采樣后的特征圖繼續(xù)與第一個(gè)池化層輸出的結(jié)果進(jìn)行融合,再進(jìn)行上采樣操作,獲取到與原始輸入圖像大小相同的特征圖輸出3。兩次融合過程使得輸出結(jié)果輸出3中包含了大量的圖像細(xì)節(jié)特征。
在此基礎(chǔ)上,引入多孔卷積結(jié)構(gòu),多孔卷積能夠通過改變卷積核擴(kuò)張率的大小得到不同大小的卷積視野,將原始圖像中的局部信息融合到由神經(jīng)網(wǎng)絡(luò)提取的特征圖中,從而進(jìn)一步豐富了圖像的細(xì)節(jié)信息。其中,多孔卷積的優(yōu)點(diǎn)在于能夠使網(wǎng)絡(luò)不增加參數(shù)、圖像不損失分辨率的條件下,獲取更大的感受野,對(duì)比一般的卷積運(yùn)算,多孔卷積運(yùn)算可以從圖像中獲得更多的局部位置信息,常被應(yīng)用于圖像分割中提取圖像中物體的相對(duì)位置信息。
從圖2中一般卷積運(yùn)算與多孔卷積運(yùn)算的結(jié)果對(duì)比可以看出,普通3×3大小的卷積核的感受野是3×3的大小;但是擴(kuò)張率為2的多孔卷積運(yùn)算的感受野擴(kuò)大為7×7,擴(kuò)張率為3的多孔卷積運(yùn)算的感受野增大到9×9,盡管它們的卷積核大小還是3×3。在本文提出的模型中,使用了一個(gè)包含3個(gè)不同卷積核,擴(kuò)張率分別為6、12、18的多孔卷積模型,從原始圖像中分割提取出空間位置信息,并通過連接層將輸出結(jié)果融合在一起。
將融合后的特征圖輸入到條件隨機(jī)場(chǎng)中,經(jīng)過隨機(jī)場(chǎng)的優(yōu)化,最終生成原始圖像的深度圖,網(wǎng)絡(luò)模型中ACNN輸出的結(jié)果如圖3所示,圖中地面區(qū)域由遠(yuǎn)及近、建筑物區(qū)域由近及遠(yuǎn)顏色逐漸加深,可以看出多孔卷積結(jié)構(gòu)以及底層特征的引入能夠有效地提取到深度信息,同時(shí)能夠保留物體的空間結(jié)構(gòu)信息。
對(duì)于深度估計(jì)模型中所示的用于優(yōu)化處理的條件隨機(jī)場(chǎng),定義I表示單幅圖像,可以看作是定義在{I1,I2,…,In}上的隨機(jī)場(chǎng),D為在以該圖像為條件下的隨機(jī)場(chǎng)深度圖,可以看作是定義在{D1,D2,…,Dn}上的隨機(jī)場(chǎng),其中Di表示像素點(diǎn)i處在隨機(jī)場(chǎng)中對(duì)應(yīng)的深度值,是一個(gè)非負(fù)的實(shí)數(shù),且取值連續(xù),則條件隨機(jī)場(chǎng)(I,D)服從條件概率分布:
其中Z為規(guī)范化因子,定義為:
E(D,I)為能量函數(shù),由一元?jiǎng)莺瘮?shù)S和二元?jiǎng)莺瘮?shù)T構(gòu)成,表示為:
其中:N表示單幅圖像中所有像素的集合;i是集合N中的任意一個(gè)像素點(diǎn);i、 j是集合N中空間位置相鄰的兩個(gè)像素點(diǎn)。其中一元項(xiàng)表示回歸得到的像素點(diǎn)深度,一元?jiǎng)莺瘮?shù)S描述了CNN輸出估計(jì)得到的深度值與真實(shí)值之間的平方誤差,其表達(dá)式為:
其中:di(W)為CNN輸出得到的像素i處的深度值;W為網(wǎng)絡(luò)參數(shù)。
二元項(xiàng)能夠使空間上相鄰的像素獲得近似的深度值,勢(shì)函數(shù)T描述了像素點(diǎn)i、 j在深度值為Di、Dj時(shí)圖像相對(duì)空間結(jié)構(gòu)的損失,其公式如下:
其中:包含三個(gè)高斯核函數(shù),分別記作Gα1、Gα2和Gα3。第一項(xiàng)Gα1核函數(shù)的作用是使得位置相鄰的像素i、 j有相似的深度;第二項(xiàng)Gα2核函數(shù)中函數(shù)g(·)描述了某一像素點(diǎn)處的灰度值,該函數(shù)項(xiàng)的作用是使得顏色相近的像素具有相近的深度;第三項(xiàng)Gα3核函數(shù)描述了像素點(diǎn)灰度的梯度,其作用在于更好地反映某一像素鄰域上的灰度分布;α1、α2、α3是從訓(xùn)練中學(xué)習(xí)到的參數(shù)。
2.2 模型訓(xùn)練與預(yù)測(cè)
使用負(fù)對(duì)數(shù)似然函數(shù)作為網(wǎng)絡(luò)模型的損失函數(shù),其中對(duì)數(shù)函數(shù)以e為底,定義為:
網(wǎng)絡(luò)模型的訓(xùn)練過程是獲取參數(shù)ξ=(W,α)并將損失函數(shù)最小化的過程,即可得:
本文使用隨機(jī)梯度下降算法求得模型參數(shù)。二元?jiǎng)莺瘮?shù)的權(quán)重α應(yīng)當(dāng)為正實(shí)數(shù)以保證模型可用,于是可作變換α=exp(β)以確保正實(shí)數(shù)這一約束條件。對(duì)損失函數(shù)L(ξ)求導(dǎo)可得:
由于能量函數(shù)E(D,I,ξ)的形式較為簡(jiǎn)單,且與ξ線性相關(guān)的此處不通順,是否應(yīng)該為“線相關(guān)”或“線性相關(guān)”?請(qǐng)明確,所以能量函數(shù)求導(dǎo)部分的計(jì)算過程相對(duì)簡(jiǎn)單,后一部分的求導(dǎo)過程為:
由于要計(jì)算條件隨機(jī)場(chǎng)P(D|I),其計(jì)算的復(fù)雜度為O(n3)[19]。為了降低計(jì)算復(fù)雜度,根據(jù)相對(duì)熵理論,構(gòu)建條件概率分布Q(D|I)來近似估計(jì)條件隨機(jī)場(chǎng)P(D|I)的概率分布,Q與P的近似程度可以用相對(duì)熵的大小DKL來衡量,當(dāng)DKL(Q‖P)取得最小值的時(shí)候,可認(rèn)為得到了待求隨機(jī)場(chǎng)P(D|I)的最佳近似值,這種計(jì)算方法有利于降低計(jì)算的復(fù)雜度。于是可得:
式(15)中,可將∑j≠iGα μj高斯核與期望的卷積運(yùn)算,由于一般高斯濾波的計(jì)算復(fù)雜度為O(n2),為了再次降低計(jì)算復(fù)雜度,采用快速高維高斯濾波算法[20]對(duì)計(jì)算復(fù)雜度進(jìn)行降維,使得高斯濾波的計(jì)算復(fù)雜度降低到O(d2n),其中d為高斯核中特征向量的維度,并可以得到最終的計(jì)算復(fù)雜度為O(md2n)。該方法用近似計(jì)算的方式降低了計(jì)算復(fù)雜度,能夠有效地加快模型的訓(xùn)練和預(yù)測(cè)過程。
3 實(shí)驗(yàn)結(jié)果及分析
在本章中,詳細(xì)介紹了所提方法的實(shí)驗(yàn)過程及數(shù)據(jù)分析,并在Make3D及NYU v2[21]這兩個(gè)標(biāo)準(zhǔn)數(shù)據(jù)集上將本文方法與目前常見的兩類經(jīng)典方法進(jìn)行了對(duì)比:一類是傳統(tǒng)的方法,如Karsch等[22]基于最鄰近算法的圖像深度估計(jì)方法,Saxena等[23]基于監(jiān)督學(xué)習(xí)的方法,Liu等[24]基于非參數(shù)學(xué)習(xí)的方法;另一類是基于深度學(xué)習(xí)的方法,如Liu等[15]、Eigen等[14]提出的基于神經(jīng)網(wǎng)絡(luò)的圖像深度估計(jì)方法。由于兩種類型的方法都常用來處理單目圖像深度估計(jì)問題,都是具有代表性的主流方法,所以本文主要與這兩類方法進(jìn)行圖像深度估計(jì)的效果對(duì)比,以驗(yàn)證本文方法的可行性。
3.1 實(shí)驗(yàn)設(shè)置
本文的實(shí)驗(yàn)過程在一臺(tái)配有Intel core i5處理器、NVIDIA GTX 1060顯卡和8GB內(nèi)存的電腦上完成,使用Matlab 2017a版本以及MatConvNet工具包作為軟件環(huán)境。
實(shí)驗(yàn)過程中設(shè)置動(dòng)量為0.9,權(quán)值衰減系數(shù)為0.0005,模型訓(xùn)練過程首先訓(xùn)練CNN的參數(shù),學(xué)習(xí)率初始化為0.001,經(jīng)監(jiān)督訓(xùn)練,每次在當(dāng)前學(xué)習(xí)率下?lián)p失曲線不再下降時(shí),便將學(xué)習(xí)率衰減至原來的10%,直至CNN收斂;其次,固定CNN的參數(shù),訓(xùn)練ACNN參數(shù),待網(wǎng)絡(luò)收斂后,對(duì)兩部分網(wǎng)絡(luò)參數(shù)同時(shí)更新直至ACNN收斂;最后,設(shè)置學(xué)習(xí)率為10-8,在已訓(xùn)練好的ACNN上加入CRF層,對(duì)ACNN的參數(shù)W與CRF的參數(shù)α進(jìn)行聯(lián)合優(yōu)化,此時(shí)模型的損失函數(shù)為式(6)。整個(gè)訓(xùn)練過程在Make3D數(shù)據(jù)集上需要大約20h,在NYU v2數(shù)據(jù)集上需要約40h。
本文使用平均相對(duì)誤差Rel、均方根誤差(Root Mean Square Error, RMSE)、對(duì)數(shù)平均誤差(對(duì)數(shù)以10為底,計(jì)算結(jié)果標(biāo)記為lgAle)以及準(zhǔn)確率這四個(gè)常用指標(biāo)來對(duì)深度估計(jì)的結(jié)果進(jìn)行衡量評(píng)價(jià),并且與具有代表性的傳統(tǒng)方法和基于深度學(xué)習(xí)的方法進(jìn)行了對(duì)比。四個(gè)指標(biāo)的計(jì)算表達(dá)式分別如下所示:
3.2 模型評(píng)價(jià)
為了比較ACNN較CNN結(jié)構(gòu)的優(yōu)勢(shì),在圖4和圖5中對(duì)比了未引入多孔卷積結(jié)構(gòu)的CNN深度估計(jì)結(jié)果和引入多孔卷積結(jié)構(gòu)的ACNN深度估計(jì)結(jié)果,其中g(shù)round truth子圖為數(shù)據(jù)集提供的真實(shí)深度圖。
從兩組(圖4~5)對(duì)比中可以看出,多孔卷積結(jié)構(gòu)的引入給模型的深度估計(jì)效果帶來了諸多優(yōu)勢(shì),圖像中物體的邊界被清晰地保留下來,使得某些區(qū)域的深度估計(jì)值發(fā)生重大變化。例如圖4中第一行圖片中的天空、房屋和樹林之間的邊界更加清晰,這可以使獲取的深度圖中避免出現(xiàn)不必要和不準(zhǔn)確的深度估計(jì)區(qū)域。另外,在表1和表2中列出了本文兩個(gè)分解模型與全模型輸出深度圖的誤差數(shù)據(jù)和準(zhǔn)確率數(shù)據(jù),分別為Make3D數(shù)據(jù)庫(kù)和NYU v2數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)果。對(duì)表1和表2中的數(shù)據(jù)分別進(jìn)行分析可以看出,兩個(gè)分解模型,即僅由本文CNN模型輸出估計(jì)深度圖和不包含CRF的ACNN模型輸出的估計(jì)深度圖,以及包含CRF的ACNN全模型輸出的深度圖的誤差結(jié)果對(duì)比中,“ACNN+CRF”全模型經(jīng)實(shí)驗(yàn)得到了最小的誤差數(shù)據(jù),并且ACNN的預(yù)測(cè)結(jié)果中所有誤差均低于CNN預(yù)測(cè)結(jié)果的誤差值,說明了全模型在深度估計(jì)中有更好的表現(xiàn)。
從圖6中可以看出,本文所提出的深度估計(jì)方法能夠準(zhǔn)確地估計(jì)圖像大部分范圍的深度值,并且不會(huì)在物體的邊界處產(chǎn)生劇烈的深度值跳躍。這也從另一個(gè)方面表明,多孔卷積結(jié)構(gòu)的引入提高了模型對(duì)圖像細(xì)節(jié)的保留程度。
3.3 Make3D數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
Make3D數(shù)據(jù)集中提供了400張室外場(chǎng)景的RGB圖像及其對(duì)應(yīng)的深度圖作為訓(xùn)練數(shù)據(jù),還提供了134組用于測(cè)試的圖像—深度對(duì)數(shù)據(jù)。為了解決訓(xùn)練樣本缺乏的問題,實(shí)驗(yàn)中使用多尺度的訓(xùn)練方法[17],先將輸入圖像大小變換為320×240大小,再?gòu)闹薪厝〕龇直媛蕿?4×64、128×128以及192×192的圖像區(qū)域及其對(duì)應(yīng)的深度圖,并將其均調(diào)整為128×128作為輸入數(shù)據(jù),最終產(chǎn)生了20000個(gè)圖像—深度對(duì)用于模型訓(xùn)練。
在Make3D數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表3所示,C1誤差僅計(jì)算了真實(shí)深度值低于70m的圖像區(qū)域,C2誤差將全部圖像區(qū)域用于誤差計(jì)算。本文與文獻(xiàn)[15]和文獻(xiàn)[22-24]的方法進(jìn)行誤差結(jié)果對(duì)比,并將其列在表3中,其中文獻(xiàn)[23]未提供該方法的C1誤差與C2誤差的均方根誤差(RMSE),故未在表中列出,與文獻(xiàn)[15]及文獻(xiàn)[22]方法的深度圖比較結(jié)果如圖7所示,從表3誤差數(shù)據(jù)及圖7深度圖結(jié)果對(duì)比中得出幾點(diǎn)結(jié)論:1)在對(duì)輸入圖像進(jìn)行增強(qiáng)處理之后,CNN的輸出結(jié)果較文獻(xiàn)[15]及文獻(xiàn)[22-24]的誤差結(jié)果有了提升,說明提升小波的閾值降噪處理確實(shí)能夠在去掉噪聲的同時(shí)突出圖像的細(xì)節(jié)特征;2)在多孔卷積結(jié)構(gòu)加入模型訓(xùn)練過程后,神經(jīng)網(wǎng)絡(luò)在誤差對(duì)比中有了更好的表現(xiàn),可以證明多孔卷積神經(jīng)網(wǎng)絡(luò)確實(shí)具有融合原始圖像中空間信息參與模型訓(xùn)練,并提高深度估計(jì)準(zhǔn)確性這一事實(shí);3)在結(jié)合條件隨機(jī)場(chǎng)進(jìn)行聯(lián)合優(yōu)化訓(xùn)練后,融合圖像梯度信息的高斯項(xiàng)可以進(jìn)一步提升深度估計(jì)的準(zhǔn)確性,使本文提出的網(wǎng)絡(luò)模型獲得了最好的深度估計(jì)結(jié)果。
通過比較表3中的誤差數(shù)據(jù),可以看出本文的方法各項(xiàng)指標(biāo)取得較好的成績(jī),C1誤差中的平均相對(duì)誤差、均方根誤差和對(duì)數(shù)平均誤差比文獻(xiàn)[22]分別降低了20.28%、21.09%、15.75%,計(jì)算全部圖像區(qū)域的C2誤差對(duì)比中,本文的誤差結(jié)果比同樣基于深度學(xué)習(xí)方法的文獻(xiàn)[15]分別降低了9.45%、24.28%和17.6%,本文的準(zhǔn)確度超越對(duì)比文獻(xiàn)給出的結(jié)果。
將訓(xùn)練好的模型用于圖像的深度提取,在Make3D數(shù)據(jù)集上任意選取5幅圖像進(jìn)行深度估計(jì),與文獻(xiàn)[15]和文獻(xiàn)[22]所提出方法的深度估計(jì)結(jié)果對(duì)比,二者使用了不同類型的方法處理深度估計(jì)問題,其中文獻(xiàn)[15]采用了深度學(xué)習(xí)算法,使用神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)集進(jìn)行學(xué)習(xí),文獻(xiàn)[22]采用機(jī)器學(xué)習(xí)方法,使用K最鄰近算法從圖像—深度對(duì)數(shù)據(jù)中計(jì)算選出候選深度圖,估計(jì)精確度受到數(shù)據(jù)集圖像的限制。對(duì)比結(jié)果如圖7所示,并在圖7中的最后一列給出數(shù)據(jù)集提供的真實(shí)深度圖ground truth作為參考標(biāo)準(zhǔn)。圖7中以第四行為例,文獻(xiàn)[22]結(jié)果圖像中左側(cè)的植物區(qū)域中沒有準(zhǔn)確估計(jì),由于沒有空間信息的引入,圖像中的物體沒有被很好地區(qū)分開。與之相比,文獻(xiàn)[15]能夠較好地估計(jì)出圖像深度。本文方法引入ACNN結(jié)構(gòu),能夠較好地將物體的邊界區(qū)分開,可以清晰看出本文結(jié)果中左側(cè)的植物區(qū)域及天空區(qū)域有較清晰的邊界劃分,并且可以將右側(cè)的建筑物深度與左側(cè)植物深度區(qū)分開。
3.4 NYU v2數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
NYU v2數(shù)據(jù)集包含1449個(gè)室內(nèi)場(chǎng)景RGB圖像及其對(duì)應(yīng)的深度圖,其中包含795個(gè)用于訓(xùn)練的圖像深度對(duì),其余654個(gè)圖像深度對(duì)用于模型測(cè)試。本文選取了部分訓(xùn)練集數(shù)據(jù),使用等距離采樣的方法生成了大約15000張圖像,對(duì)這些圖像進(jìn)行旋轉(zhuǎn)變換,尺度變換后,最終產(chǎn)生了大約200k張圖像用于網(wǎng)絡(luò)訓(xùn)練。
NYU v2數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表4所示,其中包含了誤差數(shù)據(jù)和準(zhǔn)確率兩項(xiàng)指標(biāo)。通過結(jié)果對(duì)比,可以看到本文提出的方法在各項(xiàng)指標(biāo)上都取得了更好的結(jié)果。從表4的誤差值及準(zhǔn)確率數(shù)據(jù)中可以看出,在加入圖像預(yù)處理、多孔卷積結(jié)構(gòu)以及條件隨機(jī)場(chǎng)優(yōu)化后,整個(gè)網(wǎng)絡(luò)能夠更好地完成圖像深度估計(jì)任務(wù),相比文獻(xiàn)[13-15]以及文獻(xiàn)[24]的方法,本文所提出的方法的誤差值與對(duì)照方法相比獲得了最低的誤差值和最高的準(zhǔn)確率,與具有最優(yōu)對(duì)照結(jié)果的文獻(xiàn)[15]相比,本文方法的平均相對(duì)誤差、均方根誤差以及對(duì)數(shù)平均誤差分別降低了22.17%、19.3%和29.47%,同時(shí),本文方法的三組準(zhǔn)確率也較文獻(xiàn)[15]分別提升了14.5%、5.4%和1.44%。
在NYU v2數(shù)據(jù)集上任意選取4幅圖像進(jìn)行深度估計(jì),本文方法得到的結(jié)果與文獻(xiàn)[15]方法得到結(jié)果的對(duì)比如圖8所示,可以看出本文方法的準(zhǔn)確度相對(duì)較高,例如第一行臥室的圖像中,本文方法結(jié)果中對(duì)床及其相鄰地面的深度估計(jì)值比文獻(xiàn)[15]方法得到的結(jié)果更接近于真實(shí)深度。同樣,第二行書架圖像中,本文方法對(duì)書架深度的估計(jì)值也比文獻(xiàn)[15]方法得到的結(jié)果更接近于真實(shí)深度值。
從表3和表4的數(shù)據(jù)結(jié)果中可以看出,本文方法的誤差值均低于所有對(duì)比方法給出的誤差值,準(zhǔn)確率也高于所有對(duì)比方法給出的準(zhǔn)確率,取得了最好的深度估計(jì)結(jié)果。在對(duì)Make3D數(shù)據(jù)庫(kù)及NYU v2數(shù)據(jù)庫(kù)的對(duì)比分析中,文獻(xiàn)[22]的方法由于依賴圖像—深度對(duì)數(shù)據(jù)庫(kù),所以獲得的深度圖僅能夠粗略地反映出圖像的深度信息,精度不高。該方法要求對(duì)整個(gè)數(shù)據(jù)庫(kù)進(jìn)行分析和計(jì)算,計(jì)算量大,深度估計(jì)效率低,受數(shù)據(jù)庫(kù)完整性的限制。與之對(duì)比,本文提出的方法不需要任何數(shù)據(jù)先驗(yàn)信息,僅需要圖像數(shù)據(jù)庫(kù)即可獲得更好的估計(jì)結(jié)果,這與卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征提取與學(xué)習(xí)能力密不可分。
與文獻(xiàn)[14]中提出的方法相比,本文在融合CNN網(wǎng)絡(luò)隱藏層特征圖的基礎(chǔ)上,又加入了多孔卷積結(jié)構(gòu),融合了原始圖像中的圖像空間特征,使得特征圖中包含了更充分的底層圖像特征。在文獻(xiàn)[14]方法中,粗尺度網(wǎng)絡(luò)的參數(shù)是固定不變的,并且在網(wǎng)絡(luò)訓(xùn)練收斂之后不再更新。與之相比,首先訓(xùn)練CNN參數(shù),然后是多孔卷積結(jié)構(gòu),最后同時(shí)更新CNN和ACNN的參數(shù),整個(gè)網(wǎng)絡(luò)通過CRF進(jìn)行端對(duì)端訓(xùn)練,該訓(xùn)練過程可以使CNN參數(shù)獲得更好的局部最小值。從表4可以看出,本文方法的網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練過程使得ACNN預(yù)測(cè)結(jié)果優(yōu)于文獻(xiàn)[14]方法的結(jié)果。從圖8所示的深度提取結(jié)果中可以看出,加入CRF后的完整模型對(duì)圖像邊緣作了更好的處理,并且視覺效果更加理想,該模型在深度提取時(shí)能夠產(chǎn)生更好的效果。
與文獻(xiàn)[15]所提出的方法相比,本文的方法在像素級(jí)別上進(jìn)行深度估計(jì),保留了更高的圖像精度,不再需要對(duì)圖像進(jìn)行超像素分割和復(fù)雜的矩陣運(yùn)算,并且加入了多孔卷積結(jié)構(gòu),在融合后的特征圖保留了更多圖像細(xì)節(jié)信息,同時(shí)通過相對(duì)熵理論的近似計(jì)算提高了預(yù)測(cè)計(jì)算效率。本文提出的方法在融合局部特征和全局特征的基礎(chǔ)上,通過CRF進(jìn)行細(xì)節(jié)優(yōu)化,可以看出,在融合以上特征后得到的結(jié)果中同時(shí)展現(xiàn)出更為細(xì)致的整體與細(xì)節(jié)部分的深度估計(jì)結(jié)果;同時(shí)也說明了在引入多孔卷積結(jié)構(gòu)具有擴(kuò)大了感受野又不損失圖像分辨率的作用,能夠準(zhǔn)確地將圖像中的物體分隔開,有效地提取圖像的深度信息。
4 結(jié)語
本文針對(duì)單目圖像的深度估計(jì)問題提出了一種基于多孔卷積神經(jīng)網(wǎng)絡(luò)的單幅圖像深度估計(jì)模型。該模型將多孔卷積結(jié)構(gòu)融合到一個(gè)全連接的VGG16卷積神經(jīng)網(wǎng)絡(luò)中,并通過條件隨機(jī)場(chǎng)完成端到端訓(xùn)練。在模型訓(xùn)練之前,本文采用提升小波閾值去噪算法完成了圖像增強(qiáng)的預(yù)處理工作,使得神經(jīng)網(wǎng)絡(luò)的輸入圖像具有更清晰和易于提取的圖像特征。實(shí)驗(yàn)結(jié)果表明,預(yù)處理后的圖像在深度估計(jì)中可以獲得更好的結(jié)果。通過引入多孔卷積結(jié)構(gòu),原始圖像中的像素空間信息被融入到特征圖中,在條件隨機(jī)場(chǎng)對(duì)像素位置、像素灰度和像素梯度這三個(gè)條件的約束作用下,最終生成的深度圖中物體的邊界更加清晰,這同時(shí)避免了一些易于估計(jì)不準(zhǔn)確區(qū)域出現(xiàn)。模型優(yōu)化過程中使用相對(duì)熵理論來近似計(jì)算,該算法大幅度降低了模型參數(shù)的計(jì)算復(fù)雜度。與文獻(xiàn)[13-15]及文獻(xiàn)[22-24]中提出的基于機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)的方法相比,本文提出的模型在誤差分析中取得了最小誤差,在視覺效果上能夠更清晰地將物體邊緣區(qū)分開,得到更接近于真實(shí)深度的估計(jì)深度圖,但是,在本文所給出的模型中沒有引入數(shù)據(jù)先驗(yàn)項(xiàng),進(jìn)一步可以引入先驗(yàn)約束來增強(qiáng)模型的深度提取能力;其次,可將多孔卷積結(jié)構(gòu)進(jìn)一步擴(kuò)展,加入多孔空間金字塔池化方式,在盡可能多的尺度上使用不同采樣率獲取圖像中的細(xì)節(jié)特征信息,產(chǎn)生準(zhǔn)確度更高的深度估計(jì)結(jié)果。
參考文獻(xiàn) (References)
[1] SAXENA A, CHUNG S H, NG A Y. Learning depth from single monocular images[C]// Proceedings of the 2005 International Conference on Neural Information Processing Systems. Cambridge, MA: MIT Press, 2005:1161-1168.
[2] 胡良梅,姬長(zhǎng)動(dòng),張旭東,等.聚焦性檢測(cè)與彩色信息引導(dǎo)的光場(chǎng)圖像深度提取[J].中國(guó)圖象圖形學(xué)報(bào),2016,21(2):155-164.(HU L M, JI C D, ZHANG X D, et al. Color-guided depth map extraction from light field based on focusness detection[J]. Journal of Image and Graphics, 2016, 21(2):155-164.)
[3] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2016: 770-778.
[4] KRISTAN M, PFLUGFELDER R, MATAS J, et al. The visual object tracking VOT2013 challenge results[C]// Proceedings of the 2013 IEEE International Conference on Computer Vision Workshops. Washington, DC: IEEE Computer Society, 2013:98-111.
[5] SANTANA E, HOTZ G. Learning a driving simulator[J/OL]. ArXiv Preprint, 2016, 2016: 1608.01230[2017-08-03]. https://arxiv.org/abs/1608.01230.
[6] SZELISKI R. Computer vision [J]. Springer-Verlag GmbH, 2010, 12(8):1741-1751.
[7] CHEN C H. Handbook of Pattern Recognition and Computer Vision [M]. Singapore: World Scientific, 1993:697-698.
[8] CHEN L C, PAPANDREOU G, SCHROFF F, et al. Rethinking atrous convolution for semantic image segmentation [J/OL]. ArXiv Preprint, 2017, 2017: 1706.05587[2018-01-17]. https://arxiv.org/abs/1706.05587.
[9] 楊帆,李建平,李鑫,等.基于多任務(wù)深度卷積神經(jīng)網(wǎng)絡(luò)的顯著性對(duì)象檢測(cè)算法[J].計(jì)算機(jī)應(yīng)用,2018,38(1):91-96.(YANG F, LI J P, LI X, et al. Salient object detection algorithm based on multi-task deep convolutional neural network[J]. Journal of Computer Applications, 2018, 38(1): 91-96.)
[10] 孫毅堂,宋慧慧,張開華,等.基于極深卷積神經(jīng)網(wǎng)絡(luò)的人臉超分辨率重建算法[J].計(jì)算機(jī)應(yīng)用,2018,38(4):1141-1145.(SUN Y T, SONG H H, ZHANG K H, et al. Face super-resolution via very deep convolutional neural network[J]. Journal of Computer Applications, 2018, 38(4): 1141-1145.)
[11] BATTIATO S, CURTI S, CASCIA M L, et al. Depth map generation by image classification[C]// Proceedings of the 2004 Three-Dimensional Image Capture and Applications VI. Bellingham, WA: SPIE, 2004:95-104.
[12] CHANG Y L, FANG C Y, DING L F, et al. Depth map generation for 2D-to-3D conversion by short-term motion assisted color segmentation[C]// Proceedings of the 2007 IEEE International Conference on Multimedia and Expo. Piscataway, NJ: IEEE, 2007:1958-1961.
[13] KARSCH K, LIU C, KANG S B. Depth transfer: depth extraction from video using non-parametric sampling [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 36(11):2144.
[14] EIGEN D, PUHRSCH C, FERGUS R. Depth map prediction from a single image using a multi-scale deep network [J/OL]. ArXiv Preprint, 2014, 2014: 1406.2283[2017-12-09]. https://arxiv.org/abs/1406.2283.
[15] LIU F, SHEN C, LIN G, et al. Learning depth from single monocular images using deep convolutional neural fields [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(10):2024-2039.
[16] ABHAYARATNE G C K, PESQUETPOPESCU B. Adaptive integer-to-integer wavelet transforms using update lifting[C]// Proceedings of the SPIE Wavelets: Applications in Signal and Image Processing X. Bellingham, WA: SPIE, 2003:813-824.
[17] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition [J/OL]. ArXiv Preprint, 2015, 2015:1409.1556[2017-04-10]. https://arxiv.org/abs/1409.1556.
[18] GLOROT X, BORDES A, BENGIO Y. Deep sparse rectifier neural networks[C]// Proceedings of the 2011 International Conference on Artificial Intelligence and Statistics. Fort Lauderdale: PMLR, 2011:315-323.
[19] RADOSAVLJEVIC V, VUCETIC S, OBRADOVIC Z. Continuous conditional random fields for regression in remote sensing [J]. Frontiers in Artificial Intelligence and Applications, 2010, 215:809-814.
[20] ADAMS A, BAEK J, ABRAHAM DAVIS M. Fast high-dimensional filtering using the permutohedral lattice[J]. Computer Graphics Forum, 2010, 29(2):753-762.
[21] SILBERMAN N, HOIEM D, KOHLI P, et al. Indoor segmentation and support inference from RGBD images[C]// ECCV 2012: Proceedings of the European Conference on Computer Vision. Berlin: Springer, 2012:746-760.
[22] KARSCH K, LIU C, KANG S B. Depth transfer: depth extraction from videos using nonparametric sampling[M]// Dense Image Correspondences for Computer Vision. Berlin: Springer, 2016:775-788.
[23] SAXENA A, SUN M, NG A Y. Make3D: learning 3D scene structure from a single still image [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009, 31(5):824-840.
[24] LIU M, SALZMANN M, HE X. Discrete-continuous depth estimation from a single image[C]//Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2014:716-723.