白少進(jìn),白 靜,2,司慶龍,姬 卉,袁 濤
1.北方民族大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,銀川 750021
2.國家民委圖形圖像智能處理實(shí)驗(yàn)室,銀川 750021
隨著計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)和計(jì)算機(jī)圖形學(xué)的快速發(fā)展,三維模型的數(shù)量與日俱增,三維模型的識別問題也變得日益復(fù)雜,出現(xiàn)了多樣化的分類需求[1-3]?,F(xiàn)有研究主要聚焦于一般性的三維模型分類,無法滿足多樣化分類需求;而部分針對特定需求設(shè)計(jì)的分類工作也只能適應(yīng)相應(yīng)任務(wù)。如何構(gòu)建普適性三維模型分類框架,以使其適應(yīng)不同需求的分類任務(wù)具有相當(dāng)?shù)奶魬?zhàn)性。
深度學(xué)習(xí)技術(shù)能讓機(jī)器自動(dòng)學(xué)習(xí)客觀對象的多層抽象和表示,從而理解各類復(fù)雜對象的內(nèi)在含義,在計(jì)算機(jī)視覺等領(lǐng)域得到了廣泛應(yīng)用并取得了突出成效。隨著ModelNet[4]、SHREC2015[5]等大型三維模型數(shù)據(jù)集的相繼出現(xiàn),在該領(lǐng)域也涌現(xiàn)出一系列深度學(xué)習(xí)的新算法[6-17]。然而,這些深度學(xué)習(xí)模型旨在完成元類型的識別,且假定測試樣本和訓(xùn)練樣本的類別相同;當(dāng)遇到特定需求,往往需要額外設(shè)計(jì)特定的模塊來輔助網(wǎng)絡(luò)進(jìn)行特征提取。如,在細(xì)粒度分類[1]中需要設(shè)計(jì)局部特征提取模塊以捕捉不同類型之間的局部差異,在零樣本學(xué)習(xí)[3]中需要設(shè)計(jì)特定的關(guān)聯(lián)模塊以實(shí)現(xiàn)已知類到未知類的知識遷移。隨著三維模型數(shù)量以及應(yīng)用需求的不斷增加,針對每種需求設(shè)計(jì)全新的網(wǎng)絡(luò)無疑是耗時(shí)耗力,且十分困難的。
聚焦于以上問題,本文提出一種面向多樣化分類任務(wù)的深度集成學(xué)習(xí)模型,在傳統(tǒng)深度神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,加入集成模塊,對網(wǎng)絡(luò)初始決策進(jìn)行再學(xué)習(xí),根據(jù)任務(wù)需求的不同,使網(wǎng)絡(luò)具有相應(yīng)特征的提取能力;并針對性地提出一種層次迭代式訓(xùn)練方法,通過初始網(wǎng)絡(luò)-集成網(wǎng)絡(luò)-整體網(wǎng)絡(luò)的多層次訓(xùn)練策略,對網(wǎng)絡(luò)進(jìn)行迭代調(diào)優(yōu),協(xié)調(diào)網(wǎng)絡(luò)中各個(gè)子模塊的學(xué)習(xí)能力,使網(wǎng)絡(luò)學(xué)習(xí)能力進(jìn)一步提升,達(dá)到最優(yōu)效果,從而自適應(yīng)于不同需求的分類任務(wù)中。根據(jù)以上思想,設(shè)計(jì)一種通用三維模型分類網(wǎng)絡(luò),在確保分類性能的同時(shí)滿足多樣化分類需求。主要貢獻(xiàn)體現(xiàn)在以下3個(gè)方面:
(1)面向多樣化分類任務(wù),設(shè)計(jì)了一種端到端的通用深度集成學(xué)習(xí)模型E2E-DEL(end-to-end deep ensemble learning),通過多個(gè)并行的初級學(xué)習(xí)器提取簡單特征,形成初始決策,確保網(wǎng)絡(luò)良好的泛化性能;通過一個(gè)集成學(xué)習(xí)器完成特征融合,形成最終決策,有效適應(yīng)多樣化的分類需求。
(2)針對深度集成學(xué)習(xí)框架,提出一種層次迭代式訓(xùn)練方法,通過初級學(xué)習(xí)器和集成學(xué)習(xí)器的迭代調(diào)優(yōu)策略,使網(wǎng)絡(luò)訓(xùn)練更加充分,取得最優(yōu)效果。
(3)基于以上框架,以三維模型的多視圖為輸入,構(gòu)建了一種端到端的深度集成學(xué)習(xí)網(wǎng)絡(luò)MV-DEL(multiview deep ensemble learning),應(yīng)用于一般性、細(xì)粒度、零樣本三種不同類型的三維模型分類任務(wù)中,性能優(yōu)異。
面向三維模型的分類種類繁多,本文根據(jù)分類粒度的不同、測試集是否為訓(xùn)練中已見類別,選擇了三種典型的、有區(qū)別性的需求組成多樣化三維模型分類任務(wù)。如表1,包括:一般性三維模型分類、細(xì)粒度三維模型分類和零樣本三維模型分類??紤]到現(xiàn)有工作均針對某一種分類需求設(shè)計(jì)特定算法,而基于深度學(xué)習(xí)的分類取得了當(dāng)前最好的性能,本章將圍繞深度學(xué)習(xí)分別介紹相關(guān)工作。
表1 三維模型多樣化分類任務(wù)Table 1 Diversified 3D model classification tasks
如圖1(a)所示,一般性三維模型分類中測試樣本屬于訓(xùn)練過程中已經(jīng)見過的類別,聚焦于對元類,即粗粒度大類別的識別。考慮到深度學(xué)習(xí)網(wǎng)絡(luò)對輸入數(shù)據(jù)的結(jié)構(gòu)化要求,早期的學(xué)者們將三維模型轉(zhuǎn)化為特征向量的方式輸入網(wǎng)絡(luò)中,完成特征提取和分類[6]。由于在將三維模型轉(zhuǎn)換為特征向量的過程中可能造成有益信息的丟失,后續(xù)學(xué)者開始考慮采用一些更為原始的結(jié)構(gòu)化表征手段表征三維模型,滿足深度學(xué)習(xí)網(wǎng)絡(luò)輸入要求的同時(shí),盡可能地利用深度學(xué)習(xí)的特征自學(xué)習(xí)能力,包括基于體素的方法:3D ShapeNets[4]、VoxNet[7]等;基于點(diǎn)云的方法:PointNet[8]、PointNet++[9]、PointCNN[10(]point convolutional neural network)、LightPointNet[11];以及基于多視圖的方法:MVCNN[12(]multi-view convolutional neural network)及 其 后 續(xù) 版 本[16]、DeepPano[13](deep panoramic representation)、GeometryImage[14(]geometry images)、CVS[15(]convolutional neural network and voting scheme)、SeqViews2SeqLabels[17](sequential views to sequential labels)、RotationNet[18]。整體來說,適應(yīng)于不同三維模型表征形式的方法互有優(yōu)劣:三維模型的體素表征可以直接編碼三維模型的空間信息,但是對于硬件的要求較高;點(diǎn)云是直接掃描三維物體獲得,實(shí)時(shí)性較強(qiáng),但伴隨著稀疏、無序的特性,相關(guān)方法仍待完善;多視圖表征將三維模型表征成為多張二維圖像,可以較好地利用二維圖像領(lǐng)域成熟的圖像處理技術(shù),但如何有效地處理融合多個(gè)視圖特征提高識別準(zhǔn)確率仍然是該類方法的一個(gè)難點(diǎn)。
圖1 三維模型多樣化分類任務(wù)Fig.1 Diversified 3D model classification tasks
目前,在現(xiàn)有數(shù)據(jù)集下,基于深度學(xué)習(xí)的一般性三維模型分類任務(wù)已經(jīng)取得了相當(dāng)好的分類性能。然而,不可忽視的是,該任務(wù)中:(1)不同類目標(biāo)對象在視覺上差異較大,因此其對應(yīng)的深度學(xué)習(xí)網(wǎng)絡(luò)只需要捕捉輸入模型的整體特征即可;(2)所有測試樣本在訓(xùn)練過程中都已經(jīng)見過,因此其對應(yīng)的深度學(xué)習(xí)網(wǎng)絡(luò)并不需要具備額外的遷移能力。因此,當(dāng)分類的要求不斷細(xì)化時(shí),當(dāng)測試時(shí)出現(xiàn)訓(xùn)練集中未曾出現(xiàn)的類時(shí),這些網(wǎng)絡(luò)的分類性能還需進(jìn)一步評估。
如圖1(b)所示,細(xì)粒度三維模型分類中測試樣本也屬于訓(xùn)練過程中已經(jīng)見過的類別,但是其聚焦于完成更細(xì)粒度類別的分類。由于待識別對象為來自一個(gè)元類的子類別,其整體視覺相似度極高。因此,針對細(xì)粒度分類的網(wǎng)絡(luò)不僅需要提取三維模型的全局形狀特征,還需要進(jìn)一步捕捉差異性的局部細(xì)節(jié)區(qū)域,這給三維模型的細(xì)粒度分類帶來了極大的挑戰(zhàn)。
當(dāng)前,面向三維模型的細(xì)粒度分類工作極少,已發(fā)表工作只有清華大學(xué)Liu等[19]所提出FG3D-Net(finegrained 3D shape classification network)。他們開創(chuàng)性地構(gòu)建了一個(gè)面向細(xì)粒度三維模型分類的基準(zhǔn)數(shù)據(jù)集FG3D,并專門性地設(shè)計(jì)了一種基于層次局部視圖注意力機(jī)制的分類網(wǎng)絡(luò),取得了比較理想的效果。
相應(yīng)地,在二維圖像領(lǐng)域面向細(xì)粒度分類的研究較多。其中一類方法將分類任務(wù)分為兩個(gè)階段,首先通過特定的網(wǎng)絡(luò)完成局部區(qū)域的定位,然后再通過特征提取網(wǎng)絡(luò)提取鑒別性特征完成細(xì)粒度分類。典型工作有Ge等[20]提出的互補(bǔ)組件模型、Wang等[21]提出的判別性過濾學(xué)習(xí)網(wǎng)絡(luò)DFL-CNN(discriminative filter learning-CNN)。另一類方法采用端到端的學(xué)習(xí)機(jī)制直接學(xué)習(xí)具有鑒別性的細(xì)粒度特征完成分類。其中最具代表性的方法是雙線性網(wǎng)絡(luò)Bilinear CNN[22],通過特征間相乘捕獲高階統(tǒng)計(jì)信息學(xué)習(xí)鑒別性局部特征,取得了當(dāng)時(shí)最好的分類性能。此后,針對其特征相乘計(jì)算量和存儲(chǔ)代價(jià)大的問題,出現(xiàn)了一系列改進(jìn)工作,如基于低維度的雙線性池化CBP[23(]compact bilinear pooling)、基于點(diǎn)乘的層次雙 線 性池 化HBP[24(]hierarchical bilinear pooling)等。整體來說,在細(xì)粒度三維模型分類任務(wù)中,均需要相關(guān)的顯著區(qū)域感知模塊,網(wǎng)絡(luò)規(guī)模與內(nèi)存消耗較大;在去掉此模塊后,整體性能隨之下降。
如圖1(c)所示,零樣本三維模型分類中測試樣本屬于訓(xùn)練過程中未曾見過的類別,即該任務(wù)具有訓(xùn)練類與測試類互斥的特點(diǎn)[25-26]。這種互斥性導(dǎo)致模型在訓(xùn)練階段學(xué)習(xí)的知識無法直接應(yīng)用于測試階段,這就要求深度學(xué)習(xí)模型不僅僅具備特征學(xué)習(xí)能力,還需具有知識遷移能力,設(shè)計(jì)難度較大。
目前,在圖像領(lǐng)域出現(xiàn)了一些零樣本深度學(xué)習(xí)模型。其中一類工作通過將語義特征和視覺特征嵌入到一個(gè)公共空間的方式建立未知類和已知類間的關(guān)聯(lián),實(shí)現(xiàn)對未知類的有效識別,典型工作有Frome等[27]提出的DeViSE(deep visual-semantic embedding model)、Kodirov等[28]提出的SAE(semantic autoencoder)模型。另有一類工作通過生成網(wǎng)絡(luò)為未知類生成圖像特征完成分類,典型工作有Xian等[29]提出的f-CLSWGAN(feature classification Wasserstein generative adversarial network)以 及Sariyildiz等[30]提 出 的GMN(gradient matching networks)模型。
相比于二維圖像,零樣本學(xué)習(xí)在三維模型上的研究較少,僅有Cheraghian等研究小組先后發(fā)表了ZSLPC[31](zero-shot learning of 3D point cloud)、MHPC[32(]mitigating hubness problem of 3D point cloud)、TZLPC[33](transductive zero-shot learning for 3D point cloud)三篇工作。這些方法均以三維點(diǎn)云模型為輸入,以點(diǎn)云特征提取網(wǎng)絡(luò)為基礎(chǔ),加入特定的詞向量嵌入網(wǎng)絡(luò),建立未知類和已知類之間的關(guān)聯(lián),完成零樣本分類。整體來說,在零樣本三維模型分類任務(wù)中,均需要設(shè)計(jì)額外的語義關(guān)聯(lián)模塊將已知類中的語義屬性關(guān)聯(lián)到未知類中去,網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,分類性能不穩(wěn)定。
綜合來看,細(xì)粒度分類和零樣本分類存在其特殊性,極具挑戰(zhàn)性,面向三維的工作極少,而圖像領(lǐng)域的研究全部都是針對該任務(wù)設(shè)計(jì)專門的網(wǎng)絡(luò),不存在一種通用的分類模型。研究一種適合于一般性、細(xì)粒度和零樣本三維模型分類任務(wù)的通用深度學(xué)習(xí)模型極具挑戰(zhàn)性。
通過分析可知,針對一般性、細(xì)粒度、零樣本分類任務(wù)組成的多樣化分類需求,擬設(shè)計(jì)的深度學(xué)習(xí)模型必須具備:(1)泛化性,即網(wǎng)絡(luò)能夠根據(jù)不同的任務(wù)需求學(xué)習(xí)形成不同的最終模型;(2)自適應(yīng)性,即可以提取多樣化特征,并根據(jù)不同的任務(wù)需求自適應(yīng)地選擇最終特征完成分類;(3)自學(xué)習(xí)性,即建立一種端到端的學(xué)習(xí)機(jī)制,自動(dòng)根據(jù)任務(wù)完成學(xué)習(xí)。為此,本文將以以上三條為基本原則,設(shè)計(jì)一種通用的深度集成學(xué)習(xí)模型(見2.1節(jié)),提出深度集成損失函數(shù)(見2.2節(jié)),建立其層次式迭代訓(xùn)練機(jī)制(見2.3節(jié)),支持多樣化分類。
在機(jī)器學(xué)習(xí)中,集成學(xué)習(xí)是一種構(gòu)建并結(jié)合多個(gè)個(gè)體學(xué)習(xí)器來完成學(xué)習(xí)任務(wù)的學(xué)習(xí)機(jī)制。其中的個(gè)體學(xué)習(xí)器稱作“初級學(xué)習(xí)器”,負(fù)責(zé)最終融合決策的學(xué)習(xí)器稱作“集成學(xué)習(xí)器”。通過結(jié)合多個(gè)個(gè)體學(xué)習(xí)器,集成學(xué)習(xí)通常都會(huì)獲得比單一學(xué)習(xí)器顯著優(yōu)越的泛化性能。
以此為啟發(fā),為滿足多樣化分類需求,本文構(gòu)建了如圖2所示的深度集成學(xué)習(xí)模型E2E-DEL:輸入三維模型,通過隨機(jī)采樣等方式構(gòu)建其所對應(yīng)的多個(gè)結(jié)構(gòu)化輸入;通過若干個(gè)相互獨(dú)立的、并行的初級學(xué)習(xí)器提取每個(gè)隨機(jī)采樣輸入的初始特征;再通過最終的集成學(xué)習(xí)器融合多個(gè)初始特征形成最終特征;據(jù)此完成相應(yīng)的分類任務(wù)。下面將分別介紹該模型的各個(gè)部分。
圖2 深度集成學(xué)習(xí)模型E2E-DELFig.2 End-to-end deep ensemble learning
2.1.1 結(jié)構(gòu)化輸入
針對深度集成學(xué)習(xí)模型中的若干個(gè)初級學(xué)習(xí)器,首先應(yīng)對三維模型進(jìn)行數(shù)據(jù)預(yù)處理,將三維模型表征為其可接受的數(shù)據(jù)輸入形式。具體地,針對不同的三維模型表征,可設(shè)計(jì)以下幾種不同的結(jié)構(gòu)化輸入:
(1)針對體素表征,可通過將三維模型旋轉(zhuǎn)至不同角度再體素化構(gòu)建多體素表征,也可通過不同分辨率的體素化構(gòu)建多體素表征。
(2)針對點(diǎn)云表征,可構(gòu)建不同分辨率的多點(diǎn)云表征,可通過多次隨機(jī)撒點(diǎn)構(gòu)建多點(diǎn)云表征。
(3)針對多視圖表征,可利用虛擬相機(jī)在以三維模型重心為中心的球面上均勻放置攝像頭采樣獲得多張二維視圖,也可以采用MVCNN[12]中多視圖構(gòu)建方式在斜向上30°對應(yīng)的圓上均勻放置攝像頭采樣獲得多張二維視圖。
此外,還可以考慮混合不同的三維模型表征獲得多樣化的輸入。以上三種方式均為常用的三維模型表征形式,在工程應(yīng)用中可根據(jù)實(shí)際任務(wù)中三維模型的表征形式以及相關(guān)硬件環(huán)境選擇。
為方便統(tǒng)一表征,假定模型中的初級學(xué)習(xí)器個(gè)數(shù)為N,給定一個(gè)三維模型Mk,通過數(shù)據(jù)預(yù)處理后獲得其結(jié)構(gòu)化表示Mk={mik,1≤i≤N},其中1≤k≤K,K表示三維模型總數(shù),mik為三維模型Mk的第i個(gè)輸入,可以為以上表征中的任何一種形式。
2.1.2 初級學(xué)習(xí)器的構(gòu)造
根據(jù)三維模型結(jié)構(gòu)化輸入Mk的不同可選用不同類型的深度學(xué)習(xí)網(wǎng)絡(luò)組成初級學(xué)習(xí)器。若Mk中所包含的各個(gè)結(jié)構(gòu)化輸入mik形式相同,則可以考慮構(gòu)造同質(zhì)初級學(xué)習(xí)器,即多個(gè)初級學(xué)習(xí)器結(jié)構(gòu)相同;否則,可考慮構(gòu)造異質(zhì)初級學(xué)習(xí)器,即多個(gè)初級學(xué)習(xí)器結(jié)構(gòu)不同。初級學(xué)習(xí)器的選擇可采用適應(yīng)于結(jié)構(gòu)化輸入的深度神經(jīng)網(wǎng)絡(luò),如基于體素表征的VoxNet、基于點(diǎn)云表征的PointNet、基于二維圖像的ResNet等。
針對每個(gè)初級學(xué)習(xí)器,為形成其初始決策,在特征提取層的最后加入一個(gè)初始決策層,由全連接FC和一個(gè)Softmax構(gòu)成。假設(shè)待識別模型所屬類別總數(shù)為C,則FC實(shí)現(xiàn)從輸出特征向C維向量的映射,Softmax則將這C維向量轉(zhuǎn)換為概率值,數(shù)值大小反應(yīng)了輸入模式屬于某個(gè)類的概率。具體地,針對某個(gè)三維模型的結(jié)構(gòu)化表征Mk={mik,1≤i≤N},對應(yīng)的初級決策可表示為,其中Skij為根據(jù)第i個(gè)初級學(xué)習(xí)器判斷三維模型Mk屬于第j類的概率。
2.1.3 集成學(xué)習(xí)器的構(gòu)造
根據(jù)初級學(xué)習(xí)器獲得N個(gè)初始決策后,可進(jìn)一步構(gòu)造集成學(xué)習(xí)器完成綜合決策。集成學(xué)習(xí)器的構(gòu)造需要考慮初級決策的可信度,根據(jù)初級決策的準(zhǔn)確性決定使用投票法或者學(xué)習(xí)法。具體如下:
(1)投票法
投票法分為絕對多數(shù)投票法、相對多數(shù)投票法和加權(quán)投票法三種。
絕對多數(shù)投票法的公式如下所示:
其中,Dk為第k個(gè)三維模型的最終分類結(jié)果。由公式可見,絕對投票法提供了拒絕預(yù)測的選項(xiàng),當(dāng)且僅當(dāng)某個(gè)類在各個(gè)初級學(xué)習(xí)器上的概率總和超過整體概率值的50%,判定三維模型屬于該類。這對準(zhǔn)確性要求較高的學(xué)習(xí)任務(wù)是一個(gè)很好的機(jī)制,但有可能得不到預(yù)測結(jié)果。
相對多數(shù)投票法的公式如下所示:
式中,只需要某個(gè)類上在初級學(xué)習(xí)器上的概率總和最大,則判定三維模型屬于該類;若出現(xiàn)兩個(gè)或者多個(gè)類概率和相同時(shí),隨機(jī)選擇一個(gè)即可。
加權(quán)投票法的計(jì)算公式和公式(2)類似,不同的是考慮了各個(gè)初級學(xué)習(xí)器對最終投票結(jié)果的貢獻(xiàn),計(jì)算公式如下:
其中,wi表示初級學(xué)習(xí)器i的權(quán)重,可根據(jù)需求靈活設(shè)置不同初級學(xué)習(xí)器的權(quán)重,當(dāng)w1=w2=…=wN=1/N時(shí),加權(quán)投票法退化為相對多數(shù)投票法。該方法更加適應(yīng)于類別相似度高,無法直接通過其他投票法獲得最終決策的情況。
(2)學(xué)習(xí)法
投票法中的集成學(xué)習(xí)器是對初級決策進(jìn)行投票選擇的過程,難以根據(jù)具體學(xué)習(xí)任務(wù)建立自適應(yīng)決策,更適應(yīng)于單一任務(wù)。因此,為滿足多樣化分類需求,本小節(jié)將進(jìn)一步設(shè)計(jì)具有自學(xué)習(xí)能力的集成學(xué)習(xí)器,可以對初級決策進(jìn)行再學(xué)習(xí)使模型適應(yīng)于不同的任務(wù)需求。將N個(gè)初級學(xué)習(xí)器的分類結(jié)果作為輸入,可構(gòu)造如圖3所示的兩種不同集成學(xué)習(xí)器,下面將分別介紹。
圖3 不同集成方式Fig.3 Different ensemble ways
圖3(a)給出了兩種基于池化的集成學(xué)習(xí)器,分別由公式(4)和公式(5)表征如下:
其中,Dkm和Dka分別表示基于最大池化和平均池化得到的分類決策,f(?)表示全連接和softmax操作。
圖3(b)給出了基于拼接的集成學(xué)習(xí)器,由公式(6)表征如下:
其中,1≤i≤N,1≤j≤C,Dkc表示基于拼接得到的分類決策,f(?)表示全連接和softmax操作。相比基于池化的集成學(xué)習(xí)器,拼接無信息丟失,能夠更加完整地保留初級決策。
進(jìn)一步地,為訓(xùn)練圖2所示的深度集成學(xué)習(xí)模型,本文提出了深度集成損失函數(shù),由初級學(xué)習(xí)器和集成學(xué)習(xí)器兩部分損失構(gòu)成:
其中,Lt表示整個(gè)深度集成學(xué)習(xí)模型的損失,Lb和Le分別表示初級學(xué)習(xí)器和集成學(xué)習(xí)器的損失,α和β為對應(yīng)的權(quán)重。集成學(xué)習(xí)器的損失可根據(jù)具體需求選擇不同的函數(shù),初級學(xué)習(xí)器的損失Li可通過下式計(jì)算:
其中,Li表示第i個(gè)初級學(xué)習(xí)器的損失,旨在衡量初級學(xué)習(xí)器i的預(yù)測標(biāo)簽和真實(shí)標(biāo)簽之間的差異,可根據(jù)具體需求選擇相應(yīng)函數(shù);αi表示第i個(gè)初級學(xué)習(xí)器損失函數(shù)的權(quán)重,可根據(jù)其采用同質(zhì)、異質(zhì)學(xué)習(xí)器的具體情況作出相應(yīng)設(shè)置。
整體上,初級學(xué)習(xí)器的損失同集成學(xué)習(xí)器的損失是正相關(guān)的;然而,這兩個(gè)損失函數(shù)的增長率并不完全一致,即,在訓(xùn)練過程中無法保證它們同時(shí)達(dá)到極值點(diǎn)。為此,針對深度集成學(xué)習(xí)模型的整體架構(gòu),本文設(shè)計(jì)了一種層次迭代式訓(xùn)練方法,包括以下4步。
步驟1初級學(xué)習(xí)器預(yù)訓(xùn):可根據(jù)輸入數(shù)據(jù)類型的不同選用預(yù)訓(xùn)練好的網(wǎng)絡(luò)作為初級學(xué)習(xí)器,以保證初級學(xué)習(xí)器具有較好的初始參數(shù),從而加快網(wǎng)絡(luò)的收斂速度,獲得更好的網(wǎng)絡(luò)泛化性能。
步驟2整體網(wǎng)絡(luò)初訓(xùn):根據(jù)不同網(wǎng)絡(luò),設(shè)置訓(xùn)練步數(shù),利用梯度下降和反向傳播算法,當(dāng)網(wǎng)絡(luò)基本穩(wěn)定,即總損失值達(dá)到穩(wěn)定值后轉(zhuǎn)入步驟3。
步驟3集成學(xué)習(xí)器調(diào)優(yōu):在整體網(wǎng)絡(luò)達(dá)到平穩(wěn)后,固定初級學(xué)習(xí)器內(nèi)部參數(shù),即每個(gè)初級學(xué)習(xí)器內(nèi)部參數(shù)不參與反向傳播,對集成學(xué)習(xí)器進(jìn)行調(diào)優(yōu),只更新集成學(xué)習(xí)器內(nèi)部的梯度。
步驟4初級學(xué)習(xí)器調(diào)優(yōu):當(dāng)集成學(xué)習(xí)器調(diào)優(yōu)結(jié)束后,固定集成學(xué)習(xí)器內(nèi)部參數(shù),即集成學(xué)習(xí)器內(nèi)部參數(shù)不參與反向傳播,對初級學(xué)習(xí)器進(jìn)行調(diào)優(yōu),只更新初級學(xué)習(xí)器內(nèi)部的梯度。
步驟5迭代或結(jié)束:當(dāng)步驟3和步驟4中均無明顯改善,總損失值達(dá)到穩(wěn)定,不再繼續(xù)減小時(shí),訓(xùn)練結(jié)束;否則,轉(zhuǎn)入步驟2,再次進(jìn)行調(diào)優(yōu)。
本章將以深度集成學(xué)習(xí)模型E2E-DEL為原型,選擇多視圖的三維模型結(jié)構(gòu)化表征形式,選擇卷積神經(jīng)網(wǎng)絡(luò)組成初級學(xué)習(xí)器,使用全連接層構(gòu)造集成學(xué)習(xí)器,最終構(gòu)造多視圖深度集成學(xué)習(xí)網(wǎng)絡(luò)MV-DEL(multi-view deep ensemble learning),并將其應(yīng)用于多樣化分類任務(wù)中。
3.1.1 網(wǎng)絡(luò)的構(gòu)造
數(shù)據(jù)輸入:采用Su-MVCNN[12]的多視圖方法來表征三維模型,作為初級學(xué)習(xí)器的原始輸入。具體地,給定一個(gè)三維模型,在單位球斜上方30°圓周上水平、均勻放置12個(gè)虛擬相機(jī)獲得其多視圖表征為Mk={vki,1≤i≤N},N=12。
初級學(xué)習(xí)器的選擇:由于輸入數(shù)據(jù)為12張視圖,其數(shù)據(jù)屬性類似,因此采用同質(zhì)初級學(xué)習(xí)器的構(gòu)造方式形成對每一張視圖的初始決策。這里,可使用任何面向圖像的深度卷積神經(jīng)網(wǎng)絡(luò),如早期提出的AlexNet[34]、基于殘差連接的ResNet[35],或者是輕量化的MobileNet[36]。本文中,不失一般性,采用ResNet50作為同質(zhì)初級學(xué)習(xí)器,并通過參數(shù)共享的方式確保視圖間特征提取的一致性。
集成學(xué)習(xí)器的構(gòu)造:選用E2E-DEL中所設(shè)計(jì)的學(xué)習(xí)法完成集成學(xué)習(xí)器的構(gòu)造,包括基于最大池化的集成學(xué)習(xí)器,基于平均池化的集成學(xué)習(xí)器和基于拼接的集成學(xué)習(xí)器。
3.1.2 損失函數(shù)的建立
針對每個(gè)初級學(xué)習(xí)器,選擇交叉熵Cross Entropy Loss作為損失函數(shù),有:
其中,K為樣本數(shù)目,C為類別數(shù)目;當(dāng)?shù)趉個(gè)樣本的預(yù)測標(biāo)簽lk與真實(shí)標(biāo)簽lk′相同時(shí)p{lk=lk′}取值為1,否則取值為0;Skj表示第k個(gè)樣本在第j維上的初級預(yù)測值。
進(jìn)一步地,考慮到視圖間的同質(zhì)性,設(shè)各個(gè)初級學(xué)習(xí)器的權(quán)重相同,即α1=α2=…=αN=1N,則整個(gè)初級學(xué)習(xí)器的損失函數(shù)可表示為:
針對集成學(xué)習(xí)器,選用鉸鏈損失衡量預(yù)測標(biāo)簽和真實(shí)標(biāo)簽之間的差異性,有:
其中,K為樣本數(shù)目,C為分類數(shù)目;δ{lk=lk′}為指示函數(shù),當(dāng)?shù)趉個(gè)樣本的預(yù)測標(biāo)簽lk與真實(shí)標(biāo)簽lk′相同時(shí),取值為1,否則取值為?1;wjk表示第k個(gè)樣本在第j維上的集成決策值。
整體損失按照公式(7)計(jì)算,根據(jù)實(shí)驗(yàn),設(shè)置a=0.3,β=1.0。
3.1.3 網(wǎng)絡(luò)的訓(xùn)練
步驟1初級學(xué)習(xí)器的預(yù)訓(xùn):采用Pytorch官方提供的在Imagenet上預(yù)訓(xùn)好的ResNet50網(wǎng)絡(luò)作為初級學(xué)習(xí)器。
步驟2整體網(wǎng)絡(luò)初訓(xùn):利用隨機(jī)梯度下降SGD+牛頓動(dòng)量法對網(wǎng)絡(luò)進(jìn)行整體訓(xùn)練,以確保網(wǎng)絡(luò)收斂速度的同時(shí),增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)的穩(wěn)定性。該階段,學(xué)習(xí)率設(shè)為1×10?4,動(dòng)量所占比重設(shè)為0.9;當(dāng)訓(xùn)練迭代5×102步此后,網(wǎng)絡(luò)基本穩(wěn)定,停止訓(xùn)練。
步驟3集成學(xué)習(xí)器調(diào)優(yōu):為確保網(wǎng)絡(luò)的穩(wěn)定性,更新學(xué)習(xí)率為初始學(xué)習(xí)率的1/100,并設(shè)置最大迭代次數(shù)為2×102步。若調(diào)優(yōu)中,Loss趨于穩(wěn)定或逐漸增大,可提前終止,轉(zhuǎn)入下一步。
步驟4初級學(xué)習(xí)器調(diào)優(yōu):此時(shí),學(xué)習(xí)率在步驟3的基礎(chǔ)上再次降低10倍,并設(shè)置最大迭代次數(shù)為2×102。若調(diào)優(yōu)中,Loss趨于穩(wěn)定或逐漸增大,可提前終止,轉(zhuǎn)入步驟5。
步驟5迭代或結(jié)束:當(dāng)步驟3和步驟4中均無明顯改善時(shí),訓(xùn)練結(jié)束;否則,固定學(xué)習(xí)率,轉(zhuǎn)步驟2,再次進(jìn)行調(diào)優(yōu)。
訓(xùn)練中,為了增強(qiáng)網(wǎng)絡(luò)的泛化能力,在生成訓(xùn)練集時(shí)隨機(jī)打亂訓(xùn)練數(shù)據(jù)的排列順序,以防止訓(xùn)練時(shí)單個(gè)批次中總是出現(xiàn)相同的訓(xùn)練樣本。
如表2所示,針對一般性三維模型分類任務(wù),本文選用PrincetonModelNet[4]作為數(shù)據(jù)基準(zhǔn)。沿用其他分類方法系統(tǒng)的設(shè)置:在ModelNet10中選取3 991個(gè)模型作為訓(xùn)練集,908個(gè)模型作為測試集;在ModelNet40中選取9 843個(gè)模型作為訓(xùn)練集,2 468個(gè)模型作為測試集。
表2 面向一般性三維模型分類的數(shù)據(jù)集Table 2 Datasets for general 3D model classification
如表3所示,針對細(xì)粒度三維模型分類任務(wù),本文選用Liu等[19]提出的FG3D數(shù)據(jù)集作為基準(zhǔn)。該數(shù)據(jù)集包括三個(gè)類別的子數(shù)據(jù)集,其中Airplane數(shù)據(jù)集包含13個(gè)子類4 174個(gè)模型,Car數(shù)據(jù)集包含20個(gè)子類7 010個(gè)模型,Chair數(shù)據(jù)集包含33個(gè)子類11 124個(gè)模型。針對以上數(shù)據(jù)集,實(shí)驗(yàn)中沿用Liu等給出的訓(xùn)練集測試集劃分方式,詳情見表3。
表3 面向細(xì)粒度三維模型分類的數(shù)據(jù)集Table 3 Datasets for fine-rigid 3D model classification
零樣本分類任務(wù)與其他分類不同,需要?jiǎng)澐忠阎惡臀粗悺H绫?所示,本文選用Cheraghian等人所提出的數(shù)據(jù)集劃分方式[31],將ModelNet40數(shù)據(jù)集中的30個(gè)類別作為已知類用作訓(xùn)練集,另外選擇其他3個(gè)數(shù)據(jù)集ModelNet10、McGill和SHREC2015中與之互斥的10個(gè)、14個(gè)和30個(gè)類作為未知類用作測試。
表4 面向零樣本三維模型分類的數(shù)據(jù)集Table 4 Datasets for zero-shot 3D model classification
實(shí)驗(yàn)的硬件環(huán)境為Intel Core i7 2600k+Tesla V100 32 GB+16 GB RAM,軟件環(huán)境為Windows 10 x64+CUDA 10.0+CuDNN 7.1+Pytorch 1.1.0+Python3.6.5+Matlab。
表5對比了不同初級學(xué)習(xí)器數(shù)目、是否采用集成學(xué)習(xí)器、不同集成學(xué)習(xí)器構(gòu)造方法對網(wǎng)絡(luò)性能的影響。實(shí)驗(yàn)中,選用傳統(tǒng)三維模型分類數(shù)據(jù)集ModelNet10,利用MVCNN中所給出的視圖獲取方法[12]在圓周上均勻擺放4,8,12,…,80個(gè)虛擬攝像機(jī),獲得三維模型不同視圖數(shù)目的多視圖表征,構(gòu)建包含對應(yīng)數(shù)目初級學(xué)習(xí)器的多視圖深度集成學(xué)習(xí)網(wǎng)絡(luò)MV-DEL進(jìn)行對比。表中MV-DEL1,2,3分別表示在集成網(wǎng)絡(luò)中采用了最大池化、平均池化、拼接集成學(xué)習(xí)器。
表5 初級學(xué)習(xí)器數(shù)目&集成方式對分類精度的影響Table 5 Effects of number of base learners and ensemble learners on classification performance
表5展示了在ModelNet10數(shù)據(jù)集中不同初級學(xué)習(xí)器數(shù)目&不同集成方式對分類精度的影響,其中SD表示標(biāo)準(zhǔn)差。如表5所示,不同初級學(xué)習(xí)器數(shù)目下網(wǎng)絡(luò)性能不同:當(dāng)初級學(xué)習(xí)器數(shù)目從4、8逐漸增加到80,其分類性能的標(biāo)準(zhǔn)差分別為0.54、0.63、0.60、0.81,這說明不同初級學(xué)習(xí)器數(shù)目下網(wǎng)絡(luò)性能穩(wěn)定;考慮到初級學(xué)習(xí)器數(shù)目為12時(shí),分類性能相對優(yōu)秀,計(jì)算開銷較小,因此,后文實(shí)驗(yàn)中統(tǒng)一設(shè)置初級學(xué)習(xí)器數(shù)目為12。
縱向?qū)Ρ任词褂眉蓪W(xué)習(xí)器的算法MVCNN和使用了不同集成學(xué)習(xí)器的算法MV-DEL1,2,3可以發(fā)現(xiàn):加入了集成學(xué)習(xí)器后,網(wǎng)絡(luò)分類性能均得到了提升,由此表明加入集成學(xué)習(xí)器可以提升網(wǎng)絡(luò)的分類性能。
此外,對比不同集成學(xué)習(xí)器對網(wǎng)絡(luò)性能的影響可以發(fā)現(xiàn):在視圖數(shù)目較多的情況下,MV-DEL3方法的分類準(zhǔn)確率高于MV-DEL1和MV-DEL2,這是因?yàn)橄鄬τ诔鼗僮鞫?,基于拼接的集成學(xué)習(xí)方法可以更加完整地保留初始決策信息。對比兩種基于池化的方法,可以發(fā)現(xiàn)在7種不同初級學(xué)習(xí)器數(shù)目下,MV-DEL1勝出4次,MV-DEL2勝出兩次,且數(shù)值相差較小,即基于最大池化和平均池化的集成學(xué)習(xí)算法準(zhǔn)確率相當(dāng)。
表6對比了細(xì)粒度任務(wù)中不同集成方式對分類精度的影響,與表5中的結(jié)果類似:加入集成學(xué)習(xí)器的算法MV-DEL1,2,3分類準(zhǔn)確率均高于未使用集成學(xué)習(xí)器的算法MVCNN;在使用了集成學(xué)習(xí)器的算法中,基于拼接的集成學(xué)習(xí)算法MV-DEL3效果最優(yōu),基于最大池化MV-DEL1和平均池化MV-DEL2的集成學(xué)習(xí)算法效果相當(dāng)。
表6 不同集成方式對細(xì)粒度分類精度的影響Table 6 Effects of ensemble learners on fine-grained classification performance 單位:%
類似地,表7對比了零樣本任務(wù)中不同集成方式對分類精度的影響,與之前實(shí)驗(yàn)得到了相同的結(jié)果:使用了集成學(xué)習(xí)器的算法效果均得到了提升,基于拼接的集成學(xué)習(xí)算法MV-DEL3取得了最優(yōu)的分類準(zhǔn)確率。
表7 不同集成方式對零樣本分類精度的影響Table 7 Effects of different ensemble learners on zero-shot classification performance 單位:%
為充分測試本文方法在多樣化三維模型分類任務(wù)中的分類性能與效率,本實(shí)驗(yàn)選取了基于多視圖的經(jīng)典三維模型分類方法MVCNN(VGG19)[12]、MVCNN(ResNet50)[12]、SeqView2SeqLabels(VAlexNet)[17]、Rotation-Net[18]、面向點(diǎn)云的經(jīng)典三維模型分類方法PointNet[8]、專門為細(xì)粒度三維模型分類設(shè)計(jì)的方法FG3D-Net[19]、專門為零樣本三維模型分類設(shè)計(jì)的方法ZSLPC[31]和MHPC[32]作為對比方法,進(jìn)行綜合對比。如表8所示,性能最優(yōu)或者次優(yōu)的方法分別在表中用加粗和下劃線進(jìn)行標(biāo)識,所有對比方法的實(shí)驗(yàn)結(jié)果均來自已公開發(fā)表的論文,部分缺失數(shù)據(jù)表示為—。通過對比數(shù)據(jù)可知:
表8 三維模型多樣化分類任務(wù)的分類準(zhǔn)確率Table 8 Classification accuracy rates of diversified 3D model classification tasks
(1)在單分類需求下效果最佳的工作在面對不同需求的分類任務(wù)時(shí)表現(xiàn)欠佳,泛化性不足。例如在傳統(tǒng)三維模型分類任務(wù)中表現(xiàn)最為優(yōu)異的網(wǎng)絡(luò)RotationNet在細(xì)粒度分類任務(wù)中性能并不理想,在Airplane、Car、Chair三個(gè)數(shù)據(jù)集上較最優(yōu)方法分別相差大約3.41、3.95和3.11個(gè)百分點(diǎn);專門面向細(xì)粒度分類任務(wù)的FG3DNet和面向零樣本分類的ZSLPC和MHPC因無公開代碼,數(shù)據(jù)不足,無法直接評價(jià)。
(2)本文所提出的MV-DEL3在傳統(tǒng)三維模型數(shù)據(jù)集ModelNet10、ModelNet40上分別取得了96.23%、94.15%的分類準(zhǔn)確率,相比于同樣是12視圖以ResNet50為基網(wǎng)的MVCNN(ResNet50)在ModelNet40數(shù)據(jù)集上提升了4.05個(gè)百分點(diǎn),相比于同樣是12視圖表征三維模型的SeqView2SeqLabels在ModelNet10和ModelNet40數(shù)據(jù)集上分別提升了1.41個(gè)百分點(diǎn)和0.75個(gè)百分點(diǎn),僅次于當(dāng)前最優(yōu)的工作RotationNet;在細(xì)粒度三維模型數(shù)據(jù)集Airplane、Chair和Car上分別取得了96.17%、79.54%、85.18%的分類精度,取得了目前最好的效果;在零樣本三維模型數(shù)據(jù)集ModelNet10取得了30.0%的分類精度,效果次優(yōu),在McGill和Shrec2015上分別取得了15.1%和6.7%的分類精度,效果最優(yōu)。
(3)整體上看,由于點(diǎn)云具有稀疏性,點(diǎn)云類方法(PointNet、ZSLPC、MHPC)在參數(shù)量和推理時(shí)間兩個(gè)效率評估指標(biāo)中均優(yōu)于多視圖類方法(MVCNN-VGG19、
MVCNN-ResNet50、RotationNet、FG3D-Net、MV-DEL3)。在多視圖類方法中,本文方法MV-DEL3的參數(shù)量僅次于MVCNN-VGG19,推理時(shí)間與MVCNN-ResNet50相當(dāng),表明了本文通過引入深度集成學(xué)習(xí)的思想,設(shè)計(jì)的多視圖深度集成學(xué)習(xí)網(wǎng)絡(luò)MV-DEL在滿足了多樣化分類需求的同時(shí),幾乎沒有計(jì)算上額外的開銷,整體規(guī)模較小,運(yùn)算時(shí)間較短,是一種高效的方法。
綜上,本文方法MV-DEL3在3類任務(wù)8個(gè)數(shù)據(jù)集上取得了5個(gè)最優(yōu)分類準(zhǔn)確率,3個(gè)次優(yōu)分類準(zhǔn)確率。這充分證明了在面對三維模型多樣化分類任務(wù)時(shí)MV-DEL3具有良好的泛化性與普適性;即使是面對非常困難的細(xì)粒度與零樣本分類任務(wù),仍然表現(xiàn)優(yōu)異。
本文針對三維模型多樣化分類問題,提出了一種端到端的深度集成學(xué)習(xí)模型E2E-DEL,通過多個(gè)并行的初級學(xué)習(xí)器形成初始決策保證確保網(wǎng)絡(luò)良好的泛化性能,通過集成學(xué)習(xí)器形成自適應(yīng)綜合決策確保網(wǎng)絡(luò)對多樣化分類任務(wù)的適應(yīng)能力;基于此,本文選擇了三維模型多視圖的表征形式,設(shè)計(jì)了一種面向多視圖的深度集成學(xué)習(xí)網(wǎng)絡(luò)MV-DEL,應(yīng)用于一般性、細(xì)粒度、零樣本三種不同類型的三維模型分類任務(wù)中。實(shí)驗(yàn)結(jié)果表明:深度集成學(xué)習(xí)網(wǎng)絡(luò)能夠自適應(yīng)于不同任務(wù)的特殊需求,學(xué)習(xí)到對應(yīng)任務(wù)所需的深度模型,在面對三維模型多樣化分類任務(wù)時(shí),具有良好的泛化性與普適性。
目前,本文提出的深度集成學(xué)習(xí)網(wǎng)絡(luò)還是基于同質(zhì)初級學(xué)習(xí)器,即初級學(xué)習(xí)器都采用相同的網(wǎng)絡(luò)結(jié)構(gòu)。是否可以使用不同的網(wǎng)絡(luò)結(jié)構(gòu)組成功能各不相同的初級學(xué)習(xí)器,比如分別提取目標(biāo)對象的輪廓與紋理等;甚至使用面向不同類型輸入數(shù)據(jù)的初級學(xué)習(xí)器,比如點(diǎn)云與多視圖的混合輸入,從而獲得更佳性能將是進(jìn)一步的研究方向。