朱天放,胡書山,余日季,李文靖
(1.湖北大學(xué)計算機(jī)與信息工程學(xué)院,湖北 武漢 430062;2.湖北大學(xué)藝術(shù)學(xué)院,湖北 武漢 430062)
相較于圖像、視頻和聲音等多媒體數(shù)據(jù),三維模型及其組成的三維場景能夠更全面、真實地展現(xiàn)客觀物體信息,符合人體視覺系統(tǒng)感知形式,因而被廣泛應(yīng)用在產(chǎn)品設(shè)計、虛擬現(xiàn)實、影視動畫等領(lǐng)域[1-2].快速準(zhǔn)確地從模型庫中檢索到相似模型不僅能夠減少構(gòu)建重復(fù)模型的任務(wù)量,還能便捷地進(jìn)行三維模型素材的管理與使用.隨著互聯(lián)網(wǎng)的迅猛發(fā)展,三維模型數(shù)量呈爆炸性增長[2-3],這對三維模型檢索提出了更準(zhǔn)確、更高效、適用范圍更廣的要求.
在當(dāng)前模型庫的構(gòu)建中,三維模型檢索大多采取基于文本的檢索方式,此種方式需要人工對模型進(jìn)行標(biāo)注.但憑借人工主觀判斷,同一標(biāo)注內(nèi)的模型可能千差萬別,存在成本高、不準(zhǔn)確、可拓展性差的不足[4-5].因此,許多研究者試圖直接輸入三維模型從模型庫中檢索相似模型,這種基于內(nèi)容的三維模型檢索逐漸成為學(xué)界熱點.
基于內(nèi)容的三維模型檢索的關(guān)鍵問題是提取模型的特征描述符.在國內(nèi)外文獻(xiàn)中,已有大量根據(jù)模型物理特性“人工設(shè)計”的特征描述符,包括但不限于局部或全局的曲面特征描述符、基于模型關(guān)鍵點距離的統(tǒng)計學(xué)特征描述符、基于多邊形網(wǎng)格的熱核特征描述符等.
李海生等[6]針對三維模型的復(fù)雜曲面凹凸特性與局部幾何特征,提出了一種基于內(nèi)二面角的分布直方圖特征,該特征運算效率快,但抗噪聲干擾性能不強(qiáng).劉志等[7]獲取三維模型較優(yōu)視點集,對視點集渲染的混合輪廓線視圖提取Gabor邊緣響應(yīng)特征,降低了退化視圖對三維模型檢索的干擾,但當(dāng)模型紋理變得豐富復(fù)雜時,檢索偏差會增大.為提高檢索速率,Pickup等[8]在忽略局部信息的基礎(chǔ)上直接采用模型表面積作為特征描述符,大幅降低了計算任務(wù)量,但模型信息的缺失不可避免地會損害檢索精度.
“人工設(shè)計”的特征描述符往往聚焦于三維模型的某一特性,針對某一特定模型集合能取得良好的檢索效果,但不易移植到其他類別的三維模型數(shù)據(jù)集上,難適用于大規(guī)模三維模型數(shù)據(jù)集的檢索任務(wù).除此之外,大部分“人工設(shè)計”的特征描述符都依賴人工干預(yù),或多或少地存在計算效率低、提取過程繁復(fù)耗時的不足.
卷積神經(jīng)網(wǎng)絡(luò)模型(convolutional neural networks,CNN)在二維圖像檢索上的性能表現(xiàn)遠(yuǎn)優(yōu)于SIFT等傳統(tǒng)特征[9-14].它是一種前饋的深度學(xué)習(xí)模型[15],模型參數(shù)通過梯度下降的方法訓(xùn)練得到[16].經(jīng)過大規(guī)模的數(shù)據(jù)學(xué)習(xí)[17]、多層卷積和池化等操作后,CNN能有效克服語義鴻溝[18],提取圖像內(nèi)在的高維信息,因而被廣泛應(yīng)用在人臉識別[19-20]、圖像分類[21-22]、目標(biāo)跟蹤[23]等領(lǐng)域.
目前,計算機(jī)視覺領(lǐng)域已經(jīng)建立起了規(guī)模龐大、種類完備、格式規(guī)范的圖像數(shù)據(jù)集.在海量數(shù)據(jù)的驅(qū)動下,一些具有優(yōu)異性能的網(wǎng)絡(luò)模型被相繼提出[24-26],這些模型具有較傳統(tǒng)機(jī)器學(xué)習(xí)模型更為優(yōu)越的特征學(xué)習(xí)與表征能力,且不依賴人工干預(yù),而這些特性也正是“人工設(shè)計”特征描述符所不具備的.
研究者嘗試將深度學(xué)習(xí)應(yīng)用于三維模型檢索領(lǐng)域,主要方法是通過深度學(xué)習(xí)完成三維模型特征的提取與聚合.Fang等[27]在模型熱核特征基礎(chǔ)上聚合模型頂點,通過深度卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)得到了一種深度形狀描述符,該特征對模型噪聲、模型部分缺失具有良好的魯棒性,但熱核特征仍需要人工選擇,未從根本上解決“人工設(shè)計”特征描述符的缺點.
Sinha等[28]將三維模型參數(shù)化到球形平面,采用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)球形表面在八面體上的二維投影,極大地提高了檢索準(zhǔn)確率,但多次的投影變換在一定程度上造成三維信息的損失.Ghodrati等[29]根據(jù)三維模型的SGWS局部特性構(gòu)造基于BoF架構(gòu)的中層特征描述符,再通過深度編碼器自動學(xué)習(xí)高層特征,這種多級特征提取機(jī)制具有強(qiáng)辨識能力與魯棒性,但需要長時間學(xué)習(xí)參數(shù),實時性略顯不足.
研究者往往在三維模型低層次特征基礎(chǔ)上構(gòu)造深度學(xué)習(xí)模型,這雖然能在一定程度上提高檢索精度,但損害了深度學(xué)習(xí)自動提取特征的優(yōu)勢.除此之外,目前深度學(xué)習(xí)的海量數(shù)據(jù)庫集中在二維圖像領(lǐng)域,對三維模型選擇二維的表征形式更有利于發(fā)揮深度學(xué)習(xí)數(shù)據(jù)驅(qū)動的優(yōu)越性.
本研究提出一種基于多視角圖與卷積神經(jīng)網(wǎng)絡(luò)的三維模型檢索算法,算法流程如圖1所示.首先為三維模型生成由多個不同方位視角圖組合而成的二維描述,使信息降維.然后采用卷積神經(jīng)網(wǎng)絡(luò)對各視角圖分別提取卷積特征.由于信息含量不同,本文中基于圖像熵對各視角圖賦予不同的特征置信度,進(jìn)而與特征庫中預(yù)存的其他三維模型特征描述符計算歐式距離,進(jìn)行匹配檢索.由于視角圖為二維信息,因此該卷積神經(jīng)網(wǎng)絡(luò)可使用ImageNet等大規(guī)模圖像數(shù)據(jù)集預(yù)訓(xùn)練得到[12].對訓(xùn)練數(shù)據(jù)進(jìn)行平移、旋轉(zhuǎn)、縮放與對稱映射等預(yù)處理操作,可使卷積神經(jīng)網(wǎng)絡(luò)習(xí)得一定的平移不變性、旋轉(zhuǎn)不變性與尺度變換不變性[30].
圖1 本研究算法流程圖
1.1 基于多視角圖的三維模型降維三維模型格式復(fù)雜,直接進(jìn)行三維信息處理會使計算量大大增加.為降低運算復(fù)雜度,本文中首先對三維模型降維,將其轉(zhuǎn)換成方便處理的二維圖像.這不僅使得處理對象變得規(guī)整統(tǒng)一,并為充分移植在二維圖像處理領(lǐng)域性能卓越的卷積神經(jīng)網(wǎng)絡(luò)提供了可能.需要注意的是,降維不可避免地會丟失部分模型信息,因此較好地保留原模型特征是設(shè)計降維方法的關(guān)鍵.同時,該方法應(yīng)當(dāng)具有普適性,對不同類別的模型都能起到良好的效果.
本文中選取多視角圖作為三維模型的二維描述.視角圖是從特定角度渲染三維模型而成的高質(zhì)量圖像,相較于投影、手繪草圖等其他三維模型的二維圖像表征方式,視角圖更貼近模型的真實存在.由于視角圖與一般圖像極為相似,可以直接使用計算機(jī)視覺領(lǐng)域完備的圖像數(shù)據(jù)集訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),從而解決三維模型領(lǐng)域缺少大規(guī)模標(biāo)準(zhǔn)數(shù)據(jù)集的問題.
圖2 三維模型多視角選取示意圖
三維模型的視角圖應(yīng)盡可能多地包含模型信息,視角的設(shè)置也應(yīng)對大部分三維模型具有普適性.基于以上兩點,本文中多視角的設(shè)置如圖2所示:將三維模型包圍在一個正方體內(nèi),取正方體的6個面中心與8個頂點處各設(shè)置一臺虛擬相機(jī),所有虛擬相機(jī)都指向三維模型的中心,最多可設(shè)置14臺虛擬相機(jī).對每個三維模型而言,14臺虛擬相機(jī)能渲染出14張不同的視角圖.這14張視角圖的集合包含了一般三維模型絕大部分的形狀、顏色等特征,憑借這些特征信息,本算法能對不同三維模型進(jìn)行準(zhǔn)確判別.
提取視角圖進(jìn)行處理的另一個優(yōu)點是隔離了三維模型的物理信息.由于互聯(lián)網(wǎng)上三維模型的存儲格式大不相同,各格式之間兼容性低,以圖像格式進(jìn)行檢索會大大降低搭建實際檢索系統(tǒng)的難度.
1.2 基于卷積神經(jīng)網(wǎng)絡(luò)的視角圖高維特征提取“人工設(shè)計”的三維模型特征描述符提取過程繁復(fù)耗時,針對某一特定模型集合檢索性能好,但移植性不強(qiáng),難以擴(kuò)展到其他差異巨大的模型類別.為使本算法能夠從大量模型數(shù)據(jù)中自動提取相應(yīng)的特征描述符,減少對人工的依賴,采用卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)自學(xué)習(xí)樣本數(shù)據(jù)的高維特征.卷積神經(jīng)網(wǎng)絡(luò)通過數(shù)據(jù)驅(qū)動的方式更新參數(shù),直至得到該條件下的最優(yōu)結(jié)構(gòu),該結(jié)構(gòu)提取的特征維度高、表征力度強(qiáng),能有效克服語義鴻溝.通過選取視角圖,每個三維模型被多個二維圖像描述.通過圖3所示的CNN架構(gòu)對視角圖提取具有高描述力的特征描述符.
圖3 本研究采用的CNN模型結(jié)構(gòu)圖
如圖3所示,本文中采用的卷積神經(jīng)網(wǎng)絡(luò)模型沿用VGG16[31]基本架構(gòu),通過反復(fù)堆疊小型卷積核構(gòu)筑16層深的卷積神經(jīng)網(wǎng)絡(luò),由13個卷積層、3個全連接層組成.視角圖經(jīng)預(yù)處理后以224×224的尺寸輸入卷積層.在所有卷積層都采用尺寸為3×3的小卷積核,相比于尺寸為5×5或7×7的大卷積核,多個3×3卷積核堆疊起來可以獲得相似的感受野,但參數(shù)量大為減少,可明顯降低計算復(fù)雜度.使用更多的卷積核也意味著更多的激活函數(shù),這使得模型具有更強(qiáng)的辨別能力.本文中采用運算較快的Relu(rectified linear unit)激活函數(shù),公式如下:
f(x)=max(0,x)
(1)
由于三維模型視角圖與一般圖像相比具有背景純凈的特點,因此在卷積層后設(shè)置了多個最大池化層,從而更多地保留視角圖紋理信息.最大池化永遠(yuǎn)對鄰域內(nèi)特征點取最大值,若此區(qū)域內(nèi)其余值略有改變,池化后的結(jié)果不變,從而減小卷積層參數(shù)誤差造成的估計均值漂移,同時也使得本算法保持了一定的平移不變性.
采取圖像多分類的方式訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),需要在全連接層后設(shè)置一個softmax層,公式如下:
(2)
其中,n為類別數(shù)量.softmax層將圖像的多維特征z映射為一個n維的概率分布,通過梯度下降的方法訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò).模型訓(xùn)練完成后,刪除softmax層與全連接層,以最后卷積層輸出的bottleneck features作為視角圖的特征信息,則每個三維模型被多個bottleneck features的集合唯一描述[32].
1.3 基于圖像熵的多特征組合檢索上一步提取的bottleneck features可直接用于三維模型檢索,采取恰當(dāng)?shù)慕M合策略能完善對三維模型的描述,進(jìn)一步提高檢索精度.
本文中采用置信后的歐式距離度量三維模型之間的相似度,歐式距離是一種常用的相似性度量方式[33-34],兩個512維的bottleneck featuresx、y之間的歐式距離計算公式如下,歐式距離值越小表示兩張視角圖相似度越高:
(3)
由于每張視角圖所包含的信息含量不同,其特征表征的相似性可靠程度也是不同的,因此有必要為每張視角圖賦予一個特征置信度.圖像熵表示圖像灰度級集合的平均比特數(shù),描述了圖像的平均信息量.通常來說,畫面內(nèi)容越密集、色彩越飽滿、輪廓越清晰的視角圖信息含量越高,圖像熵也越大.本文中通過計算每張視角圖的圖像熵定性判斷其表征相似度的可靠性,從而賦予特征置信度.圖像熵計算公式如下:
(4)
(5)
式(4)中,i表示像素灰度值,j表示鄰域灰度均值,f(i,j)為特征二元組(i,j)出現(xiàn)的頻數(shù),N為圖像的尺度,式(5)中H表示離散的二維圖像熵.式(4)、(5)可以在包含圖像信息的前提下,突出反映圖像中灰度分布的綜合特征.根據(jù)上式計算出的一組三維模型圖像熵如圖4所示.
圖4 三維模型多視角圖信息熵實例
一般來說,圖像熵越大的視角圖信息含量越豐富,表征的相似性可靠程度更高,應(yīng)對其賦予更大的置信度;反之,則賦予更小的置信度.根據(jù)提出的特征描述符,每兩個三維模型之間相似度的度量公式為:
(6)
式(6)中,S表征兩個三維模型之間的相似度,n為選取的視角圖數(shù)量,d為計算的視角圖歐式距離向量,w表示根據(jù)圖像熵擬合的置信矩陣.綜上所述,輸入的三維模型經(jīng)過多視角圖選取、卷積特征提取步驟后,與三維模型特征庫中預(yù)存的特征描述符逐一比對,按相似度由高到低的順序依次輸出檢索結(jié)果.
為驗證本文中算法的有效性,在一個自建立的三維模型數(shù)據(jù)集上進(jìn)行了多次不同視角圖組合的性能測試.本文中所使用的硬件環(huán)境為:CPU Intel Core I5-8300U 2.30 GHz, GPU NVIDIA GeForce 1050Ti,安裝內(nèi)存8 GB,系統(tǒng)類型為64位操作系統(tǒng).使用的卷積神經(jīng)網(wǎng)絡(luò)模型從ImageNet圖像數(shù)據(jù)集上預(yù)訓(xùn)練得到.
2.1 實驗數(shù)據(jù)由于常用的SHREC[35-37]三維模型數(shù)據(jù)集存在模型數(shù)量不平衡、包含模型缺乏色彩渲染的問題.本研究從互聯(lián)網(wǎng)上自建立了一個10類、共1 157個三維模型及其視角圖的專用數(shù)據(jù)集.數(shù)據(jù)集內(nèi)模型均從專業(yè)的三維設(shè)計網(wǎng)站下載,應(yīng)用價值較高.每個模型提取14張視角圖,視角圖由3ds Max軟件渲染而成,分辨率為800×600,數(shù)據(jù)集內(nèi)共有16 198張視角圖.自建立數(shù)據(jù)集相關(guān)信息如表1所示.
由表1可知,本研究自建的三維模型數(shù)據(jù)集模型數(shù)量多且較為均衡,包含了小型、一般、復(fù)雜等3類模型,能有效反映三維設(shè)計領(lǐng)域的實際工作環(huán)境.其中,櫥柜、雙人床為復(fù)雜模型,汽車、鋼琴等為一般模型,路燈、椅子等為小型模型.
2.2 實驗結(jié)果選取不同數(shù)量的視角圖對檢索結(jié)果有重要影響.視角圖選取過少會導(dǎo)致對三維模型描述不夠完整,檢索準(zhǔn)確率下降;視角圖選取過多會造成特征數(shù)量冗余,降低算法效率.因此有必要測試不同數(shù)量的視角圖組合方案下本算法的檢索精度.
為準(zhǔn)確分析本算法對不同類型三維模型的檢索精度,抽取櫥柜、汽車和椅子等3類三維模型分別代表復(fù)雜、一般與小型三維模型類別,圖5至圖8展示了它們的相關(guān)實驗結(jié)果.
表1 自建立三維模型數(shù)據(jù)集相關(guān)信息
圖5是抽取的3類三維模型視角圖與所有視角圖平均的圖像熵,視角圖編號與圖4中相同.由圖5可知,圖像熵與模型復(fù)雜程度基本呈正相關(guān).總體上,斜視角(編號7~14)的視角圖比平視角(編號1~6)的視角圖圖像熵更高,應(yīng)賦予更高的置信度.
圖7、圖8分別對應(yīng)圖6中不同數(shù)量視角圖檢索方式所需的三維模型特征庫建庫時間與檢索時間.
圖5 各視角圖的平均圖像熵
圖6 不同視角圖組合方案的三維模型檢索精度
本研究分別測試了1到14張不同數(shù)量視角圖組合方案的三維模型查準(zhǔn)率,實驗結(jié)果如圖6所示.各組合方案按圖4中的視角圖編號順序遞增而成,第15列代表14張視角圖置信后的組合方案,即根據(jù)圖5中的圖像熵賦予了相應(yīng)合適的置信度.
圖6表明,針對三維設(shè)計領(lǐng)域常用的三維模型數(shù)據(jù),本研究提出的檢索算法平均查準(zhǔn)率總體上與選取的視角圖數(shù)量呈正相關(guān)的關(guān)系,在選取全部14張視角圖的情況下可達(dá)到93%.但在視角圖數(shù)量增加的初期,大部分三維模型的查準(zhǔn)率會出現(xiàn)一定程度的下降,這可能是因為特征信息的初步增加模糊了各三維模型之間的差異,導(dǎo)致模型相似度反而增加.而隨著特征信息的進(jìn)一步增多,各三維模型的描述趨于完善,算法對不同三維模型的判別力穩(wěn)步增強(qiáng),檢索準(zhǔn)確率逐漸上升.
另外,相對于原始檢索精度,置信后的檢索精度平均上升了0.7%左右,提升較小.這一方面是因為原始檢索精度本就較高,提升空間有限;另一方面是因為只是根據(jù)圖像熵初步定性設(shè)置了置信度,對視角圖之間的內(nèi)在聯(lián)系利用不夠,下一步應(yīng)當(dāng)結(jié)合機(jī)器學(xué)習(xí)的相關(guān)進(jìn)展尋找精細(xì)化置信度賦予策略.
針對不同類型的三維模型而言,汽車等一般三維模型檢索精度最高,可穩(wěn)定在95%以上,椅子等小型模型與櫥柜等復(fù)雜模型檢索精度低于平均水平.具體分析發(fā)現(xiàn),小型模型的誤檢結(jié)果大部分為復(fù)雜模型,這說明本算法提取的特征描述符對小型模型的辨別力不夠強(qiáng),應(yīng)當(dāng)針對小型模型進(jìn)一步研究提取辨別力更強(qiáng)的特征描述符.
本算法耗費的三維模型特征庫建庫時間與檢索時間也影響著其是否能良好滿足實際檢索需求,前者影響著實際檢索系統(tǒng)的開發(fā)難度,后者決定了系統(tǒng)響應(yīng)檢索任務(wù)的實時性.圖7、圖8分別展示了實行本算法所需的三維模型特征庫建庫時間與檢索時間.
圖7 不同數(shù)量視角圖組合方案的模型特征庫建庫時間
圖8 不同數(shù)量視角圖組合方案的三維模型檢索時間
針對算法時間效率,圖7、圖8表明實行本算法所需的三維模型特征庫建庫時間與檢索時間同樣與視角圖數(shù)量呈正相關(guān).越復(fù)雜的模型檢索時間越長,但總體差別不大.在保持檢索精度最高的情況下,三維模型特征庫建庫時間為5.2 h,平均檢索時間為4.4 s;平均檢索時間最短為0.8 s,此時平均檢索精度仍高于80%.
在實際檢索系統(tǒng)開發(fā)中,模型特征庫的構(gòu)建可線下完成,因此較長的建庫時間并不會降低本算法可用性.檢索時間受計算機(jī)硬件配置影響較大,可通過提高配置、并行運算、分布式檢索等多種途徑有效降低.
針對當(dāng)前三維模型數(shù)量迅速增長,設(shè)計領(lǐng)域?qū)θS模型檢索提出了更準(zhǔn)確、更高效、適用范圍更廣的要求,本文中提出了一種基于多視角圖與卷積神經(jīng)網(wǎng)絡(luò)的三維模型檢索算法.首先,采用多視角圖描述三維模型實現(xiàn)信息降維,然后,通過卷積神經(jīng)網(wǎng)絡(luò)提取具有高描述力的特征描述符,最后,基于圖像熵設(shè)計了多特征組合策略,進(jìn)一步提高了檢索精度.經(jīng)實驗驗證,本文中算法最高可達(dá)到93%的檢索精度.為滿足快速檢索需求,控制檢索時間為0.8 s時,檢索精度仍高于80%,能有效應(yīng)用在實際檢索任務(wù)中.
進(jìn)一步實驗發(fā)現(xiàn),本算法對小型模型與復(fù)雜模型的檢索精度低于平均水平.下一步任務(wù)是在已有研究基礎(chǔ)上,針對復(fù)雜的組合模型與小型模型提取更高效的三維模型特征描述符,并結(jié)合機(jī)器學(xué)習(xí)等領(lǐng)域的研究進(jìn)展尋找更精細(xì)的權(quán)重學(xué)習(xí)策略.