何俊杰 任明武
(南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 南京 210094)
目標(biāo)檢測(cè)[2]作為一種重要的計(jì)算機(jī)視覺技術(shù),能夠高效地分類和定位場(chǎng)景中的目標(biāo)。隨著人工智能技術(shù)發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)[3]方法層出不窮。與此同時(shí),傳感器[4]技術(shù)的不斷突破促使業(yè)界對(duì)三維目標(biāo)檢測(cè)技術(shù)產(chǎn)生了需求。三維目標(biāo)檢測(cè)技術(shù)作為二維目標(biāo)檢測(cè)的拓展,更注重對(duì)環(huán)境中的空間結(jié)構(gòu)信息進(jìn)行處理,迅速成為學(xué)術(shù)界和工業(yè)界的研究熱點(diǎn),被廣泛應(yīng)用至自動(dòng)駕駛[5]、機(jī)器人[6]等多個(gè)熱門領(lǐng)域。
根據(jù)點(diǎn)云目標(biāo)檢測(cè)[7]的方法流程,可分為一階段(one-stage)的方法和兩階段(two-stage)的方法。早期的點(diǎn)云目標(biāo)檢測(cè)方法以兩階段為主,主要包括PointRCNN[8]、PointRGCN[9]、STD[10]、VoteNet[11]等,這些方法能夠充分地結(jié)合原始點(diǎn)云的空間信息,因此能夠取得較高的精度,但計(jì)算成本較大,檢測(cè)效率受限。隨之出現(xiàn)了一階段的點(diǎn)云目標(biāo)檢測(cè)方法,直接提取原始點(diǎn)云特征并回歸目標(biāo)檢測(cè)結(jié)果。近年來,Vote3Deep[12]、VoxelNet[13]、SECOND[14]等一階段方法被不斷提出,僅需要單次推理即可得到點(diǎn)云目標(biāo)檢測(cè)的結(jié)果信息,取得了較高的檢測(cè)速率。
2019 年,一種名為PointPillars[1]的一階段點(diǎn)云目標(biāo)檢測(cè)方法被提出。該方法提出一種新型的點(diǎn)云特征處理方法,參數(shù)量更小,取得了比主流方法顯著提高的檢測(cè)速度,具有很高的工程應(yīng)用價(jià)值。但PointPillars 在特征提取時(shí)主要關(guān)注點(diǎn)云的局部特征,因此在自動(dòng)駕駛等領(lǐng)域的實(shí)際應(yīng)用時(shí),對(duì)車輛、非機(jī)動(dòng)車和行人等多尺度目標(biāo)的綜合檢測(cè)能力受限。
本文首先簡(jiǎn)要介紹PointPillars 方法的整體架構(gòu),接著基于多尺度特征融合和3D注意力機(jī)制,對(duì)PointPillars 的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),并在KITTI[15]數(shù)據(jù)集上進(jìn)行相關(guān)測(cè)試。改進(jìn)方法在維持高效率的前提下,對(duì)多尺度目標(biāo)具有更高的檢測(cè)精度。
PointPillars 的主體網(wǎng)絡(luò)架構(gòu)如圖1 所示,主要由柱狀特征提取網(wǎng)絡(luò)(Pillar Feature Network)、二維特征提取網(wǎng)絡(luò)和一個(gè)檢測(cè)頭(Detection Head)組成。
圖1 PointPillars主體網(wǎng)絡(luò)架構(gòu)圖
單幀待檢測(cè)的原始點(diǎn)云輸入網(wǎng)絡(luò)后,通過柱狀特征提取網(wǎng)絡(luò)轉(zhuǎn)換為點(diǎn)云數(shù)據(jù)的偽圖像。在柱狀特征提取網(wǎng)絡(luò)中,原始點(diǎn)云數(shù)據(jù)首先被劃分為若干均勻的柱狀網(wǎng)格(Pillar),每個(gè)柱狀網(wǎng)格使用一個(gè)九維的向量來表示網(wǎng)格中所有點(diǎn)云的信息。借助柱狀劃分,整個(gè)原始點(diǎn)云就可以使用一個(gè)張量進(jìn)行表示,之后,再借助簡(jiǎn)化版的PointNet 的思想,通過特征提取和最大池化層對(duì)張量進(jìn)行降維,并轉(zhuǎn)換為類似二維圖像的點(diǎn)云偽圖像。接下來使用二維特征提取網(wǎng)絡(luò)進(jìn)一步進(jìn)行偽圖像的特征提取,最后使用一個(gè)類似SSD 的檢測(cè)頭部分來對(duì)偽圖像特征進(jìn)行三維包圍盒的回歸。
輸入PointPillars 的原始點(diǎn)云經(jīng)過柱狀特征提取網(wǎng)絡(luò)轉(zhuǎn)換為一個(gè)偽圖像后,PointPillars 使用一個(gè)二維的卷積神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行處理。該二維卷積部分的具體結(jié)構(gòu)如圖2所示。
圖2 PointPillars二維卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
從圖中可以看出,該卷積神經(jīng)網(wǎng)絡(luò)主要由兩個(gè)子網(wǎng)絡(luò)結(jié)構(gòu)組成:第一個(gè)子網(wǎng)絡(luò)對(duì)輸入的偽圖像進(jìn)行兩次下采樣操作,不斷減小特征圖的分辨率,同時(shí)提升其特征維度,最終可以得到三個(gè)分辨率和特征通道數(shù)都不同的特征圖;第二個(gè)子網(wǎng)絡(luò)對(duì)這些特征圖的特征進(jìn)行融合拼接,首先將這三個(gè)特征圖進(jìn)行上采樣,把它們的分辨率恢復(fù)至相同的大小,接下來對(duì)這三個(gè)相同尺寸的特征圖進(jìn)行特征融合。具體的融合操作通過一個(gè)拼接(concatenation)來完成,在維持特征圖尺寸的前提下,對(duì)三個(gè)特征圖的特征通道進(jìn)行拼接。如此以來,三個(gè)尺度的特征圖的語義信息能夠較好地融合在一起,以提高整個(gè)檢測(cè)方法對(duì)多類別目標(biāo)的檢測(cè)性能。
本文提出的方法主要對(duì)PointPillars 的二維卷積模塊進(jìn)行改進(jìn):首先結(jié)合多尺度特征融合的思想,改進(jìn)原始的一階段檢測(cè)流程和相關(guān)網(wǎng)絡(luò)結(jié)構(gòu),提高其對(duì)多尺度信息的提取和檢測(cè)能力;其次,結(jié)合simAM[16]的3D 注意力機(jī)制來增強(qiáng)不同尺度下的特征信息。
PointPillars 將原始點(diǎn)云轉(zhuǎn)換為二維的偽圖像后,進(jìn)行后續(xù)的二維特征提取,并對(duì)提取后的結(jié)果回歸目標(biāo)檢測(cè)的位置和類別結(jié)果。該流程基于RPN 的思想構(gòu)建二維特征提取網(wǎng)絡(luò)和后續(xù)的檢測(cè)頭,通過one-stage 的形式直接回歸結(jié)果,雖然兼具高效性和一定的檢測(cè)精度,但還具有一些問題。首先,原圖像僅通過兩次下采樣得到低分辨率的特征圖,該特征圖的語義信息不足;其次,該結(jié)構(gòu)沒有充分利用低層特征圖的空間信息,直接影響了對(duì)小尺度目標(biāo)的檢測(cè)效果;另外,在上采樣還原后,原結(jié)構(gòu)直接進(jìn)行了通道拼接操作,沒有很好地結(jié)合高分辨率特征的空間信息和低分辨率特征的語義信息。因此,本文基于多尺度特征融合的思想,對(duì)原有的二維卷積網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),改進(jìn)后的結(jié)構(gòu)如圖3所示。
圖3 基于多尺度特征融合和3D注意力改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
其中,本節(jié)對(duì)于原有的二維卷積模塊進(jìn)行結(jié)構(gòu)化的改進(jìn)。首先對(duì)原始的特征圖進(jìn)行自底向上的逐級(jí)下采樣,下采樣倍數(shù)逐級(jí)均勻增加。相比原網(wǎng)絡(luò)結(jié)構(gòu),該部分增加了下采樣的深度,以更好地結(jié)合更小尺度的特征信息。接下來,通過自頂向下的方式進(jìn)行上采樣,具體的上采樣通過最近鄰插值來進(jìn)行,在減少計(jì)算成本的前提下盡可能保留原特征圖的語義信息。特征圖在自頂向下進(jìn)行上采樣的同時(shí),與下采樣流程中的上一級(jí)特征圖進(jìn)行特征融合,得到同時(shí)包含語義信息和特征信息的特征圖。最后,本結(jié)構(gòu)對(duì)融合后的不同尺度特征分別進(jìn)行卷積核為3×3 的卷積操作,減少上采樣插值的重疊帶來的影響。如此一來,改進(jìn)方法對(duì)多尺度目標(biāo)能夠具有更強(qiáng)的綜合檢測(cè)能力。
對(duì)原始檢測(cè)結(jié)構(gòu)進(jìn)行上述改進(jìn)后,網(wǎng)絡(luò)模型對(duì)多尺度目標(biāo)的綜合檢測(cè)能力得到了提升。對(duì)于不同尺度的特征,每個(gè)特征經(jīng)過不同層次的融合后都具有較高的通道數(shù)?;诖耍疚氖艿絊imAM 的啟發(fā),基于一種無額外參數(shù)的3D 注意力模塊來提升對(duì)每個(gè)尺度特征的利用效率。
其中,SimAM 的3D 注意力權(quán)重如圖4 所示。相比現(xiàn)有的通道注意力與空間注意力來說,SimAM關(guān)注整個(gè)特征的3D注意力。為更好地實(shí)現(xiàn)注意力機(jī)制,該模塊評(píng)估每個(gè)神經(jīng)元的重要性。在所有神經(jīng)元中,激活神經(jīng)元通常會(huì)抑制周圍神經(jīng)元,即空間抑制作用。具有空間抑制作用的神經(jīng)元需要賦予更高的權(quán)重。
圖4 SimAM的3D注意力權(quán)重示意圖
基于此,該模塊使用如式(1)的能量函數(shù)來訓(xùn)練神經(jīng)元之間的線性可分性。對(duì)于每個(gè)尺寸為C×H×W的多通道特征,其中的每個(gè)通道都有M=H×W個(gè)能量函數(shù)。經(jīng)過推導(dǎo),每個(gè)能量函數(shù)的最小值可以通過式(2)得到。能量越低,神經(jīng)元的重要性越高,因此其重要性可以通過來衡量。
基于上述原理,simAM 模塊通過3D 注意力機(jī)制對(duì)多尺度的特征進(jìn)行增強(qiáng),如式(3)所示。其中,X為原特征,E表示了X特征中所有通道和空間維度的最小能量,sigmoid 函數(shù)用于約束可能過大的E值。對(duì)X特征中所有具有空間抑制作用的神經(jīng)元賦予更高的權(quán)重,得到增強(qiáng)后的特征。
如圖5 所示,在上一節(jié)改進(jìn)卷積網(wǎng)絡(luò)結(jié)構(gòu)后,本節(jié)通過SimAM 模塊的優(yōu)化能量函數(shù)推導(dǎo)每個(gè)特征的3D 注意力權(quán)重,并提升模型對(duì)多個(gè)維度特征的鑒別能力,最終提升對(duì)不同尺度目標(biāo)的檢測(cè)效果。
總而言之,simAM 模塊促使網(wǎng)絡(luò)的后續(xù)結(jié)構(gòu)更好地學(xué)習(xí)當(dāng)前特征圖的三維注意力信息,并增強(qiáng)重要的特征,抑制不重要的特征,最終提升模型對(duì)多尺度特征的檢測(cè)精度。
為了驗(yàn)證本文方法的實(shí)際檢測(cè)性能,本文基于KITTI 數(shù)據(jù)集來對(duì)提出的改進(jìn)方法進(jìn)行檢驗(yàn),并與改進(jìn)前的原方法進(jìn)行結(jié)果對(duì)比。實(shí)驗(yàn)使用Pytorch1.3.0 框架,并使用TitanV 顯卡進(jìn)行模型的訓(xùn)練和測(cè)試工作。本文使用PointPillars 以及提出的改進(jìn)方法基于KITTI 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。其中,改進(jìn)方法的模型訓(xùn)練時(shí)的超參數(shù)與原方法一致,以進(jìn)行公平對(duì)比。使用的評(píng)價(jià)指標(biāo)[17]為對(duì)應(yīng)類別的平均精度(Average Precision,AP),該值越高,檢測(cè)方法對(duì)當(dāng)前類別的檢測(cè)精度越高,相關(guān)計(jì)算公式如式(4)、式(5)、式(6)所示:
其中,式(4)中的NTP代表預(yù)測(cè)正確的樣本數(shù)量,NAlldetections代表所有的預(yù)測(cè)結(jié)果數(shù)量,p為檢測(cè)的準(zhǔn)確率(precision),表示預(yù)測(cè)正確的樣本占所有樣本的比值;式(5)中的NAllgroundtruths代表所有的目標(biāo)真值(ground-truth),r為檢測(cè)的召回率(Recall),表示預(yù)測(cè)正確的結(jié)果占所有目標(biāo)真值的比例。為了衡量多置信度閾值下模型的整體檢測(cè)性能,引入了準(zhǔn)確率-召回率(P-R)曲線這一指標(biāo),代表模型在取不同置信度閾值時(shí),對(duì)準(zhǔn)確率和召回率的取舍。式(6)中的P(R)即P-R 曲線,AP即為P-R 曲線的面積,衡量對(duì)應(yīng)類別的整體檢測(cè)性能。
使用PointPillars方法和本文改進(jìn)后的PointPillars 方法,分別使用KITTI 數(shù)據(jù)集中的驗(yàn)證集,對(duì)汽車(Car)和行人(Pedestrian)兩種主類別目標(biāo)進(jìn)行檢測(cè),并比較它們的檢測(cè)結(jié)果。其中,KITTI數(shù)據(jù)集基于等間距的40 個(gè)召回位置(Recall Position)給出對(duì)應(yīng)類別的平均AP 值。實(shí)驗(yàn)結(jié)果如表1 所示。其中,KITTI 的每一類目標(biāo)根據(jù)遮擋和截?cái)喑潭确譃镋asy、Moderate、Hard三個(gè)難度級(jí)別。
表1 原PointPillars方法與本文改進(jìn)后的方法在KITTI數(shù)據(jù)集上的檢測(cè)結(jié)果對(duì)比
從中可以看出,相比原方法,本文改進(jìn)的方法在兩種類別的目標(biāo)檢測(cè)精度上均有較明顯的提升,提升效果約為0.6%到2.8%不等。其中,相比汽車類別,本文改進(jìn)的方法對(duì)行人這類小尺度目標(biāo)的檢測(cè)精度提升更明顯。另外,表1 還展示了改進(jìn)后的方法與原方法的測(cè)試時(shí)間對(duì)比。由此可以證明,經(jīng)過本文改進(jìn)后的PointPillars方法,不僅對(duì)多尺度目標(biāo)具有更強(qiáng)的檢測(cè)能力,同時(shí)在檢測(cè)速度上也僅有較小的下降,仍能保留PointPillars方法的檢測(cè)速度優(yōu)勢(shì),具有較高的工程應(yīng)用價(jià)值。
本文結(jié)合多尺度特征融合和3D 注意力機(jī)制,改進(jìn)了原方法的網(wǎng)絡(luò)結(jié)構(gòu),提出了一種基于Point-Pillars 改進(jìn)的點(diǎn)云目標(biāo)檢測(cè)方法,之后通過KITTI數(shù)據(jù)集驗(yàn)證了改進(jìn)方法的有效性。本文改進(jìn)的方法對(duì)多尺度目標(biāo)具有更高的檢測(cè)精度,同時(shí)仍具有較高的檢測(cè)效率。