1. 程式人生 > >Fully-Convolutional Point Networks for Large-Scale Point Clouds

Fully-Convolutional Point Networks for Large-Scale Point Clouds

Abstract

       這項工作提出了一種通用的,完全卷積的網路架構,用於有效處理大規模3D資料。 我們的方法的一個顯著特點是它能夠處理無組織的3D表示,例如點雲作為輸入,然後將它們內部轉換為有序結構,以便能用3D卷積來進行處理。與從輸入到輸出維持無組織或有組織表示的傳統方法相比,我們的方法具有操作儲存器有效輸入資料表示的優點,同時利用卷積操作的自然結構來避免冗餘計算和儲存 網路中的空間資訊。該網路消除了對原始感測器資料進行預處理或後處理的需要。這與網路的完全卷積性質相結合,使其成為一種端到端的方法,能夠同時處理大量空間甚至整個房間的點雲,最多可達200k點。 另一個優點是我們的網路可以直接在輸入雲上生成有序輸出或地圖預測,從而使其適合作為適用於許多3D任務的通用點雲描述符。我們通過在基準資料集上對語義體素分割,語義部分分割和3D場景字幕進行評估,展示了我們網路有效學習低階特徵以及複雜構圖關係的能力。

1 Introduction

       處理從3D掃描器或深度相機獲得的3D資料 是3D計算機視覺領域豐富應用的基礎,場景理解,增強/混合現實,機器人和自動駕駛。從3D場景中提取可靠的語義資訊很有用,例如,將虛擬內容適當地新增到我們周圍的3D空間或將其描述給視障人士。類似地,在機器人技術中,從深度相機獲取的3D資料的處理允許機器人執行超出路徑規劃和避免碰撞的複雜任務,這需要在現實世界環境中進行智慧互動。最近的研究趨勢集中在設計有效的學習架構,用於處理常見的3D資料表示,如點雲,網格和體素圖,用於基於體素的語義場景分割[1],基於部分的3D目標分割[2]和3D對應匹配[3]。等任務。這些模型的主要目標是在處理現實世界資料(如噪聲,空洞,遮擋和部分掃描)以及視點變化和3D變換(旋轉和平移)時出現的典型問題的魯棒性。 與語義推斷更相關的另一個挑戰涉及處理表徵真實世界場景的大量類及其通常較大的類內方差。為了追求適用於小規模和大規模任務的多功能3D架構,不僅需要從多個尺度的3D資料中提取有意義的特徵,而且還希望一次在大空間區域上操作。為此,由於引數的大幅度減少以及可變輸入尺寸的靈活性,全卷積網路(FCN)最近發展到了突出的地位。但是,從最低級別開始學習這些分層統計分佈需要大量資料。為了實現這一目標,一些方法訓練合成數據,但在應用於現實世界時受到域間隙的影響[5]。縮小這一差距的一大步是ScanNet,一個大規模的室內掃描資料集[1]。由於3D資料中存在額外的維度,在這些具有挑戰性的任務上實現最先進效能的方法很快就會達到當前GPU的記憶體限制[6,7]。雖然上述FCN架構減少了引數的數量,但它要求輸入處於有序(密集)形式。為了避免將原始無序資料轉換為有序表示的需要,PointNet [2]提出了一種直接對無序點集合進行操作的體系結構。 由於PointNet只學習點雲的全域性描述符,齊等人 後來用PointNet ++ [8]引入了一個基於分層點的網路。雖然在幾項任務中取得了令人矚目的成果,但由於其完全基於點的性質,PointNet ++無法利用3D卷積提供的記憶體和效能優勢。 這要求PointNet ++冗餘地計算和儲存每個點的上下文,即使它們在空間上重疊。我們提出了一種用於處理3D資料的通用全卷積網路架構:全卷積點網路(FCPN)。我們的網路是混合的,即設計用於輸入無組織的3D表示,例如點雲,同時通過3D卷積在內部有組織的處理它們。這與其他方法不同,後者要求輸入和內部資料表示為無組織點集[2,8,9]或有組織資料[5,1]。我們的混合方法的優點是可以獲得兩種表示的好處。與[5,1]不同,我們的網路執行在記憶體高效的輸入表示上,可以很好地適應場景/物件大小,並將其轉換為可以通過卷積處理的有組織的內部表示。我們的方法的一個好處是它可以在一次通過處理點雲時擴充套件到大容量。 它也可以在小區域進行訓練,例如: 2.4×2.4×2.4米以後在推理過程中應用於較大的點雲。在圖2中給出了在語義體素標記訓練的網路的三個不同尺度上的輸出的視覺化。雖然所提出的方法主要用於大規模,真實世界的場景理解應用,通過語義體素標記和3D場景字幕任務來證明,該方法也在語義部分分割上進行評估,以證明其作為作用於一系列空間尺度上操作上的通用特徵描述符的多功能性。

       我們的主要貢獻是(1)基於混合無組織輸入/組織內部表示的網路; (2)第一個在原始點集上執行的完全卷積網路。我們通過在高達80平方米的完整ScanNet場景區域上執行它來展示其可擴充套件性。 此外,我們通過在大規模語義體素標註和3D零件分割上進行評估來展示我們學習的特徵描述符的多功能性。此外,作為第三個貢獻,我們探索了我們的方法對於我們配音3D字幕的新任務的適用性,該任務解決了從室內空間的部分3D重建中提取有意義的文字描述。我們演示了我們的方法如何非常適合處理此任務,利用其嵌入上下文資訊的能力,從無序輸入生成空間有序的輸出描述符,這是字幕所必需的。 對於這項任務,我們還發布了一個帶有人工註釋字幕的新穎資料集。

2 Related Work

       深度學習已經對3D計算機視覺產生了重大影響。那些3D深度學習方法可以歸類為(a),對有序輸入進行操作的基於體積或體素的模型(參見第2.1節)或(b)完全使用無序資料的基於點的模型(參見第2.2節)。一些方法不直接處理3D資料,而是在2D中操作或2.5D(RGB-D),例如,多檢視CNN [10,11,12]。 通常,RGB(-D)基於方法的方法更側重於顏色資訊,而不是幾何。這使得它在不同的照明條件下不太穩健。相反,我們提出的方法是完全幾何的,因此我們不在此進一步回顧基於RGB-D的方法。

2.1 Voxel-based networks

       大多數基於體積或體素的3D深度學習方法通​​過在各種任務上實現最先進的精度[1,13,14,15,5]來證明其價值。這些方法採用卷積體系結構來有效地處理資料。然而,這需要組織輸入資料 - 儲存在預定義順序的密集網格中。然後用該語義類標記該網格中的每個均勻大小的體素。 3D資料的有序表示具有以鄰居的恆定時間(O(1))查詢為特徵的優點。這種表示通常明確地模擬空白空間,使其佔用大量記憶體。由於3D資料通常非常稀疏,因此效率特別低。此外,體素化對資料施加明確的解析度。要將稀疏3D資料轉換為密集表示,需要預處理:使用簡單佔用網格或通過對其進行編碼,例如,在截斷的有向距離欄位(TSDF)中進行預處理KinectFusion [16,5]。這意味著模型不會看到資料本身,而是看到它的下采樣編碼。VoxNet是使用3D卷積網路進行物體識別的開創性工作[13]。同樣,Wu等學習應用於形狀識別和補充的深度體素表示[17]。另一個應用於醫學成像的流行示例是3D U-Net [14]。它以132×132×116的相對較高的輸入解析度處理,但僅輸出體積的中心。在當前儲存器可用性的情況下,較大空間的體素化通常需要以較低的取樣密度進行標記,這意味著解析度的損失。或者,如果使用較小的上下文來通知每個體素的預測,則可以實現更高的密度。例如,ScanNet [1]使用體素鄰域的佔用特徵對場景中的每個約5cm體素列執行語義體素標記。SSCNet通過使用擴張卷積實現聯合語義標記和完成深度影象的2.26立方米更大空間範圍。 但是,在這種情況下,輸出的大小和解析度也會降低[5]。為了解決這一限制,OctNet建議使用OctTrees,通過在OctTree資料結構上直接引入卷積,在深度學習環境中有效地分割八分圓中的3D空間[7]。Klokov和Lempitsky展示了使用kd-trees的另一種解決方案[6]。 然而,這些方法仍然施加最小的空間離散化。我們的網路靈活高效,足以緩解此記憶體限制,無需以任何方式對輸入進行離散化。

2.2 Point-based networks

       PointNet [2]是一項直接針對無序點開展工作的開創性工作。齊等人 展示了直接使用點集的優勢,在連續空間中學習更準確的分佈,從而避免了對輸入施加取樣解析度的需要。PointNet在單一規模操作的同時,在分類,零件分割和場景分割任務方面實現了最先進的效能。他們進一步聲稱對可變點密度和異常值具有魯棒性。然而,由於PointNet不捕獲區域性特徵,作者後來引入了PointNet ++ [8]一個多尺度基於點的網路,該網路使用PointNet作為語義分割的本地特徵學習器,以及其他任務。在語義分割任務中,首先抽象點上下文,然後通過潛在空間中的3NN插值進行傳播。對於大規模場景分割任務,PointNet ++冗餘地處理和儲存整個網路中的點的上下文是相關的。這可以防止PointNet ++在一次通過中處理大空間。 而是在語義場景分割任務中,它處理由8192個點表示的1.5×1.5×3米的滑動區域。我們的工作是 - 作為同類中的第一個 - 混合並因此定位在這些體積和基於點的方法之間。因此,允許通過使用3D卷積進行強大的多尺度特徵編碼,同時仍然直接處理點集。

3 Fully-Convolutional Point Network

       我們的網路在無組織輸入上執行,並將PointNet [2]用作低階特徵描述符。與PointNet ++ [8]相反,採用了統一的取樣策略。此步驟捕獲每個區域性區域中的精確區域性幾何,並將無序輸入內部轉換為有序表示以供進一步處理。這種轉換之後是3D卷積,然後學習多個尺度的成分關係。我們的網路以三個等級S 1,S 2和S 3抽象空間。在每個尺度上以1×1×1和3×3×3卷積跳過連線,可以使網路捕獲的特徵尺度總數翻倍。在最高抽象尺度下,特徵通過它們與每個體素的距離加權平均彙總在一起。一旦在每個抽象比例下產生特徵,相同大小的特徵體積被連線並通過3D解卷積逐步上取樣以實現期望的輸出取樣密度。圖3概述了所提出的架構。根據場景,可以應用額外的卷積,潛在最近鄰插值或完全連線的層,以分別產生有序的端到端點對映或單值輸出。在以下部分中,將更詳細地描述我們網路的不同元件。

3.1 Architecture

       全卷積點網路由四個主要模組組成:一系列抽象層,不同尺度的特徵學習者,加權平均彙集層和合並階段,其中響應被分層次地合併在一起。

Abstraction Layers

        三個抽象層用於在空間和概念上實現分層分割槽。 第一級捕獲基本邊緣和角落等幾何特徵,二級響應複雜結構和其他結構背景下的最高層次結構。

        第一級採用簡化的PointNet [8],經證實可有效捕獲區域性區域的幾何形狀。 它包括半徑搜尋和分組,1×1×1卷積,後跟最大池層。在均勻間隔的3D網格中應用PointNet會生成表示最低級別物理特徵的3D特徵體積。此特徵體積將輸入下一個抽象層。 更高級別的抽象層實現為3D卷積,核心大小和步幅為2。它們被設計成以非重疊的方式抽象空間,前面的抽象層的8個特徵(八分圓)由後續層中的單個單元表示,就像OctTree一樣。這種非重疊的空間劃分顯著減少了 在每個抽象級別儲存空間所需的記憶體。

Feature Learners

       通過三個抽象層次,我們現在採用1×1×1和3×3×3卷積來提取更多尺度的有意義的特徵(見圖4)。 對於每個抽象級別,跳過連線在級別的固有空間尺度上傳播要素以及稍後在網路中合併的3×。 這允許網路更好地識別更寬範圍的結構並且克服抽象層的嚴格非重疊分割槽。

Weighted Average Pooling

       加權平均池化層高效地結合了遠端上下文資訊。對最高抽象層次的每一個單元,空間中所有其他單元的響應通過他們到該單元周圍1m球體的歐式距離給平均在一起加權。因此,最靠近該球體表面的細胞的權重最大。這強調了遠端上下文資訊,而不是關於已經由相應的3×3×3跳過連線捕獲的直接相鄰小區的資訊。這通過允許相鄰語義影響預測來改善網路的辨別能力。例如,通過考慮桌子或附近的水槽來區分椅子和廁所。該層的無引數特性不僅具有極高的成本效益,而且提供了更具資訊性的訊號。平均空間池有效地消除了附近結構的精確配置,同時保留了它們的語義身份。這是一個理想的特性,因為附近物體或結構的身份有助於區分邊界情況,而不是它們所處的配置。在椅子/馬桶的例子中,知道附近水槽的存在比在水槽位於馬桶右側的事實要多得多。我們還避免了一個固有的挑戰:更大規模的空間背景(> 1m)鼓勵模型學習整個空間配置,這不會導致強大的普遍性。最後,平均加權彙集層表現出在推理期間將網路擴充套件到更大空間所需的靈活性。

Merging

       對應於每一個抽象級別的跳躍連線首先被連線。然後通過3D解卷積將其上取樣到其空間解析度的2倍。這允許每個抽象級別的特徵逐漸合併到彼此中。 1×1×1卷積在解卷積之間為模型增加表達能力。

3.2 Output Representations

       網路的幾種變體適用於不同的場景:為了產生有組織的輸出,網路配備有額外的反捲積層以產生所需的輸出點密度。潛在最近鄰插值用於將語義對映到輸入雲中的每個點的端到端處理的應用中。 在彙總整個輸入時,例如在場景字幕的情況下,完全連線的層是合適的。

3.3 Uniform vs. Furthest Point Sampling

       最遠點取樣對於描述結構(佔用空間)的特徵非常有效,因為它沒有預先假設資料的空間分佈。但是,為了描述整個空間(佔用+未佔用),統一取樣是確保我們考慮它的每個部分的唯一方法。

3.4 Full-Volume Prediction

        全卷積點網路標記其給定的完整空間體積輸入。它通過在執行3×3×3卷積之前將特徵對映上取樣到原始取樣密度以及對稱填充特徵體積來實現這一點。 這通過以下事實得到驗證:直接在輸入體積之外的區域最可能表現出與其中最接近的單元相同的佔用特性,因為存在於體積邊緣的佔用特性可能超出它。

3.5 Scalability

       該網路是靈活的,因為它可以在較小的訓練樣本上進行訓練,然後在推理過程中放大到比單次訓練中的訓練大幾倍的處理空間。該網路成功預測了一次80k2的空間,包括200k點。可以在較稀疏的點密度處理甚至更大的空間範圍。 這進一步擴充套件了網路的多功能性,用於其他用例,例如自動駕駛。

4 3D Captioning

       我們介紹了一個新的場景理解任務,我們稱之為3D字幕:生成有意義的空間文字描述。我們設想這對於輔助技術是有用的,特別是對於在不熟悉的環境中導航和互動時的視障人士。為了測試模型對此任務的熟練程度,我們建立了一個基於ScanNet的人類註釋標題資料集[1],我們選擇最能描述ScanNet中空間多樣性的前25個句子。它們旨在回答3種類型的問題:“我所處空間的功能價值是什麼?”,“我怎麼能移動?”,以及“我如何與空間互動?”。場景的每100幀用0或更多適用的標題註釋。然後驗證資料集以刪除異常值。為此,構建了場景標題註釋工具,用於註釋大約一半的ScanNet。我們將此資料集與原始碼一起釋出。字幕資料集的統計資料在補充材料中給出。

5 Evaluation

       我們在(a)小規模3D部分分割以及(b)大規模語義分割任務(參見第5.1節)上評估我們的方法。我們在ScanNet上評估語義分割,ScanNet是一個3D資料集,包含1513個室內環境的RGB-D掃描,具有相應的表面重建和語義分割[1]。這使我們可以將我們的結果與ScanNet的基於體素的預測[1]和PointNet ++基於點雲的語義分割[8]進行比較。我們實現了可比效能,而 - 由於我們的完全卷積架構 - 能夠同時處理相當大的空間。我們在5.2節中對基於模型的零件分割的基準資料集進行的第二次評估(b)顯示了我們的網路能夠推廣到其他任務和更小的尺度。為了進一步展示空間有序描述符在更高級別場景理解任務中的有用性,我們訓練我們的網路預測看不見場景的標題(參見第4節) - 這裡給出了3D字幕任務的結果5.3。

5.1 Semantic Voxel Labeling

       在語義體素標註任務中,訓練網路以預測來自一組20個語義類的輸入中的佔用空間的語義。我們提出了語義體素標籤的網路變體以及實驗裝置。

Data Preparation

       按照ScanNet中的相同步驟生成訓練樣本。根據已釋出的ScanNet train/set拆分,我們從1201個場景中提取至少佔2%的佔用率和70%的有效註釋。訓練樣本為2.4m的立方,均勻點間距為5cm立方。這產生了75k的訓練集。在訓練期間,樣本被重新取樣到16k點的固定基數。增強功能即時執行:沿上下軸的隨機旋轉增強,+/- 2cm範圍內的抖動增大和0-80%之間的點丟失。 輸入中僅存在點的X,Y,Z座標。地面實況包括20個物件類和1個表示未佔用空間的類。通過預測場景的2.4m立方剪下來處理312場景測試集中的每個場景。 每個語義類由資料集中其每點頻率的逆對數加權。

Network

        語義體素標記網路的三個空間尺度S1,S2,S3分別為15cm,30cm,60cm。 因此,網路提取了15釐米,30釐米,45釐米,60釐米,90釐米和180釐米的特徵,並在60釐米的空間尺度上彙集了特徵。 每個抽象,特徵學習和上取樣層遵循三個1×1×1層。 另外的去卷積層實現5cm 3的最終輸出密度。 在該層之前應用Dropout(50%)。 我們還在最後一層使用最終的3×3×3卷積來強制相鄰預測中的空間連續性,從而避免單點錯誤分類。 使用ADAM優化器訓練網路,學習速率為0.01,每個時期減半,持續5個時期。

Results

        表1給出了基於體素的20個類的語義分段的定量結果。 我們的方法實現了82.6%的加權精度和54.2%的未加權精度; 相比之下,ScanNet只能正確標記73%(加權)或50.8%(未加權)的體素。 三個PointNet ++變體(MSG + DP)的最佳表現報告為84.5%(加權)或60.2%(未加權)。 我們的方法在很大程度上優於ScanNet,特別是在類別上:桌子,廁所,椅子和書架。 請注意,與PointNet ++相比,我們的方法具有能夠處理從小浴室到整個公寓的所有場景的優勢,而PointNet ++將滑動量的預測與多數投票相結合。 圖5顯示了一些具有相應基礎事實註釋的定性結果。

5.2 Part Segmentation

        我們還在較小規模的點雲處理任務上評估我們的方法,基於模型的語義部分分割。為了評估這一點,Yi等人。 [19]提供了基於ShapeNet的基準部分分割資料集。 它包含16種類型物件的50個部分類別。 例如,汽車型別特徵部分類別:引擎蓋,車頂,車輪和車身。 (見表2)。

Data Preparation

          對於此任務,我們直接在提供的資料上進行訓練,無需任何預處理。在訓練期間,輸入雲首先重新調整為最大適合單位球體(直徑2米),然後像前一個任務一樣增加點丟失和抖動,以及隨機移動(+/- 5cm)和縮放(+/- 10%)即時。

Network

         網路的輸入空間範圍為2.8米,以使雲中的每個點都具有完整的有效上下文。 三個空間尺度S1,S2,S3分別為10cm,20cm,40cm。 三個1×1×1層也遵循每個抽象,特徵學習和上取樣層。 在將特徵上取樣回到原始取樣解析度之後,在潛在空間中執行三最近鄰插值。然後,與我們比較的方法一樣,將單熱編碼物件類連線到每個點的特徵向量,然後是三個最終的1×1×1層,它們之間有50%的丟失。

Results

       該方法在16個物件類別中的12箇中優於該基準資料集的最新技術。 視覺化示例在圖6中給出。

5.3 Captioning

       為了證明空間有序輸出的有用性,我們基於FCPN網路評估3D字幕任務的基線方法。 為了訓練字幕模型,我們採用語義體素標記網路並用三個完全連線的層替換最終的上取樣層和隨後的卷積層。我們凍結語義體素標籤網路的權重,並僅在此任務上訓練完全連線的層。 再一次,字幕由其在訓練集中的頻率的倒數對數加權。 我們考慮網路產生的前3個最可靠的字幕。 示例在圖7中示出。與標準的基於影象的字幕不同,所提供的結果暗示3D字幕輸出與所提出的網路一起如何有效地總結關於特定視點的相關場景幾何形狀以輔助導航和互動任務。 補充材料中提供了其他結果。

6 Conclusions

       在論文中,我們提出了第一個完全卷積神經網路,它在無序點集上執行。 我們表明,在完全卷積的情況下,我們能夠在一次拍攝中以比現有技術水平更大的空間進行處理。 我們進一步表明,它可以用作通用特徵描述符,通過在不同尺度的挑戰性基準上進行評估,即語義場景和基於部分的物件分割。 這表明了它在不同任務和應用領域的熟練程度。 此外,由於它學習了一個空間有序的描述符,它為更高級別的場景理解任務(如字幕)打開了大門。 至於未來的工作,我們有興趣探索更廣泛的語義類,並使用我們的網路來培養更具表現力的語言模型。