本文介紹北航和深動科技在 AAAI 2020 上的論文 Adaptive Unimodal Cost Volume Filtering for Deep Stereo Matching,他們在這篇工作中提出給匹配代價體(cost volume)新增自適應單峰分佈的真值資訊來監督,從而提升立體視差估計的準確率。
論文連結:https://arxiv.org/abs/1909.03751
原始碼連結:https://github.com/DeepMotionAIResearch/DenseMatchingBenchmark
立體匹配是一個經典的計算機視覺任務,傳統方法主要基於滑動視窗來計算匹配代價。基於深度學習的方法將視差估計視為迴歸問題,這些模型都只在網路的最終結果上計算損失函式,即預測的視差值與真實視差值的誤差。它們忽略了視差迴歸的中間產物——匹配代價體在學習中容易產生過擬合,因為匹配代價體是沒有監督資訊的。
針對這個問題,作者提出直接給匹配代價體增加在真值附近的單峰約束,並且設計了置信度估計網路來生成單峰分佈的方差,用以表示模型在不同紋理區域下匹配的不確定性。截止 2019.08.20,論文提出的模型 AcfNet 在 KITTI 2012 公開榜單上排名第一,在 KITTI 2015 上排名第四。
研究背景
立體匹配演算法分為四個步驟:匹配代價計算,代價聚合,視差迴歸和視差精修。其中,匹配代價的計算是至關重要的一步。根據匹配代價計算方式的不同,可以將基於深度學習的視差估計演算法分為兩類。
1. 基於相關性的匹配代價計算。以 DispNetC [1] 為代表,利用相關層對左右影像的特徵計算匹配代價,構造 3 維的匹配代價體,最後使用 2D 卷積迴歸視差圖。iResNet [2] 通過引入堆疊的精修子網路進一步提升了效能。
2. 基於 3D 卷積的匹配代價計算,以 GC-Net [3] 為代表,通過將左右圖的特徵體進行連線來構造 4 維的匹配代價體,最後使用 3D 卷積和可導的”winner takes all (WTA)”策略來得到視差圖。基於此改進的 PSMNet [4] 和 GANet [5] 等模型是目前效能較好的網路。
本文屬於第二類方法,基於 PSMNet 對匹配代價體增加自適應的單峰濾波約束,從而使得預測的代價匹配體在真值附近能夠得到和真值一致的分佈,如圖 1 所示。第 1、3 行分別是 PSMNet 和 AcfNet 預測的代價分佈,第 2、4 行分別是真值的代價分佈。PSMNet 在真值附近生成了兩個最小值的峰值,這與真值的分佈不符合。而本文的 AcfNet 在真值附近生成了正確的分佈。
論文方法
方法概述(Overview)
圖 2 是 AcfNet 的整體框架圖。論文在 PSMNet 的基礎上,提出自適應單峰匹配代價體濾波,它作用於匹配代價體上。匹配代價體一方面通過 CENet 得到置信圖,結合真值視差形成對匹配代價體進行監督的單峰分佈,另一方面通過 soft argmin 來預測視差。
在匹配代價計算中,可能的視差分佈是 {0, 1, ..., D-1},那麼構建得到的匹配代價體的大小即為 H×W×D(高度×寬度×最大視差值)。形式上,對每個畫素包含 D 個代價的匹配代價體定義為 ,那麼每個子畫素估計的視差可以通過 soft argmin 得到:
將每個子畫素預測的視差和真值視差做 smooth L1 loss 使得整個網路模型是可導的,可以進行端到端的訓練。
然而,這種監督資訊還是不夠完善的,可能有無數種模型權重來實現正確的插值結果。中間產物代價匹配體由於其靈活性很容易過擬合,因為許多學習不正確的匹配代價體可能會插值接近真實的視差值。為了解決這個問題,根據匹配代價體的單峰特性,直接對其進行監督。
單峰分佈(Unimodal distribution)
匹配代價體是用來反映候選匹配畫素對之間的相似性的,因此真實的匹配畫素對應該具有最小的代價,這反映出在真值視差的附近應該是單峰分佈的,這種單峰分佈可以定義為:
這裡的 σ 是方差,用來控制分佈在峰值附近的尖銳度。但是這樣構造的真實匹配代價體並不能反映不同畫素之間的相似性分佈差異,比如桌角上的畫素應具有非常尖銳的峰,而均勻區域中的畫素應具有相對平坦的峰。為了為代價匹配體構建更合理的監督資訊,作者設計了一個置信度估計網路以自適應地預測每個畫素的 。
置信度估計網路(Confidence estimation network, CENet)
CENet 實際上是由兩個卷積層構成,第一層是帶有 BN 和 ReLu 的 3×3 卷積,第二層是帶有 sigmoid 啟用的 1×1 卷積用來生成置信圖 。再經過尺度縮放得到最終的真值匹配代價體監督資訊:
這裡非負的 s 反映的對置信度 的敏感性的比例因子,正數 ε 定義 的下界,避免了除以 0 的數值問題。由於置信度越高,其對應的匹配代價體就應該越低,所以 和 是成反比的, 的範圍在 [ε,s+ε]。消融實驗表明 s=1, ε=1 能取得最好的效能。論文中最終的結果也表明,置信度低的區域就是紋理較弱和難以匹配的遮擋區域。
立體焦點損失(Stereo focal loss)
預測的匹配代價體和真實的匹配代價體之間存在嚴重的樣本不均衡,因為對每一個畫素點來說只有一個視差值是正確的,這是一個正樣本,其餘的均為負樣本。因此,作者參照用於目標檢測的 focal loss,設計了 stereo focal loss。
其中 α=0 時與交叉熵損失一樣;α>0 時給視差正樣本賦予更多的權重。消融實驗表明比標準的交叉熵損失效能要好。
最終的損失函式由三部分構成,一是 stereo focal loss;二是預測視差和真實視差的迴歸損失;三是 CENet 得到的置信度的損失,其表示如下:
實驗結果
作者在立體匹配的主流資料集 Sceneflow,KITTI 2015,KITTI 2012 上進行實驗,從表 1 可以看到 AcfNet 的效能成為新的 state-of-the-art。圖 3 中最右邊兩列可以看到誤差圖和置信圖很好的對應起來,說明 AcfNet 可以給予具有豐富資訊的畫素較高的置信度,同時防止資訊較少的畫素過擬合。圖 4 在 KITTI 15 上的視覺化結果表明 AcfNet 在細節資訊上優於以往 SOTA 模型。
圖4. KITTI 2015資料集上的視覺化結果
評價與思考
本文的創新點比較新穎,關注的是以往被忽略的匹配代價體的監督問題,從理論上得出匹配代價體的分佈是單峰分佈。作者所提出的 CENet 和 stereo focal loss 也直觀而有效。行文寫作簡潔明瞭,值得學習。
立體匹配方法最大的難點是缺少泛化效能,本文對匹配代價體的概率分佈施加約束,能夠作為輔助的監督資訊,適用於多種基於匹配代價體的立體匹配方法。
參考文獻
[1] Mayer, N., Ilg, E., Hausser, P., Fischer, P., Cremers, D., Dosovitskiy, A., Brox, T.: A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). pp. 4040–4048 (2016)
[2] Liang, Z., Feng, Y., Guo, Y., Liu, H., Chen, W., Qiao, L., Zhou, L., Zhang, J.: Learning for disparity estimation through feature constancy. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). pp. 2811–2820 (2018)
[3] Kendall, A., Martirosyan, H., Dasgupta, S., Henry, P.: End-to-end learning of geometry and context for deep stereo regression. In: Proceedings of the IEEE International Conference on Computer Vision (ICCV). pp. 66–75 (2017)
[4] Chang, J.R., Chen, Y.S.: Pyramid stereo matching network. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). pp. 5410–5418 (2018) [5] Zhang, F., Prisacariu, V., Yang, R., Torr, P.H.: Ga-net: Guided aggregation net for end-to-end stereo matching. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). pp. 185–194 (2019)