









摘要:目前基于視圖的三維模型分類已經成為一個研究熱點。但是,現有的方法會產生大量冗余視圖,且所有的視圖都被平等對待,忽略了不同視圖之間的差異性和重要性。針對以上問題,提出了多視圖融合的三維模型分類方法。該方法首先使用加入混合域注意力機制的視圖特征提取網絡提取視圖特征,然后對這些視圖特征進行特征融合,將融合后的特征輸入到加入通道域注意力機制的視圖權重學習網絡,根據不同視圖對三維模型重要性不同賦予不同權重,形成具有代表性的特征描述符用于三維模型分類。實驗結果表明,在剛性三維模型數據集ModelNet10和ModelNet40中分類準確率分別達到了98.3%和95.5%。
關鍵詞:三維模型分類;卷積神經網絡;注意力機制;特征融合
DOI:10.15938/j.jhust.2022.03.008
中圖分類號: TP391.41文獻標志碼: A文章編號: 1007-2683(2022)03-0059-07
Multi-view Fusion 3D Model Classification
GAO Yuan,DING Bo,HE Yong-jun
(School of Computer Science and Technology, Harbin University of Science and Technology Harbin 150080)
Abstract:At present, view-based 3D model classification is a research hotspot. However, current methods produce many redundant views, and all views are treated equally, ignoring their differences and importance. To solve the above problems, we propose a multi-view fusion 3D model classification method. This method first extracts view features using the view feature extraction network with mixed domain attention, and then fuses these view features and inputs the fused features into the view weight learning network with channel attention, giving different weights to different views according to their importance to the 3D model, and forming representative feature descriptors for 3D model classification. Experimental results shows that the classification accuracy rates in the rigid 3D model data sets ModelNet10 and ModelNet40 reached 98.3% and 95.5%.
Keywords:3D model classification; convolution neural network; attention mechanism; feature fusion
0引言
近年來,三維模型被廣泛用于計算機輔助設計(computer aided design, CAD)、虛擬現實、3D動畫和影視、醫學診斷、3D網絡游戲、機械制造等領域。三維模型在現實生活中的意義也隨著三維模型的需求增加而日益增加,而模型分類可以有效地組織和管理三維模型,同時三維模型分類是提高模型檢索效率與建立模型數據庫索引的重要手段,因此如何有效的對這些三維模型分類得到用戶所需的三維模型成為了一個亟待解決的問題[1]。
三維模型分類方法按輸入方式可以分為3種,分別是基于文本、基于草圖和基于視圖的三維模型分類。其中,基于視圖的三維模型分類方法是將三維模型投影為二維視圖集合,然后提取這些二維視圖的特征,最終實現對三維模型的分類。而使用二維視圖進行網絡訓練還有另一個優勢,即可以使用二維視圖描述符的優勢以及海量圖像數據庫(如imageNet)來對卷積神經網絡(convolution neural network, CNN)進行預訓練,使CNN更好的擬合。
基于視圖的三維模型分類方法主要分為傳統的基于視圖的三維模型分類方法和基于代表性視圖的三維模型分類方法。張靜等[2]利用卷積神經網絡采用主成分分析(principle component analysis,PCA)對三維模型進行預處理后,把模型投影成6幅二維圖像,利用提取的視圖作為神經網絡的輸入,使用CNN提取圖像特征,得到最后的模型描述符。Chen等[3]提出光場描述符(light field descriptor,LFD)。首先利用正十二面體將模型包圍,在正十二面體中取得10個非對稱點,然后在10個頂點中的每個頂點設置10個不同的光場,最后得到100個視圖來表征三維模型。Shi等[4]利用柱體包圍三維模型,將每個三維模型轉化成全景圖;最后利用深度學習進行模型分類任務。
以上方法雖然可以很好的將三維模型表示成二維視圖集合,但是忽略了不同三維模型之間的差異性,將所有的模型按照相同的方式投影會產生大量冗余的視圖導致實驗效率降低,因此學者們提出了基于代表性視圖的方法。王鵬宇等[5]基于視點熵在設置的42個固定相機視角中選取12個視點熵最高的代表性視圖,舍棄冗余信息,從而得到最能表征模型類別的特征,提高了網絡的魯棒性。Zhou等[6]提出了多視角的突出性引導的深度神經網絡三維模型檢索和分類方法。
基于代表性視圖方法雖然相對于傳統基于視圖的方法來說檢索效率有所提升,但是其性能仍然無法達到人們日常生活的需求,因此特征融合的方法成為研究熱點。Liu等[7]提出了一種多視圖層次融合網絡,將多個視圖特征融合到1個緊湊的描述符中。Huang等[8]提出結合CNN以及循環神經網絡(recurrent neural network, RNN)將視角之間的相關性轉化為結構化遞歸神經網絡之間的依賴關系,恢復了三維模型的結構信息,將視圖特征進行融合。Liu等[9]提出了一種具有鑒別性的多視圖注意力卷積神經網絡,將三維模型的多個視圖作為輸入,輸出該三維模型對應的類別。具體來說對視圖進行2個操作,1)在視圖特征上采用元素最大運算獲取判別特征。2)采用軟關注機制動態調整形狀描述符,以更好地表達空間信息。Liu等[10]又提出了一種新的語義和上下文信息融合網絡(semantic and context information fusion network,SCFN),設計了通道注意機制(channel attention mechanism,CAM)利用視點語義信息,通過建模視圖特征通道之間的相關性,給有用的特征屬性賦予更高的權重,然后用上下文信息融合模塊(context fusion module,CFM)來融合多個上下文信息實現特征融合。
以上的方法雖然對視圖特征進行了不同的處理,但是并沒有考慮到不同視圖對于三維模型表示的重要性。本文提出了一種多視圖融合的三維模型分類方法,首先將三維模型投影生成二維視圖;然后將投影視圖作為網絡輸入,輸入到三維模型分類網絡中。與傳統的方法不同,本文在網絡的不同部分分別加入了混合域注意力機制和通道域注意力機制對特征進行不同注意力操作。二維視圖輸入網絡后首先經過含有混合域注意力機制的特征提取網絡,通過空間域和通道域2種注意力,定位主要特征在視圖中的位置,得到顯著的視圖特征;然后對這些視圖特征進行特征融合,融合成一個全局特征,輸入到后續含有通道域注意力機制的視圖權重學習網絡中,對全局特征進行加權學習,賦予不同視圖特征以不同的權重,體現不同視圖對于三維模型表示的不同重要性,形成一個具有代表性的特征描述符。
1本文方法
1.1投影方法和渲染方法
基于視圖的三維模型分類方法首先用多個不同的視角對三維模型進行投影;然后提取和融合各個視角的圖像特征形成一個緊湊的三維模型描述符。
其中,相機的數目、相機的位置和相機的角度決定了產生二維視圖的數量。數量適中、角度最佳和信息量豐富的二維視圖是實現模型分類的前提。現在主流的方式有2種。①以固定的軸(通常為z軸)為旋轉軸,固定該軸的方向為垂直正向,從地面提高φ度,每間隔角度θ設置1個視點。通常默認情況下φ=30°,θ=30°,所獲視圖數量為12張。②不指定垂直正向,將虛擬相機放置在圍繞該模型的正十二面的20個頂點上,所獲視圖數量為20張,如圖1所示。
本文的多視圖投影方式采用上述第一種方法,三維模型在z軸上正直擺放,虛擬相機于北緯30°每間隔30°放置1個,共有12個,且徑直指向三維模型的中心,如圖2所示。
此外,還對三維模型的渲染方式進行了研究。主流的三維模型渲染方式有體素網格、點云以及Phong渲染3種。為了生成模型的多個視圖,選用Phong渲染方式對三維模型進行處理,與MVCNN[11]中使用的渲染方式不同,本文將圖像的背景替換成黑色,并且對虛擬相機的視場大小進行了設置,使模型以圖像為邊界,最終得到大小為224×224的視圖。這種渲染方式不僅加強了視圖中物體與背景的對比度,同時極大的減少了視圖中的留白部分,使視圖中的有效信息大大增加,如圖3所示。
1.2視圖特征提取
使用卷積神經網絡對圖像進行分類已經成為常用的方法。卷積神經網絡種類豐富,其中ResNet[12]和DenseNet[13]相比于傳統深度神經網絡有較大創新,在ImageNet數據集上有突出的分類效果。相比之下,對于數據規模小的數據集DenseNet十分適用。而本文采用的ModelNet數據集模型數量較多,訓練數據較大,因此本文選用ResNet網絡。ResNet主要使用3×3卷積,能在保證深度的同時有效避免梯度消失問題,這一特性使得ResNet被廣泛的應用于圖像分類任務中。
ResNet網絡有ResNet18,ResNet50,ResNet101等不同規模。綜合考慮分類的精度與效率,最終選取ResNet50網絡進行分類和特征提取。并通過向Resnet50網絡中引入注意力機制,得到視圖的顯著性特征,提高了分類準確率。
卷積操作是通過跨通道和空間來提取信息特征的,因此在進行視圖特征提取的時候加入了混合域注意力機制(convolutional block attention module,CBAM)[14]。CABM分解了學習通道注意力和空間注意力的過程,通過2種注意力,定位主要特征位于視圖的位置并獲得視圖的顯著性特征。同時對于三維特征圖,單獨的注意生成過程的計算和參數開銷很小,因此可以作為Resnet50的基礎架構的模塊使用。整個注意力模塊運算過程為
F′=MC(F)F(1)
F″=MS(F′)F′(2)
其中:F∈RC×H×W表示輸入特征;表示元素逐個相乘;MC∈RC×1×1表示CBAM中的通道注意力運算模塊;F′表示經過通道注意力塊運算得到的特征;MS∈R1×H×W表示CBAM中空間注意力運算模塊;F″為經過空間注意力運算塊得到的最終輸出特征。CBAM網絡結構如圖4所示。
圖5是本文視圖特征提取網絡的殘差塊結構,將CBAM模塊以級聯的方式嵌入到Resnet50的殘差塊中,并刪除了Resnet50的全連接層以及最后一層池化層,使網絡只用來提取視圖特征,并不對結果進行分類,最終得到feature map為2 048×7×7的視圖特征。
1.3對視圖特征進行融合
目前,Add與Concat被用來對特征圖信息進行整合。Concat方式對多個特征通過拼接的方式進行融合;而Add方式更像是信息之間的疊加。Add方式在維度不變的情況下使視圖特征在每一維下的信息量增多;而Concat是通道數的合并,也就是視圖特征維度增加,而每一維度特征下的信息量不變。即
Zconcat=∑ci=1XiKi+∑ci=1YiKi+c(3)
Zadd=∑ci=1(Xi+Yi)Ki=∑ci=1XiKi+∑ci=1YiKi(4)
其中:兩路輸入的通道分別為X1,X2, ……, Xc和Y1, Y2, ……, Yc;K表示卷積操作。
采用Concat方法對三維模型多個視圖特征的進行融合操作,得到三維模型的全局特征,然后輸入到后續的權重學習網絡中進行訓練。圖6為本文整體的網絡結構圖。
1.4視圖權重學習網絡
視圖權重學習網絡由三層3×3卷積構成,并在卷積層后加入了注意力模塊對融合后的全局特征進行加權學習,根據不同視圖對三維模型表示的重要性不同,賦予每個視圖以不同的權重,得到一個具有代表性的特征描述符用于分類。
實驗證明,對于該部分網絡中的注意力模塊,選用通道注意力(squeeze and excitation ,SE)[15]可以取得更好的實驗效果。對于SE模塊,假設輸入的是一個h×w×c的feature map,首先對它進行一個global average pooling,由全局平均池化的操作得到一個1×1×c的feature map;然后通過兩層全連接,第一個全連接層的神經元個數為c/16,對特征進行了降維操作,第二個全連接層又對特征進行了升維操作,升到了c個神經元個數,經過兩層線性變換增加了網絡的線性處理過程,更好的擬合了通道之間復雜的相關性;然后通過一個sigmod激活函數,得到1×1×c的feature map;最后通過一個原始h×w×c和1×1×c的feature map全乘操作,得到含有注意力的feature map。
訓練時,將Concat融合后的全局特征作為輸入,輸入到權重學習網絡中,對不同視圖按照對模型的重要性不同進行加權學習,得到一個具有代表性的特征描述符,輸入到后續的池化和全連接層,輸出最終的分類結果。
2實驗結果與分析
實驗基于Pytorch框架, PC為Ubuntu 18.04.2,GPU為RTX2080Ti。分類實驗選用剛性數據集ModelNet10和ModelNet40。數據集均采用4∶1的比例劃分好訓練集、測試集。其中,ModelNet10中訓練集有10類共3 991個模型,測試集有10類共908個模型;ModeolNet40中訓練集有40類共9 843個模型,測試集有40類共2 468個模型。
2.1渲染方式
分析不同渲染方式下的模型分類準確率。如表1所示,我們分別使用緊密視野的黑色背景渲染以及MVCNN中的渲染,使用本文提出的網絡架構,分別在ModelNet10和ModelNet40數據集上進行了對比實驗。
從表2中可以看出,渲染方式對三維模型的分類準確率影響很大。使用黑色背景進行渲染,加大了視圖中模型與背景的對比度,而采用緊密的視野將模型以圖像為邊界放置,使每張圖片中的有用信息大大增加,相比MVCNN中的渲染方式本文的渲染方式在ModelNet10和ModelNet40的分類準確率分別提升了5.3%和5.4%。
2.2特征融合
采用Concat方法對視圖特征提取網絡提取的視圖特征進行特征融合,并與其他的三維模型分類方法進行比較。模型分類準確率在剛性數據集ModelNet10以及ModelNet40中比較結果如表2所示。
從表2可以看出,本文的方法在ModelNet10以及ModelNet40數據集上準確率均優于其他對比方法,居于第一位,準確分別為98.3%和95.5%。
ModelNet10數據集包括bathtub、bed、chair、desk、dresser、monitor、night_stand、sofa、table、toile共10類模型。除了dresser和night_stand這2類極其相似模型外,其余8類模型彼此間特征差異十分明顯,而dresser以及night_stand這 2類容易錯分模型雖然在實驗中容易混淆,但實際生活中,對用戶而言相差不大。相比ModelNet10本文方法在ModelNet40上實驗準確率有所下降,原因有兩方面:
1)ModelNet40數據集有40類共12311個模型,ModelNet10數據集有10類共 4899個模型,按照本文的視圖投影方法,投影后視圖數分別為147732和58788。相比之下ModelNet40數據集數據量大,使用層數低的神經網絡進行訓練會出現訓練不充分的情況,但是加深網絡又會導致參數量過大,導致實驗效率下降。
2)相比ModelNet10,ModelNet40中存在更多相似模型,在分類實驗時會導致錯分的出現,從而影響實驗準確率。如圖7所示。此外ModelNet40中某些類別類內差異很大,如plant類中,模型是否包含花盆界定不明確,對于plant類中包含花盆的模型而言在分類實驗中易于與flower_pot類中的模型造成混淆。
2.3視圖權重學習
視圖權重學習網絡的輸入為Concat后的全局特征,全局特征經過加權學習,最終輸出模型的分類結果。
本文的輸入數據是一個3×224×224大小的feature map,經過特征提取網絡的操作后得到2 048×7×7大小的feature map;然后對同一個模型下的12個視圖特征進行Concat操作,得到一個24 576×7×7大小的全局特征,輸入到視圖權重學習網絡中,最終得到分類結果。
在視圖權重學習網絡的卷積層后加入注意力層,對特征進行加權學習,根據不同視圖對表示三維模型的不同重要性,得到不同視圖的權重。下面對該部分網絡注意力塊的選用進行了實驗對比,如表3所示。
從表3中可以看出,對于融合后的全局特征,僅使用通道域注意力SE模塊,在ModelNet10以及ModelNet40 2個數據集上都取得了更好的實驗效果,模型分類準確率分別提升了0.5%和0.8%。
對于Concat操作后的24 576×7×7大小的模型特征,在輸入網絡后因特征過大,必須通過卷積層進行降維操作,這就使得有用特征在空間上十分密集,再對其進行空間注意力操作也不會取得好的實驗效果,反而會增加網絡的參數量,降低網絡訓練效率,最終導致分類準確率下降。
相反,正因為Concat增加了特征的通道維度,在后續訓練中如何在眾多的通道中學習到更加有用的信息就顯得十分重要。通過SE通道注意力操作,可以有效的將全局特征中有用的通道信息學習出來,同時對視圖特征進行了注意力加權操作,賦予不同視圖不同的權重。提高了分類的準確率。
3結論
提出了一種多視圖融合的三維模型分類方法。該方法采用緊密視野的黑色背景渲染方式生成二維視圖,同時訓練含有混合域注意力模塊的特征提取網絡提取三維模型的視圖特征,增強了視圖的有用特征,抑制無用特征;然后將視圖特征融合為全局特征,輸入到含有通道注意力機制的視圖權重學習網絡中訓練得到不同視圖的權重,形成具有代表性的特征描述符;最后得到分類結果。實驗結果表明,本文的方法在ModelNet10和ModelNet40數據集上分類準確率顯著提高。
在解決視圖間相似性和差異性的問題時只針對不同視圖對三維模型表示的重要性不同進行了研究。下一步將針對視圖輸入的時序問題展開研究。在多視圖融合時加入時序信息,進一步提高特征描述符的代表性,進而提高模型分類的準確率。
參 考 文 獻:
[1]丁博, 伊明. 基于卷積神經網絡的三維CAD模型分類[J]. 哈爾濱理工大學學報, 2020, 25(1): 70.
DING Bo, YI Ming. 3D CAD Model Classification Based on Convolutional Neural Network[J]. Journal of Harbin University of Science and Technology, 2020, 25(1): 70.
[2]張靜, 曲志堅, 劉曉紅. 基于深度學習的三維模型檢索研究[J]. 智能計算機與應用, 2019, 9(3): 54.
ZHANG Jing, QU Zhijian, LIU Xiaohong. Research on 3D Model Retrieval Based on Deep Learning[J]. Intelligent Computer and Applications, 2019, 9(3): 54.
[3]CHEN D Y, TIAN X P, SHEN Y T, et al. On Visual Similarity Based 3D Model Retrieval[J]. Computer Graphics Forum, 2010, 22(3): 223.
[4]SHI B, BAI S, ZHOU Z, et al. DeepPano: Deep Panoramic Representation for 3D Shape Recognition[J]. Signal Processing Letters, 2015,22(12): 2339.
[5]王鵬宇, 水盼盼, 余鋒根, 等. 多視角卷積神經網絡的三維模型分類方法[J]. 中國科學:信息科學, 2019, 49(4): 436.
WANG Pengyu, SHUI Panpan, YU Fenggen, et al. 3D Shape Classification Based on Convolutional Neural Networks Fusing Multi-view Information[J]. Scientia Sinica Informationis, 2019, 49(4): 436.
[6]ZHOU H Y, LIU A A, NIE W Z, et al. Multi-View Saliency Guided Deep Neural Network for 3D Object Retrieval and Classification[J]. IEEE Transactions on Multimedia, 2019, 22(6): 1496.
[7]LIU A A, HU N, SONG D, et al. Multi-View Hierarchical Fusion Network for 3D Object Retrieval and Classification[J]. IEEE Access, 2019(7): 153021.
[8]HUANG X, WANG M, ZHANG D, et al. Multi-view Fusion with Deep Learning for 3D Shape Classification[C]// 2018 International Conference on Audio, Language and Image Processing (ICALIP), 2018: 189.
[9]LIU A A, ZHOU H Y, LI M J, et al. 3D Model Retrieval Based on Multi-view Attentional Convolutional Neural Network[J]. Multimedia Tools and Applications, 2020, 79: 7.
[10]LIU A A, GUO F B, ZHOU H Y, et al. Semantic and Context Information Fusion Network for View-Based 3D Model Classification and Retrieval[J]. IEEE Access, 2020(8): 155939.
[11]SU H, MAJI S, KALOGERAKIS E, et al. Multi-view Convolutional Neural Networks for 3D Shape Recognition[C]// Proceedings of the IEEE International Conference on Computer Vision, Los Alamitos: IEEE Computer Society Press, 2015: 945.
[12]HE K M, ZHANG X Y, REN S Q, et al. Deep Residual Learning for Image Recognition[C]// Proceedings of the IEEE conference on computer vision and pattern recognition, 2016: 770.
[13]HUANG G, LIU Z, VAN Der Maaten L, et al. Densely Connected Convolutional Networks[C]// Proceedings of the IEEE conference on computer vision and pattern recognition, 2017: 4700.
[14]WOO S, PARK J, LEE J Y, et al. Cbam:Convolutional Block Attention Module[C]// Proceedings of the European Conference on Computer Vision (ECCV), 2018: 3.
[15]JIE H, LI S, GANG S. Squeeze-and-Excitation Networks[C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2018: 7132.
[16]SU J C, MATHEUS G , WANG R , et al. A Deeper Look at 3D Shape Classifiers[C]// Proceedings of the European Conference on Computer Vision (ECCV) Workshops, 2018: 645.
[17]ZHOU Y, ZENG F, QIAN J, et al. 3D Shape Classification and Retrieval Based on Polar View[J]. Information Sciences, 2019, 474: 205.
[18]ZHOU H Y, LIU A A, NIE W Z, et al. Multi-View Saliency Guided Deep Neural Network for 3D Object Retrieval and Classification[J]. IEEE Transactions on Multimedia, 2020, 22(6): 1496.
[19]HAN Z, LU H, LIU Z, et al. 3D2SeqViews: Aggregating Sequential Views for 3D Global Feature Learning by CNN with Hierarchical Attention Aggregation[J]. IEEE Transactions on Image Processing, 2019, 28(3): 3986.
[20]LIU A A, ZHOU H Y, LI M J, et al. 3D Model Retrieval Based on Multi-view Attentional Convolutional Neural Network[J]. Multimedia Tools and Applications, 2020, 79(7): 4699.
[21]LIANG Q, WANG Y, NIE W, et al. MVCLN: Multi-view Convolutional LSTM Network for Cross Media 3D Shape Recognition[J]. IEEE Access, 2020(8): 139792.
(編輯:溫澤宇)