1. 概念引入
permutohedra lattice
(原文:Fast high-dimensional filtering using the permutohedral lattice
下述文字參考了:https://blog.csdn.net/xuanwu_yan/article/details/7962508)
一個d維的permutohedral lattice是d+1維空間子平面分割,此超平面法向量為
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TTzoVd5cVYzljMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DN0EDMzITNzIDOxkDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
是以我們有
什麼是分割?一般認為分割的格子(lattice)是同樣形狀,一個平面能夠被相同形狀的格子沒有縫隙,沒有重疊的布滿,那麼格子就是空間的分割。
作者使用了單形進行分割。單形頂點在d+1維空間坐标我們不得而知,作者重新定義了基向量(并不完全準确,因為之間線性相關),于是此子平面上單形頂點的坐标直接滿足在平面上的要求,即
當d=3時,單形頂點在原點,單形的邊長為1,格子如下圖所示。
單形的頂點坐标為整數,并且一個點的坐标各項模d+1=3有相同餘項k,我們稱這個頂點為餘k點。這裡對上面的基向量稍微做一下解釋,假設在三維空間中,有子空間
,有
在xoy平面上,有三個點
這個點經過映射變換,就對應了上圖中的橙色區域,坐标為
也就是說,下圖右側x軸原點y軸夾的右上部分區域,是下圖左側分割空間坐标映射變換
bilateral convolution layer(BCL)
(原文:
1.Learning Sparse High Dimensional Filters:Image Filtering, Dense CRFs and Bilateral Neural Networks . CVPR2016
2. Permutohedral Lattice CNNs. ICLR 2015 )
BCL平滑地将輸入點映射到稀疏的格子上,在稀疏的點陣上執行卷積,然後将過濾後的信号平滑地插入到原始的輸入點上。主要分為: Splat、Convolve、Slice。
Splat: 通過質心插值,将輸入特征F投影到由晶格特征L。格子單體的大小或網格點之間的空間通過縮放格子特征ΔL來控制,其中Δ是縮放矩陣的對角線。
Convolve: 投影到dl維網格上,BCL使用可學習的濾波器核心執行dl維卷積。就像在标準CNN一樣,BCL在dl維空間中容易指定濾波器鄰域。
Slice: 通過質心插值将濾波後的信号映射回輸入點。
2. 主要架構
SPLATNet3D:輸入點雲首先通過一個1*1的卷積層,之後采用不同尺度的BCL層(采用了和CNN一樣的思想,格子變的越來越大,感受野也更加大,提取的特征越來高層),之後将這些BCL層合并,通過兩個1*1的CONV層得到每個點的預測。
對于分類問題,采用global pooling處理
SPLATNet2D-3D:
CNN1: 首先采用2D分割的CNN,本文采用的Deeplab
BCL2D-3D: 采用下圖的BCL隻包含(splat,slice)将圖像像素投影到點雲
2D-3D Fusion: 将投影到3D空間的特征和SPLATNet3D對點雲處理後得到的特征融合,通過一系列的1*1的卷積層得到了每個點的機率
BCL3D-2D:對于圖像的分類問題我們需要将3D特征投影到2D圖像,采用BCL2D-3D的逆操作完成
CNN2:将輸入圖像,CNN1的輸出和BCL3D-2D放到一個2DCNN處理
3. 論文意義
将圖像和點雲結合處理,互相限制,正如PointCNN提出方向一樣。
對于2D圖像,利用3D特征有助于在多個視點上進行一緻的預測。
對于3D點雲,合并2D-CNN,有助于利用2D-CNN是在高分辨率圖像上計算強大的特點。