三維視覺論文閱讀:StereoNet2018雙目立體匹配

yanqs_whu發表於2021-01-04

論文

StereoNet: Guided Hierarchical Refinement for Real-Time Edge-Aware Depth Prediction

摘要

雙目立體匹配的計算效率一直是一個老大難,StereoNet在2018年提出了一個新的思路,即只用低解析度預測視差圖,然後不斷用圖片做導向濾波得到最終的高質量結果。
除此之外,本篇文章還分享了一些煉丹心得,也很有意思。

網路

StereoNet的網路結構還是非常簡單的,大致上分成三部分,第一部分提取特徵,第二部分視差計算,第三部分優化視差。
在這裡插入圖片描述

1. 特徵提取

在特徵提取模組,StereoNet並沒有套用複雜的VGGNet或者ResNet,而是首先設計了一個簡單的結構:5*5 stride=2的卷積用於降取樣,一系列3*3 stride=1的卷積用於提取特徵;然後堆砌 K = 3 o r 4 K=3 or4 K=3or4個這種結構來提取特徵;除此之外,在整個過程中,通道數量都是32,從而保證提取的特徵的質量。
在接下來進行視差計算時, K K K能夠有效的降低cost volumn的大小,因為視差的範圍僅有原始解析度的 1 2 K \frac {1} {2^K} 2K1

2. 視差計算

在計算視差計算時,首先要構建cost volumn。StereoNet的論文裡認為其實怎麼構建都無所謂,感覺效果都差不多(PSMNet是拼接在一起,FlowNetC是卷積);但是考慮到計算效率,StereoNet直接相減就算完成了cost volumn構建,相當直接優雅。
構建好cost volumn後,就要進行一定程度的cost volumn濾波(為什麼要濾波呢?建議讀一讀SGM),文章裡也很直接,直接跟一堆 3 ∗ 3 ∗ 3 3*3*3 333的三維卷積就完了,優雅又幹練。
cost volumn濾波完了,就直接用PSMNet的方法直接回歸出視差,公式如下。
在這裡插入圖片描述
另外,原文還吐槽了一下基於概率分佈的視差計算方法,作者認為這種方法過於複雜,收斂速度較慢。個人認為基於概率分佈的方法,AcfNet2019的解決方案更優雅。

3. 視差優化

StereoNet的作者認為,PSMNet那種三維卷積coarse-to-fine的思路其實沒啥價效比,因為計算量較大的底層並沒有帶來大幅度的質量提升。因此,StereoNet僅僅用第 K K K進行三維卷積,然後逐步通過優化的方式得到高解析度的結果。
視差優化的思路也很簡單,從濾波的角度來看,就是利用當前尺度的影像對當前尺度的視差圖進行導向濾波,完整的操作模式是:首先利用雙線性插值上取樣視差圖,提高一倍其解析度;然後將當前尺度的影像和插值得到的深度圖一起放到一系列 3 ∗ 3 3*3 33的帶洞卷積裡優化,得到當前尺度的結果;最後迴圈迭代上述過程,直至得到最終結果。
下圖展示了視差優化的過程及結果,可以明顯發現視差的質量被改善。
在這裡插入圖片描述

結果

StereoNet最大的貢獻還是來源於視差優化,對結果的提升實在是太明顯了。
在這裡插入圖片描述

相關文章