?

基于偏移注意力機制和多特征融合的點云分類

2024-02-15 03:04田晟宋霖趙凱龍
關鍵詞:注意力準確率分類

田晟 宋霖 趙凱龍

(華南理工大學 土木與交通學院,廣東 廣州 510640)

隨著深度學習在各領域的興起,對點云相關的研究也逐漸深入。由于點云可以獲取物體的三維坐標等多種信息,且具有無序性、旋轉不變性和稀疏性的特性,在自動駕駛、機器人和測繪方面都得到了廣泛的應用,目前對點云分類主流的研究方法主要有基于多視圖的方法、基于體素的方法、直接基于點的方法等。

在基于多視圖的研究方法中,MVCNN[1]實現了不同角度投影的特征提取,相對于傳統的機器學習算法有一定的提升?;隗w素的方法是采取已有的方法將點云轉換為三維體積形狀,利用現在較為成熟的三維卷積網絡實現分類,2015 年Voxnet 網絡[2]的提出實現了體素在點云分類中的應用。Zhang等[3]將注意力機制和基于體素的方法相結合,分類總體準確率達到了94.0%。對多視圖而言,由于視點的位置和角度的變換會導致部分重要信息的丟失,而基于體素的方法對資源消耗比較大。

相對于多視圖以及體素的研究方法,直接對點云數據進行特征提取不僅減少了前期人工處理工作,且不易丟失特征信息,充分利用了點云數據的優勢,是研究人員較為熱衷的方向之一。Qi等[4]于2017 年提出PointNet,直接利用多層感知機(MLP)提取最終全局特征,又于同年提出PointNet++[5]進行最遠點采樣并分組,通過PointNet 提取點云局部特征,經最大池化進行降采樣以減少運算量。PointCNN[6]利用多層感知機實現點特征變換以模仿CNN 進行特征提取。Wu 等[7]提出的PointConv 通過構建逆密度變換實現卷積核的動態更新,分類總體準確率達到了92.5%。陳根等[8]通過整合點與點的關系特征以及中心點的特征,分類總體準確率與PointConv 相同。Xu 等[9]提出的PAConv 通過利用動態生成的分數權重乘以初始權值以實現卷積核的動態更新,嵌入DGCNN 網絡準確率較PointConv 提升1.1%。Wang 等[10]提出的DGCNN 采用圖卷積的方式,聚合中心點和鄰居節點的特征,實現了鄰居節點特征的聚合,分類總體準確率達到了92.2%。Zhang 等[11]在DGCNN 的基礎上,引入殘差結構,實現不同層級動態圖的連接,準確率較DGCNN 提高了0.7%。以上網絡模型都較少考慮點云多特征的融合,而全局和局部特征還可以進一步的豐富,蘭紅等[12]利用圖卷積提取節點間位置關系,利用三維方向卷積捕捉節點間方向信息,進行信息組合獲取更加豐富的局部鄰域特征。蘆新宇等[13]構造局部-非局部交互卷積模塊,實現低層次的幾何信息和高層次的語義信息的融合,構建的卷積神經網絡分類總體準確率達到了93.4%。戴莫凡等[14]融合了3 個尺度下的K 近鄰點云特征導入提出的幾何卷積神經網絡模塊。杜靜等[15]同時引入殘差優化結構和多特征融合方法實現了S3DIS(Stanford Large-Scale 3D Indoor Spaces Datase)室內和Semantic3D 室外數據集的點云語義分割。從大多數學者的網絡改進方式來看,直接對點云實現分類的網絡結構,大多是基于PointNet和DGCNN網絡進行局部改進。

隨著Transformer[16]在自然語言處理等領域效果日漸顯著,不少學者利用Transformer的思想,對網絡模型進行改進以適應點云的特性。Zhao等[17]設計自注意力機制層應用于3D 點云分類。Chen 等[18]將注意力機制嵌入圖神經網絡中,采用多頭注意力機制,提出點云分類網絡GAPNet,通過學習局部的幾何表示,得到了在中心點附近不同的注意力權重,實現更加有效地利用局部特征。Guo 等[19]提出的PCT網絡對自注意力機制所得的特征矩陣和原始矩陣作差以得到偏移注意力機制,實現了93.2%的總體分類準確率。陳涵娟等[20]提出競爭注意力融合模塊嵌入基準網絡,實現多層級特征融合,并同存在噪聲的數據集測試結果進行了對比實驗,最優總體準確率達到93.2%。王利媛等[21]引入PointConv 中的點卷積算子和注意力機制模塊,在ISPRS Vaihingen三維語義標記基準數據集和GML_DataSetA室外機載點云數據集上進行分類測試實驗,驗證了方法的有效性。

同時也有不少計算機圖形學中的幾何學的知識應用于點云特征提取當中,對整體或者部分區域的幾何結構特征進行描述,如CurveNet[22]選取了點云中的曲線以突顯局部形狀,RepSurf[23]提出的Umbrella Surfaces較好表示局部幾何結構,也取得了較好的效果。由于利用幾何形狀的特征提取計算過程較為復雜,故嘗試直接利用Tansformer 的思想和多特征融合方法實現點云分類。

無論是基于體素、基于多視圖還是基于點的方法,大多僅單一考慮了全局或局部特征,針對這一問題,本文將點的全局特征信息和局部信息進行融合,并利用殘差連接和偏移注意力機制,提升特征提取能力,實現測試集上點云對象的類別判定。

1 網絡框架

1.1 模型總體結構

本文受到LDGCNN[11]和PCT[19]網絡的啟發,提出了一種基于融合注意力機制的多特征融合殘差網絡,利用Offset-Attention 模塊[19]實現初始特征提取,然后實現點云特征和三維坐標特征的融合,引入殘差結構以防止淺層特征的丟失。網絡總體框架和框架細節如圖1和圖2所示。

圖1 模型總體結構Fig.1 The overall structure of the model

圖2 網絡結構細節Fig.2 Network structure details

圖1中,模型總體采用類似ResNet的結構,以兩個基本模塊構成一個網絡層級,其中第1類基本模塊會改變點云特征矩陣的通道數,故采用藍色箭頭進行連接,第2類基本模塊用于提取更深層次的網絡特征,不改變特征矩陣通道數,故采用黑色箭頭進行連接。

多個網絡層級進行殘差連接以提取深層次的隱式特征,最后通過最大池化和平均池化得到全局拼接的點云特征,導入全連接層實現點云分類任務,網絡總結構如圖2所示。

圖2中的虛線框(Make Layer1)詳細描述了單個網絡層級中基本模塊的構成情況,虛線框Basic Block1描述了第1類基本模塊,虛線框Basic Block2描述了第2 類基本模塊,兩類基本模塊中都包括LBR(Linear,BatchNorm and ReLU layers)、OFSA(Offset-Attention)和MFA(Muti-Feature Aggregation)模塊。LBR包括卷積層、批量正則化層和Relu激活函數,卷積層用于改變特征矩陣的通道數,批量正則化以防止模型過擬合,加快模型訓練速度,Relu激活函數用于增加模型的非線性擬合能力;OFSA模塊為偏移注意力機制,用于改變特征權重,介紹見1.2 節;MFA 模塊指多特征融合模塊,詳見1.3 節。網絡訓練過程中,首先通過LBR 改變采樣點矩陣的通道數,使維度從三維坐標特征轉換為32 維的隱式特征,同時通過將輸入點云輸入MFA模塊以得到9 維的顯式特征,對顯式特征使用LBR以和隱式特征的特征通道數一致,實現與隱式特征融合,并將融合得到的特征矩陣輸入多層殘差模塊進一步提取點云的特征信息。

1.2 偏移注意力機制

人類大腦在觀察事物時會快速定位并提取關鍵信息,以作出相應的決策,注意力機制通過對所提取的特征信息分配不同權重以模擬人類大腦快速定位關鍵信息的能力,從而更加關注較為重要的特征區域,過濾不重要的信息點,提高網絡模型在數據噪聲下的預測性能,具有較高的魯棒性。

縮放點積注意力機制(Scaled Dot-Product Attention)的原理是通過某種映射將嵌入的特征矩陣生成不同類型的Q、K、V權重系數矩陣;偏移注意力機制是通過不同的多層感知機(MLP)生成Q、K、V權重系數矩陣,權重矩陣Q和K進行矩陣相乘,并使用Softmax 函數激活相得到Attention 系數矩陣,與V特征矩陣進行哈達瑪積得到一個重構特征,并對原始特征與重構特征進行作差,通過LBR 得到最終Offset-Attention層的特征。其中具體的計算公式如下:

式中,m為輸出的重構特征矩陣,Fin為輸入的特征矩陣,Q為用于查找的系數向量,K為其它用于接受的系數向量,V為自身的向量。

在自然語言處理中,Transformer 網絡中Attention機制由于存在較好的效果而得到了廣泛的應用,受注意力機制與傳統網絡模型進行混合的啟發,本文采取偏移注意力機制,將改進的注意力機制嵌入特征聚合模塊,其中偏移注意力機制的結構如圖3所示。

圖3 Offset-Attention模塊Fig.3 Offset-Attention module

圖3中,Conv1d為一維卷積,主要用于改變特征矩陣第2 個維度(Channel)的大小,b為批次數,c為特征矩陣的通道數,n為點的個數,Softmax 為激活函數將數值向量進行歸一化為概率分布向量,用于實現多分類問題的輸出。

1.3 殘差模塊

引入殘差結構有助于解決梯度消失和梯度爆炸的問題,在訓練更深的網絡時可以有效防止網絡退化的問題。主干結構上采用快捷連接,使用兩個卷積層以改變特征矩陣的通道數,使用偏移注意力機制模塊(OFSA)和多特征聚合模塊(MFA)實現特征重構,另外,對輸入層進行恒等映射,并根據輸入和輸出特征矩陣通道數是否一致,來實現跳躍連接(Identity),具體結構如圖4所示。

圖4 殘差模塊Fig.4 Residual module

1.4 多特征融合模塊

多特征融合模塊如圖5所示,為虛線框所選取的MFA 部分。注意力機制每一步計算都不依賴于上一步的計算結果,可實現和CNN 一樣的并行處理操作,可替代CNN,能表達任何卷積濾波層[24-26]。圖5 中的上半分支,通過最遠點采樣得到1 024個采樣點P={pi|i=1,…,N}∈RN×3,將得到的采樣點作為中心點,通過Offset-Attention 注意力機制得到聚合后的中心點特征Fi,與DGCNN 網絡對特征矩陣中心點和鄰居點拼接不同,本文以廣播方式直接對鄰居點特征和中心點特征進行求差Fj-Fi,以獲取局部鄰域特征信息。圖5的下半分支是對采樣中心點Pi以KNN(K-Nearest Neighbor)算法找到其鄰居節點Pj∈Ni,Ni為中心點的k個近鄰點坐標集,指中心點和鄰居節點構成的一個集合,圖中的Pjk均指采樣點周圍的鄰居節點。對采樣得到的中心點坐標Pi,中心點k個鄰居節點坐標Pjk、中心點與鄰居節點的相對坐標Pjk-Pi進行拼接,得到了通道數為9的4維特征矩陣,拼接后利用一維卷積將通道數從9映射為3,實現圖5的上半分支和下半分支特征的相加,減少通道堆疊,盡可能降低計算代價。

圖5 局部特征與點特征融合模塊Fig.5 Local feature and point feature fusion module

1.5 評價指標

為了確定模型最終分類的效果,采用分類總體準確率和類別平均準確率作為點云分類評價指標。

(1)分類總體準確率

式中,ηoverall為分類正確的數量與總樣本數量的比值,N為總樣本數量,T為預測的樣本中所有分類正確的點云數量。

(2)類別平均準確率

式中,ηavg為所有類別預測準確率的平均值,i為第i個類,Ti是第i個類別分類預測正確的樣本數量,Ni為第i個類別的樣本總數。

2 實驗結果與分析

2.1 實驗數據集

采用ModelNet40[27]和ScanObjectNN[28]數據集用于模型評估。https://modelnet.cs.princeton.edu 和https://hkust-vgd.github.io/scanobjectnn 為數據下載鏈接。ModelNet40數據集是CAD繪制的3D模型轉換成的點云對象,共包含12 311個點云形狀個體,共40個類別,其中訓練集為9 843個點云模型,測試集為2 468 個點云模型,每個模型都進行了1 024 個點的采樣以作為網絡的輸入,調用Mayavi.mlab庫,選取ModelNet40 的前9 個類別如飛機、浴缸、床、板凳、書架、水瓶、碗、汽車和椅子等點云數據進行展示,部分數據見圖6所示。

圖6 Modelnet40部分數據Fig.6 Partial data from modelnet40

ScanObjectNN是一個從存在背景和遮擋的真實世界中掃描采樣的室內數據集,由15 個類別的2 902 個3D 對象組成。由于背景的干擾,部分點云存在缺失和變形的情況,具有較大的挑戰性。

為公平地驗證模型性能,本文在ScanObjectNN的擾動(PB-T50-RS)變體數據集上進行實驗。PB(Perturbation)是指通過平移、旋轉和縮放真實邊界框等數據增強方法對數據集進行擴展,該變體數據集主要利用了T50和RS數據增強方法,T50是指從邊界框中心沿著軸將邊界框隨機移動至50%的對象大小,RS(Rotation,Scale)表示旋轉和縮放。擴充數據集共14 510 個對象,每個對象包含5 個隨機變換樣本,本文分別以1 024和2 048個采樣點作為網絡的輸入,同時對比了不同采樣點下的點云分類準確率,以驗證網絡模型的性能。部分ScanObjectNN和其中的PB-T50-RS數據如圖7和圖8所示。

圖7 ScanObjectNN部分數據Fig.7 Partial data from ScanObjectNN

圖8 PB-T50-RS部分數據Fig.8 Partial data from PB-T50-RS

2.2 實驗步驟

2.2.1 點云數據處理

在訓練之前,需要對所采集的數據進行前期處理以確保模型有效運行。點云數據處理的流程是首先進行噪聲濾除、然后進行數據采樣以實現輸入模型的數據大小相同,最后在模型搭建過程中對數據分組形成類似卷積的操作。

在數據預處理階段,需進行數據去噪和數據增強,對于離群噪聲點和非離群噪聲點,存在中值濾波、均值濾波和高斯濾波等處理方式,ModelNet40數據集采用CAD手工繪制的模型轉換得到,存在較少的噪聲,可直接用于模型的訓練。ScanObjectNN數據集來自真實世界,存在較多噪聲,故采用噪聲濾除和數據增強過的(PB-T50-RS)變體數據集進行實驗。

在模型運行之前,為使輸入網絡的點云數量一致,需要對點云進行采樣,主要有最遠點采樣(FPS)、隨機采樣、格點采樣和幾何采樣等采樣方式,最遠點采樣需選擇一個初始點作為參考點,在所能承受的最遠距離范圍內,選取相對參考點的最大歐式距離點用于更新采樣點集合,并將最大歐式距離點作為新的參考點以不斷迭代,直至采樣到所需的N個目標采樣點為止。最遠點采樣方法相對于隨機采樣等其它采樣方式采樣點分布較為均勻,避免了部分區域出現采樣點密度過大的情況,具有較高的魯棒性。

在網絡搭建過程中,進行算法設計實現點云查詢分組,形成類似卷積的操作。點云查詢分組的目的主要是為了實現局部區域點云特征的聚合,防止下采樣過程中未采樣到的點云的特征丟失,實現局部區域的點云特征聚合至該局部區域內的單個中心點。另外查詢分組方式有球查詢和最近鄰(KNN)查詢等,大多是在采樣點的基礎上進行查詢分組,以實現局部區域特征的提取,其中球查詢是以采樣點作為球心,選取特定的半徑進行球形區域掃描,在球形區域內的點即為所需分組點,而最近鄰查詢是以采樣點作為中心點,選取離中心點周圍最近的k個點作為所需分組點,相對球查詢來說所分組中的點個數更加均勻,因此本文采用最近鄰采樣并通過多層感知機計算出每個局部區域鄰居點與中心點的關系系數,通過與DGCNN 中類似的方式完成鄰居點信息特征的聚合。

2.2.2 點云特征提取

點云的特征按照空間尺度有單點特征、局部特征和全局特征,按照物理屬性有幾何域和強度域等,部分網絡模型利用點云幾何特征作為一部分輸入取得了較好的效果,但提取幾何特征較為復雜,目前大多模型采用的是點云的空間尺度特征。本文采用最遠點采樣和最近鄰查詢實現多個分組,進而在空間特征尺度上實現點云不同層次特征的聚合,之后通過提出的基于偏移注意力機制和多特征融合的點云分類模型,以逼近數據特征所能決定的學習上限。

2.3 點云分類實驗環境

本實驗使用基于Python語言的Pytorch深度學習框架,硬件環境CPU為Intel(R)Core(TM)i5-9400F@2.90 GHz,GPU 為NVIDIA GeForce GTX 1070顯卡,具體軟件平臺配置如表1所示。

表1 軟件平臺配置Table 1 Software platform configuration

在實驗參數設置方面,K近鄰算法k值設置為20,采用SGDM(Stochastic Gradient Descent with Momentum)優化器,設置動量系數緩解SGD優化器可能的梯度下降方向不穩定問題,動量為默認值0.9,初始學習率(lr)設置為0.001。訓練的Batchsize設置為32,測試的Batchsize設置為16,共迭代訓練200次,采用BN 正則化(Batch Normalization)和RELU(Rectified Linear Unit)激活函數,并在全連接層后添加Dropout層防止網絡模型過擬合。

2.4 點云分類實驗結果分析

網絡模型訓練過程中,導入的原始點云數據通過多層感知機增加點云的通道數,進一步通過OFSA 和MFA 將全局的語義特征信息、局部特征信息以及點的相關性信息融合。不斷提取特征,增加點云特征矩陣的通道數,在提取的深層次點云特征矩陣上分別使用全局最大池化和全局平均池化,將所有特征點聚集為一個可用于分類的全局特征點,最終根據數據集的特性設計全連接層得到類別向量。選取類別向量中的最大值的索引作為預測類別,若訓練ModelNet40,網絡最后一層共40 個神經單元;訓練ScanObjectNN,網絡最后一層共15個神經單元。以訓練ModelNet40數據集為例,所提出的網絡不同層級通道數變換見表2所示,首先輸入最初的特征和采樣點,經過第1 個Make_layer層,輸出第1層的特征點和采樣點,用作下一層的輸入,不同層級均存在特征點和采樣點的輸入輸出,每一個Make_layer層基礎模塊的通道數變換如表2所示。

表2 網絡的通道數變換Table 2 Channel number conversion of network

應用標簽平滑計算交叉熵損失值作為三維點云分類的損失評估指標,用于模型的反向傳播過程中的權值等參數的更新。將提出的網絡模型在Model-Net40 數據集上與部分基于多視圖的方法、基于體素的方法和直接基于點的方法進行對比實驗,在分類總體準確率(Ao)和類別平均準確率(Am)上都達到較好的效果,該數據集的不同模型具體分類結果如表3所示。

表3 不同算法在ModelNet40數據集上分類結果比較Table 3 Different algorithms are compared to classify results on the ModelNet40 dataset

表3中的Input列是指輸入網絡模型的方式,輸入方式有體素、多視圖和直接基于點云3 個類別,Points指初始輸入的點的個數,1k為1 024個點,可以看出,在ModelNet40數據集上,基于體素的方法相對于基于多視圖和直接基于點云的方法表現得較差,部分模型由于缺少局部特征信息,較DGCNN等包含局部信息的模型預測分類準確率略微低一些。PCT 和DGCNN 可以較好的彌補缺少局部鄰域特征信息這一缺點,另外LDGCNN的殘差連接方式使得分類總體準確率相對DGCNN 提高了0.7 個百分點,故考慮構造一個鄰域拓撲結構提取局部特征,同時融合點云全局特征,最終搭建一個基于偏移注意力機制并融合圖結構信息的殘差網絡模型。實驗結果表明,與其他算法相比,LPCTNet網絡消耗的計算資源較少,可以更好地捕獲局部信息,在ModelNet40 點云目標分類任務中,Ao指標較Point-Net、LDGCNN、PCT模型分別提高4.4、0.7、0.4個百分點,Am指標較PointNet 和LDGCNN 分別提高4.7、0.4個百分點。

圖9表示的是在ScanObjectNN 數據上的混淆矩陣,橫坐標表示的是點云的實際類別,縱坐標表示的是預測類別,由于在列方向上進行了歸一化處理,故單元格范圍在0~1之間,其中混淆矩陣對角線表示的是單個類別的召回率,單個類別的精確率可通過行方向計算推理而出,即可通過該類別召回率的值和該類別行方向上總和的比值計算推理。

圖9 ScanObjectNN數據集混淆矩陣Fig.9 ScanObjectNN dataset confusion matrix

表4為不同算法在ScanObjectNN 數據集上分類結果,在ScanObjectNN 數據集上的實驗結果表明,與其他算法相比,所提出的算法模型的分類總體準確率較高,Ao指標較PointNet++和DGCNN模型分別提高5.8、5.6 個百分點,Am指標較PointNet++和DGCNN分別提高5.5、7.3個百分點。

表4 不同算法在ScanObjectNN數據集上分類結果比較Table 4 Different algorithms are compared on the ScanObjectNN dataset

2.5 消融實驗

不同模塊的嵌入對模型的影響不同,為研究不同模塊的重要程度,在ModelNet40點云分類數據集上進行模型消融實驗,分別將多特征融合模塊,殘差連接和偏移注意力機制融入網絡結構中進行實驗,另外為驗證不同模塊的性能,嘗試單獨去掉一個模塊進行消融實驗,共進行6組不同模型結構的對比實驗,以發現不同模塊對網絡總體分類預測準確率的影響程度。

由表5可知,不使用采樣點的全局特征和局部鄰域結構的融合模型的分類總體準確率僅為89.2%;為捕捉全局的特征信息,在提取采樣層級局部區域的特征信息的同時對輸入層的點云特征實現特征層面上的拼接,同時和特征層級局部區域特征信息相聚合,實現多特征信息的融合,使得網絡的準確率達到92.3%;進一步融入殘差結構,網絡模型的分類總體準確率提升0.8個百分點;最后在此基礎上引入偏移注意力機制,分類總體準確率達到93.6%。另外,從表中可知,當去除多特征融合模塊時,分類總體準確率和類別平均準確率分別下降了2.0 和3.8 個百分點,相對偏移注意力機制和殘差連接而言下降的更加明顯,因此多特征融合模塊在提升精度方面的效果最為顯著,而偏移注意力機制和殘差連接對精度也有一定的提升效果。

表5 模塊重要性分析結果Table 5 Module importance analysis results

3 結語

本文提出了一種基于偏移注意力機制和多特征融合的殘差點云網絡,利用了偏移注意力機制提取點云的全局語義信息,多特征融合模塊實現原始層級和特征層級的全局信息和局部信息的融合,在ModelNet40和ScanObjectNN數據集上取得了較好的分類識別效果。

本文提出的模型主要貢獻有以下幾點:①引入殘差結構實現了來自不同層級所聚合的特征的有效連接,避免了梯度消失的問題。②增加了偏移注意力機制,獲取點的相關性,提取點云的隱式全局語義特征。③在提取局部特征的基礎上,增加點的全局信息特征,提高網絡模型對點云的幾何形狀感知能力。通過在不同數據集上的經典模型對比實驗以及自身的消融實驗證明了本文所提出的模型具有較高的準確率,且具備較好的魯棒性。

目前較多的點云分類算法難以兼容準確率和速度,如何進行改進以適應不同的環境需求是未來重點考慮的研究方向之一。

猜你喜歡
注意力準確率分類
讓注意力“飛”回來
分類算一算
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
分類討論求坐標
高速公路車牌識別標識站準確率驗證法
數據分析中的分類討論
教你一招:數的分類
“揚眼”APP:讓注意力“變現”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合