點雲處理不得勁?球卷積了解一下

  • 2019 年 10 月 28 日
  • 筆記

唐木 發自 天龍寺 量子位 報道

點雲,是一種重要的三維數據形式,對於自動駕駛、VR/AR測量領域都有著十分重要的作用。

但點雲天然具有非規則的數據形式使得利用深度學習處理與影像迥然不同。

來自西澳大利亞大學的研究人員獨闢蹊徑,提出了與傳統截然不同的球卷積核方法,結合圖模型對點雲進行了有效的處理,並在分類和語義分割任務上取得了良好的結果。

讓我們先來看看這種新的球卷積系統:

最左邊的是新提出的球形核,它可以將空間系統地劃分為多個部分並用相應的權重提取特徵。

這種球核卷積方式具有旋轉不變性和非對稱特徵提取特徵,不僅能夠對數據中相同的局域特徵實現權重共享,同時也保證了幾何特徵的有效學習。

通過在點雲上構建圖模型,利用球卷積核可以有效地對點雲進行語義分割:

三維點雲處理

隨著自動駕駛的發展,光學雷達和多視角立體視覺技術提供了海量的點雲數據,但由於點雲的稀疏性和不規則性使得處理、感知和理解面臨著諸多挑戰。

早期研究基於二維影像經驗,將點雲柵格化並利用於二維類似的三維卷積處理。

由於計算量和記憶體消耗巨大,使得處理的點雲數量和解析度都十分有限。

後來引入八叉樹方法進行處理,但點雲的稀疏特性依舊讓劃分的空間記憶體在大量的無效區域。

近年來圖網路的興起為點雲的高效表示和處理提供了新的方向。

但如何設計出像規則卷積一樣有效處理非規則點雲的圖卷積模組,一直是學界在不斷努力解決的難題。

目前圖卷積處理點雲的主流方法是直接在空間域中進行處理,如果設計有效的離散卷積核科學家們一直在努力探索的目標。

與現有逐條邊進行濾波的連續方法相比,離散模型將大大減小點雲圖的計算量。

一個有效的離散圖卷積核需要滿足以下三個特徵:對空間的有效離散化、核操作具有可識別相似局域特徵的旋轉不變性、以及保證全局緊湊表達的非對稱特徵。

雖然PointNet及其變種提出了基於多層感知機進行點雲處理的有效方式,但卻沒有針對點雲數據提出一種適用於非規則稀疏空間的有效操作子。

如果要對非規則點雲進行精確有效的學習,抽取其中細粒度核多尺度特徵,並在大範圍高精度點雲中實現高效的表達核計算,需要研究新的空間表達核卷積操作。

而本文提出球形核處理圖網路的新方法為這個問題給出了一種可能的解決方案。

離散卷積核與球卷積

為了表示點雲的鄰域特徵,先前的方法利用目標點和周圍點的連續函數來計算權重:

w=h(xi-xj)

一般使用多層感知機來實現連續函數h,隨後再將基於這一權重濾波器進行特徵計算。而如果使用離散核來處理則無需進行中間的權重計算,使得模型所需的計算量大幅下降,從而也提升了計算效率。

與連續卷積不同,離散卷積首先對空間進行了劃分量化為一個個離散空間。針對每個空間區域有相匹配的權重進行作用。

先前的工作已經在基於3D體素中進行了一系列研究,但卻存在解析度低、無效計算多等缺點。

在這篇文章中,研究人員則提出了將離散和用於圖表達中來實現更為高效的點雲特徵抽取。這種新方法被稱為CNN3D。

它首先對空間中每一個劃分好的區域(也稱作bin)建立索引,並為每個區域賦予對應的權重以便將目標點領域內的所有點特徵急性提取,避免了對於沒有點區域的無效計算。

此外研究人員還發現與規則影像中常用的矩形柵格相比,球形空間更適合於對非規則的無序點雲的處理。

在離散卷積核球空間的基礎上,研究人員基於球形作為基本幾何形狀,構建出了新的卷積操作球卷積核

提取目標點的鄰域資訊是抽取點雲特徵的關鍵。研究人員以目標點為中心,距離rho為半徑構建起鄰域空間。

將這個球形空間劃分為nxpxq個區域,其中在經度和緯度方向上均勻劃分,而在半徑方向上進行非均勻劃分以適應體積隨半徑的變換。

此外還在目標點的中心定義了一個自卷積區域bin,一共將空間劃分成了nxpxq+1個區域。下圖中詳細展現了傳統三維卷積核球卷積SPH3D的差異。

CNN3D中空間被剖分為均勻的三維體素,而在SPH3D中則按球的幾何特性劃分成了非均勻的空間結構。

對於兩種方式來說,落在對應bin區域中的點通過bin對應的權重w將會把這些領域點的資訊傳到目標點作為目標點的鄰域資訊。

這種求卷積核具有非對稱性可以有效學習點雲中的細節資訊,對於幾何相關性的學習是的它具有很強的抗干擾能力,同時旋轉不變性則為點雲學習不同位置上的相似結構提供了可能。

與規則的三維體素卷積方式相比,SPH3D在空間解析度、學習能力和表達能力上都有突出的優點。

首先針對空間解析度來說,規則的體素分割法空間中之內分割出3x3x3=27個區域,而在相同的解析度下,如果使用球卷積的風格方法,最以pi/2作為最粗糙的角度分割,那麼也能將這一區域分割為4x4x3+1=49個區域。

此外,沿半徑方向上可以發現中心區域的空間相較於外層較小,細粒度的劃分bin集中在目標點周圍,這可以將點雲鄰域更為細節的資訊進行編碼,實現對點雲更緊緻的表達。

而基於規則體素的CNN3D則會在減小劃分區域提高解析度的同時大幅度提高記憶體和計算的消耗。

實驗表明球卷積的非均勻空間劃分在33個bin的情況下就超過了規則劃分CNN3D利用125bins得到的結果精度。

基於球卷積的圖神經網路

在圖卷積的基礎上,研究人員構建了編碼器解碼器的圖卷積網路架構。

其中層間跳接特徵集成是的更多的底層資訊被涵蓋到解碼器中,而池化淤上取樣的實現則為網路提供了特徵提取和解析度提升的有效手段。

為了構建代表點雲的圖,研究人員首先使用限定數量的距離搜索方法來為空間點尋找到半徑rho內的相鄰點,並基於此構建圖中每個頂點及其對應的邊。

每個點對於鄰域進行距離搜索相對獨立可以充分利用GPU加速圖的構建。隨後採用了最遠點取樣的方法對下層點雲進行粗糙取樣,並在粗糙化的基礎上利用pooling來抽取其中相關特徵。

最終在解碼階段還需利用unpooling來重新增加網路的解析度。這一網路中的卷積都通過前述的球卷積實現,同時研究人員還利用cuda實現了池化和上取樣的相關介面並可以利用tensorflow調用。

實驗結果

為了驗證這一方法的有效性,研究人員在多個模擬和真實數據上進行了試驗。modelnet,shapnet、Monge2014、ScanNet、S3DIS等等都是常用的三維點雲基準數據。

針對每個數據集,研究人員都和相關的演算法進行了比較。我們著重來看看針對真實掃描數據集S3DIS的結果。

圖中可以看到,相較於先前的方法,SPH3D方法在全局精度、平均精度和IoU上都達到了很好的結果。

S3DIS是一個大規模的室內掃描數據,其中的數據點多大百萬量級。研究人員使用了下取樣策略,在0.4M的模型參數規模上實現了超過卷積網路的結果。

為了更詳細的理解模型,文章中還對球卷積核進行了可視化分析。下圖中的卷積來於編碼器第二層的可視化結果,其中的區域被剖分成了8x2x2+1個區間。

可以看到不同核的權重分布各不相同,例如第一行第三個核在上半球為正下半球為負,而下方的卷積核則全部都為負。

這意味著不同的核負責識別出不同模式的特徵,有效的將點雲中的特徵進行了抽取。

與影像處理的CNN類似,對於點雲的空間處理也具有各種典型的模式。這一基於球空間剖分的圖卷積工作為點雲的處理提供了新的思路。

論文傳送門:

https://arxiv.org/pdf/1909.09287.pdf

程式碼傳送門:

https://github.com/hlei-ziyan/SPH3D-GCN