0
| 本文作者: 我在思考中 | 2021-09-07 10:21 |

我們提出了一種幾何敏感的點云補(bǔ)全Transformer,通過將點云表示成為一組無序的點代理,并采用Transformer的Encoder-Decoder結(jié)構(gòu)進(jìn)行缺失點云生成。除此以外,我們提出了兩個更具有挑戰(zhàn)性的點云補(bǔ)全Benchmark——ShapeNet-55/34。我們的論文已被ICCV接收為Oral Presentation,代碼、數(shù)據(jù)集與模型均以開源。
代碼倉庫:https://github.com/yuxumin/PoinTr
論文鏈接:https://arxiv.org/abs/2108.08839
視頻:https://youtu.be/mSGphas0p8g

簡介
在現(xiàn)實場景下,現(xiàn)有的3D傳感器由于物體自遮擋等問題只能采集到缺失且稀疏的點云數(shù)據(jù),所以如何將這樣缺失且稀疏的點云進(jìn)行補(bǔ)全以得到高品質(zhì)的點云,具有重大意義。

同時我們提出兩個更具挑戰(zhàn)性的點云補(bǔ)全Benchmark,用以檢驗點云補(bǔ)全模型在更貼近真實條件下的補(bǔ)全表現(xiàn)。其中ShapeNet-55相比于PCN數(shù)據(jù)集考慮了更多樣的任務(wù)(點云補(bǔ)全與點云上采樣)、更多樣的種類(從原本的8類到55類)、更多樣的缺失視角(從原本的8視角到任意可能視角)以及更多樣級別的缺失(缺失25%到75%的點云);ShapeNet-34則可以測試模型在訓(xùn)練集中不存在的類別的物體上的補(bǔ)全表現(xiàn)。

(ShapeNet-55/34數(shù)據(jù)集)
下面介紹我們的整體框架,我們提出的PoinTr主體由Transformance Encoder-Decoder構(gòu)成:

簡單來說,在對點云進(jìn)行補(bǔ)全時,我們會先將點云處理成為固定數(shù)目的點代理,方便作為Transformer的輸入;然后我們通過Encoder對現(xiàn)有點云進(jìn)行編碼,通過Query Generator后生成第一階段的點云中心和對應(yīng)的動態(tài)Queries;最后這些Queries通過Decoder被翻譯成點代理,點代理經(jīng)過一個FoldingNet得到相對于特定中心點的偏移量,通過將對應(yīng)中心進(jìn)行移動,我們可以得到某個點代理對應(yīng)的局部點云。
點代理生成:
想要將點云作為Transformer的輸入,首先我們需要將點云處理成一個序列。最簡單的想法是將每一個點作為序列的一個元素作為輸入,但是這樣會帶來非常大的計算資源負(fù)擔(dān)。所以我們提出可以將點云處理成一系列的點代理,用來代表點云上的一個局部區(qū)域特征。首先,我們對點云進(jìn)行最遠(yuǎn)點采樣(FPS),得到固定的N個中心點
;然后,我們使用一個輕量的DGCNN對局部區(qū)域進(jìn)行特征提取,這樣我們可以得到N個局部區(qū)域的特征
,其中
對應(yīng)了以
為中心點的區(qū)域的特征。最后,我們利用一個MLP網(wǎng)絡(luò)
,提取每一個局部特征的位置嵌入(positional embedding),相加后得到點代理,即
,作為Encoder的輸入。
Encoder-Decoder結(jié)構(gòu):

如上圖所示,Encoder由多頭自注意力層(multi-headself-attention layer)與前饋神經(jīng)網(wǎng)絡(luò)(feed-forward network)組成,Decoder則由多頭自注意力層、編碼器解碼器交叉注意力層和前饋神經(jīng)網(wǎng)絡(luò)構(gòu)成。
幾何敏感的Transformer:

我們針對點云輸入設(shè)計了一種即插即用的新型transformer block。在原本的transformer 模塊中,網(wǎng)絡(luò)只利用自注意力機(jī)制挖掘不同部分之間的關(guān)系,這其實是一種基于特征相似度的長程語義關(guān)系,為了利用點云數(shù)據(jù)的歸納偏置,我們將局部幾何關(guān)系補(bǔ)充到自注意力模塊。
我們根據(jù)點代理
對應(yīng)的三維點坐標(biāo)
,使用kNN將空間中相鄰的點代理拼接在一起,使用一層線性層進(jìn)行局部幾何信息學(xué)習(xí),通過將該結(jié)果和自注意力機(jī)制的結(jié)果進(jìn)行融合,我們可以同時挖掘長程語義相關(guān)性,也同時保留了有效的局部幾何關(guān)系,有效的提高了模型的性能。
Query生成器:
Queries是待預(yù)測點代理的初始狀態(tài),用于指導(dǎo)缺失點云的重建。我們首先通過Encoder的輸出特征得到全局特征
,如最大池化,并通過一個線性層預(yù)測粗略的缺失點云中心點坐標(biāo)
。將缺失點云中心點坐標(biāo)與全局特征拼接后,用一個多層感知機(jī)生成query特征,即

點云預(yù)測:
通過Decoder被翻譯為一個點代理
,該點代理對應(yīng)了
以為中心的局部點云。我們利用FoldingNet對點代理進(jìn)行偏移坐標(biāo)重建:即

最后我們將輸入點云與預(yù)測結(jié)果進(jìn)行拼接,即可以得到最終的預(yù)測結(jié)果。
首先我們將PoinTr和現(xiàn)有一些方法在ShapeNet-55與ShapeNet-34上進(jìn)行了實驗,在Simple,Moderate與Hard三個難度下(缺失25%,50%,75%點云),PoinTr在Chamfer Distance與F1指標(biāo)上都取得了最好表現(xiàn);

同時我們也在PCN數(shù)據(jù)集上進(jìn)行了測試,也取得了最好表現(xiàn)。

為了驗證我們提出的方法的有效性,我們對我們的方法進(jìn)行了消融實驗,可見我們提出的方法都有效提高了Transformer模型在點云補(bǔ)全任務(wù)上的效果。

最后我們使用我們的方法對真實雷達(dá)數(shù)據(jù)進(jìn)行補(bǔ)全,在數(shù)值結(jié)果和可視化結(jié)果下都取得了提升。


在這項工作中,我們提出了適合點云補(bǔ)全的PoinTr模型,很好地將Transformers引入到點云補(bǔ)全任務(wù)中,并在已有的合成數(shù)據(jù)集與真實數(shù)據(jù)集上取得了目前最好性能。除此以外,我們提出了更具挑戰(zhàn)性的ShapeNet-55和ShapeNet-34,來模擬真實條件下的復(fù)雜缺失場景。我們希望本文提出的PoinTr和新的Benchmark可以為未來點云補(bǔ)全提供思路與啟發(fā)。
掃碼添加小助手微信(AIyanxishe3),備注ICCV2021拉你進(jìn)群。


雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。