衛(wèi) 鑫, 孫 劍
(西安交通大學數(shù)學與統(tǒng)計學院,西安 710049)
三維形狀分析是計算機視覺領(lǐng)域中最基礎(chǔ)且重要的問題之一,在眾多應用中發(fā)揮著關(guān)鍵的作用,例如自動駕駛[1–2]、考古學[3]、生物學[4]、虛擬現(xiàn)實和增強現(xiàn)實[5]等。三維形狀分析的核心挑戰(zhàn)之一是如何獲取三維形狀的有效特征表示。根據(jù)三維形狀的不同表示方法,基于深度學習的三維形狀分析方法可分為三類:基于體素的方法、基于點云的方法和基于多視圖的方法?;隗w素的三維形狀分析方法[6–7]直接在規(guī)則的三維體素網(wǎng)格上進行操作,與傳統(tǒng)的二維卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)具有一定的相似性。盡管這些方法通常能夠獲得較好的結(jié)果,但它們常常受到計算復雜度和數(shù)據(jù)稀疏性的限制。相比之下,基于點云的三維形狀分析方法[8–13]以無序的點集作為輸入,使用點云處理網(wǎng)絡(luò)來輸出三維形狀的類別。與其他兩種方法不同,基于多視圖的三維形狀分析方法[14–20]使用二維圖像特征的集合來進行三維形狀的分類,能夠充分利用深度學習在二維圖像特征提取方面的強大能力,通常在三類方法中表現(xiàn)出最佳的性能。因此,本文利用基于多視圖的方法進行三維形狀的分析與研究。
在基于多視圖的三維形狀分析中,一項主要挑戰(zhàn)是如何有效地將多視圖特征聚合以獲得一個強有力的全局三維形狀描述符。傳統(tǒng)方法,如MVCNN[14]和GVCNN[15],使用最大池化來聚合多視圖的特征,這種方法雖然保證了排列不變性,但忽略了視角之間的空間關(guān)系,從而導致學習到的特征丟失了一部分判別能力。而VERAM[16]將多個視圖建模為序列,使用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)處理多視圖特征。View-GCN[17]和View-GCN++[18]則提出使用視角圖來建模多視圖之間的關(guān)系,并設(shè)計了圖卷積神經(jīng)網(wǎng)絡(luò)來探索多視圖之間的關(guān)聯(lián)性。
另一方面,基于Transformer[21]的多視圖三維形狀分析方法,如CVR[19]和MVT[20],利用Transformer 在建模集合關(guān)系上的強大能力,使用Transformer 編碼器來建模多視圖之間的關(guān)系。然而,這些方法在建模多視圖關(guān)系時忽略了不同視圖的投影視角坐標所蘊含的空間關(guān)系,僅僅使用具有全局感受野的Transformer 編碼器對多視圖特征進行處理。
在實際中,根據(jù)View-GCN[17]提出的理論,投影視角坐標中蘊含的信息編碼了三維物體的潛在幾何形狀,為形狀識別提供了有價值的線索。通常情況下,投影視角坐標距離越近的圖像,應當具有更相似的特征。如果多個相鄰連續(xù)投影視角下的圖像是相同的,那么該物體更可能是一個圓柱形的水杯,而不是一把椅子。因此,利用投影視角坐標的距離來調(diào)整Transformer 感受野的范圍,能夠獲得比全局Transformer 更精細的特征表示。然而,如何確定感受野的大小仍然是一個需要解決的問題。使用較小的感受野可能只能捕捉到視角關(guān)系的局部信息,喪失了如對稱性等全局的信息,而使用較大的感受野可能導致特征變得過于復雜,視角關(guān)系的學習難以處理。
為了解決上述問題,受到多尺度學習方法[22–24]的啟發(fā),本文提出了一種新的基于多尺度Transformer 的多視圖三維形狀分析方法(MVMST),用于更有效地聚合多視圖特征。該方法引入了多個不同尺度感受野的Transformer,允許多視圖特征同時獲得大范圍全局信息和小范圍局部細節(jié)信息。如圖1 所示,MVMST 由特征提取骨干網(wǎng)絡(luò)、多尺度Transformer 模塊、多尺度融合模塊和視角池化模塊四部分構(gòu)成。三維形狀的多視圖首先經(jīng)過一個特征提取骨干網(wǎng)絡(luò),生成各個視角下的多視圖特征。然后,多個不同尺度感受野上的Transformer 分別對多視圖特征進行處理。不同尺度下的多視圖特征通過多尺度融合模塊進行融合,生成一個更為豐富的多尺度表示。最后,通過視角池化模塊,每個視角下的特征被整合為三維形狀的整體特征表示。本研究的主要貢獻總結(jié)如下:
圖1 MVMST 的主要結(jié)構(gòu)
1) 引入了投影視角坐標的距離作為Transformer 感受野的限制,更好地建模了多視圖特征之間的局部關(guān)系;
2) 提出了一種基于多尺度Transformer 的三維形狀分析方法,充分利用大尺度感受野Transformer 和小尺度感受野Transformer 在處理多視圖特征的優(yōu)勢,將多尺度Transformer 處理后的多視圖特征融合為一個更為有效的整體形狀表示;
3) 在人工合成和真實掃描的三維形狀分類數(shù)據(jù)集上進行實驗,證明了本文所提出的方法在三維形狀分類問題中具有令人滿意的性能。
本文的結(jié)構(gòu)如下:首先,在第1 節(jié)中回顧了基于多視圖的三維形狀分析和計算機視覺中的Transformer 網(wǎng)絡(luò)的相關(guān)工作;第2 節(jié)介紹了基于多視圖的三維形狀分析問題的設(shè)置以及本文所提出的基于多尺度Transformer 的多視圖三維形狀分析方法的具體結(jié)構(gòu);第3 節(jié)對基于多尺度Transformer 的多視圖三維形狀分析方法在多個三維形狀分類數(shù)據(jù)集上進行了實驗;第4 節(jié)總結(jié)了本文的主要思想和方法。
基于多視圖的三維形狀識別方法使用二維卷積神經(jīng)網(wǎng)絡(luò)對渲染的三維形狀的圖像進行卷積,能夠在不依賴復雜的三維特征的情況下實現(xiàn)出色的性能。最早的工作MVCNN[14]方法開創(chuàng)性地使用二維卷積神經(jīng)網(wǎng)絡(luò)來提取每個視圖的特征,然后通過最大池化層融合特征以生成全局描述符。在MVCNN 的基礎(chǔ)上,GVCNN[15]對視圖進行分組,為包含更多關(guān)鍵信息的組分配更高的權(quán)重,并據(jù)此融合所有組的特征,生成全局描述符。另一個值得注意的工作是3D2SeqViews[25],它通過聚合連續(xù)視圖來學習三維全局特征。View-GCN[17]和View-GCN++[18]則通過圖卷積神經(jīng)網(wǎng)絡(luò)逐層融合不同視圖之間的特征。RCPCNN[26]也將視圖分為多個組,并將各組的特征串聯(lián)以生成全局描述符。RN[27]通過在網(wǎng)絡(luò)中引入特征增強模塊,使用來自所有視圖的信息增強每個圖像塊的特征。MHBN[28]探索了如何聚集圖像塊級特征,將三維形狀識別問題轉(zhuǎn)化為集合對集合的匹配問題。MVT[20]和CVR[19]則利用Transformer 進行視角特征之間的信息交互。這些基于多視圖的三維形狀識別方法在不同程度上利用了多視圖信息,結(jié)合了二維卷積神經(jīng)網(wǎng)絡(luò)和其他技術(shù),以生成高效的全局描述符。與上述方法相比,本文在多視圖三維形狀分析中引入了一種全新的方法MVMST,通過多尺度Transformer 來進行特征聚合,更好地捕獲多視圖特征之間的關(guān)系。具體而言,MVMST 引入了多個不同大小感受野的Transformer,并設(shè)計了多尺度融合模塊對不同尺度的多視圖特征進行融合,這有助于細致地描述三維形狀多視圖之間的關(guān)系,從而提高了全局描述符的表達能力。
得益于Transformer[21]在自然語言處理領(lǐng)域取得的巨大成功,只依賴于Transformer模塊的無卷積模型在計算機視覺領(lǐng)域中也得到了長足的發(fā)展。其中ViT[29]是第一個將Transformer 應用在圖像分類的方法,證明了Transformer 在計算機視覺領(lǐng)域可以與卷積神經(jīng)網(wǎng)絡(luò)相媲美,甚至具有超越的潛力。之后的一系列改進的方法[30–33]進一步提升了Transformer 模型的性能和計算速度。相比于卷積神經(jīng)網(wǎng)絡(luò),Transformer 網(wǎng)絡(luò)可以通過自注意力機制自然而然地獲取遠距離信息,建模圖像的全局關(guān)系。該優(yōu)勢同樣體現(xiàn)在基于多視圖的三維形狀識別任務(wù)中。CVR[19]和MVT[20]使用Transformer 來建模多視圖特征之間的關(guān)系,然而他們都是用Transformer 在全局上處理所有視角圖的特征,沒有考慮到不同視角圖的投影視角坐標在空間上蘊含的關(guān)系。與CVR[19]和MVT[20]不同,本文根據(jù)投影視角的空間關(guān)系定義了多個不同尺度感受野下的Transformer 模塊,使得學習到的多視圖特征既包含大尺度的全局信息,又包含小尺度的局部細節(jié)信息。
本節(jié)介紹基于多尺度Transformer 的多視圖三維形狀分析方法(MVMST)。如圖1 所示,MVMST 由四個主要模塊組成,包括特征提取骨干網(wǎng)絡(luò)、多尺度Transformer 模塊、多尺度融合模塊和視角池化模塊。對于輸入的三維形狀的多視圖圖像,首先,使用特征提取骨干網(wǎng)絡(luò)分別提取其特征。隨后,多尺度Transformer 根據(jù)多視圖之間的關(guān)聯(lián)性,對不同尺度下的多視圖特征進行處理和融合。緊接著,多尺度融合模塊將不同尺度下的多視圖特征進行融合。最終,通過視角池化模塊,生成一個全局形狀描述符。在接下來的2.2.1、2.2.2、2.2.3 和2.2.4 小節(jié)中,將詳細介紹這四個模塊的設(shè)計細節(jié)。
2.2.1 特征提取骨干網(wǎng)絡(luò)
給定N個不同視角下的多視圖圖像{Ii}Ni=1以及它們對應的視角{vi}Ni=1,特征提取骨干網(wǎng)絡(luò)E提取多視圖特征{fi}Ni=1,其中fi=E(Ii;θE),特征fi是d維向量,參數(shù)θE在所有視角之間共享。為了在性能和計算速度之間取得平衡,特征提取骨干網(wǎng)絡(luò)E采用ImageNet 上經(jīng)過預訓練的卷積神經(jīng)網(wǎng)絡(luò)ResNet-18。多視圖{Ii}Ni=1在經(jīng)過ResNet-18 的最后一個全連接層之前的特征,向量化后被定義為視圖特征。
2.2.2 多尺度Transformer 模塊
在介紹多尺度Transformer 的具體結(jié)構(gòu)之前,首先,給出Transformer[21]的基本定義。在本文中,我們使用Transformer 編碼器來處理多視圖特征矩陣F,矩陣F ∈RN×d的行向量是集合{fi}Ni=1中的d維向量。在Transformer 編碼器中,查詢矩陣、鍵矩陣和值矩陣都是多視圖特征矩陣F經(jīng)過線性變換得到的。具體而言,查詢矩陣Q、鍵矩陣K和值矩陣V可以被定義為
這里的WQ ∈Rd×d,WK ∈Rd×d以及WV ∈Rd×d,都是可以學習的參數(shù)矩陣。Q、K和V上的自注意力機制可以定義為
基于自注意力機制,Transformer 編碼器可以進一步定義為
其中headh=Attention(Q,K,V),Concat 為矩陣串聯(lián)操作,將h個N×d維度的矩陣串聯(lián)為N×hd維度的矩陣,WO ∈Rdh×d也是一個可學習的參數(shù)矩陣,將d·h維的多視圖特征映射回d維。
在Transformer 編碼器的基礎(chǔ)上,本工作提出了使用投影視角坐標的距離來定義不同尺度下的Transformer 模塊,以學習不同尺度下視角之間的關(guān)系信息??紤]多視圖特征矩陣F ∈RN×d和視角坐標矩陣V ∈RN×3,可以定義一個掩碼矩陣M ∈RN×N,矩陣M的元素定義如下
其中k-NN 代表k-最近鄰,用于尋找與給定視角坐標vi在視角空間中歐氏距離最接近的k個視角坐標。I(·)是一個指示函數(shù)。通過計算視角之間的歐氏距離,掩碼矩陣M用于標識視角vi的k個最近鄰居,這有助于捕捉不同視角之間的關(guān)聯(lián)性。具體來說,掩碼矩陣M的元素Mij表示了視角vj是否位于視角vi的k個最近鄰之內(nèi)。如果是,則Mij為1,否則為0。在多尺度Transformer 模塊中,我們使用不同的k值來控制不同尺度下的關(guān)系建模。較小的k值可以實現(xiàn)更局部的關(guān)系建模,而較大的k值則可以捕獲全局的關(guān)系。這允許我們在不同尺度下靈活地探索視角之間的關(guān)系,以獲得更豐富的特征表示。因此,k尺度下的Transformer 編碼器可以定義為
其中⊙表示兩個矩陣的哈達瑪積操作。以上方法將Transformer 的自注意力機制限制在一定尺度視角范圍內(nèi),從而更好地捕捉不同尺度下的視角關(guān)系信息。
總而言之,基于Transformer 編碼器和投影視角坐標的距離關(guān)系,我們引入了多尺度Transformer 模塊,用于學習不同尺度下的多視圖特征之間的關(guān)系,這有助于更好地理解三維形狀并提高三維形狀分析的性能。
2.2.3 多尺度融合模塊
不同尺度下的特征可以提供關(guān)于三維形狀從局部細節(jié)到全局結(jié)構(gòu)的不同方面的信息。多尺度融合模塊將通過多尺度Transformer 處理的多視圖特征進行融合,生成更加全面的多尺度表示,是MVMST 中的一個關(guān)鍵組成部分。
在多尺度融合模塊中,我們首先獲得了多尺度Transformer 處理后的多視圖特征矩陣的集合{?Fk1, ?Fk2,···, ?FkM},這些特征分別表示了不同尺度下的關(guān)系信息。這些特征需要被合理地融合在一起,以形成一個更加強大和全面的多尺度表示。為了實現(xiàn)該目標,使用一個融合函數(shù)P將多尺度Transformer 處理后的多視圖特征進行尺度融合
其中Concat 為串聯(lián)操作,將M個N×d維度的矩陣串聯(lián)為N×Md維度的矩陣。P為一個兩層的多層感知機,其中的非線性激活函數(shù)為LeakyReLU,隱層節(jié)點數(shù)為d。多尺度融合模塊可以合理地整合多尺度信息,從而提高多尺度表示的質(zhì)量和表達能力。
2.2.4 視角池化模塊
視角池化模塊將多尺度特征融合后的表示進一步處理,生成最終的全局形狀描述符,以便網(wǎng)絡(luò)能夠做出關(guān)于整體三維形狀的決策。本文使用一種常見的多視圖最大池化層對多視圖特征進行融合
其中maxpool 代表跨視圖的逐元素最大化操作,這種方法能有效地從多個視圖中提取最顯著的特征,最終輸出d維向量Fglobal。全局形狀描述符Fglobal是對整個三維形狀的綜合表示。這個描述符包含了來自多視圖和多尺度信息的關(guān)鍵特征,它是網(wǎng)絡(luò)用于進行三維形狀分類、檢索或識別的基礎(chǔ)。
全局描述符Fglobal被送入一個分類器Cψ和一個softmax 層,最終的損失函數(shù)定義為
其中y是類別標簽的一個one-hot 編碼,即將每個類別標簽轉(zhuǎn)換成一個C維的二進制向量,其中只有一個1 表示當前類別,其他位置都是0。
ModelNet40 ModelNet40[34]是由普林斯頓大學的研究人員提供的一個最常用的三維形狀分類數(shù)據(jù)集,包含40 個類別共計12 311 個人工合成的三維形狀,其中9 843 個形狀用作訓練,2 468 個形狀用于測試。大量的基于各種表示的方法在該數(shù)據(jù)集上進行了三維形狀分類實驗,并報告了各自的結(jié)果。
ScanObjectNN ScanObjectNN[35]是三維形狀分類另一個常用的數(shù)據(jù)集,包含15 個類別共計2 902 個不同的三維形狀,其中80%用作訓練集,20%用作測試集。與ModelNet[34]相比,ScanObjectNN[35]中的三維形狀是由三維傳感器在真實場景進行掃描獲取的。
訓練細節(jié):在所有實驗中,我們在NVIDIA 3090 顯卡上對網(wǎng)絡(luò)進行了60 輪訓練,批量大小為20,每個批次包含20 個形狀和對應的400 張多視圖圖像。在訓練神經(jīng)網(wǎng)絡(luò)的時候,本文采用的優(yōu)化算法是使用動量的隨機梯度下降算法,初始學習率為0.001,學習率按照余弦退火的方式在60 輪的周期后降至0.000 01。動量設(shè)置為0.9,權(quán)重衰減設(shè)置為0.001。
表1 展示了多種基于多視圖的三維形狀識別模型在ModelNet40[34]和ScanObject[35]數(shù)據(jù)集上的分類結(jié)果,模型的性能評價指標為逐類別準確率和全局準確率。本文所提出的基于多尺度Transformer 的多視圖三維形狀分析方法(MVMST)在多個實驗數(shù)據(jù)集上的表現(xiàn)可與其他現(xiàn)有方法進行有力的比較。我們的方法旨在克服多視圖三維形狀分析中的核心挑戰(zhàn),即如何更好地整合多視圖信息和多尺度信息以實現(xiàn)更準確的三維形狀分類。
表1 多種基于多視圖的三維形狀識別方法在ModelNet40 和ScanObjectNN 數(shù)據(jù)集上的分類結(jié)果
首先在常見的合成三維形狀數(shù)據(jù)集ModelNet40[34]上,可以看到MVMST 達到了與View-GCN[17]相媲美的最高逐類別準確率和全局準確率(96.5%和97.6%)。與其他方法相比,MVMST 的性能表現(xiàn)突出,尤其在逐類別準確率方面。這意味著MVMST 能夠更好地識別不同類別的三維形狀,具有更高的分類精度。我們還將其與經(jīng)典的MVCNN[14]方法進行了詳細的比較。MVCNN[14]作為本方法的基準方法,是多視圖三維形狀分析領(lǐng)域的一個重要代表。MVMST 在逐類別準確率和全局準確率方面都顯著優(yōu)于MVCNN,分別提升了4.1%和2.6%,這進一步說明了本方法中設(shè)計的多個模塊的有效性。進一步,在更為復雜的人工掃描三維形狀ScanObjectNN[35]數(shù)據(jù)集上,MVMST 再次表現(xiàn)出色,實現(xiàn)了最高的逐類別準確率和全局準確率(89.5%和91.3%)。相對于其他方法,MVMST 在ScanObjectNN[35]數(shù)據(jù)集上的性能提高尤為顯著,證明了其對于處理具有挑戰(zhàn)性的數(shù)據(jù)集的有效性。
MVMST 的的性能提升歸因于其能夠有效地學習不同視角之間的關(guān)系,將多視圖特征聚合為一個更強大的整體描述符。通過引入多尺度Transformer,我們能夠充分利用大尺度感受野和小尺度感受野的優(yōu)勢,實現(xiàn)更好的信息融合。同時,我們利用投影視角坐標的距離來限制Transformer 的感受野,以更好地捕捉視角之間的關(guān)系。這種方法使MVMST 能夠在多視圖和多尺度的情況下更好地建模三維形狀,提高了分類性能。因此,MVMST 是一種有效的多視圖三維形狀分析方法,能夠在多個數(shù)據(jù)集上展現(xiàn)出卓越的性能。它對于解決三維形狀分類問題具有重要的實際意義,并為未來的三維計算機視覺研究提供了有力的參考。
本文針對基于多視圖的三維形狀識別問題提出了一種新的方法,該方法使用多尺度Transformer 在不同尺度上對三維形狀的多視圖特征之間的關(guān)系進行建模。通過引入多尺度Transformer 和利用投影視角坐標的距離來限制Transformer 的感受野,MVMST 能夠更好地捕捉不同尺度和視角之間的關(guān)系,從而實現(xiàn)更強大的特征表示。本文在多個三維形狀分類基準數(shù)據(jù)集上對該方法進行了驗證,結(jié)果表明本方法能夠有效的將多視圖的特征聚合為一個具有良好表征能力的整體表示符,在分類任務(wù)上達到了優(yōu)于大部分方法的性能。這些結(jié)果證明了MVMST 在多視圖三維形狀分析中的有效性,并為未來的研究提供了一定的啟發(fā)。