韓 冰 張?chǎng)卧?任 爽
(北京交通大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院 北京 100044)
(bhan0458@bjtu.edu.cn)
3D 傳感器(如激光雷達(dá)和深度相機(jī))的普及引起了人們對(duì)3D 視覺(jué)的廣泛關(guān)注,這些傳感器采集的3D 數(shù)據(jù)可以提供豐富的幾何結(jié)構(gòu)和尺度細(xì)節(jié),這也在許多領(lǐng)域得到了實(shí)際應(yīng)用,包括自動(dòng)駕駛技術(shù)[1]、機(jī)器人控制技術(shù)[2]等.3D 數(shù)據(jù)通??梢杂貌煌母袷絹?lái)表示,包括深度圖(depth map)、網(wǎng)格(mesh)、體素(voxel)、點(diǎn)云(point cloud)、點(diǎn)云序列(point cloud sequence)等[3],這些數(shù)據(jù)之間可以相互轉(zhuǎn)換.在這些表示中,點(diǎn)云是最靈活的且最常用的,因?yàn)樗鼈兺暾A袅宋矬w在3D 空間中最原始的幾何信息,可以從以上3D 傳感器中直接獲取或從各種3D 建模軟件中直接導(dǎo)出.然而,由于點(diǎn)云數(shù)據(jù)中各個(gè)點(diǎn)分布的不均衡性和表示的不規(guī)則性,處理點(diǎn)云仍然是一項(xiàng)有挑戰(zhàn)性的任務(wù).
近年來(lái),深度學(xué)習(xí)技術(shù)逐漸成為各個(gè)領(lǐng)域的研究熱點(diǎn).PointNet[4]及其變體PointNet++[5]等方法的提出,解決了深度學(xué)習(xí)處理不規(guī)則數(shù)據(jù)格式的難題,也促使數(shù)據(jù)驅(qū)動(dòng)的深度學(xué)習(xí)方法在點(diǎn)云上的研究不斷地深入.但由于PointNet[4]利用共享多層感知機(jī)(multilayer perceptron,MLP)直接處理點(diǎn)云中的單個(gè)點(diǎn),并通過(guò)最大池化(max pooling)操作來(lái)聚合各個(gè)點(diǎn)的所有信息,未能考慮點(diǎn)之間的相關(guān)性并進(jìn)行充分利用,這也就導(dǎo)致了學(xué)習(xí)到的目標(biāo)物體的特征存在著結(jié)構(gòu)信息和局部細(xì)節(jié)的缺失.卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)作為一種標(biāo)準(zhǔn)的深度學(xué)習(xí)體系結(jié)構(gòu),由于其出色的局部信息聚合能力而被越來(lái)越多地采用,同時(shí)利用它的平移不變性和局部相關(guān)性,在機(jī)器視覺(jué)領(lǐng)域處理規(guī)則排列數(shù)據(jù)(如2D 圖像、視頻)方面的研究中已經(jīng)取得了一系列突破,極大地改進(jìn)了幾乎每項(xiàng)視覺(jué)任務(wù)的結(jié)果(如識(shí)別[6]、檢測(cè)[7]、分類(lèi)[8]、分割[9-10]等).執(zhí)行卷積運(yùn)算的目的是從輸入數(shù)據(jù)中提取出有用的特征進(jìn)行學(xué)習(xí).與深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)相比,卷積神經(jīng)網(wǎng)絡(luò)中的卷積運(yùn)算減少了網(wǎng)絡(luò)的訓(xùn)練參數(shù)量,提高了網(wǎng)絡(luò)的泛化能力.因此,許多研究嘗試將2D 卷積網(wǎng)絡(luò)直接擴(kuò)展到3D 空間,以使得卷積運(yùn)算能夠分析處理3D點(diǎn)云數(shù)據(jù).
對(duì)比點(diǎn)云與圖像之間的差異示例如圖1 所示.圖像的像素(pixels)通??梢员硎緸橐?guī)則的網(wǎng)格矩陣.在每個(gè)局部區(qū)域內(nèi),不同像素之間的相對(duì)位置是固定的,如圖1(a)所示.而點(diǎn)云是3D 空間中對(duì)目標(biāo)物體進(jìn)行曲面采樣得到的一組點(diǎn)的集合,即P={pi|i=1,2,…,n},其中每個(gè)點(diǎn)pi默認(rèn)包含1 個(gè)位置信息,即3D 坐標(biāo)(XYZ),有時(shí)可能還包括顏色(RGB)信息或法線(xiàn)(normal)信息.類(lèi)似地,對(duì)比點(diǎn)云序列與視頻之間的差異示例如圖2 所示.視頻可以看作連續(xù)的多幀圖像的集合,點(diǎn)云序列可以看作連續(xù)的多幀點(diǎn)云的集合.與圖像相比,視頻中增加了時(shí)序上下文關(guān)系(temporal context).將其推廣到3D 空間,與點(diǎn)云相比,點(diǎn)云序列中同樣增加了時(shí)序上下文關(guān)系.因此,在進(jìn)行以視頻為輸入數(shù)據(jù)的2D 目標(biāo)跟蹤任務(wù)和以點(diǎn)云序列為輸入數(shù)據(jù)的3D 目標(biāo)跟蹤任務(wù)時(shí),需要充分利用這一關(guān)系以處理連續(xù)幀之間的冗余,解決模糊失焦、部分遮擋等問(wèn)題.
Fig.1 Comparison of images and point clouds圖1 圖像與點(diǎn)云的對(duì)比
Fig.2 Comparison of video and point cloud sequence圖2 視頻與點(diǎn)云序列的對(duì)比
與圖像/視頻不同,點(diǎn)云更加靈活且無(wú)規(guī)則,點(diǎn)的坐標(biāo)不一定位于固定網(wǎng)格上,即每個(gè)局部區(qū)域中所包含的不同點(diǎn)之間的相對(duì)位置都是不同的,如圖1(b)所示,以為中心的鄰域和以R3為中心的鄰域中各個(gè)近鄰點(diǎn)的位置和個(gè)數(shù)是不同的,對(duì)應(yīng)目標(biāo)物體的形狀也不同.因此,在圖像/視頻上使用的傳統(tǒng)卷積運(yùn)算不能直接應(yīng)用于點(diǎn)云/點(diǎn)云序列.
綜上所述,阻礙采用標(biāo)準(zhǔn)卷積運(yùn)算學(xué)習(xí)3D 點(diǎn)云特征的原因一般有3 個(gè):
1)點(diǎn)云是由無(wú)序的、不規(guī)則的點(diǎn)構(gòu)成的集合,卷積運(yùn)算應(yīng)對(duì)點(diǎn)的輸入順序具有排列不變性(permutation invariance),即使輸入點(diǎn)的順序不同,學(xué)習(xí)之后也能得出相同的結(jié)果.
2)點(diǎn)云分布在3D 幾何空間中,卷積運(yùn)算應(yīng)對(duì)點(diǎn)云的剛性變換具有魯棒性,包括旋轉(zhuǎn)不變性(rotation invariance)、平移不變性(translation invariance)和尺度不變性(scale invariance).
3)點(diǎn)云具有潛在的幾何形狀,卷積運(yùn)算學(xué)習(xí)得到的點(diǎn)云形狀應(yīng)具備可區(qū)分性,防止丟失局部形狀信息.
因此,針對(duì)這3 方面的原因,為了學(xué)習(xí)3D 點(diǎn)云的基本形狀和幾何結(jié)構(gòu),現(xiàn)有的研究主要分成了2種策略:一種策略是將3D 點(diǎn)云轉(zhuǎn)化為可以直接進(jìn)行2D 或3D 標(biāo)準(zhǔn)卷積運(yùn)算的結(jié)構(gòu);另一種策略是構(gòu)造可以直接處理點(diǎn)云的卷積算子.首先,點(diǎn)云轉(zhuǎn)化為其他結(jié)構(gòu)的方法如圖3 所示,主要包括4 個(gè)方法:
Fig.3 Transformation methods of 3D point clouds圖3 3D 點(diǎn)云的轉(zhuǎn)化方法
1)基于投影的方法(projection-based method).如圖3 中的①所示,將3D 點(diǎn)云投影到2D 平面上,例如多視圖[11-14]、切平面[15-17].然而由于掃描設(shè)備生成的原始點(diǎn)云數(shù)據(jù)存在自遮擋(self-occlusion)或密度不均勻等問(wèn)題,在投影過(guò)程中不可避免地會(huì)損失一些3D 幾何形狀的深度信息和結(jié)構(gòu)信息,同時(shí)在處理一些稀疏點(diǎn)云數(shù)據(jù)時(shí)通常效率低下且耗時(shí).將點(diǎn)云投影為多視圖還會(huì)因?yàn)椴煌晥D之間的不連續(xù)性導(dǎo)致在細(xì)節(jié)敏感的任務(wù)(如部件分割)上的性能較差;將點(diǎn)云投影在切平面時(shí)依賴(lài)于對(duì)切平面的正確估計(jì),此外還需要一些額外的輔助信息,即法線(xiàn),然而許多像激光雷達(dá)等傳感器生成的點(diǎn)云數(shù)據(jù)都不具備這樣的信息.
2)基于體素的方法(voxel-based method).如圖3中的②所示,將物體的幾何形式表示(如點(diǎn)云)體素化(voxelization)為最接近該物體的3D 體素網(wǎng)格[11,18-24].雖然這種方法易于實(shí)現(xiàn),但由于點(diǎn)云分布的不均勻性,如何進(jìn)行適當(dāng)?shù)伢w素化是關(guān)鍵.表示點(diǎn)云的體素與表示圖像的像素類(lèi)似,后者是像素點(diǎn),而前者擴(kuò)展到了立方體單元.這個(gè)立方體單元的大小與空間分辨率有關(guān),體素網(wǎng)格劃分越精細(xì),立方體單元越小,空間分辨率越高,但計(jì)算復(fù)雜度和內(nèi)存占用會(huì)隨著細(xì)化程度呈立方級(jí)增長(zhǎng);反之,體素網(wǎng)格劃分越粗糙,立方體單元越大,空間分辨率越低,計(jì)算復(fù)雜度和內(nèi)存占用就越低,但分辨率不足會(huì)導(dǎo)致物體的一些局部細(xì)粒度幾何細(xì)節(jié)的丟失,通常還會(huì)存在大量不包含點(diǎn)的空體素網(wǎng)格導(dǎo)致計(jì)算結(jié)果的偏差和內(nèi)存空間的無(wú)效占用.
3)基于晶格的方法(lattice-based method).如圖3中的③所示,將點(diǎn)云投影到規(guī)則的晶格空間,例如正多面體晶格(permutohedral lattice)[25]、球形晶格(spherical lattice)[26].這種方法可以解決點(diǎn)云的部分位置稀疏性問(wèn)題,但類(lèi)似于體素網(wǎng)格,通常也需要消耗大量?jī)?nèi)存來(lái)存儲(chǔ)晶格特征,且在高分辨率要求下計(jì)算復(fù)雜度將會(huì)大大增加.其次,投影到某個(gè)規(guī)則晶格空間中,很有可能不再保留這些點(diǎn)之前在原始?xì)W氏空間中所具備的幾何信息.
4)基于圖的方法(graph-based method).如圖3 中的④所示,將3D 點(diǎn)云構(gòu)造為圖結(jié)構(gòu),點(diǎn)云中的各個(gè)點(diǎn)作為圖的頂點(diǎn),點(diǎn)與其鄰域內(nèi)的部分近鄰點(diǎn)形成有向邊,進(jìn)而借助于圖卷積網(wǎng)絡(luò)(graph convolution network,GCN),在譜域(spectral domain)[27-31]或空間域(spatial domain)[32-43]中學(xué)習(xí)特征.這些方法能夠直接處理不規(guī)則的數(shù)據(jù)結(jié)構(gòu),但也存在一些缺點(diǎn),例如,局部圖的構(gòu)造不是稀疏不變的.從同一物體表面采樣的不同密度點(diǎn)云會(huì)得到不同的鄰域,從而可能產(chǎn)生不同的圖構(gòu)造結(jié)果.同時(shí),在構(gòu)建鄰域時(shí),可能會(huì)忽略法線(xiàn)方向,從而導(dǎo)致局部幾何信息的丟失.這些對(duì)不規(guī)則輸入數(shù)據(jù)的轉(zhuǎn)化方法均會(huì)在一定程度上導(dǎo)致物體的幾何信息的丟失,并且這些轉(zhuǎn)化操作會(huì)導(dǎo)致計(jì)算復(fù)雜度和內(nèi)存消耗的急劇增加.
鑒于此,越來(lái)越多的研究人員致力于研究基于點(diǎn)的方法(point-based method),構(gòu)造各種各樣的卷積運(yùn)算及卷積網(wǎng)絡(luò)來(lái)學(xué)習(xí)點(diǎn)及其鄰域內(nèi)的其他點(diǎn)的特征,直接在原始點(diǎn)云數(shù)據(jù)上進(jìn)行分析,可以在處理不規(guī)則的點(diǎn)云任務(wù)上實(shí)現(xiàn)優(yōu)異的性能.為了能夠充分利用數(shù)據(jù)的空間局部相關(guān)性,卷積運(yùn)算中使用的卷積算子也成為了提高點(diǎn)云分析的算法性能和結(jié)果準(zhǔn)確性的重要影響因素.因此本文重點(diǎn)關(guān)注點(diǎn)卷積算子(point convolution operator)及其對(duì)應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu),這類(lèi)卷積運(yùn)算可以直接處理原始點(diǎn)云,而不進(jìn)行任何轉(zhuǎn)化,不需要任何中間表示,也因此不會(huì)引入其他的信息損失.
目前國(guó)內(nèi)外關(guān)于點(diǎn)云的相關(guān)綜述有很多,文獻(xiàn)[3]涵蓋了不同的應(yīng)用,按照形狀分類(lèi)、目標(biāo)檢測(cè)與跟蹤、點(diǎn)云分割3 大任務(wù)進(jìn)行劃分,對(duì)應(yīng)用在點(diǎn)云的深度學(xué)習(xí)方法的最新進(jìn)展進(jìn)行了全面綜述和詳細(xì)展開(kāi),涉及的方面較為廣泛.文獻(xiàn)[44]將現(xiàn)有的點(diǎn)云特征學(xué)習(xí)方法分為基于點(diǎn)的特征學(xué)習(xí)和基于樹(shù)的特征學(xué)習(xí),并通過(guò)具體任務(wù)的應(yīng)用來(lái)分析這些方法的優(yōu)缺點(diǎn).文獻(xiàn)[45]通過(guò)分析點(diǎn)云應(yīng)用中面臨的挑戰(zhàn)和深度學(xué)習(xí)的優(yōu)勢(shì),詳細(xì)展開(kāi)分析了幾種經(jīng)典的直接處理點(diǎn)云的深度學(xué)習(xí)方法.文獻(xiàn)[46]系統(tǒng)回顧并詳細(xì)介紹了自動(dòng)駕駛應(yīng)用領(lǐng)域中的激光雷達(dá)點(diǎn)云的特定任務(wù).此外,還有一些綜述側(cè)重于對(duì)點(diǎn)云的具體任務(wù)的基礎(chǔ)原理及關(guān)鍵技術(shù)進(jìn)行分類(lèi)、分析與總結(jié),例如,點(diǎn)云法向量估計(jì)任務(wù)[47]、點(diǎn)云場(chǎng)景分割任務(wù)[48]、點(diǎn)云語(yǔ)義分割任務(wù)[49-51]、點(diǎn)云配準(zhǔn)任務(wù)[52]、點(diǎn)云序列的點(diǎn)態(tài)預(yù)測(cè)任務(wù)[53]等.
卷積神經(jīng)網(wǎng)絡(luò),最早是由LeCun 等人[6]提出并應(yīng)用在手寫(xiě)字體識(shí)別與分類(lèi)任務(wù)中,稱(chēng)為L(zhǎng)eNet-5.在過(guò)去的幾年中,2D 卷積的應(yīng)用最為廣泛且研究相對(duì)成熟,最大的原因是圖像的規(guī)則像素可以很容易地通過(guò)權(quán)重共享(weight sharing)和平移不變(translation invariance)特性進(jìn)行相應(yīng)的卷積運(yùn)算.此外,還可以通過(guò)改變卷積核的構(gòu)造,如空洞卷積(dilated/atrous convolution)、可分離卷積(separable convolution)、組卷積(group convolution)等,使得卷積網(wǎng)絡(luò)能夠根據(jù)多尺度層次結(jié)構(gòu)上的感受野(receptive field)來(lái)學(xué)習(xí)和豐富特征.與2D 卷積不同,3D 卷積在問(wèn)題上并沒(méi)有達(dá)到相同水平的研究進(jìn)展,這是由于其在建模和訓(xùn)練中存在著一些障礙,如計(jì)算復(fù)雜度較高;內(nèi)存占用較大;存在大量待學(xué)習(xí)參數(shù),容易產(chǎn)生過(guò)擬合,因此需要對(duì)網(wǎng)絡(luò)架構(gòu)或卷積運(yùn)算進(jìn)行改進(jìn)來(lái)提升特征學(xué)習(xí)能力.
本節(jié)將回顧這些標(biāo)準(zhǔn)卷積運(yùn)算的原理,以幫助理解與第2 節(jié)的點(diǎn)云卷積運(yùn)算之間的區(qū)別與聯(lián)系,為后續(xù)各種處理不規(guī)則3D 點(diǎn)云數(shù)據(jù)的卷積運(yùn)算的深入研究奠定基礎(chǔ).
標(biāo)準(zhǔn)卷積運(yùn)算是指卷積算子以滑動(dòng)窗口的方式在局部區(qū)域上的點(diǎn)集合或者特征集合進(jìn)行加權(quán)求和得到輸出結(jié)果的過(guò)程,這一過(guò)程能夠從若干相關(guān)特征中以特定的方式提取新的特征.卷積實(shí)際上是一種積分運(yùn)算,相應(yīng)的離散卷積和連續(xù)卷積的一般定義分別為:
1)離散卷積(卷積算子定義在離散空間).
其中卷積算子g:S →R和特征f:G→R分別是定義域S=ZD和G=ZD上的函數(shù).
2)連續(xù)卷積(卷積算子定義在連續(xù)空間).
其中卷積算子g:S →R和特征f:G→R分別是定義域S=RD和G=RD上的連續(xù)函數(shù).
2D 卷積運(yùn)算是指卷積算子即如圖4(a)所示尺寸為[width,height]的卷積核(kernel)在寬度和高度2個(gè)維度上的滑動(dòng)并計(jì)算,此時(shí)D=2.而3D 卷積是指卷積算子即如圖4(b)所示尺寸為[width,height,depth]的濾波器在寬度、高度、深度的3 個(gè)維度上的滑動(dòng)并計(jì)算,此時(shí)D=3.
Fig.4 Illustration of 2D and 3D convolution operators圖4 二維和三維卷積算子示意圖
標(biāo)準(zhǔn)卷積網(wǎng)絡(luò)的成功應(yīng)用表明,保持卷積運(yùn)算的穩(wěn)定性是必不可少的,即鄰域大小不變和鄰居個(gè)數(shù)不變.然而由于點(diǎn)云中的點(diǎn)排列不規(guī)則、點(diǎn)密度不均勻,這種穩(wěn)定性屬性在點(diǎn)云數(shù)據(jù)中是不存在的,無(wú)法始終同時(shí)保持區(qū)域大小不變(例如,半徑為R的局部鄰域)和鄰居個(gè)數(shù)不變(例如,K個(gè)近鄰點(diǎn)).這使得標(biāo)準(zhǔn)卷積難以處理此類(lèi)數(shù)據(jù).為了克服這一問(wèn)題,越來(lái)越多研究人員致力于提出有效的直接作用于點(diǎn)云的卷積算子,如圖4 所示,這些算子大多是即插即用(plug-and-play,PnP)的,可以很容易地集成到各種3D 點(diǎn)云分析任務(wù)(如分類(lèi)、分割)的流程(pipeline)中去,詳見(jiàn)第3 節(jié).因此,可以總結(jié)出利用卷積網(wǎng)絡(luò)在點(diǎn)云上進(jìn)行有效學(xué)習(xí)主要有3 個(gè)關(guān)鍵要求:
1)定義輸入點(diǎn)集,該點(diǎn)集可以是整個(gè)點(diǎn)云的集合,也可以是點(diǎn)云的子集.前者需要描述整個(gè)點(diǎn)云的全局特征向量;后者為每個(gè)點(diǎn)集尋找一個(gè)局部特征向量,在學(xué)習(xí)全局特征時(shí)可以進(jìn)一步組合.
2)構(gòu)造一個(gè)能夠在點(diǎn)云上使用的卷積算子,該算子能夠有效解決點(diǎn)云的排列不變性和密度不均勻性,并且可以學(xué)習(xí)點(diǎn)之間的局部幾何特征.
3)構(gòu)造一個(gè)能夠集成卷積算子的卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)結(jié)構(gòu)可以從輸入點(diǎn)云中逐步提取局部(local)到全局(global)的深層次語(yǔ)義信息,輔助點(diǎn)云任務(wù)更好地完成.pi∈RD
首先,類(lèi)似于標(biāo)準(zhǔn)卷積,可以將基于點(diǎn)的卷積定義為
其中 ⊙是特征函數(shù)f:RD→RF和權(quán)重函數(shù)g:RD→RF之間的哈達(dá)瑪積(Hadamardproduct),特征函數(shù)f是為每個(gè)絕對(duì)位置pj∈RD分配一個(gè)特征向量權(quán)重函數(shù)g是為每個(gè)相對(duì)位置pi?pj∈RD映射一個(gè)權(quán)重向量使用蒙特卡洛積分(Monte Carlo integration),可以進(jìn)一步將卷積運(yùn)算近似為對(duì)含有N個(gè)點(diǎn)的點(diǎn)云操作
為了更準(zhǔn)確有效地提取高維特征和局部細(xì)粒度信息,在2D 圖像卷積中,通過(guò)如圖4(a)所示的3×3或5×5 的像素核來(lái)定義局部鄰域范圍.類(lèi)似地,對(duì)于點(diǎn)卷積,通過(guò)在每個(gè)點(diǎn)周?chē)x局部鄰域和近鄰點(diǎn)集合來(lái)實(shí)現(xiàn)
其中 Nt是點(diǎn)pi的局部鄰域內(nèi)的近鄰點(diǎn)集,pk是pi的第k個(gè)近鄰點(diǎn).這也就滿(mǎn)足了關(guān)鍵要求1).
其次,針對(duì)關(guān)鍵要求2),點(diǎn)云卷積性能取決于卷積算子中權(quán)重函數(shù)w的學(xué)習(xí)和更新.因此,可以根據(jù)權(quán)重函數(shù)的類(lèi)型,將現(xiàn)有的基于點(diǎn)云的卷積方法分為離散卷積和連續(xù)卷積,如圖5 所示.離散卷積方法中的卷積權(quán)重與近鄰點(diǎn)和中心點(diǎn)之間的偏移量(相對(duì)位置)有關(guān),通常根據(jù)距離等特征為落入同一個(gè)局部區(qū)域的所有點(diǎn)分配相應(yīng)的權(quán)重.而連續(xù)卷積方法中的卷積權(quán)重與近鄰點(diǎn)相對(duì)于中心點(diǎn)的空間分布有關(guān),通常根據(jù)近鄰點(diǎn)的空間分布為每個(gè)點(diǎn)分配權(quán)重.
Fig.5 Local neighborhood centered on point pi and its corresponding discrete convolution and continuous convolution圖5 以點(diǎn)pi 為中心的局部鄰域及其對(duì)應(yīng)的離散卷積和連續(xù)卷積
顯然,在進(jìn)行卷積之前,大多研究都會(huì)首先采樣得到中心點(diǎn)集,然后尋找每個(gè)中心點(diǎn)的局部鄰域及其近鄰點(diǎn)集 Ni.目前使用最廣泛的采樣中心點(diǎn)的方法主要有隨機(jī)點(diǎn)采樣(random point sampling,RPS)、最遠(yuǎn)點(diǎn)采樣(farthest point sampling,FPS),后者相對(duì)于前者的優(yōu)勢(shì)在于它可以盡可能地覆蓋空間中的所有點(diǎn),找到一些有代表的點(diǎn),而前者的時(shí)間復(fù)雜度相對(duì)較低[54].關(guān)于尋找某個(gè)點(diǎn)的局部鄰域的策略,目前在點(diǎn)云研究中使用最廣泛的除了圖5(a)所示的球查詢(xún)(ball query)算法外,還有K近鄰(Knearest neighbor,KNN)算法,二者的區(qū)別是前者指定鄰域范圍,選擇在以中心點(diǎn)為球心、以R為半徑的球形區(qū)域內(nèi)的點(diǎn)作為該中心點(diǎn)的近鄰點(diǎn),組成的集合即為 Nt;而后者指定近鄰點(diǎn)數(shù),尋找與中心點(diǎn)距離最近的K個(gè)點(diǎn)作為該中心點(diǎn)的近鄰點(diǎn).有研究表明二者的選擇對(duì)實(shí)際點(diǎn)云任務(wù)的性能影響相差不大[40].在之后的小節(jié)中,我們的重點(diǎn)是分析各研究工作所提出的卷積算子的設(shè)計(jì)原理及在此基礎(chǔ)上構(gòu)建的卷積網(wǎng)絡(luò).因此若研究工作中沒(méi)有涉及對(duì)點(diǎn)鄰域進(jìn)行改進(jìn),則默認(rèn)前提是通過(guò)球查詢(xún)算法和KNN 算法采樣得到的中心點(diǎn)及其近鄰點(diǎn)集.
在不規(guī)則點(diǎn)云上進(jìn)行卷積運(yùn)算的一個(gè)首要問(wèn)題是,權(quán)重向量的空間位置通常與輸入點(diǎn)無(wú)法對(duì)齊.將點(diǎn)云體素化為規(guī)則網(wǎng)格解決了這一問(wèn)題,但代價(jià)是丟失了局部幾何結(jié)構(gòu),這對(duì)于一些追求高性能的點(diǎn)云任務(wù)通常是不可取的.因此,在基于點(diǎn)的離散卷積中,一些研究首先想到通過(guò)解決點(diǎn)的排列不變性問(wèn)題來(lái)處理這一問(wèn)題,還有一些研究考慮了點(diǎn)的空間幾何特性.
2.1.1 排列不變性
為了解決點(diǎn)云的排列不變性,Hua 等人[55]通過(guò)指定點(diǎn)的輸入順序,提出了逐點(diǎn)卷積算子(pointwise convolution).具體來(lái)說(shuō),將所有點(diǎn)按照指定順序(如3D 坐標(biāo)x→y→z)依次輸入到逐點(diǎn)卷積神經(jīng)網(wǎng)絡(luò)(pointwise CNN)中,以每個(gè)點(diǎn)為中心得到指定數(shù)量的近鄰點(diǎn)并將其劃分到對(duì)應(yīng)的核單元(kernel cell),每個(gè)核單元內(nèi)的所有點(diǎn)都具有相同的核權(quán)重,核的尺寸可以根據(jù)每個(gè)卷積層中不同數(shù)量的近鄰點(diǎn)進(jìn)行適當(dāng)?shù)卣{(diào)整.類(lèi)似地,Li 等人[56]提出了一個(gè)χ-Conv 卷積算子,關(guān)鍵在于將局部坐標(biāo)系的原點(diǎn)定位在每個(gè)中心點(diǎn),使得該算子不依賴(lài)于中心點(diǎn)及其近鄰點(diǎn)的絕對(duì)位置,而依賴(lài)于它們的相對(duì)位置,采用多層感知機(jī)根據(jù)相對(duì)位置學(xué)習(xí)一個(gè)χ-變換矩陣作為卷積核權(quán)重矩陣,與中心點(diǎn)特征及其近鄰點(diǎn)特征的結(jié)合矩陣進(jìn)行卷積運(yùn)算得到高維特征,將多個(gè)χ-Convs 進(jìn)行級(jí)聯(lián)(concatenation)或跨層連接(skip connection)可以得到點(diǎn)卷積神經(jīng)網(wǎng)絡(luò)(PointCNN)的多種結(jié)構(gòu)從而來(lái)進(jìn)行不同的點(diǎn)云任務(wù).由于在一些實(shí)際場(chǎng)景中,物體的大小各不相同,為了使提取的特征適應(yīng)不同大小的物體,即小物體具有較小范圍的鄰域特征,大物體具有較大范圍的鄰域特征,基于卷積算子χ-Conv 和網(wǎng)絡(luò)PointCNN[56],Zhang 等人[57]提出了基于彩色植被指數(shù)的多尺度卷積神經(jīng)網(wǎng)絡(luò)(multiscale CNN with color vegetation indices,MCCNN),利用顏色信息為原始點(diǎn)云數(shù)據(jù)中的每個(gè)點(diǎn)計(jì)算超綠(excess green,ExG)和超紅(excess red,ExR)這2 種彩色植被指數(shù),并與其位置信息一起作為輸入特征,然后設(shè)置中心點(diǎn)的不同數(shù)量的近鄰點(diǎn)或者不同范圍的鄰域,得到不同的卷積核來(lái)提取多尺度特征,同時(shí)增強(qiáng)點(diǎn)云的可區(qū)分性.
2.1.2 點(diǎn)幾何特性
將點(diǎn)從歐氏空間映射到了其他空間,雖然解決了點(diǎn)云的排列不變性問(wèn)題,但也因此損失了3D 物體的幾何信息.因此,為了在整個(gè)特征提取中保留歐氏空間的幾何結(jié)構(gòu)信息,一些研究通過(guò)4 種方法來(lái)更充分地學(xué)習(xí)點(diǎn)之間的幾何信息,提升網(wǎng)絡(luò)的學(xué)習(xí)效率及性能,包括:建立點(diǎn)的方向向量;設(shè)計(jì)點(diǎn)的局部鄰域;改變點(diǎn)卷積的感受野;構(gòu)建點(diǎn)與卷積權(quán)重的相關(guān)性.
1)建立點(diǎn)的方向向量[58-59]
Lan 等人[58]基于物體的幾何信息隱含在點(diǎn)云的坐標(biāo)中這一合理的假設(shè),提出了一種幾何卷積算子(geometric-induced convolution,Geo-Conv),如 圖6 所示,具體卷積運(yùn)算過(guò)程包括:①特征分解(feature decomposition).將中心點(diǎn)與其近鄰點(diǎn)所組成的邊向量分解到3 個(gè)正交坐標(biāo)基上,沿著各個(gè)基底(base)獨(dú)立學(xué)習(xí)邊特征.②特征提取(feature extraction).對(duì)中心點(diǎn)來(lái)說(shuō),通過(guò)與一個(gè)可學(xué)習(xí)的方向相關(guān)權(quán)重矩陣進(jìn)行加權(quán)求和來(lái)提取該點(diǎn)在各個(gè)方向上的特征.③特征聚合(feature aggregation).將提取到的特征與邊向量和正交基之間的夾角成比例地聚合得到點(diǎn)之間的幾何結(jié)構(gòu)信息.通過(guò)逐層擴(kuò)大卷積的感受野,將多個(gè)Geo-Convs 作用于不斷增大的局部鄰域以分層提取特征,構(gòu)建一個(gè)幾何誘導(dǎo)卷積神經(jīng)網(wǎng)絡(luò)(geometric-induced CNN,Geo-CNN),對(duì)局部區(qū)域點(diǎn)之間的幾何結(jié)構(gòu)進(jìn)行建模,最后通過(guò)一個(gè)最大池化層來(lái)聚集所有點(diǎn)的全局特征.然而網(wǎng)絡(luò)在每次卷積都需要重新計(jì)算所有點(diǎn)的近鄰點(diǎn),使得其計(jì)算復(fù)雜度大大增加,不適合處理大規(guī)模場(chǎng)景.此外,除了物體內(nèi)部點(diǎn)的幾何特征,邊界信息在一些點(diǎn)云分割任務(wù)中起著重要作用,當(dāng)邊界信息被忽略時(shí),提取的特征通常是模糊的,因?yàn)樗鼈兓旌狭诉吔玎徲騼?nèi)屬于不同類(lèi)別的點(diǎn)的特征.隨著網(wǎng)絡(luò)的深入,如果其他點(diǎn)包含邊界點(diǎn)的特征,那么邊界上的這些模糊特征將不可避免地分層傳播到更多點(diǎn),導(dǎo)致不同物體的信息跨邊界傳播,不同物體之間的過(guò)渡區(qū)域被錯(cuò)誤分割.為了解決這一問(wèn)題,Gong 等人[59]首先提出了一個(gè)邊界預(yù)測(cè)模塊(boundary prediction module,BPM)預(yù)測(cè)邊界點(diǎn);基于預(yù)測(cè)的邊界,設(shè)計(jì)了一個(gè)邊界感知幾何編碼模塊(boundary-aware geometric encoding module,GEM)對(duì)幾何信息進(jìn)行編碼,使同一個(gè)鄰域內(nèi)不同類(lèi)別的局部特征不會(huì)相互影響;此外為了使得提取的特征更具區(qū)分性,還提出了一種輕量級(jí)幾何卷積運(yùn)算(geometric convolution operation,GCO),通過(guò)幾何卷積核(geometric kernel)和鄰域內(nèi)點(diǎn)的方向向量構(gòu)成的矩陣相乘得到中心點(diǎn)的特征,在一個(gè)包含K個(gè)近鄰點(diǎn)的鄰域中,其幾何結(jié)構(gòu)可用K個(gè)3D 方向向量表示.如圖7 所示,K=3 時(shí),構(gòu)造的幾何卷積核是一個(gè)具有3 個(gè)方向向量的矩陣,每個(gè)向量表示3D 空間中的1個(gè)方向,這3 個(gè)方向向量和中心點(diǎn)可以表示一個(gè)四面體(最簡(jiǎn)單的多面體),因此卷積核本身可以描述點(diǎn)在方向上的分布.
Fig.6 Geometric convolution operations圖6 幾何卷積運(yùn)算
2)設(shè)計(jì)點(diǎn)的局部鄰域[60-61]
盡管采用球查詢(xún)和K近鄰的點(diǎn)鄰域搜索方式是直觀的、簡(jiǎn)單的,但由于鄰域范圍R或近鄰點(diǎn)數(shù)K是預(yù)定義的,這也就限制了中心點(diǎn)的局部鄰域大小,同時(shí)該值設(shè)置的不合理也會(huì)導(dǎo)致網(wǎng)絡(luò)的性能變差.相比于圖7(a)中通過(guò)球查詢(xún)得到的球形區(qū)域(ball),Zhang 等人[60]提出了一種殼卷積算子(ShellConv),將中心點(diǎn)的3D 球形鄰域劃分為多個(gè)殼形區(qū)域(shells),即同心球殼(concentric spherical shell),一 個(gè)shell 表示2 個(gè)相同球心不同半徑的球面之間的空間范圍,如圖7(b)所示,同時(shí)構(gòu)建包含多個(gè)ShellConvs 的殼卷積神經(jīng)網(wǎng)絡(luò)(ShellNet),將中心點(diǎn)的K個(gè)近鄰點(diǎn)按照到中心點(diǎn)的距離升序排列并劃分到不同的殼內(nèi);同一個(gè)殼內(nèi)的點(diǎn),通過(guò)全連接層和最大池化層計(jì)算出一個(gè)局部特征,最后根據(jù)多個(gè)殼的局部特征加權(quán)求和得到中心點(diǎn)的聚合特征,提高了局部特征的學(xué)習(xí)效率.Lei 等人[61]定義了一個(gè)球卷積(spherical convolution)算子,利用空間分區(qū)將中心點(diǎn)的球形鄰域劃分為多個(gè)大小不一的箱形區(qū)域(bins),如圖7(c)所示,并為每個(gè)bin 定義一個(gè)可學(xué)習(xí)權(quán)重矩陣,該矩陣對(duì)位于該子區(qū)域內(nèi)的近鄰點(diǎn)進(jìn)行加權(quán)求和得到卷積結(jié)果.與標(biāo)準(zhǔn)卷積核相比,后者必須保持所有區(qū)域大小統(tǒng)一,并依靠提升分辨率來(lái)提取更細(xì)粒度的特征,這通常會(huì)導(dǎo)致較高的內(nèi)存占用問(wèn)題,而球卷積算子的多尺度區(qū)域解決了這一問(wèn)題,使得卷積運(yùn)算更加靈活,不僅能夠?qū)ο嗤瑓^(qū)域特征實(shí)現(xiàn)權(quán)重共享,也有效學(xué)習(xí)了具有非對(duì)稱(chēng)性的幾何特征.基于球卷積算子,還提出了八叉樹(shù)(octree)[62]引導(dǎo)卷積神經(jīng)網(wǎng)絡(luò)(octree guided CNN,Ψ-CNN),該網(wǎng)絡(luò)具有與八叉樹(shù)深度相同數(shù)量的卷積層,根據(jù)八叉樹(shù)的數(shù)據(jù)結(jié)構(gòu)對(duì)輸入點(diǎn)云進(jìn)行空間劃分,分層下采樣得到中心點(diǎn)并構(gòu)造點(diǎn)鄰域.隨后,由于球卷積算子的靈活性和優(yōu)越性,Lei 等人[43]又將其擴(kuò)展到圖卷積網(wǎng)絡(luò)中提出了SPH3D-GCN,此外,考慮到劃分邊界和密度分布的影響,將模糊機(jī)制(fuzzy mechanism)引入到該卷積算子中,提出了模糊核(fuzzy kernel),并在此基礎(chǔ)上構(gòu)建了一個(gè)高效的適用于點(diǎn)云分割任務(wù)的圖卷積網(wǎng)絡(luò)SegGCN[42].
Fig.7 Point neighborhoods with different definitions圖7 定義不同的點(diǎn)鄰域
3)改變點(diǎn)卷積的感受野[63-66]
與2D 圖像卷積運(yùn)算類(lèi)似,在3D 點(diǎn)云中,決定卷積神經(jīng)網(wǎng)絡(luò)某層的輸出結(jié)果中1 個(gè)特征所對(duì)應(yīng)的輸入層的區(qū)域被稱(chēng)作感受野,其大小直接關(guān)系到網(wǎng)絡(luò)處理各種任務(wù)的性能.因此,增加感受野大小的常用方法有2 種:一種方法是堆疊多個(gè)(點(diǎn))卷積層,在提升網(wǎng)絡(luò)性能的同時(shí)也引入了更多的參數(shù),增加了計(jì)算復(fù)雜度,導(dǎo)致額外的內(nèi)存消耗;另一種方法是增大卷積核的尺寸,參考如圖8(a)和圖8(b)所示的1D和2D 空洞卷積原理,在擴(kuò)大感受野的同時(shí)可以不損失信息,得到了如圖8(c)所示的3D 空洞卷積算子[63-64].Pan 等人[63]提出的點(diǎn)空洞卷積算子(point atrous convolution,PAC),通過(guò)設(shè)置不同的采樣率r在特征空間或度量空間中對(duì)中心點(diǎn)的近鄰點(diǎn)特征進(jìn)行稀疏采樣(sparse sampling).特別地,如果采樣率為r=1,則PAC 將退化為EdgeConv[39].這樣,在不增加參數(shù)量和計(jì)算量的前提下,通過(guò)增大采樣率就可以有效地?cái)U(kuò)大卷積的感受野.同樣,類(lèi)似于2D 空洞空間金字塔池化(atrous spatial pyramid pooling,ASPP)[10]的原理,將不同空洞率的空洞卷積平行或者級(jí)聯(lián)堆疊來(lái)獲取多尺度信息,由此提出了點(diǎn)空洞空間金字塔池化(PASPP),得到不同采樣率下的近鄰點(diǎn)特征來(lái)聚合中心點(diǎn)的多尺度局部特征.最后,集成多個(gè)PACs 和PASPPs,構(gòu)建了相應(yīng)的具有排列不變性的點(diǎn)空洞卷積網(wǎng)絡(luò)(PointAtrousNet,PAN),充分利用局部幾何細(xì)節(jié)進(jìn)行點(diǎn)云分析.類(lèi)似地,Engelmann 等人[64]首先對(duì)比了不同尺度感受野對(duì)網(wǎng)絡(luò)性能的影響,然后提出了一種空洞點(diǎn)卷積(dilated point convolution,DPC)算子集成鄰近點(diǎn)的特征,通過(guò)設(shè)置不同的空洞因子d改進(jìn)原先的K近鄰,擴(kuò)大中心點(diǎn)的局部鄰域范圍,搜索K×d個(gè)近鄰點(diǎn)并僅保留排序后的每K個(gè)近鄰點(diǎn)集中的第d個(gè)點(diǎn)來(lái)學(xué)習(xí)核權(quán)重.特別地,如果r=1,則DPC 將退化為使用K近鄰尋找近鄰點(diǎn)的Pointwise Convolution[55].原先通過(guò)簡(jiǎn)單地增加近鄰點(diǎn)數(shù)來(lái)提高網(wǎng)絡(luò)性能的方法會(huì)增加計(jì)算成本,從而導(dǎo)致推理時(shí)間變慢,而引入d后增加了點(diǎn)卷積的感受野大小,在幾乎不增加額外計(jì)算成本的情況下顯著提高性能.
Fig.8 Comparison of dilated/atrous convolutions圖8 空洞卷積的對(duì)比
鑒于以往的研究工作大多只關(guān)注空間維度上的特征提取,而忽略了通道維度,使得點(diǎn)云的特征學(xué)習(xí)不充分,因此類(lèi)比于2D 可分離卷積,Cui 等人[65]提出了一種輕量級(jí)注意力模塊(lightweight attention module,LAM),它采用了深度可分離卷積(depthwise separable convolution,DSConv)算子在不降低網(wǎng)絡(luò)性能的前提下提高計(jì)算效率,同時(shí)采用基于通道統(tǒng)計(jì)特征的注意力機(jī)制(attention mechanism)通過(guò)自動(dòng)縮放不同特征通道的權(quán)重來(lái)提高網(wǎng)絡(luò)精度.DSConv 將作用在點(diǎn)云上的卷積運(yùn)算分為2 個(gè)步驟,減少特征提取在空間和通道2 個(gè)不同維度上的相互干擾:①深度卷積(depthwise convolution).在輸入的每個(gè)特征通道上單獨(dú)執(zhí)行空間卷積;②點(diǎn)卷積(pointwise convolution[55]).使用1×1 卷積將特征通道映射到新的通道空間,選擇不同的卷積核進(jìn)行這2 個(gè)維度的卷積.為了解決3D 旋轉(zhuǎn),即SO(3)、3D 變換,即SE(3)①SO(3):特殊正交群(special orthogonal group),指3D 旋轉(zhuǎn)(rotation)、旋轉(zhuǎn)矩陣到旋轉(zhuǎn)向量;SE(3):特殊歐氏群(special Euclidean group),指3D 變換=旋轉(zhuǎn)(rotation)+平移(translation),也稱(chēng)歐氏變換(Euclidean transformation).的等變性和不變性,Chen 等人[66]提出了一種用于點(diǎn)云的SE(3)可分離卷積(separable convolution,SPConv)算子,首先,將卷積分解為1 個(gè)SE(3)點(diǎn)卷積算子和1 個(gè)SE(3)組卷積算子,分別在3D 歐氏空間和SO(3)空間中交替進(jìn)行卷積運(yùn)算,使用SE(3)空間中定義的特征作為輸入并輸出每個(gè)點(diǎn)的SE(3)等變特征.SE(3)可分離卷積在不影響性能情況下顯著降低了SE(3)卷積的計(jì)算成本.其次,將注意力機(jī)制與全局池化相結(jié)合提出了一個(gè)組注意力池化(group attentive pooling,GAP)操作,進(jìn)行從等變特征到不變特征的轉(zhuǎn)換②旋轉(zhuǎn)不變映射可以由具有等變對(duì)齊的任何映射構(gòu)造.旋轉(zhuǎn)等變映射可以由具有等變對(duì)齊的任何旋轉(zhuǎn)不變映射構(gòu)造.與不變性相比,等變性保留而不是丟棄空間結(jié)構(gòu),是更具區(qū)別性的表示..最后,集成卷積和池化構(gòu)建了一個(gè)SE(3)等變點(diǎn)網(wǎng)絡(luò)(equivariant point network,EPN)作為通用框架,可以根據(jù)下游任務(wù)生成等變或不變的點(diǎn)特征.
4)構(gòu)建點(diǎn)與卷積權(quán)重的相關(guān)性[67-69]
考慮到注意力機(jī)制在提取全局特征上的優(yōu)越性,為了幫助卷積得到更細(xì)粒度的特征,Dang 等人[67]提出了鄰域注意力卷積(neighborhood attention convolution,NAC),在不同的近鄰點(diǎn)上自適應(yīng)地進(jìn)行特征選擇,充分挖掘每個(gè)局部區(qū)域內(nèi)的細(xì)粒度局部幾何特征,通過(guò)融合中心點(diǎn)與近鄰點(diǎn)的相對(duì)位置、絕對(duì)位置和高維非局部點(diǎn)特征來(lái)獲得鄰域注意力系數(shù).使用Softmax 函數(shù)將所有近鄰點(diǎn)的鄰域注意力系數(shù)歸一化到范圍(0,1)來(lái)表示不同近鄰點(diǎn)的重要性.然后,基于NAC 并結(jié)合2D 組卷積的原理,又提出了分層交錯(cuò)組卷積(hierarchical interleaved group convolution,HIGConv),包含第1 階段分層組卷積(PHGC)和第2階段分層組卷積(SHGC).具體來(lái)說(shuō),PHGC 將NAC的輸入特征和參數(shù)劃分為多個(gè)分區(qū),為了便于不同分區(qū)之間不同級(jí)別的特征映射的交互,將相鄰2 個(gè)分區(qū)的特征在通道維度上進(jìn)行融合作為下一個(gè)分區(qū)的輸入特征,以擴(kuò)大輸出特征維度、增強(qiáng)學(xué)習(xí)能力.最后,連接所有分區(qū)的輸出特征并在特征通道維度上進(jìn)行洗牌(shuffle),以充分融合所有分區(qū)的特征,提取細(xì)粒度的局部幾何特征.類(lèi)似地,SHGC 通過(guò)將多層感知機(jī)的輸入特征和參數(shù)劃分為多個(gè)分區(qū)并在通道維度上進(jìn)行洗牌后提取得到可區(qū)分的非局部點(diǎn)特征,這樣豐富的局部到全局形狀信息可以通過(guò)2部分的輸出特征聚合在一起.然后,構(gòu)建包含多個(gè)HIGConvs 的分層交錯(cuò)組卷積神經(jīng)網(wǎng)絡(luò)(HIGCNN),其核心是多尺度關(guān)系(multi-scale relation,MSR)模塊,用于集成不同尺度區(qū)域之間的關(guān)系,對(duì)多尺度細(xì)粒度特征進(jìn)行編碼,將2 個(gè)區(qū)域的局部幾何特征融合為關(guān)系描述符,通過(guò)Softmax 函數(shù)將其歸一化到范圍(0,1)內(nèi)生成區(qū)域之間的關(guān)系分?jǐn)?shù),用于自適應(yīng)地增強(qiáng)有用的結(jié)構(gòu)特征,抑制無(wú)用的噪聲特征,從而以較少的冗余參數(shù)和較低的計(jì)算成本獲得足夠的特征表示能力.
此外,Mao 等人[68]提出了一種插值卷積(interpolated convolution,InterpConv)算子來(lái)度量輸入點(diǎn)云與卷積權(quán)重之間的幾何關(guān)系.在每個(gè)權(quán)重向量附近找到一組輸入點(diǎn),然后對(duì)它們的特征進(jìn)行插值以分配給權(quán)重矩陣進(jìn)行卷積運(yùn)算.由此提出了2 種插值函數(shù):三線(xiàn)性插值(trilinear interpolation)和高斯插值(gaussian interpolation).它們的權(quán)重計(jì)算方法不同,三線(xiàn)性插值通過(guò)計(jì)算相對(duì)于中心點(diǎn)的8 個(gè)晶格點(diǎn)的權(quán)重坐標(biāo),然后使用這些權(quán)重將輸入點(diǎn)特征反向分配給相鄰的權(quán)重坐標(biāo),再進(jìn)行加權(quán)求和得到中心點(diǎn)的新特征.而高斯插值是使用高斯函數(shù)來(lái)計(jì)算權(quán)重.其他函數(shù),如線(xiàn)性基函數(shù)(linear basis functions),也可以用作插值函數(shù).級(jí)聯(lián)多層多感受野的InterpConvs 以構(gòu)建插值卷積神經(jīng)網(wǎng)絡(luò)(interpolated CNN,InterpCNN),解決點(diǎn)云的排列不變性,且對(duì)點(diǎn)云密度不敏感,但其存在的一個(gè)缺點(diǎn)是預(yù)先指定的插值函數(shù)無(wú)法適應(yīng)點(diǎn)云的變化,導(dǎo)致其魯棒性較差.在特征提取過(guò)程中,需要進(jìn)行逐步下采樣來(lái)減少點(diǎn)的數(shù)量,增加特征維度.為了在這一過(guò)程中不丟失點(diǎn)云的幾何形狀信息,Nguyen等人[69]提出了一種統(tǒng)計(jì)卷積(statistical convolution,StatsConv)算子,利用統(tǒng)計(jì)學(xué)中的樣本矩,結(jié)合基于從點(diǎn)云中提取的不同矩的全局特征和輸入點(diǎn)進(jìn)行非線(xiàn)性變換后的逐點(diǎn)特征,通過(guò)幾個(gè)非線(xiàn)性全連接層投影到一個(gè)新的特征空間;封裝了全局特征和局部特征,用于提取各種統(tǒng)計(jì)信息來(lái)表征輸入點(diǎn)集的分布信息.
連續(xù)卷積方法是在連續(xù)的空間中定義卷積算子,其中近鄰點(diǎn)的權(quán)重與中心點(diǎn)的空間分布有關(guān).連續(xù)卷積運(yùn)算最重要的部分是特征建模的方式.考慮到實(shí)際任務(wù)的復(fù)雜性,卷積核函數(shù)也可能是極其復(fù)雜的,因此主要有2 種策略:一種策略是增加一些虛擬化的輔助信息;另一種策略是對(duì)所使用的卷積核函數(shù)進(jìn)行參數(shù)化.
2.2.1 虛擬化輔助信息
為了保留3D 點(diǎn)坐標(biāo)編碼的全局信息,一些研究工作通過(guò)增加或者設(shè)計(jì)一些虛擬點(diǎn)[70-72]、虛擬空間[73-74]、虛擬結(jié)構(gòu)[75-76]來(lái)輔助進(jìn)行卷積運(yùn)算,如圖9所示.
1)虛擬點(diǎn)
Fig.9 Introduction of virtualization auxiliary information圖9 引入虛擬化輔助信息
首先,Thomas 等人[70]引入了核點(diǎn)(kernel points)并提出了一種核點(diǎn)卷積(kernel point convolution,KPConv)算子,在中心點(diǎn)的球形鄰域內(nèi)確定一組任意數(shù)量的核點(diǎn)集合,每個(gè)核點(diǎn)帶有一個(gè)可學(xué)習(xí)的權(quán)重矩陣,相關(guān)系數(shù)取決于任意點(diǎn)與核點(diǎn)的相對(duì)位置(歐氏距離).通過(guò)分別計(jì)算鄰域內(nèi)的所有近鄰點(diǎn)與核點(diǎn)的權(quán)重矩陣的乘積對(duì)該點(diǎn)進(jìn)行特征變換,最后累加所有近鄰點(diǎn)的特征得到中心點(diǎn)的特征.由此可見(jiàn),核點(diǎn)位置對(duì)卷積算子至關(guān)重要,因此通過(guò)解決一個(gè)球形空間中最佳覆蓋的優(yōu)化問(wèn)題來(lái)計(jì)算核點(diǎn)位置,并進(jìn)一步提出了處理簡(jiǎn)單任務(wù)的剛性卷積(rigid KPConv)算子和處理復(fù)雜任務(wù)的可變形卷積(deformable KPConv)算子.對(duì)于剛性卷積,球心(中心點(diǎn))作為一個(gè)核點(diǎn);球心對(duì)其他核點(diǎn)有一定的引力(attractive force)來(lái)吸引它們靠攏;其他核點(diǎn)之間有一定的斥力(repulsive force)來(lái)使它們相互遠(yuǎn)離.這個(gè)由引力、斥力組成的系統(tǒng)穩(wěn)定后,即可確定每個(gè)核點(diǎn)位置.對(duì)于可變性卷積,按引力、斥力的方法確定出來(lái)的所有核點(diǎn)的位置可能不是最優(yōu)的,因此通過(guò)計(jì)算核點(diǎn)相對(duì)于原始位置的偏移量來(lái)優(yōu)化或微調(diào)每個(gè)核點(diǎn)的位置.在此基礎(chǔ)上,還構(gòu)建了含有多個(gè)KPConvs的分類(lèi)網(wǎng)絡(luò)(KP-CNN)和分割網(wǎng)絡(luò)(KP-FCNN),每個(gè)卷積層采用下采樣以在不同密度的點(diǎn)云下實(shí)現(xiàn)高魯棒性.同樣,Yan 等人[71]也引入了核點(diǎn)并提出了一種映射卷積(mapping convolution,MappingConv)算子,不同的是MappingConv 中的核點(diǎn)位置最初是在以中心點(diǎn)為球心的單位球形鄰域中隨機(jī)初始化生成的,根據(jù)3 個(gè)多層感知機(jī)學(xué)習(xí)到的映射函數(shù),基于近鄰點(diǎn)和核點(diǎn)之間的空間位置關(guān)系(歐氏距離)將不規(guī)則的近鄰點(diǎn)特征映射到一系列可學(xué)習(xí)的核點(diǎn)上,然后通過(guò)反向傳播以數(shù)據(jù)驅(qū)動(dòng)的方式對(duì)核點(diǎn)位置進(jìn)行更新.最后將學(xué)習(xí)到的權(quán)重應(yīng)用于位于核點(diǎn)上的聚合特征集合得到卷積結(jié)果.類(lèi)似地,Zhang 等人[72]引入了錨點(diǎn)(anchor points)并提出了一種全局上下文感知卷積(global context aware convolution,GCAConv)算子.為每個(gè)中心點(diǎn)生成一組錨點(diǎn)集合來(lái)近似表征全局輸入形狀特征.這里的錨點(diǎn)位置對(duì)卷積算子同樣至關(guān)重要,因此以中心點(diǎn)為原點(diǎn)構(gòu)造一個(gè)全局加權(quán)局部參考系(global weighted local reference frames,LRF),通過(guò)投影將近鄰點(diǎn)的3D 全局坐標(biāo)轉(zhuǎn)換為局部坐標(biāo),根據(jù)LRF 將該中心點(diǎn)的局部鄰域劃分出8 個(gè)細(xì)分鄰域子空間,將每個(gè)鄰域子空間中近鄰點(diǎn)的重心作為錨點(diǎn),通過(guò)1D 卷積編碼局部點(diǎn)集和全局錨點(diǎn)之間的局部和全局關(guān)系(local-global relation)來(lái)定義卷積權(quán)重,執(zhí)行卷積以提取局部和全局特征(local-global feature).
2)虛擬空間
首先,Yang 等人[73]定義了一個(gè)可學(xué)習(xí)的卷積權(quán)重池(weight pool),并提出了一種空間探測(cè)卷積(space probing convolution,SPConv)算子.首先采用一個(gè)幾何引導(dǎo)的索引映射函數(shù)(index-mapping function),將中心點(diǎn)與近鄰點(diǎn)之間的幾何特征轉(zhuǎn)換為權(quán)重索引,學(xué)習(xí)自適應(yīng)地將3D 空間劃分為多個(gè)子空間以進(jìn)行局部幾何結(jié)構(gòu)識(shí)別.然后從權(quán)重池中為每個(gè)子空間中的點(diǎn)分配一個(gè)共享的權(quán)重矩陣;將每個(gè)近鄰點(diǎn)的幾何特征輸入到共享多層感知機(jī)中,輸出的特征映射被視為每個(gè)子空間所屬的等級(jí).最后與相應(yīng)的權(quán)重進(jìn)行卷積和聚合,以獲得更深層次的語(yǔ)義特征.類(lèi)似地,Xu 等人[74]定義了一個(gè)可學(xué)習(xí)的卷積權(quán)重庫(kù)(weight bank),并提出了一種位置自適應(yīng)卷積(position adaptive convolution,PAConv)算子和一個(gè)分?jǐn)?shù)網(wǎng)絡(luò)(ScoreNet),將中心點(diǎn)及其近鄰點(diǎn)之間的相對(duì)位置關(guān)系向量輸入到網(wǎng)絡(luò)中以自適應(yīng)學(xué)習(xí)對(duì)應(yīng)的歸一化在(0,1)范圍內(nèi)的系數(shù)向量,根據(jù)向量中的概率值組合權(quán)重矩陣,值越高表示位置向量和權(quán)重矩陣之間的關(guān)系越強(qiáng).通過(guò)組合存儲(chǔ)在權(quán)重庫(kù)中的基本權(quán)重矩陣與網(wǎng)絡(luò)預(yù)測(cè)出的位置自適應(yīng)系數(shù)來(lái)構(gòu)造動(dòng)態(tài)卷積核函數(shù)用于卷積運(yùn)算.這2 項(xiàng)工作都是通過(guò)建模點(diǎn)之間的位置關(guān)系來(lái)提取幾何空間特征,但存在的問(wèn)題是存儲(chǔ)過(guò)多的權(quán)重矩陣可能會(huì)造成網(wǎng)絡(luò)冗余,帶來(lái)較大的內(nèi)存占用和計(jì)算負(fù)擔(dān),因此選擇合適的權(quán)重矩陣是決定二者網(wǎng)絡(luò)性能的關(guān)鍵.
3)虛擬結(jié)構(gòu)
為了加快計(jì)算速度,Groh 等人[75]提出了一個(gè)卷積算子Flex-Convolution,將卷積核的權(quán)重定義為中心點(diǎn)的局部鄰域上的標(biāo)準(zhǔn)標(biāo)量積,并與其K個(gè)近鄰點(diǎn)的特征向量進(jìn)行卷積運(yùn)算,網(wǎng)絡(luò)還集成了采用類(lèi)似方法的最大池化Flex-Max-Pooling 進(jìn)行聚合操作,使用較少的參數(shù)和較低的內(nèi)存消耗得到了極具競(jìng)爭(zhēng)力的性能.隨后,Boulch[76]提出了一種卷積算子ConvPoint,將卷積核劃分為空間核權(quán)重和特征核權(quán)重,混合幾何空間和特征空間.幾何空間使用多層感知機(jī)來(lái)學(xué)習(xí)卷積核與點(diǎn)云之間的關(guān)系函數(shù),即稠密加權(quán)函數(shù),然后與特征空間加權(quán)融合得到卷積輸出.這2 個(gè)卷積算子在選擇近鄰點(diǎn)時(shí)均使用了二叉樹(shù)(kdtree)[77]代替K近鄰,并使用索引列表存儲(chǔ)近鄰點(diǎn)集,使得卷積對(duì)輸入點(diǎn)云密度具有魯棒性.
2.2.2 參數(shù)化核函數(shù)
首先,Wang 等人[78]提出了一種參數(shù)化連續(xù)卷積(parametric continuous convolution)算子,依據(jù)萬(wàn)能近似定理(universal approximation theorem),采用多層感知機(jī)計(jì)算卷積核函數(shù),因?yàn)樗軌虮平魏芜B續(xù)函數(shù),這樣卷積的輸出可以是整個(gè)連續(xù)向量空間中的任意點(diǎn).通過(guò)級(jí)聯(lián)多個(gè)該卷積算子的卷積層構(gòu)建深度參數(shù)化連續(xù)卷積網(wǎng)絡(luò)(deep parametric continuous CNN,PCCN).然而該方法只能近似深度方向的卷積,而不能近似實(shí)際卷積.Xu 等人[79]提出了卷積算子SpiderConv,將連續(xù)卷積核函數(shù)定義為階躍函數(shù)和定義在K近鄰上的泰勒展開(kāi)多項(xiàng)式的乘積.階躍函數(shù)通過(guò)計(jì)算中心點(diǎn)及其近鄰點(diǎn)之間的測(cè)地線(xiàn)距離(geodesic distance)來(lái)獲取粗糙的幾何結(jié)構(gòu);泰勒展開(kāi)式通過(guò)在中心點(diǎn)及其近鄰點(diǎn)構(gòu)成的立方體頂點(diǎn)處進(jìn)行插值來(lái)學(xué)習(xí)局部的細(xì)粒度幾何結(jié)構(gòu).同樣通過(guò)級(jí)聯(lián)多個(gè)帶有SpiderConvs 的卷積層構(gòu)建卷積網(wǎng)絡(luò)SpiderCNN,與該卷積算子和網(wǎng)絡(luò)的思想最為接近的是處理體素輸入的稀疏卷積網(wǎng)絡(luò)SparseCNN[25].Hermosilla 等人[80]提出了一種蒙特卡洛卷積(Monte Carlo convolution)算子,Wu 等人[81]提出了一種稱(chēng)為PointConv 的卷積算子,二者均將卷積運(yùn)算視為蒙特卡洛估計(jì)(Monte Carlo estimate)的過(guò)程,由權(quán)重函數(shù)和密度函數(shù)組成的非線(xiàn)性函數(shù).使用多層感知機(jī)近似卷積核權(quán)重函數(shù),采用核密度估計(jì)(kernel density estimation)學(xué)習(xí)概率密度函數(shù)(probability density function,PDF),用來(lái)重新加權(quán)學(xué)習(xí)的權(quán)重函數(shù),這就使得蒙特卡洛可以處理不同采樣密度的點(diǎn)云.然后分別構(gòu)建了各自的蒙特卡洛卷積網(wǎng)絡(luò)進(jìn)行分層點(diǎn)云特征學(xué)習(xí).Wang 等人[82]提出了一種片元卷積(PatchConv)算子,首先遍歷全局空間,為每個(gè)中心點(diǎn)構(gòu)建PointPatch 模塊,即以中心點(diǎn)為原點(diǎn)將3D 局部鄰域劃分為8 個(gè)卦限(octant),并搜索每個(gè)卦限中的近鄰點(diǎn)作為該卦限的特征;如果在一個(gè)卦限內(nèi)沒(méi)有近鄰點(diǎn),就選擇中心點(diǎn)特征作為該卦限的特征.卷積核權(quán)重函數(shù)被視為一個(gè)由多層感知機(jī)近似的利普希茨連續(xù)函數(shù)(Lipschitz continuous function),在每個(gè)掛限進(jìn)行卷積運(yùn)算提取中心點(diǎn)的高維特征.進(jìn)一步構(gòu)建了一個(gè)帶有PatchConvs 的輕量級(jí)卷積網(wǎng)絡(luò)PatchCNN 以有效集成每個(gè)PointPatch 模塊中的特征.Liu 等人[83]提出了一種基于鄰域集合關(guān)系推斷的卷積(relation-shape convolution,RS-Conv)算子作為卷積網(wǎng)絡(luò)RS-CNN 的核心,計(jì)算每個(gè)局部鄰域中的近鄰點(diǎn)與中心點(diǎn)之間的關(guān)系,包括低維關(guān)系(lowlevel),即兩點(diǎn)坐標(biāo)之間的歐氏距離和兩點(diǎn)特征之間的相對(duì)距離;高維關(guān)系(high-level),即更抽象的點(diǎn)關(guān)系表示.使用多個(gè)共享多層感知機(jī)近似卷積核來(lái)學(xué)習(xí)局部鄰域中點(diǎn)之間關(guān)系的映射.隨后,Liu 等人[84]又提出了一種卷積算子PConv,將卷積運(yùn)算分解為2個(gè)核心步驟:1)特征變換(feature transformation).卷積核函數(shù)被定義為帶有非線(xiàn)性激活器的共享單層感知機(jī)(single-layer perceptron,SLP)以提高其效率.2)特征聚合(feature aggregation).使用聚合函數(shù)來(lái)聚合這些變換后的特征.然后基于PConv 構(gòu)建了DensePoint模塊,所有前面層的輸出都用作其輸入,其自身的輸出用作所有后續(xù)層的輸入,這樣每層都可以獲得特定級(jí)別的信息.最終,聚合得到豐富的局部語(yǔ)義信息和全局形狀信息.由于點(diǎn)云的稀疏性,Atzmon 等人[85]提出了一種稀疏卷積(sparse extrinsic convolution)算子并構(gòu)建了相應(yīng)的點(diǎn)卷積神經(jīng)網(wǎng)絡(luò)(PCNN)來(lái)處理點(diǎn)云任務(wù),應(yīng)用徑向基函數(shù)(radial basis function,RBF)進(jìn)行卷積,這一參數(shù)化過(guò)程沒(méi)有任何的離散化操作或者近似操作.隨后,Poulenard 等人[86]基于PCNN[85]提出了球諧卷積神經(jīng)網(wǎng)絡(luò)(SPHNet),使用球諧(spherical harmonics)函數(shù)定義了一種非線(xiàn)性旋轉(zhuǎn)不變卷積(spherical harmonics convolution,SPHConv)算子來(lái)實(shí)現(xiàn)旋轉(zhuǎn)不變性.對(duì)比二者的網(wǎng)絡(luò)結(jié)構(gòu)與性能如表1 所示.
SPHNet[86]是首次強(qiáng)調(diào)旋轉(zhuǎn)不變性對(duì)于點(diǎn)云分析任務(wù)重要性的研究工作,這就要求當(dāng)給定任意的旋轉(zhuǎn)角度或方向時(shí),輸出相同的分析結(jié)果,如之前提到的SO(3)和SE(3)[66],使網(wǎng)絡(luò)對(duì)點(diǎn)云的旋轉(zhuǎn)具有魯棒性.一種常見(jiàn)的解決方案是使用任意旋轉(zhuǎn)來(lái)增加訓(xùn)練數(shù)據(jù),但這樣做的局限性是存在一些不可預(yù)見(jiàn)的旋轉(zhuǎn),而且由于訓(xùn)練數(shù)據(jù)量的增加,訓(xùn)練時(shí)間復(fù)雜度也會(huì)隨之增大.因此為了解決這一問(wèn)題,一些研究人員陸續(xù)展開(kāi)了相關(guān)研究并提出了一些具有旋轉(zhuǎn)不變性的點(diǎn)云卷積算子.Zhang 等人[87]基于兩點(diǎn)之間的歐氏距離和角度特征,提出了一種旋轉(zhuǎn)不變卷積(rotation invariant convolution,RIConv)算子.由于這些幾何特征在剛性變換下是不變的,而且不像點(diǎn)坐標(biāo)是唯一的,許多點(diǎn)共享相同的距離和角度,因此它們非常適合于構(gòu)造具有旋轉(zhuǎn)和平移不變性的卷積算子.然后使用共享多層感知機(jī)將這些幾何特征從3D 空間提升到高維空間,并進(jìn)行卷積運(yùn)算提取特征.這2種方法的優(yōu)點(diǎn)是允許在訓(xùn)練/測(cè)試場(chǎng)景中旋轉(zhuǎn)或不旋轉(zhuǎn)的情況下進(jìn)行一致的預(yù)測(cè),并且魯棒性強(qiáng),可以推廣到具有不可見(jiàn)旋轉(zhuǎn)的輸入數(shù)據(jù)中.盡管如此,這2種方法的性能有時(shí)可能不如一些具有平移不變性的點(diǎn)云卷積算子[56,60],詳見(jiàn)第3 節(jié).此外,由于RIConv[87]將3D 坐標(biāo)轉(zhuǎn)換為一些旋轉(zhuǎn)不變的特征,例如距離和角度,導(dǎo)致3D 坐標(biāo)編碼的全局信息丟失.為了解決這一問(wèn)題,GCAConv[72]利用了局部參考系(LRF),其原理是,卷積與任何映射函數(shù)一樣,可以通過(guò)對(duì)齊輸入與旋轉(zhuǎn)等變映射(rotation-equivariant mapping)的結(jié)果,將其轉(zhuǎn)換為旋轉(zhuǎn)不變映射(rotation-invariant mapping),這樣就將輸入點(diǎn)云的全局特征信息集成到了卷積運(yùn)算中.參考這一方法,同時(shí)由于KPConv[70]性能優(yōu)異、定義直觀、靈活性強(qiáng),且能夠直接將特征與空間定義的卷積核相結(jié)合,Thomas[88]結(jié)合旋轉(zhuǎn)等變性和旋轉(zhuǎn)不變性之間的內(nèi)在聯(lián)系[66]設(shè)計(jì)了一種旋轉(zhuǎn)不變性的多對(duì)齊卷積(multi-alignment KPConv,MAKPConv)算子.為了能夠提取更準(zhǔn)確的信息,首先設(shè)計(jì)了一個(gè)對(duì)齊模塊(alignment module),假設(shè)每個(gè)輸入點(diǎn)都有一個(gè)旋轉(zhuǎn)等變LRF,這些LRFs 可以重新排列成旋轉(zhuǎn)不變的LRFs,并用共享多層感知機(jī)對(duì)該信息進(jìn)行編碼轉(zhuǎn)換為旋轉(zhuǎn)不變特征,輸出與輸入特征尺寸相同的特征,可以視為近鄰點(diǎn)的LRF 和中心點(diǎn)的LRF 之間的變化關(guān)系,該特征提供了有關(guān)鄰域的幾何信息.將輸入特征與對(duì)齊特征進(jìn)行連接作為標(biāo)準(zhǔn)KPConv[70]的輸入進(jìn)行卷積操作輸出最終特征.這種變換的原理是只要LRF 是旋轉(zhuǎn)等變的,對(duì)應(yīng)的特征是旋轉(zhuǎn)不變的,這個(gè)對(duì)齊卷積的輸出就是旋轉(zhuǎn)不變的.然后,設(shè)計(jì)了一個(gè)多對(duì)齊模塊(multi-alignment module),假設(shè)每個(gè)輸入點(diǎn)都有多個(gè)旋轉(zhuǎn)等變LRFs,通過(guò)在每個(gè)LRF 上使用對(duì)齊卷積運(yùn)算以獲得一組對(duì)齊輸入,采用核相關(guān)性為每個(gè)對(duì)齊輸入聚合核點(diǎn)上的特征,連接起來(lái)使用卷積核,有效地聚合來(lái)自不同對(duì)齊的信息,而不同于KPConv[70]為每個(gè)對(duì)齊輸入使用單獨(dú)的卷積核.但由于使用了不變性特征而減少了卷積必須學(xué)習(xí)的形狀多樣性,這可能會(huì)降低網(wǎng)絡(luò)的學(xué)習(xí)能力和魯棒性.
Table 1 Comparison of Network Structures and Performance on PCNN and SPHNet表1 PCNN 與SPHNet 的網(wǎng)絡(luò)結(jié)構(gòu)與性能對(duì)比
Fig.10 Chronological overview of point-based convolution methods圖10 基于點(diǎn)的卷積方法概覽
綜上所述,類(lèi)似于文獻(xiàn)[3]中對(duì)點(diǎn)云任務(wù)的各個(gè)深度學(xué)習(xí)方法進(jìn)行的較為直觀的列舉方法,本文按照時(shí)間順序?qū)F(xiàn)有的基于點(diǎn)的卷積算子(如圖10(a)所示)及其對(duì)應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)(如圖10(b)所示)進(jìn)行了整理與匯總.同時(shí),本文為這些基于點(diǎn)的卷積算子搭建了一套獨(dú)特的分類(lèi)體系,如圖11 所示.此外,我們還將其所對(duì)應(yīng)的卷積網(wǎng)絡(luò)進(jìn)行了分類(lèi)整理,如表2所示,并對(duì)各個(gè)方法的優(yōu)缺點(diǎn)進(jìn)行了總結(jié).與離散卷積方法相比,連續(xù)卷積方法更適合捕捉3D 點(diǎn)云的局部幾何特征.綜合分析對(duì)比連續(xù)卷積的2 個(gè)策略,可以得出,有時(shí)候使用參數(shù)化表示會(huì)使卷積算子更加復(fù)雜,待訓(xùn)練參數(shù)較多,學(xué)習(xí)效率低下,網(wǎng)絡(luò)的收斂性也更加困難,還容易出現(xiàn)過(guò)擬合,適應(yīng)性較差.而使用幾何特征可以保留物體最初的形狀信息,但一些引入虛擬點(diǎn)或空間會(huì)消耗內(nèi)存,其位置選取對(duì)網(wǎng)絡(luò)的最終性能有著至關(guān)重要的影響,根據(jù)一些先驗(yàn)信息或規(guī)則預(yù)定義虛擬信息也一定程度上限制了網(wǎng)絡(luò)的靈活性,導(dǎo)致性能會(huì)有所降低,可能需要針對(duì)不同的數(shù)據(jù)集或主干架構(gòu)進(jìn)行專(zhuān)門(mén)優(yōu)化.
卷積網(wǎng)絡(luò)應(yīng)用在點(diǎn)云處理任務(wù)上的性能會(huì)在第3 節(jié)中重點(diǎn)進(jìn)行分析對(duì)比.
Fig.11 Classification of point-based convolution operators圖11 基于點(diǎn)的卷積算子分類(lèi)
Table 2 Classification and Comparison of Point-Based Convolution Methods表2 基于點(diǎn)的卷積方法分類(lèi)與對(duì)比
本文根據(jù)卷積運(yùn)算的類(lèi)型(即離散卷積和連續(xù)卷積)對(duì)各個(gè)點(diǎn)卷積算子及其對(duì)應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了分類(lèi)與整理.同時(shí),本文將圍繞這些卷積方法進(jìn)一步分析卷積算子的原理,對(duì)比分析基于點(diǎn)云的卷積網(wǎng)絡(luò)在分類(lèi)與分割等具體任務(wù)中的性能,最后進(jìn)行總結(jié)及對(duì)未來(lái)相關(guān)研究的展望.
本文跟蹤了點(diǎn)云領(lǐng)域最新的研究進(jìn)展,并在前人工作的基礎(chǔ)上進(jìn)行了補(bǔ)充完善和深入挖掘.首先,在算法內(nèi)容上,本文將重點(diǎn)聚焦在基于3D 點(diǎn)云的卷積運(yùn)算方法上,并且添加了最近提出的基于點(diǎn)云的卷積新方法,總結(jié)了30 多種應(yīng)用于點(diǎn)云上的卷積運(yùn)算和卷積網(wǎng)絡(luò),并對(duì)其進(jìn)行了更深入地調(diào)研和更詳細(xì)地展開(kāi),同時(shí)深入挖掘了各個(gè)卷積運(yùn)算和卷積網(wǎng)絡(luò)之間的區(qū)別與聯(lián)系.根據(jù)3D 點(diǎn)云數(shù)據(jù)處理方式,將它們分為2 類(lèi):離散卷積和連續(xù)卷積.關(guān)于離散卷積,細(xì)分為針對(duì)點(diǎn)的排列不變性進(jìn)行的卷積運(yùn)算和針對(duì)點(diǎn)的幾何特性進(jìn)行的卷積運(yùn)算;關(guān)于連續(xù)卷積,細(xì)分為添加虛擬化輔助信息后進(jìn)行卷積運(yùn)算和參數(shù)化核函數(shù)后進(jìn)行卷積運(yùn)算.與以上綜述[47-53]相比,本文從學(xué)習(xí)方法的角度而非點(diǎn)云任務(wù)的角度來(lái)探討現(xiàn)有文獻(xiàn)如何對(duì)在點(diǎn)云上的卷積運(yùn)算和卷積網(wǎng)絡(luò)進(jìn)行設(shè)計(jì),從而進(jìn)行更充分的特征提取,使得其更好地服務(wù)于下游的特定任務(wù),包括點(diǎn)云分類(lèi)和分割.其次,在應(yīng)用內(nèi)容上,本文歸納了基于點(diǎn)的卷積神經(jīng)網(wǎng)絡(luò)的基本框架,并在此基礎(chǔ)上整理了現(xiàn)有研究中分類(lèi)和分割網(wǎng)絡(luò)的具體網(wǎng)絡(luò)結(jié)構(gòu),此外還增加了對(duì)常見(jiàn)的真實(shí)場(chǎng)景數(shù)據(jù)集的介紹與對(duì)比工作.最后,在未來(lái)研究方向上,本文在基于3D 點(diǎn)云的卷積運(yùn)算技術(shù)評(píng)述的基礎(chǔ)上,對(duì)點(diǎn)云領(lǐng)域未來(lái)研究方向進(jìn)行了展望并給出各類(lèi)技術(shù)的參考性?xún)r(jià)值.
針對(duì)第2 節(jié)提出的關(guān)鍵要求3),本文綜述的各類(lèi)研究工作的思路一般包括3 步:首先將其提出的點(diǎn)云卷積算子集成到分類(lèi)或分割網(wǎng)絡(luò)框架中;然后將各個(gè)集成后的網(wǎng)絡(luò)應(yīng)用到點(diǎn)云分類(lèi)、分割等任務(wù)中進(jìn)行實(shí)驗(yàn)分析;最后根據(jù)實(shí)驗(yàn)結(jié)果通過(guò)對(duì)比集成后的網(wǎng)絡(luò)與原始網(wǎng)絡(luò)的性能來(lái)進(jìn)一步驗(yàn)證所提出的點(diǎn)云卷積算子的有效性和優(yōu)越性.鑒于點(diǎn)云分類(lèi)、分割任務(wù)是3D 目標(biāo)檢測(cè)與跟蹤、3D 場(chǎng)景重建與理解等更復(fù)雜且重要的下游任務(wù)的基礎(chǔ),在本節(jié)中,我們選取4 個(gè)常見(jiàn)點(diǎn)云任務(wù)來(lái)進(jìn)一步分析研究,如表3 所示,通過(guò)對(duì)比各個(gè)點(diǎn)云任務(wù)的結(jié)果來(lái)分析由不同點(diǎn)云卷積算子集成后的網(wǎng)絡(luò)的性能,從原理上挖掘卷積方法取得相對(duì)較優(yōu)結(jié)果的原因,深入探索各個(gè)卷積運(yùn)算的優(yōu)劣,從而給出一些對(duì)未來(lái)更深入研究的建議與啟發(fā).
大多數(shù)研究工作中涉及到的分類(lèi)與分割網(wǎng)絡(luò)的基礎(chǔ)框架與2D 圖像的卷積神經(jīng)網(wǎng)絡(luò)框架相似,如圖12 所示,其中,類(lèi)似于LeNet-5[6]的分類(lèi)網(wǎng)絡(luò),首先經(jīng)過(guò)包含1 個(gè)或多個(gè)串聯(lián)的卷積層的編碼器對(duì)點(diǎn)云進(jìn)行特征提取和變換,采用不同的卷積算子以逐層提取輸入點(diǎn)的特征,點(diǎn)的數(shù)量逐漸減少,點(diǎn)特征的維度逐漸增多;然后再經(jīng)過(guò)包含1 個(gè)或多個(gè)全連接層的分類(lèi)器(classifier)對(duì)點(diǎn)云進(jìn)行歸類(lèi),最終得到分類(lèi)結(jié)果.類(lèi)似于U-Net[9]的分割網(wǎng)絡(luò),是一個(gè)具有跨層連接(skip connections)的編碼器-解碼器(encoderdecoder)體系結(jié)構(gòu).分割網(wǎng)絡(luò)與分類(lèi)網(wǎng)絡(luò)共享同一個(gè)編碼器,主要用于特征提?。╢eature extraction),經(jīng)過(guò)編碼器中的卷積層提取到的特征稱(chēng)作局部特征,包括了每個(gè)點(diǎn)特征和點(diǎn)之間的關(guān)系特征.解碼器主要用于特征傳播(feature propagation),由于分割任務(wù)是逐點(diǎn)的標(biāo)簽預(yù)測(cè),所以需要將特征輸入到解碼器中,經(jīng)過(guò)反卷積層或者其他操作(如插值、池化)進(jìn)行特征擴(kuò)展使得點(diǎn)云達(dá)到原始分辨率,點(diǎn)的數(shù)量逐漸增多,點(diǎn)特征的維度逐漸減少,得到的特征稱(chēng)作全局特征.最終將局部特征和全局特征逐層連接起來(lái),就可以得到用于分割任務(wù)的全部信息,同一個(gè)集合的點(diǎn)具有相似或相同的屬性和標(biāo)簽,因此要?dú)w為同類(lèi)(即物體上的某一個(gè)部件或場(chǎng)景中的某一類(lèi)物體).需要注意的是圖12 的網(wǎng)絡(luò)框架圖只包含了網(wǎng)絡(luò)的最主要部分,即卷積層(convolutional layer)(該層是各個(gè)網(wǎng)絡(luò)的核心,與所使用的卷積算子有關(guān),內(nèi)部結(jié)構(gòu)均不相同)、反卷積層(deconvolutional layer)、全連接層(full connection layer),其余的如池化層(pooling layer)、上采樣層(upsampling layer)、插值層(interpolation layer)、批歸一化層(batch normalization layer)、激活函數(shù)層(activation layer)等,在具體網(wǎng)絡(luò)具體涉及到的層數(shù)和連接順序均有所不同,具體網(wǎng)絡(luò)結(jié)構(gòu)如表4 所示.
Table 3 Point Cloud Tasks and Their Basic Frameworks表3 點(diǎn)云任務(wù)及其基礎(chǔ)網(wǎng)絡(luò)框架
Fig.12 Basic frameworks of point-based CNNs圖12 基于點(diǎn)的CNNs 的基本框架
第2 節(jié)中總結(jié)的基于點(diǎn)云的卷積算子大多是即插即用的,在不改變其他原始的網(wǎng)絡(luò)配置(如網(wǎng)絡(luò)層數(shù)、特征通道數(shù))的情況下,將某個(gè)卷積算子(***Conv)嵌入到經(jīng)典的點(diǎn)云任務(wù)網(wǎng)絡(luò)中,以評(píng)估該算子的有效性并最大程度地減少?gòu)?fù)雜網(wǎng)絡(luò)架構(gòu)的影響.關(guān)于這些網(wǎng)絡(luò),它們統(tǒng)一的訓(xùn)練流程大致如圖13所示,其中,最重要的部分就是集成了特定卷積算子的卷積層作為特征提取模塊,特征提取不充分將嚴(yán)重影響點(diǎn)云分類(lèi)和分割任務(wù)的精度.
接下來(lái),本文重點(diǎn)對(duì)比分析了形狀分類(lèi)、部件分割、語(yǔ)義分割、法線(xiàn)估計(jì)這4 個(gè)具體任務(wù)中各個(gè)網(wǎng)絡(luò)的性能.需要注意的是,由于部分論文代碼未開(kāi)源,無(wú)法在同一個(gè)實(shí)驗(yàn)設(shè)備、相同網(wǎng)絡(luò)參數(shù)的情況下一一復(fù)現(xiàn)本文綜述的所有卷積方法,我們借鑒了近些年來(lái)的大多數(shù)綜述論文(如文獻(xiàn)[3])的結(jié)果處理方式,提取各個(gè)論文中給出的對(duì)比結(jié)果并進(jìn)行了歸納總結(jié).因此,這里的實(shí)驗(yàn)結(jié)果僅考慮了在相同評(píng)價(jià)指標(biāo)和相同數(shù)據(jù)集的前提下進(jìn)行對(duì)比分析.由于各個(gè)研究工作所使用的軟硬件條件和實(shí)驗(yàn)環(huán)境可能各不相同,卷積算子所集成的基礎(chǔ)網(wǎng)絡(luò)框架也各不相同,最終的性能對(duì)比結(jié)果的準(zhǔn)確性也會(huì)有所影響,最終得到的結(jié)果也屬于相對(duì)較優(yōu)值而非絕對(duì)最優(yōu),其他具體情況還需進(jìn)一步具體分析.
Table 4 The Specific Network Structures of Classification and Segmentation Networks in Existing Research表4 現(xiàn)有研究中分類(lèi)和分割網(wǎng)絡(luò)的具體網(wǎng)絡(luò)結(jié)構(gòu)
參考關(guān)于深度學(xué)習(xí)在點(diǎn)云上的研究綜述[3],本文整理了相關(guān)的用于3D 點(diǎn)云形狀分類(lèi)任務(wù)的數(shù)據(jù)集和評(píng)估指標(biāo),并在此基礎(chǔ)上,對(duì)各個(gè)卷積網(wǎng)絡(luò)的性能進(jìn)行了對(duì)比分析.
Fig.13 The training flow of point-based CNNs圖13 基于點(diǎn)的CNNs 訓(xùn)練流程
1)數(shù)據(jù)集.為了測(cè)試不同的卷積運(yùn)算在3D 點(diǎn)云形狀分類(lèi)任務(wù)中的結(jié)果,現(xiàn)有研究工作使用的公開(kāi)數(shù)據(jù)集主要是合成數(shù)據(jù)集(synthetic datasets)——ModelNet10/40(2015)[89].ModelNet 數(shù)據(jù)集包含了來(lái)自662 個(gè)類(lèi)的127 915 個(gè)3D目標(biāo)物體,其子集ModelNet10 包含了來(lái)自10 個(gè)類(lèi)的4 899 個(gè)目標(biāo)物體,ModelNet40 包含了來(lái)自40 個(gè)類(lèi)的12 311 個(gè)目標(biāo)物體.數(shù)據(jù)集中的目標(biāo)物體是完整的,沒(méi)有任何遮擋和背景噪聲的影響.注意:由于在ModelNet10 數(shù)據(jù)集上進(jìn)行分類(lèi)實(shí)驗(yàn)的研究工作數(shù)量較少,這里忽略不計(jì),僅對(duì)比在ModelNet40 數(shù)據(jù)集上的結(jié)果.
2)評(píng)價(jià)指標(biāo).為了評(píng)估這些卷積運(yùn)算在3D 點(diǎn)云形狀分類(lèi)任務(wù)中的性能,現(xiàn)有論文提出了不同的分類(lèi)網(wǎng)絡(luò)性能評(píng)價(jià)指標(biāo),常用指標(biāo)為:
①總精度(overall accuracy,OA).被正確分類(lèi)的類(lèi)別數(shù)與總類(lèi)別數(shù)之間的比值.該值雖然能很好地表征總體分類(lèi)精度,但對(duì)類(lèi)別個(gè)數(shù)較多且不平衡的數(shù)據(jù)集來(lái)說(shuō)影響較大.
②平均類(lèi)精度(mean class accuracy,mAcc).每個(gè)形狀類(lèi)別內(nèi)的被正確分類(lèi)的個(gè)數(shù)與總個(gè)數(shù)之間的比值.該值適用于類(lèi)別個(gè)數(shù)較多且不平衡的數(shù)據(jù)集,可以表征各自類(lèi)別的分類(lèi)精度.
3)對(duì)比結(jié)果.表5 列舉了各個(gè)研究工作中的點(diǎn)云分類(lèi)網(wǎng)絡(luò)在形狀分類(lèi)任務(wù)上的性能并進(jìn)行了結(jié)果對(duì)比,主要包括輸入類(lèi)型(點(diǎn)坐標(biāo)P/法向量N)和2 個(gè)評(píng)價(jià)指標(biāo)在ModelNet40 數(shù)據(jù)集上的結(jié)果.為了更全面地對(duì)比各個(gè)卷積網(wǎng)絡(luò)的性能,表5 中除了列舉了基于點(diǎn)的卷積網(wǎng)絡(luò)外,還列舉了引言中提到的一些其他的有代表性的方法,包括先驅(qū)工作PointNet[4]和PointNet++[5]、基于投影的方法ACNN[14]和A-CNN[16]、基于體素的方法3DmFV-Net[23]、基于晶格的方法SFCNN[26]、基于圖的方法SPH3D-GCN[43].
4)結(jié)果分析.OA 值是針對(duì)整個(gè)數(shù)據(jù)集的全體數(shù)據(jù)來(lái)說(shuō)的(不區(qū)分類(lèi)別),而mAcc值則是先計(jì)算每一個(gè)類(lèi)別的準(zhǔn)確率,再取平均值.當(dāng)每個(gè)類(lèi)別的數(shù)據(jù)量相等時(shí),則OA值等同于mAcc值;反之,OA值主要受數(shù)據(jù)量相對(duì)較大的類(lèi)別的準(zhǔn)確率影響,mAcc值則主要受數(shù)據(jù)量相對(duì)較小的類(lèi)別的準(zhǔn)確率影響.也可以認(rèn)為OA值和mAcc值的差別在于對(duì)每種類(lèi)別的準(zhǔn)確率其權(quán)重不同,OA值是根據(jù)該類(lèi)別數(shù)據(jù)量與總數(shù)據(jù)量比值率確定權(quán)重,而mAcc值是平均分配.通過(guò)分析這2 個(gè)評(píng)價(jià)指標(biāo)的區(qū)別,我們可以得出,并不是OA值最優(yōu)的網(wǎng)絡(luò)其mAcc值就一定也是最優(yōu)的,二者的側(cè)重點(diǎn)是不同的,因此,本文通過(guò)單獨(dú)對(duì)比各個(gè)網(wǎng)絡(luò)的OA值和mAcc值并找到各自指標(biāo)下相對(duì)較優(yōu)值,對(duì)其進(jìn)行原理上對(duì)某些方法取得較優(yōu)結(jié)果的原因進(jìn)行深入探索.
Table 5 Comparison Results of Classification Networks'Performances on the ModelNet40 Dataset表5 分類(lèi)網(wǎng)絡(luò)性能在ModelNet40數(shù)據(jù)集上的對(duì)比結(jié)果%
對(duì)比各個(gè)網(wǎng)絡(luò)的OA值可以得出目前相對(duì)較優(yōu)的網(wǎng)絡(luò)是PACNN[74],這是由于卷積算子的靈活性和網(wǎng)絡(luò)架構(gòu)的簡(jiǎn)潔性,首先構(gòu)造了一個(gè)可學(xué)習(xí)的卷積權(quán)重庫(kù),其次將即插即用的卷積算子PAConv 直接集成到一些經(jīng)典點(diǎn)云網(wǎng)絡(luò)架構(gòu),包括PointNet[4]、PointNet++[5]、DGCNN[39]中,分別替換原先編碼器中的MLP 和EdgeConv,而不更改原有的網(wǎng)絡(luò)配置,最大程度地減少了復(fù)雜網(wǎng)絡(luò)架構(gòu)的影響,使得PAConv的有效性大大提升.同樣,OA值僅次于PACNN 的SPCNN[73]也定義了一個(gè)可學(xué)習(xí)的卷積權(quán)重池,網(wǎng)絡(luò)也類(lèi)似于PointNet++[5].且二者均采用自適應(yīng)學(xué)習(xí)的方式,即選擇合適的基本權(quán)重矩陣和通過(guò)3D 空間中點(diǎn)的位置關(guān)系學(xué)習(xí)得到的相關(guān)系數(shù)向量來(lái)構(gòu)造卷積核,以更好地處理不規(guī)則和無(wú)序的點(diǎn)云數(shù)據(jù).不同之處在于,PAConv 采用了一個(gè)分?jǐn)?shù)網(wǎng)絡(luò)來(lái)學(xué)習(xí),而SPConv 通過(guò)構(gòu)造幾何引導(dǎo)的索引映射函數(shù)來(lái)實(shí)現(xiàn).相比于PACNN、SPCNN 的結(jié)果較差的原因可能還因?yàn)槠渚W(wǎng)絡(luò)層次相對(duì)較深,構(gòu)造了一個(gè)具有多層次結(jié)構(gòu)的卷積網(wǎng)絡(luò),因此復(fù)雜網(wǎng)絡(luò)架構(gòu)雖然降低了其性能但影響不大.在今后的研究中可以選擇將PAConv或SPConv 集成到其他任務(wù)網(wǎng)絡(luò)中以幫助提升結(jié)果的準(zhǔn)確性和高效性.
類(lèi)似地,對(duì)比各個(gè)網(wǎng)絡(luò)的mAcc值可以得出目前相對(duì)較優(yōu)的網(wǎng)絡(luò)是DPCNN[64],這是由于該空洞點(diǎn)卷積顯著增加了點(diǎn)卷積的感受野大小,其所涉及的空洞機(jī)制也可以很容易地集成到大多數(shù)現(xiàn)有的點(diǎn)卷積網(wǎng)絡(luò)中.空洞卷積通過(guò)動(dòng)態(tài)調(diào)整空洞率,在不丟失空間分辨率的情況下擴(kuò)大卷積感受野,由此獲得多尺度信息.在未來(lái)的研究工作中,在此基礎(chǔ)上通過(guò)引入空洞率隨網(wǎng)絡(luò)深度增加而增大的動(dòng)態(tài)空洞點(diǎn)卷積來(lái)進(jìn)一步討論卷積網(wǎng)絡(luò)性能也可能是一個(gè)更有研究?jī)r(jià)值的方向,這樣的網(wǎng)絡(luò)可以在初期學(xué)習(xí)局部特征,在后期學(xué)習(xí)更高級(jí)別的信息.
根據(jù)分割粒度可以將點(diǎn)云的分割任務(wù)分為部件級(jí)的部件分割、對(duì)象級(jí)的實(shí)例分割、場(chǎng)景級(jí)的語(yǔ)義分割[3],3 者之間的區(qū)別示例如圖14 所示(來(lái)源:ShapeNet 數(shù)據(jù)集、S3DIS 數(shù)據(jù)集、SemanticKITTI 數(shù)據(jù)集).
Fig.14 Comparison of point cloud segmentation tasks圖14 點(diǎn)云分割任務(wù)對(duì)比
具體來(lái)說(shuō),點(diǎn)云語(yǔ)義分割是根據(jù)點(diǎn)的語(yǔ)義信息把點(diǎn)云劃分為若干個(gè)特定的、具有獨(dú)特性質(zhì)的子區(qū)域并識(shí)別出點(diǎn)云內(nèi)容打上類(lèi)別標(biāo)簽的任務(wù).不區(qū)分不同的目標(biāo),也就是將相同類(lèi)別的不同目標(biāo)歸為同一個(gè)標(biāo)簽.與語(yǔ)義分割相比,點(diǎn)云實(shí)例分割更具挑戰(zhàn)性,它需要更精確和細(xì)粒度的點(diǎn)推理,不僅需要區(qū)分具有不同語(yǔ)義信息的點(diǎn),而且需要區(qū)分具有相同語(yǔ)義信息的實(shí)例,也就是識(shí)別并區(qū)分出各個(gè)目標(biāo),歸為不同的標(biāo)簽.部件分割則是區(qū)分某個(gè)實(shí)例的各個(gè)部位并打上不同的類(lèi)別標(biāo)簽的任務(wù).
但由于實(shí)例分割任務(wù)在應(yīng)用較少,這里不再對(duì)場(chǎng)景級(jí)的點(diǎn)云實(shí)例分割任務(wù)作進(jìn)一步的分析對(duì)比研究.同樣,參考關(guān)于深度學(xué)習(xí)在點(diǎn)云上的研究綜述[3],本文分別整理了相關(guān)的用于3D 點(diǎn)云部件分割與語(yǔ)義分割任務(wù)的數(shù)據(jù)集和評(píng)估指標(biāo),并在此基礎(chǔ)上對(duì)各個(gè)卷積網(wǎng)絡(luò)的性能進(jìn)行了對(duì)比分析.
3.3.1 部件分割
1)數(shù)據(jù)集.為了測(cè)試不同的卷積運(yùn)算在3D 點(diǎn)云部件分割任務(wù)中的結(jié)果,現(xiàn)有研究工作均使用了ShapeNet(2015)[90]這一合成數(shù)據(jù)集.ShapeNet 數(shù)據(jù)集包含了約300 萬(wàn)個(gè)3D 目標(biāo)物體,其子集ShapeNetCore包含了來(lái)自55 個(gè)類(lèi)的51 300 個(gè)目標(biāo)物體.
2)評(píng)價(jià)指標(biāo).為了評(píng)估這些卷積運(yùn)算在3D 點(diǎn)云分割任務(wù)中的性能,現(xiàn)有研究工作提出的評(píng)價(jià)指標(biāo)主要是均交并比(mean intersection over union,mIoU).在每個(gè)類(lèi)上計(jì)算交集和并集之比的平均值即為類(lèi)均交并比(class mIoU);在每個(gè)實(shí)例上計(jì)算交集和并集之比的平均值即為實(shí)例均交并比(instance mIoU).
3)對(duì)比結(jié)果.表6 列舉了各個(gè)研究工作中的點(diǎn)云分割網(wǎng)絡(luò)在部件分割任務(wù)上的性能并進(jìn)行了結(jié)果對(duì)比,包括輸入類(lèi)型(圖像I/點(diǎn)坐標(biāo)P/法向量N)和2 個(gè)評(píng)價(jià)指標(biāo)在ShapeNet 數(shù)據(jù)集上的結(jié)果.為了更全面地對(duì)比各個(gè)卷積網(wǎng)絡(luò)的性能,表6 中除了列舉了基于點(diǎn)的卷積網(wǎng)絡(luò)外,還列舉了引言中提到的一些其他的有代表性的方法,包括先驅(qū)工作PointNet[4],基于投影的方法A-CNN[16],基于體素的方法SparseConvNet[20]和PVCNN[22],基于晶格的方法SPLATNet3D[25]、SPLATNet2D-3D[25]和SFCNN[26],基于圖的方法SPH3D-GCN[43].
4)結(jié)果分析.部件分割任務(wù)最大的難點(diǎn)就是具有相同語(yǔ)義標(biāo)簽的實(shí)例具有較大的幾何變化和模糊性.對(duì)比各個(gè)網(wǎng)絡(luò)的class mIoU 值,可以得出目前相對(duì)較優(yōu)的網(wǎng)絡(luò)是Ψ-CNN[61],其所使用的卷積算子Spherical Convolution 是目前性能較好的.Ψ-CNN[61]著重研究分析了不同的點(diǎn)局部鄰域搜索策略.顯然,對(duì)于不同結(jié)構(gòu)的點(diǎn)云,應(yīng)該采取不同的點(diǎn)局部鄰域搜索策略,例如球查詢(xún)、K近鄰、樹(shù)結(jié)構(gòu)(kdtree,octree).相比之下,球查詢(xún)、K近鄰是直觀的、簡(jiǎn)單的,但對(duì)于點(diǎn)數(shù)更多的輸入點(diǎn)云,樹(shù)結(jié)構(gòu)顯然是更有效的,因?yàn)辄c(diǎn)的局部鄰域信息更容易獲得,這就提升了Ψ-CNN[61]的計(jì)算效率.如果點(diǎn)云是稀疏的,分布很廣泛且沒(méi)有規(guī)律可循,如某個(gè)真實(shí)場(chǎng)景,kdtree 能更好地劃分物體與背景,而octree 則很難決定最小立方體的尺寸應(yīng)該是多少,太大則一個(gè)立方體里可能有很多不同標(biāo)簽的點(diǎn)云,太小則可能立方體之間關(guān)聯(lián)不起來(lái).如果點(diǎn)云分布非常規(guī)整且聚集,如某個(gè)特定物體,則octree更容易求解凸包,并且點(diǎn)與點(diǎn)之間相對(duì)距離無(wú)需再次比對(duì)父節(jié)點(diǎn)和子節(jié)點(diǎn),更加明晰.因此,Ψ-CNN[61]這一基于八叉樹(shù)結(jié)構(gòu)的網(wǎng)絡(luò),可以更高效地探索物體各個(gè)部件的幾何信息和幾何變化,具有相對(duì)更優(yōu)的網(wǎng)絡(luò)性能和對(duì)比結(jié)果.
Table 6 Comparison Results of Part Segmentation Networks' Performances on the ShapeNet Dataset表6 部件分割網(wǎng)絡(luò)性能在ShapeNet數(shù)據(jù)集上的對(duì)比結(jié)果%
類(lèi)似地,對(duì)比各個(gè)網(wǎng)絡(luò)的instance mIoU 值,可以發(fā)現(xiàn),基于圖的方法SPH3D-GCN[43]要普遍優(yōu)于其他方法,這是由于離散核、可分離球卷積和基于圖的體系結(jié)構(gòu)的結(jié)合增加了該方法的可擴(kuò)展性和靈活性,增加了網(wǎng)絡(luò)的性能.其中,采用不同的離散核可以識(shí)別相同鄰域的不同特征;引用可分離球卷積策略分別執(zhí)行深度卷積運(yùn)算和點(diǎn)卷積運(yùn)算,顯著減少了網(wǎng)絡(luò)的參數(shù)數(shù)量和計(jì)算成本;使用更靈活的基于圖的體系結(jié)構(gòu)設(shè)計(jì)網(wǎng)絡(luò)架構(gòu),保證了網(wǎng)絡(luò)在更接近標(biāo)準(zhǔn)CNN 的同時(shí)還能更好地處理大規(guī)模點(diǎn)云數(shù)據(jù),計(jì)算效率較高.因此,除了直接處理離散點(diǎn)數(shù)據(jù)的卷積網(wǎng)絡(luò),處理圖數(shù)據(jù)的卷積網(wǎng)絡(luò)也是研究人員傾向于深入研究的方向.此外,KP-CNN[70]是基于點(diǎn)的卷積方法中相對(duì)較優(yōu)的,其中,可變形KPConv 的性能較剛性KPConv 的性能要稍好一些,這是由于可變形KPConv具有更強(qiáng)大的點(diǎn)特征描述能力以及可學(xué)習(xí)性.
3.3.2 語(yǔ)義分割
1)數(shù)據(jù)集.語(yǔ)義分割一般用于真實(shí)場(chǎng)景中進(jìn)行場(chǎng)景與物體之間的分割任務(wù),將目標(biāo)與背景之間進(jìn)行分割.現(xiàn)有的較為常用的真實(shí)場(chǎng)景數(shù)據(jù)集(realworld datasets)均是由不同類(lèi)型傳感器獲取得到的.這里列舉并比較了4 個(gè)在點(diǎn)云分割任務(wù)研究中使用較多的真實(shí)場(chǎng)景數(shù)據(jù)集,如表7 所示.與合成數(shù)據(jù)集不同的是,這類(lèi)數(shù)據(jù)集由于傳感器本身固有的物理特性限制、掃描過(guò)程中的路線(xiàn)或位置限制(如建筑物的頂部),最終得到的點(diǎn)云會(huì)有不同程度的遮擋、空洞和噪聲,因此訓(xùn)練和測(cè)試的難度較合成數(shù)據(jù)集來(lái)說(shuō)要大很多,是極具挑戰(zhàn)性的.
2)評(píng)價(jià)指標(biāo).為了評(píng)估這些卷積運(yùn)算在3D 點(diǎn)云分割任務(wù)中的性能,現(xiàn)有論文提出了不同的評(píng)價(jià)指標(biāo),常用的性能指標(biāo)主要包括OA和class mIoU.
Table 7 Common Real-World Datasets表7 常見(jiàn)的真實(shí)場(chǎng)景數(shù)據(jù)集
3)對(duì)比結(jié)果.表8 列舉了各個(gè)研究工作的點(diǎn)云分割網(wǎng)絡(luò)在不同數(shù)據(jù)集的語(yǔ)義分割任務(wù)上的2 個(gè)評(píng)價(jià)指標(biāo)的對(duì)比結(jié)果,由于在SemanticKITTI 數(shù)據(jù)集上的結(jié)果較少,故這里不展開(kāi)分析.同樣,為了更全面地對(duì)比各個(gè)卷積網(wǎng)絡(luò)的性能,表8 中除了列舉了基于點(diǎn)的卷積網(wǎng)絡(luò)外,還列舉了引言中提到的一些其他的有代表性的方法,包括先驅(qū)工作PointNet[4]和PointNet++[5]、基于投影的方法A-CNN[16]、基于體素的方法PVCNN 和PVCNN++[22]、基于圖的方法SPH3DGCN[43].
4)結(jié)果分析.從表8 中可以看出,HIGCNN[67]在室內(nèi)數(shù)據(jù)集S3DIS 和室外數(shù)據(jù)集SemanticKITTI 上均取得了相對(duì)較優(yōu)的class mIoU值,該網(wǎng)絡(luò)最顯著的特點(diǎn)是輕量級(jí),采用較少的參數(shù),消耗較低的計(jì)算成本和內(nèi)存成本,充分挖掘點(diǎn)云的細(xì)粒度幾何特征,自適應(yīng)地進(jìn)行特征選擇,增強(qiáng)有用的結(jié)構(gòu)特征和抑制無(wú)用的噪聲特征,在保證獲得更好性能的同時(shí)復(fù)雜度更低、準(zhǔn)確性更高.
卷積算子ConvPoint[76]在室內(nèi)數(shù)據(jù)集S3DIS 和室外數(shù)據(jù)集Semantic3D 上均取得了相對(duì)較優(yōu)的OA值,該卷積方法是稀疏化和非結(jié)構(gòu)化數(shù)據(jù)在離散卷積上的推廣方法,具有靈活性和計(jì)算效率高的特點(diǎn),其中,各個(gè)點(diǎn)和卷積核元素之間的幾何關(guān)系是相對(duì)的,由此降低了對(duì)輸入點(diǎn)云大小的敏感性,可以構(gòu)建各種網(wǎng)絡(luò)體系結(jié)構(gòu).
此外,KP-CNN[70]在室內(nèi)數(shù)據(jù)集ScanNet 上取得了相對(duì)較優(yōu)的class mIoU值,在室外數(shù)據(jù)集Semantic3D上取得了次優(yōu)的class mIoU值.從數(shù)據(jù)集上來(lái)看,這些真實(shí)場(chǎng)景數(shù)據(jù)集中的3D 場(chǎng)景范圍較大,因而無(wú)法作為一個(gè)整體進(jìn)行分割任務(wù).而KP-CNN[70]采用隨機(jī)選取的球體來(lái)將一個(gè)整體場(chǎng)景點(diǎn)云分割成多個(gè)子云(subclouds),確保每個(gè)點(diǎn)都由不同的球體預(yù)測(cè)多次,這就保證了每個(gè)點(diǎn)的預(yù)測(cè)概率是平均的.通過(guò)計(jì)算每個(gè)輸入點(diǎn)對(duì)不同位置的KPConv 層輸出結(jié)果影響相對(duì)于輸入點(diǎn)特征的梯度,即有效感受野(effective receptive field,ERF),可以發(fā)現(xiàn),剛性KPConv 的ERF對(duì)每種類(lèi)型的對(duì)象都有相對(duì)一致的度量范圍,而可變形KPConv 的ERF 具有更強(qiáng)的自適應(yīng)性,可以適應(yīng)不同類(lèi)型對(duì)象的大小,提高了網(wǎng)絡(luò)適應(yīng)場(chǎng)景的幾何結(jié)構(gòu)的能力,并能夠從場(chǎng)景中獲取更多的細(xì)節(jié)信息,其在室內(nèi)數(shù)據(jù)集S3DIS 上具有更好的性能.然而在更具多樣性對(duì)象更豐富的室內(nèi)數(shù)據(jù)集ScanNet 和室外數(shù)據(jù)集Semantic3D 上,剛性KPConv 的性能較可變形KPConv 的性能要稍好一些,這是由于可變形KPConv在提升了點(diǎn)特征描述能力的同時(shí)會(huì)增加整個(gè)網(wǎng)絡(luò)的復(fù)雜性,可能會(huì)干擾網(wǎng)絡(luò)的收斂或?qū)е逻^(guò)擬合.
Table 8 Comparison Results of Semantic Segmentation Networks' Performances表8 語(yǔ)義分割網(wǎng)絡(luò)性能對(duì)比結(jié)果 %
表面法線(xiàn)是3D 點(diǎn)云的重要屬性之一,在很多領(lǐng)域都有大量應(yīng)用,例如,在進(jìn)行光照渲染時(shí)產(chǎn)生符合可視習(xí)慣的效果時(shí)需要表面法線(xiàn)信息才能正常進(jìn)行.大部分點(diǎn)云任務(wù)的處理也都要用到法線(xiàn),包括點(diǎn)云平滑濾波、點(diǎn)云配準(zhǔn)、點(diǎn)云曲率計(jì)算等.此外,估計(jì)一個(gè)點(diǎn)云的表面法線(xiàn)是3D 重建任務(wù)的一部分[85],性能優(yōu)劣將直接影響到后續(xù)的重建結(jié)果.
表面法線(xiàn)估計(jì)任務(wù)可以看作是一個(gè)有監(jiān)督的回歸問(wèn)題,近似于估計(jì)表面某個(gè)相切面的法線(xiàn),需要對(duì)每個(gè)點(diǎn)進(jìn)行預(yù)測(cè).因此,也可以通過(guò)改變點(diǎn)云分割網(wǎng)絡(luò)的一些超參數(shù)來(lái)適應(yīng)這項(xiàng)任務(wù).
本文將涉及法線(xiàn)估計(jì)的研究工作進(jìn)行了對(duì)比分析,結(jié)果如表9 所示,采用的數(shù)據(jù)集是ModelNet40[89],對(duì)比的性能指標(biāo)是余弦損失(cosine loss).同樣,為了更全面地對(duì)比各個(gè)卷積網(wǎng)絡(luò)的性能,表9 中除了列舉了基于點(diǎn)的卷積網(wǎng)絡(luò)外,還列舉了引言中提到的一些其他的有代表性的方法,包括先驅(qū)工作PointNet[4]和PointNet++[5].
由表9 可以得出,對(duì)于法線(xiàn)估計(jì)任務(wù),相對(duì)性能較優(yōu)的卷積網(wǎng)絡(luò)和算子是SPCNN(SPConv)[73],該卷積方法通過(guò)幾何引導(dǎo)權(quán)重選擇來(lái)推廣圖像卷積,自適應(yīng)地劃分點(diǎn)云中的幾何學(xué)習(xí)空間.圖像像素排列規(guī)則,因此權(quán)重和像素具有確定的索引對(duì)應(yīng)關(guān)系.然而,對(duì)于不規(guī)則地分布在連續(xù)3D 空間中的3D 點(diǎn)云,這些索引對(duì)應(yīng)關(guān)系是未知的.因此,該研究工作構(gòu)造了一個(gè)幾何引導(dǎo)的索引映射函數(shù),該函數(shù)隱式地在卷積權(quán)重和鄰域中的一些局部區(qū)域之間建立對(duì)應(yīng)關(guān)系,學(xué)習(xí)自適應(yīng)地劃分并感知點(diǎn)云的局部幾何結(jié)構(gòu),高效地用于點(diǎn)云分析任務(wù)中.
Table 9 Comparison Results of Normal Estimation Task on ModelNet40 Dataset表9 ModelNet40 數(shù)據(jù)集上的法線(xiàn)估計(jì)任務(wù)對(duì)比結(jié)果
最后,綜合分析形狀分類(lèi)、部件分割和語(yǔ)義分割這3 類(lèi)有代表性的點(diǎn)云任務(wù).在這3 類(lèi)云任務(wù)中均進(jìn)行了實(shí)驗(yàn)和分析的研究工作,主要包括:PointCNN(χ-Conv)[56],ShellNet(ShellConv)[60],PAN(PAC)[63],Interp-CNN(InterpConv)[68],KP-CNN(Rigid KPConv)[70],KPCNN(Deformable KPConv)[70],PACNN(PAConv)[74],Conv-PointNet(ConvPoint)[76],PointConvCNN(PointConv)[81],MA-KPC(MA-KPConv)[88],對(duì)比結(jié)果如圖15 所示.
Fig.15 Comparison results of three point cloud tasks圖15 3 類(lèi)點(diǎn)云任務(wù)的對(duì)比結(jié)果
結(jié)合表5、表6、表8 的對(duì)比結(jié)果可以得出,相對(duì)較優(yōu)的結(jié)果均為連續(xù)卷積中構(gòu)造虛擬化輔助信息的卷積算子,包括在點(diǎn)云分類(lèi)任務(wù)中的PAConv[74]、在點(diǎn)云分割任務(wù)中的KPConv[70]、在點(diǎn)云法線(xiàn)估計(jì)任務(wù)中的SPConv[73].相比較而言,KPConv[70]這一即插即用卷積算子在今后的研究中可作為集成到各種點(diǎn)云任務(wù)網(wǎng)絡(luò)中的首選,如MA-KPC[88],雖然對(duì)比結(jié)果顯示該網(wǎng)絡(luò)在KPConv[70]上進(jìn)行的改進(jìn)性能并沒(méi)有提升,但其研究重點(diǎn)在于解決點(diǎn)云的旋轉(zhuǎn)不變性問(wèn)題,且實(shí)驗(yàn)表明通過(guò)任意角度的旋轉(zhuǎn)所得到的結(jié)果均是最優(yōu)的,同時(shí),MA-KPC 是首個(gè)在S3DIS 這一大型室內(nèi)場(chǎng)景數(shù)據(jù)集的分割任務(wù)中進(jìn)行旋轉(zhuǎn)不變性問(wèn)題的研究并得到了較優(yōu)的結(jié)果的網(wǎng)絡(luò),雖然,許多真實(shí)場(chǎng)景由于重力定向(gravity-oriented)原因只能繞z軸自由旋轉(zhuǎn),整個(gè)場(chǎng)景的任意角度旋轉(zhuǎn)可能沒(méi)有實(shí)際應(yīng)用價(jià)值,但場(chǎng)景中的某些小型目標(biāo)可以進(jìn)行任意旋轉(zhuǎn),例如掉落在地上的物體,雖然不常見(jiàn),但在實(shí)際應(yīng)用中可能會(huì)影響分析結(jié)果.今后的研究還可以針對(duì)MA-KPC 所面臨的其他困難與挑戰(zhàn)繼續(xù)深入.
卷積運(yùn)算的核心在于對(duì)特征的局部聚合和學(xué)習(xí),經(jīng)過(guò)近些年的不斷發(fā)展,通過(guò)大量的實(shí)驗(yàn)分析與對(duì)比,各種各樣卷積運(yùn)算和卷積網(wǎng)絡(luò)的提出在理論上和實(shí)踐上都被證實(shí)其是處理不規(guī)則數(shù)據(jù)格式的一種有效方法和框架.本文全面概括和提煉了近年來(lái)研究工作中提出的各種各樣新穎的可直接作用于點(diǎn)云上的卷積算子,分類(lèi)并分析了這些卷積算子的結(jié)構(gòu)和卷積運(yùn)算的原理.同時(shí),針對(duì)研究工作中所涉及到的集成了這些卷積算子的基礎(chǔ)任務(wù)網(wǎng)絡(luò),包括點(diǎn)云分類(lèi)網(wǎng)絡(luò)和點(diǎn)云分割網(wǎng)絡(luò),從設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)、采用的公開(kāi)數(shù)據(jù)集、使用的評(píng)價(jià)指標(biāo)等方面進(jìn)行了分類(lèi)整理與性能對(duì)比,總結(jié)了相對(duì)較優(yōu)的卷積算子和卷積網(wǎng)絡(luò),以助力一些下游的點(diǎn)云任務(wù),如3D 目標(biāo)檢測(cè)與跟蹤、3D 場(chǎng)景與目標(biāo)分割等.雖然,卷積運(yùn)算具有一定的優(yōu)勢(shì),但目前仍然存在一定的不足和待完善之處.此外,本文探討并列舉了3 個(gè)關(guān)于基于點(diǎn)的卷積運(yùn)算的一些未來(lái)可能的研究方向,主要包括針對(duì)特殊點(diǎn)云應(yīng)用的研究、針對(duì)不同點(diǎn)云任務(wù)的研究、針對(duì)不同融合方法的研究,如圖16 所示.
1)不平衡點(diǎn)云數(shù)據(jù)
Fig.16 The future research directions of point-based convolution operations圖16 基于點(diǎn)的卷積運(yùn)算的未來(lái)研究方向
從第3 節(jié)不同任務(wù)的OA值和mAcc/mIoU值的比較結(jié)果可以發(fā)現(xiàn),盡管一些方法[70,76]都取得了顯著的總體效果,但它們?cè)陬?lèi)別相對(duì)較少的情況下表現(xiàn)仍然有限.基于類(lèi)別不平衡的點(diǎn)云數(shù)據(jù)的特征學(xué)習(xí)仍然是點(diǎn)云任務(wù)(尤其是分割任務(wù))中一個(gè)具有挑戰(zhàn)性的問(wèn)題.
2)點(diǎn)云序列數(shù)據(jù)
一些實(shí)際應(yīng)用場(chǎng)景中有時(shí)需要對(duì)3D 傳感器在不同視角或不同時(shí)刻下捕獲的點(diǎn)云序列數(shù)據(jù)進(jìn)行處理,如動(dòng)作捕捉、3D 重建.①不同視角的點(diǎn)云序列.利用不同視角點(diǎn)云之間的點(diǎn)匹配估計(jì)運(yùn)動(dòng)物體在3D 空間中的變換關(guān)系,包括旋轉(zhuǎn)、位移.②不同時(shí)刻的點(diǎn)云序列.利用不同時(shí)刻點(diǎn)云之間的特征匹配估計(jì)運(yùn)動(dòng)物體在3D 空間中的運(yùn)動(dòng)信息,包括速度、角速度、動(dòng)量等.這2 個(gè)匹配估計(jì)流程通常包含2 個(gè)基本步驟:局部特征描述和全局特征匹配.因此需要網(wǎng)絡(luò)具有一定的鑒別能力來(lái)區(qū)分相同目標(biāo)物體內(nèi)部或不同目標(biāo)物體之間的局部幾何結(jié)構(gòu).這就對(duì)特征提取和特征匹配提出了更高的要求.然而,現(xiàn)有的提取點(diǎn)云局部和全局特征的方法仍難以充分滿(mǎn)足這類(lèi)需求,而且對(duì)于原始數(shù)據(jù)和應(yīng)用場(chǎng)景的變化較為敏感.因此,這也是今后的一個(gè)重要的研究方向,且具有重要的實(shí)際應(yīng)用價(jià)值.
3)非剛性物體/變換
剛性物體(rigid body)發(fā)生的剛性變換是平移和旋轉(zhuǎn),而相比于剛性物體,非剛性物體(non-rigid body)就是會(huì)發(fā)生形變(即伸縮、仿射、透射等比較復(fù)雜的非剛性變換)的物體.對(duì)于非剛性3D 模型,點(diǎn)的坐標(biāo)特征受姿態(tài)變化(pose variation)和非剛性變換(nonrigid deformation)的影響,因此局部的變化對(duì)網(wǎng)絡(luò)的性能要求較高.目前在圖像中的非剛性物體研究比較廣泛[95],因此結(jié)合基于點(diǎn)的卷積算子進(jìn)行非剛性點(diǎn)云物體的局部特征提取和相關(guān)任務(wù)研究也是一個(gè)較為新穎的方向.
4)復(fù)雜真實(shí)場(chǎng)景
在許多實(shí)際應(yīng)用中,傳感器獲取的點(diǎn)云通常是大規(guī)模的且較為復(fù)雜的,例如目前自動(dòng)駕駛領(lǐng)域研究使用最廣泛的KITTI 數(shù)據(jù)集[96].但大多數(shù)現(xiàn)有方法都適用于小型點(diǎn)云數(shù)據(jù)(點(diǎn)數(shù)較少),在大型點(diǎn)云數(shù)據(jù)上的效果較差.因此有必要進(jìn)一步研究適合在大規(guī)模點(diǎn)云任務(wù)上應(yīng)用的卷積算子和卷積網(wǎng)絡(luò),進(jìn)一步在降低計(jì)算復(fù)雜度的同時(shí)提升算法性能.
本質(zhì)上,卷積網(wǎng)絡(luò)中的卷積運(yùn)算就是特征提取的過(guò)程,由于點(diǎn)云數(shù)據(jù)的特殊性,而產(chǎn)生了各種各樣的可作用于點(diǎn)云上的卷積算子進(jìn)行卷積運(yùn)算,由于其即插即用的特性,這樣的卷積算子除了用于點(diǎn)云分類(lèi)、分割網(wǎng)絡(luò)以外,還可以用于其他的需要進(jìn)行特征提取的網(wǎng)絡(luò).
1)點(diǎn)云數(shù)據(jù)增強(qiáng)
實(shí)際上,許多3D 掃描設(shè)備直接獲取的點(diǎn)云數(shù)據(jù)質(zhì)量會(huì)受到很多因素的影響,例如物體之間的遮擋、掃描精度降低、掃描過(guò)程中的路線(xiàn)或位置限制等,可能產(chǎn)生質(zhì)量較差的點(diǎn)云,存在空洞、稀疏、離群點(diǎn)和噪聲點(diǎn)等.因此,點(diǎn)云補(bǔ)全(point cloud completion)[97]、點(diǎn)云上采樣(point cloud upsampling)[98]、點(diǎn)云去噪(point cloud denoising)[99]等點(diǎn)云數(shù)據(jù)增強(qiáng)任務(wù)也是研究的一個(gè)熱點(diǎn),將這些基于點(diǎn)的卷積算子集成到這些特定點(diǎn)云任務(wù)的網(wǎng)絡(luò)中用于特征提取也是一個(gè)研究方向.例如,可以將具有旋轉(zhuǎn)不變性的卷積算子集成到點(diǎn)云補(bǔ)全任務(wù)的網(wǎng)絡(luò)中,通過(guò)多個(gè)維度的旋轉(zhuǎn)及特征提取,對(duì)點(diǎn)云進(jìn)行多個(gè)角度的補(bǔ)全,從中選擇最優(yōu)的補(bǔ)全結(jié)果.
2)3D 目標(biāo)檢測(cè)與跟蹤
點(diǎn)云分類(lèi)、分割任務(wù)是3D 目標(biāo)檢測(cè)/識(shí)別、3D目標(biāo)跟蹤等更復(fù)雜且重要的下游任務(wù)的基礎(chǔ).典型的技術(shù)路線(xiàn)一般包括:目標(biāo)分類(lèi)/分割(對(duì)前景與背景進(jìn)行分類(lèi),將背景剔除)→目標(biāo)檢測(cè)/識(shí)別(定位目標(biāo),確定目標(biāo)位置及大?。欢ㄐ阅繕?biāo),確定目標(biāo)類(lèi)別)→目標(biāo)跟蹤(追蹤目標(biāo)的運(yùn)動(dòng)軌跡).在這一過(guò)程中,特征提取占據(jù)很重要的部分,將這些卷積算子集成到這些特定任務(wù)的網(wǎng)絡(luò)中用于高維特征提取也是一個(gè)研究方向.相關(guān)領(lǐng)域的應(yīng)用有:在機(jī)器人領(lǐng)域的動(dòng)作捕捉及位姿估計(jì);在自動(dòng)駕駛領(lǐng)域的障礙物識(shí)別與避碰;在國(guó)防領(lǐng)域的精準(zhǔn)目標(biāo)打擊.
3)3D 重建
點(diǎn)云的特征提取是3D 目標(biāo)重建、3D 場(chǎng)景重建等更復(fù)雜且重要的點(diǎn)云任務(wù)的一部分.一個(gè)具體的3D 重建過(guò)程主要包括點(diǎn)云數(shù)據(jù)預(yù)處理、分割、三角網(wǎng)格化、網(wǎng)格渲染.實(shí)現(xiàn)高精度、高效率的點(diǎn)云3D重建也是今后重要的研究方向之一.相關(guān)領(lǐng)域的應(yīng)用有:在遙感領(lǐng)域的特殊場(chǎng)景(如地形)的拼接及重建;在文化遺產(chǎn)保護(hù)領(lǐng)域的古文物數(shù)字模型庫(kù)(如故宮數(shù)字博物館)的恢復(fù)與構(gòu)建.
除了卷積運(yùn)算外,還有很多方法已成功用于3D點(diǎn)云數(shù)據(jù)處理中,例如,注意力機(jī)制、Transformer.將它們各自的優(yōu)勢(shì)與基于點(diǎn)的卷積算子進(jìn)行結(jié)合也是今后研究的一個(gè)趨勢(shì).
1)注意力機(jī)制
卷積運(yùn)算在捕獲局部特征方面有很強(qiáng)的優(yōu)勢(shì),但在全局范圍建模方面效率很低.相比之下,注意力機(jī)制可以有效地模擬特征之間的全局范圍關(guān)系,但存在過(guò)度平滑問(wèn)題[100].因此,將二者結(jié)合得到的注意力卷積[62-64]可以更好地在全局信息聚合(注意力)和局部信息建模(卷積)之間建立某種聯(lián)系.同時(shí),采用不同的變體機(jī)制,如自注意力機(jī)制(self-attention mechanism)、交叉注意力機(jī)制(cross-attention mechanism)、多頭注意力機(jī)制(multi-head-attention mechanism)等,與基于點(diǎn)的卷積運(yùn)算的結(jié)合也是今后可以研究的一個(gè)方向.
2)transformer
transformer 是一種基于注意力的編碼器-解碼器架構(gòu),最近在機(jī)器視覺(jué)領(lǐng)域引起了人們極大的研究興趣.與傳統(tǒng)的深度學(xué)習(xí)網(wǎng)絡(luò)相比,transformer 架構(gòu)層次容易加深且具有更小的模型偏差,通常以自監(jiān)督方式在大量訓(xùn)練數(shù)據(jù)上對(duì)模型進(jìn)行預(yù)訓(xùn)練,有助于模型學(xué)習(xí)通用表征,進(jìn)而針對(duì)下游任務(wù)在較小的數(shù)據(jù)集上進(jìn)行微調(diào).受到自然語(yǔ)言處理(natural language processing,NLP)領(lǐng)域中基于transformer 的預(yù)訓(xùn)練方法[101]可以顯著提升性能的啟發(fā),計(jì)算機(jī)視覺(jué)領(lǐng)域的研究人員也提出了視覺(jué)transformer(visual transformer,ViT)[102]用于各類(lèi)視覺(jué)任務(wù)(如分類(lèi)、分割)中.一項(xiàng)研究表明transformer 在理論上具有比CNN 更強(qiáng)大的建模能力[103].然而,它的計(jì)算成本也隨著特征分辨率呈二次方增長(zhǎng).一些研究工作嘗試通過(guò)transformer 和CNN 的組合方法解決這一問(wèn)題(如 BoTNet[104],DeiT[105],ConViT[106],CeiT[107]等 ).①transformer 增 強(qiáng)CNN:將transformer 插 入CNN 主干或替換部分卷積運(yùn)算.②CNN 增強(qiáng)transformer:利用適當(dāng)?shù)木矸e偏差來(lái)增強(qiáng)transformer 并加速其收斂.
同時(shí),transformer 模型特別適合于處理不規(guī)則的點(diǎn)云數(shù)據(jù),因?yàn)閠ransformer 的核心即自注意力算子本質(zhì)上是一個(gè)集合算子,它對(duì)輸入元素的排列和基數(shù)是不變的,而點(diǎn)云本質(zhì)上是不規(guī)則地嵌入在3D 空間中的集合.因此,有研究工作為各種點(diǎn)云任務(wù)構(gòu)建了Point transformer 網(wǎng)絡(luò)[108],將自注意力算子應(yīng)用在每個(gè)點(diǎn)周?chē)木植苦徲蛞约包c(diǎn)云網(wǎng)絡(luò)中位置信息的編碼.類(lèi)似地,如何更高效、更魯棒地將transformer 和基于點(diǎn)的卷積運(yùn)算相結(jié)合并應(yīng)用到點(diǎn)云任務(wù)中也是未來(lái)的一個(gè)研究熱點(diǎn).
總之,隨著越來(lái)越多對(duì)3D 掃描設(shè)備的普及和對(duì)3D 點(diǎn)云數(shù)據(jù)的關(guān)注,現(xiàn)有的卷積算子和網(wǎng)絡(luò)可以解決一些點(diǎn)云處理相關(guān)的問(wèn)題并得到較優(yōu)的結(jié)果,但還有進(jìn)一步提高和改進(jìn)的空間.在未來(lái)的研究道路上,還可能有更多原理簡(jiǎn)單、訓(xùn)練高效、性能優(yōu)異的卷積算子和卷積網(wǎng)絡(luò)相繼被提出,這會(huì)是在3D 視覺(jué)領(lǐng)域中未來(lái)很長(zhǎng)一段時(shí)間內(nèi)的研究熱點(diǎn).
作者貢獻(xiàn)聲明:韓冰提出寫(xiě)作命題,收集和調(diào)研文獻(xiàn),完成論文撰寫(xiě)與修改;張?chǎng)卧铺岢鲂薷囊庖?jiàn);任爽指導(dǎo)論文撰寫(xiě).