夏 清 李 帥 郝愛(ài)民 趙沁平
(虛擬現(xiàn)實(shí)技術(shù)與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室(北京航空航天大學(xué)) 北京 100083)
20世紀(jì)70年代至今,隨著各種硬件傳感器以及重建技術(shù)的快速發(fā)展,不同種類的數(shù)字多媒體數(shù)據(jù)大規(guī)模涌現(xiàn),并先后經(jīng)歷了由低維到高維、由簡(jiǎn)單到復(fù)雜的發(fā)展演變過(guò)程[1-3].早期的數(shù)字多媒體主要以一維的音頻等數(shù)據(jù)為主,之后語(yǔ)音識(shí)別、自然語(yǔ)言處理等技術(shù)開(kāi)始迅速發(fā)展.到80,90年代,隨著手持?jǐn)?shù)碼相機(jī)和攝像機(jī)的普及,開(kāi)始出現(xiàn)二維數(shù)字圖像、視頻等數(shù)字多媒體數(shù)據(jù),大量方便的數(shù)據(jù)獲取方式以及后來(lái)互聯(lián)網(wǎng)的爆炸式發(fā)展推動(dòng)了圖像處理、視頻分析技術(shù)的快速進(jìn)步.而后隨著激光、結(jié)構(gòu)光等三維掃描設(shè)備以及Kinect等消費(fèi)級(jí)別的動(dòng)作捕捉設(shè)備的逐漸普及,數(shù)字多媒體數(shù)據(jù)的描述能力進(jìn)一步增強(qiáng),此時(shí)三維幾何模型成為繼音頻、圖像、視頻之后的第4代數(shù)字媒體,并在工業(yè)制造、數(shù)字娛樂(lè)、計(jì)算機(jī)輔助設(shè)計(jì)、逆向工程、生物醫(yī)藥、數(shù)字文化遺產(chǎn)保護(hù)、虛擬現(xiàn)實(shí)等方面得到廣泛應(yīng)用.
傳統(tǒng)的數(shù)字幾何分析和處理主要建立在手工定義的模型特征之上,只能針對(duì)特定的問(wèn)題或者滿足特定的條件才能有效,而深度學(xué)習(xí),尤其是神經(jīng)網(wǎng)絡(luò)模型,在自然語(yǔ)言處理和圖像處理方面的成功,展示了它作為數(shù)據(jù)分析特征提取工具的強(qiáng)大能力,因此逐漸被用來(lái)提高傳統(tǒng)數(shù)字幾何處理方法的性能,并且取得了很多不同方向上的應(yīng)用成果.但是三維幾何模型不像語(yǔ)音、圖像那樣具有標(biāo)準(zhǔn)的表示形式,通常難以直接應(yīng)用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練當(dāng)中,因此衍生了很多不同的針對(duì)不同幾何模型表示形式的處理方法,甚至是針對(duì)性的網(wǎng)絡(luò)結(jié)構(gòu),來(lái)將數(shù)字幾何處理和深度學(xué)習(xí)技術(shù)結(jié)合起來(lái).
本文立足于數(shù)字幾何模型的分析和處理,對(duì)近年來(lái)基于深度學(xué)習(xí)技術(shù)的數(shù)字幾何處理工作進(jìn)行了系統(tǒng)梳理.具體內(nèi)容安排如下:第1節(jié)介紹常見(jiàn)的深度學(xué)習(xí)模型,主要是神經(jīng)網(wǎng)絡(luò)模型,以及各種模型的典型應(yīng)用場(chǎng)景;第2節(jié)結(jié)合深度學(xué)習(xí)技術(shù)介紹了數(shù)字幾何模型的主要表示方式,以及對(duì)應(yīng)的處理方法;第3節(jié)對(duì)具體的數(shù)字幾何處理應(yīng)用方向的相關(guān)工作進(jìn)行了介紹,主要有數(shù)字幾何模型的匹配與檢索、分類與識(shí)別、生成、修復(fù)與重建、變形與編輯等;第4節(jié)指出了存在的問(wèn)題和發(fā)展方向.
深度學(xué)習(xí)模型不同于傳統(tǒng)的機(jī)器學(xué)習(xí)模型,它基于神經(jīng)網(wǎng)絡(luò)模型,通過(guò)訓(xùn)練調(diào)整神經(jīng)網(wǎng)絡(luò)的參數(shù),得到每一層的參數(shù)值,每層代表對(duì)輸入數(shù)據(jù)不同層次的表征,以此來(lái)將原始數(shù)據(jù)自動(dòng)地轉(zhuǎn)化成最為簡(jiǎn)單的特征表示.常見(jiàn)的神經(jīng)網(wǎng)絡(luò)模型包括了深度神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、對(duì)抗生成網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、置信神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)、自編解碼器等,本節(jié)將對(duì)這些常見(jiàn)網(wǎng)絡(luò)結(jié)構(gòu)及其應(yīng)用進(jìn)行簡(jiǎn)要介紹.需要注意的是,這些神經(jīng)網(wǎng)絡(luò)并非嚴(yán)格神經(jīng)網(wǎng)絡(luò)分類,比如卷積神經(jīng)網(wǎng)絡(luò)實(shí)際上是深度神經(jīng)網(wǎng)絡(luò)的一種,對(duì)抗生成網(wǎng)絡(luò)是一種學(xué)習(xí)的思想,其具體的實(shí)現(xiàn)可以是卷積神經(jīng)網(wǎng)絡(luò),本節(jié)只是根據(jù)各種典型網(wǎng)絡(luò)的特點(diǎn)對(duì)其進(jìn)行分別介紹.
深度神經(jīng)網(wǎng)絡(luò)是最為典型的深度學(xué)習(xí)模型,其他深度學(xué)習(xí)模型都是在此基礎(chǔ)上演變擴(kuò)展而來(lái).深度神經(jīng)網(wǎng)絡(luò)中最基本的單元是神經(jīng)元,神經(jīng)元模型模擬生物神經(jīng)網(wǎng)絡(luò)中“興奮”傳導(dǎo)的機(jī)制:當(dāng)某神經(jīng)元的電位達(dá)到一定閾值后被激活從而繼續(xù)向其他神經(jīng)元傳遞“興奮”,McCulloch和Pitts據(jù)此提出了M-P神經(jīng)元模型[4],該模型被廣泛運(yùn)用至今.圖1所示為一個(gè)典型的神經(jīng)元結(jié)構(gòu)示意圖.
Fig. 1 A typical neuron in neural networks圖1 神經(jīng)網(wǎng)絡(luò)中的典型神經(jīng)元結(jié)構(gòu)
由2層神經(jīng)元組成的神經(jīng)網(wǎng)絡(luò)稱為感知機(jī),然而感知機(jī)往往不能解決非線性可分問(wèn)題,因此多層神經(jīng)網(wǎng)絡(luò)應(yīng)運(yùn)而生.如圖2所示,多層神經(jīng)網(wǎng)絡(luò)除了輸入和輸出層之外,網(wǎng)絡(luò)內(nèi)部還具有多個(gè)隱藏層.為使多層神經(jīng)網(wǎng)絡(luò)滿足特定任務(wù)需求,基于鏈?zhǔn)角髮?dǎo)法則的誤差逆?zhèn)鞑ニ惴?back propagation, BP)[5]被用于網(wǎng)絡(luò)參數(shù)的訓(xùn)練更新.而隨著神經(jīng)網(wǎng)絡(luò)的層數(shù)增加,其參數(shù)量也相應(yīng)增長(zhǎng),從而其擬合現(xiàn)實(shí)生活中某些復(fù)雜問(wèn)題的函數(shù)關(guān)系的能力也不斷增強(qiáng).
Fig. 2 A typical multi-layer neural network model圖2 典型的多層神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
近年來(lái),隨著GPU硬件設(shè)備計(jì)算能力的大幅提高以及任務(wù)數(shù)據(jù)的不斷增長(zhǎng),深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練的時(shí)間消耗被顯著縮短,并且網(wǎng)絡(luò)過(guò)擬合風(fēng)險(xiǎn)也顯著減小.因此深度神經(jīng)網(wǎng)絡(luò)在圖像分類、目標(biāo)檢測(cè)識(shí)別、圖像分割以及圖像生成等任務(wù)中都得到了廣泛的應(yīng)用.Krizhevsky等人[6]運(yùn)用深層神經(jīng)網(wǎng)絡(luò)AlexNet在ImageNet[7]圖像分類任務(wù)上取得重要成功,之后涌現(xiàn)出了大量的如VGG[8],GoogleNet[9],ResNet[10]等優(yōu)秀的深層網(wǎng)絡(luò)結(jié)構(gòu).如圖3所示為AlexNet的網(wǎng)絡(luò)結(jié)構(gòu),相比于淺層神經(jīng)網(wǎng)絡(luò),AlexNet的網(wǎng)絡(luò)更深,也更加復(fù)雜,因此具有更好的圖像描述和區(qū)分能力.
Fig. 3 Architecture of AlexNet[6]圖3 AlexNet結(jié)構(gòu)示意圖[6]
在深度神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)中,若均采用全連接方式,將使得網(wǎng)絡(luò)的時(shí)間與空間效率十分低下.因此一些優(yōu)秀的深度神經(jīng)網(wǎng)絡(luò)采用“權(quán)值共享”策略,以此節(jié)約網(wǎng)絡(luò)模型的存儲(chǔ)空間并且提高網(wǎng)絡(luò)運(yùn)行效率,這一策略在卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural net-work, CNN)[11]中有著最為重要的體現(xiàn).
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是專門針對(duì)圖像設(shè)計(jì)的深度學(xué)習(xí)模型,通過(guò)卷積操作和權(quán)值共享來(lái)減少深度神經(jīng)網(wǎng)絡(luò)中的連接數(shù)量,從而降低深度網(wǎng)絡(luò)的復(fù)雜度.當(dāng)前主流的視覺(jué)處理任務(wù),如檢測(cè)、分割、估計(jì)等大都采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行處理.
檢測(cè)任務(wù)是眾多圖像處理任務(wù),如人臉識(shí)別、實(shí)例分割、姿態(tài)估計(jì)等任務(wù)的基礎(chǔ),一個(gè)好的檢測(cè)方法對(duì)后續(xù)任務(wù)的準(zhǔn)確性、有效性、實(shí)時(shí)性起著至關(guān)重要的作用.
Girshick等人提出的著名的R-CNN[12]網(wǎng)絡(luò)使用傳統(tǒng)方法提取候選框,并用卷積神經(jīng)網(wǎng)絡(luò)提取特征,對(duì)物體通過(guò)滑動(dòng)窗口的方式實(shí)現(xiàn)檢測(cè)分類,其具體處理流程如圖4所示:
Fig. 4 Object detection based on R-CNN[12]圖4 基于R-CNN的目標(biāo)檢測(cè)示意圖[12]
之后Girshick[13]又對(duì)R-CNN候選區(qū)域提取方法進(jìn)行了改進(jìn),采用卷積方法提取候選區(qū)域,提出了Fast R-CNN,不僅提高了檢測(cè)的準(zhǔn)確率,同時(shí)也取得了更快的運(yùn)行速度.后來(lái)Ren等人[14]進(jìn)一步復(fù)用提取候選區(qū)域的特征用于候選的分類任務(wù),提出了Faster R-CNN. 借助于region proposal network(RPN),F(xiàn)aster R-CNN將特征在提取興趣區(qū)域(region of interest, ROI)和分類2個(gè)階段中進(jìn)行復(fù)用,減少了冗余計(jì)算.
除了檢測(cè)任務(wù)之外,卷積神經(jīng)網(wǎng)絡(luò)還可以用于圖像分割任務(wù),最初Long等人[15]將用于分類任務(wù)的卷積神經(jīng)網(wǎng)絡(luò)最后的全連接層替換為卷積層,從而提出了全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional net-works, FCN),用于圖像分割,其結(jié)構(gòu)如圖5所示.之后幾乎所有的圖像分割網(wǎng)絡(luò)都是從FCN的基礎(chǔ)上演變而來(lái),比如U-Net[16],SegNet[17],Deeplab[18-20],PSPNet[21]等.
針對(duì)估計(jì)任務(wù),卷積神經(jīng)網(wǎng)絡(luò)也表現(xiàn)出優(yōu)越的能力.例如人體骨架估計(jì)任務(wù),Newell 等人提出了一種端到端(end-to-end)的基于卷積神經(jīng)網(wǎng)絡(luò)的多人骨架識(shí)別模型Associative Embedding[22].如圖6所示,該方法通過(guò)卷積神經(jīng)網(wǎng)絡(luò)同時(shí)預(yù)測(cè)骨架關(guān)鍵點(diǎn)的熱力圖(heat maps)及其所對(duì)應(yīng)人的標(biāo)簽的熱力圖,從而實(shí)現(xiàn)對(duì)多人骨架的快速預(yù)測(cè)與正確歸類.
Fig. 5 Architecture of FCN[15]圖5 全卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖[15]
Fig. 6 Human skeleton estimation based on CNN[22]圖6 基于卷神經(jīng)網(wǎng)絡(luò)的人體骨架估計(jì)[22]
Fig. 7 Illustration of GAN圖7 對(duì)抗生成網(wǎng)絡(luò)結(jié)構(gòu)示意圖
對(duì)抗生成網(wǎng)絡(luò)(generative adversarial network, GAN)[23]最早由Goodfellow等人提出,是一個(gè)通過(guò)對(duì)抗過(guò)程估計(jì)生成模型的框架,利用了二元零和博弈的思想.具體如圖7所示,框架中同時(shí)訓(xùn)練2個(gè)模型:捕獲數(shù)據(jù)分布的生成模型G和估計(jì)樣本來(lái)自訓(xùn)練數(shù)據(jù)的概率的判別模型D,G的訓(xùn)練程序是將D錯(cuò)誤的概率最大化,這個(gè)框架對(duì)應(yīng)一個(gè)最大值集下限的雙方對(duì)抗游戲.在G和D由多層感知器定義的情況下,整個(gè)系統(tǒng)可以用反向傳播進(jìn)行訓(xùn)練.在訓(xùn)練或生成樣本期間,不需要任何馬爾可夫鏈或展開(kāi)的近似推理網(wǎng)絡(luò).
目前GAN最常使用的方面就是圖像生成,如超分辨率任務(wù)、語(yǔ)義分割、圖像風(fēng)格轉(zhuǎn)換等.在超分辨率任務(wù)方面,Ledig等人[24]提出SRGAN,可以使用GAN將低分辨率圖片一一對(duì)應(yīng)地生成高分辨率圖片,訓(xùn)練需要高分辨率圖片,將高分辨率圖片用雙線性插值法生成低分辨率圖片后,分別作為真實(shí)數(shù)據(jù)和虛假數(shù)據(jù)輸入到GAN網(wǎng)絡(luò)中,最終訓(xùn)練得到的模型可以將低分辨率圖片生成為高分辨率圖片.
在圖像風(fēng)格轉(zhuǎn)換方面,Gatys等人[25]提出使用GAN的圖像風(fēng)格轉(zhuǎn)換網(wǎng)絡(luò),可以將紋理轉(zhuǎn)換問(wèn)題由專有的固定的非參方法變?yōu)樘崛「邔映橄筇卣鞯纳疃壬窠?jīng)網(wǎng)絡(luò)方法,從而生成與已有藝術(shù)繪畫(huà)風(fēng)格類似的高質(zhì)量的全新圖像,如圖8所示.
在語(yǔ)義分割方面,Couprie等人[26]提出了使用GAN的語(yǔ)義分割模型,將傳統(tǒng)的分割過(guò)程看作一個(gè)生成過(guò)程,在零和博弈的框架下,生成器可以生成難以被判別器區(qū)分的語(yǔ)義分割圖片,其處理流程如圖9所示.
Fig. 8 Image style transfer based on GAN[25]圖8 基于GAN的圖像風(fēng)格轉(zhuǎn)換[25]
Fig. 9 Semantic segmentation based on GAN[26]圖9 基于GAN的語(yǔ)義分割模型[26]
遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)是一種比較具有代表性的循環(huán)網(wǎng)絡(luò).1.1~1.3節(jié)提到的多種神經(jīng)網(wǎng)絡(luò)模型中,數(shù)據(jù)和信息的傳遞是以模型的“數(shù)據(jù)流”為方向的,也就是單一傳遞方向.在RNN中,核心思想是利用順序信息,即對(duì)模型序列中的每個(gè)元素執(zhí)行相同的任務(wù),其輸出取決于先前的計(jì)算,網(wǎng)絡(luò)展開(kāi)形式表示如圖10所示:
Fig. 10 Architecture of RNN圖10 遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
遞歸神經(jīng)網(wǎng)絡(luò)模型考慮的是具體任務(wù)的循環(huán)模式,若任務(wù)為5個(gè)單詞序列的預(yù)測(cè),則該網(wǎng)絡(luò)將展開(kāi)為5層神經(jīng)網(wǎng)絡(luò),每個(gè)單詞為一層,每層的輸入為當(dāng)前層顯性和隱性的輸入.特別的隱藏狀態(tài)S可以是網(wǎng)絡(luò)當(dāng)前的運(yùn)算記憶,代表所有先前時(shí)間步驟中發(fā)生的事件信息.與傳統(tǒng)深度神經(jīng)網(wǎng)絡(luò)不同的是,RNN中的主要參數(shù)U,V,W在所有步驟中共享相同的參數(shù).這反映了每一步運(yùn)算都是在執(zhí)行相同任務(wù)的事實(shí),只是使用不同的輸入.這種網(wǎng)絡(luò)訓(xùn)練方式大大減少了需要學(xué)習(xí)的參數(shù)總數(shù).
Fig. 12 Architecture of DBN[31]圖12 深度置信網(wǎng)絡(luò)結(jié)構(gòu)示意圖[31]
遞歸循環(huán)網(wǎng)絡(luò)主要應(yīng)用在自然語(yǔ)言處理領(lǐng)域,包括語(yǔ)言模型生成文本、機(jī)器翻譯和語(yǔ)音識(shí)別等.語(yǔ)言模型是對(duì)序列語(yǔ)句的可能性預(yù)測(cè),即給定一系列單詞,預(yù)測(cè)給定前一個(gè)單詞的當(dāng)前單詞概率.Mikolov等人[27]提出對(duì)長(zhǎng)短不一的遞歸網(wǎng)絡(luò)進(jìn)行混合構(gòu)建語(yǔ)言模型,從而對(duì)語(yǔ)言模型進(jìn)行了完善.Liu等人[28]通過(guò)構(gòu)建不同長(zhǎng)度RNN序列和輸出的關(guān)系的重復(fù)利用,模擬了翻譯過(guò)程中的不同語(yǔ)序問(wèn)題.語(yǔ)音識(shí)別是通過(guò)處理給定的聲學(xué)信號(hào)輸入序列,利用網(wǎng)絡(luò)模型對(duì)一系列語(yǔ)音片段進(jìn)行預(yù)測(cè).Graves等人[29]介紹了一種語(yǔ)音識(shí)別系統(tǒng),直接對(duì)音頻數(shù)據(jù)進(jìn)行文本轉(zhuǎn)換,不需要中間的語(yǔ)音表示.該系統(tǒng)基于一個(gè)深層雙向遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和CTC模型記性標(biāo)簽的預(yù)測(cè)判斷[30],如圖11所示:
Fig. 11 Bidirectional RNN[29]圖11 雙向遞歸神經(jīng)網(wǎng)絡(luò)[29]
深度神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)還有很多,除了遞歸神經(jīng)網(wǎng)絡(luò)之外,深度置信網(wǎng)絡(luò)(deep belief network, DBN)[31]也是廣為應(yīng)用的一種網(wǎng)絡(luò)結(jié)構(gòu)模型.如圖12所示,DBN由受限玻爾茲曼機(jī)(restricted Boltzmann machine, RBM)堆疊而成,前一個(gè)受限玻爾茲曼機(jī)的輸出作為下一個(gè)的輸入,由此進(jìn)行深度迭代.受限玻爾茲曼機(jī)是一種具有隨機(jī)性的生成神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它本質(zhì)上是一種由具有隨機(jī)性的一層可見(jiàn)神經(jīng)元和一層隱藏神經(jīng)元所構(gòu)成的無(wú)向圖模型.它只有在隱藏層和可見(jiàn)層神經(jīng)元之間有連接,可見(jiàn)層神經(jīng)元之間以及隱藏層神經(jīng)元之間都沒(méi)有連接.在DBN的訓(xùn)練過(guò)程中,依賴于“貪婪思想”,即在每一層的RBM 網(wǎng)絡(luò)確保自身層內(nèi)的權(quán)值對(duì)該層特征向量映射達(dá)到最優(yōu),自底向上地對(duì)每一個(gè)RBM進(jìn)行參數(shù)的學(xué)習(xí).最后在整體網(wǎng)絡(luò)的最上層設(shè)置反向傳播層,對(duì)整個(gè)結(jié)構(gòu)進(jìn)行自頂向下的參數(shù)優(yōu)化.這是一種雙向的訓(xùn)練加微調(diào)的模型訓(xùn)練方法.
自編碼器(AutoEncoder)也是神經(jīng)網(wǎng)絡(luò)的一種,通過(guò)訓(xùn)練后能夠嘗試將輸入復(fù)制到輸出.自編碼器由編碼器和解碼器2部分組成,編碼器將輸入編碼成隱藏空間表示,解碼器通過(guò)重構(gòu)來(lái)自隱藏空間的表示獲得輸出.與其他神經(jīng)網(wǎng)絡(luò)關(guān)注輸出層和錯(cuò)誤率不同的是,自編碼器關(guān)注的是隱藏空間.單純地復(fù)制輸入到輸出并沒(méi)有太大用處,實(shí)際應(yīng)用中往往通過(guò)添加其他約束,使得自編碼器能夠?qū)W習(xí)到數(shù)據(jù)的有用特性.一種常見(jiàn)的約束是限制隱藏空間的維度,這種情況下,自編碼器被稱為欠完備的.通過(guò)訓(xùn)練欠完備的表示,可以迫使自編碼器學(xué)到數(shù)據(jù)中最有代表性或者說(shuō)最為顯著的特征,其中一個(gè)比較典型的應(yīng)用就是用于圖像的去噪,如圖13所示:
Fig. 13 Illustration of AutoEncoder圖13 自編碼器示意圖
自編碼器雖然結(jié)構(gòu)簡(jiǎn)單,但是在機(jī)器學(xué)習(xí)領(lǐng)域有重要的作用.Rumelhart和Hinton等人[32]最早提出自編碼器作為學(xué)習(xí)特征表示的方法.目前自編碼器已經(jīng)被成功應(yīng)用于降維和信息檢索任務(wù).降維是將特征映射到更低的維度進(jìn)行表示,是深度學(xué)習(xí)最早的一批應(yīng)用之一,例如,Rumelhart和Hinton等人[32]在2006年的工作.數(shù)據(jù)的低維表示可以在一些深度學(xué)習(xí)任務(wù)中用于提高性能,根據(jù)Salakhutdinov[34]和Tieleman[35]的觀察,低維空間的特征表示能夠?qū)⒄Z(yǔ)義相關(guān)的樣本映射到相鄰的位置,在深度學(xué)習(xí)任務(wù)中能夠提高泛化能力.相比降維,信息檢索從自編碼器的研究中獲益更多,它要求從數(shù)據(jù)集合中查詢類似的條目.當(dāng)使用自編碼器對(duì)數(shù)據(jù)進(jìn)行降維表示時(shí),信息檢索任務(wù)不僅能像其他任務(wù)一樣獲得降維表示所帶來(lái)的益處,還使得低維空間的某些搜索變得極為有效.這種用降維表示實(shí)現(xiàn)信息檢索的方法已經(jīng)被廣泛應(yīng)用于文本輸入[34]和圖像輸入[34,36]等研究中.
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)還有很多,由于篇幅關(guān)系,本節(jié)只介紹了當(dāng)前多種典型的網(wǎng)絡(luò)結(jié)構(gòu),其他網(wǎng)絡(luò)結(jié)構(gòu)不再贅述.
數(shù)字幾何模型的表示方法主要有兩大類:實(shí)體表示和邊界表示.實(shí)體表示包括實(shí)體幾何、點(diǎn)云、體網(wǎng)格以及體素等;邊界表示包括表面網(wǎng)格、參數(shù)曲面、細(xì)分曲面、隱式曲面等.不是所有的表示形式都適用于深度學(xué)習(xí),目前只有圖像、體素、點(diǎn)云和網(wǎng)格等幾種形式可以用于神經(jīng)網(wǎng)絡(luò)模型,如圖14所示:
Fig. 14 Popular representations of digital geometric models for deep learning圖14 適用于深度學(xué)習(xí)的數(shù)字幾何模型常用表示方法
幾何模型的體素表示是最接近于圖像的表示形式,它具有標(biāo)準(zhǔn)的定義域,因此可以直接應(yīng)用圖像分析和處理中常用的卷積神經(jīng)網(wǎng)絡(luò).這種體素方法的優(yōu)點(diǎn)是可以表示任意拓?fù)洌试S較大的形狀變化.Wu等人[37]首先將深度模型引入到三維體素表示的模型分析,他們利用一個(gè)三維深度置信網(wǎng)絡(luò)——3D ShapeNets,直接從原始數(shù)據(jù)中學(xué)習(xí)不同種類的模型和模型任意姿態(tài)的特征分布,從而實(shí)現(xiàn)了三維物體的自動(dòng)識(shí)別和修復(fù).類似地,Maturana等人[38]和Qi等人[39]采用同樣的三維體素表示,利用CNN實(shí)現(xiàn)了超過(guò)State-of-the-art的高準(zhǔn)確度物體識(shí)別和模型分類,圖15所示為其網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)不同層所學(xué)習(xí)到的特征.盡管利用三維體素表示幾何模型比較簡(jiǎn)單直觀,而且可以直接利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分析處理,但是隨著模型體積的增大、模型的分辨率增加,受限于計(jì)算機(jī)內(nèi)存和顯存大小,深度學(xué)習(xí)模型通常只能對(duì)低分辨率模型進(jìn)行分析,難以處理高精度的模型.
Fig. 15 3D object recognition based on voxel representation and deep model[37]圖15 基于體素表示和深度模型的三維物體識(shí)別[37]
Fig. 16 Voxel representation based on Octree[41]圖16 基于八叉樹(shù)結(jié)構(gòu)的體素表示[41]
而將體素與八叉樹(shù)數(shù)據(jù)結(jié)構(gòu)進(jìn)行融合的方法正好可以從一定程度上減輕內(nèi)存消耗的問(wèn)題.八叉樹(shù)模型是一種具有代表性的柵格數(shù)據(jù)模型.根據(jù)八叉樹(shù)不同的存儲(chǔ)方式,將其分為規(guī)則八叉樹(shù)、線性八叉樹(shù)以及一對(duì)八式八叉樹(shù)等.不同的存儲(chǔ)結(jié)構(gòu)的空間利用率及運(yùn)算操作的方便性是不同的.Steinbrücker等人[40]通過(guò)八叉樹(shù)數(shù)據(jù)自適應(yīng)離散體素來(lái)彌補(bǔ)一般體素分辨率低這一缺點(diǎn),在CPU上實(shí)現(xiàn)了實(shí)時(shí)的三維體映射.Riegler等人[41]提出了OctNet網(wǎng)絡(luò)用于稀疏三維數(shù)據(jù)的深度學(xué)習(xí)表示,它使用混合網(wǎng)格-八叉樹(shù)結(jié)構(gòu),將八叉樹(shù)(Octree)結(jié)構(gòu)深度限制在一定的層數(shù)范圍內(nèi),優(yōu)化了網(wǎng)絡(luò)性能,可以訓(xùn)練更深的神經(jīng)網(wǎng)絡(luò)而且處理的模型分辨率也得到進(jìn)一步提高,基于八叉樹(shù)結(jié)構(gòu)的數(shù)據(jù)表示方法如圖16所示.Wang等人[42]采用類似的表示方法提出了O-CNN來(lái)對(duì)三維模型進(jìn)行分析.Tatarchenko等人[43]提出了一種新的卷積解碼器結(jié)構(gòu),用于生成以八叉樹(shù)表示的高分辨率三維輸出.H?ne等人[44]在三維重建中應(yīng)用八叉樹(shù)結(jié)構(gòu)體素表示來(lái)進(jìn)行三維幾何預(yù)測(cè).
由于三維模型的表示通常沒(méi)有二維圖像那樣標(biāo)準(zhǔn)的定義域,體素表示方法又受限于存儲(chǔ)往往會(huì)丟掉模型上的幾何細(xì)節(jié),因而另一種比較直觀的處理方法就是將三維模型投影為二維圖像,但是投影會(huì)造成遮擋、不可見(jiàn)而引發(fā)數(shù)據(jù)的丟失,因此需要在多個(gè)視角下進(jìn)行投影,用多個(gè)視角下的圖像來(lái)表示三維模型.多視角圖像通常是在以物體中心為球心的球面的各個(gè)位置上利用虛擬相機(jī)對(duì)物體成像,或是直接對(duì)物體進(jìn)行投影.這樣生成的一組圖像具有更多的特征信息,對(duì)物體的描述更加完整.
在多視角圖像生成的基礎(chǔ)上,使用經(jīng)典、成熟的二維圖像深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,自然可以較好地從各個(gè)視角圖像中提取到三維物體的特征.圖像與圖像之間也可以直接用于比較.因此不同于以其他數(shù)據(jù)表示形式開(kāi)展深度學(xué)習(xí)的研究中人們關(guān)注如何從數(shù)據(jù)中提取特征,在多視角圖像方面人們更加關(guān)注如何將多視角下圖像的特征信息進(jìn)行融合,獲得更好的網(wǎng)絡(luò)模型,比如Guo等人[45]利用多視角下的二維圖像標(biāo)簽來(lái)指導(dǎo)三維模型的標(biāo)記,并取得了很好效果.Su等人[46]提出了一個(gè)由卷積神經(jīng)網(wǎng)絡(luò)并聯(lián)和串聯(lián)組成的網(wǎng)絡(luò)模型用于實(shí)現(xiàn)利用多視角圖像對(duì)三維物體進(jìn)行分類.如圖17所示,網(wǎng)絡(luò)首先由一組共享參數(shù)的卷積神經(jīng)網(wǎng)絡(luò)從不同視角圖像提取特征.在特征融合方面,該模型并未簡(jiǎn)單采取求和的思想,而是利用一個(gè)卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)如何將多個(gè)特征圖進(jìn)行融合.該網(wǎng)絡(luò)在模型分類方面的性能要明顯優(yōu)于基于體素表示的卷積神經(jīng)網(wǎng)絡(luò).
Fig. 17 Learning multi-view feature fusion using CNN[46]圖17 利用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)多視圖的特征融合[46]
Fig. 18 Extraction of local shape descriptor using images from local and global views[47]圖18 使用局部與全局視圖獲取模型局部點(diǎn)的描述子[47]
Huang等人[47]將多視角圖像聚焦于模型的局部點(diǎn),并且采用以模型局部點(diǎn)為中心、多種半徑的球面為成像位置,使得獲得的多視角圖像既包含局部點(diǎn)的局部特征,又具有全局特征,如圖18所示.由此使用卷積神經(jīng)網(wǎng)絡(luò)獲取的局部點(diǎn)描述子也兼具局部與全局性.描述子可以用于模型匹配、結(jié)構(gòu)分割以及語(yǔ)義分割. Kalogerakis等人[48]將多視角圖像與深度圖結(jié)合,提出了一種利用全卷積網(wǎng)絡(luò)與條件隨機(jī)場(chǎng)對(duì)三維模型進(jìn)行分割的方法.該方法同樣采用局部與全局的多視圖生成思路,并一同生成了深度圖.在生成多視圖的過(guò)程中記錄了二維圖像中每個(gè)像素對(duì)應(yīng)的三維模型三角面片.利用多視角渲染圖像與深度圖像進(jìn)行學(xué)習(xí),獲得圖像中一個(gè)區(qū)域?qū)?yīng)不同特征類型的置信度,再將圖中的特征識(shí)別結(jié)果投射到三維表面.最后利用條件隨機(jī)場(chǎng)實(shí)現(xiàn)模型分割,其分割結(jié)果如圖19所示:
Fig. 19 3D shape segmentation results based on FCN and multi-view CNN[48]圖19 基于全卷積神經(jīng)網(wǎng)絡(luò)和多視角視圖的三維模型分割結(jié)果[48]
三維幾何模型的另一種常見(jiàn)表示方法就是點(diǎn)云,點(diǎn)云通常是由激光雷達(dá)掃描得到的數(shù)據(jù),由于其數(shù)據(jù)量龐大,且點(diǎn)云數(shù)據(jù)固有的無(wú)序性、無(wú)連接性以及特征旋轉(zhuǎn)不變性等特點(diǎn),沒(méi)有圖像體素那樣標(biāo)準(zhǔn)的數(shù)據(jù)表示結(jié)構(gòu),無(wú)法直接將數(shù)據(jù)向量化,所以難以直接應(yīng)用于深度學(xué)習(xí)模型.
Qi等人[49]首先提出了PointNet卷積網(wǎng)絡(luò)方法,如圖20所示,它首先通過(guò)一個(gè)空間變換網(wǎng)絡(luò)解決了點(diǎn)云旋轉(zhuǎn)問(wèn)題,在網(wǎng)絡(luò)中對(duì)每個(gè)點(diǎn)進(jìn)行一定程度的特征提取后,采用MaxPooling對(duì)點(diǎn)云整體提取出全局特征,解決了點(diǎn)云的無(wú)序性問(wèn)題.PointNet最終可以提取出點(diǎn)云系統(tǒng)固定維數(shù)的特征,實(shí)現(xiàn)了點(diǎn)云的特征向量化,可以用于三維物體的分類、分割等應(yīng)用.之后他們又對(duì)其進(jìn)行進(jìn)一步改進(jìn),提出了更新的PointNet++[50],解決了PointNet無(wú)法很好地捕捉由度量空間引起的局部結(jié)構(gòu)問(wèn)題,可以更好地適應(yīng)精細(xì)場(chǎng)景的識(shí)別,對(duì)復(fù)雜場(chǎng)景具有更強(qiáng)的泛化能力.
由于點(diǎn)云這種不規(guī)則的數(shù)據(jù)形式(頂點(diǎn)集合)和社交網(wǎng)絡(luò)(個(gè)體集合)比較類似,因此在非規(guī)則數(shù)據(jù)分析領(lǐng)域常用的圖結(jié)構(gòu)也可以用來(lái)對(duì)點(diǎn)云進(jìn)行表示,從而利用圖卷積神經(jīng)網(wǎng)絡(luò)(graph convolutional network, GCN)[51-53]對(duì)點(diǎn)云進(jìn)行分析.Qi等人[54]在點(diǎn)云的基礎(chǔ)上根據(jù)K近鄰的方式建立圖結(jié)構(gòu),提出了3DGNN,圖中的結(jié)點(diǎn)由從二維圖像中提取的特征來(lái)進(jìn)行表示,從而實(shí)現(xiàn)語(yǔ)義分割.由于不同的點(diǎn)云模型會(huì)造成不同的最近鄰圖結(jié)構(gòu),所以無(wú)法直接應(yīng)用圖拉普拉斯(graph Laplacian)的譜分析,因此Yi等人[55]在頻譜域中利用函數(shù)映射方法將這些不同的圖結(jié)構(gòu)對(duì)齊到一個(gè)標(biāo)準(zhǔn)的空間,提出了SyncSpecCNN,可以用于多種不同的應(yīng)用任務(wù),比如三維模型分割、三維關(guān)鍵點(diǎn)檢測(cè)等,都取得了State-of-the-art的效果,其網(wǎng)絡(luò)結(jié)構(gòu)如圖21所示.其他類似的針對(duì)圖神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn)的還有很多,比如RGCNN[56],DynGCNN等[57].
Fig. 20 Architecture of PointNet[49]圖20 PointNet網(wǎng)絡(luò)結(jié)構(gòu)[49]
Fig. 21 Architecture of DynGCNN[57]圖21 DynGCNN結(jié)構(gòu)示意圖[57]
網(wǎng)格模型是目前使用最為廣泛的幾何模型表示方式,但是它不具備標(biāo)準(zhǔn)的定義域,很難直接應(yīng)用于深度模型,所以通常需要手動(dòng)地在模型表面建立標(biāo)準(zhǔn)定義域,或者手動(dòng)提取模型上頂點(diǎn)的特征用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練.由于網(wǎng)格表示實(shí)際上也是一種圖結(jié)構(gòu)(頂點(diǎn)和邊),因此可以用2.3節(jié)中的圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行分析和處理[57-62].另一種方式就是在網(wǎng)格表面建立標(biāo)準(zhǔn)的定義域,比如Masci等人[63-64]利用測(cè)地線的性質(zhì)在網(wǎng)格模型表面建立如圖22所示的局部極坐標(biāo)系,從而可以在網(wǎng)格上實(shí)現(xiàn)與圖像卷積類似的卷積操作,這樣就將傳統(tǒng)的CNN擴(kuò)展到了非歐的幾何流形上,可以利用CNN的數(shù)據(jù)抽象能力提取模型的各種幾何特征,應(yīng)用于不同的場(chǎng)景.在此基礎(chǔ)上,Boscaini等人[65]利用各項(xiàng)異性的擴(kuò)散核函數(shù)進(jìn)行了進(jìn)一步改進(jìn),并用于學(xué)習(xí)模型之間的對(duì)應(yīng)關(guān)系,得到了更好的效果.在文獻(xiàn)[66]中,同一作者采用加窗傅立葉變換方法建構(gòu)了空間-頻域上的CNN架構(gòu).Monti等人[67]提出了一種更加通用的框架來(lái)利用深度模型處理非歐數(shù)據(jù),例如圖結(jié)構(gòu)數(shù)據(jù)和幾何流形,而之前所述的這些模型實(shí)際上都可以看作這種框架的某種特殊情況,因此更具通用性.
Fig. 22 Geodesic polar system built on mesh surface[63]圖22 網(wǎng)格模型表面建立測(cè)地線極坐標(biāo)系[63]
除了在網(wǎng)格表面建立標(biāo)準(zhǔn)的定義域之外,還有一種常見(jiàn)的針對(duì)網(wǎng)格表示的深度學(xué)習(xí)方法是利用傳統(tǒng)的手工定義的描述子來(lái)表示模型的局部特征,然后利用神經(jīng)網(wǎng)絡(luò)對(duì)這些低層次的特征進(jìn)行進(jìn)一步地抽象提取,從而實(shí)現(xiàn)不同的應(yīng)用任務(wù),同時(shí)可以取得更好的表現(xiàn).Guo等人[68]根據(jù)7種傳統(tǒng)的幾何特征對(duì)網(wǎng)格模型上的頂點(diǎn)進(jìn)行描述,然后將這種描述子轉(zhuǎn)換為二維矩陣,利用經(jīng)典的CNN結(jié)構(gòu)對(duì)這些特征進(jìn)行進(jìn)一步抽象提取,實(shí)現(xiàn)了三維模型的語(yǔ)義標(biāo)記,相比傳統(tǒng)方法取得了巨大的準(zhǔn)確度提升.Chen等人[69]使用熱核特征作為描述子描述每個(gè)點(diǎn)的特征,并使用三聯(lián)網(wǎng)絡(luò)的方法訓(xùn)練得到具有更好區(qū)分特性的每個(gè)點(diǎn)的特征,從而對(duì)不同模型上的點(diǎn)進(jìn)行匹配.Wang等人[70]利用網(wǎng)格模型上的局部特征描述子定義幾何圖像(geometry image),然后利用如圖23所示的三聯(lián)神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)模型之間的對(duì)應(yīng)關(guān)系.
Fig. 23 Extraction of high-level features using local low-level features[72]圖23 利用網(wǎng)格上低層次的局部特征抽取高層次特征[72]
三維模型的匹配和檢索是數(shù)字幾何分析領(lǐng)域研究最為廣泛的方向之一.傳統(tǒng)的匹配和檢索方法[71-72]都是通過(guò)手工設(shè)計(jì)的描述子來(lái)實(shí)現(xiàn)三維模型上的頂點(diǎn)之間相似性比對(duì),通常稱為模型的匹配或者模型的對(duì)應(yīng),而對(duì)三維模型整體而言的相似性比對(duì)往往應(yīng)用于模型的檢索.深度學(xué)習(xí)技術(shù)已經(jīng)在自然語(yǔ)言處理、圖像處理領(lǐng)域證明了其強(qiáng)大的特征抽取和描述能力,因此很多研究者開(kāi)始研究如何利用深度學(xué)習(xí)技術(shù)來(lái)提高模型匹配和檢索的準(zhǔn)確率,擴(kuò)展其應(yīng)用場(chǎng)景.
Fig. 24 Illustration of shape correspondence[73]圖24 模型對(duì)應(yīng)結(jié)果示意圖[73]
Wei等人[73]首次采用深度學(xué)習(xí)方法來(lái)學(xué)習(xí)三維人體掃描數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系,這種方法僅僅需要部分幾何信息,不要求被掃描的人體數(shù)據(jù)具有相似的朝向.與傳統(tǒng)的模型匹配對(duì)應(yīng)方法不同的是,該方法不是直接訓(xùn)練網(wǎng)絡(luò)來(lái)求解匹配問(wèn)題,而是利用卷積神經(jīng)網(wǎng)絡(luò)來(lái)解決一個(gè)人體區(qū)域的分割問(wèn)題,從而提高學(xué)習(xí)到的描述子在區(qū)域邊界的平滑性,提高匹配的準(zhǔn)確度,其對(duì)應(yīng)結(jié)果如圖24所示.Zeng等人[74]提出了另一種數(shù)據(jù)驅(qū)動(dòng)的三維關(guān)鍵點(diǎn)描述子,用于匹配更加復(fù)雜的真實(shí)世界的深度掃描圖像.如圖25所示,Zeng等人使用三維體素表示的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)局部體素塊的特征來(lái)建立不完整的掃描數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系,這種方法不僅可以在新的場(chǎng)景中建立局部的幾何對(duì)應(yīng),而且可以用于不同的任務(wù)和空間尺度.這種基于體素表示的網(wǎng)絡(luò)結(jié)構(gòu)的缺陷是由于內(nèi)存消耗的原因?qū)е滤鼈兊姆直媛时容^低.
Fig. 25 Key-point matching based on voxel representation[74]圖25 基于體素表示的關(guān)鍵點(diǎn)描述子匹配方法[74]
Fig. 26 Shape correspondence based on Geodesic CNN[63]圖26 基于測(cè)地線卷積神經(jīng)網(wǎng)絡(luò)的模型對(duì)應(yīng)方法[63]
為了解決卷積神經(jīng)網(wǎng)絡(luò)不能直接應(yīng)用于網(wǎng)格表示的三維模型的問(wèn)題,Bronstein等人提出了基于測(cè)地線的卷積神經(jīng)網(wǎng)絡(luò)(geodesic convolutional neural network, GCNN)[63,65,75],如圖26所示.這是將傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)向非歐幾何流行進(jìn)行的擴(kuò)展,通過(guò)在模型表面利用測(cè)地線建立標(biāo)準(zhǔn)的上下文結(jié)構(gòu),使得圖像上的卷積操作可以在網(wǎng)格表面進(jìn)行,從而可以利用神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)傳統(tǒng)的手工定義特征描述方法進(jìn)行抽象,從而獲得更加高層次的特征描述子,可以用于建立模型之間的對(duì)應(yīng)關(guān)系,而且其準(zhǔn)確率遠(yuǎn)遠(yuǎn)超過(guò)了傳統(tǒng)的描述方法.與這類直接學(xué)習(xí)對(duì)應(yīng)的方法不同,Litany等人[76]利用深度殘差網(wǎng)絡(luò)以定義在模型上的稠密描述作為輸入來(lái)學(xué)習(xí)模型之間的函數(shù)映射和線性算子,而這種映射關(guān)系又提供了一種緊致的對(duì)應(yīng)表示.
Wang等人[72]提出了一種新穎的深度學(xué)習(xí)框架,能夠推導(dǎo)出基于網(wǎng)格表示的三維模型的局部描述子.不同于之前的基于卷積神經(jīng)網(wǎng)絡(luò)的方法來(lái)提取基于多視角圖片或者直接提取形狀的內(nèi)在屬性,這種方法參數(shù)化了多個(gè)尺度上的在關(guān)鍵點(diǎn)附近的局部信息,之后利用三重網(wǎng)絡(luò)來(lái)進(jìn)行學(xué)習(xí),通過(guò)最小化三重?fù)p失函數(shù)從而得到模型之間的對(duì)應(yīng)關(guān)系.類似地,如圖27所示,Chen等人[69]根據(jù)傳統(tǒng)模型上的擴(kuò)散理論和熱核函數(shù)提取多尺度幾何特征描述,然后利用三重網(wǎng)絡(luò)進(jìn)一步抽象已有的幾何特征描述,學(xué)習(xí)到新的特征描述具有更強(qiáng)的描述能力,可以獲得更高的匹配準(zhǔn)確性.
Huang等人[47]介紹了一種新的局部描述子,如圖28所示,通過(guò)采用多視角和多尺度的處理,并通過(guò)比較傳統(tǒng)的二維神經(jīng)網(wǎng)絡(luò)方式進(jìn)行特征提取,其訓(xùn)練的基本條件是不同模型上幾何或語(yǔ)義相似的點(diǎn)應(yīng)該被嵌入相近的特征空間當(dāng)中.這種描述子不僅可以用于模型匹配,還可以用于分割和模型部件的功能型預(yù)測(cè)等多種應(yīng)用場(chǎng)景.Furuya等人[77]提出了一種基于局部的模型檢索網(wǎng)絡(luò)結(jié)構(gòu),叫做PWRE-net.利用深度神經(jīng)網(wǎng)絡(luò),PWRE-net從大量的局部-整體模型對(duì)中學(xué)習(xí)到一個(gè)共同的統(tǒng)一嵌入空間,這個(gè)空間中的局部模型和它對(duì)應(yīng)的整體模型具有密切的關(guān)系,從而實(shí)現(xiàn)利用局部模型來(lái)進(jìn)行三維幾何模型的準(zhǔn)確檢索.
Fig. 27 3D shape matching based on deep triplet CNN[69]圖27 基于深度三重網(wǎng)絡(luò)的三維模型匹配方法[69]
Fig. 28 Multi-scale shape matching based on multi-view images[47]圖28 基于多視角多尺度的模型匹配[47]
基于整體三維模型的描述可以用于模型檢索,Zhu等人[78]利用自編碼方式來(lái)進(jìn)行特征學(xué)習(xí),通過(guò)將三維模型投影到二維空間,融合多個(gè)視角下二維圖像中學(xué)習(xí)到的特征描述,實(shí)現(xiàn)三維模型的檢索.Xie等人[79]提出了深度非線性度量學(xué)習(xí)方法,首先利用局部約束的線性編碼對(duì)模型頂點(diǎn)進(jìn)行編碼,然后將編碼系數(shù)直方圖作為全局三維模型描述子,再用深度度量網(wǎng)絡(luò)學(xué)習(xí)三維描述子到非線性特征空間的映射關(guān)系,從而實(shí)現(xiàn)三維模型特征描述的特征抽取,可以直接用于模型檢索,具有很高的檢索準(zhǔn)確率.此外還有基于草圖的模型檢索方法[80],即輸入用戶描繪的簡(jiǎn)單的草圖,系統(tǒng)返回相似的三維模型,其結(jié)果如圖29所示.Wang等人[81]利用2個(gè)卷積神經(jīng)網(wǎng)絡(luò),一個(gè)用于訓(xùn)練草圖,一個(gè)用于訓(xùn)練多視角投影,然后實(shí)現(xiàn)了基于草圖的模型檢索.
Fig. 29 Shape retrieval based on sketches[81]圖29 基于草圖的模型檢索方法[81]
與模型的匹配和檢索類似,分類和分割也是深度學(xué)習(xí)應(yīng)用于三維模型的典型方向,因?yàn)榉诸惻c分割同樣需要對(duì)三維模型進(jìn)行特征提取和描述.分割問(wèn)題的特征描述是針對(duì)頂點(diǎn)或局部區(qū)域而言,分類問(wèn)題是針對(duì)整個(gè)模型,傳統(tǒng)的模型分割或分類方法都是依賴于手工定義的描述子和特定的聚類方法[82-83],具有一定的局限性,而深度學(xué)習(xí)技術(shù)正好具有強(qiáng)大的數(shù)據(jù)抽象和描述能力.最初嘗試?yán)蒙疃葘W(xué)習(xí)進(jìn)行分類的方法結(jié)合了卷積和遞歸神經(jīng)網(wǎng)絡(luò),用來(lái)學(xué)習(xí)和抽象特征,實(shí)現(xiàn)了如圖30所示的RGB-D圖像的分類[84].Gupta等人[85]對(duì)RGB-D的信息進(jìn)行了擴(kuò)展,不僅為每個(gè)體素提供了顏色和深度信息,還為它們編碼了距離地面的高度和重力的角度,這一方法取得了顯著效果.Eitel等人[86]融合了以上2種方法,提出了一種融合后的神經(jīng)網(wǎng)絡(luò).這些方法都是針對(duì)2.5維的物體進(jìn)行研究.Wu等人[87]提出了對(duì)體素進(jìn)行分類和檢索的體積架構(gòu),通過(guò)學(xué)習(xí)不同類物體的復(fù)雜的三維形狀分布,實(shí)現(xiàn)物體的分類和分割.類似地,Maturana等人[88]提出了自己的針對(duì)體素的網(wǎng)絡(luò)架構(gòu),并且可以實(shí)現(xiàn)實(shí)時(shí)的物體識(shí)別.
Fig. 30 3D object recognition based on RNN[84]圖30 基于遞歸網(wǎng)絡(luò)的三維物體識(shí)別[84]
另一個(gè)主要的分類方法是將三維物體投影到二維平面上進(jìn)行卷積.Shi等人[89]將三維物體投影到包圍它的圓柱體上形成全景圖,并對(duì)這個(gè)全景圖進(jìn)行卷積操作,從而進(jìn)行二維上的特征提取來(lái)實(shí)現(xiàn)三維模型的分類,具體過(guò)程如圖31所示.Su等人[46]通過(guò)聯(lián)合訓(xùn)練多視圖的方式對(duì)物體進(jìn)行分類,取得了較好的效果.Hu等人[90]通過(guò)三聯(lián)神經(jīng)網(wǎng)絡(luò)進(jìn)行度量學(xué)習(xí),并通過(guò)生成與體素模型相對(duì)應(yīng)的使用場(chǎng)景的方法來(lái)揭示物體的功能.這種方法雖然簡(jiǎn)單,但是不能將學(xué)到的特征投射到模型上,因此很難進(jìn)行分割.
Qi等人[49]將機(jī)器學(xué)習(xí)領(lǐng)域擴(kuò)展到了點(diǎn)云,他們將每一個(gè)點(diǎn)輸入多層感知機(jī)單獨(dú)學(xué)習(xí)一個(gè)特征,并最后用取最值等對(duì)稱性的操作獲得全局特征表示從而進(jìn)行分類,如圖32所示,這種方法可以解決點(diǎn)云無(wú)序性的特點(diǎn).緊接著的PointNet++[50]采取多層采樣的方式,保證了網(wǎng)絡(luò)對(duì)不同大小模型的魯棒性,并且使用跳躍的連接方式,在特征傳導(dǎo)過(guò)程中,將每一層學(xué)到的信息拼接在每個(gè)點(diǎn)的信息上,從而實(shí)現(xiàn)物體分割.
Fig. 31 3D object classification based on panorama projected images[89]圖31 基于全景圖投影的三維物體分類[89]
Fig. 33 (Co-)Segmentation model based on deep learning[91]圖33 基于深度學(xué)習(xí)的模型(共)分割[91]
Fig. 32 3D shape classification and segmentation based on PointNet[49]圖32 基于PointNet的三維模型分類和分割[49]
最早利用深度學(xué)習(xí)技術(shù)對(duì)網(wǎng)格模型進(jìn)行分割的方法由Guo等人[68]提出.他們先利用多種手工定義的特征描述子將模型的頂點(diǎn)描述成一個(gè)向量,然后將這個(gè)一維向量變換為二維的矩陣形式,這樣就可以直接利用圖像中的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,并實(shí)現(xiàn)了語(yǔ)義標(biāo)記.Shu等人[91]將三維模型分解成多個(gè)小塊,然后利用深度學(xué)習(xí)從低層次手工定義的描述子抽取更高層次的語(yǔ)義描述,再用聚類方法實(shí)現(xiàn)網(wǎng)格模型的分割和共分割,如圖33所示.之后Wang等人[92]設(shè)計(jì)了一種形狀全卷積網(wǎng)絡(luò)(shape fully convolutional network, SFCN),在這種網(wǎng)絡(luò)中他們定義了基于圖的卷積和池化操作,將圖像分割中廣泛應(yīng)用的全卷積網(wǎng)絡(luò)應(yīng)用于三維網(wǎng)格模型的分割,取得了很好的分割結(jié)果.
除了外觀以外,還可以從風(fēng)格的角度對(duì)三維模型進(jìn)行分類.物體的功能與其主要部分的總體形狀和每個(gè)部分的排列密切相關(guān),而風(fēng)格與這些部分的幾何細(xì)節(jié)密切相關(guān)[93],如圖34所示為基于風(fēng)格的三維模型分類.Lim等人[94]通過(guò)分析研究多視圖的方式進(jìn)行分類,每次輸入一個(gè)一正一反的三元組,通過(guò)三聯(lián)的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)他們的距離.學(xué)習(xí)的目標(biāo)應(yīng)滿足2個(gè)條件:相似風(fēng)格的物體足夠近和不相似的物體足夠遠(yuǎn),對(duì)于任意一個(gè)模型,所有和它相似的模型都比和它不相似的模型要遠(yuǎn),從而生成一個(gè)均勻的空間.
Fig. 34 3D object classification based on styles[93]圖34 基于風(fēng)格的三維模型分類[93]
Fig. 35 Shape generation based on CNN[97]圖35 基于卷積神經(jīng)網(wǎng)絡(luò)的模型生成[97]
相比于三維幾何模型,深度學(xué)習(xí)在二維圖像領(lǐng)域應(yīng)用較早.同時(shí),多視角圖像又是三維幾何模型的一種有效的表示方式.利用多視角深度圖像或利用多視角圖像生成物體的可見(jiàn)外殼都可以有效地實(shí)現(xiàn)三維模型的重建.因此部分學(xué)者將三維幾何模型生成問(wèn)題轉(zhuǎn)化為模型的多視角圖像生成問(wèn)題并開(kāi)展研究.Hinton等人[95]提出了用于實(shí)現(xiàn)變換操作的自編解碼器,可以對(duì)輸入圖像進(jìn)行小幅度的視角變換.Flynn等人[96]訓(xùn)練了一種端到端的深度神經(jīng)網(wǎng)絡(luò),可以保留場(chǎng)景相鄰視圖中共有的像素并對(duì)未知像素進(jìn)行預(yù)測(cè),網(wǎng)絡(luò)可以用于真實(shí)場(chǎng)景相鄰視圖間的插值.如圖35所示,Alexey等人[97]在解碼器中使用了上采樣層與卷積層組合形成的“上卷積層”,使得解碼器具有生成高分辨率圖像、大幅度的視角變換、對(duì)模型進(jìn)行縮放變換、顏色變換的能力.
空間變換網(wǎng)絡(luò)[98]通過(guò)在現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)中引入一種可微的圖像采樣模塊,使得網(wǎng)絡(luò)具有利用數(shù)據(jù)的空間信息、對(duì)特征進(jìn)行空間變換的能力.Zhou等人[99]使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)像素點(diǎn)在相鄰視圖中的坐標(biāo)變換進(jìn)行預(yù)測(cè),并能根據(jù)多視圖輸入對(duì)生成視圖進(jìn)行優(yōu)化.如圖36所示,Park等人[100]首先利用自編解碼器推斷在輸入和輸出視角圖像中均可見(jiàn)的部分,并將對(duì)應(yīng)的像素移動(dòng)到目標(biāo)視角圖像中的位置;然后將輸出圖像剩余的生成問(wèn)題轉(zhuǎn)換為圖像填充問(wèn)題,利用神經(jīng)網(wǎng)絡(luò)根據(jù)中間結(jié)果來(lái)推斷輸入圖像中不可見(jiàn)的部分.神經(jīng)網(wǎng)絡(luò)本身也利用對(duì)抗網(wǎng)絡(luò)和特征識(shí)別網(wǎng)絡(luò)作為損失函數(shù)來(lái)減少合成結(jié)果中的畸變、模糊和空洞等問(wèn)題.
由于幾何模型的體素表示可以直接應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò),通過(guò)訓(xùn)練網(wǎng)絡(luò)使其能夠直接將模型在低維空間中的編碼解碼成模型的體素表示,從而可以免去由編碼到多視角圖像再到多視角圖像建模這一過(guò)程.Girdhar等人[101]使用自編解碼器構(gòu)建了一個(gè)端到端的網(wǎng)絡(luò),分別從模型的單張圖像以及體素獲取表示編碼,將2種表示編碼的歐氏距離作為訓(xùn)練的損失函數(shù),同時(shí)使用已有的模型體素對(duì)解碼器進(jìn)行監(jiān)督學(xué)習(xí).由此產(chǎn)生的表示編碼不僅能從二維圖像中推理出來(lái),而且可用于生成三維模型.對(duì)抗生成網(wǎng)絡(luò)在圖像生成方面取得了理想的效果,如圖37所示,Wu等人[102]將其應(yīng)用于三維體素,獲取到模型樣本在高維特征空間的分布,并將這一分布映射到低維空間中.對(duì)抗生成網(wǎng)絡(luò)無(wú)需借助參考圖像或已有模型,可以根據(jù)輸入的低維特征向量直接輸出三維體素模型.由于網(wǎng)絡(luò)具有探索流形空間的能力,不僅能夠生成全新的模型,也可對(duì)已有模型進(jìn)行分類、索引、合成等應(yīng)用.在此基礎(chǔ)上人們將八叉樹(shù)數(shù)據(jù)結(jié)構(gòu)應(yīng)用于體素表示以提高生成模型的精細(xì)程度[42-43],但生成模型的分辨率依舊難以達(dá)到多視角圖像的水準(zhǔn).
Fig. 36 Multi-view images generated from a single view image[100]圖36 由單一視圖生成模型的多視角圖像[100]
Fig. 37 Shape synthesis using GAN[102]圖37 使用對(duì)抗生成網(wǎng)絡(luò)進(jìn)行模型合成[102]
Xu等人[103]利用基于遞歸神經(jīng)網(wǎng)絡(luò)的自編碼器將模型的整體結(jié)構(gòu)參數(shù)(模型零部件包圍盒參數(shù)、對(duì)稱性參數(shù)等)按層級(jí)編碼成一個(gè)低維的特征向量.并利用對(duì)抗生成網(wǎng)絡(luò)訓(xùn)練對(duì)應(yīng)的解碼器,從而組成一個(gè)整體結(jié)構(gòu)與特征向量間的雙向轉(zhuǎn)換器.通過(guò)訓(xùn)練使得解碼器可將輸入的隨機(jī)噪聲擬合成可表示合理模型結(jié)構(gòu)的低維特征向量.最后再利用深度神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)由結(jié)構(gòu)參數(shù)到具體模型零部件的轉(zhuǎn)換,與自編解碼器構(gòu)成完整的模型生成管線,在模型分類、局部匹配、模型生成、形狀插值等問(wèn)題上都有不俗的表現(xiàn).Wang等人[104]提出了一種由單視圖圖像生成網(wǎng)格模型的方法.如圖38所示,利用從輸入圖像中提取的特征逐步對(duì)一個(gè)橢球進(jìn)行變形從而產(chǎn)生目標(biāo)模型.對(duì)于三維網(wǎng)格模型使用的非規(guī)則數(shù)據(jù)形式——圖,該方法采用圖卷積網(wǎng)絡(luò)來(lái)處理橢球逐步變形獲得的三維網(wǎng)格,使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取二維圖像特征,并利用一個(gè)投影層使得網(wǎng)格中的每個(gè)頂點(diǎn)能獲取相應(yīng)的二維圖像的特征.通過(guò)構(gòu)建圖的上池化層,使得網(wǎng)格頂點(diǎn)的數(shù)量逐漸由少到多,網(wǎng)格形狀由粗糙到精細(xì),既保留了全局信息,又具有細(xì)節(jié)表達(dá),同時(shí)使得整個(gè)變形過(guò)程更加穩(wěn)定.此外還有利用過(guò)程建模和神經(jīng)網(wǎng)絡(luò)從草圖中重建并合成三維模型的方法[105].
Fig. 38 Deform an coarse ellipsoid mesh into a refined mesh using CNN[104]圖38 卷積網(wǎng)絡(luò)處理橢球網(wǎng)格變形生成精細(xì)模型[104]
Fig. 39 Shape restoration and reconstruction based on AutoEncoder[109]圖39 基于自編碼網(wǎng)絡(luò)的模型修復(fù)與重建[109]
隨著消費(fèi)級(jí)激光掃描設(shè)備(比如微軟的Kinect和英特爾的RealSense)精度和效率的不斷提高,幾何模型的獲取越來(lái)越容易.海量幾何模型的涌入,為深度學(xué)習(xí)在幾何處理與分析領(lǐng)域提供了堅(jiān)實(shí)的數(shù)據(jù)基礎(chǔ).然而由于光照、遮擋、環(huán)境等外在因素影響,直接獲取的原始幾何數(shù)據(jù)不完整,需要對(duì)獲取的原始幾何數(shù)據(jù)進(jìn)行修復(fù)與重建.傳統(tǒng)的模型修復(fù)與重建算法[106-108]主要依賴于較強(qiáng)的假設(shè)和結(jié)構(gòu)先驗(yàn)知識(shí),只能處理特定場(chǎng)景下的模型修復(fù)與重建,無(wú)法應(yīng)用于大量的幾何模型.近年來(lái),隨著深度學(xué)習(xí)在音頻、圖像、視頻領(lǐng)域的突破性進(jìn)展,研究人員已經(jīng)開(kāi)始將深度學(xué)習(xí)遷移到幾何模型上,尤其是幾何模型的修復(fù)與重建.與傳統(tǒng)算法不同,基于深度學(xué)習(xí)的方法直接從海量數(shù)據(jù)中挖掘模型的結(jié)構(gòu)信息,不再受限于具體的應(yīng)用場(chǎng)景以及強(qiáng)假設(shè)先驗(yàn)信息.
相比于圖像規(guī)則的定義域,幾何模型的表示形式與具體的應(yīng)用場(chǎng)合有關(guān),進(jìn)而也阻礙了深度學(xué)習(xí)在幾何模型上的直接推廣.最直觀的方法就是將幾何數(shù)據(jù)用體素表示,然后將2D上的操作直接擴(kuò)展到3D上.受圖像修復(fù)中的自編碼網(wǎng)絡(luò)啟發(fā),Dai等人[109]提出了一種基于體素的自編碼網(wǎng)絡(luò)來(lái)對(duì)缺失模型進(jìn)行修復(fù)與重建.如圖39所示,在訓(xùn)練階段,借助3D卷積操作將輸入的殘缺幾何模型映射到高維空間(編碼),然后再通過(guò)3D反卷積操作重構(gòu)完整幾何模型(解碼).作者通過(guò)編解碼網(wǎng)絡(luò)學(xué)習(xí)幾何模型潛在的概率分布,可以有效地對(duì)缺失部分進(jìn)行修復(fù).而且分類網(wǎng)絡(luò)語(yǔ)義信息,可以更精準(zhǔn)地修復(fù)缺失部分.受制于內(nèi)存限制,重構(gòu)幾何模型的分辨率低,無(wú)法表示更為精細(xì)模型.為此,Wang等人[110]提出了一種全自動(dòng)的模型修復(fù)網(wǎng)絡(luò)架構(gòu).與Dai等人相同,Wang等人也采用自編碼網(wǎng)絡(luò)架構(gòu)來(lái)重構(gòu)幾何模型.為了保證重構(gòu)幾何模型在功能和結(jié)構(gòu)上的準(zhǔn)確性,Wang等人利用判別器網(wǎng)絡(luò)來(lái)約束自編碼網(wǎng)絡(luò)生成的幾何模型.為增加輸出模型的分辨率,Wang等人借助循環(huán)卷積網(wǎng)絡(luò)自動(dòng)重構(gòu)出更高分辨率的幾何模型.雖然這些方法能夠有效地完成模型的修復(fù)與重建,但由于這些方法主要關(guān)注幾何模型全局結(jié)構(gòu),無(wú)法有效地修復(fù)局部幾何細(xì)節(jié).
為了解決上述問(wèn)題,Han等人[111]提出一種基于全局結(jié)構(gòu)指導(dǎo)的局部結(jié)構(gòu)修復(fù)網(wǎng)絡(luò)架構(gòu).如圖40所示,該文首先利用LSTM網(wǎng)絡(luò)架構(gòu)提取模型的全局結(jié)構(gòu)信息,然后在全局結(jié)構(gòu)指導(dǎo)下逐一對(duì)缺失區(qū)域局部結(jié)構(gòu)進(jìn)行修復(fù).這種方法有效地?cái)[脫了內(nèi)存對(duì)于模型分辨率的限制,可以達(dá)到很高的分辨率,完成全局結(jié)構(gòu)修復(fù)的同時(shí)也能保證局部幾何細(xì)節(jié)的修復(fù).然而對(duì)于紋理級(jí)的幾何細(xì)節(jié),這樣的分辨率還不足以表示.為了進(jìn)一步擴(kuò)大生成體素模型的分辨率,Cao等人[112]借助級(jí)聯(lián)網(wǎng)絡(luò)架構(gòu)對(duì)缺失模型由粗糙到精細(xì)的逐層修復(fù).如圖41所示,該方法能夠?qū)⑸赡P头直媛侍岣叩綐O高的水平, 可以有效處理精細(xì)的幾何結(jié)構(gòu).
Fig. 40 Global structure guided shape restoration and reconstruction[111]圖40 全局結(jié)構(gòu)指導(dǎo)下的模型修復(fù)與重建[111]
Fig. 41 Shape restoration and reconstruction based on cascaded FCN[112]圖41 基于級(jí)連網(wǎng)絡(luò)架構(gòu)的模型修復(fù)與重建[112]
盡管體素有著規(guī)則的定義域,也很容易將2D的操作直接擴(kuò)展到3D域上,但是體素表示效率較低且受制于內(nèi)存限制.相比于體素這種中間表示形式,點(diǎn)云則獲取直接且存儲(chǔ)更為容易.盡管PointNet[49]解決了深度學(xué)習(xí)在點(diǎn)云上的應(yīng)用,但受限于深度學(xué)習(xí)輸入輸出固定長(zhǎng)度的約束,這類方法目前還無(wú)法更好地服務(wù)于破損點(diǎn)云模型的修復(fù)與重建.為此,Lunscher等人[113-114]利用破損幾何模型深度圖來(lái)完成點(diǎn)云模型修復(fù).
如圖42所示,其核心思想深度圖的修復(fù),然后對(duì)不同角度深度圖進(jìn)行融合來(lái)完成點(diǎn)云模型的修復(fù)與重建.與體素表示相比,該方法不受制于內(nèi)存限制且數(shù)據(jù)獲取容易,可以有效地應(yīng)用于服飾定制領(lǐng)域.
Fig. 42 Point cloud restoration using geometric depth map[113]圖42 利用幾何模型深度圖來(lái)完成點(diǎn)云模型修復(fù)[113]
另一種常見(jiàn)的模型表示形式就是多邊形網(wǎng)格,盡管基于圖的卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)被廣泛應(yīng)用,但是受制于網(wǎng)絡(luò)連接關(guān)系等信息,還無(wú)法直接處理網(wǎng)格模型的修復(fù).為了解決無(wú)法直接重構(gòu)出缺失區(qū)域連接關(guān)系信息不同的問(wèn)題,Google團(tuán)隊(duì)[115]借助自編碼圖卷積網(wǎng)絡(luò)來(lái)處理可變形模型的修復(fù)與重建.如圖43所示,首先借助自編碼網(wǎng)絡(luò)架構(gòu),學(xué)習(xí)幾何模型潛在的特征空間;然后借助外部約束來(lái)重構(gòu)模型.與一般的模型修復(fù)不同,該網(wǎng)絡(luò)結(jié)構(gòu)對(duì)于缺失部分可以給出多種選擇,很好地滿足用戶的不同需求.
總的來(lái)說(shuō),構(gòu)造新的三維模型依舊是一項(xiàng)比較費(fèi)時(shí)費(fèi)力的工作,而通過(guò)對(duì)現(xiàn)有模型進(jìn)行變形和編輯產(chǎn)生新模型的方法顯然要高效很多,這也是當(dāng)前計(jì)算機(jī)動(dòng)畫(huà)生成和制作的主要手段.將深度學(xué)習(xí)運(yùn)用到模型變形和編輯會(huì)顯著提升三維模型數(shù)據(jù)集構(gòu)造、三維模型動(dòng)畫(huà)制作和模型設(shè)計(jì)等各項(xiàng)工作的效率.
Fig. 44 Shape deformation based on deep learning[116]圖44 基于深度學(xué)習(xí)的模型變形[116]
一類常用的模型編輯方法就是模型變形,圖44給出了一些使用深度學(xué)習(xí)技術(shù)產(chǎn)生的模型變形結(jié)果.Tan等人[116]提出了一種新的網(wǎng)格變分自動(dòng)編碼器(mesh VAE)框架,如圖45所示,該框架利用深度神經(jīng)網(wǎng)絡(luò)來(lái)探索三維模型的潛在形狀空間,并且能夠通過(guò)對(duì)現(xiàn)有模型的變形生成原始數(shù)據(jù)集中不存在的新模型.為了有效表示任意的網(wǎng)格變形,該框架使用了變分自動(dòng)編碼器(VAE)[117]和旋轉(zhuǎn)不變網(wǎng)格差分(RIMD)[118]的曲面表示方法,并使用了全連接的網(wǎng)絡(luò)架構(gòu)和簡(jiǎn)單的基于均方差(MSE)的重構(gòu)損失函數(shù).該文最后給出證明這項(xiàng)工作在新模型生成、模型插值、模型空間嵌入和模型潛在空間探索等方面都能取得明顯優(yōu)于傳統(tǒng)方法所產(chǎn)生的結(jié)果.
Fig. 45 Shape deformation based on mesh VAE[116]圖45 基于變分自編碼結(jié)構(gòu)的模型變形[116]
變形傳遞是模型變形的重要研究課題.建立可靠的模型對(duì)應(yīng)關(guān)系是現(xiàn)有變形傳遞方法的一個(gè)基本問(wèn)題,但解決這個(gè)問(wèn)題需要一定的專業(yè)知識(shí),尤其是當(dāng)源和目標(biāo)形狀差別比較大的時(shí)候需要大量的人工操作來(lái)選擇變形對(duì)應(yīng)的關(guān)鍵點(diǎn).Yang等人[119]提出了一種新的可以自動(dòng)選擇關(guān)鍵點(diǎn)的變形轉(zhuǎn)移方法.該文采用雙調(diào)和權(quán)重形狀變形[120-121]解決變形傳遞問(wèn)題,并改進(jìn)了聚類和誤差成本來(lái)優(yōu)化變形傳遞.這種方法可以在源模型上自動(dòng)產(chǎn)生一組關(guān)鍵點(diǎn),用戶只需要在目標(biāo)形狀上指定相應(yīng)的點(diǎn),這樣可以極大地減少變形傳遞所需要的時(shí)間和專業(yè)知識(shí).該文給出的實(shí)驗(yàn)結(jié)果表明,該方法優(yōu)于目前最先進(jìn)的變形傳遞方法,而且這種方式自動(dòng)選擇的關(guān)鍵點(diǎn)比普通用戶選擇的更合理.
雖然計(jì)算機(jī)圖形學(xué)中使用最廣泛的圖形表示形式是多邊形網(wǎng)格,特別是三角形網(wǎng)格.但是這種參數(shù)化表示在機(jī)器學(xué)習(xí)領(lǐng)域還有很大的發(fā)展空間,因?yàn)闄C(jī)器學(xué)習(xí)主要需要規(guī)則表示的輸入和輸出數(shù)據(jù),如體素和點(diǎn)云,而網(wǎng)格是高度非結(jié)構(gòu)化的,這就使通過(guò)神經(jīng)網(wǎng)絡(luò)從2D圖形實(shí)現(xiàn)相應(yīng)的3D重建變得非常挑戰(zhàn).Jack 等人[122]利用模型變形的優(yōu)勢(shì),如圖46所示,通過(guò)探索廣泛運(yùn)用于3D網(wǎng)格建模的自由變形技術(shù)(FFD)[123]提出了一種新穎的從單張圖片重構(gòu)3D網(wǎng)格模型的方法.該方法同時(shí)學(xué)習(xí)對(duì)模板網(wǎng)格的選擇和變形.該文使用了輕量級(jí)的CNN推斷多個(gè)模板的多維FFD參數(shù)并且學(xué)習(xí)將大尺度變形應(yīng)用于拓?fù)洳煌哪0?,以產(chǎn)生具有相似形狀的預(yù)測(cè)網(wǎng)格.該文通過(guò)實(shí)驗(yàn)證明小型CNN可以很好地學(xué)習(xí)到網(wǎng)格變形信息,而且這種方法重構(gòu)出的模型比基于標(biāo)準(zhǔn)體素和點(diǎn)云方法產(chǎn)生的模型具有更加精細(xì)的幾何結(jié)構(gòu).
Fig. 46 Shape editing based on free-form deformations learning using CNN[122]圖46 基于神經(jīng)網(wǎng)絡(luò)自由變形學(xué)習(xí)的模型編輯[122]
Fig. 47 Style transfer for 3D models[125]圖47 三維模型的風(fēng)格遷移[125]
此外,風(fēng)格遷移也是一種常用的模型編輯方法.圖47給出了一些使用風(fēng)格轉(zhuǎn)移進(jìn)行模型編輯的結(jié)果.風(fēng)格遷移是指將源模型的樣式應(yīng)用于目標(biāo)模型,同時(shí)保留目標(biāo)模型的幾何結(jié)構(gòu).這一過(guò)程的主要挑戰(zhàn)是正確區(qū)分模型的風(fēng)格和幾何結(jié)構(gòu).Ma等人[124]提出了一種可以在2D和3D對(duì)象之間無(wú)縫地遷移各種樣式屬性的框架.該文使用了幾何形狀類比的思想.Berkiten等人[125]提出了一種基于幾何細(xì)節(jié)的風(fēng)格遷移方法,該文將單個(gè)高質(zhì)量模型的細(xì)節(jié)轉(zhuǎn)移到各種易于生成和廣泛可用的低分辨率網(wǎng)格.該文的主要?jiǎng)?chuàng)新之處就在于使用度量學(xué)習(xí)來(lái)找出能夠最好地預(yù)測(cè)目標(biāo)網(wǎng)格和源網(wǎng)格哪些區(qū)域具有相似細(xì)節(jié)的幾何特征的組合.然后使用學(xué)習(xí)到的度量來(lái)評(píng)估源和目標(biāo)模型的相似性,指導(dǎo)目標(biāo)紋理合成.Lun等人[126]通過(guò)一系列元素級(jí)別的操作將示例模型樣式傳遞給目標(biāo)模型.該文引入了跨結(jié)構(gòu)元素兼容性度量,以此來(lái)評(píng)估每個(gè)操作對(duì)編輯形狀的影響.系統(tǒng)遞增地更新目標(biāo)形狀,逐步提升其與示例樣式的相似性,同時(shí)嚴(yán)格遵循兼用性度量的約束.該文評(píng)估了包含家具、燈具和餐具在內(nèi)的一系列人造物體模型,均能得到符合期望的結(jié)果.
自從Guo等人[68]首次將深度學(xué)習(xí)技術(shù)引入數(shù)字幾何處理和分析領(lǐng)域之后,基于神經(jīng)網(wǎng)絡(luò)模型的幾何處理和分析方法大量涌現(xiàn),如第3節(jié)所述,相比于傳統(tǒng)的分析和處理方法,利用神經(jīng)網(wǎng)絡(luò)模型強(qiáng)大的數(shù)據(jù)抽象特征提取能力,深度學(xué)習(xí)技術(shù)極大地提高了諸如模型匹配與檢索、模型分類與分割、模型生成、模型修復(fù)與重建以及模型變形和編輯的性能和效率.但可以看到的是,當(dāng)前深度學(xué)習(xí)技術(shù)在數(shù)字幾何處理領(lǐng)域的應(yīng)用還遠(yuǎn)不如其在自然語(yǔ)言處理和圖像處理中那樣成熟,造成這樣的原因大致有3個(gè)方面:
1) 沒(méi)有統(tǒng)一的數(shù)據(jù)表示.由于三維模型很難像語(yǔ)音圖像那樣表示成統(tǒng)一的標(biāo)準(zhǔn)數(shù)據(jù)表示方式,當(dāng)前不同的三維模型表示方法各有特點(diǎn),同時(shí)又無(wú)法避免地具有各自的缺點(diǎn),限制了直接遷移語(yǔ)音圖像領(lǐng)域成熟應(yīng)用的各種模型結(jié)構(gòu)到三維模型上的可能性.實(shí)際上,當(dāng)前基于深度學(xué)習(xí)技術(shù)的數(shù)字幾何分析和處理方法仍然是在特定的數(shù)據(jù)表示的基礎(chǔ)上,針對(duì)某些常見(jiàn)的特定任務(wù)進(jìn)行處理,相較于傳統(tǒng)的分析處理方法只是從根據(jù)幾何物理理論的手工定義轉(zhuǎn)變到了采用神經(jīng)網(wǎng)絡(luò)進(jìn)行自動(dòng)地特征提取和分析,像在傳統(tǒng)機(jī)器學(xué)習(xí)領(lǐng)域常見(jiàn)的遷移學(xué)習(xí)(transfer learning)[127]、增強(qiáng)學(xué)習(xí)(reinforcement learning)[128]等一些已經(jīng)在語(yǔ)音和圖像相關(guān)的深度學(xué)習(xí)領(lǐng)域得到很好應(yīng)用的技術(shù),還未能向幾何處理和分析領(lǐng)域遷移.
2) 缺乏大規(guī)模公開(kāi)數(shù)據(jù)集.盡管三維模型的獲取已經(jīng)比較方便,出現(xiàn)了像ShapeNet[129]這樣具有一定規(guī)模的公開(kāi)數(shù)據(jù)集,但是其從規(guī)模上仍然難以和公開(kāi)的圖像數(shù)據(jù)集如ImageNet[130],COCO[131],PASCAL[132]等相提并論,而深度學(xué)習(xí)技術(shù)要真正應(yīng)用到實(shí)際產(chǎn)品中必須有大量的訓(xùn)練數(shù)據(jù)支持,這就使得當(dāng)前深度學(xué)習(xí)技術(shù)在數(shù)字幾何處理領(lǐng)域的應(yīng)用仍然停留在實(shí)驗(yàn)室里,很難像語(yǔ)音圖像那樣走進(jìn)普通人的生活當(dāng)中.另外針對(duì)訓(xùn)練數(shù)據(jù)不足的問(wèn)題,自然語(yǔ)言處理、計(jì)算機(jī)視覺(jué)領(lǐng)域都有很多人工設(shè)定或者自學(xué)習(xí)的數(shù)據(jù)增廣方式,這不僅可以在一定程度上增加數(shù)據(jù)規(guī)模,同時(shí)也可以提高方法的泛化能力.目前針對(duì)三維模型的數(shù)據(jù)增廣方法還比較缺乏,實(shí)際上三維模型的插值和生成已經(jīng)研究多年,如何從一個(gè)有限的模型數(shù)據(jù)集生成更多的模型已經(jīng)有了很多的成熟方法,將這些方法引入數(shù)據(jù)增廣或者與深度學(xué)習(xí)相結(jié)合應(yīng)該可以更好地提高算法的能力.
3) 網(wǎng)絡(luò)結(jié)構(gòu)缺乏針對(duì)性.當(dāng)前用于幾何處理和分析的神經(jīng)網(wǎng)絡(luò)主要是從語(yǔ)音和圖像領(lǐng)域借鑒而來(lái),都需要先將三維模型轉(zhuǎn)換為特定的網(wǎng)絡(luò)適用的數(shù)據(jù)表示形式(特征、圖像、體素等),而像PointNet[49],GCCN[63]等專門為三維模型設(shè)計(jì)的網(wǎng)絡(luò)還比較少,很難全面高效地對(duì)三維模型的特征進(jìn)行概括分析,限制了深度技術(shù)在數(shù)字幾何處理和分析領(lǐng)域的應(yīng)用范圍.所以盡管深度學(xué)習(xí)技術(shù)在數(shù)字幾何處理領(lǐng)域中已經(jīng)有了一定的研究成果,但要真正推廣應(yīng)用,還有很長(zhǎng)的路要走.
本文全面總結(jié)了近年來(lái)深度學(xué)習(xí)技術(shù)在數(shù)字幾何處理和分析領(lǐng)域的研究進(jìn)展,希望有助于讀者對(duì)這一研究方向的發(fā)展和面臨的問(wèn)題有更加全面的了解,并對(duì)未來(lái)的研究工作有一定啟發(fā)和推動(dòng)作用.