【CVPR 2023】LinK:用線性核實現(xiàn)3D激光雷達感知任務(wù)中的large kernel
本文介紹我們媒體計算研究組(MCG)在3D激光雷達感知領(lǐng)域提出的新型網(wǎng)絡(luò)設(shè)計。針對點云數(shù)據(jù)的稀疏性,使用線性核(LinK)來擴大模型的有效感受野,提升3D檢測、分割等任務(wù)的性能。
LinK: Linear Kernel for LiDAR-based 3D Perception
論文鏈接:https://arxiv.org/abs/2303.16094
代碼鏈接:https://github.com/MCG-NJU/LinK
研究動機
在2D計算機視覺任務(wù)中,更大的感受野使得模型在語義分割、目標檢測等下游任務(wù)上的性能獲得顯著的提升。此前,一些方法(RepLKNet[1]等)探究了2D圖像處理領(lǐng)域中使用更大的卷積核來獲得更大范圍的感知能力。
由于3D數(shù)據(jù)模態(tài)的稀疏性,將大卷積核的設(shè)計引入3D存在兩方面的障礙。一是效率問題:3D任務(wù)中,開銷隨尺寸立方增長,若將卷積核大小從3×3×3簡單地擴張到7×7×7,模型大小會是原來的10倍,擴展到21×21×21則會變?yōu)?43倍。另一方面是優(yōu)化問題:由于點云在空間中分布較為稀疏,如果卷積核的每個位置都被賦予一定的權(quán)重,那么3D數(shù)據(jù)的稀疏性會導(dǎo)致大量空閑位置的權(quán)重在網(wǎng)絡(luò)迭代中并沒有參與更新,導(dǎo)致參數(shù)更新緩慢。此前有人嘗試使用局部塊內(nèi)元素共享參數(shù)的方式來緩解這兩個問題,提出了大小為7×7×7的空間共享權(quán)重卷積核(LargeKernel3D[2])。該設(shè)計成功地在3D語義分割和目標檢測任務(wù)上提升了小卷積核的性能,但感受野的擴張幅度仍然有限。
為了解決這些問題,我們提出線性核LinK,以類卷積的方式實現(xiàn)更大的感知范圍。該方法有兩處核心設(shè)計:一是用線性核生成器替換靜態(tài)的卷積權(quán)重,僅為非空區(qū)域的點云提供權(quán)重。同時,該模塊是逐層共享的,避免了稀疏分布的權(quán)重在某次迭代中沒有被優(yōu)化的情況,改善了優(yōu)化問題。二是在不同滑動窗口的重疊區(qū)域復(fù)用預(yù)先計算的聚合結(jié)果,使整體計算復(fù)雜度進一步降低,甚至最終計算量為常量,與實際感受范圍無關(guān)。換句話說,我們可以基于LinK以一致的開銷實現(xiàn)任意大小的線性核。
我們的方法
核生成器
前文中討論了大卷積核下稀疏卷積的兩大缺陷:開銷大以及優(yōu)化困難。我們首先采用神經(jīng)網(wǎng)絡(luò)模塊 來在線生成權(quán)重,取代靜態(tài)卷積核 ,使得網(wǎng)絡(luò)參數(shù)量與不隨卷積核尺寸增長而增長,與之前方法對比如下:
線性核生成器解決了參數(shù)量增長的問題,然后,并沒有解決計算量的問題。于是我們考慮,能否將不同卷積窗口的重疊區(qū)域的特征聚合結(jié)果進行復(fù)用,這樣有可能降低計算量。
為此,我們以一個toy case為例。假設(shè)兩個相鄰窗口中的元素集合分別為
其中每個元素表示一個體素。這兩個窗口的重疊區(qū)域為
我們分別將 中的元素特征聚合到 和 ,聚合過程為
可以發(fā)現(xiàn),每個重疊區(qū)域中的元素對 和 采用不同的local offset來獲得權(quán)重。因此,基于local offset的方式難以復(fù)用重疊區(qū)域的聚合結(jié)果,如下圖所示:
基于global coordinate的預(yù)聚合
為了解決這個問題,考慮到每個位置的global coordinate是唯一的,我們提出,將local offset拆分為global coordinate的組合。對于區(qū)域 ,我們使用如下公式計算這三個元素的預(yù)聚合結(jié)果:
也是kernel generator。然后,若要得到 在區(qū)域 上的聚合特征,我們用如下方式生成基于local offset的結(jié)果:
這樣,不管有多少個元素要來復(fù)用區(qū)域 上的聚合特征,都不需要再重新計算 。
那么問題來了,上式成立的前提是
為了使其成立,我們參考APP-Net[3],使用線性映射 來實現(xiàn) 和 。我們將這過程稱為線性核生成器,也即LinK方法名字的由來(Linear Kernel Generator)。這兩個函數(shù)可以用三角函數(shù)、指數(shù)函數(shù)等不同的形式進行激活,正文中主要采用了余弦函數(shù)的方式。此時兩個窗口A、B的聚合過程如下圖所示:
基于LinK的類卷積核設(shè)計
基于上述設(shè)計,我們將整體點云劃分為不重疊的塊,每個塊的大小為 ,對每個塊進行特征預(yù)聚合。為每個塊查詢其周圍 個近鄰塊,生成一個感受范圍為 的大塊的預(yù)聚合特征 。對 使用上述合成local offset的操作,即可為每個聚合中心算得最終的特征。這部分的具體公式可見論文原文。在實驗中,設(shè) ,即可得到 21×21×21 的感知范圍。整體過程如下圖所示:
網(wǎng)絡(luò)結(jié)構(gòu)
LinK模塊結(jié)構(gòu)
LinK模塊由兩個分支組成:一個分支為使用線性投影+三角核函數(shù)實現(xiàn)的大核分支,另一分支為 3×3×3 的稀疏卷積小核旁路,結(jié)構(gòu)圖如下所示。
下游任務(wù)應(yīng)用
應(yīng)用到下游任務(wù)(檢測和分割)中時,我們分別選取CenterPoint和MinkUnet作為基礎(chǔ)架構(gòu),并使用基于LinK的backbone替代了原本基于稀疏卷積實現(xiàn)的backbone,保留了原始的檢測頭和分割頭不變,具體結(jié)構(gòu)如下圖所示。
實驗
我們在nuScenes上評估了目標檢測的結(jié)果,在SemanticKITTI上評估了語義分割的結(jié)果。結(jié)果分別如下所示:
nuScenes
截止論文發(fā)表,我們的方法在nuScenes數(shù)據(jù)集上取得了SOTA(73.4 NDS)。得益于超大的感受野,與baseline CenterPoint相比,我們的方法在大尺寸的物體(例如bus、con-veh等)上提升顯著。
SemanticKITTI
在SemanticKITTI上,我們的方法相較baseline MinkUNet獲得了2.7 mIoU的提升。更多可視化分析見原始論文。
總結(jié)
在本文中,我們提出了一個線性核生成器LinK,能夠以不變的計算量任意擴大模型感受野,大幅提升現(xiàn)有模型在下游任務(wù)(檢測、分割)上的性能。我們通過實驗證明了LinK對下游任務(wù)性能提升的有效性與通用性。LinK在nuScenes(LiDAR only)上達到了SOTA性能,希望可以讓大家對大感受野的新方法以及其在3D感知任務(wù)上的應(yīng)用有更多關(guān)注。
審核編輯 :李倩
-
Link
+關(guān)注
關(guān)注
0文章
101瀏覽量
26952 -
生成器
+關(guān)注
關(guān)注
7文章
315瀏覽量
21002 -
激光雷達
+關(guān)注
關(guān)注
968文章
3967瀏覽量
189822
原文標題:LinK: Linear Kernel for LiDAR-based 3D Perception
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論