---
# System prepended metadata

title: ' SliceNet'
tags: [Panorama Depth Estimation]

---

# 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)

