0
本文作者: 我在思考中 | 2021-09-07 10:21 |
我們提出了一種幾何敏感的點(diǎn)云補(bǔ)全Transformer,通過(guò)將點(diǎn)云表示成為一組無(wú)序的點(diǎn)代理,并采用Transformer的Encoder-Decoder結(jié)構(gòu)進(jìn)行缺失點(diǎn)云生成。除此以外,我們提出了兩個(gè)更具有挑戰(zhàn)性的點(diǎn)云補(bǔ)全Benchmark——ShapeNet-55/34。我們的論文已被ICCV接收為Oral Presentation,代碼、數(shù)據(jù)集與模型均以開源。
代碼倉(cāng)庫(kù):https://github.com/yuxumin/PoinTr
論文鏈接:https://arxiv.org/abs/2108.08839
視頻:https://youtu.be/mSGphas0p8g
簡(jiǎn)介
在現(xiàn)實(shí)場(chǎng)景下,現(xiàn)有的3D傳感器由于物體自遮擋等問(wèn)題只能采集到缺失且稀疏的點(diǎn)云數(shù)據(jù),所以如何將這樣缺失且稀疏的點(diǎn)云進(jìn)行補(bǔ)全以得到高品質(zhì)的點(diǎn)云,具有重大意義。
同時(shí)我們提出兩個(gè)更具挑戰(zhàn)性的點(diǎn)云補(bǔ)全Benchmark,用以檢驗(yàn)點(diǎn)云補(bǔ)全模型在更貼近真實(shí)條件下的補(bǔ)全表現(xiàn)。其中ShapeNet-55相比于PCN數(shù)據(jù)集考慮了更多樣的任務(wù)(點(diǎn)云補(bǔ)全與點(diǎn)云上采樣)、更多樣的種類(從原本的8類到55類)、更多樣的缺失視角(從原本的8視角到任意可能視角)以及更多樣級(jí)別的缺失(缺失25%到75%的點(diǎn)云);ShapeNet-34則可以測(cè)試模型在訓(xùn)練集中不存在的類別的物體上的補(bǔ)全表現(xiàn)。
(ShapeNet-55/34數(shù)據(jù)集)
下面介紹我們的整體框架,我們提出的PoinTr主體由Transformance Encoder-Decoder構(gòu)成:
簡(jiǎn)單來(lái)說(shuō),在對(duì)點(diǎn)云進(jìn)行補(bǔ)全時(shí),我們會(huì)先將點(diǎn)云處理成為固定數(shù)目的點(diǎn)代理,方便作為Transformer的輸入;然后我們通過(guò)Encoder對(duì)現(xiàn)有點(diǎn)云進(jìn)行編碼,通過(guò)Query Generator后生成第一階段的點(diǎn)云中心和對(duì)應(yīng)的動(dòng)態(tài)Queries;最后這些Queries通過(guò)Decoder被翻譯成點(diǎn)代理,點(diǎn)代理經(jīng)過(guò)一個(gè)FoldingNet得到相對(duì)于特定中心點(diǎn)的偏移量,通過(guò)將對(duì)應(yīng)中心進(jìn)行移動(dòng),我們可以得到某個(gè)點(diǎn)代理對(duì)應(yīng)的局部點(diǎn)云。
點(diǎn)代理生成:
想要將點(diǎn)云作為Transformer的輸入,首先我們需要將點(diǎn)云處理成一個(gè)序列。最簡(jiǎn)單的想法是將每一個(gè)點(diǎn)作為序列的一個(gè)元素作為輸入,但是這樣會(huì)帶來(lái)非常大的計(jì)算資源負(fù)擔(dān)。所以我們提出可以將點(diǎn)云處理成一系列的點(diǎn)代理,用來(lái)代表點(diǎn)云上的一個(gè)局部區(qū)域特征。首先,我們對(duì)點(diǎn)云進(jìn)行最遠(yuǎn)點(diǎn)采樣(FPS),得到固定的N個(gè)中心點(diǎn);然后,我們使用一個(gè)輕量的DGCNN對(duì)局部區(qū)域進(jìn)行特征提取,這樣我們可以得到N個(gè)局部區(qū)域的特征
,其中
對(duì)應(yīng)了以
為中心點(diǎn)的區(qū)域的特征。最后,我們利用一個(gè)MLP網(wǎng)絡(luò)
,提取每一個(gè)局部特征的位置嵌入(positional embedding),相加后得到點(diǎn)代理,即
,作為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:
我們針對(duì)點(diǎn)云輸入設(shè)計(jì)了一種即插即用的新型transformer block。在原本的transformer 模塊中,網(wǎng)絡(luò)只利用自注意力機(jī)制挖掘不同部分之間的關(guān)系,這其實(shí)是一種基于特征相似度的長(zhǎng)程語(yǔ)義關(guān)系,為了利用點(diǎn)云數(shù)據(jù)的歸納偏置,我們將局部幾何關(guān)系補(bǔ)充到自注意力模塊。
我們根據(jù)點(diǎn)代理對(duì)應(yīng)的三維點(diǎn)坐標(biāo)
,使用kNN將空間中相鄰的點(diǎn)代理拼接在一起,使用一層線性層進(jìn)行局部幾何信息學(xué)習(xí),通過(guò)將該結(jié)果和自注意力機(jī)制的結(jié)果進(jìn)行融合,我們可以同時(shí)挖掘長(zhǎng)程語(yǔ)義相關(guān)性,也同時(shí)保留了有效的局部幾何關(guān)系,有效的提高了模型的性能。
Query生成器:
Queries是待預(yù)測(cè)點(diǎn)代理的初始狀態(tài),用于指導(dǎo)缺失點(diǎn)云的重建。我們首先通過(guò)Encoder的輸出特征得到全局特征,如最大池化,并通過(guò)一個(gè)線性層預(yù)測(cè)粗略的缺失點(diǎn)云中心點(diǎn)坐標(biāo)
。將缺失點(diǎn)云中心點(diǎn)坐標(biāo)與全局特征拼接后,用一個(gè)多層感知機(jī)生成query特征,即
點(diǎn)云預(yù)測(cè):
通過(guò)Decoder被翻譯為一個(gè)點(diǎn)代理
,該點(diǎn)代理對(duì)應(yīng)了
以為中心的局部點(diǎn)云。我們利用FoldingNet對(duì)點(diǎn)代理進(jìn)行偏移坐標(biāo)重建:即
最后我們將輸入點(diǎn)云與預(yù)測(cè)結(jié)果進(jìn)行拼接,即可以得到最終的預(yù)測(cè)結(jié)果。
首先我們將PoinTr和現(xiàn)有一些方法在ShapeNet-55與ShapeNet-34上進(jìn)行了實(shí)驗(yàn),在Simple,Moderate與Hard三個(gè)難度下(缺失25%,50%,75%點(diǎn)云),PoinTr在Chamfer Distance與F1指標(biāo)上都取得了最好表現(xiàn);
同時(shí)我們也在PCN數(shù)據(jù)集上進(jìn)行了測(cè)試,也取得了最好表現(xiàn)。
為了驗(yàn)證我們提出的方法的有效性,我們對(duì)我們的方法進(jìn)行了消融實(shí)驗(yàn),可見我們提出的方法都有效提高了Transformer模型在點(diǎn)云補(bǔ)全任務(wù)上的效果。
最后我們使用我們的方法對(duì)真實(shí)雷達(dá)數(shù)據(jù)進(jìn)行補(bǔ)全,在數(shù)值結(jié)果和可視化結(jié)果下都取得了提升。
在這項(xiàng)工作中,我們提出了適合點(diǎn)云補(bǔ)全的PoinTr模型,很好地將Transformers引入到點(diǎn)云補(bǔ)全任務(wù)中,并在已有的合成數(shù)據(jù)集與真實(shí)數(shù)據(jù)集上取得了目前最好性能。除此以外,我們提出了更具挑戰(zhàn)性的ShapeNet-55和ShapeNet-34,來(lái)模擬真實(shí)條件下的復(fù)雜缺失場(chǎng)景。我們希望本文提出的PoinTr和新的Benchmark可以為未來(lái)點(diǎn)云補(bǔ)全提供思路與啟發(fā)。
掃碼添加小助手微信(AIyanxishe3),備注ICCV2021拉你進(jìn)群。
雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。