# HoHoNet: 360 Indoor Holistic Understanding with Latent Horizontal Features(CVPR 2021) * ==**論文:**== https://arxiv.org/abs/2011.11498 * ==**主要特點:**== 1. 可用於預測深度、layout和Semantic segmentation 2. 在RTX2080上可跑到110fps * ==**方法:**== 1. **網路架構**: 主要思想源於HorizonNet,將影像特徵壓縮到一維後再去執行下游任務。Backbone使用resnet50,接著從不同的layer輸出的特徵送入EHC Block。之後再送入MHSA與一個2D Conv(LHFeat)輸出一維特徵。 ![](https://hackmd.io/_uploads/Syr3NeoyT.png) * EHC Block: ![](https://hackmd.io/_uploads/By2SHls16.png) 2. **模型輸出** 由於LHFeat輸出的特徵為一維,所以要進行上採樣的動作才可以去當作最後的輸出。作者在這邊提出了兩種方法,一種是單純的插值,另一種是使用<font color="#e89845">Inverse discrete cosine transform (IDCT)</font>。 假設網路的最後輸出為$D$ X $W_1$,而輸出的維度要為$H_{inp}$ x $W_{inp}$,會先經過一個上採樣,將$D$ X $W_1$ 變成 $D$ X $W_{inp}$,之後再經過一個1x1的Conv得到$N$ X ${r}$ X $W_{inp}$。而這邊的N等於想要輸出的通道數,$r$則為超參數。 * Interpolation: 利用線性插值將$N$ X ${r}$ X $W_{inp}$ resize到 $N$ X $H_{inp}$ X $W_{inp}$ * IDCT: Discrete Cosine Transform(DCT)又稱為離散餘弦轉換,與傅立葉轉換(Fourier Transform)類似,但只使用實數做運算,<font color="#e89845">同樣可將影像轉換至頻率域(Frequency domain)</font>。轉換後的頻譜圖能判斷紋理方向及強弱,實際對應到圖像上的分區如下: ![](https://hackmd.io/_uploads/Sybd3eskp.png) 實際應用如下: 可將影像轉換頻率域,再透過遮罩的手法就可以把高頻的像素濾除 ![](https://hackmd.io/_uploads/ByI5nxika.png) ![](https://hackmd.io/_uploads/rkJ2nxs16.png) 將左下被corp的圖進行IDCT可得到右下角的圖 <font color="#e89845">而作者認為將$r$視為預測在frequency domain的頻率,可以得到更有意義的特徵訊息</font>,所以使用此方法來替代Interpolation。具體方法如下 假設最後一層的輸出如下: ![](https://hackmd.io/_uploads/Sy1WW-syp.png) 公式: ![](https://hackmd.io/_uploads/HJHzzWj16.png) $x=[x_n]^{r-1}_{n=0}$ = $[x_0, x_1, ... x_{n-1}]\in R^r$ $X=[X_m]^{H-1}_{m=0}$ = $[X_0, X_1, ... X_{H-1}]\in R^H$ * ==**結果:**== ![](https://hackmd.io/_uploads/HyA2m-oyp.png) ![](https://hackmd.io/_uploads/BJYAQbokp.png) ![](https://hackmd.io/_uploads/r19k4ZoJa.png)