国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于平面補(bǔ)丁的自適應(yīng)八叉樹三維圖像重建

2022-06-01 14:53馬彩文
光學(xué)精密工程 2022年9期
關(guān)鍵詞:倒角解碼器補(bǔ)丁

姚 程,馬彩文

(1.中國(guó)科學(xué)院 西安光學(xué)精密機(jī)械研究所,陜西 西安 710119;2.中國(guó)科學(xué)院大學(xué),北京 100049)

1 引言

三維圖像重建是計(jì)算機(jī)視覺領(lǐng)域一個(gè)熱門的研究方向。傳統(tǒng)方法處理復(fù)雜形狀的能力非常有限,需要花費(fèi)大量時(shí)間和經(jīng)歷才能獲得可接受的重建結(jié)果。隨著三維數(shù)據(jù)規(guī)模的快速增長(zhǎng),借助機(jī)器學(xué)習(xí)的方法從大型三維數(shù)據(jù)集中學(xué)習(xí)形狀空間,并通過(guò)學(xué)習(xí)到的特征進(jìn)行三維圖像重建已經(jīng)成為一種發(fā)展趨勢(shì)[1-4]。

基于機(jī)器學(xué)習(xí)的三維重建中,三維形狀的表示是一個(gè)關(guān)鍵問(wèn)題,它直接影響到學(xué)習(xí)網(wǎng)絡(luò)的結(jié)構(gòu)和生成三維圖像的質(zhì)量。目前,最常用的三維重建框架有稀疏體素表示,這種表示方式是基于二維圖像的擴(kuò)展,非常適合現(xiàn)有的深度學(xué)習(xí)框架[5-7]。然而,它存在數(shù)據(jù)存儲(chǔ)量大、計(jì)算成本高的缺點(diǎn),而且無(wú)法獲得高分辨率圖像。隨著PointNet 的發(fā)展,三維點(diǎn)云表示成為用于形狀分析和生成的表示形式[8]。但是,其輸出質(zhì)量受點(diǎn)數(shù)限制,并且從點(diǎn)云中提取高質(zhì)量曲面需要額外的處理。作為計(jì)算機(jī)圖形學(xué)中最常用的三維格式,多邊形網(wǎng)格最近已用于基于學(xué)習(xí)的形狀生成中,該方法可以通過(guò)使模板網(wǎng)格變形或找到2D 到3D 映射的神經(jīng)網(wǎng)絡(luò)直接預(yù)測(cè)表面補(bǔ)丁或網(wǎng)格[9-11]。但是,預(yù)定義的網(wǎng)格拓?fù)浜湍0寰W(wǎng)格的規(guī)則鑲嵌生成的形狀質(zhì)量不高,尤其是對(duì)于不規(guī)則和復(fù)雜的形狀[12]。

綜上所述,在體素化一個(gè)三維空間中的模型時(shí),需要對(duì)每一個(gè)存儲(chǔ)信息的點(diǎn)求梯度,在計(jì)算過(guò)程中發(fā)現(xiàn)梯度不為0 的地方只存在于表面。因此,利用O-CNN 將計(jì)算限制在模型表面,但是重建出來(lái)的形體表面不夠平滑。本文提出了一種基于自適應(yīng)八叉樹的卷積神經(jīng)網(wǎng)絡(luò)(Octree Convolutional Neural Network,CNN)。自適應(yīng)O-CNN 基于一種以補(bǔ)丁為導(dǎo)向的自適應(yīng)八叉樹形狀表示形式,該形式根據(jù)估計(jì)的簡(jiǎn)單補(bǔ)丁的近似誤差,將體素自適應(yīng)地拆分為八叉樹所包含的局部形狀。自適應(yīng)O-CNN 的解碼器可預(yù)測(cè)八叉樹節(jié)點(diǎn)的占用概率,推導(dǎo)每個(gè)級(jí)別上每個(gè)非空八叉樹節(jié)點(diǎn)的局部補(bǔ)丁,并分割其標(biāo)簽表面差的近似八叉樹節(jié)點(diǎn)。它產(chǎn)生了一個(gè)自適應(yīng)八叉樹,在非空八叉樹節(jié)點(diǎn)上的估計(jì)局部補(bǔ)丁是預(yù)測(cè)形狀的多尺度自適應(yīng)表示。除解碼器外,還開發(fā)了一種用于自適應(yīng)八叉樹的高效3D 編碼器,用于形狀分類和3D 自動(dòng)編碼。

與現(xiàn)有的基于八叉樹的CNN 相比,自適應(yīng)O-CNN 繼承了基于八叉樹的CNN 的優(yōu)勢(shì),同時(shí)將數(shù)據(jù)量為n3的問(wèn)題簡(jiǎn)化為Cn2,在大量數(shù)據(jù)集進(jìn)行訓(xùn)練的前提下,對(duì)于單圖像進(jìn)行同樣規(guī)模的三維重建,存儲(chǔ)效率高、計(jì)算成本低。

2 相關(guān)研究

3D 解碼器是基于學(xué)習(xí)的形狀生成任務(wù)的關(guān)鍵,可以根據(jù)其形狀表示進(jìn)行分類。

2.1 基于體素的解碼器

布洛克等提出了基于體素的變分自編碼器重構(gòu)3D 形狀,并使用經(jīng)過(guò)訓(xùn)練的潛在代碼進(jìn)行形狀分類[13]。Choy 等結(jié)合了3D 體積自動(dòng)編碼器的功能和長(zhǎng)短期記憶技術(shù),可從中重建體積網(wǎng)格單視圖或多視圖圖像[14]。生成對(duì)抗網(wǎng)絡(luò)被引入基于體素的形狀生成和重構(gòu)中,采用了不同的改善策略。然而,體素表示存在的分辨率較低的問(wèn)題[15]。

2.2 基于稀疏體素的解碼器

H?ne 等提出基于八叉樹的表示,它比形狀預(yù)測(cè)的體素表示具有更高的效率和更高的分辨率[16]。Riegler 等在深度融合中使用基于八叉樹的解碼器[17],實(shí)現(xiàn)了2563甚至更高的分辨率輸出。自適應(yīng)O-CNN 則進(jìn)一步提高了基于八叉樹的CNN 網(wǎng)絡(luò)的效率和預(yù)測(cè)準(zhǔn)確性[18]。

2.3 基于點(diǎn)的解碼器

Charles 等設(shè)計(jì)PointSetGen 用以從單個(gè)圖像預(yù)測(cè)點(diǎn)坐標(biāo)[19]。倒角距離和地球移動(dòng)器的距離用作損失函數(shù),以補(bǔ)償預(yù)測(cè)值與真實(shí)物體之間的偏差。生成的點(diǎn)云近似于預(yù)期的形狀。最近,Achlioptas 等改用GAN 技術(shù)來(lái)改善點(diǎn)云生成[20-21]。

2.4 八叉樹技術(shù)

八叉樹技術(shù)通過(guò)將三維空間細(xì)分為8 個(gè)八叉樹節(jié)點(diǎn)來(lái)遞歸劃分。它是許多計(jì)算機(jī)圖形應(yīng)用程序的核心技術(shù),例如渲染、形狀重構(gòu)和碰撞檢測(cè)。常用的八叉樹的分割取決于內(nèi)部形狀,執(zhí)行分割直到達(dá)到最大樹深度為止,通常會(huì)均勻采樣。由于形狀信號(hào)在空間中分布不均勻,因此可以將自適應(yīng)采樣策略與八叉樹集成在一起,進(jìn)一步減小八叉樹的大小。Frisken 等提出了基于八叉樹的自適應(yīng)距離場(chǎng),在距離場(chǎng)包含精細(xì)細(xì)節(jié)的區(qū)域中保持高采樣率,而在場(chǎng)平滑變化的區(qū)域中則保持低采樣率[22-23]。本文提出的補(bǔ)丁引導(dǎo)自適應(yīng)八叉樹遵循此自適應(yīng)原理,并使用局部補(bǔ)丁的擬合誤差來(lái)指導(dǎo)分割。

3 基于補(bǔ)丁的自適應(yīng)八叉樹

本文引入了基于補(bǔ)丁的自適應(yīng)八叉樹。對(duì)于給定曲面S,從其外輪廓開始將三維圖像分為8 個(gè)等大的立方體空間,對(duì)于八叉樹節(jié)點(diǎn)O,將SO表示受八叉樹細(xì)分立方體約束的S的局部表面。如果SO不為空,可以用一個(gè)簡(jiǎn)單的表面近似表示SO,本文選擇最簡(jiǎn)單的平面來(lái)建立八叉樹。依據(jù)式(1)建立與真實(shí)平面SO具有最小近似誤差的最佳平面P。

其中:n是平面的單位法向量,d是平面的偏移量,P平面方程為:n·p+d=0,n∈R3。為了使法線方向與基礎(chǔ)平面法線方向一致,核對(duì)n與SO的平均法線之間的角度是否小于90°,如果不是則將n和d同時(shí)乘以-1。

PO表示為受O所在的立方體區(qū)域約束的P的平面補(bǔ)丁。局部形狀近似補(bǔ)丁的質(zhì)量δO根據(jù)PO和SO之間的豪斯多夫距離確定,即:

式中disH(*,*)為求兩個(gè)平面的豪斯多夫距離。豪斯多夫距離用于描述兩組點(diǎn)集之間的相似程度,它是兩個(gè)點(diǎn)集之間距離的一種定義形式。

改進(jìn)后的八叉樹劃分規(guī)則為:對(duì)于任何不在最大深度級(jí)別的子節(jié)點(diǎn)O,如果SO不為空且δO大于預(yù)定義閾值,則對(duì)它進(jìn)行繼續(xù)細(xì)分,遵循此規(guī)則,可以生成補(bǔ)丁引導(dǎo)的自適應(yīng)八叉樹。所有非空子節(jié)點(diǎn)上的補(bǔ)丁對(duì)輸入的三維形狀進(jìn)行了良好的近似,它們與輸入形狀之間的豪斯多夫距離以為閾值。的選取需要兼顧平面的近似效果、計(jì)算的復(fù)雜度和時(shí)間。如果閾值過(guò)小,計(jì)算的時(shí)間和復(fù)雜度會(huì)上升;如果閾值過(guò)大,則不能獲得一個(gè)較好的近似平面。根據(jù)以上原則,逐步測(cè)試確定了最優(yōu)閾值,即,其中h是八叉樹中最長(zhǎng)網(wǎng)絡(luò)的長(zhǎng)度。

基于平面補(bǔ)丁的自適應(yīng)八叉樹建立的三維模型如圖1 所示。由于八叉樹具有自適應(yīng)性,平面補(bǔ)丁呈現(xiàn)不同的大小。為了更好地進(jìn)行可視化,通過(guò)二維線性輸入來(lái)說(shuō)明三維自適應(yīng)八叉樹的原理,如圖2 所示。很明顯,二維自適應(yīng)四叉樹占用的內(nèi)存要少得多,線段的集合可以較好地近似輸入圖形。由于存在近似誤差,相鄰非空葉八叉樹節(jié)點(diǎn)的局部補(bǔ)丁之間是有縫隙的。為了填補(bǔ)這些空隙,可以采用表面重建和多邊形修復(fù)技術(shù)。

圖1 基于平面補(bǔ)丁的自適應(yīng)八叉樹建立的三維模型及在各層次上非空節(jié)點(diǎn)的自適應(yīng)補(bǔ)丁Fig.1 Three-dimensional model based on plane patch-based adaptive octree CNN and non-empty leaf nodes of octree with adaptive patches at boundary layers

圖2 二維自適應(yīng)四叉樹示意圖Fig.2 Schematic diagram of two-dimensional adaptive quadtree

4 自適應(yīng)八叉樹神經(jīng)網(wǎng)絡(luò)

三維CNN 的主要組件包括編碼器和解碼器,對(duì)形狀的生成及分類等任務(wù)至關(guān)重要[24-25]。由于八叉樹和自適應(yīng)八叉樹的主要區(qū)別在于細(xì)分規(guī)則,八叉樹的高效GPU 實(shí)現(xiàn)已直接移植到自適應(yīng)八叉樹上。

4.1 自適應(yīng)O-CNN 的3D 解碼器

基于八叉樹的卷積神經(jīng)網(wǎng)絡(luò)是將稀疏信號(hào)表面存儲(chǔ)在非空八叉樹中,并將CNN 限制在八叉樹內(nèi)。在八叉樹的每個(gè)層次中,每個(gè)八叉樹節(jié)點(diǎn)都有其改組后的索引值。混合后的索引值按升序排序并存儲(chǔ)在連續(xù)的數(shù)組中。給定一個(gè)八叉樹節(jié)點(diǎn)的散亂鍵的索引值,可以計(jì)算出其相鄰的八叉樹節(jié)點(diǎn)的索引值,并檢索相應(yīng)的鄰域信息,這對(duì)于實(shí)現(xiàn)高效的卷積操作至關(guān)重要。為了獲得八叉樹兩個(gè)連續(xù)節(jié)點(diǎn)層次之間的父子對(duì)應(yīng)關(guān)系,并標(biāo)記出空的八叉樹節(jié)點(diǎn),通過(guò)一個(gè)索引數(shù)組記錄八叉樹的節(jié)點(diǎn)信息。在八叉樹上常見的CNN 操作有卷積和池化,其計(jì)算方法類似于體素CNN。不過(guò),基于八叉樹的CNN 操作只在八叉樹葉節(jié)點(diǎn)處進(jìn)行卷積。從最下端葉節(jié)點(diǎn)開始計(jì)算,逐步向上進(jìn)行CNN。當(dāng)卷積操作的步長(zhǎng)為1 時(shí),數(shù)據(jù)以不變的分辨率處理,保持在當(dāng)前的八叉樹級(jí)別;當(dāng)卷積操作步長(zhǎng)大于1時(shí),數(shù)據(jù)被壓縮,沿著葉節(jié)點(diǎn)至父節(jié)點(diǎn)的方向壓縮。

基于八叉樹的編碼器結(jié)構(gòu)如圖3 所示。將基于八叉樹的卷積移植到基于自適應(yīng)表面的八叉樹三維編碼器中。GPU 中自適應(yīng)八叉樹數(shù)據(jù)存儲(chǔ)、卷積和池化操作與基于八叉樹的卷積神經(jīng)網(wǎng)絡(luò)相同[26]。與八叉樹不同,自適應(yīng)八叉樹輸入信號(hào)出現(xiàn)在所有的八叉樹節(jié)點(diǎn)處,而不僅僅是在最下端葉結(jié)點(diǎn)處;計(jì)算同時(shí)從不同層的葉節(jié)點(diǎn)開始,得到不同層的特征,最后組裝在一起。

圖3 基于八叉樹和自適應(yīng)八叉樹的編碼器網(wǎng)絡(luò)Fig.3 Encoder network based on octree and adaptive octree

在基于八叉樹的CNN 中,形狀信息存儲(chǔ)在最底層葉節(jié)點(diǎn)中,而基于自適應(yīng)的八叉樹則利用所有估計(jì)的局部平面作為輸入信號(hào)。對(duì)于局部平面P(n·p+d=0,n∈R3)的l級(jí)八叉樹的節(jié)點(diǎn)O,設(shè)置了一個(gè)四通道輸入信號(hào)(n,)。這里c是O的中心點(diǎn),d*=d-n·c,它與n·(x-c)+d*=0 是同一個(gè)平面方程。這里使用而不是d,因?yàn)槭躭級(jí)網(wǎng)格大小的限制,它是一個(gè)相對(duì)值,而d的范圍很大,因?yàn)閐是從原點(diǎn)到平面的距離。對(duì)于空的子八叉樹節(jié)點(diǎn),其輸入信號(hào)設(shè)置為(0,0,0,0)。

自適應(yīng)O-CNN 的3D 編碼器將自適應(yīng)八叉樹作為輸入,在八叉樹的每一層,對(duì)這一層所有葉節(jié)點(diǎn)上的特征應(yīng)用一系列卷積算子和ReLU,卷積核由這些八叉樹節(jié)點(diǎn)共享。然后,通過(guò)池化將第l級(jí)處理過(guò)的特征下采樣到第(l-1)級(jí),并通過(guò)逐元素最大操作與第(l-1)級(jí)的特征融合。這些新特征可以進(jìn)一步處理并與第(l-2)級(jí)、第(l-3)級(jí)的特征融合,直到最頂層。在實(shí)現(xiàn)中,最粗糙的級(jí)別設(shè)置為2,第2 級(jí)的八叉樹節(jié)點(diǎn)強(qiáng)制為滿,使所有特征都具有相同的維度。圖3 為自適應(yīng)O-CNN 3D 編碼器架構(gòu)。

4.2 自適應(yīng)O-CNN 的3D 解碼器

本文設(shè)計(jì)了一個(gè)3D 解碼器來(lái)生成自適應(yīng)八叉樹,其結(jié)構(gòu)如圖4 所示。在每層八叉樹,訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)每個(gè)八叉樹節(jié)點(diǎn)的補(bǔ)丁近似狀態(tài)——空的、表面良好近似和表面較差近似,并回歸局部補(bǔ)丁參數(shù),帶有標(biāo)簽表面近似的八叉樹節(jié)點(diǎn)會(huì)被細(xì)分,其中的特征通過(guò)反卷積操作傳遞給它們的子節(jié)點(diǎn)。當(dāng)八叉樹節(jié)點(diǎn)內(nèi)的表面近似誤差小于時(shí),補(bǔ)丁形狀可以近似真實(shí)表面,網(wǎng)絡(luò)在這些八叉樹節(jié)點(diǎn)處停止細(xì)分,并將它們作為當(dāng)前八叉樹級(jí)別的葉節(jié)點(diǎn)。以這種遞歸方式預(yù)測(cè)自適應(yīng)八叉樹,直到深度達(dá)到最大值。

圖4 自適應(yīng)八叉樹CNN 解碼器結(jié)構(gòu)Fig.4 Structure of Adaptive octree CNN decoder

預(yù)測(cè)模塊中,用于預(yù)測(cè)的神經(jīng)網(wǎng)絡(luò)由“FC+BN+ReLU+FC”操作組成。其中,BN 代表批標(biāo)準(zhǔn)化,F(xiàn)C 代表全連接層。該模塊在自適應(yīng)八叉樹的同一級(jí)別的所有八叉樹節(jié)點(diǎn)之間共享。預(yù)測(cè)模塊的輸出包括補(bǔ)丁近似狀態(tài)和平面補(bǔ)丁參數(shù)(n,)。通過(guò)補(bǔ)丁近似狀態(tài)來(lái)確定八叉樹是否需要細(xì)分,同時(shí)也用于計(jì)算八叉樹的反卷積算子。

自適應(yīng)O-CNN 解碼器的損失函數(shù)包括結(jié)構(gòu)損失和補(bǔ)丁損失。結(jié)構(gòu)損失Lstruct測(cè)量預(yù)測(cè)的八叉樹結(jié)構(gòu)與其真實(shí)值之間的差異。由于八叉樹節(jié)點(diǎn)狀態(tài)是3 類分類,使用交叉熵?fù)p失函數(shù)來(lái)定義結(jié)構(gòu)損失。將Hl表示為八叉樹l層的交叉熵,結(jié)構(gòu)損失是所有層交叉熵的加權(quán)和,即:

式中:nl是預(yù)測(cè)八叉樹第l層的八叉樹節(jié)點(diǎn),lmax是最大深度,wl是每個(gè)層定義的權(quán)重。與編碼器類似,八叉樹的最頂層是2 并且充滿了八叉樹節(jié)點(diǎn),所以l從2 開始。這里將wl設(shè)置為1。Lpatch測(cè)量每個(gè)級(jí)別中所有子八叉樹節(jié)點(diǎn)的平面參數(shù)和實(shí)際物體之間的平方距離誤差,即:

式中:ni和是預(yù)測(cè)參數(shù)和是真實(shí)值'是預(yù)測(cè)八叉樹第l層的子八叉樹節(jié)點(diǎn),λ設(shè)置為0.2。當(dāng)八叉樹級(jí)別超過(guò)4 時(shí)使用自適應(yīng)八叉樹,因此l的初值設(shè)為4。對(duì)于在真實(shí)數(shù)據(jù)中不存在的錯(cuò)誤生成的八叉樹節(jié)點(diǎn),它們沒有補(bǔ)丁損失,僅考慮結(jié)構(gòu)損失。

由于預(yù)測(cè)平面應(yīng)該通過(guò)八叉樹節(jié)點(diǎn),否則違反了平面塊在八叉樹節(jié)點(diǎn)內(nèi)的假設(shè),這里添加約束|d*|<。式中,hl是l級(jí)八叉樹節(jié)點(diǎn)的網(wǎng)格尺寸。

5 實(shí) 驗(yàn)

5.1 自動(dòng)編碼器

自動(dòng)編碼器技術(shù)能夠?qū)W習(xí)輸入圖像的緊湊表示,并通過(guò)解碼器從潛在代碼中恢復(fù)信號(hào)。本文采用自適應(yīng)O-CNN 編碼器和解碼器來(lái)形成3D 自動(dòng)編碼器,在GTX 1080,8 G 內(nèi)存的條件下進(jìn)行測(cè)試。在ShapeNet Core v2 數(shù)據(jù)集上訓(xùn)練了該3D 自動(dòng)編碼器,其中包含來(lái)自13 個(gè)類別的39 715 個(gè)3D 模型[6,27]。訓(xùn)練和測(cè)試拆分規(guī)則與AtlasNet 中使用的規(guī)則相同。自適應(yīng)八叉樹的最大深度為7,即體素分辨率為1283[28]。

通過(guò)測(cè)量3D 模型與其真實(shí)形狀之間的倒角距離來(lái)評(píng)估解碼形狀的質(zhì)量。表示真實(shí)點(diǎn)云,神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的點(diǎn),Sg和S之間的倒角距離定義為:

因?yàn)?D 自動(dòng)解碼器輸出一個(gè)補(bǔ)丁引導(dǎo)的自適應(yīng)八叉樹,為了計(jì)算倒角距離,從估計(jì)的平面補(bǔ)丁中均勻地采樣一組密集點(diǎn)。首先,將包含在自適應(yīng)八叉樹的非空葉節(jié)點(diǎn)中的平面補(bǔ)丁細(xì)分為1283的分辨率,然后在每個(gè)細(xì)分的平面塊上隨機(jī)采樣一個(gè)點(diǎn),形成輸出點(diǎn)云。對(duì)于真實(shí)的密集點(diǎn)云,也在1283的分辨率下進(jìn)行均勻采樣。

質(zhì)量測(cè)量結(jié)果如表1 所示。本文還與兩種最先進(jìn)的3D 自動(dòng)編碼器方法進(jìn)行了比較,其中AtlasNet 生成一組網(wǎng)格補(bǔ)丁作為形狀的近似值,PointSetGen(PSG)生成點(diǎn)云輸出。與預(yù)測(cè)125個(gè)網(wǎng)格塊的AtlasNet 相比,自適應(yīng)O-CNN 自動(dòng)編碼器實(shí)現(xiàn)了最佳質(zhì)量。需要注意的是,本文應(yīng)用的評(píng)價(jià)標(biāo)準(zhǔn)為倒角距離,AtlasNet 的損失函數(shù)就是倒角距離,而自適應(yīng)O-CNN 自動(dòng)編碼器的結(jié)構(gòu)損失函數(shù)和補(bǔ)丁損失函數(shù)并沒有用到此函數(shù),仍然取得了較好的成果。與PSG 相比,自適應(yīng)O-CNN 和AtlasNet 的質(zhì)量要好得多。

表1 三維自動(dòng)編碼器質(zhì)量Tab. 1 Three-dimenslional autoencoder quality

自適應(yīng)O-CNN 在某些類別中的表現(xiàn)比AtlasNet 差,例如飛機(jī)和椅子,如圖5 所示。在這些類別中模型相對(duì)較薄的部分,例如飛機(jī)的機(jī)翼、椅子的扶手以及槍管,自適應(yīng)O-CNN 與原始形狀有較大的幾何偏差。AtlasNet 的偏差較小,但它用單個(gè)補(bǔ)丁或凌亂的補(bǔ)丁來(lái)近似部分實(shí)體,有的結(jié)構(gòu)完全丟失,很難甚至不可能定義這些區(qū)域的內(nèi)部和外部。相反,自適應(yīng)O-CNN使用基于八叉樹的結(jié)構(gòu)損失和補(bǔ)丁損失進(jìn)行訓(xùn)練,具有更好的效果。

圖5 三維自動(dòng)編碼器測(cè)試結(jié)果Fig.5 Three-dimenslional autoencoder results

3D 自動(dòng)編碼器可用于恢復(fù)幾何形狀的缺失部分并處理輸入噪聲。這里進(jìn)行了一個(gè)形狀完成任務(wù)來(lái)證明自適應(yīng)O-CNN 的有效性。從ShapeNet Core v2 數(shù)據(jù)集中選擇汽車類別作為地面實(shí)況數(shù)據(jù)。每輛車隨機(jī)選擇3 到5 個(gè)視圖并從這些視圖中采樣密集點(diǎn)。在每個(gè)視圖上還隨機(jī)裁剪一些區(qū)域以模擬孔洞,并略微擾動(dòng)點(diǎn)位置以模擬掃描噪聲。這些視圖組合在一起作為不完整和嘈雜的數(shù)據(jù)。在這個(gè)合成數(shù)據(jù)集上訓(xùn)練了基于自適應(yīng)O-CNN 的自動(dòng)編碼器,以不完整的形狀作為輸入,以相應(yīng)的完整形狀作為目標(biāo)。作為參考,還在該數(shù)據(jù)集上訓(xùn)練了基于O-CNN 的自動(dòng)編碼器。所有網(wǎng)絡(luò)中八叉樹的最大深度設(shè)置為7。自適應(yīng)O-CNN 的結(jié)果更接近真實(shí)情況,而八叉樹卷積神經(jīng)網(wǎng)絡(luò)卻未能填補(bǔ)一些漏洞。

5.2 從單個(gè)圖像重建形狀

從2D 圖像重建3D 形狀是計(jì)算機(jī)視覺和圖形學(xué)中一個(gè)重要的課題。隨著3D 深度學(xué)習(xí)技術(shù)的發(fā)展,從單個(gè)圖像推斷3D 形狀的任務(wù)在研究界引起了廣泛關(guān)注。這里對(duì)自適應(yīng)O-CNN 的這項(xiàng)任務(wù)進(jìn)行了實(shí)驗(yàn),并與最先進(jìn)的方法進(jìn)行了比較,即AtlasNet 和PointSetGen(PSG)[8,19,28],真實(shí)3D 形狀來(lái)自ShapeNet Core v2,每個(gè)對(duì)象都是從24 個(gè)視角渲染的,背景是透明的。在與OctGen進(jìn)行比較時(shí),由于OctGen 僅在具有1283分辨率八叉樹的汽車類別上進(jìn)行了訓(xùn)練,因此自適應(yīng)OCNN 也在具有相同分辨率的汽車數(shù)據(jù)集上進(jìn)行了訓(xùn)練。測(cè)試在GTX 1080,8G 內(nèi)存的條件下進(jìn)行。對(duì)于圖像編碼器,AtlasNet 使用了ResNet18,OctGen 使用了經(jīng)典的LeNet。

實(shí)驗(yàn)得到了預(yù)測(cè)點(diǎn)與從PointSetGen、Atlas-Net 的原始網(wǎng)格采樣的點(diǎn)之間的倒角距離,如表2所示。Groueix 等隨機(jī)選擇了260 個(gè)形狀(每個(gè)類別20 個(gè))來(lái)形成測(cè)試數(shù)據(jù)庫(kù)[8]。為了與PointSet-Gen 進(jìn)行比較,他們運(yùn)行了ICP 算法對(duì)齊來(lái)自PointSetGen 和AtlasNet 的預(yù)測(cè)點(diǎn)與真實(shí)物體點(diǎn)云。注意ICP 對(duì)齊后,倒角距離誤差略有改善。此外,還運(yùn)行了ICP 算法來(lái)使自適應(yīng)O-CNN 編碼器的結(jié)果與真實(shí)情況保持一致。我們的方法在13 個(gè)類別中的8 個(gè)類別上實(shí)現(xiàn)了最佳性能,特別是對(duì)于具有大平坦區(qū)域的對(duì)象。單圖像三維重建的測(cè)試結(jié)果見表2,表中的數(shù)值為倒角距離乘以1 000。如汽車和櫥柜,自適應(yīng)O-CNN 的輸出在視覺上更平滑。對(duì)于圖6 最后一行的翻蓋手機(jī)圖像,所有方法的重建質(zhì)量都相對(duì)低于其他輸入圖像,因?yàn)榉w手機(jī)在訓(xùn)練數(shù)據(jù)集中是很少見的。

表2 三維重建測(cè)試結(jié)果Tab. 2 3D reconstruction test results(The Chamfer distance is multiplied by 1000)

為了計(jì)算OctGen 輸出的倒角距離,從邊界八叉樹節(jié)點(diǎn)中密集采樣點(diǎn)進(jìn)行評(píng)估?;诿嫫淖赃m應(yīng)O-CNN 具有比OctGen 更低的倒角距離誤差,兩者分別為0.274 與0.294。三維重建視覺結(jié)果如圖6 所示。與OctGen 相比,自適應(yīng)O-CNN 能夠保留更多的結(jié)構(gòu)細(xì)節(jié),生成的表面補(bǔ)丁更接近于實(shí)際形狀,尤其是較為平整的區(qū)域。

圖6 三維重建測(cè)試結(jié)果Fig.6 Three-dimencional reconstruction test results

6 結(jié)論

本文提出了一種用于3D 編碼和解碼的自適應(yīng)O-CNN,其編碼器和解碼器繼承了補(bǔ)丁引導(dǎo)的自適應(yīng)八叉樹結(jié)構(gòu)的自適應(yīng)性和重建質(zhì)量。在典型的3D 學(xué)習(xí)任務(wù)(包括3D 自動(dòng)編碼以及圖像的表面預(yù)測(cè))上,與包括基于八叉樹的CNN 等先進(jìn)的方法相比,基于平面補(bǔ)丁的自適應(yīng)O-CNN 不僅減少了內(nèi)存和計(jì)算成本,而且具有更好的形狀生成能力。單個(gè)圖像的形狀預(yù)測(cè)結(jié)果驗(yàn)證了自適應(yīng)O-CNN 的效率和有效性,倒角距離誤差為0.274,低于OctGen 的倒角距離誤差0.294,重建效果更好。

猜你喜歡
倒角解碼器補(bǔ)丁
入風(fēng)口端蓋開倒角與圓角對(duì)牽引電機(jī)溫度的影響
科學(xué)解碼器(一)
科學(xué)解碼器(二)
科學(xué)解碼器(三)
線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍(lán)蜻蜓解碼器
健胃補(bǔ)丁
繡朵花兒當(dāng)補(bǔ)丁
補(bǔ)丁奶奶
機(jī)械設(shè)計(jì)與制造中的零件倒角初探
機(jī)械設(shè)計(jì)與制造中的零件倒角初探