基於深度學習的三維語意理解(分割)綜述列表

2020-10-02 12:00:32

基於深度學習的三維語意理解(分割)綜述列表


前言

隨著2016年pointnet的發表,三維空間中的語音理解逐漸進入了爆發式的增長,本文對至今一些優秀的文章進行部分整理。

基於深度學習的三維語意理解(分割)綜述列表

一、 從三維模型中進行深度學習

1.1基於點雲的方法

  1. 基於多檢視
    (1)MVCNN(Su et al )(2015)
    (2)MHBN(Yu et al)(2018)
    (3)View-GCN(Wei et al)(2020)
    (4)SnapNet(Boulch et al)(2017)(可分割)
    (5)DeepPr3SS(Lawin et al)(2017)(可分割)
    (6)TangentConv(Tatarchenko ta al)(2018)(可分割)
    (7)MV3D(Chen et al.)(2017)
    (8)RT3D(Zeng et al )(2018)
    (9)ContFuse(Liang et al)(2018)
    (10)AVOD(Ku et al)(2018)
    (11)SCANet(Lu et al )(2019)
    (12)MMF(Liang et al)(2019)

注:基於BEV的方法: (且是single shot methods)
(1)PIXOR(Yang et al)(2018)
(2)HDNET(Yang et al)(2018)
(3)BirdNet(Beltran et al.)(2018)
(4)PointPillars(Lang et al.)(2019)
(5)Point-GNN(Shi et al )(2020)

  1. 基於球形投影(Spherical)
    在這裡插入圖片描述

圖片上方為球形投影的結果,下方是點雲。
上方影象的每一行對應於從鐳射雷達的每個鐳射獲得的點。在此,影象中的最低行對應於鐳射雷達中的最低鐳射,是鐳射雷達附近最接近的環,如上所示。
投影不是及那個曲面進行簡單地展開,而是一個基於座標系變換的過程。(將三維的點用圖片的形式來表示)
具體如何進行球面投影,可以參考https://blog.csdn.net/weixin_43199584/article/details/105260463

(1)SqueezeSeg(wu et al 2017)(可分割)

本文的核心貢獻,是對三維的點雲進行預處理,將點雲資料變換成圖片的形式來表示,然後利用成熟的二維折積的方法來完成分割任務。

(2)SqueezeSeg22(Wu et al 2018)(可分割)
(3)RangeNet++(Milioto et al 2019)(可分割)

RangeNet++是以SqueezeSeg和SqueezeSegV2為基礎,都使用了點雲的球面投影的方法,可以將點雲資料轉換為可以支援很多成熟的二維影象處理方法的資料。(用圖片的方式來表示點雲)(有效的將點雲資料進行降維的方法),同時該方案計算量相對較小,適合於自動駕駛等領域進行實時處理。
處理流程:

  1. 將三維點雲資料通過球投影的方式轉換為二維的表示方法。
  2. 在該二維的iamge上進行2D全折積語意分割。
  3. 將分割成功的2D資訊轉換到3D點雲上
  4. 對分割結果進行優化。
  1. MLP
    (1)PointNet(Qi et al)(2016)(可分割)

見https://blog.csdn.net/qq_41918369/article/details/108075239

(2)PointNet++(Qi et al)(2017)(可分割)

見https://blog.csdn.net/qq_41918369/article/details/108075239

(3)3DContextNet(Zeng et al.)(2017)(可分割)
(4)A-SCN(xie et al.)(2018)(可分割)
(5)PointSIFT(Jiang et al )(2018)(可分割)
(6)Engelman(Engleman et al)(2018)(可分割)
(7)PAT(Yang et al.)(2019)(可分割)
(8)LSANet(chen et al)(2019)(可分割)
(9)PointWeb(Zhao et al)(2019)(可分割)
(10)ShellNet(Zhang et al )(2019)(可分割)
(11)RandLA-Net(Hu et al)(2019)(可分割)
(12)Mo-Net(Joseph-Rivlin et al)(2018)
(13)SRN(Duan et al)(2019)
(14)JustLookUp(Lin et al)(2019)
(15)PointASNL(Yan et al)(2020)
(16)PointRCNN(Shi et al)(2019)

作者提出了一種三維物體檢測器pointRCNN,可以直接從原始的點雲中檢測三維物體,(該網路為two-stage網路),stage-1直接從點雲中生成多個粗略的3Dbox,stage-2,優化一階段的3Dbox並對每個box中的物體進行class分類。
stage-1:
先通過pointnet++對每個點的特徵進行提取,然後通過點的特徵,將所有的點分為前景點和背景點,並將背景點刪除,同時在前景點上,對每個點都生成一個box,然後通過部分優化,留下,部分得分最高的box。
stage-2:
將stage-1中生成的部分精準的box進行標準化座標變換,然後再通過區域性的pointnet,進行區域性特徵的學習,得到區域性的特徵向量,再和全域性的特徵向量進行拼接,然後優化每個點的特徵,然後重新生成一個最優的3D-box,同時完成class任務。

  1. 基於圖折積網路的方法
    (1)SPG(Landrieu and Simonovski)(2017)(可分割)
    (2)SSP(Landrieu and Bussaha)(2019)(可分割)
    (3)DGCNN(Wang et al)(2018)(可分割)

本文貢獻:(1)EdgeConv在保證置換不變性的同事捕獲區域性幾何資訊。
(2)DGCNN可以在動態更新圖的同事,在語意上將點聚合起來,
(3)EdgeConv可以遷入多個已有的多個點雲處理框架中。
本文提出了一個新的神經網路模組——EdgeConv.
EdgeConv的優點:(1)包含了區域性鄰域的資訊,
(2)可以通過EdgeConv模組的迴圈使用,提取全域性的形狀特徵。
(3)在多層系統中,特徵空間中的相對關係包含了語意特徵。
EdgeConv的不足:EdgeConv考慮了點的座標與領域點的距離,但是忽略了相鄰點之間的向量方向,最終還是損失了一部分的區域性幾何資訊。
EdgeConv
首先提取中心點與臨近店之間的邊特徵,再進行折積操作。
具體步驟:
(1)先利用MLP對每個點提取一遍特徵
(2)再利用多種方式將點和周圍點的特徵進行融合,本文提出了四種融合方式,此處介紹一種,我個人認為最合理的一種方式:將中心點的特徵,與中心點與K個臨近點之間的特徵差進行串聯,然後輸入MLP中,這樣便融合了點之間的區域性關係和點的全域性特徵。
作者認為PointNet++不足的原因: pointnet++在處理區域性區域的點的時候未來保證置換不變性而導致過於獨立,這樣會忽視了點之間的集合相關資訊,導致一部分的資訊丟失。

(4)PyramNet(Kang and Liu.)(2019)(可分割)
(5)GACNet(Wang et al)(2019)(可分割)
(6)SPH3D-GCN(Lei et al)(2019)(可分割)
(7)HEPIN(Jiang et al )(2019)(可分割)
(8)DPAM(Liu et al.)(2019)(可分割)
(9)ECC(Simonovsky et al)(2017)
(10)KCNet(Shen et al.)(2017)
(11)FoldingNet(Yang et al.)(2017)
(12)AGCN(Li et al.)(2018)
(13)LocalSpecGCN(Wang et al )(2018)
(14)RGCNN(Te et al .)(2018)
(15)3DTI-Net(Pan et al )(2018)
(16)ClusterNet(Chen et al.)(2019)
(17)DPAM(Liu et al.)(2019)
(18)Grid-GCN(Xu et al.)(2020)
(19)DeepGCNs(2019)(可分割)

本文作者認為CNN(完美的應用歐氏距離的資料中)成功的原因在於:CNN可以設計並使用深層的網路結構,,但現在GCN(用來處理拓撲結構的資料)現階段只能處理2-3層的資料,(由於深層的GCN的Aggregate容易造成over
smooth問題,即節點間的feature難以區分),本文來探究能否也生成一個深層的GCN網路模型。

本文解決深度GCN出現的問題的方法,使用residual/dense connections 和DGCNN中的 edge conv
三種方法方法一同來克服了深度GCN中出現的問題。

  1. 基於點的折積的方法
    (1)PointCNN(Li et al)(2018)(可分割)

本文的主要貢獻是:引入了一個新的運算方法X-Conv
本作者想要解決對無序的點雲的折積問題,作者的解決核心思路是:將無序的點雲進行有序化變換,然後使用折積的方法,進行特徵提取。
作者的解決方案:使用空間變換網路(STN)從前一層的資料中提取K個點,預測一個K*K大小的轉置矩陣(X-transformation),用轉置矩陣對前一層的特徵做變換,然後對變換後的特徵用折積。此外,同樣也在提取出k個近鄰後,將各個點轉換到區域性座標系。
PointCNN的優點:引數少,訓練時間短,比較優美

X-Conv的具體過程看見週報筆記。

(2)MCCN(Hermosilla et al)(2018)(可分割)
(3)PointConv(Wu et al)(2018)(可分割)

(4)ConvPoint(Boulch et al.)(2019)(可分割)
(5)A-CNN(Komarichev et al)(2019)(可分割)
(6)KPConv(Thomas et al)(2019)(可分割)
(7)InterpCNN(Mao et al)(2019)(可分割)
(8)DPC(Engelmann et al.)(2019)(可分割)
(9)SphericalCNN(Spherical)(2017)
(10)Point wise CNN(Hua et al)(2017)

(11)Tensor field Network(Thomas et al)(2018)
(12)Flex-Convolution(Groh et al.)(2018)
(13)PCNN(Matan et al.)(2018)
(14)SpiderCNN(Xu et al)(2018)
(15)MCCNN(Hermosilla et al)(2018)
(16)Geo-CNN(Lan et al)(2018)
(17)Ψ-CNN(Lei et al)(2019)
(18)LP-3DCNN(Kumawat et al.)(2019)
(19)RS-CNN(Liu et al.)(2019)
(20)KPConv(Thomas et al)(2019)
(21)SFCNN(Rao et al.)(2019)
(22)DensePoint(Liu et al)(2019)
(23)ConvPoint(Boulch et al.)(2020)

  1. 基於RNN的方法

迴圈神經網路的本質是:像人一樣擁有記憶的能力,使得機器能夠聯絡上下文的語句,理解當 前單詞或者預語句的意思 現階段的RNN的各種變形還可以學習二維視訊資訊和三維視訊的資訊。
RNN與CNN的本質區別:CNN沒有記憶功能,它的輸出僅依賴於輸入和網路的權重值,但 RNN有記憶功能,他的輸出不僅依賴於當前的輸入,還依賴當前的記憶。
CNN的輸入是單一的圖片等單一性質的資料,而RNN的輸入是一個序列,一個隨時間變化的序列

(1)G+RCU(Engelam et al)(2018)(可分割)
(2)RSNet(Huang et al)(2018)(可分割)
(3)3P-RNN(Ye et al )(2018)(可分割)

本文的3P(Pointwise Pyramid Pooling)
也是先通過MLP來提取點雲的特徵,然後設定一個金字塔模型,對不同大小的區域的點雲分別提取區域性資訊(大區域性,小區域性,等)和全域性資訊,然後獲得每個點的全部資訊,(此時每個點的特徵為特徵向量,)
再將特徵向量放入雙向的RNN中,進行學習,然後通過全連線層來完成分割任務

(4)DARNet(Zhao et al )(2019)(可分割)
(5)PointRNN(Fan et al)(2018)

一個用來處理動態點雲的深度學習網路。主要貢獻:本提出了PointRNN和其兩個變體,PointGRU、PointLSTM 都可以應用於移動點雲的預測(結合給定點的歷史運動軌跡來預測點雲的未來軌跡)動態點雲學習
注:傳統的RNN是以一維向量作為輸入的,RNN的一些變體如Cubic
ConvLSTM可以用來對二維視訊進行深度學習,本文PointRNN是進一步的變體,可以對三維點雲視訊(動態三維點雲)進行深度學習

  1. 基於晶格的方法(Lattice)
    (1)LatticeNet(Rosu et al.)(2019)(可分割)

該網路可以在 (2)中晶格的基礎上可以實現大點雲的有效處理

(2)SPLATNet(Su et al.)(2018)

本篇文章方法小眾,且文章難度
且同時pointNet、pointcnn處理起來複雜了一些,但相比於基於樹的點雲處理網路相比,(樹的網路如OCNN都是講點雲進行高效的組織化,然後再套用成熟的神經網路進行處理,一般不是end-to-end網路)但是本篇文章的方法把對點雲的組織者一步驟放到了每一次折積操作中,實現了end-to-end。
注;本文應用的bilateral convolution lays(BCLs)和permutohedra lattice 並非作者首創,
文章中BCL平滑地將輸入點對映到稀疏的格子上,在稀疏的點陣上執行折積,然後將過濾後的訊號平滑地插入到原始的輸入點上。主要分為: Splat、Convolve、Slice:
1.Splat: BCL首先將輸入特徵結合到晶格
2.Convolve: BCL在這些點陣上進行折積操作,(就像標準CNN一樣)
3.Slice:經過折積後的訊號插值(barycentric interpolation)投影回輸入訊號。
注:該網路可以靈活地聯合處理處理多檢視影象和點雲。
在這裡插入圖片描述

  1. 有待閱讀後進行進一步分類
    (1)ShapeContexNet(Xie et al.)(2018)
    (2)PVNet(You et al.)(2018)
    (3)Point2Sequence(Liu et al )(2018)
    (4)PVRNet(You et al )(2018)
    (5)3DPointCapsNet(Zhao et al)(2018)
    (6)RCNet(Wu et al.)
    (7)PointDAN(Qin et al)(2019)

(8)3D FCN(Li et al.)(2017)
(9)Vote3Deep(Li et al.)(2017)
(10)VoxelNet(Zhou et al.)(2018)
(11)SECOND(Yan et al.)(2018)
(12)3DBN(Li et al)(2019)
(13)3DSSD(Yang et al.)(2020)

single shot methods

(14)LaserNet(Meyer et al)(2019)

(15)3D iou loss(Zhou et al)(2019)
(16)Part-A^2(Shi et al.)(2019)
(17)Fast Point RCNN(Chen et al.)(2019)
(18)VoteNet(QI et al.)(2019)

(19)LaserNet++(Mayer et al .)(2019)

(20)PV-RCNN(Shi et al )(2019)

(21)OHS(Chen et al.)(2019)

(22)ImVoteNet(Qi et al.)(2020)

(23)SA-SSD(He et al.)(2020)

1.2基於體素的方法

SECOND,PointPillar,Part-A^2

1.3基於mesh的方法

二、多模態融合的方法

(1)3DMV(Dai and NieBner)(2018)
(2)UPB(Chiang et al.)(2018)
(3)MVPNet(Jaritz et al.)(2019)

Frustum-based Mthods

(1)F-PointNets(QI et al )(2018)
(2)PointFusion(XU et al.)(2018)
(3)RoarNet(Shin et al.)(2018)
(4)SIFRNet(Zhao et al.)(2019)
(5)F-ConvNet(Wang et al.)(2019)
(6)Patch Refinement(Zhao et al )(2019)

2.1緊耦合

  1. voxel-based
    (1)CD-CVF( Yoo et al 韓國)(2020)

將雷達的點雲體素化後 ,通折積層進行預處理,生成在BEV下的特徵地圖,然後對多視角(構成閉合環形)的image進行FPN(CNN的一種網路)進行預處理,生成特徵地圖,然後用auto-calibrated
feature projection將多幅圖進行融合,生成BEV下的feature,再利用adaptive gated fusion
network來融合雷達和image預處理後的BEV圖,再進行正常的RPN。

  1. point-based
    (1) PI-RCNN(Xie et al)(2019)

point分支和image分支分別做3D目標檢測任務和語意分割任務,然後對每個點搜尋K臨近點,對這些點結合相機的內外參反向投入二維的語意地圖中,得出這幾個點對應二維中的畫素的語意特徵,然後將這幾個點的幾何特徵和語意特徵進行聯合積分,得到聯合特徵;最後將幾何特徵,語意特徵,聯合特徵進行拼接,更新該點的特徵,從而完成二次優化的任務,實現點雲資料和RGB資料的融合。

(2)PointPainting(cvpr2020)

該工作的fusion方式是採用二維語意分割資訊通過lidar資訊和image資訊的變換矩陣融合到點上,再採用baseline物體檢測;可以理解為對於語意分割出的物體多了一些資訊作為引導,得到更好的檢測精度。和上面的pi-rcnn的不同之處是該融合是一個串聯的網路結構,將語意分割後的特徵和原始點雲一起送入深度學習網路中.

2.2鬆耦合

(1)CLOCs

該網路經歷了三個主要的階段(1)2D和3D的目標檢測器分別提出proposals(2)將兩種模態的proposals編碼成稀疏張量(3)對於非空的元素採用二維折積做對應的特徵融合。

總結