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