潘 婷,楊秋翔,景志宇
中北大學(xué) 軟件學(xué)院,太原030051
三維模型是對(duì)現(xiàn)實(shí)世界實(shí)體或虛構(gòu)物體進(jìn)行建模后存儲(chǔ)在計(jì)算機(jī)中的數(shù)據(jù)。由于三維模型具有強(qiáng)烈的視覺感知及立體特征,它已成為繼聲音、圖像和視頻之后的第四種多媒體數(shù)據(jù)類型[1]。三維模型被廣泛應(yīng)用于各個(gè)領(lǐng)域:醫(yī)療領(lǐng)域使用精密的三維人體器官模型進(jìn)行教學(xué)指導(dǎo)及輔助治療;文物保護(hù)領(lǐng)域使用三維建模進(jìn)行文物展示及文物重建;游戲領(lǐng)域用三維模型進(jìn)行場景搭建;教育領(lǐng)域利用三維建模技術(shù)輔助教學(xué)等。三維建模技術(shù)的高速發(fā)展,使得三維模型數(shù)量呈現(xiàn)出指數(shù)式增長的態(tài)勢,如何識(shí)別、檢索、重用和重新構(gòu)建三維數(shù)據(jù)已成為設(shè)計(jì)師、工程師和研究人員共同關(guān)注的問題[2]。
傳統(tǒng)的基于文本信息的搜索不適用于三維模型檢索。具體而言,不同的人對(duì)同一對(duì)象的描述會(huì)有差異,這些差異可歸因于他們的文化背景、世界觀、生活環(huán)境甚至情感狀態(tài)。基于文本信息的檢索需要手動(dòng)注釋,隨著模型數(shù)量的爆炸式增長,這已成為一項(xiàng)非常繁瑣和艱巨的任務(wù)。因此,研究人員提出了基于內(nèi)容的三維模型檢索框架,主要包括兩個(gè)類別:基于實(shí)例的三維模型檢索和基于草圖的三維模型檢索。基于實(shí)例的三維模型檢索需要用戶提供相似的三維模型,屬于同域檢索問題,因此檢索準(zhǔn)確率更高[3-4]。但是三維模型并不容易獲取到,需要一定的專業(yè)技術(shù),給用戶帶來了很多的不便。草圖是人們認(rèn)識(shí)三維物體最直觀的方式,包含了許多信息。設(shè)計(jì)人員一般在設(shè)計(jì)階段都會(huì)將腦海中所構(gòu)思的物體以草圖的形式描繪出來。因此,基于草圖的三維模型檢索技術(shù)越來越受到計(jì)算機(jī)視覺領(lǐng)域的關(guān)注。
基于草圖的三維模型檢索因其簡單性、直觀性和易用性而被采納。然而,基于草圖的三維模型檢索的研究還面臨著很多嚴(yán)峻的挑戰(zhàn)[1,4]:(1)草圖具有高度的抽象性和可變性,同一物體可以以不同的風(fēng)格進(jìn)行繪制,從而產(chǎn)生不同程度的抽象和變形。(2)草圖主要是由黑色和白色線條組成,缺乏顏色和紋理信息,不同物體有可能會(huì)被繪制成相似的草圖,例如:檸檬、甜甜圈和輪胎繪制成草圖后,由于缺乏顏色和細(xì)節(jié)紋理變得難以區(qū)分,這對(duì)檢索算法區(qū)分物體的能力提出了極高的要求。(3)草圖與三維模型屬于不同的空間類型,二者在視覺感知上存在明顯的差異,直接使用草圖進(jìn)行檢索存在一定的困難。
在本文中,提出了一種基于球體投影的三維模型網(wǎng)絡(luò)檢索框架。主要的創(chuàng)新點(diǎn)如下:(1)提出了一種新的基于球體的三維模型投影算法。該算法利用外接球體對(duì)三維模型進(jìn)行多角度的投影。(2)利用高斯濾波差分和貝塞爾曲線逼近相結(jié)合的三維模型線圖計(jì)算方法來提取線圖。(3)將轉(zhuǎn)移學(xué)習(xí)算法用于對(duì)三維模型投影視圖的分類,通過對(duì)二維投影視圖數(shù)據(jù)集進(jìn)行訓(xùn)練,獲得最佳投影視圖。
近年來,基于草圖的三維模型檢索的研究已經(jīng)取得了很大的進(jìn)展。由于草圖的抽象性和獨(dú)特性,許多研究者對(duì)草圖的識(shí)別進(jìn)行了深刻的探索。Paulson 等人[5]提出了一種新的識(shí)別系統(tǒng),它可以識(shí)別八種簡單圖形和簡單圖像的組合。文獻(xiàn)[6]提出了一種基于語義的三維模型檢索,通過監(jiān)督學(xué)習(xí)捕捉草圖的所要表達(dá)的含義。Cao等人[7]提出了一種基于三視圖的新型三維模型檢索方法,該方法的創(chuàng)新之處在于對(duì)用戶的個(gè)性化草圖進(jìn)行建模。Yoon 等人[8]利用無監(jiān)督算法自動(dòng)學(xué)習(xí)和優(yōu)化草圖和三維模型特征,克服了從黑白素描圖像中提取魯棒特征的難度。Tasse 等人[9]提出了一種新穎的跨域檢索方法,將草圖和三維模型嵌入到相同的向量空間。Muhammad等人[10]提出了一個(gè)草圖抽象模型,在草圖的可識(shí)別性和筆畫數(shù)之間進(jìn)行權(quán)衡,預(yù)測如何安全去除筆畫而不影響草圖的可識(shí)別性。Sun等人[11]將化學(xué)結(jié)構(gòu)式(CSF)應(yīng)用到草圖識(shí)別系統(tǒng),建立圖結(jié)構(gòu)來描述草圖的所含信息。Sert等人[12]使用轉(zhuǎn)移學(xué)習(xí)進(jìn)行草圖識(shí)別。
草圖和模型屬于不同的維度空間,為了讓草圖與三維模型進(jìn)行匹配,將三維模型投影成二維視圖。Su 等人[13]采用固定視角的方案,其方案假設(shè)三維模型是直立向上的,并在模型周圍每隔30°放置一個(gè)攝像機(jī)進(jìn)行投影。對(duì)于不滿足直立向上的模型,Su等人[13]提出了另一種方案,該方案將模型周圍的正二十面體上的二十個(gè)頂點(diǎn)上放置相機(jī)。張海龍[14]將三維模型投影成三個(gè)二維圖像。Kainai[15]和Yoon等人[16]采用平行投影的方法,利用正射投影與對(duì)等軸測投影將三維模型投影成14個(gè)二維圖像,包括6 個(gè)正投影圖像以及8 個(gè)對(duì)等軸測投影圖像。Chen等人[17]采用中心投影的方法,提出了利用光場描述符來表示三維模型的二維投影圖像,通過將光源均勻分布和定位在一個(gè)常規(guī)的十二面體的各個(gè)頂點(diǎn)上,從每個(gè)頂點(diǎn)出發(fā)按照三條棱的方向進(jìn)行投影。Yasseen等人[18]提出了一種新的方法來描述二維投影圖像的視覺突出部分。Wang等人[19]利用極簡主義的方法定義二維投影視圖,提出的方法不依賴“最佳視圖”和“手工制作”的特性。
為了使三維模型更易與草圖進(jìn)行匹配,可以將三維模型渲染成與草圖類似的二值非真實(shí)感線條圖。常用的渲染方法有剪影圖、外輪廓線圖和輪廓線圖。剪影圖只顯示模型的外部輪廓線,內(nèi)部全用黑色填充;外輪廓線圖只提取模型最外層的封閉輪廓線;輪廓線圖由外輪廓線和內(nèi)輪廓線共同組成。文獻(xiàn)[13]將模型向13 個(gè)方向進(jìn)行正交投影,得到13 張不同的的外輪廓線圖像。文獻(xiàn)[20]提出了一種自適應(yīng)獲取模型視圖的方法,并結(jié)合剪影圖和外輪廓線圖共同描述三維模型二維投影。剪影圖和輪廓線圖只能描述模型的外部輪廓信息,無法描述內(nèi)部結(jié)構(gòu)信息。輪廓線圖可以同時(shí)表達(dá)模型內(nèi)部、外部的形狀結(jié)構(gòu)信息。獲取輪廓線圖由兩種方式:一是提取三維輪廓線后投影成輪廓線圖;二是先投影成二維圖像再提取輪廓線圖。文獻(xiàn)[21]提出視角相關(guān)的Suggestive三維輪廓線提取方法,該方法能夠提取外輪廓線圖和內(nèi)部輪廓線圖。文獻(xiàn)[22]利用Suggestive輪廓線投影為二維圖像,用于三維模型檢索。文獻(xiàn)[23]利用渲染緩沖提取輪廓線圖,但是渲染圖象容易受光照的影響。文獻(xiàn)[24]在獲取的深度圖像上利用拉普拉斯濾波,細(xì)化及高斯濾波的方法獲取二維線圖進(jìn)行三維模型檢索。但是該方法存在鋸齒現(xiàn)象。
圖1 三維模型檢索框架
本文檢索方法框架如圖1 所示。在基于草圖的三維模型檢索時(shí),需要從多個(gè)方向渲染數(shù)據(jù)庫中的三維模型以獲取每個(gè)模型的二維投影視圖。本文采用基于球體虛擬照相的投影方法來獲取二維視圖。由于手繪草圖是通過線條來描述物體的大致輪廓,需要將二維投影視圖表示為與草圖類似的線圖結(jié)構(gòu)。因此,采用高斯濾波差分和貝塞兒曲線逼近相結(jié)合的線圖提取方法來獲得三維模型線圖。在獲取三維模型線圖后,采用轉(zhuǎn)移學(xué)習(xí)算法獲取最優(yōu)視圖。使用草圖檢索所需三維模型時(shí),需要計(jì)算草圖與三維模型的相似度。但是,草圖和三維模型在計(jì)算機(jī)中是以離散的像素點(diǎn)矩陣存在的,不能使用像素信息進(jìn)行區(qū)分。因此,通過對(duì)圖像提取特征,構(gòu)建相應(yīng)特征描述符。本文采用改進(jìn)的SBLBP描述符用于圖像分類,并利用兩個(gè)Siamese 網(wǎng)絡(luò)進(jìn)行基于草圖的三維模型檢索。
獲取三維模型的二維投影視圖方法有很多種,主要分為兩類:平行投影和中心投影。通過對(duì)現(xiàn)有投影方法進(jìn)行分析,發(fā)現(xiàn)中心投影投射的圖形與人類觀察物體所產(chǎn)生的視覺效果相近,所繪制的圖形立體感較強(qiáng),更能反應(yīng)三維模型的特性,也更有利于投影視圖特征的提取。因此,本文采用中心投影的方法。在對(duì)模型渲染時(shí)需要指定角度,倘若從每個(gè)角度對(duì)模型進(jìn)行渲染,就會(huì)導(dǎo)致信息表達(dá)出現(xiàn)冗余,計(jì)算量過于龐大。本文提出一種基于球體虛擬照相的投影方法,從指定角度對(duì)模型進(jìn)行投影,既獲取了對(duì)模型信息的充分表達(dá),也降低了后續(xù)的計(jì)算量。為了使投影視圖更易與草圖進(jìn)行匹配,本文利用高斯濾波差分和Bezier 曲線逼近相結(jié)合的三維模型線圖計(jì)算方法來提取線圖,以克服假邊緣過多及邊緣定位不準(zhǔn)的情況。具體步驟如下:
步驟1 模型預(yù)處理。首先,對(duì)模型進(jìn)行平移不變性的預(yù)處理,本文采用基于加權(quán)面積的方法,該方法表示如下:
其中,Pi是三維模型上的任意一點(diǎn),Pˉ是三維模型的重心坐標(biāo)頂,Si是三維模型上每一個(gè)頂點(diǎn)的相鄰面片的平均面積,Sj是每個(gè)頂點(diǎn)的各相鄰面片的面積;其次,采用基于法線分布調(diào)整CPCA 主軸的旋轉(zhuǎn)歸一化方法[25]來完成模型旋轉(zhuǎn)不變性的預(yù)處理;最后,通過一個(gè)變換因子,實(shí)現(xiàn)三維模型的縮放不變性。將三個(gè)坐標(biāo)軸方向的變換因子分別設(shè)為Tx、Ty、Tz,則三維模型的縮放不變因子為:
步驟2 投影角度。在三維模型外圍外接一個(gè)球體,在球體半圓弧上每隔30°的地方放置一個(gè)虛擬照相機(jī),并確保照相機(jī)鏡頭垂直于模型質(zhì)心同攝像機(jī)之間的連線。一次拍攝后,將半圓弧旋轉(zhuǎn)30°繼續(xù)拍攝,直至半圓弧回歸原位。必須注意的是,要始終保持照相機(jī)鏡頭垂直于模型質(zhì)心同攝像機(jī)之間的連線。圖2 為投影示意圖。
圖2 三維模型投影示意圖
步驟3 視圖的渲染。采用MATLAB工具內(nèi)置的三角網(wǎng)格繪制函數(shù)trimesh 來完成視圖渲染。渲染時(shí),設(shè)置函數(shù)屬性AmbientStrength=0.2,DiffuseStrength=0.6,SpecularStrength=0;三個(gè)屬性分別對(duì)應(yīng)馮氏光照模型中的環(huán)境光照、漫反射光照和鏡面光照;設(shè)置函數(shù)屬性FaceLighting 為Gouraud,即采用Gouraud 方案對(duì)三角面著色。
步驟4 線圖的提取。本文采用光滑可矢量的二維線圖提取方法[26]。首先,利用尺度空間高斯差分方法提煉投影視圖的輪廓邊緣。不同尺度空間圖像進(jìn)行差分運(yùn)算即可獲取近似邊緣圖像,如式(4)所示,將圖像與不同高斯核差分進(jìn)行卷積得到差分邊緣圖像。
其中,pi為Bezier曲線的控制點(diǎn),即多邊形頂點(diǎn),n 為曲線的階數(shù),即多邊形頂點(diǎn)個(gè)數(shù),t 為時(shí)間參數(shù)。
草圖與三維模型分屬不同域,但是同一類別下的草圖和三維模型存在一定的相似性。草圖是人類對(duì)直觀事物的一種抽象性的表達(dá),它體現(xiàn)了事物的共性和特性。換句話說,草圖可以代表一個(gè)小類別的三維模型。假設(shè)一個(gè)三維模型屬于某一類別,那么這個(gè)三維模型的投影視圖中肯定存在多個(gè)與該類別草圖具有很大相似性的投影視圖。本文利用三維模型投影視圖與草圖之間的相似性,構(gòu)建了一個(gè)分類器,并使用它為不同模型選擇最優(yōu)視圖。最優(yōu)視圖的選取,可以減少投影視圖數(shù)量,在對(duì)投影視圖進(jìn)行特征提取時(shí),可以降低計(jì)算量。本文選擇效果較好的神經(jīng)網(wǎng)絡(luò)作為分類器。
整體過程如圖3所示,具體的步驟如下。
圖3 最優(yōu)視圖獲取流程圖
圖4 構(gòu)建圖結(jié)構(gòu)的過程
其中σ=0.2,dapp=(gi,hj)表示標(biāo)準(zhǔn)化歐式距離。草圖中,gi的平均方向表示為θi;投影視圖中,hj的平均方向表示為θj。假設(shè)W ni 表示從gi開始長度為n 的步長;同樣地,W nj 表示從hj開始長度為n 的步長。步行距離公式表示為:
其中,|li|是Es的個(gè)數(shù)。
草圖是光滑的,包含的頂點(diǎn)數(shù)比投影視圖少。因此,參數(shù)n 的值非常重要。如果n 值過大,則頂點(diǎn)數(shù)可能小于n,導(dǎo)致步行失敗;n 值過大,還會(huì)導(dǎo)致計(jì)算時(shí)間過長。因此,n 被設(shè)置為4以獲取準(zhǔn)確的結(jié)果并且降低計(jì)算要求。
步驟2 訓(xùn)練樣本。模型的最優(yōu)視圖需要通過學(xué)習(xí)框架來獲得,但是學(xué)習(xí)框架中的網(wǎng)絡(luò)需要大量樣本來支撐。Eitz的草圖數(shù)據(jù)集[27]在每個(gè)類別中包含80個(gè)草圖,本文在每個(gè)類別的80個(gè)草圖和多投影視圖之間建立關(guān)系,并定義鑒別函數(shù)D 來對(duì)樣本進(jìn)行分類。
對(duì)屬于第i 類草圖集Si的草圖和投影視圖,定義概率函數(shù)p(0 <p <1):
綜上,定義一個(gè)辨別函數(shù)D 以區(qū)分與多投影視圖相關(guān)的正樣本和負(fù)樣本:
步驟3 訓(xùn)練和測試。使用SoftMax 激活函數(shù)輸出網(wǎng)絡(luò)分析結(jié)果。具體地,通過定義一個(gè)Score 函數(shù)來表示MLP 網(wǎng)絡(luò)的最終輸出結(jié)果。對(duì)于每個(gè)投影圖像,Score 函數(shù)可以表示為:
步驟4 排名。本文采用Zhao等人[28]提出的排名方法。該方法避免從特定角度關(guān)注投影圖像,主要目的在于保持投影圖像的多樣性。由于每個(gè)投影視圖都是從模型的邊界球體密集采集的,因此附近的視點(diǎn)通常具有非常相似的輪廓,會(huì)出現(xiàn)相似的分?jǐn)?shù)。如果直接對(duì)得分最高的值進(jìn)行排序,選擇前N 個(gè)最好的值,結(jié)果可能只來自模型的一側(cè),這個(gè)結(jié)果往往是無效的。因此,為了保證投影視圖的多樣性,同時(shí)抑制從鄰近視點(diǎn)獲得投影視圖,采用Zhao等人[28]提出的分?jǐn)?shù)抑制方法進(jìn)行排名。
從方程(13),可以得到每個(gè)投影視圖的得分。然后利用排名策略調(diào)整該得分。定義一個(gè)新函數(shù)S~:
實(shí)驗(yàn)基于TensorFlow深度學(xué)習(xí)框架,使用Python3.7和C++處理數(shù)據(jù)及部分可視化。草圖數(shù)據(jù)集來源于Eitz的手繪草圖庫,其中包含80個(gè)不同類別(飛機(jī)、臺(tái)燈、椅子等)的查詢草圖。三維模型數(shù)據(jù)集采用普林斯頓形狀基準(zhǔn)(PSB),該數(shù)據(jù)集包括1 814個(gè)三維模型,其中包括907個(gè)測試集和907個(gè)訓(xùn)練集。每個(gè)模型都有相對(duì)應(yīng)的草圖集,每個(gè)草圖都是由手繪輪廓和封閉邊界曲線組成的,符合實(shí)驗(yàn)的要求。
三維模型的二維投影圖像具有足夠的代表性,能夠捕獲到三維模型具有辨識(shí)力的特征。不同的三維模型投影方法,對(duì)檢索性能將產(chǎn)生很大的影響。一般地,認(rèn)為投影圖像越多模型檢索準(zhǔn)確率越高,但是過多的投影圖像會(huì)影響檢索效率,造成空間上的浪費(fèi)。將提出的方法與5種現(xiàn)有的投影方法進(jìn)行對(duì)比:張海龍[14]利用基于主平面分析的投影方法獲得3 個(gè)二維投影圖像。Funkhouser 等人[29]將三維模型投影為三視圖、四角視圖和6個(gè)傾斜視圖共13個(gè)投影圖像。Kanai[15]利用立方體將模型投影為6 個(gè)正射投影圖像和8 個(gè)對(duì)等軸測投影圖像共14個(gè)二維圖像。Yoon等人[16]利用球體將模型投影為14個(gè)投影圖像。Chen等人[17]通過光場描述符生成60個(gè)投影圖像。
表1 不同投影方法的檢索平均準(zhǔn)確率
從表1可以看出,本文提出的基于球體虛擬照相的投影方法的優(yōu)于其他4 種投影方法?;谇蝮w虛擬照相的投影方法比其他方法所投射的角度更全面,獲取的模型信息足夠豐富,因此在檢索性能上也具有更好的優(yōu)勢。
最優(yōu)視圖的選擇對(duì)三維模型的檢索有著至關(guān)重要的作用。將本文方法與Web 圖像驅(qū)動(dòng)方法[30]和基于SVM 分類方法[28]進(jìn)行對(duì)比,通過使用不同的試圖選擇方法來計(jì)算數(shù)據(jù)集中每個(gè)模型的候選視角,并得到最終的檢索結(jié)果。通過改變參數(shù)獲取不同的候選視角,并繪制其P-R曲線,利用P-R曲線下的面積(Area Under Curve,AUC)來評(píng)估檢索性能。如圖5 所示,本文方法的效果優(yōu)于其他兩種最優(yōu)視圖選擇的方法。不良視圖圖像容易對(duì)模型的檢索結(jié)果產(chǎn)生負(fù)面影響,不良圖像越多,檢索效果越差。主要通過移除不良視圖來獲取最優(yōu)視圖。
圖5 本文方法與其他方法的對(duì)比曲線
為了能夠進(jìn)一步說明本文方法的有效性,在基準(zhǔn)數(shù)據(jù)集SHREC2013 上與其他方法進(jìn)行對(duì)比,并采用三維模型檢索領(lǐng)域常用的6 種檢索評(píng)價(jià)方法來衡量方法的效果,如表2 所示。從表可知,本文算法在NN、FT、ST、E、DCG 上的指標(biāo)表現(xiàn)得更好,進(jìn)一步說明了本文方法在基于草圖的三維模型檢索上有更高的準(zhǔn)確率和優(yōu)越性。
表2 SHREC2013數(shù)據(jù)方法評(píng)價(jià)結(jié)果
此外,對(duì)于三維模型檢索另一個(gè)值得注意的問題是用戶檢索模型所耗費(fèi)的時(shí)間問題,如果檢索實(shí)時(shí)性下降,即使檢索準(zhǔn)確率有了明顯提升那么實(shí)用性也不強(qiáng)。Liu 等人[30]的檢索方法與本文方法都是通過選取最優(yōu)視圖完成模型檢索,因此,將本文方法與Liu 等人[30]的檢索方法進(jìn)行對(duì)比。如表3 所示,由于本文方法是基于草圖與三維模型的相似性來選取最優(yōu)視圖,而Liu 等人[30]是通過Web 圖像選取最優(yōu)視圖,因此在準(zhǔn)備率上會(huì)高于Liu 等人[30]的方法。從表中,可以看出本文提出的算法能夠加速匹配效率,且能夠處理復(fù)雜的三維模型。
表3 不同檢索方法的處理時(shí)間
本文提出了一種基于基于球體投影的三維模型檢索方法:首先利用基于球體虛擬照相的投影方法獲取三維模型多個(gè)角度的二維視圖,并利用高斯濾波差分和Bezier 曲線逼近相結(jié)合的三維模型線圖計(jì)算方法來提取線圖;其次,通過神經(jīng)網(wǎng)絡(luò)分類器獲取最優(yōu)視圖,并提取視圖的SBLBP描述符;最后采用Siamese網(wǎng)絡(luò)完成基于草圖的三維模型檢索。實(shí)驗(yàn)證明,本文檢索方法適用于三維模型的檢索,有效地提高了檢索的準(zhǔn)確率。由于草圖和三維模型的二維投影視圖具有一定的差異性,接下來的工作將深入研究草圖和二維投影視圖的特征提取方法,進(jìn)一步提高檢索效果。