# SliceNet: deep dense depth estimation from a single indoor panorama using a slice-based representation(CVPR 2021) * ==**論文:**== https://ieeexplore.ieee.org/document/9577890 * ==**主要特點:**== 1. 使用多層特徵對深度進行預測 2. 利用Bi-directional Long Short-Term Memory(BiLSTM)恢復不同特徵之間的相依性。 3. <font color="#e89845">損失考慮了預測的深度圖和真實深度圖之間的梯度關係</font> * ==**方法:**== 1. **網路架構**: ![](https://hackmd.io/_uploads/rJvOCGhya.png) ![](https://hackmd.io/_uploads/SJ1K0G2J6.png) 2. **激活函數**: 作者使用PReLU而不是傳統的ReLU和Leaky-ReLU,因為在深度估計任務中,損失通常不是特別的大,若使用ReLU和Leaky-ReLU容易造成梯度消失。 ![](https://hackmd.io/_uploads/BycI-XnJa.png) 3. **損失函數**: 使用Reverse Huber Loss ![](https://hackmd.io/_uploads/BJ4LQQn1T.png) | 符號 | 意義 | | -------- | -------- | | $e$ | 預測與目標間的誤差 | | $c$ | 通常設為整個mini batch中,誤差最大20%| 作者不只是對最後的深度圖去計算損失,還將<font color="#e89845">預測深度圖的x軸方向梯度和y軸方向的梯度,去與GT的x軸方向的梯度和y軸方向的梯度計算損失</font> 作者認為由於卷積層的關係,容易損失細節部分的特徵,所以利用這種方法讓模型能夠去估算出更細節的深度圖。公式如下: ![](https://hackmd.io/_uploads/SkE5BQ2JT.png) | 符號 | 意義 | | -------- | -------- | | $D$ | 預測的深度圖| | $D^*$| Ground Truth| | $\nabla{x}$| x軸方向上的梯度| | $\nabla{y}$| y軸方向上的梯度| 而在計算x、y軸的梯度時,可以使用<font color="#e89845">Sobel filter</font>來執行。Sobel filter的卷積核如下: ![](https://hackmd.io/_uploads/rkVsIm2J6.png) 效果: ![](https://hackmd.io/_uploads/Sk5Fn72J6.png) 公式推導: https://nrsyed.com/2018/02/18/edge-detection-in-images-how-to-derive-the-sobel-operator/ * ==**結果:**== ![](https://hackmd.io/_uploads/H1ba2Xh16.png) ![](https://hackmd.io/_uploads/rkCAn73J6.png) 有加x、y軸的梯度損失跟沒有加的比較如下: ![](https://hackmd.io/_uploads/SJ176X3JT.png)