0參數量 + 0訓練,3D點雲分析方法Point-NN刷新多項SOTA
機器之心專欄
專欄:MMLab
不引入任何可學習參數或訓練,是否可以直接實現 3D 點雲的分類、分割和檢測?
論文鏈接:https://arxiv.org/pdf/2303.08134.pdf
代碼地址:https://github.com/ZrrSkywalker/Point-NN
本文提出了一個用於 3D 點雲分析的非參數網絡 Point-NN,它僅由純不可學習的組件組成:最遠點採樣(FPS)、k 近鄰(k-NN)、三角函數(Trigonometric Functions)以及池化(Pooling)操作。不需要參數和訓練,它能夠在各種 3D 任務上都取得不錯的準確率,甚至在 few-shot 分類上可以大幅度超越現有的完全訓練的模型。
基於 Point-NN 的非參數框架,這項研究對於當前 3D 領域的貢獻如下:
1、首先,我們可以通過插入簡單的線性層,來構建 Point-NN 的參數化網絡,Point-PN。由於 Point-NN 具有強大的非參數基礎,所構建出的 Point-PN 僅需要少量可學習參數就可以表現出優秀的 3D 分類和分割性能。
2、其次,由於 Point-NN 不需要訓練的屬性,我們可以將其作爲一個即插即用的增強模塊,去增強現有已經訓練好的 3D 模型。通過提供互補知識,Point-NN 可以在各種 3D 任務上提升原本的 SOTA 性能。
一、引言
父亲节档期开跑!民生、保健用品为送礼首选
1. 動機
伺服器、车用火 凡甲明年喊冲
3D 點雲的處理和分析是一項具有挑戰性的任務,並且在學術界和工業界都取得了廣泛的關注。自從 PointNet++ 起,後續的 3D 模型爲了提升性能,一方面設計了更加複雜的局部空間算子,一方面增大了網絡的可學習參數量。然而,除了不斷更新的可學習模塊,他們基本都沿用了同一套潛在的多尺度網絡框架,包括最遠點採樣(FPS)、k 近鄰(k-NN)和池化(Pooling)操作。目前,還幾乎沒有研究去探索這些非參數組件的潛力;因此,本文提出並探索了以下問題:這些非參數組件對於 3D 理解的貢獻有多大?僅僅使用非參數組件,能否實現無需訓練的 3D 點雲分析?
2. 貢獻
爲了解決以上問題,本文首次提出了一個非參數化(Non-Parametric)的 3D 網絡,Point-NN,整體結構如上圖所示。Point-NN 由一個用於 3D 特徵提取的非參數編碼器(Non-Parametric Encoder)和一個用於特定任務識別的點雲記憶庫(Point-Memory Bank)組成。非參數編碼器採用了多階段的結構設計,使用了最遠點採樣(FPS)、k 近鄰(k-NN)、三角函數(Trigonometric Functions)和池化(Pooling)來逐步聚合局部幾何圖形,爲點雲生成一個高維度的全局特徵。我們僅僅採用了簡單的三角函數來捕捉局部空間幾何信息,沒有使用任何可學習算子。接下來,我們使用此編碼器,去提取到所有訓練集點雲的特徵,並緩存爲點雲記憶庫。進行測試時,點雲記憶庫通過對測試點雲和訓練集點雲的特徵,進行相似度匹配,來輸出特定任務的預測。
不需要任何訓練,Point-NN 可以在多種 3D 任務中實現優越的性能,例如 3D 分類、分割、檢測,甚至可以超過一些現有的經過完全訓練的模型。基於此,我們進一步提出了兩點 Point-NN 對於現今 3D 領域的貢獻,如下圖(a)和(b)所示:
1)以 Point-NN 爲基礎框架,我們通過在 Point-NN 的每個階段插入簡單的線性層,引入了其 parameter-efficient 的變體 Point-PN,如上圖 (a) 所示。Point-PN 不包含複雜的局部算子,僅僅包含線性層以及從 Point-NN 繼承的三角函數算子,實現了效率和性能的雙贏。
2)我們將 Point-NN 作爲一個即插即用的模塊,爲各種 3D 任務中訓練好的模型提供互補知識,並在推理過程中可以直接提升這些訓練模型的性能,如上圖 (b) 所示。
韩国汽油均价涨 创2014年12月以来最高
二、方法
1.Point-NN
Point-NN 由一個 Non-Parametric Encoder (EncNP) 和一個 Point-Memory Bank (PoM) 組成。對於輸入的點雲,我們使用 EncNP 提取其全局特徵,並通過 PoM 的特徵相似度匹配,來輸出分類結果,公式如下圖所示:
接下來,我們依次介紹 Point-NN 中的這兩個模塊。
(1)非參數編碼器 (Non-Parametric Encoder)
全球 REITs 布局 持續看好新加坡市場
非參數編碼器首先將輸入點雲進行 Raw-point Embedding,將 3 維的原始點座標轉化爲高維度特徵,再經過 4 個階段的 Local Geometry Aggregation 逐步聚合局部特徵得到最終的點雲全局特徵,如下圖所示。
a. 原始點雲映射 (Raw-point Embedding)
我們參考了 Transformer 中的 positional encoding,對於輸入點雲的一個點
,利用三角函數將它嵌入到一個維向量中:
遊蕩犬衝突危機日增 野保團體認為「這方式」效果有限
其中
分別表示三個軸的位置編碼。以爲例,對於通道索引,具體的位置編碼公式如下:
其中,α,β 分別控制了尺度和波長。通過這種三角函數的編碼,我們可以將點雲的絕對位置信息映射到高維度的特徵空間中,並通過後續的點乘操作可以根據權重獲取不同點之間的相對位置信息,並捕獲三維形狀的細粒度結構變化。
b. 局部幾何特徵的聚合 (Local Geometry Aggregation)
下周资本市场大事提醒:美国核心通胀数据将揭晓 微软、谷歌等科技巨头发布重磅财报
對於每一個點雲尺度的處理,我們分爲三個步驟。
首先是特徵擴維 (Feature Expansion)。我們使用 FPS 進行點雲數量的下采樣,對於下采樣後得到的每一箇中心點,我們採用 k-NN 去找到他的 k 個鄰域點以及對應的特徵。基於此,我們將中心點特徵和在特徵維度進行拼接,實現特徵擴維,這樣可以在更深的網絡層中編碼更多的語義信息:
其次是幾何信息提取 (Geometry Extraction)。我們先使用均值和標準差對的座標進行歸一化,並使用三角函數進行相對位置的編碼,來獲取的相對幾何權重,標記爲。之後,我們通過下面的公式得到加權後的鄰域特徵。
《食品股》统一新市物流园区 2025上半年有望启用
最後是局部特徵聚和 (Feature Aggregation)。我們利用最大池化和平均池化來進行局部特徵聚合。
在完成 4 個階段的 Local Geometry Aggregation 後,我們再次運用最大池化和平均池化來得到點雲的全局特徵。
(2)點雲記憶庫 (Point-Memory Bank)
在經過非參數編碼器 (Non-Parametric Encoder) 的特徵提取後,由於 Point-NN 不含任何可學習參數,我們沒有使用傳統的可學習分類頭,而是採用了無需訓練的 point-memory bank。首先,我們使用非參數編碼器去構造關於訓練集的 bank,接着在推理過程通過相似度匹配輸出預測,如下圖所示。
a. 記憶構建 (Memory Construction)
Point memory 包括一個 feature memory和一個 label memory。以點雲分類任務爲例,假設給定的訓練集包含 K 個類別的 N 個點雲。通過 Non-Parametric Encoder 可以得到 N 個訓練集點雲的全局特徵,同時將對應的分類標籤轉換爲 one-hot 編碼,接着將它們沿着樣本維度進行拼接,緩存爲兩個矩陣。
台股盤勢出現止穩訊號?法人:短線仍有整理空間
b. 基於相似度的預測 (Similarity-based Prediction)
在推理階段,我們利用構造好的 bank 進行兩個矩陣乘法來完成分類。首先,我們通過 Non-Parametric Encoder 來計算測試點雲的全局特徵,並計算與 feature memory 之間的餘弦相似度。
接下來,將 label memory 中的 one-hot 標籤與進行加權,越相似的 feature memory 對最終的分類 logits 貢獻越大,反之亦然。
通過這種基於相似性的計算,point-memory bank 可以在不經過任何訓練的情況下,學習到從訓練集中提取的知識,在推理過程自適應地完成不同任務。
2.Point–NN 在其他 3D 任務的拓展
汇率期货趋势专栏-欧元期货持续弱势整理
以上主要是對 Point-NN 在分類任務中的應用的介紹,Point-NN 也可以被用於 3D 的部件分割和 3D 目標檢測任務。
苏州银行今年第三季度总营收同比下降,对公贷款较上年末增幅较大
(1)部件分割 (3D Part Segmentation)
與分類任務對全局特徵進行提取再進行分類不同的是,部件分割需要對每個點進行分類。因此,論文采用了一個接在 non-parametric encoder 後的對稱的 non-parametric decoder,進行點雲特徵的上採樣,恢復至輸入時的點數量。具體來說,在 decoder 的每個階段,我們將局部中心點的特徵通過相對位置加權,來擴散到周圍的領域點。對於 point-memory bank,首先使用 encoder 和 decoder 得到訓練集的每個點的特徵,爲了節省顯存消耗,對於每一個物體,我們將每個部件的特徵取平均值,再作爲 feature memory 存入到 bank 中。
(2)目標檢測 (3D Object Detection)
路边捡个女朋友
對於檢測任務,我們將 Point-NN 作爲一個 3D 檢測器的分類頭使用。當預訓練好的檢測器產生 3D proposal 後,Point-NN 與分類任務相似,使用 non-parametric encoder 來獲取被檢測物體的全局特徵。在構建 point-memory bank 時,我們在訓練集中對在每個 3D 框標籤內的點雲進行採樣,將採樣後的每個物體的全局特徵進行編碼得到 feature memory。特別的是,我們沒有像其他任務一樣對每個物體的點雲座標進行歸一化,這是爲了保留在原始空間中的 3D 位置信息,實現更好的檢測性能。
最高2000万元资金支持!青岛出台“以商招商”及社会化招商支持政策
3. 從 Point–NN 延伸 (Starting from Point-NN)
(1)作爲結構框架構建 Point-PN (As Architectural Frameworks)
我們講 Point-NN 視爲一個良好的非參數化框架,在其中插入簡單的可學習線性層,來構建參數化的 3D 網絡,Point-PN。Point-PN 相比於現有的 3D 網絡,不含有複雜的局部算子,以極少的可學習參數量實現了優秀的 3D 性能。
我們構建 Point-PN 的步驟如下:首先,將 point-memory bank 替換爲傳統的可學習的分類頭,如上圖(A)所示;在 ModelNet40 的分類任務上,這一步將分類性能從 Point-NN 的 81.8% 提高到了 90.3%,且僅僅使用了 0.3M 的參數量。接着,我們將 raw-point embedding 替換爲線性層(B),可以將分類性能進一步提高到 90.8%。爲了更好地提取多尺度層次特徵,我們接着將線性層插入到每一階段的 non-parametric encoder 中。具體來說,在每個階段,兩個線性層分別被插入到 Geometry Extraction 的前後來捕捉高層空間信息,如圖中(C、D、E)所示。這樣,最終的 Point-PN 可以僅僅使用 0.8M 的參數量達到 93.8% 的性能,且只包括三角函數和簡單的線性層。這說明,與現有的高級的操作算子或者大參數兩相比,我們可以從非參數框架出發,來獲取一個簡單高效的 3D 模型。
(2)作爲即插即用模塊 (As Plug-and-play Modules)
Point-NN 可以在不進行額外訓練的情況下增強現有 3D 預訓練模型的性能。以分類任務爲例,我們直接將 Point-NN 與預訓練模型預測的分類 logits 進行相加,來提供互補的 3D 知識提升性能。如下圖對特徵的可視化所示,Point-NN 主要提取的是點雲的低層次高頻特徵,在尖銳的三維結構周圍產生了較高的響應值,例如飛機的翼尖、椅子的腿和燈杆;而經過訓練的 PointNet++ 更關注的是點雲的高層次語義信息,通過對它們的 logits 相加可以得到互補的效果,例如,飛機的機身、椅子的主體和燈罩。
【南霸天破功1】婆妈永远约不到美容师 长亨生医被控诈欺
三、實驗
1.Point-NN 和 Point-PN
(1)3D 物體分類 (Shape Classification)
對於 2 個代表性的 3D 物體分類數據集,ModelNet40 和 ScanObjectNN,Point-NN 都獲得了良好的分類效果,甚至能夠在 ScanObjectNN 上超過完全訓練後的 3DmFV 模型。這充分說明了 Point-NN 在沒有任何的參數或訓練情況下的 3D 理解能力。
Point-PN 在 2 個數據集上也都取得了有競爭力的結果。對於 ScanObjectNN,與 12.6M 的 PointMLP 相比,Point-PN 實現了參數量少 16 倍,推理速度快 6 倍,並且精度提升 1.9%。在 ModelNet40 數據集上,Point-PN 獲得了與 CurveNet 相當的結果,但是少了 2.5X 的參數量,快了 6X 的推理速度。
(2)少樣本 3D 分類 (Few-shot Classification)
與現有的經過完全訓練的 3D 模型相比,Point-NN 的 few shot 性能顯著超過了第二好的方法。這是因爲訓練樣本有限,具有可學習參數的傳統網絡會存在嚴重的過擬合問題。
(2)3D 部件分割 (Part Segmentation)
70.4% 的 mIoU 表明由 Point-NN 在分割任務中也可以產生執行良好的單點級別的特徵,並實現細粒度的 3D 空間理解。
Poinnt-PN 能夠取得 86.6% 的 mIoU。與 Curvenet 相比,Point-PN 可以節省 28 小時的訓練時間,推理速度快 6X。
(3)3D 目標檢測 (3D Object Detection)
將 Point-NN 作爲檢測器的分類頭,我們採用了兩種流行的 3D 檢測器 VoteNet 和 3DETR-m 來提取類別無關的 3D region proposals。由於我們沒有進行點雲座標的歸一化處理(w/o nor.),這樣可以保留原始場景中更多物體三維位置的信息,大大提升了 Point-NN 的 AP 分數。
2.Point-NN 的即插即用 (Plug-and-play)
才令支持者心碎 杜特蒂长女爆染新冠
(1)3D 物體分類 (Shape Classification)
广东银行业三季度末资产总额38万亿 支持“一带一路”授信超9000亿
Point-NN 可以有效提高現有方法的分類性能,在 ScanObjectNN 數據集上,Point-NN 可以對 PointNet 和 PoitMLP 的分類準確率均提高 2%。
北京老人如何换房?机构:超四成换房为改善居住,五六环间受青睐
(2)3D 分割和檢測 (Segmentation and Detection)
對於分割任務,由於 ShapeNetPart 數據集上的測評指標已經比較飽和,Point-NN 對 CurveNet 提升的 0.1% 已經是很好的效果。對於檢測任務,Point-NN 對 3DETR-m 的增強達到了很好的 1.02%和 11.05%。
四、討論
1. 爲什麼 Point-NN 中的三角函數可以編碼 3D 信息?
确诊律师陪侦讯 台中刑大16警快筛结果出炉
(1)捕獲高頻的 3D 結構信息
挺動物!10月29日野保團體立法院「為野生動物而走」
通過下圖中 Point-NN 特徵的可視化,以及我們分解出的點雲低頻和高頻信息,可以觀察到 Point-NN 主要捕獲了點雲的高頻空間特徵,例如邊緣、拐角以及其它細粒度的細節。
(2)編碼點之間的相對位置信息
三角函數本身可以提供點雲的絕對位置信息。對於兩個點
黑牡丹领涨!中证1000价值ETF(562530)强势上涨超1%
,首先獲取它們的 C 維的位置編碼,公式如下:
而它們之前的相對位置關係可以通過它們之間的點乘得到,公式如下:
以 x 軸爲例,
這個公式表示了 x 軸上兩個點之間的相對位置。因此,三角函數可以得到點雲之間的絕對和相對位置信息,這更有利於 Point-NN 對局部化點雲的結構理解。
2.Point–NN 可以即插即用的提升 Point–PN 的性能嗎?
如上表所示,Point-NN 對 Point-PN 的提升極其有限,從上圖可視化的結果來看,Point-NN 和 Point-PN 之間的互補性比 Point-NN 和 PointNet++ 之間的互補性更弱。這是因爲 Point-PN 的基礎結構是繼承自 Point-NN,因此也會通過三角函數獲取 3D 高頻信息,和 Point-PN 擁有相似的特徵捕獲能力。
3. 和其他無需訓練的 3D 模型的比較
現有的 3D 模型中,有一類基於 CLIP 預訓練模型的遷移學習方法,例如 PointCLIP 系列,它們也不需要進行 3D 領域中的訓練過程。從上表的比較可以看出,Point-NN 可以實現很優越的無需訓練的分類性能。
4.Point–NN 與 PnP–3D 的增強效果比較
PnP-3D 提出了一種對於 3D 模型的即插即用的可學習增強模塊,但是它會引入額外的可學習參數,並且需要重新訓練而消耗更多的計算資源。如上表所示,相比之下,Point-NN 也能實現相似的增強性能,但是完全不需要額外參數或者訓練。
五、總結與展望
再槓安樂死議題! 薛瑞元嗆在野黨 「絕不當這種醫師」
本文首次在 3D 領域中,提出了一個無參數無需訓練的網絡,Point-NN,並且在各個 3D 任務上都取得了良好的性能。我們希望這篇工作可以啓發更多的研究,來關注非參數化相關的 3D 研究,而不是一味的增加複雜的 3D 算子或者堆疊大量的網絡參數。在未來的工作中,我們將探索更加先進的非參數 3D 模型,並推廣到更廣泛的 3D 應用場景中。
年度最大 ITF 旅展來了!因「這原因」攤位首度爆到廊道