劉侍剛,張 同,楊建功,葛 寶
(1.陜西師范大學 現代教學技術教育部重點實驗室,陜西 西安 710062;2.陜西師范大學 計算機科學學院,陜西 西安 710119;3.陜西師范大學 物理學與信息技術學院,陜西 西安 710119)
隨著計算機視覺鄰域技術的不斷進步,獲取圖像中某一場景的具體信息成為了圖像研究中的重要部分,其中圖像深度信息的獲取是一個關鍵技術。雙目立體匹配通過相機獲取同一場景的左、右兩幅圖像,然后對該圖像對進行校正,保證兩張圖像對應的匹配點在同一行上。對獲取的同一場景的左、右圖像對進行初始化處理后,通過相似三角原理求出圖像的視差信息。由于圖像的視差信息與其深度信息之間存在反比關系,當獲取到視差信息時,就可進一步獲取圖像的深度信息,因此雙目立體匹配廣泛地應用于測量、三維重建、虛擬現實以及自動駕駛等多種領域。
雙目立體匹配一直以來都是計算機視覺領域中的一個基礎性的研究。傳統的立體匹配網絡主要包括4個步驟,分別是代價計算、代價聚合、視差計算和視差優化。傳統立體匹配網絡大多是在損失計算和視差優化上進行改進優化,但這些網絡的整體設計過程中人工干預因素過多,且對于一些病態區域(如弱紋理區域)通常表現不佳。隨著卷積神經網絡(Convolutional Neural Network,CNN)在計算機視覺領域的突破性進展,結合卷積神經網絡的雙目立體匹配網絡是立體匹配的重要研究熱點。早期使用卷積神經網絡的立體匹配網絡[1-4],如ZBONTAR等[4]提出的基于卷積神經網絡的立體匹配代價網絡(stereo Matching Cost with CNN,MC-CNN)首次把卷積神經網絡用于匹配代價計算,利用卷積神經網絡從一對圖像中提取出更加穩健的特征,并計算出二者相似性作為匹配代價,但是在一些病態區域仍然很難找到準確的匹配點。在最新提出的端到端的學習整體上對網絡進行了優化[5-12],輸入端直接輸入圖像對,輸出端直接獲取視差圖。這種網絡架構使得整個網絡在訓練過程中更大程度地減少了人工干預設計,提高了網絡的整體性能。MAYER等[5]提出的基于卷積網絡的視差設計(Convolutional Networks for Disparity,DispNetC)第一次將端對端網絡用于立體匹配研究。該網絡把傳統立體匹配的4個步驟直接整合在一個網絡中,在網絡訓練過程中無需人工干預,從整體上實現了立體匹配網絡的優化。CHANG等[6]提出的金字塔立體匹配網絡(Pyramid Stereo Matching Network,PSMNet)在特征提取階段采用了金字塔模型,通過提取并融合多尺度特征信息,利用語義上下文信息獲取更多的特征信息,但是該網絡過于臃腫。WANG等[12]提出的實時立體圖像深度估計網絡(Anytime stereo image depth estimation Network,AnyNet)提出了一種輕量化網絡,實現實時深度估計的目標,但其以減少網絡深度為代價,會導致精度的降低。針對這些問題,筆者提出的遞進式空洞殘差深度雙目立體匹配網絡(Progressive Dialtion Residual Network for deep binocular stereo matching,PDR_Net)結合了空洞卷積與殘差網絡,并引入通道注意力機制模型(Channel Attention Model,CAM)。其在網絡復雜度、參數量和準確度等性能上都優于上述網絡。
筆者提出的PDR_Net網絡結構如圖1所示。在獲取圖像多尺度空間信息部分使用空洞卷積來獲取不同感受野下圖像特征的信息。同時在每個分支上引入殘差網絡,分支之間采用遞進式的結構來進行級聯,各分支之間的空間信息形成互補。在三維卷積網絡模塊中使用堆疊沙漏模型(即編碼解碼結構),并在編碼與解碼之間引入通道注意力機制模型如圖2所示。筆者提出的三維卷積網絡模塊在視差維度上加入了通道注意力機制,使得該網絡能夠更加精準地學習到代價量中每個通道各個視差條件下不同特征圖之間的關系,有效提升了代價聚合模塊的效果。

圖1 PDR_Net網絡結構示意圖

圖2 三維卷積模塊網絡結構示意圖
筆者提出的PDR_Net網絡主要由3個網絡模塊構成:特征提取、三維卷積以及視差回歸。該網絡結構如圖1所示。該網絡在特征提取上結合了空洞卷積和殘差網絡,實現了多尺度特征的提取。同時提出了遞進式的級聯方式將各尺度特征信息逐一融合,既減少了特征信息的損失,也降低了網絡的參數量與復雜度。然后在特征向量的基礎上增加視差維度,形成了四維代價量(Cost Volume),通過三維卷積網絡模塊對四維代價量進行代價聚合生成視差圖。在三維卷積模塊上,采用堆疊沙漏模型(Stacked Hourglass),并在視差維度嵌入通道注意力機制以加深各視差間的聯系。在視差回歸模塊上對代價聚合模塊形成的視差圖做進一步優化,形成最終的視差圖。
在特征提取模塊,筆者提出了一種復雜度低且能夠保留更豐富空間信息特征的網絡結構,其結合空洞卷積和殘差網絡能夠在擴大感受野的同時,保證參數量不增加。在該模塊起始部分使用2組普通卷積得到初始特征圖,實現對輸入圖像的下采樣以及對圖像通道維度數目的調整。在尺度分支部分,針對金字塔特征提取模型對參數量要求過高的不足,在該部分采用空洞卷積來實現多尺度特征提取。通過改變空洞卷積的擴張率來獲取多尺度特征信息,最終構建了4個分支,每個分支都使用2組空洞卷積來獲取圖像的不同尺度特征信息。同時各分支采用殘差網絡結合上下文信息,保證了在獲取多尺度特征信息的同時保留更多空間信息。由于空洞卷積的稀疏性特點,利用4個不同擴張率的空洞卷積分別在4個分支上進行卷積操作后,采用遞進的方式將各分支經過空洞卷積后的特征圖進行級聯,使得各分支的特征圖之間形成互補,解決了空洞卷積因其稀疏性導致的部分信息丟失的問題。與直接將各分支的特征圖元素級聯的方法相比,筆者提出的遞進式級聯方法所融合的特征信息更加精細。在獲取融合特征圖后,將其與初始特征圖進行級聯,進一步增強圖像的特征信息。
在三維卷積模塊,引入了堆疊沙漏模型,其能夠聚合并規則化代價量所包含的視差信息和空間特征信息。該模型主要由3個編碼解碼結構模塊堆疊而成,每個子模塊分為編碼器和解碼器兩個部分。編碼器部分進行下采樣,解碼器部分使用反卷積來恢復代價量的尺寸,其中下采樣和反卷積的步長都為2。在下采樣和反卷積的過程中,代價量部分空間信息的損失是不可避免的。為了減少這種損失,將3個子模塊中相同尺寸的代價量進行跳躍式連接,同時也將初始代價量與其經過3個子模塊所生成的代價量進行級聯,加深了代價量上下文信息的結合程度。這種連接方式在解碼部分既能夠補充丟失的空間信息,又能夠從更底層的代價量中獲取到更多的細節信息。在此基礎上,在代價量的視差維度上嵌入通道注意力機制,對每個通道中不同視差下的特征圖之間的依賴關系進行預處理,并根據依賴性大小給每個特征圖賦予權重值,再對其進行卷積聚合。筆者提出的網絡模型通過在視差維度上引入通道注意力機制,加深了代價量中各視差間的關聯性,有效提升了視差估計的效果。該模塊共有3個輸出,其目的是為了方便了解整個三維卷積網絡模塊的學習過程。每個輸出計算一次損失,總共生成3個損失(Loss_1、Loss_2、Loss_3)。損失函數的具體計算方法在節2.4中有描述。
視差回歸是對代價聚合模塊得到的初始視差圖進行優化,使視差圖更加平滑。采用基于幾何和上下文的深度立體回歸網絡(Geometry and Context for deep stereo regression Network,GC-Net)[9]中提出的視差回歸函數來估計視差,該函數具有魯棒性且得到的視差圖更加平滑,即
(1)

基于平滑的L1損失函數具有較強的魯棒性和對離群值的低敏感性的特點,使用平滑的L1損失函數來訓練所提出的PDR_Net網絡,即
(2)

主要展示PDR_Net網絡在KITTI 2015數據集上的訓練和測試結果。
對PDR_Net網絡的各個結構進行消融分析,并針對不同損失權重對實驗結果的影響進行分析研究,并在KITTI 2015數據集上對文中所提網絡進行評估。在KITTI 2015數據集的驗證集上采用3像素誤差E3px表示匹配的準確率,即
(3)

首先,對網絡結構模塊進行消融實驗,具體結果如表1所示。在實驗中,主要對PDR_Net網絡中的特征提取和代價聚合兩個模塊進行消融對比。在代價聚合模塊再次細分為引入CAM模型和未引入CAM模型的堆疊沙漏網絡結構。首先,結合筆者提出的特征提取網絡模塊和PSMNet網絡中的堆疊沙漏模型并與PSMNet網絡相比較,其在KITTI 2015數據集上的誤差小于PSMNet網絡。實驗表明,筆者提出的遞進式空洞殘差(Progressive Dialtion Residual,PDR)特征提取網絡模塊在誤差精度上優于PSMNet網絡的空間金字塔特征提取網絡模塊(Spatial Pyramid Pooling,SPP)[6]。接著在代價聚合模塊中引入CAM模型,與引入之前的結果相比較,實驗誤差進一步減少。這表明筆者提出的代價聚合網絡模型在誤差精度上優于傳統的堆疊沙漏模型。從整個實驗結果來看,筆者提出的特征提取模塊與代價聚合模塊在網絡的精度性能上均有了顯著提升。

表1 網絡模塊的消融實驗結果 %
除了對網絡結構模塊的消融對比外,還對損失函數的損失權重做了消融實驗對比。在代價聚合模塊中共有3個輸出和損失結果,在訓練階段,總的損失函數結果是3個損失結果的加權求和。為了測試這3個損失結果對最終損失結果的影響大小,實驗中分別對這3個損失賦予不同的權重值。最終實驗結果表明,當3個損失的權重分別設置為0.5、0.7、1.0時,實驗結果最優。與PSMNet網絡結果對比,在最佳權重設置下,文中的實驗結果優于PSMNet網絡。
將實驗結果放到KITTI評測網站進行評估,并與其他網絡進行比較,結果如表2所示,其中,“All”指圖像的整個區域,“Noc”指未遮擋區域。根據評估結果,筆者所提網絡的總體3像素誤差是2.25%,而PSMNet網絡的誤差為2.32%,iResNet(改進的基于殘差網絡的立體匹配網絡,improved Residual Network for stereo matching network)的誤差是2.36%,CRL(級聯殘差學習,Cascade Residual Learning)網絡的誤差為2.67%,GG-Net網絡的誤差為2.87%。同時筆者所提網絡在參數量與網絡運行時間上與PSMNet網絡相比較,減少了約50%。

表2 KITTI 2015立體匹配排行榜
近年來,三維卷積神經網絡發展迅猛,基于三維卷積的雙目深度立體匹配研究也取得了不錯的成績。筆者提出的PDR_Net網絡是基于三維卷積的端對端的網絡結構,在特征提取模塊,利用空洞卷積的特性在不增加參數量的同時能夠增加卷積層感受野的大小,并且采用了遞進式的特征融合網絡結構將各尺度特征信息逐層融合生成特征圖。在代價聚合模塊中通過在視差維度上加入通道注意力機制,加深了各視差之間的聯系性,提高了匹配的準確率。筆者提出的PDR_Net深度立體匹配網絡與PSMNet、GC-Net等網絡相比,網絡層數和參數量個數減少,網絡的處理速度及匹配的準確率提高。實驗表明,PDR_Net網絡具有較高的預測精度。