祁少華, 楊國為
(青島大學電子信息學院, 山東 青島 266071)
三維(Three-dimensional,3D)物體識別已成為3D領域重要的研究方向之一[1-3]。基于深度學習的3D物體識別方法可細分為基于體素[4]的方法、基于點集[5-6]的方法和基于視圖的方法[7-14]。其中,基于視圖的方法從3D物體得到多角度的2D渲染圖像,其數據集非常容易獲得,而且基于視圖的方法可直接利用成熟的圖像分類網絡作為骨干網絡,是3D任務中非常簡單易用的方法。傳統的多視角3D物體識別方法,如多視角卷積神經網絡(multi-view convolutional neural networks,MVCNN)[7]簡單的對多視圖特征進行跨視圖的最大池化[11],融合多視圖特征,且忽略了視圖之間的聯系[15]。組視圖卷積神經網絡(group-view convolutional neural networks,GVCNN)[9]首先對視圖進行分組,有效的學習了同組內視圖之間的相似性,但由于GVCNN的分組機制使用log函數,無法處理值為0的特征,而且它的區分度得分計算方式也沒有考慮函數性質,因此缺乏可解釋性。在GVCNN的基礎上,分層多視圖上下文建模(hierarchical multi-view context modelling,HMVCM)[10]又添加了2個雙向長短時記憶模塊(bidirectional long short-term memory,Bi-LSTM),以強調視圖上下文之間的聯系,獲得性能的提升,但HMVCM的分組機制仍然沒有利用函數性質。基于此,本文提出一種用于多視角3D物體識別的雙池化卷積神經網絡(double pooling convolutional neural network,DPCNN),增強了分組機制可解釋性。研究結果表明,本文方法提高了識別精度,達到了先進的性能。該研究對多視角三維物體識別領域的發展具有重要意義。
DPCNN網絡架構如圖1所示。DPCNN網絡主要包括以CNN為主的骨干網絡,LR分組機制和雙池化融合模塊。首先,CNN對多視圖進行特征提取,得到視圖級描述符,然后送入LR分組機制和雙池化融合模塊,分別進行分組和特征融合,最后送入全連接層(full connection layer,FC)進行3D物體識別。LR分組機制和雙池化融合模塊架構如圖2所示。利用L2范數和ReLU激活函數將多視圖進行分組后,送入雙池化融合模塊,對多視圖進行兩次池化加權,最終得到3D形狀描述符。

圖1 DPCNN網絡架構

圖2 LR分組機制和雙池化融合模塊架構
3D物體通過N個角度的相機傳感器被渲染成多視圖V={v1,v2,…,vN},CNN通過多視圖提取視圖級特征Y={y1,y2,…,yN}。本文通過提出的LR分組機制,計算視圖vi的區分度得分ξ(vi),并利用得分在相關區間進行平均分組。視圖vi的區分度得分ξ(vi)為
ξ(vi)=ReLU(abs(L2(yi)))
(1)
式中,L2為L2范數;abs為絕對值;ReLU為激活函數。
L2范數為
(2)
采用L2范數處理視圖級的特征更加合理有效。一方面因為L2范數使相關區間內函數均有定義,不會存在某些點無定義導致無法計算的情況;另一方面是在計算區分度得分時可以用到ReLU激活函數。ReLU激活函數如圖3所示。

圖3 ReLU激活函數
當函數定義域在(0,1)區間內時,其值域恰好為(0,1),即非常適合令視圖特征在(0,1)區間內進行平均分組,因此利用L2范數將視圖特征約束在(-1,1)區間,再取絕對值將其約束在(0,1)區間內。由ReLU函數形狀可知,且在(0,1)區間內,自變量越靠近0,函數值越小,特征的辨別性越小,越不利于形成有辨別性的3D物體描述符,應盡可能選擇遠離原點的特征,且L2范數對離群點更敏感,即對于更有區別性的視圖特征更敏感,應盡可能保留遠離原點的特征。本文的LR分組機制,利用函數性質更合理的對視圖進行分組,并盡可能的保留了有辨別性的視圖特征。
本文在組內和組間均使用池化加權進行特征融合,多視圖V分成M組后,得到G={g1,g2,…,gM}。在組內視圖特征融合階段,進行視圖級特征的池化加權融合,計算組級描述符D(gi)為
(3)
式中,gi代表視圖vi所在的組;K為該組內的視圖數。
得到組級描述符后,需要對組級特征進一步融合,以生成一個能夠代表3D物體的3D物體描述符,并進行組級特征的池化加權融合。3D物體描述符D(S)為
(4)
式中,M為分組數。
將得到的3D物體描述符D(S)輸入全連接層進行識別,以獲得3D物體對應的類別。由于優秀的分組機制,本文僅使用池化加權融合,便生成更能代表相應的3D物體的3D物體描述符,實現了先進的性能。

圖4 ModelNet40數據集示意圖
實驗中,視點設置與MVCNN中的20視圖任務一致。相機設置在包圍物體的12面體的20個頂點處,共渲染20張圖片,采用3組的分組設置,不同數量的分組實驗對比將在2.4節展示。多視角3D物體識別方法一般在分類任務和檢索任務上進行評估。對于分類任務,常用實例精度和分類精度兩種評價指標[16];對于檢索任務,一般采用平均精度均值(mean average precision,MAP)作為評價指標[17]。
本文在主流ModelNet40的數據集[18]上進行實驗,ModelNet40數據集示意圖如圖4所示。
對于骨干網絡的選擇,View-GCN[14]等優秀方法已在實驗中證實,ResNet50應用于該領域,具有優秀性能,并且好于其他骨干網絡的性能。因此,鑒于ResNet50優秀的網絡結構,以及在該任務上表現出的良好性能,本實驗使用經過ImageNet數據集預訓練的ResNet50,并在使用的數據集上微調了ResNet50的權重。
在ModelNet40數據集上,本文方法與其它先進方法進行對比,ModelNet40上3D物體識別性能比較如表1所示。

表1 ModelNet40上3D物體識別性能比較

表2 ModelNet40上LR分組機制性能
由表1可以看出,對于分類任務,本文DPCNN方法比經典的同樣使用ResNet50的View-GCN[15]方法表現更好,并且能夠實現先進的性能。在所有方法對比中,對于分類任務,實例精度提升0.1%~5.87%,分類精度提升1.57%~7.57%;在檢索任務上,本文方法也達到了先進的性能,并且遠超過其他方法,MAP提升了3.31%~13.19%。
由于本文方法在各項任務上均達到了先進性能,所提出的分組機制在對視圖進行分組時,充分考慮了L2范數性質和ReLU激活函數形狀,合理的計算視圖區分度得分,并對視圖進行更優的分組,使本文最終得到的3D物體描述符更具代表性,識別精度高于其他方法。
為了驗證LR分組機制在DPCNN中的作用,本文將DPCNN和去掉了LR分組機制后的網絡(用DPCNN-G表示)在ModelNet40上進行對比,ModelNet40上LR分組機制性能如表2所示。去掉分組機制后,DPCNN-G相當于對所有多視圖特征一起進行池化加權融合操作,然后生成3D物體描述符。由表2可以看出,DPCNN方法在所有任務上的性能均高于DPCNN-G方法,說明LR分組機制在DPCNN方法中的重要性,特別是對于檢索任務的性能有可觀的提升,說明分組機制學習同組內視圖之間的相似性,對檢索任務性能提升具有重要意義。
為了找到DPCNN的最佳分組數設置,在ModelNet40上進行不同分組數的對比實驗。由于3分組是基于分組機制方法中一個很經典的設置,因此本文保留了3組的分組數,設置分組數分別為3,8,12,16。DPCNN方法在ModelNet40上的分組數量比較如表3所示。由表3可以看出,當分組數設置為3時,DPCNN性能最好,因此在實驗中,DPCNN全部采用3分組。

表3 DPCNN方法在ModelNet40上的分組數量比較
本文提出了一種新的基于分組機制的多視角3D物體識別方法。提出的LR分組機制,能夠利用L2范數性質和ReLU激活函數形狀,更合理的對視圖進行分組,并盡可能的保留有辨別性的特征。在LR分組機制優秀的性能下,僅使用兩次池化加權融合,便實現了非常好的效果。本文創新性的增強分組模塊的可解釋性,實驗結果表明,該方法能夠實現先進的性能,并且證明了設計的LR分組機制對本文方法性能的提升,尤其對于檢索任務的性能,LR分組機制有非常明顯的提升,這為多視角3D物體識別領域提供了新的方法思路。此外,還探討了本文方法在20視圖任務中不同分組數下的性能,找到了設置最佳的分組數。由于多視角3D物體識別領域目前缺少對實際應用落地的研究,后續工作將針對此問題進行研究。