彭濤,胡智程,劉軍平,張自力,黃子杰
(1. 武漢紡織大學數學與計算機學院,武漢 430201;2. 湖北省服裝信息化工程技術研究中心,武漢 430201)
近年來,隨著人工智能技術高速發展,圖像深度估計對計算機視覺具有重大研究意義。為了更好地獲得場景的深度信息,眾多學者已進行了大量研究。2014年,Eigen等人[1]首次引入深度學習的概念,提出使用兩個尺度的卷積神經網絡結構對單目圖像進行深度估計,采用大量帶有標注深度信息的數據集進行訓練。2015年,Eigen和Fergus改進了文獻[1]中算法,在原有的網絡基礎上加入采樣網絡[2],加深了網絡結構。Jun等人[3]在Eigen等人[2]的多尺度網絡基礎上加入跳躍連接,加速了網絡收斂。Daniel等人[4]通過學習順序對圖像的某些特征進行深度估計,但該方法沒有直接估計特征的度量值。上述研究采用有監督的訓練方式,需要使用具有真實深度信息的圖像數據集作為目標訓練,在單目圖像深度估計中,很難大規模獲取每像素地面真實深度數據。因此,部分學者提出了自監督的單目深度估計方法[5-12]。Garg等人[5]提出了通過全卷積神經網絡生成深度圖,并使用傳統的雙目攝像頭測距原理重構源輸入圖像,對比原輸入圖像,構建目標函數,進而反向訓練網絡得出深度圖結果。Zhou等人[7]把未做標記的單目視頻的每一幀圖像作為訓練集,使用深度估計網絡和相機位姿網絡對其進行訓練。Eldesokey等人[10]提出了自監督的概率歸一化的卷積網絡,該方法估計了輸入數據的不確定度,使得網絡可以基于數據可靠性進行針對性的學習,實現了輸出不確定度的估計。由于現有的數據集存在物體間遮擋以及物體運動等問題,因此,上述采用自監督方法的研究不僅未能利用好場景中上下文信息,而且深度估計的結果會受到物體遮擋、紋理復制偽影、輪廓不準確等影響。
為了解決上述問題,本文提出在深度網絡模型中加注意力機制并結合最小化光度重投影函數,對目標圖像前后幀中選擇最小誤差進行匹配。主要貢獻如下:①提出了一種新的深度網絡架構,將注意力機制與深度網絡相結合,提升了相對遠距離物體輪廓顯示,同時使得物體輪廓呈現更為精準,提高了準確率;②結合最小化光度重投影函數和自動掩蔽損失,對目標圖像前后幀中選擇最小誤差進行匹配,解決物體被遮擋的問題,減少了物體偽影。③在KITTI數據集[13]和Make3D數據集[14]上的對比實驗結果表明,相比于文獻[5-8,15-17],本文所提方法結果更優,實現了基于注意力機制的自監督單目圖像深度估計。

圖1 整體網絡架構圖
本文參考Zhou等人[7]單目深度估計算法的思想,采用深度網絡和位姿網絡聯合工作的網絡架構,網絡架構圖如圖1所示。其中,深度網絡是由加入注意力機制的深度網絡(Attention-UNet)和ResNet18相融合的編碼、解碼架構結合而成,網絡輸入的是某時刻的單幀圖像。位姿網絡[7]參照的是Zhou等人[7]的網絡結構,輸入的是三幀相鄰時刻的圖像。本節將從深度網絡模型的構造來和損失函數介紹本文提出的自監督單目深度估計方法。
注意力機制在分割網絡[18]上表現良好,視覺系統傾向于關注圖像中輔助判斷的部分信息并忽略無關的信息。注意力機制可以選擇物體聚焦的位置,能夠極大程度上節約資源,使物體特征更具分辨性。而自注意力機制(self-attention)[19]對注意力機制進行了改進,能更好地獲取數據和特征的相關性,減少外部信息的干擾。因此,在編解碼極端處引入自注意力機制,可以敏銳地關注到更重要的特征信息,合理利用有限的視覺信息進行針對性的處理。加入注意力機制的深度網絡結構如圖2所示。本文深度估計網絡基于Attention-UNet體系結構,在解碼時,將編碼器輸出的部分輸入Attention Gate處理后再進行解碼,本文使用的自注意力機制模塊如圖3所示。
其中,將前一隱含層x∈RC×N的圖像(C為通道數,N為特征所在的位置數)特征轉化為f、g兩個特征空間來計算注意:
f(x)=Wfx,g(x)=Wgx
(1)
(2)
公式(1)中Wf、Wg都是網絡的參數。公式(2)中βj,i表示在合成第j個區域時模型關注第i個位置的程度。

圖2 加入注意力機制的深度網絡結構圖

圖3 Self-attention結構
圖3的self-attention模塊中,self-attention結構自上而下分為三個分支,圖片x經過一個第一個分支時,經過一個1×1的卷積,將得到f(x)。依次往下,圖中第二個分支,首先經過一個1×1的卷積操作,得到g(x),將轉置后的f(x)與g(x)進行矩陣相乘,得到attention map I,注意層的輸出為:
ο=(ο1,ο2,…,οj,…,οN)∈RC×N
(3)
其中:
(4)
在最后一個分支,經過卷積核為1×1的卷積層獲得h(x),將attention map I轉置,轉置后每一列權重和為1。將h(x)與轉置后的attention map I相乘可以得到某個點的最終值,最終輸出特征圖yi為:
yi=γοi+xi
(5)
其中γ是一個可學習的參數,并且初始化為0,往后再逐漸增大權重。
在其他條件一致的情況下,對增加注意力機制前后的結果進行對比,對比圖如圖4所示,從圖中可以看出,加入注意力機制后的深度預測比未加的效果要更好,相對遠處的物體輪廓更清晰,層次感更強。

圖4 加入注意力機制前后對比圖
本文的損失函數是參考Godard等人[6]和Zhou[7]的損失函數的方法,對自動掩蔽損失的光度重投影損失函數和邊緣感知平滑函數[6]加權求和。本文將目標圖像表示為It,每個源視圖相對于目標圖像的相機姿態表示為It′→t,其中光度重投影誤差[6]表達式為:
Lp=∑pe(It,It′→t)
(6)
公式中為pe為光度重投影誤差,其定義為式(7),其中? 為圖片的SSIM相似度所占的比重,SSIM為圖片結構相似度函數。為了生成的視差圖各個部分能夠盡可能地平滑,對? 進行L1懲罰。
(7)
最終的每像素最小光度損失表達式為:
Lp=minpe(It,It′→t)
(8)
本文采用自動掩蔽[15]方法解決處理圖像的偽影問題,同時,將像素掩碼μ損失應用于掩蔽損失,有選擇地對像素進行加權,μ∈{0,1}在網絡前向傳遞時自動計算。該函數表達式為:
μ=[minpe(It,It′→t) (9) 最終的訓練損失函數為每像素邊緣感知平滑函數Ls[6]和結合了自動掩蔽損失的光度重投影損失函數之和,并分別求平均值。 L=μLp+λLs (10) 其中λ為常數,取值為0.001取值參考Godard等人[6]的設置。 本文使用主流的KITTI 2015數據集[13]進行訓練,該數據集是是當前最大的自動駕駛場景下的計算機視覺算法測評數據集,包含了城市、住宅、道路、校園和行人。實驗中,對KITTI數據集進行了拆分,拆分后的39810張圖片用于訓練模型,4424張圖片用于驗證。訓練后的模型在KITT2015數據集[13]和Make3D數據集[14]上進測試驗證。 本文提出的深度網絡基于Attention-UNet體系結構,即具有跳過連接和注意力機制的編解碼器網絡,既能表示深層抽象特征,又能表示局部信息。本文提出的模型需要進行預訓練,訓練次數為20,批大小為12,輸入/輸出分辨率為640×192。本文的實驗訓練使用GPU為NVIDIA Tesla v100,GTX 2080顯卡、64G顯存的服務器。系統為CentOS 10。整個輸入輸出網絡采用PyTorch搭建,訓練時間為12個小時。 實驗使用了Eigen等人[1]的數據分割方法,用單目序列進行訓練,遵循Zhou等人[7]的預處理來去除靜態幀。在評估期間,按照標準做法將深度限制在80米,并使用每幅圖像的中位數地面真值縮放來報告結果。實驗數據衡量指標中,平均相對誤差Abs Rel、平方根相對誤差Sq Rel、線性均方根誤差RMSE、對數均方根誤差log RMSE的值越小表示結果越好,準確率δ的值越大表示結果越好。 表1和表2是加入注意力機制前后的實驗結果對比,實驗對比數據結果表明,在深度網絡中加入注意力機制后,在KITTI 2015數據集[13]上表現更優異。由大量注意力模塊組成的深度網絡,能產生注意力感知的特征,同時網絡中使用了大量的Skip-Connections,能把所有特征信息融合,加速網絡收斂[3],故一些稀少的具有負面作用的特征信息也得到了加強,進而提升了模型的性能。 表1 加入注意力機制前后在KITTI數據集上的誤差測度對比 表2 加入注意力機制前后在KITTI數據集[13]上準確率指標對比 表3列出的現有方法與本文方法在KITTI 2015數據集[13]上(使用Eigen等人[1]的數據分割方法)評估的結果可以看出,本文的方法明顯優于現有的自監督單目深度估計訓練方法。實驗結果如圖5所示,可以觀察到本文的單目深度估計算法在三個場景中的結果明顯優于其他算法。例如,場景C中可以看出,Yang等人[15]的實驗結果存在明顯的偽影,越深處輪廓越模糊,而本文的實驗中左側汽車、右側柱子與相對遠處的車輛輪廓都能夠很好地呈現。因此,文中方法所得到深度圖輪廓更準確,對場景深度圖的邊緣處理地更好,可視化效果更理想。 表3 實驗結果對比 表4給出了在Make3D數據集[14]上的測試結果。我們采用與Godard等人[6]相同的測試方案和評估標準進行比較。從表4可以看出,本文提出的方法比以前同樣基于自監督的方法產生了更好的結果。 圖5 KITTI 2015測試集結果對比圖 表4 在Make3D數據集上的誤差測度結果 本文提出了一種基于注意力機制的自監督單目深度估計方法,通過在深度網絡模型中添加注意力機制并結合最小化光度重投影函數,對目標圖像前后幀中選擇最小誤差進行匹配,解決了單目圖像深度估計研究中監督學習存在的邊界偽影、輪廓不清晰、預測范圍較小等問題。本文所提方法模型經過實驗驗證,相比于目前的單目深度模型算法,在加入了注意力機制后誤差測度和某一閾值下的準確率都達到了最優。本文算法相比其他工作達到了最先進的性能,但是本文所提的位姿網絡還有待改善。未來工作是進一步改善本文網絡結構中的位姿網絡,提升網絡的精度。2 實驗過程
3 結果分析





4 結語