从ICCV 2021看夜间场景自监督深度估计最新进展
?作者?|?青青韶華
單位?|?中科院自動化所博士生
研究方向?|?計算機視覺
單目深度估計雖然在數學和幾何上是一個不適定問題(ill-posed),但是隨著卷積神經網絡的發展,依靠數據驅動的單目深度估計獲得了蓬勃的發展。根據場景的不同可以分為室內場景深度估計(如 NYUv2 數據集)和室外場景深度估計(如 KITTI 數據集)。另一方面,根據數據是否具有深度標簽又可以分為有監督學習和自監督學習兩種范式。
對于室外場景,深度估計主要應用于自動駕駛領域,經典的評估數據集包括 KITTI 和 CityScapes 數據集。由于室外場景中深度范圍的跨度較大,現有的 3D 激光掃描儀難以覆蓋較大的深度值,即使采用激光雷達等設備也只能得到稀疏的深度標簽,難以作為深度模型訓練的標簽。因此,自監督單目深度估計已經成為室外場景深度估計的主流。
以往的研究更多關注在網絡結構的設計、如何添加語義信息,或者設計更好的損失函數和輔助監督等,但是它們都采用白天圖像作為訓練和評測對象。鮮有研究關注夜間場景下的自監督單目深度估計,因為夜間場景存在更大的挑戰,例如低對比度、變化的光照條件、噪聲以及時常出現的耀斑和眩光。
本文主要梳理了夜間場景下自監督深度估計方法的發展歷程,以及在 ICCV 2021 上的最新進展。
初步探索
在已有工作中,最先關注夜間場景下深度估計的下面這篇 AAAI 2018 的方法 MTN。
論文標題:
Multispectral Transfer Network Unsupervised Depth Estimation for All-Day Vision
論文地址:
https://www.aaai.org/ocs/index.php/AAAI/AAAI18/paper/viewFile/16771/16286
論文來源:
AAAI 2018
項目地址:
http://multispectral.kaist.ac.kr/
作者認為要想理解真實世界,應當讓模型能夠在全天的條件下進行深度感知?,F有機制采用 RGB 傳感器采集圖像,這會導致白天和夜間的圖像差異很大,因此夜間場景具有很大的挑戰性。作者從源頭出發,認為實現全天深度感知的解決方法是采用熱傳感器取代 RGB 傳感器來搜集高光譜圖像,高光譜圖像的一大優勢是不受強光和黑暗環境下燈光變化的影響。為此,作者首先采集了一個高光譜雙目數據集。
1.1 高光譜雙目數據集
上圖展示了作者采集的高光譜雙目數據集,一組數據樣本包括一對經過校正的 RGB 雙目圖像,一張根據 RGB 左圖對齊的高光譜圖像,以及 3D 標注信息。為了確保數據集具有多樣性,作者采集了 4 種駕駛場景的數據,分別是第 1 行的校園(campus),第 2 行的住宅區(residential),第 3 行的城市(urban)和第 4 行的郊區(suburbs)。時間橫跨白天(7am~2pm)和夜間(10pm~2am)。
1.2 多光譜遷移網絡MTN
為了從單張高光譜圖像中估計出深度圖,作者設計了基于編解碼網絡的多光譜遷移網絡 MTN。假設一對 RGB 雙目圖像為?,對應的高光譜圖像為?,那么對于估計的視差?,可以采用基于光度重構的損失來進行自監督的學習,即:
本文的另一大創新點是引入多任務學習機制,即從 Encoder 的淺層特征中來重建原始 RGB 圖像的色度信息。為此,作者在 Encoder 和 Decoder 之間設計了一個?Interleaver,通過將淺層的特征經過池化和門控機制,與高層特征進行融合來提取色度特征,之后與原始 RGB 圖像在 YCbCr 空間計算損失,即:
其中??和??分別是 CbCr 通道的真值和預測值。對于得到的深度圖還可以采用深度平滑損失進行平滑性約束:
整體網絡訓練的損失函數為:
1.3 討論
這篇工作雖然首次提出了夜間條件下的自監督深度估計問題,但是它是建立在高光譜圖像上的,這種熱傳感器的普及度要遠低于 RGB 傳感器。后續研究工作更多圍繞 RGB 圖像來開展,因此這篇工作的后續的影響力有限,但仍是探索夜間場景深度估計的一次嘗試。
開篇之作
真正開啟夜間環境下,基于 RGB 圖像的自監督單目深度估計的工作是下面這篇 ECCV 2020 的工作。
論文標題:
Unsupervised Monocular Depth Estimation for Night-time Images using Adversarial Domain Feature Adaptation
論文地址:
https://arxiv.org/abs/2010.01402
論文來源:
ECCV 2020
項目地址:
https://github.com/madhubabuv/NightDepthADFA
這篇論文的思想簡潔明了,即將白天和夜間圖像看成兩個數據域,通過采用 Patch-GAN 等生成對抗模型來判別白天和夜間圖像,從而轉換成一個對抗式的域特征自適應(ADFA)問題。在介紹 ADFA 方法前,先介紹自監督單目深度估計的學習范式,這種統一的學習框架適用于后續工作。
2.1 自監督單目深度估計學習范式
自監督單目深度估計可看做是一個視角合成問題。對于每一張參考圖像?,我們可以通過深度圖??和相對相機位姿??來重構目標圖像?。在訓練過程中,模型分為深度估計網絡??和位姿估計網絡?,?利用目標圖像來估計深度圖?,而??利用參考圖和目標圖來估計相機位姿?。
在已知相機內參??的情況下,我們得到目標圖??中的像素點??和參考圖??中的像素點??的逐像素對應關系,即:
之后??可通過可導的雙線性差值操作??從??中重構得到,也即?。
在自監督訓練階段,主要采用基于重構的損失和之前介紹的深度平滑損失。重構損失采用??和 SSIM 來計算??和??之間的光度誤差,其中??取 0.85:
2.2 對抗域特征自適應ADFA
上圖展示了 ADFA 的整體框架圖,整個流程分為三步:第一步是采用已有的單目深度估計模型(例如 MonoDepthv2)在白天圖像上進行自監督訓練;第二步是引入基于 Patch-GAN 的判別器訓練用于夜間圖像特征提取的 Encoder();第三步是將夜間圖像特征編碼器??和白天圖像深度解碼器??組合起來用于夜間圖像的深度估計。下面具體介紹前兩步。
白天模型:如上圖(a),用于白天圖像訓練的模型包括深度估計編解碼器??和相機位姿估計編解碼器?,采用自監督學習的范式進行訓練,梯度回傳路徑如紅線所示。
ADFA 訓練:如上圖(b),由于白天和夜間圖像不是成對的(unpaired),即不是同時或同地拍攝的,因此作者考慮采用對抗學習的方式。引入用于夜間圖像特征提取的編碼器?,它可看做是生成器,目的是使得夜間圖像特征與白天圖像特征相似;而判別器??的目的是來鑒別特征來源于白天還是夜間圖像。這里作者對每個特征層都采用了一個判別器,實驗表明這種多階段判別器的方式對域自適應的性能提升很有效。
2.3 實驗結果
實驗采用的數據集是 Oxford RobotCar,這是一個常用的室外駕駛場景數據集,涵蓋不同季節、天氣、白天和夜間的圖像,很適合進行夜間場景深度估計性能的評測。幾種模型在該數據集上的定性結果如下表,其中上面一層是以 60 米作為最大深度值,而下面一層是以 40 米作為最大深度值。
第 1 行:采用 Monodepthv2 在白天圖像上訓練,之后再在夜間圖像上測試,性能較差,這表明在白天圖像上訓練的模型在夜間場景泛化性較差。
第 2 行:采用 Monodepthv2在白天圖像上訓練后,用部分夜間圖像進行自監督微調,雖然性能有顯著提升,但是僅靠重構損失在夜間圖像上仍然無法取得較好的效果。
第 3 行:采用 Cycle-GAN 將夜間圖像遷移成白天圖像,再利用白天圖像訓練的模型進行深度估計,但是這種方法的效果較差,因為 GAN 的風格遷移不足以彌補白天和夜間圖像的差異,同時采用 GAN 訓練也耗時耗力。
第 4 行:先在 KITTI 的白天圖像上預訓練,再在 Oxford 的夜間圖像上采用 ADFA 訓練,性能有顯著提升,這驗證了所提出的 ADFA 方法的優勢。
第 5 行:均在 Oxford 數據集的白天圖像上預訓練和夜間圖像上采用 ADFA,在 Oxford 測試集上取得了最佳的性能。通過第 4 和第 5 行也表明了不僅白天和夜間圖像上存在偏差,相同場景的不同數據集下也存在偏差。
如上圖,作者還進行了一些可視化定性比較,可見基于重構損失的夜間場景深度估計幾乎失敗了,而采用 GAN 將夜間圖像遷移成白天圖像也會造成很多失真的現象,不利于后續的深度估計。本文所提的 ADFA 方法能夠較好的估計出夜間圖像的深度圖。
2.4 討論
ADFA 作為夜間場景自監督單目深度估計的開創工作,主要為后續研究工作提供了幾點貢獻:
提出了基于 RGB 圖像的夜間場景自監督單目深度估計的任務,這不同于以往采用高光譜圖像的 MTN 方法,成為后續工作的起點;
定義了夜間場景深度估計是采用不成對的白天和夜間圖像,這種不成對的問題也成為后續工作的出發點;
將夜間場景深度估計任務轉換成域自適應問題,并提出了一種行之有效的方法 ADFA,成為后續工作的 baseline 方法。
在 ADFA 同一時期,還有在雙目領域的探索工作,下面簡單介紹一下。
雙目領域的探索
論文標題:
Nighttime Stereo Depth Estimation using Joint Translation-Stereo Learning: Light Effects and Uninformative Regions
論文地址:
https://arxiv.org/abs/1909.13701
論文來源:
3DV 2020 Oral
這篇論文考慮的是夜間場景下的自監督雙目深度估計,總體思想和 ADFA 類似,也是通過引入 GAN 來對白天和夜間圖像進行轉換,并通過兩種場景下的一致性約束進行訓練。本文拿到了 3DV 的 Oral,其亮點在于還處理了夜間圖像中的兩個細節性的挑戰,一是夜間圖像的眩光部分(Light Effects)轉換成白天圖像時會丟失結構信息;二是在低光照等無信息區域(Uninformative Regions)會產生錯誤的結構信息。
3.1 方法
上圖展示了本文的整體框架圖,分為兩個并行的循環結構:
白天到夜間:輸入白天圖像,通過遷移網絡??轉換成夜間圖像,再通過遷移網絡??轉回白天圖像。分別利用白天圖像深度估計網絡??和夜間圖像深度估計網絡??得到一對圖像在兩個場景的視差圖。這兩個視差圖應當具有一致性。
夜間到白天:輸入夜間圖像,先通過遷移網絡??轉成白天圖像,再通過遷移網絡??轉回夜間圖像。其他保持一致。
上圖僅僅展示了整體框架和雙目一致性約束,因此判別器和其他損失函數并沒有展示,例如判別損失,基于 Cycle-GAN 的循環一致性損失。盡管上述框架已經能夠實現在夜間場景下的深度估計,但是在將夜間圖像轉換成白天圖像時,仍然會存在生成錯誤區域的現象。本文專門針對兩種問題提出了解決方案。
如上圖,第一種是針對夜間圖像中的眩光,在轉換成白天圖像時會丟失原有的結構,如圖(b)中出現未知的樹結構導致深度估計出錯。為此,作者提出在訓練階段加入結構保留的約束。具體地,采用在 ImageNet 上預訓練的 VGG-16 模型在夜間圖像數據集 ExDark 上 finetune,從而使得微調后的 VGG-16 模型保持更好的結構性特征。
對于一對夜間圖像?,及其生成的對應白天圖像?,對于從夜間到白天圖像轉換的循環有結構保留損失如下:
其中??選自 finetune 后的 VGG-16 模型的“Conv4_2”層。
如上圖,第二種是針對夜間圖像中的低光照等無信息區域,這些區域在轉換成白天圖像時容易出錯,生成一些不相符的結構,從而導致深度估計出錯。為此,作者提出僅在測試階段施加加權平滑性約束。同樣以一對夜間圖像??及其生成的對應白天圖像??為例,加權平滑性約束如下:
其中??和??分別計算的是水平和豎直方向的梯度,?是輸入圖像??的權重圖,其計算方式為
通過這種方式,這些無信息區域在測試階段可以得到更平滑的深度圖。值得注意的是,本文提出的兩種技巧對于單目深度估計同樣可以適用。?
ICCV 2021最新進展
ICCV 2021 的論文近日陸續開放在 Arxiv 上,這里介紹兩篇最新的工作。?
4.1 ADFA加強版——RNW
論文標題:
Regularizing Nighttime Weirdness: Efficient Self-supervised Monocular Depth Estimation in the Dark?
論文地址:
https://arxiv.org/abs/2108.03830
論文來源:
ICCV 2021?
項目地址:
https://github.com/w2kun/RNW?
上面這篇論文可以看做是 ADFA 方法的加強版,整體上仍然延續 ADFA 以自監督單目深度估計+對抗學習的框架。作者認為夜間圖像的挑戰性在于低可見度和變化的光照條件,從而導致弱紋理區域和光照的不一致性。為此提出了三點增強措施,一是基于先驗的正則化,用來學習白天和夜間圖像的深度分布先驗信息;二是映射一致性的圖像增強模塊來增強夜間圖像的可見度和對比度;三是基于數據的掩碼策略,用來動態調整無紋理區域的消除像素點個數。
上圖展示了論文的整體框架圖,其中的三個改進點分別:
Priors-Based Regularization(PBR):在對抗學習中加入深度值對應的坐標信息;
Mapping-Consistent Image Enhancement(MCIE):在計算光度一致性損失時增強夜間圖像的質量;
Statistics-Based Mask(SBM):常用的 Auto-Mask(AM)方法的改進版;
PBR
PBR 的作用是利用對抗學習和參考深度圖??來約束鄰域范圍內的夜間圖像的預測深度圖?。深度估計網絡??可以看做是生成器,而基于 Patch-GAN 的判別器??用來判別白天圖像的深度參考圖??和夜間圖像的深度圖?。
作者觀察發現在駕駛場景中,像素點的深度與它的位置具有緊密的聯系,因此提出將像素點的位置坐標融合進對抗學習中。具體地,可以對 x 和 y 兩個方向的坐標歸一化到?,從而得到一張位置圖像?。對于深度圖??和??也進行歸一化,即?,其中??是在空間上計算平均值。最后將??與歸一化后的??和??分別 concat,再作為判別器??的輸入。對抗損失與 ADFA 中的類似。
MCIE
MICE 來自 Contrast Limited Histogram Equalization(CLHE),作用是增強夜間圖像的可見度和細節紋理,以滿足光度一致性。其核心是一個亮度映射函數?,分別對參考圖像和目標圖像進行亮度變換,以映射到同一個特定的輸出。
上圖展示了 MCIE 的計算過程,曲線分布是不同亮度層級??頻率分布?。MCIE 的計算過程分為三步:
裁剪掉頻率在給定參數 以上的部分,以限制增強同時避免放大噪聲;
將裁剪掉的頻率均勻地填充在每一個亮度層級;
使用累計分布來計算映射函數 ,即 ,其中 是亮度層級的個數,通常為 256。
MCIE 僅在計算光度重構損失時才使用,對于輸入網絡的圖像仍然是原始的 RGB 夜間圖像。
SBM
動態掩碼(AM)技術是自監督單目深度估計中常用的技巧,用來剔除估計不準確的野點和外點,可通過計算重構圖像的光度誤差與參考圖和目標圖的光度誤差的大小來得到掩碼,即:
AM 并不能調整被剔除的像素點個數,SBM 在此基礎上更進一步,希望動態地調整剔除像素點的個數。具體地,在訓練階段計算目標幀和每張參考幀的光度差異?,之后利用指數加權移動平均來更新當前幀的誤差,即:
其中 i 是當前時間點,?是動量參數(設為 0.98)。之后引入參數??用來表示剔除的百分比,這樣可以得到新的掩碼?,即?。最終的掩碼由??和??采用逐點相乘得到,也即?。
上圖表明采用 SBM 能夠去除黑色像素點在最終損失中的計算。?
實驗結果
作者也在 Oxford 數據集上進行了實驗,相比于現有的 SOTA 方法,所提出的方法在夜間圖像上具有更好的性能。相應的消融實驗也表明了所提出的模塊的有效性。
上表說明所提方法超越了自監督單目深度估計在白天圖像上的 SOTA 方法,例如 SfMLearner,PackNet,FM 等。
上表的消融實驗說明所提出的 PBR,MCIE 和 SBM 對于性能提升都是有幫助的,其中 PBR 其實是整個算法的核心增長點,MCIE 和 SBM 是錦上添花的改進。
作者也和 ADFA 進行了可視化比較,可見所提出的方法在飽和和模糊區域具有更好的效果,這可能更多得益于 PBR 的提升。
4.2 基于域分離的全天圖像深度估計
以上方法側重于單獨解決夜間圖像的深度估計,但是夜間圖像的模型仍然無法較好的估計白天圖像。自 AAAI 18 的論文后,今年 ICCV 2021 的工作又重新關注通過一個模型同時估計白天和夜間圖像的深度信息。
論文標題:
Self-supervised Monocular Depth Estimation for All Day Images using Domain Separation
論文地址:
https://arxiv.org/abs/2108.07628
論文來源:
ICCV 2021
項目地址:
https://github.com/LINA-lln/ADDS-DepthNet
這篇論文的動機也較為直觀,和 ADFA 類似,白天和夜間圖像可以看做是兩個域,這兩個域在光照等擾動條件下具有很大的差異,但是在紋理等共享屬性上具有不變性。因此,作者提出將兩個域的學習分為私有域(private)和不變域( invariant)。私有域用于專門學習白天和夜間圖像的特征,而不變域用于學習白天和夜間圖像中共享的特征。
上圖展示了本文的整體框架圖。輸入是夜間圖像序列和通過 GAN 生成的對應的白天圖像序列。整個框架分為三個模塊:
白天私有域特征提取模塊(黃色):包括白天圖像特征提取器??和用于白天圖像重構的解碼器?。這個設計和 AAAI 18 的 MTN 中的?Interleaver?有點類似,都是在特征提取后增加了光度重構。
夜間私有域特征提取模塊(綠色):包括夜間圖像特征提取器??和用于夜間圖像重構的解碼器?。
共享深度估計模塊(橙色):包括權重共享的不變域特征提取模塊??和深度估計解碼器?。
各個模塊之間的聯系可以用下述形式來描述:
白天和夜間圖像分別通過各自的私有域特征提取模塊來提取特征,即 。
同時,不變域的共享編碼器分別提取白天和夜間圖像的不變特征,即 。
之后利用不變特征和私有特征的 concat 分別重構白天和夜間圖像,即 。
最后以共享特征作為輸入,利用共享深度估計解碼器得到白天和夜間的深度圖,即 。
論文的另一大核心內容是驅動整個框架訓練的損失函數的設計,包括以下 4 種損失函數:
重構損失(Reconstruction Loss)
重構損失是白天和夜間圖像經過??和??重構的 RGB 圖像與原始圖像的光度誤差,也即:
相似性損失(Similarity Loss)
由于輸入的白天圖像是夜間圖像通過 GAN 生成的,因此二者是成對的。那么在經過深度估計網絡后得到的深度圖也應當具有一致性約束,由此得到相似性損失如下:
正交損失(Orthogonality Loss)
對于白天和夜間圖像,二者既有對應的私有特征提取器來提取各自域的私有特征?,又有共享的不變特征提取器來提取共享特征?,因此私有特征和共享特征應當是完全不同的。為此,作者設計了兩種正交損失來保證兩種特征的不同。
一種是直接特征正交損失:對于私有特征??和不變特征?,分別通過??卷積降維再平鋪成 1 維向量,采用向量內積的方式(操作?)來做損失,記為??如下:
其中
均表示??卷積操作。另一種是 Gram 矩陣正交損失:Gram 矩陣在風格遷移中廣泛用于表征特征的不同風格,為此,作者先對兩種特征計算 Gram 矩陣,再平鋪成 1 維向量來計算向量內積,記為??如下:
光度損失(Photometric Loss)
光度損失是自監督單目深度估計學習范式中的光度一致性損失,這里不再贅述。
實驗
作者同樣在 Oxford 數據集上進行了評估,分別和 SOTA 方法進行了定性和定量比較,同時進行了消融實驗表明了幾種損失函數的有效性。
上表展示了在白天和夜間兩種場景下的深度估計性能,可見所提方法在兩種場景, 40m/60m 兩種評估標準下都要超越現有的方法,特別是和 ADFA 比較也有更進一步的提升,但是本文的另一個優勢還能同時估計白天圖像的深度。
上圖展示了和現有方法在夜間圖像的深度圖可視化結果,重點關注與 ADFA 的比較,可見 ADFA 對目標邊界的建模效果較差,而本文的方法能夠取得更好的效果。
最后在消融實驗上驗證了重構損失,兩種正交損失和相似度損失的有效性。
小結
從上述幾篇工作來看,夜間場景下的自監督深度估計離不開基于 GAN 的對抗學習,研究重心在于設計更有效的網絡訓練框架,設計新穎的損失函數,以及解決夜間圖像轉換到白天圖像后的細節性挑戰,這三個方面可能也是后續工作的跟進點和改進點。另一方面,未來工作能否打破基于 GAN 的學習模式,或者引入外部輔助信息等也是值得探索的領域。
·
·
總結
以上是生活随笔為你收集整理的从ICCV 2021看夜间场景自监督深度估计最新进展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 09年狮跑怎么调节仪表台亮度?
- 下一篇: 博士申请 | 纽约州立大学布法罗分校招收