多模態(tài): 點(diǎn)云+文本 | 通過(guò) CLIP 理解點(diǎn)云:PointCLIP
論文題目:《PointCLIP: Point Cloud Understanding by CLIP》
論文作者:Renrui Zhang, Ziyu Guo, Wei Zhang, Kunchang Li, Xupeng Miao, Bin Cui, Yu Qiao, Peng Gao, Hongsheng Li
作者機(jī)構(gòu):Shanghai AI Laboratory(上海人工智能實(shí)驗(yàn)室)、School of CS and Key Lab of HCST, Peking University(北京大學(xué)計(jì)算機(jī)學(xué)院及HCST重點(diǎn)實(shí)驗(yàn)室) 、CUHK-Sense Time Joint Laboratory, The Chinese University of Hong Kong(香港中文大學(xué)-商湯科技聯(lián)合實(shí)驗(yàn)室 ) 、Centre for Perceptual and Interactive Intelligence (CPII) ( ?感知與交互智能研究中心)
項(xiàng)目代碼:https://github.com/ZrrSkywalker/PointCLIP(基于 PyTorch )
在公眾號(hào)「計(jì)算機(jī)視覺(jué)工坊」后臺(tái)回復(fù)「原論文」,可獲取對(duì)應(yīng)論文pdf文件。
基于視覺(jué)-語(yǔ)言的對(duì)比預(yù)訓(xùn)練 (CLIP),提出在自然語(yǔ)言監(jiān)督下學(xué)習(xí)可轉(zhuǎn)移的視覺(jué)特征,已經(jīng)在圖像與文本匹配的 2D 視覺(jué)識(shí)別中表現(xiàn)出了令人鼓舞的效果。通過(guò)大規(guī)模 2D圖像-文本對(duì)預(yù)訓(xùn)練的 CLIP 是否可以推廣到三維識(shí)別?該作者提出PointCLIP來(lái)首次確定這種設(shè)置是可行的,PointCLIP在 CLIP 編碼的3D點(diǎn)云和類別文本之間進(jìn)行對(duì)齊。
具體來(lái)說(shuō),通過(guò)將3D點(diǎn)云投影到多視圖深度圖上對(duì)其進(jìn)行編碼,并以端到端的方式聚合逐視圖的 zero-shot ?預(yù)測(cè),從而實(shí)現(xiàn)從 2D 到 3D 的高效知識(shí)轉(zhuǎn)移。為了更好地提取全局特征,并將 3D few-shot 知識(shí)自適應(yīng)地融合到 2D 預(yù)訓(xùn)練的CLIP中,進(jìn)一步設(shè)計(jì)了一個(gè) inter-view 適配器。
此外, PointCLIP 與經(jīng)典 3D 監(jiān)督網(wǎng)絡(luò)之間的知識(shí)互補(bǔ)特性。通過(guò)在推理過(guò)程中簡(jiǎn)單的集成,PointCLIP有助于在最先進(jìn)的 3D 網(wǎng)絡(luò)上實(shí)現(xiàn)有利的性能增強(qiáng)。
近年來(lái),基于對(duì)比視覺(jué)語(yǔ)言預(yù)訓(xùn)練 (CLIP) 的 zero-shot ?和 few-shot 學(xué)習(xí)在開放詞匯環(huán)境下學(xué)習(xí)圖像與文本匹配的 2D 視覺(jué)識(shí)別中表現(xiàn)出了令人鼓舞的效果。然而,通過(guò)大規(guī)模 ?2D 圖像-文本對(duì)預(yù)訓(xùn)練的 CLIP 是否可以推廣到三維識(shí)別,還有待探討。
在本文中,我們通過(guò)提出PointCLIP來(lái)確定這種設(shè)置是可行的,PointCLIP在 CLIP 編碼的點(diǎn)云和 3D 類別文本之間進(jìn)行對(duì)齊。
具體來(lái)說(shuō),我們通過(guò)將3D點(diǎn)云投影到多視圖深度圖上對(duì)其進(jìn)行編碼,并以端到端的方式聚合逐視圖的 zero-shot ?預(yù)測(cè),從而實(shí)現(xiàn)從 2D 到 3D 的高效知識(shí)轉(zhuǎn)移。
為了更好地提取全局特征,并將 3D few-shot 知識(shí)自適應(yīng)地融合到 2D 預(yù)訓(xùn)練的CLIP中,我們進(jìn)一步設(shè)計(jì)了一個(gè) inter-view 適配器。只要在 few-shot ?設(shè)置下調(diào)整適配器,PointCLIP的性能就能得到很大提高。
此外,我們還觀察了 PointCLIP 與經(jīng)典 3D 監(jiān)督網(wǎng)絡(luò)之間的知識(shí)互補(bǔ)特性。通過(guò)在推理過(guò)程中簡(jiǎn)單的集成,PointCLIP有助于在最先進(jìn)的 3D 網(wǎng)絡(luò)上實(shí)現(xiàn)有利的性能增強(qiáng)。因此,PointCLIP是一種很有前途的替代方案,可以在低數(shù)據(jù)條件下以邊際資源成本有效地理解 3D 點(diǎn)云。
我們?cè)?strong>ModelNet10、ModelNet40和ScanObjectNN上進(jìn)行了深入的實(shí)驗(yàn),以證明PointCLIP的有效性。
圖1 PointCLIP與pointnet++訓(xùn)練測(cè)試方案的比較。
與傳統(tǒng)的三維網(wǎng)絡(luò)不同,本文提出的PointCLIP網(wǎng)絡(luò)采用二維圖像文本對(duì)進(jìn)行預(yù)訓(xùn)練,無(wú)需進(jìn)行三維訓(xùn)練
直接對(duì) 3D 數(shù)據(jù)集進(jìn)行 zero-shot 分類,實(shí)現(xiàn)了高效的跨模態(tài)知識(shí)轉(zhuǎn)移
近年來(lái),深度學(xué)習(xí)在二維和三維領(lǐng)域的計(jì)算機(jī)視覺(jué)任務(wù)中占據(jù)主導(dǎo)地位,例如圖像分類,目標(biāo)檢測(cè),語(yǔ)義分割,點(diǎn)云識(shí)別和零件分割。隨著三維傳感技術(shù)的快速發(fā)展,對(duì)三維點(diǎn)云數(shù)據(jù)處理的需求不斷增長(zhǎng),催生了許多先進(jìn)的深度模型,包括更好的局部特征聚合器、幾何建模和基于投影的處理。
與基于網(wǎng)格的二維圖像數(shù)據(jù)不同,三維點(diǎn)云存在空間稀疏性和不規(guī)則性,不利于從二維域直接轉(zhuǎn)移方法。
更重要的是,大量新捕獲的點(diǎn)云包含了部署模型中 “看不見” 類別的對(duì)象。在這種情況下,即使是性能最好的分類器也可能無(wú)法識(shí)別它們,并且每次出現(xiàn) “看不見的” 對(duì)象時(shí)都重新訓(xùn)練模型是無(wú)法承受的。
通過(guò)對(duì)比視覺(jué)語(yǔ)言預(yù)訓(xùn)練,類似的問(wèn)題在 2D 視覺(jué)中得到了顯著緩解,它提出在自然語(yǔ)言監(jiān)督下學(xué)習(xí)可轉(zhuǎn)移的視覺(jué)特征。對(duì)于 “看不見” 類別的 zero-shot 分類,利用視覺(jué)和語(yǔ)言之間的預(yù)訓(xùn)練相關(guān)性進(jìn)行開放詞匯識(shí)別,并取得了令人滿意的性能。
為了提高在 few-shot 設(shè)置下的準(zhǔn)確性,采用可學(xué)習(xí)token對(duì)文本輸入進(jìn)行編碼,避免了手工提示的調(diào)優(yōu)。
從另一個(gè)角度來(lái)看,增加了一個(gè)具有兩個(gè)線性層的輕量級(jí)殘差式適配器,以更好地適應(yīng)圖像特征,進(jìn)一步提高了其性能,同時(shí)大大縮短了訓(xùn)練時(shí)間。
因此,在二維圖像上識(shí)別新的未標(biāo)記物體的問(wèn)題已經(jīng)得到了很好的探索,并且所提出的方法比 zero-shot 有了顯著的改進(jìn)。然而,對(duì)于更具挑戰(zhàn)性的點(diǎn)云,一個(gè)問(wèn)題自然產(chǎn)生了:這種基于的模型能否轉(zhuǎn)移到 3D 領(lǐng)域,實(shí)現(xiàn)對(duì) “看不見” 3D 物體的 zero-shot 分類?
為了解決這個(gè)問(wèn)題,我們提出了PointCLIP,它將的 2D 預(yù)訓(xùn)練知識(shí)轉(zhuǎn)移到 3D 點(diǎn)云理解中。
第一個(gè)問(wèn)題是彌合無(wú)序點(diǎn)云和可以處理的基于網(wǎng)格的圖像之間的模態(tài)差距??紤]到自動(dòng)駕駛和室內(nèi)導(dǎo)航等應(yīng)用的實(shí)時(shí)性需求,我們建議采用在線透視投影,無(wú)需任何后期渲染,即簡(jiǎn)單地將原始點(diǎn)投影到預(yù)先定義的圖像平面上,生成散點(diǎn)深度圖。該投影過(guò)程在時(shí)間和計(jì)算上的成本都很小,但從多個(gè)角度保留了點(diǎn)云的原始屬性。
在此基礎(chǔ)上,我們應(yīng)用預(yù)訓(xùn)練的視覺(jué)編碼器提取點(diǎn)云的多視圖特征,然后通過(guò)文本生成分類器獲得每個(gè)視圖的 ?zero-shot 預(yù)測(cè)。其中,我們將 3D 類別名稱放入手工制作的模板中,并通過(guò)的預(yù)訓(xùn)練文本編碼器生成 zero-shot 分類器。由于不同的視圖對(duì)理解的貢獻(xiàn)不同,我們通過(guò)視圖之間的加權(quán)聚合來(lái)獲得最終的點(diǎn)云預(yù)測(cè)。
雖然PointCLIP在沒(méi)有任何 3D 訓(xùn)練的情況下實(shí)現(xiàn)了交叉模態(tài) zero-shot 分類,但其性能仍然落后于在完整數(shù)據(jù)集上訓(xùn)練良好的經(jīng)典點(diǎn)云網(wǎng)絡(luò)。為了消除這種差距,我們引入了一個(gè)具有 bottleneck 線性層的可學(xué)習(xí)的視圖間適配器,以便在 few-shot 設(shè)置中更好地從多個(gè)視圖中提取特征。
具體而言,我們通過(guò)交叉視圖交互和融合,將所有視圖的特征連接起來(lái),總結(jié)出緊湊的點(diǎn)云全局特征?;谌直硎荆擅總€(gè)視圖的自適應(yīng)特征,并通過(guò)殘差連接將其添加到原始的編碼特征中。
通過(guò)這種方式,每個(gè)視圖都知道全局信息,并且還將來(lái)自 3D ?few-shot數(shù)據(jù)集的新知識(shí)與預(yù)訓(xùn)練的 2D 知識(shí)相結(jié)合。在訓(xùn)練期間,我們只微調(diào)這個(gè)適配器,并凍結(jié)的視覺(jué)和文本編碼器,以避免過(guò)度擬合,因?yàn)槊總€(gè)類只有幾個(gè)樣本不足以訓(xùn)練。通過(guò) ?few-shot 微調(diào),帶交互視圖適配器的PointCLIP大大提高了 ?zero-shot 性能,并在性能和成本之間取得了良好的平衡。
此外,我們觀察到的 2D 知識(shí),由對(duì)比圖像-文本對(duì)監(jiān)督,是對(duì) 3D 近集監(jiān)督的補(bǔ)充。PointCLIP與交互視圖適配器可以用來(lái)提高經(jīng)典的完全訓(xùn)練的 3D 網(wǎng)絡(luò)的性能。
對(duì)于準(zhǔn)確率為的 %的 PointNet++,我們采用了經(jīng)過(guò) 次 ModelNet40 微調(diào)的,并在推理過(guò)程中直接集成了它們預(yù)測(cè)的分類邏輯。性能提高了 ,從 提高到 。
同樣,對(duì)于最先進(jìn)的 3D 識(shí)別網(wǎng)絡(luò)CurveNet ,知識(shí)集成有助于將性能從 提高到 。
相比之下,在沒(méi)有 PointCLIP 的情況下,在 ModelNet40 上完全訓(xùn)練的兩個(gè)模型之間簡(jiǎn)單地集成不能導(dǎo)致性能改進(jìn)。因此,PointCLIP 可以看作是一個(gè)嵌入式多知識(shí)集成模塊,通過(guò) 2D 對(duì)比知識(shí)和邊際 few-shot 訓(xùn)練來(lái)促進(jìn) 3D 網(wǎng)絡(luò)。
本文的貢獻(xiàn)如下:
我們提出了PointCLIP擴(kuò)展CLIP來(lái)處理三維點(diǎn)云數(shù)據(jù),通過(guò)將二維預(yù)訓(xùn)練的知識(shí)轉(zhuǎn)移到三維中來(lái)實(shí)現(xiàn)跨模態(tài) zero-shot 識(shí)別。
在PointCLIP上通過(guò)多個(gè)視圖之間的特征交互引入了一個(gè)交互視圖適配器,通過(guò) ?few-shot 微調(diào)大大提高了性能。
PointCLIP可以作為一個(gè)多知識(shí)集成模塊來(lái)增強(qiáng)現(xiàn)有的訓(xùn)練有素的 3D 網(wǎng)絡(luò)的性能。
在廣泛適用的ModelNet10、ModelNet40和具有挑戰(zhàn)性的ScanObjectNN上進(jìn)行了全面的實(shí)驗(yàn),這表明PointCLIP具有有效 3D 理解的潛力。
zero-shot 學(xué)習(xí)的目標(biāo)是識(shí)別 “看不見的” 物體,這些物體不作為訓(xùn)練樣本。雖然zero-shot學(xué)習(xí)在二維分類中得到了很多關(guān)注,但在三維領(lǐng)域中如何進(jìn)行zero-shot學(xué)習(xí)的研究卻很少。
作為對(duì)點(diǎn)云的第一次嘗試,將 3D 數(shù)據(jù)集分為兩部分,分別由 “可見” 和 “未見” 樣本組成。
通過(guò)學(xué)習(xí)一個(gè)從點(diǎn)云特征空間到類別語(yǔ)義空間的投影函數(shù),通過(guò)前者對(duì) PointNet進(jìn)行訓(xùn)練,并在后者上進(jìn)行測(cè)試。
基于先前的工作,進(jìn)一步緩解了由低質(zhì)量 3D 特征引起的中心問(wèn)題,引入了三重?fù)p失,以便在換向設(shè)置中獲得更好的性能,從而允許利用未標(biāo)記的 “看不見的” 數(shù)據(jù)進(jìn)行訓(xùn)練。
與上述所有設(shè)置不同的是,PointCLIP只從 2D 數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,并在沒(méi)有任何 3D 訓(xùn)練的情況下對(duì) “看不見的” 3D 樣本進(jìn)行直接的 zero-shot 識(shí)別。因此,考慮到從 2D 到 3D 的領(lǐng)域差距,我們的設(shè)置更具挑戰(zhàn)性,對(duì)于實(shí)際問(wèn)題更緊迫。
遷移學(xué)習(xí),旨在利用數(shù)據(jù)豐富領(lǐng)域的知識(shí)來(lái)幫助數(shù)據(jù)稀缺領(lǐng)域的學(xué)習(xí)。
對(duì)于一般視覺(jué),ImageNet預(yù)訓(xùn)練可以極大地有利于各種下游任務(wù),如目標(biāo)檢測(cè)和語(yǔ)義分割。
同樣在自然語(yǔ)言處理中,通過(guò)掩碼語(yǔ)言模型對(duì)網(wǎng)絡(luò)抓取語(yǔ)料庫(kù)進(jìn)行預(yù)訓(xùn)練的表征在機(jī)器翻譯和自然語(yǔ)言推理方面取得了領(lǐng)先的性能。
在沒(méi)有任何微調(diào)的情況下,最近引入的 CLIP 對(duì) “未見過(guò)的” 數(shù)據(jù)集顯示出優(yōu)越的圖像理解能力。CoOp、CLIP- adapter、Tip-Adapter等進(jìn)一步表明,注入特定領(lǐng)域的監(jiān)督可以大大提高CLIP的性能。
雖然成功的案例令人鼓舞,但除了Image2Point外,現(xiàn)有的大多數(shù)方法都是在相同的模式下進(jìn)行知識(shí)轉(zhuǎn)移,即圖像到圖像,視頻到視頻或語(yǔ)言到語(yǔ)言。
與之不同的是,我們的PointCLIP能夠有效地將從 2D 圖像學(xué)習(xí)到的表征轉(zhuǎn)移到不同的 3D 點(diǎn)云,這激發(fā)了未來(lái)對(duì)不同模式遷移學(xué)習(xí)的研究。
現(xiàn)有的點(diǎn)云深度神經(jīng)網(wǎng)絡(luò)可分為基于點(diǎn)的方法和基于投影的方法。
基于點(diǎn)的模型在沒(méi)有任何預(yù)變換的情況下處理原始點(diǎn)。PointNet和pointnet++首先使用多層感知器 (Multi-layer Perceptron, MLP) 對(duì)每個(gè)點(diǎn)進(jìn)行編碼,并利用最大池化操作來(lái)保證排列不變性。最近基于點(diǎn)的方法提出了更先進(jìn)的架構(gòu)設(shè)計(jì)以及幾何提取器,以更好地分析點(diǎn)云。
除了原始點(diǎn)之外,基于投影的方法通過(guò)將點(diǎn)云轉(zhuǎn)換為體積或多視圖數(shù)據(jù)形式來(lái)理解點(diǎn)云。其中,多視圖方法將點(diǎn)云投影到多視圖圖像上,并使用在ImageNet上預(yù)訓(xùn)練的二維卷積神經(jīng)網(wǎng)絡(luò) (CNN) 進(jìn)行處理,如MVCNN等。通常,這種視圖投影方法在離線生成的 3D 網(wǎng)格投影圖像上運(yùn)行,或者需要對(duì)陰影和紋理進(jìn)行后渲染,這對(duì)于實(shí)時(shí)應(yīng)用來(lái)說(shuō)是昂貴且不切實(shí)際的。
相反,我們遵循SimpleView,將原始點(diǎn)簡(jiǎn)單地投影到圖像平面上而不進(jìn)行處理,并根據(jù)垂直距離設(shè)置其像素值。這樣的深度圖投影在時(shí)間和計(jì)算成本上都很有限,滿足了高效的端到端zero-shot識(shí)別的需求。
圖2 PointCLIP的pipeline 。為了彌合模態(tài)差距,PointCLIP將點(diǎn)云投影到多視圖深度圖上,并通過(guò)在 2D 中預(yù)訓(xùn)練的 CLIP 進(jìn)行 3D 識(shí)別。
該設(shè)定提供了直接 zero-shot分類和 few-shot分類的替代方案,分別以實(shí)線和虛線表示。
在第 節(jié)中,我們首先回顧對(duì)比視覺(jué)語(yǔ)言預(yù)訓(xùn)練 (CLIP) 用于 ?2D zero-shot分類。
在第 節(jié)中,我們介紹了PointCLIP,它將 2D 預(yù)訓(xùn)練的知識(shí)轉(zhuǎn)移到 3D 點(diǎn)云中。
在第 節(jié)中,我們提供了一個(gè)inter-view適配器,以獲得更好的 few-shot 性能。
在第 節(jié)中,我們建議將PointCLIP與經(jīng)過(guò)充分訓(xùn)練的經(jīng)典 3D 網(wǎng)絡(luò)集成,以進(jìn)行多知識(shí)互補(bǔ)。
對(duì)CLIP進(jìn)行預(yù)訓(xùn)練,使其與相應(yīng)的自然語(yǔ)言描述相匹配。CLIP中有兩個(gè)獨(dú)立的編碼器,分別用于視覺(jué)和文本特征編碼。
在訓(xùn)練過(guò)程中,給定一批圖像和文本,CLIP提取它們的特征,并學(xué)習(xí)在嵌入空間中以對(duì)比損失對(duì)齊它們。
為了確保全面的學(xué)習(xí),從互聯(lián)網(wǎng)上收集了億個(gè)訓(xùn)練圖像-文本對(duì),這使得CLIP能夠?qū)D像與開放詞匯表中的任何語(yǔ)義概念對(duì)齊,以進(jìn)行 zero-shot 分類。
具體來(lái)說(shuō),對(duì)于 個(gè)類的 “看不見的” 數(shù)據(jù)集,CLIP 通過(guò)將所有類別名稱放入預(yù)定義的模板 (稱為提示符) 來(lái)構(gòu)造文本輸入。
然后,通過(guò)分類文本的 維文本特征得到 few-shot 分類器,我們將其權(quán)值記為 。
中的每 行向量都對(duì)預(yù)訓(xùn)練的類別知識(shí)進(jìn)行編碼。
同時(shí),測(cè)試圖像的特征被 CLIP 的視覺(jué)編碼器編碼為 ,分類 計(jì)算為:
其中: ? 和 表示 函數(shù)和 個(gè)類別的預(yù)測(cè)概率。整個(gè)過(guò)程不需要任何新的訓(xùn)練圖像,并且通過(guò)預(yù)訓(xùn)練編碼器獲得了良好的 zero-shot 分類性能。
各種 2D 的大規(guī)模數(shù)據(jù)集為預(yù)訓(xùn)練模型提供了豐富的樣本,以提取高質(zhì)量和魯棒性的 2D 特征。相比之下,廣泛采用的 3D 數(shù)據(jù)集相對(duì)要小得多,并且包含有限的對(duì)象類別,例如,ModelNet40有9843個(gè)樣本和40個(gè)類,而ImageNet有100萬(wàn)個(gè)樣本和1000個(gè)類。
因此,獲得性能良好的預(yù)訓(xùn)練 3D 網(wǎng)絡(luò)用于遷移學(xué)習(xí)是非常困難的。為了緩解這一問(wèn)題并探索 CLIP 的交叉模態(tài)能力,我們提出了PointCLIP在預(yù)訓(xùn)練的 CLIP 基礎(chǔ)上對(duì)點(diǎn)云進(jìn)行 zero-shot 學(xué)習(xí)。
點(diǎn)云數(shù)據(jù)是一組無(wú)序的點(diǎn)分布在三維空間周圍,其稀疏性和分布與基于網(wǎng)格的二維圖像有很大的不同。為了將點(diǎn)云轉(zhuǎn)換為可訪問(wèn) CLIP 的表示形式,我們從多個(gè)視圖生成點(diǎn)投影圖像,以消除 3D 和 2D 之間的模態(tài)差距。
其中,若將某點(diǎn)的坐標(biāo)記為 ,以底部視圖為例,則其在圖像平面上的投影位置為 ,如同[19]。
這樣,投影出來(lái)的點(diǎn)云就是一個(gè)縮短的圖形,即遠(yuǎn)觀小而反觀大,與真實(shí)照片更接近。除了[19]使用一個(gè)卷積層將單通道深度圖預(yù)處理為三通道特征圖外,我們沒(méi)有對(duì)所有三個(gè)通道進(jìn)行任何預(yù)變換并重復(fù)像素值 。
此外,我們沒(méi)有進(jìn)行離線處理,直接從原始點(diǎn)獲取投影深度圖,沒(méi)有顏色信息(這導(dǎo)致了邊際時(shí)間和計(jì)算成本)。通過(guò)這種輕量級(jí)的跨模態(tài)內(nèi)聚,CLIP 的預(yù)訓(xùn)練知識(shí)可以用于點(diǎn)云理解。
基于 個(gè)視圖的投影圖像,我們使用 CLIP 提取它們的視覺(jué)特征 ,對(duì)于 個(gè)視覺(jué)編碼器。
對(duì)于文本分支,我們將 個(gè)類別名稱放入預(yù)定義模板的類標(biāo)記位置:point cloud depth map of a [CLASS] 。并將其文本特征編碼為 zero-shot 分類器 。
在此基礎(chǔ)上,分別計(jì)算每個(gè)視圖的分類 ,并將其加權(quán)求和得到點(diǎn)云的最終 。
其中: 是衡量視圖 重要性的超參數(shù)。
每個(gè)視圖的 編碼點(diǎn)云的不同視角,并能夠獨(dú)立進(jìn)行zero-shot分類。它們的聚合進(jìn)一步補(bǔ)充了來(lái)自不同角度的信息,以實(shí)現(xiàn)總體理解。
對(duì)于 “看不見的” 3D 數(shù)據(jù)集,PointCLIP的整個(gè)過(guò)程是非參數(shù)化的,它通過(guò)CLIP預(yù)訓(xùn)練的 2D 知識(shí)將每個(gè)點(diǎn)云與其類別配對(duì),而無(wú)需任何 3D 訓(xùn)練。
圖3 inter-view適配器的詳細(xì)結(jié)構(gòu)。
給定點(diǎn)云的多視圖特征,適配器提取其全局表示并生成面向視圖的自適應(yīng)特征。
通過(guò)殘差連接,將新學(xué)習(xí)的 3D 知識(shí)融合到預(yù)訓(xùn)練的CLIP中。
雖然PointCLIP在點(diǎn)云上實(shí)現(xiàn)了高效的 zero-shot 分類,但其性能是完全訓(xùn)練好的 3D 神經(jīng)網(wǎng)絡(luò)無(wú)法比擬的。
然后,我們考慮一個(gè)更常見的場(chǎng)景,即新收集的數(shù)據(jù)中包含每個(gè) “未見” 類別的幾個(gè)對(duì)象,并且需要網(wǎng)絡(luò)在如此 ?few-shot 設(shè)置下識(shí)別它們。
對(duì)整個(gè) CLIP 進(jìn)行微調(diào)是不切實(shí)際的,因?yàn)榫薮蟮膮?shù)和不足的訓(xùn)練樣本很容易導(dǎo)致過(guò)度擬合。
因此,參考自然語(yǔ)言處理 (NLP) 和 CLIP- adapter 中的對(duì)下游任務(wù)的 CLIP 進(jìn)行微調(diào),我們?cè)?strong>PointCLIP之上附加了一個(gè)三層多層感知器(MLP),命名為 inter-view adapter,以進(jìn)一步提高其在 few-shot 設(shè)置下的性能。
在訓(xùn)練期間,我們凍結(jié)CLIP的視覺(jué)和文本編碼器,并僅通過(guò)交叉熵?fù)p失微調(diào)可學(xué)習(xí)適配器。
具體來(lái)說(shuō),給定一個(gè)點(diǎn)云的 CLIP 編碼的 -view 特征,我們沿著通道維度將它們連接為 ,然后通過(guò)視圖間適配器的兩個(gè)線性層獲得緊湊的全局表示為
其中:? 表示適配器中的兩層權(quán)值。
通過(guò)這種跨視圖聚合,多個(gè)視角的特征被融合成一個(gè)匯總向量。
在此基礎(chǔ)上,從全局特征生成面向視圖的自適應(yīng)特征,并通過(guò)殘差連接將其添加到原始的 CLIP 編碼特征中
式中, 表示視圖 的 ?的第 部分, 。
inter-view 適配器顯示了兩個(gè)好處:
首先,它將全局引導(dǎo)的自適應(yīng)特征與 混合在一起,以便全面了解點(diǎn)云;
另一方面,將新學(xué)習(xí)的 3D ?few-shot 知識(shí)注入到 2D 預(yù)訓(xùn)練的 CLIP 中,在 3D 特定監(jiān)督下進(jìn)一步促進(jìn)跨模態(tài)性能。
在 inter-view 適配器之后,每個(gè) view 使用自適應(yīng)的特征 和文本分類器 進(jìn)行分類。和 zero-shot 分類一樣,將 個(gè) view 的所有 M 進(jìn)行匯總,構(gòu)建最終的預(yù)測(cè)。令人驚訝的是,僅僅微調(diào)這個(gè)帶有少量樣本的添加的適配器就能顯著提高性能:
例如,在ModelNet40上,每個(gè)類別有16個(gè)樣本,從 提高到 ,不到完整數(shù)據(jù)的1/10。
這一鼓舞人心的提升證明了特征自適應(yīng)在 3D ?few-shot數(shù)據(jù)上的有效性和重要性,極大地促進(jìn)了知識(shí)從 2D 到 3D 的轉(zhuǎn)移。
因此,帶交互視圖適配器的PointCLIP為點(diǎn)云理解提供了一個(gè)有希望的替代解決方案。特別是對(duì)于一些沒(méi)有條件用大規(guī)模全標(biāo)注數(shù)據(jù)來(lái)訓(xùn)練整個(gè)模型的應(yīng)用,只需對(duì)PointCLIP的三層適配器進(jìn)行微調(diào),用 ?few-shot 數(shù)據(jù)就可以達(dá)到有競(jìng)爭(zhēng)力的性能。
圖4 PointCLIP可以為傳統(tǒng)的 3D 網(wǎng)絡(luò)提供補(bǔ)充的 2D 知識(shí),并作為即插即用的增強(qiáng)模塊。
經(jīng)典的點(diǎn)云網(wǎng)絡(luò),從早期的PointNet到最近的CurveNet,都是通過(guò) close-set 監(jiān)督在 3D 數(shù)據(jù)集上從頭開始訓(xùn)練的,但PointCLIP主要繼承了來(lái)自 2D 視覺(jué)語(yǔ)言學(xué)習(xí)的預(yù)訓(xùn)練先驗(yàn),并且包含了知識(shí)的不同方面。
然后我們研究這兩種形式的知識(shí)是否可以組合在一起以獲得更好的聯(lián)合推理。在實(shí)踐中,我們選擇了兩個(gè)模型:pointnet++和我們?cè)诖挝⒄{(diào)下的PointCLIP,通過(guò)簡(jiǎn)單的加法直接集成它們的預(yù)測(cè) 作為最終輸出。
出乎我們的意料,在PointCLIP 的幫助下,pointnet++從提升到,顯著提升了+。
換句話說(shuō),兩個(gè)低分?jǐn)?shù)模型的集成可以產(chǎn)生一個(gè)更強(qiáng)的模型,這充分說(shuō)明了兩種知識(shí)的互補(bǔ)互動(dòng)。相比之下,一對(duì)經(jīng)典的訓(xùn)練有素的模型之間的合奏不會(huì)帶來(lái)表現(xiàn)提高,表明互補(bǔ)性的重要性。
我們進(jìn)一步將PointCLIP與其他最先進(jìn)的 3D 網(wǎng)絡(luò)集成,并觀察到類似的性能提升。因此,PointCLIP可以用作即插即用增強(qiáng)模塊,以實(shí)現(xiàn)更強(qiáng)大的點(diǎn)云識(shí)別。
表1 PointCLIP在ModelNet10, ModelNet40和ScanObjectNN上的 few-shot 性能與最佳性能設(shè)置。Proj. 設(shè)置包括投影距離和深度圖的邊長(zhǎng)。
我們?cè)谌齻€(gè)知名數(shù)據(jù)集ModelNet10、ModelNet40和ScanObjectNN上評(píng)估了PointCLIP的 zero-shot 分類性能。
對(duì)于每個(gè)數(shù)據(jù)集,我們不需要訓(xùn)練數(shù)據(jù),采用完整的測(cè)試集進(jìn)行評(píng)估。對(duì)于預(yù)訓(xùn)練的CLIP模型,我們默認(rèn)采用ResNet-50作為視覺(jué)編碼器,transformer 作為文本編碼器。
然后,我們從前、右、后、左、上、下個(gè)正交視圖投影點(diǎn)云,每個(gè)視圖的相對(duì)權(quán)重值從到不等,如表 第四列所示。
由于點(diǎn)坐標(biāo)從歸一化到,我們將個(gè)圖像平面設(shè)置在距離坐標(biāo)中心的固定距離上,這個(gè)距離顯示為Proj的第一個(gè)值。
設(shè)置如表 所示,其中距離越大,圖像上的點(diǎn)分布越密集。
投影方形深度圖的邊長(zhǎng)在不同的數(shù)據(jù)集上是不同的,在Proj設(shè)置中表示為第二個(gè)值。并且較大的邊長(zhǎng)會(huì)導(dǎo)致較小的投影對(duì)象大小。
然后,我們對(duì)所有的樣本進(jìn)行上采樣化為,以便與 CLIP 的設(shè)置對(duì)齊。
對(duì)于來(lái)自文本編碼器的 zero-shot 分類器,我們將文本模板設(shè)置為 “point cloud depth map of a [CLASS].”,以迎合點(diǎn)云的視覺(jué)特征。
在表中,我們展示了 zero-shot PointCLIP在三個(gè)具有最佳性能設(shè)置的數(shù)據(jù)集上的性能。
在沒(méi)有任何訓(xùn)練的情況下,PointCLIP能夠在ModelNet10上達(dá)到的預(yù)期,這證明了我們從到的有效知識(shí)轉(zhuǎn)移。
對(duì)于類別數(shù)量為倍的ModelNet40和具有嘈雜現(xiàn)實(shí)場(chǎng)景的ScanObjectNN, PointCLIP的性能略差: ?分別為和,這是由于缺乏特定的下游適應(yīng)。
對(duì)于 proj 的投影距離和圖像分辨率。設(shè)置時(shí),其方差符合不同數(shù)據(jù)集的屬性。
與室內(nèi)ModelNet10相比,ModelNet40上的PointCLIP需要更多的細(xì)節(jié)來(lái)識(shí)別復(fù)雜的室外物體,如飛機(jī)、植物等,因此點(diǎn)越分散,物體尺寸越大,即透視投影距離和分辨率越高,表現(xiàn)越好。
相比之下,對(duì)于ScanObjectNN,需要更密集的點(diǎn)和更大的分辨率來(lái)過(guò)濾噪聲并保留復(fù)雜的真實(shí)場(chǎng)景信息。
在視圖權(quán)重方面,合成對(duì)象的ModelNet10和ModelNet40要求所有個(gè)視圖對(duì)最終分類的貢獻(xiàn)具有不同的重要性,但對(duì)于包含地板和天花板噪聲點(diǎn)的ScanObjectNN,頂部和底部視圖幾乎不能提供任何信息。
表2 在 ModelNet40上對(duì) zero-shot 和 16-shot 的 PointCLIP 的投影視圖數(shù)和重要性的消融研究(%)。
在表中,我們對(duì) few-shot PointCLIP的投影視圖數(shù)進(jìn)行了消融研究以及ModelNet40中每個(gè)視圖的重要性。
''對(duì)于視圖數(shù)量,我們嘗試了 和 個(gè)視圖,以越來(lái)越多地捕獲點(diǎn)云的多視圖信息,但超過(guò) 個(gè)視圖會(huì)帶來(lái)冗余并導(dǎo)致性能下降。
為了探索不同視圖如何影響性能,我們將所有相對(duì)權(quán)重統(tǒng)一為,并分別將每個(gè)視圖的權(quán)重增加到。
從表中可以看出,從右邊開始的投影效果最好,說(shuō)明了它的主導(dǎo)作用,而從上到下的投影對(duì)分類的貢獻(xiàn)相對(duì)較小。
在表中,我們實(shí)現(xiàn)了不同的視覺(jué)主干,包括ResNet和 vision transformer,其中RN50×16的性能最好,達(dá)到。
表3 PointCLIP在ModelNet40上不同提示符設(shè)計(jì)的性能。
[CLASS]表示類標(biāo)記,[Learnable Tokens]表示固定長(zhǎng)度的可學(xué)習(xí)提示。
表4 PointCLIP在ModelNet40上使用不同視覺(jué)編碼器的性能(%)。
RN50和ViT-B/32表示ResNet-50和視覺(jué) transformer, 片嵌入。
%表示ResNet-50計(jì)算量是[46]的16倍。
我們?cè)诒碇袨?strong>zero-shot PointCLIP提供了五種提示設(shè)計(jì)。
我們觀察到簡(jiǎn)單的 “a photo of a [CLASS]”,在ModelNet40上達(dá)到,簡(jiǎn)單地將 “point cloud” 這個(gè)詞插入其中會(huì)損害性能。
然后,我們?nèi)サ?“a photo””,直接利用 “point cloud” 作為主體,使準(zhǔn)確率提高了。由于投影的點(diǎn)云通常會(huì)覆蓋大部分圖像區(qū)域,因此添加 “big” 可以進(jìn)一步提高性能。
此外,我們添加了 “depth map” 來(lái)更貼切地描述投影圖像,這對(duì)表現(xiàn)最佳的做出了貢獻(xiàn),表明提示選擇的重要性。
圖5 PointCLIP與其他經(jīng)典3D網(wǎng)絡(luò)在ModelNet10、ModelNet40和ScanObjectNN上的性能比較我們的PointCLIP在 和設(shè)置下顯示出與其他型號(hào)一致的優(yōu)勢(shì)。
我們?cè)?strong>ModelNet10、ModelNet40和ScanObjectNN上也用、、、、個(gè) shot 下的inter-view適配器試驗(yàn)PointCLIP。對(duì)于次 shot 設(shè)置,我們從訓(xùn)練集的每個(gè)類別中隨機(jī)抽取個(gè)點(diǎn)云。
考慮到效率和性能,我們采用ResNet-作為 CLIP 的預(yù)訓(xùn)練視覺(jué)編碼器,以獲得更強(qiáng)的特征提取,并將投影視圖數(shù)增加到個(gè),增加了 左上角/左下角/左下角 的視圖,因?yàn)樵诒碇?,左視圖被證明是對(duì) few-shot 識(shí)別信息量最大的。
另外,我們將提示符修改為 “point cloud of a big [CLASS]”,在few-shot實(shí)驗(yàn)中表現(xiàn)較好。對(duì)于交互視圖適配器,我們構(gòu)建了一個(gè)由三個(gè)線性層組成的殘差式多層感知器(MLP),如第節(jié)所述。
在圖中,我們展示了PointCLIP的 few-shot 性能,并將其與個(gè)代表性的網(wǎng)絡(luò)進(jìn)行了比較: PointNet、pointnet++、SimpleView和最先進(jìn)的CurveNet。
正如我們所看到的,帶有 inter-view 適配器的PointCLIP優(yōu)于所有其他的用于 ?few-shot 分類的方法。當(dāng)每個(gè)類別的樣本數(shù)量較少時(shí),PointCLIP具有明顯的優(yōu)勢(shì),在ModelNet40上 1-shot 就超過(guò)了PointNet和CurveNet 。
當(dāng)給定更多的訓(xùn)練樣本時(shí),PointCLIP仍然領(lǐng)先于性能,但由于編碼器的凍結(jié)和唯一的三層適配器的有限擬合能力,差距變得更小。
在表中,我們顯示了不同投影視圖下的 的PointCLIP,并探索每個(gè)視圖如何對(duì)ModelNet40做出貢獻(xiàn)。
與 ?zero-shot 版本不同,的PointCLIP的個(gè)視圖比個(gè)視圖表現(xiàn)得更好,這可能是因?yàn)樾绿砑拥倪m配器能夠更好地利用來(lái)自更多視圖的信息并自適應(yīng)地聚合它們。
對(duì)于視圖的重要性,我們遵循 zero-shot 實(shí)驗(yàn)的配置,但觀察到相反的結(jié)論: 左邊的視圖是最具信息量的視圖。
對(duì)于表中不同的視覺(jué)編碼器,ResNet-以比視覺(jué)transformer 或ResNet-更少的參數(shù)實(shí)現(xiàn)了最高的精度。表列出了提示設(shè)計(jì)對(duì)性能的影響。CoOp之后的可學(xué)習(xí)提示比手工設(shè)計(jì)表現(xiàn)最差, “point cloud of a big [CLASS].” 表現(xiàn)最好。
表5 16次 PointCLIP 對(duì)多知識(shí)集成的增強(qiáng)率(%)在ModelNet40上達(dá)到 。前后對(duì)比表示帶有或不帶有PointCLIP集合的模型。
為了驗(yàn)證混合預(yù)訓(xùn)練的先驗(yàn)知識(shí)與知識(shí)的互補(bǔ)性,我們將ModelNet40上微調(diào)過(guò)的次PointCLIP()與完全訓(xùn)練的PointNet、pointnet++、DGCNN、SimpleView和CurveNet分別聚合在一起。
其他模型的所有檢查點(diǎn)都是不經(jīng)過(guò)投票從中獲得的。我們手動(dòng)調(diào)整PointCLIP和每個(gè)模型之間的融合比率,并報(bào)告表中最佳比率的性能,它表示PointCLIP相對(duì)于整體的權(quán)重。
如表所示,PointCLIP集成提高了所有經(jīng)典的完全訓(xùn)練好的網(wǎng)絡(luò)的性能。結(jié)果充分證明了`PointCLIP`與現(xiàn)有模型的互補(bǔ)性。
值得注意的是,性能的提高并不是簡(jiǎn)單地通過(guò)兩個(gè)模型之間的集成來(lái)實(shí)現(xiàn)的,因?yàn)?的 PointCLIP的精度低于其他完全訓(xùn)練過(guò)的模型,但仍然可以使它們已經(jīng)很高的性能得到提高。
其中,pointnet++的準(zhǔn)確率提高幅度最大,從提高到,而PointCLIP與最先進(jìn)的CurveNet相結(jié)合的準(zhǔn)確率達(dá)到了。
同樣,我們觀察到,對(duì)于基線性能較低的模型,PointCLIP的 需要占更大的比例,但是對(duì)于表現(xiàn)良好的模型,如CurveNet,它們的知識(shí)應(yīng)該在集合中起主導(dǎo)作用。
表6 具有相同訓(xùn)練方案的模型間集成的消融研究(%)。
我們對(duì)在沒(méi)有PointCLIP的ModelNet40上完全訓(xùn)練的兩個(gè)模型的集合進(jìn)行消融研究,并以相同的比例融合它們的邏輯以簡(jiǎn)化。
如表所示,聚合pointnet++降低了RSCNN和CurveNet的性能,并且最高的兩個(gè)模型SimpleView和CurveNet之間的集成也無(wú)法獲得更好的性能。
此外,PointCLIP的成對(duì)組合會(huì)損害原始性能。
因此,簡(jiǎn)單地將兩個(gè)具有相同訓(xùn)練方案的模型集成通常會(huì)導(dǎo)致性能下降,這表明了多知識(shí)互動(dòng)的重要性。
在表中,我們將分別經(jīng)過(guò)次、次、次、次、次和次微調(diào)的PointCLIP與CurveNet融合,探索它們的增強(qiáng)能力。
據(jù)此,zero-shot 的PointCLIP僅為,可提升CurveNet +。
然而,在三維數(shù)據(jù)集上進(jìn)行過(guò)多的訓(xùn)練會(huì)對(duì)集成精度產(chǎn)生不利影響。這可能是由于兩個(gè)模型之間的知識(shí)相似度過(guò)高,無(wú)法提供預(yù)期的互補(bǔ)信息。
表7 PointCLIP在ModelNet40上對(duì)CurveNet不同few-shot設(shè)置下的增強(qiáng)性能(%)。
我們提出了 PointCLIP,它可以在沒(méi)有任何 3D 訓(xùn)練的情況下對(duì)點(diǎn)云進(jìn)行跨模態(tài) ?zero-shot 識(shí)別。通過(guò)多視圖投影,PointCLIP 有效地將 CLIP 預(yù)訓(xùn)練的 ? 2D 知識(shí)轉(zhuǎn)移到 3D 領(lǐng)域。
此外,我們?cè)O(shè)計(jì)了一個(gè)跨視圖適配器來(lái)聚合多視圖特征,并在 few-shot 設(shè)置下將 3D 學(xué)習(xí)的知識(shí)融合到預(yù)訓(xùn)練的 CLIP 中。通過(guò)微調(diào)適配器并凍結(jié)所有其他模塊,PointCLIP 的性能得到了很大提高。
此外,PointCLIP 還可以作為一個(gè)即插即用模塊,為傳統(tǒng)的 3D 網(wǎng)絡(luò)提供補(bǔ)充知識(shí),從而提高性能。除了識(shí)別之外,我們未來(lái)的工作將集中在將 CLIP 推廣到更廣泛的 3D 應(yīng)用上。