劉 昶,薛 磊
(沈陽理工大學 信息科學與工程學院 沈陽110159)
三維模型生成是由2D圖像恢復3D物體的結(jié)構(gòu)信息、表面信息、甚至顏色信息的過程,是計算機視覺、計算機圖像學中重要的研究內(nèi)容。近幾年,深度學習的出現(xiàn)推動了三維數(shù)據(jù)的應用與發(fā)展,配合5G互聯(lián)網(wǎng)技術(shù),使云端三維模型生成和云端可視化成為可能。三維體素化模型不僅能夠明確反映三維物體的空間結(jié)構(gòu)信息和幾何信息,而且能夠直接被三維卷積處理,是許多三維視覺任務中常用的數(shù)據(jù)表示形式。傳統(tǒng)的三維模型生成一般是利用已標定相機拍攝目標的多幅圖像,利用幾何約束進行特征的立體匹配原理實現(xiàn),例如文獻[1]提出一種聲納圖像的三維重建方法,利用傳統(tǒng)的幾何映射關(guān)系建立一種多高度特征進行分段分層搜索的重建方法,實現(xiàn)旋轉(zhuǎn)、平移參數(shù)已知情況下的三維重建。近年來,隨著深度學習在計算機視覺領(lǐng)域的應用,基于深度學習的三維體素模型生成方法的研究逐漸受到學者的關(guān)注,目前已經(jīng)有了一些成果。Wu Z R等提出將深度圖輸入深度信念網(wǎng)絡(luò)生成三維體素化模型,首次將三維體素化數(shù)據(jù)表示應用于基于深度學習的三維目標識別任務[2]。文獻[3-5]提出基于自編碼網(wǎng)絡(luò)的三維體素模型生成方法,通過編碼過程得到圖像的特征,該特征再由解碼網(wǎng)絡(luò)生成三維體素化模型。文獻[6-8]提出采用生成對抗的思想進行三維模型生成,利用生成器生成三維模型,利用判別器判別生成特征的真假,通過訓練不斷更新判別器和生成器的參數(shù),當二者達到平衡時,生成器能夠生成高精度三維體素化模型。但該網(wǎng)絡(luò)往往會因為訓練時不穩(wěn)定導致生成結(jié)果不理想。Kar A等用一種投影的操作直接從圖像空間得到三維空間中的網(wǎng)格特征[9],再利用3D U-Net[10]正則化處理該特征,生成目標物體的深度圖和體素模型。文獻[11-13]受到這種思想啟發(fā),也提出新的三維體素化模型生成方法,這些方法以構(gòu)建一種由2D圖像空間到三維體坐標空間的映射為目標,通過一個后續(xù)的網(wǎng)絡(luò)精調(diào)得到三維模型。文獻[14-15]則提出利用間接的方法生成三維體素化模型,如在文獻[14]中,網(wǎng)絡(luò)首先生成2.5D草圖、深度圖等粗略的三維表示,再進一步通過編碼-解碼網(wǎng)絡(luò)生成三維體素化模型。該類方法缺點是訓練過程比較復雜,需要大量的微調(diào)操作。
綜合目前的相關(guān)文獻,基于深度學習的3D體素化模型生成技術(shù)主要包括以下三類:(1)基于特征表示學習的方法;(2)基于空間映射的方法;(3)基于協(xié)同學習的方法。本文將針對這三類技術(shù)的各自特點和優(yōu)勢分別進行討論,并對三維模型生成研究中常用的三維數(shù)據(jù)集和評價標準進行介紹,最后對該領(lǐng)域研究中的重要問題和挑戰(zhàn)進行總結(jié)和展望。
基于特征表示學習的三維體素化模型生成的一般過程如圖1所示,首先提取圖像特征,然后利用解碼網(wǎng)絡(luò)將特征恢復成三維體素化模型。這類方法的共同特點是從特征處理的角度提高三維體素化模型生成的精度。
Girdhar R等首次提出以學習可生成、可預測的3D模型特征為目標,用自編碼網(wǎng)絡(luò)和簡單的二維特征提取網(wǎng)絡(luò)分別提取三維體素化模型和二維圖像的特征,通過構(gòu)建三維模型特征與二維圖像特征間的相似性損失,提高二維圖像特征的提取質(zhì)量,測試時只需將一幅圖像輸入網(wǎng)絡(luò)便可生成3D體素化模型[3]。受文獻[3]啟發(fā),Mandikal P等將該思想應用到三維點云模型生成,通過獲取特征空間中特征的采樣生成新的三維模型[4]。張冀等提出利用多尺度特征提取網(wǎng)絡(luò)作為圖像特征提取部分,本質(zhì)上也是先獲得一種魯棒的圖像特征,然后通過遞歸神經(jīng)網(wǎng)絡(luò)將二維特征轉(zhuǎn)換為三維體素化模型,其主要創(chuàng)新點在于發(fā)現(xiàn)并驗證了通過多尺度特征提取得到的融合特征表示,有利于提高三維模型生成精度[16]。張玉麒等利用Inception-ResNet模塊[17]以增強網(wǎng)絡(luò)特征提取能力,并采用多種網(wǎng)絡(luò)結(jié)構(gòu)提取多個特征,通過三維長短期記憶網(wǎng)絡(luò)處理上一步得到的多個序列化特征,最終提高了單幅圖像的重建效果[18]。Wu J J等提出3DGAN,網(wǎng)絡(luò)中生成器相當于解碼器,判別器相當于一個編碼器,通過多次訓練和更新網(wǎng)絡(luò)參數(shù),利用生成器可生成三維體素化模型;首次提出將生成對抗網(wǎng)絡(luò)拓展到三維,對后續(xù)工作具有啟發(fā)意義[6]。類似的基于生成對抗思想的三維模型生成方法還有PrGAN[7],生成器生成的三維模型投影得到輪廓圖,通過判別器約束該輪廓圖與真實輪廓圖的損失,提升了三維模型生成的精度。Smith E和Jiang L等提出構(gòu)建新的損失函數(shù)用于網(wǎng)絡(luò)訓練,使中間特征的生成受到更強的約束,提升了生成三維模型生成的精度[8,19]。Yang Bo等首次提出利用二維特征提取網(wǎng)絡(luò)提取一組多視角圖像的特征,然后利用注意力機制對圖像特征進行融合操作,降低融合后特征的冗余性。該操作使特征表示能力得到增強,最終的三維模型生成精度與3D-R2-N2[20]相比提升明顯[13]。注意力機制在特征優(yōu)化方面有積極作用,但是卻需要合理精細地設(shè)計網(wǎng)絡(luò)結(jié)構(gòu),否則無法達到特征優(yōu)化的目標。Grant E等提出通過空間卷積(Spatial Convolution)構(gòu)造編碼器學習一種三維圖形編碼特征(3D Graphics Code),該特征通過空間下采樣層和池化層分離出一個形狀編碼和一個轉(zhuǎn)換編碼,再分別通過兩路解碼網(wǎng)絡(luò)生成三維體素模型和重構(gòu)輸入圖像[21];該文提出的三維圖形編碼具有更強的表示能力,有助于三維體素模型生成。文獻[5]和文獻[22]分別將變分自編碼器結(jié)構(gòu)和跳躍連接應用于三維模型生成的特征提取部分,從網(wǎng)絡(luò)結(jié)構(gòu)上優(yōu)化了特征提取的過程,最后形成的中間特征對三維模型生成起到了關(guān)鍵作用。Wu J J等提出一種間接的體素化模型生成方法,通過提取一副圖像的特征生成該圖像中目標物體的2.5D草圖(輪廓圖、法線貼圖和深度圖),再通過另一個編碼-解碼網(wǎng)絡(luò)由得到的2.5D草圖生成目標的三維體素化模型;該方法是一種比較有效的三維模型生成方法,在訓練時通過多階段微調(diào)的方法獲得令人滿意的三維模型生成效果[15]。類似的方法還有文獻[23],對可見對象物體表面以及受視線遮擋的表面共同編碼得到一種對象坐標空間映射圖(NOCS Map),再對NOCS 圖進一步操作得到最終的三維體素化模型。文獻[15]和文獻[23]并未直接生成三維體素模型,而是通過生成中介表示作為過渡,最后通過精細化處理得到三維體素化模型。
除了從基于特征表示的方法解決三維模型生成的問題,研究人員還嘗試從多視角圖像的視差估計中尋找三維空間與二維圖像空間的映射,從而構(gòu)建二維圖像特征與三維體素網(wǎng)格空間之間轉(zhuǎn)化的橋梁,以提升三維模型生成效果。文獻[24]和文獻[25]分別提出一種多視角3D生成網(wǎng)絡(luò),基本思想是通過構(gòu)造和處理視差估計的Cost-Volume[26]生成深度圖,再由深度圖生成點云或體素等3D數(shù)據(jù)表示形式[27]。Tulsiani S等首先提出利用一種對稱性感知的方法提取特征,通過多個視角圖像特征預測置信度圖并進行密集的逐像素三維坐標預測,再利用預測的三維坐標將圖像特征提升到三維體素特征網(wǎng)格,并用置信度圖對每一特征網(wǎng)格加權(quán),聚合多個特征網(wǎng)格,最終通過一個精調(diào)網(wǎng)絡(luò)解碼生成3D體素化模型[28]。陳秋敏等利用三維的殘差網(wǎng)絡(luò)結(jié)構(gòu)從二維投影圖像集合中學習三維模型結(jié)構(gòu)的映射,訓練時采用Lovasz-softmaxLoss[29]損失函數(shù)約束生成的三維體素化模型與真實模型的相似度,最終取得了比較好的三維模型生成效果[30]。
值得一提的是,基于空間映射的方法大多需要尋找三維空間到二維圖像特征空間的聯(lián)系從而產(chǎn)生特征映射,這些映射的計算必須具有可微性,才能參與網(wǎng)絡(luò)端到端的訓練。
體素化模型在分辨率增加時會導致存儲容量以三次方的倍數(shù)增長,不僅會導致計算量的急速增加,也會受到硬件條件的限制,于是研究人員將注意力集中于對高分辨率三維體素化模型生成以及三維形狀補全任務的研究上[31-34]。一般的方法是從簡化計算的角度考慮,如H?ne C等提出利用8叉樹的數(shù)據(jù)結(jié)構(gòu)表示體素,將傳統(tǒng)的二值化體素網(wǎng)格表示替換成內(nèi)、外、邊界三個要素表示的形式,用不平衡8叉樹葉節(jié)點存儲CNN提取過程的特征,在一定程度上節(jié)省了計算量[31]。更有潛力的方法是采用多個網(wǎng)絡(luò)相互輔助訓練的多模態(tài)協(xié)同學習的思路研究高分辨率三維模型生成算法。
圖2展示了文獻[32]采用的結(jié)合全局結(jié)構(gòu)推理和局部幾何精調(diào)的高分辨率三維模型生成方法。
首先利用全局結(jié)構(gòu)推理分支從輸入體素模型對應的深度圖中獲得原始體素模型的結(jié)構(gòu)信息;再用局部幾何精調(diào)分支直接提取三維體素模型的局部幾何信息;在訓練時采用分階段訓練的方式,用固定參數(shù)的全局結(jié)構(gòu)推理分支輔助局部幾何精調(diào)模塊,最終可以由形狀缺失的三維體素模型生成最高256×256×256分辨率的三維體素化模型。Dai A則提出用三維形狀分類網(wǎng)絡(luò)和三維自編碼網(wǎng)絡(luò)的編碼器分別提取語義特征信息和抽象的高維特征表示,然后將兩種信息融合并輸入解碼網(wǎng)絡(luò)生成高分辨率的三維體素模型[33]。文獻[31-33]中的方法都是通過較低分辨率或者形狀缺陷的三維體素化模型生成較高分辨率的體素化模型。而文獻[34]利用基于文獻[20]中長短期記憶改進的網(wǎng)絡(luò)編碼圖像特征,然后通過基于離散傅里葉變換的三維逆卷積網(wǎng)絡(luò)生成最高128×128×128分辨率大小的體素模型。
目前,比較流行的生成模型評價指標交并比(IoU,Intersection over Union)利用生成體素模型坐標點集合與原始的三維模型坐標點集合的交集與并集的比值來評價每一個生成模型的精度。由于網(wǎng)絡(luò)生成體素模型一般都是概率體素模型,即體素坐標的每一點的值是概率,因此需要一個閾值t判定該點為實體還是空,因此這里IoU值依賴于t,IoU值越大,代表生成體素模型的精度越高。IoU具體計算公式為
(1)
式中:I(·)為指示函數(shù);t代表閾值;gt(i,j,k)代表輸入的真實體素模型在(i,j,k)的狀態(tài),取值0或1;p(i,j,k)代表網(wǎng)絡(luò)生成的體素模型在(i,j,k)處的取值,其值表示該位置為實體的概率。
ShapeNet[35]是目前最大的在線三維模型庫,面向計算機圖形學、計算機視覺、機器人等相關(guān)學科的研究者。數(shù)據(jù)集包含兩個部分:一個是該數(shù)據(jù)集的子集(ShapeNetCore),該部分共包括55個類別,51300個三維模型;另外一個是ShapeNetSem,該部分數(shù)據(jù)集涵蓋更廣泛的可達270個類別的三維模型,模型總數(shù)12000個。目前ShapeNet數(shù)據(jù)集是公認的、被大多數(shù)模型生成算法用來檢驗算法性能的數(shù)據(jù)集。數(shù)據(jù)集中每一個模型都被處理成體素模型和其對應的二維視角圖像,用于訓練和檢驗算法性能,圖3展示了該數(shù)據(jù)集的部分樣例。
在ShapeNet數(shù)據(jù)集上對目前比較典型的幾種3D體素模型生成算法Pix-Voxel-F[12]、Pix-Voxel-A[12]、Attsetts[13]、3D-R2-N2[20]進行測試。測試中輸入的2D圖像的數(shù)量N分別為1、2、3時,每種算法的平均IoU值如表1所示。從表1的分析可見,當輸入的視角圖像數(shù)量增加時,重建效果都能得到提高,其中文獻[12]中的基于空間映射的方法Pix-Voxel-A領(lǐng)先于其他算法。
表1 典型算法的性能對比(IoU)
Pix3D[36]是一個自然場景的三維模型數(shù)據(jù)集,包含9個類別共395個模型,每個模型包含一組對應的RGB圖像,并提供了該模型的投影圖像。該數(shù)據(jù)集包含豐富的標注信息,例如精確的位姿注釋及與三維模型形狀對齊的輪廓圖像。
三維場景數(shù)據(jù)集NYU[37]提供了1449個密集標注過的RGB圖像與深度圖像對,包含了臥室、廚房、自習室、咖啡廳等多個室內(nèi)場景,還包括了464個不同城市建筑物的三維場景數(shù)據(jù),并且每個樣本都按照類別進行了標注,用于三維場景重建任務。該數(shù)據(jù)集還提供了原始的由Kinect拍攝的RGB和Depth的數(shù)據(jù),并提供了進行測試評價的工具箱。
對基于深度學習的三維體素化模型生成方法的研究現(xiàn)狀進行了綜述,根據(jù)三維模型生成方法的技術(shù)特點對其進行分類,并詳細分析了典型方法的思想和特點,介紹了目前流行的數(shù)據(jù)集和評價指標。目前基于深度學習的三維模型生成方法研究仍存在一些挑戰(zhàn)性問題:一是針對自然場景下目標物體的三維模型生成缺乏有效的方法;二是對高分辨率的三維模型生成沒有較好的解決方案。目前基于深度學習的三維模型生成方法基本上還都是單純使用深度網(wǎng)絡(luò)技術(shù),未來研究可以考慮從另外兩個方向開展:一是與計算機圖形學的相關(guān)理論和方法相結(jié)合,通過分析物體特點,從結(jié)構(gòu)感知和形狀感知的角度設(shè)計三維模型生成網(wǎng)絡(luò);二是與傳統(tǒng)三維重建算法相結(jié)合,將空間特征匹配、光束平差法等思想融入到網(wǎng)絡(luò)結(jié)構(gòu)的訓練中,使設(shè)計出的生成網(wǎng)絡(luò)更具可解釋性。