顧 礫,季 怡,劉純平
(蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇蘇州 215006)
近年來,三維物體識別是計(jì)算機(jī)視覺領(lǐng)域的研究熱點(diǎn)之一。常見的三維圖像表示方法有點(diǎn)云、網(wǎng)格、體素與多視角圖像等,其中點(diǎn)云是結(jié)構(gòu)簡單且接近原始采集數(shù)據(jù)的方法,在自動駕駛及機(jī)器人學(xué)等方面具有廣泛的應(yīng)用前景。由于Kinect等廉價三維獲取設(shè)備的快速發(fā)展使得點(diǎn)云數(shù)據(jù)更易獲取,因此三維點(diǎn)云識別逐漸成為計(jì)算機(jī)視覺領(lǐng)域的主要研究內(nèi)容。
點(diǎn)云分類是點(diǎn)云識別的一項(xiàng)重要前置任務(wù),且傳統(tǒng)的點(diǎn)云分類方法[1-3]通常采用人工構(gòu)建的描述子提取其幾何特征,通過將點(diǎn)云轉(zhuǎn)換為體素形式[4],再使用二維圖像中常用的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)對特征進(jìn)行提取,并用于完成后續(xù)任務(wù)。該方法具有較好的普適性,但是體素形式的數(shù)據(jù)表現(xiàn)精度依賴于體素分辨率,而高分辨率引起的龐大計(jì)算量將限制其發(fā)展。由于人工設(shè)計(jì)的限制,傳統(tǒng)方法普遍存在精度瓶頸以及魯棒性不足的問題,且隨著神經(jīng)網(wǎng)絡(luò)在二維圖像感知領(lǐng)域的快速發(fā)展,研究人員逐漸將其運(yùn)用到三維點(diǎn)云上學(xué)習(xí)點(diǎn)云特征。文獻(xiàn)[5]構(gòu)建一種創(chuàng)新性模型,該模型可以直接對原始點(diǎn)云進(jìn)行處理,且在分類和分割任務(wù)上均取得良好效果,但其缺乏提取點(diǎn)云局部特征的能力。針對該問題,文獻(xiàn)[6-7]通過引入多尺度來優(yōu)化局部特征的提取性能。文獻(xiàn)[8]提出更為簡單高效的點(diǎn)云特征提取PointCNN模型,使得分類精度得到大幅提升,但與采用多視角圖像作為輸入的MVCNN[9]、GVCNN[10]等模型相比,該模型的整體性能偏低,這主要是由點(diǎn)云數(shù)據(jù)的本身信息量有限導(dǎo)致的。
本文在多模態(tài)特征融合的基礎(chǔ)上,設(shè)計(jì)一種三維點(diǎn)云分類模型。為解決點(diǎn)云數(shù)據(jù)信息量不足的問題,該模型引入投影圖作為補(bǔ)充,同時使用點(diǎn)云與圖像作為輸入,利用點(diǎn)云與圖像的特征提取模塊得到其對應(yīng)的分類特征,并對特征進(jìn)行加權(quán)線性融合得到最終分類結(jié)果。
傳統(tǒng)的點(diǎn)云特征是針對特定需求而手工設(shè)計(jì)的,例如描述局部表面變化的點(diǎn)特征直方圖(Point Feature Histogram,PFH)以及用于全局路徑規(guī)劃的方向區(qū)間柱圖(Vector Field Histogram,VFH)。隨著深度學(xué)習(xí)在三維領(lǐng)域的發(fā)展,研究人員開始嘗試?yán)脵C(jī)器自動學(xué)習(xí)點(diǎn)云特征。PointNet模型具有開創(chuàng)性,該模型是首個直接將三維點(diǎn)云作為輸入的模型,且在點(diǎn)云分類和分割任務(wù)上取得顯著成果。后續(xù)涌現(xiàn)出很多點(diǎn)云深度學(xué)習(xí)模型,如PointCNN、Point2Seq等。除點(diǎn)云外,其他基于三維表示法的深度學(xué)習(xí)模型也發(fā)展迅速,如基于投影圖的MVCNN、GVCNN以及基于體素的VoxNet。
點(diǎn)云深度學(xué)習(xí)的難點(diǎn)之一是點(diǎn)云數(shù)據(jù)的信息量有限,除了繼續(xù)深入研究點(diǎn)云特征提取方法外,還可以考慮通過引入其他三維表示法的數(shù)據(jù)進(jìn)行補(bǔ)充。以往研究多數(shù)選擇體素和點(diǎn)云數(shù)據(jù)相融合,而體素是一種不能直接獲得的三維表示方法,通常需要從點(diǎn)云數(shù)據(jù)開始轉(zhuǎn)換,這意味著如果原始點(diǎn)云數(shù)據(jù)存在缺失,則體素對應(yīng)部分也會缺失,因此不能很好地用作信息補(bǔ)充。
投影圖表示法的優(yōu)勢在于圖像特征提取技術(shù)與其他技術(shù)相比已經(jīng)非常成熟,采用簡單模型即可獲得較好的效果,但一般需要利用多視角采集來克服遮擋問題,而點(diǎn)云數(shù)據(jù)可彌補(bǔ)該不足。因此,本文選擇采用二維投影圖對信息進(jìn)行擴(kuò)充,將通過PointCNN得到的點(diǎn)云特征和二維CNN得到的投影圖特征在分類層上進(jìn)行融合,從而提高模型的分類效果。
針對點(diǎn)云數(shù)據(jù)自身信息量不足的問題,本文依據(jù)文獻(xiàn)[11]中從其他模態(tài)引入信息進(jìn)行彌補(bǔ)的思想,提出將點(diǎn)云特征和圖像特征相結(jié)合的分類算法,以提高分類精度?;诙嗄B(tài)特征融合的點(diǎn)云分類模型如圖1所示。從圖1可知,模型存在2個分支,一個分支用于提取點(diǎn)云數(shù)據(jù)的特征,另一個分支用于提取圖像特征,且對每個實(shí)例同時輸入點(diǎn)云和圖像數(shù)據(jù)。點(diǎn)云特征分支的原始輸入是一個包含N個點(diǎn)的三維點(diǎn)云,且每個點(diǎn)有其對應(yīng)的x、y、z坐標(biāo)。圖像特征分支的輸入是分辨率為n×n的投影圖,且?guī)в蠷GB特征通道。點(diǎn)云和圖像通過對應(yīng)的特征提取模塊和logSoftmax函數(shù)得到各自的分類置信度矩陣,將2個矩陣進(jìn)行加權(quán)線性融合,最終得到輸入實(shí)例的預(yù)測類別。
圖1 基于多模態(tài)特征融合的點(diǎn)云分類模型Fig.1 Point cloud classification model based on multiple modal feature fusion
CNN[12]是深度學(xué)習(xí)的代表算法之一,隨著深度學(xué)習(xí)理論的提出和計(jì)算設(shè)備的更替,它得到了快速發(fā)展,并被廣泛應(yīng)用于自然語言處理、計(jì)算機(jī)視覺等領(lǐng)域。自AlexNet[13]開始,得到GPU加速支持的復(fù)雜CNN普遍用于提取二維圖像特征,其中,最具代表性且使用最多的是VGG[14]、ResNet[15]模型及其改進(jìn)算法[16]。
圖像特征提取模塊選擇較為普遍使用的VGG11、ResNet50和ResNeXt101三種模型,采用其在ImageNet1K上的預(yù)訓(xùn)練模型對數(shù)據(jù)集進(jìn)行微調(diào),以提高分類精度。每個輸入實(shí)例得到的是一個M為40維的分類特征矩陣,并統(tǒng)一記為Aimg。
傳統(tǒng)卷積算法是基于結(jié)構(gòu)化數(shù)據(jù)(如圖像、音頻等)作為輸入而設(shè)計(jì)的,然而三維點(diǎn)云是典型的非結(jié)構(gòu)化數(shù)據(jù),因此并不能將上述CNN直接作用于其點(diǎn)云數(shù)據(jù)上。文獻(xiàn)[8]依據(jù)傳統(tǒng)CNN思想提出基于點(diǎn)云的X-Conv操作,示例如圖2所示。其中,點(diǎn)的數(shù)量表示對應(yīng)的通道數(shù)目。X-Conv操作的主要思想是通過遞歸的卷積操作,將選定點(diǎn)鄰域中其他點(diǎn)的特征聚集到該點(diǎn)上(9→5→2),使得選定點(diǎn)包含更多信息。
圖2 X-Conv操作示例Fig.2 Example of X-Conv operation
PointCNN的輸入是一個三維點(diǎn)云,可表示為F1={(p1,i,f1,)i:i=1,2,…,N1},即一組點(diǎn)集{p1,i,p1,i∈?Dim}及每個點(diǎn)對應(yīng)的特征集,C1表示初始特征通道深度。X-卷積算子的目的是將輸入的F1轉(zhuǎn)換為,其中,{p2,}i是從{p1,}i中選定的點(diǎn)子集,N2<N1且C2>C1,這說明經(jīng)過X-卷積轉(zhuǎn)換后的F2包含的特征點(diǎn)數(shù)減少,而對應(yīng)的特征通道數(shù)增加。X-卷積如算法1所示。
算法1X-卷積算法
本文用p表示{p2,}i中的一個點(diǎn),p對應(yīng)的特征為f,N表示點(diǎn)p在{p1,}i中的k近鄰集,則點(diǎn)p在X-卷積中的對應(yīng)輸入是一個無序點(diǎn)集S={(pi,f)i,pi∈N}。S可不失一般性地表示為k×Dim維矩陣P=(p1,p2,…,pk)T和k×C1維矩陣F=(f1,f2,…,fk)T,K表示可訓(xùn)練的卷積核。經(jīng)過X-Conv后得到的輸出Fp是輸入特征在點(diǎn)p上的投影或集合。
X-卷積算子可簡寫為:
點(diǎn)云特征提取模塊結(jié)構(gòu)如圖3所示,該模塊由4個X-Conv卷積層和3個全連接層組成。N代表輸入的特征點(diǎn)數(shù),初始輸入N為1 024,C為每個特征點(diǎn)輸出時對應(yīng)的特征通道數(shù),K為計(jì)算時選擇的近鄰點(diǎn)個數(shù),D表示空洞卷積[17]中卷積核的間隔數(shù)量。4層X-Conv卷積層的參數(shù)分別為:N1=1 024,C1=48,K1=8,D1=1;N2=384,C2=96,K2=12,D2=2;N3=128,C3=192,K3=16,D3=2;N4=128,C4=384,K4=16,D4=3。在每個X-Conv卷積層和前2個全連接層后均使用ReLU激活函數(shù),并在第2個全連接層后加入?yún)?shù)值為0.5的隨機(jī)失活,最終每個輸入實(shí)例得到一個M為40維的分類特征矩陣Apc。
圖3 點(diǎn)云特征提取模塊結(jié)構(gòu)Fig.3 Structure of point cloud feature extraction module
對于每個輸入實(shí)例,經(jīng)過上述特征提取模塊后得到2個分別對應(yīng)于點(diǎn)云和圖像分類的40維特征矩陣Apc與Aimg。使用logSoftmax函數(shù)對特征矩陣得到分類置信度進(jìn)行線性融合操作,從而得到分類結(jié)果。Softmax函數(shù)主要用于多分類任務(wù)中,logSoftmax函數(shù)是Softmax的一個變種,具有更好的數(shù)值穩(wěn)定性,可簡寫為:
輸出值范圍為[-inf,0),表示輸入xi對應(yīng)每個類的概率。
融合過程可總結(jié)為:
其中,λ表示融合時點(diǎn)云特征的權(quán)重,由實(shí)驗(yàn)得λ=0.4為最優(yōu)值。
為評估模型在分類任務(wù)上的效果,本文采用由普林斯頓大學(xué)提出的ModelNet40數(shù)據(jù)集[18]及其擴(kuò)展的投影圖集。ModelNet40數(shù)據(jù)集共有12 311個人造物體的CAD模型,分為40類,其中,9 843個用于訓(xùn)練,2 468個用于測試。它擴(kuò)展的投影圖集來自馬薩諸塞大學(xué)阿姆赫斯特分校的研究MVCNN-new[19],是對ModelNet40中的模型通過不同角度投影所得,分為12個視角,共147 732張圖像。本文主要使用的是視角1,具體的實(shí)驗(yàn)環(huán)境與配置如表1所示。
表1 實(shí)驗(yàn)環(huán)境與配置Table 1 Experimental environment and configuration
對于點(diǎn)云特征提取模塊,優(yōu)化器為Adam,初始學(xué)習(xí)率為0.001,樣本大小為32,共訓(xùn)練200個epoch;對于圖像特征提取模塊,優(yōu)化器為Adam,初始學(xué)習(xí)率為0.000 1,樣本大小為64,共訓(xùn)練30個epoch。
輸入的三維點(diǎn)云數(shù)據(jù)是對ModelNet40數(shù)據(jù)集中原始物體模型的網(wǎng)格面上均勻采樣1 024個點(diǎn)而得到的,并將其歸一化到一個單位球面[20]。輸入的投影圖數(shù)據(jù)則是對原始物體模型在某個固定角度的投影,部分輸入可視化結(jié)果如圖4所示。
圖4 輸入數(shù)據(jù)示例Fig.4 Input data example
實(shí)驗(yàn)對本文模型在ModelNet40數(shù)據(jù)集上的分類準(zhǔn)確率與其他三維模型分類網(wǎng)絡(luò)輸出精度進(jìn)行對比,結(jié)果如表2所示。其中“,√”表示模型選擇的輸入“,—”表示模型未選擇的輸入。從表2可以看出,本文模型在分類任務(wù)上表現(xiàn)最佳,總體分類精度比基于點(diǎn)云輸入的PointCNN和Point2Seq[21]提高4.7和3.8個百分點(diǎn),比基于投影圖輸入的GVCNN和MVCNN提高3.3和1.4個百分點(diǎn),這是因?yàn)楸疚哪P屯瑫r選擇了點(diǎn)云和圖像作為輸入,所以本文模型在ModelNet40數(shù)據(jù)集上的分類性能夠有大幅提升。
表2 7種模型在ModelNet40數(shù)據(jù)集上的分類精度對比Table 2 Comparison of classification accuracy of seven models on ModelNet40 dataset %
實(shí)驗(yàn)考察了權(quán)重取值對點(diǎn)云特征在融合時分類精度的影響,結(jié)果如表3所示。從表3可以看出,隨著權(quán)重的增大,本文模型的分類精度呈現(xiàn)先增大后降低的趨勢,且當(dāng)權(quán)重為0.4時分類精度最大。
表3 不同權(quán)重下本文模型的分類精度對比Table 3 Comparison of classification accuracy of the proposed model under different weights %
為更好地對本文模型的各模塊作用進(jìn)行評判,以及更深入地挖掘點(diǎn)云特征和圖像特征間的關(guān)系,本文采用不同的圖像特征提取模塊進(jìn)行消融實(shí)驗(yàn),結(jié)果如表4所示。其中,“—”表示未選擇的該模塊或權(quán)重。從表4可以看出:僅采用PointCNN點(diǎn)云特征提取模塊時,得到的初始精度為91.6%,當(dāng)加入圖像特征提取模塊后,模型的整體性有大幅提高,且模塊的總精度隨著圖像模塊精度的提升而逐漸增大;采用ResNext101提取圖像特征時,模塊的最高總精度為96.4%,通過引入權(quán)重來優(yōu)化模型,具體表現(xiàn)出2個模塊對最終結(jié)果的影響,即模塊之間形成互補(bǔ)關(guān)系,且以圖像模塊為主、點(diǎn)云模塊為輔。
表4 消融實(shí)驗(yàn)結(jié)果Table 4 Ablation experiment results
圖5是本文模型在ModelNet40數(shù)據(jù)集上取得最高精度時的混淆矩陣。由圖5可知,除花盆(flower_pot)類之外,本文模型在其他39類上都取得良好效果,花盆類多數(shù)被錯判為植物類(plant)和花瓶類(vase),這主要是由該數(shù)據(jù)集本身導(dǎo)致的。
圖5 本文模型的混淆矩陣Fig.5 Confusion matrix of the proposed model
本文設(shè)計(jì)一種基于多模態(tài)特征融合的三維點(diǎn)云分類模型。該模型同時以點(diǎn)云數(shù)據(jù)與圖像數(shù)據(jù)作為輸入,分別采用其各自的特征提取模塊提取分類特征,并對提取的分類特征進(jìn)行加權(quán)線性融合得到分類結(jié)果,以提高模型的分類準(zhǔn)確率。通過ModelNet40數(shù)據(jù)集上的實(shí)驗(yàn)評估來選擇最優(yōu)圖像特征提取模型,并驗(yàn)證了該模型相比其他模型的分類性能與精度均有大幅提升。下一步將引入圖卷積神經(jīng)網(wǎng)絡(luò)對點(diǎn)云特征提取模塊進(jìn)行優(yōu)化,以得到更為完整的局部特征,從而增強(qiáng)本文模型的特征表征能力并提高其分類性能。