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