論文作者:Siyuan Huang, Yichen Xie, Song-Chun Zhu, Yixin Zhu
點云是視覺分析和場景理解的典型3D表示。但各種3D場景理解任務仍然缺乏實用和可推廣的預訓練模型,同時盡管3D點云數據在3D表示中無所不在,但與2D圖像數據相比,對3D點云進行標注要困難得多。因此,動機是:正確利用大量未標記的3D點云數據是大規模3D視覺分析和場景理解成功的必要條件。
自監督學習成為表征學習的一個新興方向,在下游任務中具有巨大潛力。過去存在3D點云的自監督學習方法,但它們完全依賴于通過重建3D點云進行空間分析,這種自監督學習的靜態視角被設計為復雜的操作、架構或損失,使得訓練和推廣到多樣化的下游任務變得困難。此外,盡管已經提出了各種方法用于無監督學習和點云的生成,但這些方法僅證明了在合成數據集上的形狀分類任務的有效性,而忽略了自然3D場景上預訓練模型的更高級別任務。
針對3D場景理解的復雜性質,及其由相機視圖、照明、遮擋等帶來的巨大變化,該論文通過引入時空表示學習(STRL)框架來解決這一挑戰。STRL受BYOL的啟發,只從正配對中學習,使用兩個神經網絡:在線網絡和目標網絡,它們相互作用并相互學習。在本文中,將分別介紹:點云的表示學習和自監督學習、STRL的設計原則與實現、STRL框架的解析、STRL的優勢、STRL所提出的方法、STRL所實現的細節、STRL的預訓練及實驗,以及分析與總結。
1.點云的表示學習和自監督學習
與結構化數據(例如圖像)的傳統表示不同,點云是無序的向量集。這種獨特的性質對表征的學習提出了額外的挑戰。盡管無序集上的深度學習方法可以應用于點云,但這些方法沒有利用空間結構。
1)考慮到空間結構,像PointNet這樣的方法直接將原始點云輸入神經網絡;這些網絡應該是排列不變的,因為點云是無序集合。PointNet通過使用最大池化操作從一組點形成表示全局上下文的單個特征向量來實現這一目標。
2)此后,研究人員提出了具有層次結構、基于卷積的結構或基于圖的信息聚合的表示學習方法。這些神經網絡直接在原始點云上操作,自然地提供了逐點嵌入,特別適用于基于點的任務。
無監督表征學習可以大致分為生成式學習或判別式學習方法。
1)生成方法,通常通過對數據分布或潛在嵌入進行建模來根據像素或點重建輸入數據。這個過程可以通過基于能量的建模、自動編或對抗性學習來實現。然而,這種無監督機制在計算上是昂貴的,并且可泛化表示的學習不必要地依賴于恢復這種高級細節。
2)判別方法,包括自監督學習,無監督地生成判別標簽以促進表示學習,最近通過各種對比機制實現。與最大化數據似然的生成方法不同,最近的對比方法最大限度地保留了輸入數據與其編碼表示之間的互信息。
2.STRL的設計原則與實現
由于3D數據的監督目標性質,監督訓練在生成實用和可推廣的預訓練模型方面存在困難。具體而言,在模型設計和學習中考慮了以下三個原則:
1)簡單性
設計原則:盡管存在3D點云的自監督學習方法,但它們完全依賴于通過重建3D點云進行的空間分析。這種自監督學習的靜態視角被明確地設計為復雜的操作、架構或損失,使得訓練和推廣到多樣化的下游任務變得困難。因此認為,這種復雜的設計是人為引入的,是不必要的,并且可以通過補充缺失的時間上下文線索來減少或消除。
設計實現:值得注意的是,STRL在BYOL的啟發下,只從正配對中學習,非常簡單。具體來說,STRL使用兩個神經網絡,稱為在線網絡和目標網絡,它們相互作用并相互學習。通過增強一個輸入,訓練在線網絡預測另一個時間相關輸入的目標網絡表示,該輸入是通過單獨的增強過程獲得的。
2)不變性
設計原則:通過數據增強和對比學習數據不變性,已在圖像和視頻上顯示出良好的結果。一個自然的問題出現了:如何引入和利用 3D 點云的不變性來進行自監督學習?
設計實現:為了學習不變性表示,探索了嵌入在 3D 點云中的不可分割的時空上下文線索。在方法中,在線網絡和目標網絡的輸入在時間上是相關的,從點云序列中采樣。具體來說,對于自然圖像/視頻,在深度序列中采樣兩個具有自然視點變化的幀作為輸入對。對于 3D 形狀這樣的合成數據,通過旋轉、平移和縮放來增強原始輸入以模擬視點變化。輸入之間的時間差異利用模型來捕捉不同視角的隨機性和不變性。額外的空間增強進一步促進模型學習點云的 3D 空間結構。
3)泛化性
設計原則:現有文獻僅在合成數據集上驗證了形狀分類中的自監督學習表示,與自然室內的 3D 數據或戶外環境相比,其具有顯著不同的特征。因此,未能證明對更高級別任務(例如,3D 對象檢測)有足夠的普遍性。
設計實現:為了泛化學習表示,采用了幾個實用的網絡作為骨干模型。通過對大型數據集進行預訓練,驗證了學習到的表示可以很容易地直接適應下游任務,或者通過額外的特征微調。還證明了學習到的表示可以泛化到遠距離域,不同于預訓練域;例如,從 ScanNet 中學習的表示可以推廣到 ShapeNet 上的形狀分類任務和 SUN RGB-D 上的 3D 對象檢測任務。
3.STRL框架的解析
圖1:方法概述。通過從點云序列中學習時空數據不變性,自監督地學習了一種有效的表示。
具體來說,STRL 將 3D 點云序列中的兩個時間相關幀作為輸入,通過空間數據增強對其進行轉換,并自監督地學習不變表示。
基于BYOL設計了所提出的時空表示學習(STRL),并將其簡單性擴展到3D點云表示的學習。下圖說明了所提出的方法。
圖 2:自監督學習框架的圖示。
STRL 通過兩個網絡的交互無監督地學習表示:在線網絡和目標網絡。在這里,自監督學習的本質是訓練在線網絡準確預測目標網絡的表示。
給定兩個時空相關的 3D 點云:
1)在線網絡通過預測器預測目標網絡的表示;
2)目標網絡的參數由在線網絡的移動平均線更新。
3D 點云的 STRL 算法流程:
輸入:
輸出:
4.STRL的優勢
1)方法優于現有技術。通過使用 STRL 進行預訓練并將學習到的模型應用于下游任務,它在 ModelNet40上優于最先進的無監督方法,并通過線性評估達到 90.9% 的 3D 形狀分類精度。在有限數據的情況下,半監督學習的顯著改進;并且通過轉移預訓練模型來提升下游任務。例如,通過微調改進了SUN RGB-D和 KITTI 數據集上的 3D 對象檢測,以及S3DIS上進行的3D 語義分割。
2)簡單的學習策略可以學習令人滿意的3D 表示性能。通過消融研究,觀察到 STRL 可以通過簡單的增強來學習自監督表示;它在 ModelNet40 線性分類上穩健地實現了令人滿意的準確率(約 85%),這與最近的發現相呼應,即簡單地預測 3D 方向有助于學習 3D 點云的良好表示。
3)時空線索提高了學習表示的性能。僅依靠空間或時間增強只會產生相對較低的性能。相比之下,通過學習結合空間和時間線索的不變表示,將準確度提高了 3%。
4)對合成 3D 形狀進行預訓練確實有助于實際應用。最近的研究表明,從 ShapeNet 學習到的表征并沒有很好地泛化到下游任務。相反,STRL報告了相反的觀察結果,表明在 ShapeNet 上預訓練的表示可以應用于處理在物理世界中獲得的復雜數據的下游任務,同時實現相當甚至更好的性能。
5.STRL所提出的方法
5.1 構建點云的時間序列
設計了兩種生成訓練點云序列的方法,用來處理各種數據源:
1)Natural Sequence (自然序列)
2)Synthetic Sequence (合成序列)
靜態點云本質上是空間的,與自然序列相比缺少關鍵的時間維度。給定一個點云p0 ,通過生成一個合成序列來解決這個問題。具體來說,連續旋轉、平移和縮放原始點云以構建點云序列{pt} :
其中, t是變換的索引,Rt是采樣變換,模擬時間視圖的變化。
5.2 表征學習
設計 STRL ,通過在線網絡和目標網絡這兩個網絡的交互,無監督地學習表示。在這里,自監督學習的本質是訓練在線網絡準確預測目標網絡的表示。
6.STRL所實現的細節
合成序列生成
通過以下變換的組合進行采樣:
隨機旋轉。對于每個軸,在15英寸范圍內繪制隨機角度并繞其旋轉。
隨機平移。在點云維度的10%內全局平移點云。
隨機縮放。用因子縮放點云。 為了進一步增加隨機性,以 0.5 的概率對每個變換進行采樣和應用。
空間增強
通過改變點云的局部幾何形狀來轉換輸入,這有助于 STRL 學習更好的點云空間結構表示。具體來說,應用以下轉換,類似于圖像數據增強。
隨機裁剪。一個隨機的 3D 長方體面片被裁剪成一個在原始點云的 60% 到 100% 之間均勻采樣的體積。縱橫比控制在以內。
隨機剪切。切出一個隨機的 3D 長方體。3D長方體的每個維度都在原始維度的以內。
隨機抖動。每個點的 3D 位置都在內移動一個均勻隨機的偏移量。
隨機丟棄。通過 內的丟棄率隨機丟棄 3D 點。
下采樣。通過隨機選取必要數量的3D點,基于編碼器的輸入維度向下采樣點云。
標準化。在對合成數據進行訓練時,將點云歸一化以擬合單位球體。
在這些增強中,裁剪和剪切為點云的空間結構帶來了更明顯的變化。因此,以0.5的概率應用它們。
訓練
使用 LARS 優化器和余弦衰減學習率,warm-up為 10 個epochs但沒有重新啟動。對于目標網絡,指數移動平均參數從 0.996 開始,在訓練過程中逐漸增加到 1。具體來說,設置為:
其中 k 是當前訓練步驟,K 是最大訓練步驟數。
STRL 對不同的骨干編碼器有利且可泛化。projector和預測器被實現為具有激活和批量歸一化的多層感知(MLP)。對于大多數預訓練模型,使用 64 到 256 的batch size 在 8 個 TITAN RTX GPU 上。
圖 3:空間數據增強和時間序列生成。除了自然序列生成之外,每種類型的增強都使用內部參數隨機轉換輸入的點云數據。
7.STRL的預訓練及實驗
構建點云序列并執行STRL的預訓練,以學習點云數據的時空不變性。對于合成形狀和自然室內/室外場景,使用不同策略生成點云的時間序列和采樣輸入對。
一、合成形狀
從ShapeNet數據集學習自監督表示模型。它由來自55個類別的57448個合成對象組成。通過時間變換將每個點云擴展為兩個不同的視圖,生成了兩個時間校正的點云。進一步應用空間增強以產生作為輸入的一對點云。
二、自然室內和室外場景
從自然室內和戶外場景中學習自監督表示模型,其中點云序列很容易獲得。使用RGB-D傳感器,可以通過掃描不同的相機姿態來捕獲深度圖像序列。由于大多數場景都是平滑捕獲的,從相鄰幀之間的時間相關性中學習時間不變性。
1)對于室內場景:
在ScanNet數據集上進行預訓練。它由707個獨特場景的1513個重建網格組成。在實驗中,發現增加幀采樣頻率對性能的貢獻有限。因此,每100幀對原始深度序列進行子采樣,作為每個場景的關鍵幀,得到1513個序列,總共大約25000幀。在預訓練期間,基于每個序列的關鍵幀生成固定長度的滑動窗口,并在每個窗口中采樣兩個隨機幀。反向投影兩個幀,在世界坐標中生成點云。使用相機位置將兩個點云轉換為相同的世界坐標;第一幀的相機中心是原點。
2)對于室外場景:
對KITTI數據集進行預訓練。它包括100多個序列,分為6類。對于每個場景,圖像和點云以大約10 FPS的速度記錄。只使用激光雷達傳感器捕獲的點云序列。平均而言,每幀大約有120000個點。與ScanNet類似,對滑動窗口中的關鍵幀和幀對進行子采樣,作為訓練對。對于自然場景的預訓練,通過將合成時間變換應用于兩個點云來進一步增強數據多樣性。最后,將空間數據增強應用于兩個點云。
形狀理解
使用 ModelNet40基準評估預訓練模型的形狀理解能力。它包含來自 40 個類別的 12,331 個對象(9,843 個用于訓練,2,468 個用于測試)。使每個形狀在單位空間中被采樣到 10,000 個點。在 ShapeNet 數據集上預訓練骨干模型。使用以下評估指標來衡量學習到的表征。
形狀分類的線性評估為了對 3D 形狀進行分類,在編碼的全局特征向量之上附加了一個線性支持向量機 (SVM)。這些全局特征是通過在最后一個池化層之后提取激活來構建的。STRL 可以靈活地與各種backbone一起工作。SVM 使用從 ModelNet40 數據集的訓練集中提取的全局特征進行訓練。在預訓練和 SVM 訓練期間,從每個形狀中隨機抽取 2048 個點。STRL 優于 ModelNet40 上所有最先進的無監督和自監督方法。 表 1:ModelNet40 上形狀分類線性評估的比較。線性分類器在 ShapeNet 數據集上通過不同的自監督方法學習到的表示進行訓練。
形狀分類的監督微調
通過監督微調評估學習到的表示模型。預訓練模型用作點云編碼器的初始權重,根據 ModelNet40 數據集上的標簽微調 DGCNN 網絡。STRL 使最終分類準確率顯著提高了 0.9%。這種改進比以前的方法更顯著;它甚至達到了最先進的監督學習方法設定的可比性能。
此外,STRL 預訓練模型可以顯著提高半監督學習中提供有限標記訓練數據的分類性能。具體來說,隨機抽取不同比例的訓練數據,并確保每個類別至少選擇一個樣本。接下來,在監督下對這些有限樣本的預訓練模型進行微調,并評估其在完整測試集上的性能。結果表明,當有 1%和 20%的訓練樣本可用時,所提出的模型獲得了 2.1% 和 1.6%的性能增益;當可用的訓練樣本較少時,STRL 自監督模型將更好地促進下游任務。
表 2:在 ModelNet40 上微調的形狀分類。自監督預訓練模型作為監督學習方法的初始權重。
Embedding可視化
使用自監督方法可視化 PointNet 和 DGCNN 模型的學習特征;它顯示了 ModelNet10 測試集中不同類別樣本的嵌入。采用 t-SNE 進行降維。觀察到,除了梳妝臺和床頭柜外,這兩種預訓練模型都能很好地根據類別區分大多數樣本;它們通常看起來很相似,很難區分。
圖 4:學習特征的可視化。使用 t-SNE 可視化 ModelNet10 測試集中每個樣本的提取特征。兩種模型都在 ShapeNet 上進行了預訓練。
室內場景理解
STRL 學習基于視圖變換的表示,適用于合成形狀和自然場景。因此,與主要執行遷移學習以形成理解的先前工作不同,STRL 還可以促進室內/室外場景理解任務。從室內場景理解入手,首先在 ScanNet 數據集上自監督地預訓練STRL,接下來,通過標簽微調來評估 3D 對象檢測和語義分割的性能。
1)3D 對象檢測
3D 對象檢測要求模型根據輸入的 3D 點云預測 3D 邊界框及其對象類別。預訓練后,在 SUN RGB-D數據集上微調和評估模型。它包含 10335 個單視圖 RGBD 圖像,分為 5285 個訓練樣本和 5050 個驗證樣本。對象使用 3D 邊界框和類別標簽進行標注。使用 VoteNet進行了這項實驗,這是一種廣泛使用的模型,以 3D 點云作為輸入。在預訓練期間,通過在末尾添加最大池層來稍微修改其 PointNet++ 主干以獲得全局特征。與從頭開始訓練 VoteNet 相比,預訓練將檢測性能提高了1.2 mAP,表明從大型數據集(即 ScanNet)學習的表示可以成功地轉移到不同的數據集,并通過精細改進高級任務的性能調整。它還比最先進的自監督學習方法高出 0.7 mAP 。
表 3:在 SUN RGB-D 上微調的 3D 對象檢測
2)3D 語義分割
將預訓練模型轉移到斯坦福大型 3D 室內空間 (S3DIS) 數據集上的 3D 語義分割任務。該數據集包含從 6 個室內區域的 272 個房間掃描的 3D 點云,每個點都標注為 13 個類別。使用僅具有幾何特征(XYZ 坐標)的 4096 個點作為模型輸入。在本實驗中,DGCNN 網絡首先使用 STRL 在 ScanNet 上進行預訓練。在這里,專注于僅使用有限標記數據的半監督學習。因此,每次在區域 1-5 的一個區域上微調預訓練模型,并在區域 6 上測試模型。預訓練模型始終優于從頭開始訓練的模型,尤其是在小訓練集。
表4:在 S3DIS 上微調的 3D 語義分割。在區域 1-5 之一上以半監督方式訓練預訓練或初始化模型。以下性能是在 S3DIS 數據集的區域 6 上評估的。
室外場景理解
與室內場景相比,由于激光雷達傳感器的遠距離特性,在室外環境中捕獲的點云要稀疏得多,這帶來了額外的挑戰。通過將學習到的視覺表示轉移到室外場景的 3D 對象檢測任務來評估所提出的 STRL 的性能。
使用 PV -RCNN在 KITTI 數據集上預訓練模型——用于 3D 對象檢測的最先進模型。與 VoteNet 類似,修改了 PV -RCNN 的骨干網絡進行預訓練,通過添加最大池化層來獲取全局特征。
在 KITTI 3D 對象檢測基準(KITTI 原始數據的一個子集)上微調預訓練模型。在此基準測試中,每個點云都用 3D 對象邊界框進行注釋。該子集包括 3712 個訓練樣本、3769 個驗證樣本和 7518 個測試樣本。
在所有三個類別中,使用 STRL 預訓練的模型都優于從頭開始訓練的模型。特別是,對于可用訓練樣本最少的騎自行車者類別,建議的 STRL 產生顯著的性能提升。在微調的同時進一步凍結了骨干模型;結果表明,與從頭開始訓練的模型相比,具有預訓練主干的模型達到了可比的性能。
表 5:在 KITTI 上微調的 3D 對象檢測。在 KITTI 數據集的 val集上報告了中等難度的 3D 檢測性能。下面的性能是通過具有 40 個召回位置的 mAP 評估的。
8.分析與總結
泛化能力
ScanNet vs ShapeNet 預訓練什么樣的數據可以賦予學習模型對其他數據域更好的泛化能力,這仍然是 3D 計算機視覺中的一個懸而未決的問題。為了闡明這個問題,在現有最大的自然數據集 ScanNet 和合成數據 ShapeNet 上預訓練模型,并測試它們對不同領域的泛化能力。下表列出了跨域實驗設置和結果,展示了從自然場景預訓練模型到合成形狀域的成功遷移,在線性評估下實現了可比的形狀分類性能。
此外,報告了與最近一項研究相反的觀察結果。具體來說,在 ShapeNet 數據集上預訓練的 VoteNet 模型在 SUN RGB-D 目標檢測方面取得了比 ScanNet 預訓練更好的性能,展示了 ShapeNet 數據更好的泛化能力。
三個潛在的原因導致了這種相互矛盾的結果:
1)如果適用于學習點云特征的編碼器過于簡單,以至于無法從預訓練的 ShapeNet 數據集中捕獲足夠的信息。
2)ShapeNet 數據集提供了具有干凈空間結構和更少噪聲的點云,這有利于預訓練模型學習有效的表示。
3)盡管 ScanNet 中的序列數據量很大,但模態可能仍然有限,因為它只有 707 個場景。
時間轉換
學習了物體形狀的合成視圖變換和物理場景的自然視圖變換。為了研究它們的效果,在 ShapeNet 數據集上進行預訓練時,通過刪除某些轉換來生成合成形狀的訓練數據來解開組合。對于物理場景,在 KITTI 數據集上預訓練 PV -RCNN,并比較使用和不使用自然序列采樣輸入數據訓練的模型。在這兩種情況下,時間轉換都會帶來顯著的性能提升。
消融研究:時間變換。 (a) 合成形狀。通過不同時間變換下的線性評估來評估 ModelNet40 上預訓練的 PointNet 模型。(b) 物理場景。凍結 PV-RCNN 主干并微調 KITTI 上的 3D 物體檢測器。它顯示了汽車檢測 的 mAP 結果(在 40 個召回位置以下)。從自然序列中采樣輸入數據。
空間數據增強
通過關閉某些類型的增強來研究空間數據增強的效果。通過將點云增加到不同的形狀和維度,隨機裁剪可以提高性能,而隨機剪切會損害性能,因為它破壞了點云的結構連續性,這對于來自鄰居的逐點特征聚合至關重要。
消融研究:空間數據增強。使用不同的空間變換在 ShapeNet 上預訓練 PointNet 模型。下表的性能反映了 ModelNet40 上的線性評估結果。
數據效率
為了進一步分析訓練數據的大小如何影響模型,通過從整個 1513 個序列中采樣 25000 幀深度圖像,使用 ScanNet 數據集的一個子集預訓練 DGCNN 模型。在 ModelNet40 上進行評估,與 40 萬幀的整集訓練相比,模型的線性評估和微調性能僅下降約 0.5%;這樣的結果類似于 2D 圖像預訓練。假設增加數據多樣性而不是采樣密度會提高自監督 3D 表示學習的性能。
魯棒性
觀察到所提出的 STRL 可以通過簡單的增強來學習自監督表示;它在 ModelNet40 線性分類上穩健地達到了令人滿意的準確率(約 85%)。然而,它與 2D 圖像預訓練中顯示的結果不同,其中數據增強對 ImageNet 線性評估的影響高達 10%。假設這種差異可能歸因于對點云執行的一般下采樣過程,它引入了結構噪聲并有助于不變特征學習。
總結
在這篇論文中,設計了一個時空自監督學習框架來學習 3D 點云表示。方法具有簡單的結構,并在將學習的表示轉移到各種下游 3D 場景理解任務方面展示了有希望的結果。未來,希望探索如何將當前方法擴展到整體 3D 場景理解,以及如何通過聯合訓練來自各個領域的未標記數據來彌合領域差距。
審核編輯:郭婷
-
3D
+關注
關注
9文章
2875瀏覽量
107485 -
數據
+關注
關注
8文章
7002瀏覽量
88943
原文標題:STRL:3D 點云的時空自監督表示學習
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論