丁博 湯磊 何勇軍 于軍



摘 要:提出了一種基于代表性視圖的三維模型檢索方法。在三維模型的視圖表示方面,為了充分表示模型,并減少冗余信息,首先采用光場描述符(light field descriptor, LFD)將三維模型投影成二維視圖,再將二維視圖采用k均值聚類算法(K-means clustering algorithm, K-MEANS)進行聚類,生成代表性視圖。然后采用卷積神經網絡(convolutional neural network, CNN)提取視圖特征并進行分類。同時提出了一種支持多種查詢方式的相似度評價方法,以實現草圖、圖片或三維模型為輸入條件的模型檢索。本文在ModelNet40模型庫上的實驗結果表明,部分特征突出的三維模型檢索的準確率可以達到100%。
關鍵詞:三維模型檢索;代表性視圖;卷積神經網絡;k均值聚類算法
DOI:10.15938/j.jhust.2021.06.003
中圖分類號: TP315.69
文獻標志碼: A
文章編號: 1007-2683(2021)06-0018-06
3D Model Retrieval Based on Representative Views
DING Bo1, TANG Lei1, HE Yong-jun1, YU Jun2
(1.School of Computer Science and Technology, Harbin University of Science and Technology, Harbin 150080, China;
2.School of Automation, Harbin University of Science and Technology, Harbin 150080, China)
Abstract:3D model retrieval based on representative views was proposed. On the view representation of the 3D model, in order to fully represent the model and reduce redundant information, we firstly adopt Light Field Descriptor (LFD) to generate 2D views, and then use K-MEANS to get representative views from the 2D views. Next, a Convolution Neural Network (CNN) is adopted to extract the view feature and classify. At the same time, a similarity metrics supporting multiple query method is proposed to realize model retrieval with sketches, pictures or 3D models as input. Results on ModelNet40 showed that the proposed method could achieve an accuracy of 100% for part of models with distinct features.
Keywords:3D model retrieval; representative views; convolutional neural network; K-MEANS
0 引 言
近年來,三維模型被廣泛用于計算機輔助設計(computer aided design, CAD)、虛擬現實、3D動畫和影視、醫學診斷、3D網絡游戲、機械制造等領域。尤其是最近幾年3D打印技術的興起,三維模型的應用得到了更為廣泛的普及,已經成為各行各業不可或缺的技術手段[1]。三維模型數量的飛速增長為模型增量設計提供了大量素材。有關研究表明,新產品開發中重用現有的或供應商提供的零部件占40%,修改后重用的零部件占40%,完全全新設計的零部件僅占20%。據估計變型設計或自適應設計約占到其中的90%,這表明大多數的設計工作可重用以前的產品設計知識[2]。根據產品之間的相似性,最大限度地重用已有的設計資源來開發新產品,不僅可以降低產品成本,縮短設計時間,而且還可以有效的提高產品可靠性,保證產品質量[3]。
描述符是真實三維模型的代表。三維模型檢索技術首先采用描述符對三維模型進行表達,然后通過對描述符進行相似性度量來進行檢索。常用的三維模型描述符可以分為如下四種:基于幾何結構分析的描述符[4]、基于統計的描述符[5]、基于投影視圖的描述符[6]和基于拓撲的描述符[7]。基于投影的三維模型檢索是將三維模型在特定的位置投影,得到一組二維視圖,利用這組二維視圖提取三維模型相應的特征表示,即將三維模型的分類檢索轉換成二維視圖的分類檢索。這類方法更加符合人的視覺感知特性,因此得到了廣泛的應用。基于投影的三維模型檢索的一個重點和難點是選擇多少數量的投影視圖。該投影的數量既能對三維模型充分描述,不丟失模型的空間信息;又不會產生冗余視圖,給檢索以及計算機的存儲造成不便。最簡單的視圖是模型的三視圖,Min等[8]就是用提取三視圖的方法,從模型三個固定的方向獲取了正視圖、俯視圖、側視圖,然后對這些二維輪廓特征圖進行相似性比較。但是此類簡單視圖對于模型本身的拓撲等空間信息不能表達,最后的檢索性能并不能取得足夠的滿意度。Chen等[9]提出一種光場描述符(light field descriptor, LFD)的算法。此算法首先利用正十二面體包圍模型,在正12面體中取得10個非對稱頂點;然后在10個頂點中的每個頂點設置10個不同的光場;最后對得到的100幅視圖進行Zernike特征提取和傅里葉變換特征提取。然而該算法存在大量冗余,雖然可以充分地表達三維CAD模型,但是不利于計算機的計算。針對大量的冗余視圖,一些學者采用如下方法加以改進,Cyr等[10]提出一種通過比較代表性視圖中形狀結構的方法。通過多個視角渲染得到足夠多的視圖,將其中一組有明顯差異的視圖作為最終視圖。還有一些學者將深度學習與基于投影描述符的方法結合,如秦飛巍等[11]將深度學習引入3D模型的檢索當中,他選擇光場描述符提取出的Zernike特征作為深層神經網絡的輸入進行學習,分類效果比較理想。Shi等[12]在預處理階段利用圓柱體包圍三維模型,像素值即是圓柱體的點和模型主軸的連線投射到三角面片的數量;此時將圓柱體側面展開得到三維模型的二維視圖;最后利用深度學習進行模型分類的任務。Su等[13]在對三維模型渲染時使用虛擬攝像機的技術,首先從12個方向拍攝得到12幅不同的視圖;然后利用卷積神經網絡對三維模型的視圖特征進行提取;在三維模型的分類精度上達到了較高的水平。馮元力等[14]提出一種球面深度全景圖描述三維形狀的方法。該方法通過對三維模型進行多角度球面深度投影得到多個球面全景圖,然后使用卷積神經網絡,對多幅全景圖進行整合分析。Su等[15]采用兩層卷積神經網絡對模型進行分類。通過第一層卷積神經網絡分別提取12張二維視圖的特征,然后將這些特征合并,并輸入到第二層卷積神經網絡,從而得到一個完整的形狀描述符。白靜等[16]首先采用深度學習模型CaffeNet分類二維視圖,然后利用加權投票的方式完成三維模型的分類。LFD除了會產生大量冗余視圖之外,還存在另一個問題,該算法只是籠統的對所有二維視圖進行同等對待,卻忽略了不同視圖的特征對三維模型的重要性并不相同。石民等[17]提出一種基于二維投影視圖最優權重對的方法,此方法是通過使用拉格朗日乘數子和支持向量機為視圖配置權重,用來區分不同視圖對于三維模型重要性的不同,該方法的檢索性能優于傳統的LFD。
本文提出了一種基于代表性視圖的三維模型檢索方法,該方法首先采用LFD均勻產生100二維投影視圖,然后采用K-MEANS將二維投影視圖進行聚類,生成代表性視圖,最后將代表性視圖輸入VGG_16,對模型進行索引建立并獲取模型特征。通過VGG_16對模型進行先分類,使待檢索模型僅需與同一類別的模型進行相似度匹配。該方法通過聚類減少了冗余視圖,并利用CNN對模型進行先分類再檢索,有效提高了模型檢索的速度和精度。
1 本文算法實現
1.1 基于代表性視圖的三維CAD模型檢索
基于投影的特征提取方法采用多個不同視角對模型進行投影,然后提取和匯總各投影的全局圖像特征作為原三維模型的內容表征。目前方法的拍攝位置均勻分布在模型周圍,所產生的投影數據是海量的,并且存在大量的冗余信息。因此需要研究合理的拍攝方法去除冗余數據,產生少量且具有代表性的二維視圖。本文提出一種基于K-MEANS的二維代表性視圖獲取方法,該方法首先采用LFD將三維模型投影成100張二維視圖,然后將二維視圖采用K-MEANS進行聚類,選取每個類別中距離中心位置最近的視圖作為代表性視圖。根據模型的復雜程度不同,不同模型生成的代表視圖數量不同。該方法能夠在保證模型描述精度的前提下,減少冗余信息,提高三維CAD模型檢索速度。在索引建立階段,仍然采用LFD+K-MEANS的方法進行三維模型表示。然后將代表性視圖輸入VGG-16,對模型進行索引建立并獲取模型特征。在檢索階段,首先輸入待檢索模型的相似模型、圖片或草圖。如果輸入的是模型或是三維草圖,要對其進行LFD投影和聚類,再將代表性視圖輸入VGG-16進行分類和特征提取。最后與同一類別的模型進行相似度匹配。如果是圖片或二維草圖,則不需要進行模型表示。基于代表性視圖的三維CAD模型檢索流程如圖1所示。
1.2 基于K-MEANS的二維代表性視圖提取
二維視圖的數量以及獲取視圖的角度都會對最終分類結果有影響。目前基于投影的三維模型檢索方法都是采用均勻投影的方法獲取模型的二維視圖,沒有考慮模型表面的復雜度。從而造成簡單表面的投影出現冗余。為了減少冗余,本文提出了基于K-MEANS聚類的二維代表性視圖提取方法。
聚類指將沒有分類標簽的數據集,分為若干個簇的過程,是一種無監督的分類方法[18]。其中,1967年提出的K-MEANS是應用最廣最高效的一種聚類方法[19]。本文所提出的二維代表性視圖提取方法分為兩步:①采用LFD將三維模型投影成100張二維視圖;②將100張二維視圖采用K-MEANS進行聚類,選取每個類別中距離中心位置最近的圖片作為代表性視圖。
將二維視圖采用K-MEANS進行聚類,首先要確定類別K的值,給定一個K的取值范圍,根據實驗,在此相機系統下,10~20張圖片得到的匹配結果最好。因此將K的取值范圍大致定為10~20,并利用手肘法確定最終K的取值。然后在每個類別中選取離類別中心最近的一張圖片,K個類別最終得到K張二維代表性視圖。
1.3 基于VGG-16的三維模型分類和特征提取
2014年,牛津大學計算機視覺組研發出了一種新的深度卷積神經網絡:VGGNet,該模型主要對圖像信息進行物體分類識別,對特征性強的物體信息識別度高。本文采用VGG-16對三維模型進行分類并提取特征,其結構如圖2所示。
訓練VGG_16提取視圖特征;將索引按照模型類別組織,模型檢索的時候先分類,然后在某個類別里面查找所需模型,這樣可以極大地減少檢索時間。用VGG_16的倒數第二層的輸出作為特征建立索引,用其最后一層輸出對模型分類,建立樹形索引。建立索引步驟如圖3所示。
在索引建立階段,給定一個類別的模型Model_i,首先對其進行投影和聚類,獲得投影圖片Vi1,Vi2,…,Vin,然后將其輸入訓練好的VGG_16,利用其第N-1層的輸出建立索引Fi1,Fi2,…,Fin。根據模型的類別,確定索引所在的類別。
1.4 基于多種查詢方式的相似度匹配方法
目前的相似度匹配方法僅支持一種查詢條件,這樣限制了用戶采用不同的輸入進行檢索。本文提出的三維模型檢索方法支持多種查詢方式,即支持三維模型、圖片、二維草圖和三維草圖為輸入。因此模型相似度匹配方法要根據待檢索模型輸入的不同采用不同的方法。
檢索條件可以分為三維模型、圖片、二維草圖和三維草圖。對于三維模型或三維草圖輸入,首先生成二維投影視圖。生成視圖的張數可以根據匹配的情況靈活確定。而對于圖片和二維草圖則直接當做視圖。對于模型和三維草圖首先生成一張二維投影視圖,與現有模型庫中的模型匹配,如果匹配度達到η,則匹配成功,否則繼續生成二維投影進行匹配。直到匹配度達到η或沒有新的二維視圖產生為止。相似度匹配流程如圖4所示。
基于多種查詢方式的相似度匹配方法分為兩種情況。第一種情況是當輸入為圖片或二維草圖時,
不需要進行投影和聚類,直接將其輸入到CNN中分類,然后根據提取出來的特征與同一類別中的模型特征進行距離度量,距離函數采用歐氏距離,即
i=argmini,kdis(W,Fik)(1)
其中:W為CNN輸出的特征值;Fik為同一類別模型的特征值,1≤i≤m,m為同一類別中的模型數,1≤k≤n,k為同一模型的投影數,求得的i為最終匹配的模型。
第二種情況是當輸入為三維模型或三維草圖時,首先需要進行投影和聚類,當產生多個視圖作為檢索條件時,假定其CNN的輸出特征為W1,W2,…,Wl,…,WL,這些特征需要與同一類別的模型特征進行相似度匹配。其相似度計算為
il=argmini,kdis(Wl,Fik)(2)
其中:Wl為CNN輸出的特征值;l={1,2,3,…,L};L為輸入模型產生的投影數;Fik為同一類別模型的特征值,求得的il為與特征Wl最匹配的模型。
創建模型向量Model_Vector,并賦其初值為0。如式(3)所示。
Model_Vector[1,2,…,p]=[0,0,…,0](3)
其中p為同一類別中的模型數。
當Wl與同一類別中的模型相匹配時,其對應的向量值加1。如式(4)所示。
Model_Vector[il]=Model_Vector[il]+1(4)
最后統計哪個模型對應的向量值最高,該模型為最終匹配模型。
2 實驗結果與分析
實驗基于Tensorflow框架,使用VGG16完成圖像特征提取及分類,Python處理相關數據。實驗所用的PC為intel i72600k + gtx 1060,GPU為GTX965。
文中算法應用于剛性三維模型庫ModelNet40。由于ModelNet40數據集中不同分類下的模型數量差距較大。為了測試VGG16對此數據集的魯棒性,本文在ModelNet40中選取10類模型airplane、car、chair、cone、door、guitar、person、plant、sofa、stairs作為實驗數據集。該10類模型中有的數量多達989個,如chair,有的則只有108個模型,如person。選取數據集共有3955個模型,10種類別,平均每種類別包含395個模型。選擇3275個模型作為訓練,680個模型作為測試集。
由于本文采用基于K-MEANS的方法進行二維代表性視圖提取,因此確定K的取值對三維模型的表示有著重要的影響。K取值過小,會造成模型描述不全面,而K值過大又會無法達到去除冗余圖片的效果。經過實驗,本文最終確定K的取值范圍是10~20。不同取值下對檢索的影響如圖5所示。
另一個影響檢索結果的是η的取值。適當的η值不僅可以提高檢索速度還可以提高檢索精度。當η取值過大時,檢索速度會加快,但對精度會降低。反之,當η取值過小時,檢索精度有所提升,但速度稍微下降。同時,在本數據集中,當η取值范圍是0~1時,對檢索精度產生的影響不大。綜合以上因素,本文確定η取值為0.5。不同η值對檢索的影響如圖6所示。
確定不同參數的值以后,將本文所提出的算法與現有算法LFD[9]和Su-MVCNN[15]進行對比。準確率以及P-R曲線對比實驗結果如圖7所示。
通過對比實驗表明,本文提出的方法在選取數據集上取得相對好的檢索效果。采用基于K-MEANS聚類的方式獲取三維模型的二維代表性視圖,不僅減少了冗余視圖,還能用盡量少的二維視圖全面地描述三維模型,大大提高了特征匹配的質量。通過分析實驗結果,得出以下結論:
1)訓練數據不均衡會影響檢索結果,但只要特征差距大,仍然會取得良好的檢索準確率。本文實驗選取的數據集,類別間數量差異懸殊,但同時類別間的特征差異也大。實驗結果卻比預期好很多。因此,本實驗結果表明,只要數據間的特征差距大,同樣也可以產生很好的訓練效果。
2)對于特征不明顯的數據來說,分類和檢索效果一般。本實驗所選取的10個模型中,airplane的檢索效果最好,選取的二維代表性視圖基本都能正確分類并取得理想的檢索效果。car、cone、guitar、person效果稍次之,有個別二維代表性視圖無法正確分類,但最終檢索效果表現出色。chair、stairs、plant、sofa中個別模型檢索效果差,其中sofa的部分模型被識別為chair。door模型的檢索效果一般。產生這些現象的原因是各個模型的特征表現不一致。airplane模型比較復雜,特征比較突出,因此效果最好。sofa和chair有些模型在投影下比較類似,導致可能會被錯分。而door模型比較簡單,投影之后特征不夠明顯,因此分類和檢索的效果都一般。
本文只是針對ModelNet40中部分數據做了實驗分析。結果表明,本文的檢索算法在性能和效率上都有所提升。下一步要加大數據集的實驗,并找到相似模型內部不同局部區域,區別對待,以提升檢索的精度。
3 結 論
本文提出了一種基于代表性視圖的三維模型檢索方法,該方法采用LFD和K-MEANS相結合的方式生成二維代表性視圖,用盡量少的二維視圖表示三維模型,不僅有效剔除了冗余視圖,還保證了檢索精度。同時訓練VGG-16提取視圖特征,將索引按照模型類別組織。模型檢索的時候先分類,然后在某個類別里面查找所需模型,這樣極大地減少檢索時間。
參 考 文 獻:
[1] ZENG Hui, LIU Yanrong, LI Siqi, et al. Convolutional Neural Network Based Multi-feature Fusion for Non-rigid 3D Model Retrieval[J]. Information Processing Systems, 2018, 14(1): 176.
[2] SHARMA, R., J.X. GAO. A Knowledge-based Manufacturing and Cost Evaluation System for Product Design/re-design[J]. International Journal of Advanced Manufacturing Technology, 2007, 33(9-10): 856.
[3] 李海生, 孫莉, 武玉娟, 等. 非剛性三維模型檢索特征提取技術研究[J]. 軟件學報, 2018, 29(2): 483.
LI Haisheng, SUN Li, WU Yujuan, et al. Survey on Feature Extraction Techniques for Non-Rigid 3D Shape Retrieval[J]. Journal of Software, 2018, 29(2): 483.
[4] BIASOTTI S,GIORGI D,SPAGNUOLO M,et al. Size Functions for Comparing 3D Models[J]. Pattern Recognition, 2008, 41(9): 2855.
[5] OHBUCHI R, TAKEI T. Shape Similarity Comparison of 3D Shapes Using Alpha Shapes[C]// Proceedings of Pacific Graphics, Canada, 2003: 293.
[6] PU J T, RAMANI K. An Integrated 2D and 3D Shape-based
Search Framework and Applications[J]. Computer Aided Design and Applications, 2007, 4(6): 817.
[7] 皇甫中民, 張樹生. 基于圖索引過濾機制的三維CAD模型局部檢索[J]. 計算機集成制造系統, 2015, 21(7): 1679.
HUANFU Zhongmin, ZHANG shushing. Partial Retrieval Method of 3D CAD Models Based on Gragh Indexing and Filtering Mechanism[J]. Computer Integrated Manufacturing System, 2015,21(7):1679.
[8] MIN P, CHEN J, FUNKHOUSER T. A 2D Sketch Interface for a 3D Model Search Engine[C]// ACM SIGGRAPH 2002 Conference Abstracts and Applications, 2002: 138.
[9] CHEN D Y, TIAN X P, SHEN Y T. On Visual Similarity Based on 3D Model Retrieval[J]. Computer Graphics Forum, 2003, 22(3): 223.
[10]CYR C M, KIMIA B B. 3D Object Recognition Using Shape Similarity-based Aspect Graph[C]// ICCV, 2001, 1: 254.
[11]QIN Feiwei, LI Luye, GAO Shuming, et al. A Deep Learning Approach to the Classification of 3D CAD Models[J]. Comput & Electron, 2014: 91.
[12]SHI B, BAI S, ZHOU Z, et al. Deep Pano: Deep Panoramic Representation for 3-D Shape Recognition[J]. Signal Processing Letters, 2015, 2339.
[13]SU H, MAJI S, KALOGERAKIS E, et al. Multi-view Convolutional Neural Networks for 3D Shape Recognition[C]// ICCV, 2015: 945.
[14]馮元力, 夏夢, 季鵬磊. 球面深度全景圖表示下的三維形狀識別[J]. 計算機輔助設計與圖形學學報, 2017, 29(9): 1689.
FENG Yuanli, XIA Meng, JI Penglei, et al. Deep Spherical Panoramic Representation for 3D Shape Recognition[J]. Journal of Computer-Aided Design & Computer Graphics, 2017,29(9):1689.
[15]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.
[16]白靜, 司慶龍, 秦飛巍. 基于卷積神經網絡和投票機制的三維模型分類與檢索[J]. 計算機輔助設計與圖形學學報, 2019, 31(2): 303.
BAI Jing, SI Qinglong, QIN Feiwei. 3D Model Classification and Retrieval Based on CNN and Voting Scheme[J]. Journal of Computer-Aided Design & Computer Graphics, 2019,31(2):303.
[17]SHI M, ZHANG S S, LI L, et al. 3D CAD Model Retrieval Using 2D Characteristic Views[J]. Engineering & Technology, 2012:1.
[18]姚登舉,詹曉娟,張曉晶.一種加權K一均值基因聚類算法[J].哈爾濱理工大學學報, 2017, 2: 112.
YAO Dengju, ZHAN Xiaojua, ZHANG Xiaojing. A Weighted K-means Gene Clustering Algorithm[J]. Journal of Harbin University of Science and Technology, 2017(2):112.
[19]吳明陽,張芮,岳彩旭,等.應用K-means聚類算法劃分曲面及實驗驗證[J].哈爾濱理工大學學報, 2017, 1: 54.
WU Mingyang, ZHANG Rui, YUE Caixu, et al. Application of K-means Clustering Algorithm to Divide Surface and Experimental Verification[J]. Journal of Harbin University of Science and Technology, 2017(1):54.
(編輯:溫澤宇)
收稿日期: 2019-09-06
基金項目: 國家自然科學基金面上項目(61673142);黑龍江省自然科學基金杰出青年項目(JJ2019JQ0013);黑龍江省普通本科高等學校青年創新人才項目(UNPYSCT-2016034).
作者簡介:
湯 磊(1995—),男,碩士;
何勇軍(1980—),男,教授,博士研究生導師.
通信作者:
丁 博(1983—),女,副教授,碩士研究生導師,E-mail:dingbo@hrdust.edu.cn.