天天看點

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

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維空間子平面分割,此超平面法向量為

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

是以我們有

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

什麼是分割?一般認為分割的格子(lattice)是同樣形狀,一個平面能夠被相同形狀的格子沒有縫隙,沒有重疊的布滿,那麼格子就是空間的分割。

作者使用了單形進行分割。單形頂點在d+1維空間坐标我們不得而知,作者重新定義了基向量(并不完全準确,因為之間線性相關),于是此子平面上單形頂點的坐标直接滿足在平面上的要求,即

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義
點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

當d=3時,單形頂點在原點,單形的邊長為1,格子如下圖所示。

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

單形的頂點坐标為整數,并且一個點的坐标各項模d+1=3有相同餘項k,我們稱這個頂點為餘k點。這裡對上面的基向量稍微做一下解釋,假設在三維空間中,有子空間

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

,有

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

在xoy平面上,有三個點

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

這個點經過映射變換,就對應了上圖中的橙色區域,坐标為

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

也就是說,下圖右側x軸原點y軸夾的右上部分區域,是下圖左側分割空間坐标映射變換

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

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: 通過質心插值将濾波後的信号映射回輸入點。

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

2. 主要架構

點雲深度學習系列三: SPLATNet: Sparse Lattice Networks for Point Cloud Processing1. 概念引入2. 主要架構3. 論文意義

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是在高分辨率圖像上計算強大的特點。

繼續閱讀