沈 露,楊家志,2,周國清,2,霍佳欣,陳夢強,于廣旺,張玉陽
1.桂林理工大學(xué) 信息科學(xué)與工程學(xué)院,廣西 桂林 541006
2.廣西嵌入式技術(shù)與智能系統(tǒng)重點實驗室,廣西 桂林 541006
3.哈爾濱市城市通智能卡有限責(zé)任公司,哈爾濱 150000
隨著3D點云數(shù)據(jù)采樣技術(shù)的快速發(fā)展,3D點云數(shù)據(jù)廣泛應(yīng)用在機器人技術(shù)[1]、自動駕駛[2]、虛擬現(xiàn)實[3]等領(lǐng)域,3D 點云數(shù)據(jù)分類與分割是以上領(lǐng)域中點云數(shù)據(jù)處理的關(guān)鍵步驟。因此,對點云數(shù)據(jù)分類與分割的研究具有重要的意義。
近年來,隨著卷積神經(jīng)網(wǎng)絡(luò)(CNN)在二維圖像數(shù)據(jù)的分類分割中取得了顯著的成績[4],一些學(xué)者也嘗試將神經(jīng)網(wǎng)絡(luò)運用到3D點云數(shù)據(jù)中。然而,3D點云數(shù)據(jù)的結(jié)構(gòu)與二維圖像數(shù)據(jù)有所不同,3D 點云數(shù)據(jù)具有離散分布、非結(jié)構(gòu)化、無序性的特點,給神經(jīng)網(wǎng)絡(luò)運用到3D點云數(shù)據(jù)中帶來了挑戰(zhàn)。
為了應(yīng)對這個挑戰(zhàn),一些學(xué)者將不規(guī)則的點云數(shù)據(jù)轉(zhuǎn)化到特定的規(guī)則區(qū)域中以便于用現(xiàn)有的深度網(wǎng)絡(luò)進行特征學(xué)習(xí)。Maturana 等[5]提出了基于體素化的方法VoxNet,將點云數(shù)據(jù)轉(zhuǎn)換到三維體素空間,利用三維卷積進行特征提取,缺點是三維卷積會耗費大量的計算空間與內(nèi)存。為了解決此問題,Riegler 等[6]提出了OctNet網(wǎng)絡(luò),動態(tài)地調(diào)整分辨率以減少內(nèi)存的消耗。文獻[7]和文獻[8]提出了多視圖的方法,將3D點云數(shù)據(jù)投影到二維空間中,利用二維卷積來減少計算量,但在數(shù)據(jù)轉(zhuǎn)換的過程中,往往會破壞數(shù)據(jù)的結(jié)構(gòu),導(dǎo)致顯示信息的丟失。針對此問題,Qi等[9]提出的PointNet網(wǎng)絡(luò),利用多層感知器與對稱函數(shù)在原始點云數(shù)據(jù)上對每個點的特征進行單獨提取,缺點是忽略了局部特征。隨后,學(xué)者們開始研究對點云數(shù)據(jù)的局部特征的提取,例如,Point-Net++[10]使用最遠距離采樣和球半徑方法和動態(tài)圖卷積(dynamic graph CNN for learning on point clouds,DGCNN)[11]采用K臨近算法(K-nearest neighbor,KNN)來構(gòu)造局部區(qū)域,并提取單個局部領(lǐng)域特征,但忽略了鄰域與鄰域之間的特征。
針對以上問題,本文根據(jù)Transformer[12]中自注意力模塊的特性設(shè)計出了適合點云數(shù)據(jù)的自注意力模塊,且成功與邊卷積模塊相結(jié)合,提出了集中注意力與邊卷積相結(jié)合的分類分割網(wǎng)絡(luò)——Self Attention DGCNN。該模型通過邊卷積模塊提取每個小的點云局部特征,有效彌補了PointNet算法中忽略點云局部特征的問題,通過設(shè)計的自注意力模塊提取點云上下文特征并與邊卷積模塊相結(jié)合,有效地彌補了DGCNN模型中忽略了領(lǐng)域與領(lǐng)域之間的特征問題。Self Attention DGCN網(wǎng)絡(luò)通過自注意力模塊根據(jù)全局上下文特征生成細化的注意特征和邊卷積模塊獲取的局部特征,再經(jīng)過多層感知器將這兩部分特征進行融合,有效地解決了無法捕獲點之間的局部結(jié)構(gòu)信息和鄰域之間的特征信息,提高了模型的精度以及模型的魯棒性。
Self Attention DGCNN 網(wǎng)絡(luò)由多個邊卷積模塊和自注意力模塊構(gòu)成。其中邊卷積模塊主要用以獲取點云的局部特征,自注意力模塊主要用于獲取點云各點的上下文特征,最后經(jīng)過最大池化層和平均池化層得到兩個高維的特征向量再進行拼接操作得到一維全局特征,并通過三個全連接網(wǎng)絡(luò)得到預(yù)測的特征向量。下面將具體介紹邊卷積模塊和自注意力模塊的設(shè)計,以及根據(jù)這兩個模塊所構(gòu)成的分類與分割網(wǎng)絡(luò)模型。Self Attention DGCNN 網(wǎng)絡(luò)的總體架構(gòu)如圖1 所示,Self Attention DGCNN 分類網(wǎng)絡(luò)如圖2 所示,Self Attention DGCNN分割網(wǎng)絡(luò)如圖3所示。
圖1 Self Attention DGCNN網(wǎng)絡(luò)總體結(jié)構(gòu)Fig.1 Self Attention DGCNN network general structure
圖2 Self Attention DGCNN分類網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.2 Self Attention DGCNN classfication network model structure
圖3 Self Attention DGCNN分割網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.3 Self Attention DGCNN segmentation network model structure
如圖2 是本文提出的Self Attention DGCNN 點云分類網(wǎng)絡(luò)模型結(jié)構(gòu)圖。主要由三個SAConv塊組成,每一個SAConv塊由一個自注意力塊和邊卷積塊所構(gòu)成,其詳細構(gòu)成方式如圖4所示。SAConv塊的輸入是n×f的特征向量,同時經(jīng)過自注意力塊輸出點的上下文特征n×sout和邊卷積塊輸出局域特征n×eout,其中sout和eout相同,再將得到的上下文特征和區(qū)域特征經(jīng)過concat操作連接在一起,經(jīng)過多層感知器MLP(multilayer perceptron)輸出融合后的特征n×fout,其中fout為sout和eout之和,然后將融合的特征傳遞到下一個SAConv 塊中形成動態(tài)特征更新。為了獲取最終的特征描述f,本文將最終的全局特征經(jīng)過最大池化層和平均池化層得到兩個高維的特征向量再進行concat 操作得到最后的特征f,將f輸入到3 層全連接網(wǎng)絡(luò)中,用于最終的分類結(jié)果。前兩層全連接網(wǎng)絡(luò)采用隨機丟棄神經(jīng)節(jié)點技術(shù),丟棄的概率設(shè)置成50%,最后一層輸出目標(biāo)預(yù)測的最終得分。MLP代表多層感知器,C表示concat表示連接操作,maxpool 表示最大池化層,avgpool 表示平均池化層,F(xiàn)C 表示全連接層(fully connected layers),result表示分類的類別數(shù),n表示輸入點云的數(shù)量,3表示點云的坐標(biāo)軸(x,y,z)。
圖4 SAConv網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 SAConv network structure
整個過程的數(shù)學(xué)描述如公式(1)所示:
Self Attention DGCNN 分割網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示,它和分類網(wǎng)絡(luò)結(jié)構(gòu)很相似,采用三個SAConv塊來獲取整個點云的全局特征,用三層多層感知器來進行不同特征的融合,多層感知器節(jié)點數(shù)設(shè)置為{128,256,512},將全局特征經(jīng)過平均池化層和最大池化層,通過concat操作連接成一個n×2 048特征向量,再將連接形成的特征向量,全局特征向量與部件特征向量進行concat 操作,形成最終的用于部件分割的特征描述g。將g輸入到三層全連接網(wǎng)絡(luò)中,用于最終的分類結(jié)果。
受到Transformer[12]中自注意力的啟發(fā),本文設(shè)計了一個基于3D點云數(shù)據(jù)的自注意力模塊,具體流程如圖5所示,F(xiàn)(Q,K,V)具體結(jié)構(gòu)如圖6 所示。MLP 代表多層感知器,sub 代表求差,sum 代表求和,transpose 代表維度轉(zhuǎn)換,multiple代表乘法。
圖5 自注意力模塊Fig.5 Self-attention module
圖6 F(Q,K,V)網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 F(Q,K,V) network structure
將上一層輸出的結(jié)經(jīng)過多層感知器(MLP)得到Nin∈Rn×m,Nin經(jīng)過設(shè)計的自注意力層(SA 層),得到細化的注意特征,詳細過程描述如公式(2):
其中,Q是查詢矩陣,K是鍵矩陣,V是值矩陣,Wq、Wk、Wv是可以學(xué)習(xí)的權(quán)重,c是Q和K的維數(shù),l是V的維數(shù),且在設(shè)計中,c=l/4,n是輸入的點云數(shù)量。
先對查詢矩陣(Q)和鍵矩陣(K)進行點積,得到注意力權(quán)重σ:
對得到的權(quán)重信息進行歸一化操作得到θ:
再將得到的θ與值向量的加權(quán)和得到自我注意力特征φ:
最后將Nin與φ作差,并將值送入多層感知器并與Nin求和,從而得到最終的結(jié)果SAout:
將上一層的輸出作為邊卷積層的輸入,設(shè)Pi∈Rn×f。n為上一層輸出的點云數(shù)據(jù)的點數(shù),f為上一層的特征維數(shù)。根據(jù)動態(tài)圖卷積網(wǎng)絡(luò)原始論文對邊卷積(edge Conv)的描述以及實驗情況,構(gòu)建了一個更加詳細的邊卷積網(wǎng)絡(luò),如圖7所示。maxpool代表最大池化層。
圖7 邊卷積網(wǎng)絡(luò)Fig.7 Edge convolutional network
Xi∈Pi,Xi通過KNN算法獲得與Xi最近的K個臨近點X(i,j)∈Pi的局部圖結(jié)構(gòu),如圖8 所示,具體操作如公式(7)所示:
圖8 KNN臨近點Fig.8 KNN proximity points
∏表示歐幾里德范數(shù),點云數(shù)據(jù)通過KNN 算法后通過多層感知器抽取出每個點的邊緣特征,最后通過maxpool函數(shù)得到邊卷積的輸出結(jié)果EAout:
其中,W為該卷積核的權(quán)重,ρ為中心點云經(jīng)過KNN算法后構(gòu)建的中心點與鄰近點的集合,EAout為邊卷積塊的輸出。
本文采用的分類的數(shù)據(jù)集為ModelNet40[13]與ModelNet10[13],部件分割的數(shù)據(jù)集為ShapeNet[14]。Model-Net40 數(shù)據(jù)集有40 個類別分類,一共有12 311 個模型,其中9 843 個模型用于訓(xùn)練,2 468 個模型用于測試。ModelNet10該數(shù)據(jù)集有10個類別分類,一共有4 899個模型,其中3 991 個模型用于訓(xùn)練,908 個模型用于測試。ShapeNet數(shù)據(jù)集一共有16個大的類別和50個小的部件類別,一共有16 881個數(shù)據(jù)模型。
本文實驗在以下環(huán)境中進行:NVⅠDⅠA RTX 3060 GPU,Windows10 專業(yè)版下的Pycharm,python 版本為3.9.7,CUDA 版本為11.3,pytorch 版本為1.10.2;采用隨機梯度下降(stochastic gradient descent,SGD)優(yōu)化器進行優(yōu)化,訓(xùn)練的周期為300,批量大小為10,初始化學(xué)習(xí)率為0.1,動量系數(shù)為0.9;采用間隔調(diào)整學(xué)習(xí)率,其中step_size 設(shè)置成50,gamma 設(shè)置成0.3,KNN 中的K設(shè)置成20。在數(shù)據(jù)增強方面,采用0.80~1.25 的點云隨機縮放,0~12.5%的隨機丟棄,N(0,0.01)隨機抖動的數(shù)據(jù)增強方法。
2.2.1 分類結(jié)果分析
為了驗證分類模型的效果,在公開數(shù)據(jù)集Model-Net40 和ModelNet10 上分別做實驗。本文采取和其他算法一致的評判規(guī)則,計算平均分類率(mean class accuracy,mAcc)和總體準(zhǔn)確率(overall accuracy,OA),與近幾年來一些基于深度學(xué)習(xí)的點云分類方法做了比較。比較的算法有:PointNet、PointNet++、3D-GCN、DGCNN、PointCNN、PointASNL、Point Cloud Transformer、PointWeb、MANet、GCN3D、PCNN、KD-Net、JUSTLOOKUP、Point2Sequences、LFT-Net、3DMedPT、DTNet、RCNet-E、A-CNN,比較結(jié)果如表1、2所示。
表1 不同方法在ModelNet40數(shù)據(jù)集上分類的精度Table 1 Accuracy of different methods for classification on ModelNet40 dataset 單位:%
由表1可知,本文方法在ModelNet40數(shù)據(jù)集上的平均精度(mAcc)達到了90.8%,總體精度(OA)達到了93.5%。在總體精度上比表中近三年基于深度學(xué)習(xí)的方法3D-GCN、PointASNL、Point Cloud Transformer、MANet、GCN3D、LFT-Net、3DMedPT、DTNet 分別高出1.4、0.3、0.3、1.0、0.5、0.3、0.1、0.6 個百分點;比經(jīng)典算法PointNet、PointNet++分別高出4.3、2.8 個百分點。在平均精度上比表中近三年基于深度學(xué)習(xí)的方法GCN3D、LFT-Net、DTNet分別高出0.5、1.1、0.4個百分點;比經(jīng)典算法PointNet高出4.6個百分點。由表2可知,本文方法在ModelNet10 數(shù)據(jù)集上的平均精度(mAcc)達到了95.8%,總體精度(OA)達到了95.9%。在總體精度上比表中近三年基于深度學(xué)習(xí)的方法PointASNL、A-CNN分別高出0.2、0.4個百分點;在平均精度上比表中近三年基于深度學(xué)習(xí)的方法A-CNN 高出0.5 個百分點。由表1、表2可見,Self Attention DGCN分類網(wǎng)絡(luò)在ModelNet40與ModelNet10數(shù)據(jù)集上相比其他網(wǎng)絡(luò)模型有更好的精度表現(xiàn)。
表2 不同方法在ModelNet10數(shù)據(jù)集上分類的精度Table 2 Accuracy of different methods for classification on ModelNet10 dataset 單位:%
2.2.2 部件分割結(jié)果分析
為了驗證分割模型的效果,在公開數(shù)據(jù)集ShapeNet上進行了大量實驗。本文采取和其他算法一致的評判規(guī)則,計算平均并交比(mean intersection over union,mⅠoU)和各物體單類的并交比(intersection over union,ⅠoU),與近幾年來一些基于深度學(xué)習(xí)的點云分類方法做了比較。比較的算法有:PointNet、PointNet++、3D-GCN、DGCNN、GCN3D、PointConv、3D-GCN、DTNet,比較結(jié)果如表3所示,部分物品分割可視化結(jié)果如圖9所示。
表3 不同方法在ShapeNet數(shù)據(jù)集上部件分割的精度Table 3 Accuracy of different methods for part segmentation on ShapeNet dataset 單位:%
圖9 Self Attention DGCNN分割網(wǎng)絡(luò)可視化結(jié)果Fig.9 Self Attention DGCNN segmentation network visualization results
由表3可見,本文方法在ShapeNet數(shù)據(jù)集上的平均并交比達到了86.1%,比表中PointConv網(wǎng)絡(luò)高出0.4個百分點,比最低的PointNet網(wǎng)絡(luò)高2.4個百分點,比近三年基于深度學(xué)習(xí)的方法GCN3D、3D-GCN、DTNet 分別高出0.9、1.0、0.5 個百分點。Self Attention DGCNN 分割網(wǎng)絡(luò)在椅子、耳機、刀、燈、火箭、桌子類別的分割效果很好,從這幾類的并交比上看,均高于表中其他方法。圖9 從上到下,第一行為原始點云分割可視化結(jié)果,第二行為網(wǎng)絡(luò)測試分割可視化結(jié)果。通過表3數(shù)據(jù)和圖9可視化結(jié)果可知,Self Attention DGCNN 分割網(wǎng)絡(luò)在ShapeNet數(shù)據(jù)集上有很好的分割效果。
本文采用自注意模塊提取點的上下文特征和邊卷積模塊提取局部特征。為了驗證這兩個模塊的有效性和特征融合的有效性,本文在點云分類和部件分割上做了如下實驗。
2.3.1 點云分類消融實驗
Self Attention DGCNN分類模型包含三層SAConv模塊,第一層、二層、三層SAConv 模塊的維度分別為128、256、512,每一個SAConv 模塊包含一個自注意力模塊和邊卷積模塊。本文通過減少SAConv 模塊的數(shù)量和減少SAConv 模塊中的自注意力模塊和邊卷積模塊來驗證各個模塊對點云分類任務(wù)的有效性。具體實驗設(shè)置以及實驗結(jié)果如表4所示。
通過表4 的結(jié)果可見,當(dāng)三層SAConv 模塊中只包含自注意力模塊時平均精度(mAcc)為84.5%,總體精度(OA)為89.5%,只包含邊卷積模塊時平均精度(mAcc)為89.9%,總體精度(OA)為92.7%。當(dāng)只有一層SAConv模塊時平均精度(mAcc)為89.3%,總體精度(OA)為92.3%,當(dāng)增加一層SAConv(256)時,平均精度和總體精度相較一層SAConv(128)提升了1.4 個百分點和0.7 個百分點,當(dāng)有三層SAConv(128,256,512)時,相較只有兩層SAConv(128,256)平均精度(mAcc)提升了0.1 個百分點,總體精度(OA)提升了0.5 個百分點,相較于三層SAConv模塊中無自注意力塊平均精度提升了0.9個百分點,總體精度提升了0.8 個百分點,相較于三層SAConv 模塊中無邊卷積塊平均精度提升了6.3 個百分點,總體精度提升了4.0個百分點。實驗結(jié)果表明,自注意力塊和邊卷積塊融合的SAConv 塊對點云模型分類性能有顯著的提升。
2.3.2 點云部件分割消融實驗
Self Attention DGCNN 部分分割模型包含三層SAConv 模塊,每個SAConv 塊的輸出節(jié)點數(shù)與分類模型基本一致,驗證各模塊的有效性設(shè)置方法與分類一致。具體實驗設(shè)置以及實驗結(jié)果如表5所示。
表5 點云部件分割消融實驗Table 5 Ablation experiment of point cloud part segmentation 單位:%
通過表5實驗結(jié)果可知,三層SAConv時,平均交并比(mⅠoU)為86.1%,相較于不同模塊設(shè)置擁有不同程度的提升,可以看出SAConv模塊對點云部分分割性能有著明顯的改善。
為了驗證Self Attention DGCNN 網(wǎng)絡(luò)模型具有較好的魯棒性,在ShapeNet 數(shù)據(jù)集和ModelNet40 數(shù)據(jù)集上對輸入點云數(shù)量為1 024個點得到的數(shù)據(jù)模型做{256,512,768,1 024}數(shù)量的點云的輸入實驗。在ModelNet40數(shù)據(jù)集上的實驗結(jié)果如表6所示,在ShapeNet數(shù)據(jù)集上的實驗結(jié)果如圖9所示,ShapeNet數(shù)據(jù)集上可視化如圖10所示。
表6 輸入不同點云數(shù)量在ModelNet40數(shù)據(jù)集上分類精度Table 6 Classification accuracy on ModelNet40 dataset with different numbers of point clouds 單位:%
圖10 不同點云數(shù)量在ShapeNet數(shù)據(jù)集上分割精度Fig.10 Segmentation accuracy on ShapeNet dataset with different numbers of point clouds
從表6 可見,Self Attention DGCNN 分類網(wǎng)絡(luò)在數(shù)據(jù)集ModelNet40上,輸入不同數(shù)量的點云,在總體精度和平均精度上都是高于DGCNN網(wǎng)絡(luò),而且Self Attention DGCNN 分類網(wǎng)絡(luò)在輸入點云只有原模型的四分之一時,平均精度(mAcc)能達到87.7%,總體精度(OA)能達到91.0%,說明本文的分類網(wǎng)絡(luò)具有較好的魯棒性。
從圖10 可見,Self Attention DGCNN 分割網(wǎng)絡(luò)在輸入點數(shù)為256、512、768、1 024時,平均交并比(mⅠoU)分別為81.6%、85.0%、85.7%、86.1%。如圖11 從上至下依次為刀、杯子、耳機,從左到右依次的采樣點數(shù)為256、512、768、1 024。通過可視化和數(shù)據(jù)對比得知,本文的分割網(wǎng)絡(luò)在稀疏點云上依舊有較好的魯棒性。
圖11 不同點云數(shù)量在ShapeNet數(shù)據(jù)集上可視化結(jié)果Fig.11 Visualization results of different numbers of point clouds on ShapeNet dataset
在本節(jié)中討論了KNN 算法中的K的取值對模型性能的影響。在ModelNet40數(shù)據(jù)集上,對輸入1 024個點,迭代300 輪的情況下對不同的K值做了詳細的測試。測試精度以及測試一輪的耗時結(jié)果如表7所示。
表7 不同K值對網(wǎng)絡(luò)模型的影響Table 7 Effects of different K values on network model
由表7可知,不同的K值選擇對精度和訓(xùn)練時間會有一定的影響,K值太小會使模型的感受野很小,不能很好地捕捉中心點云與周圍點云的特征,如果K值太大也會使得模型的精度有所降低,K值越大訓(xùn)練時間也越長。根據(jù)以上實驗結(jié)果圖的對比分析并平衡精度和訓(xùn)練時間,本文選擇合適的K=20 值來進行模型訓(xùn)練。
為了驗證Self Attention DGCNN 網(wǎng)絡(luò)模型具有較好實用性,對Self Attention DGCNN網(wǎng)絡(luò)模型的模型大小及訓(xùn)練耗時進行了對比實驗。為了實驗的公平性,參與對比的方法均采用相同的設(shè)置—訓(xùn)練的周期為300,批量大小為10,初始化學(xué)習(xí)率為0.1,動量系數(shù)為0.9;采用間隔調(diào)整學(xué)習(xí)率,其中step_size 設(shè)置成50,gamma 設(shè)置成0.3。在ModelNet40數(shù)據(jù)集上的實驗結(jié)果如表8所示。
表8 不同網(wǎng)絡(luò)模型在ModelNet40數(shù)據(jù)集上性能對比Table 8 Performance comparison of different network models on ModelNet40 dataset
由表8可知,本文提出的Self Attention DGCNN方法在ModelNet40數(shù)據(jù)集上訓(xùn)練一輪大約需要耗時223 s,訓(xùn)練得到的模型大小為22.2 MB,總體精度(OA)為93.5%。因為本文算法在每一個邊卷積模塊上添加了自注意力模塊,所以在模型大小上比表中其他方法都大。由于自注意模塊基本上都是由多層感知器構(gòu)成且自注意力模塊可以有效的獲取點云數(shù)據(jù)中的上下文特征,所以在每一輪耗時上比表中大多數(shù)網(wǎng)絡(luò)都少,在總體精度上比表中所有方法都高。通過對表8分析得知,本文模型具有較好的實用性。
本文設(shè)計了適合處理點云數(shù)據(jù)的自注意力模塊和提出了新的網(wǎng)絡(luò)架構(gòu)——Self Attention DGCNN。該模型考慮了細化的注意特征和局部特征在點云數(shù)據(jù)分類與分割中的作用,通過自注意力模塊提取細化的注意力特征,邊卷積模塊提取局部特征,對細化的注意力特征和局部特征進行融合,提升網(wǎng)絡(luò)的魯棒性和準(zhǔn)確率。Self Attention DGCNN網(wǎng)絡(luò)在分類數(shù)據(jù)集:ModelNet10、ModelNet40,分割數(shù)據(jù)集:ShapeNet上,與經(jīng)典或者最新的基于深度學(xué)習(xí)的方法相比,取得了領(lǐng)先或者相當(dāng)?shù)木刃Ч1疚奶岢龅乃惴ǔ晒⒆宰⒁饬δK與邊卷積相結(jié)合,為后面3D 點云數(shù)據(jù)分類提供了新的思路與解決方案。當(dāng)然,Self Attention DGCNN網(wǎng)絡(luò)仍有很大的提升空間,如更加合理地設(shè)計自注意力模塊,使得模型的參數(shù)量減少,這是將來的研究方向。