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

?

基于無(wú)監(jiān)督3D-GAN 網(wǎng)絡(luò)的快速三維重建技術(shù)研究

2022-07-11 07:44馬文煜章方圓陳偉斌
電子技術(shù)與軟件工程 2022年10期
關(guān)鍵詞:三維重建網(wǎng)絡(luò)結(jié)構(gòu)梯度

馬文煜 章方圓 陳偉斌

(溫州大學(xué)計(jì)算機(jī)與人工智能學(xué)院 浙江省溫州市 325000)

1 引言

在過(guò)去的幾十年里,研究人員在三維重建方面取得了十足的進(jìn)展,提供了諸多解決三維重建的方法,如Van等人于2011 和Veltkamp等人于2008 提出的理論。但是,這些方法大多是通過(guò)拿“模型庫(kù)”中的“零件”來(lái)合成新的對(duì)象。雖然生成的結(jié)果逼真,但其三維重建的結(jié)果只跟“零件”相像,其重建模型局限性過(guò)高,無(wú)法做到創(chuàng)新性地生成新的物體。而采用3D-GAN 網(wǎng)絡(luò)的三維重建技術(shù)有著諸多好處:譬如,使用對(duì)抗性標(biāo)準(zhǔn),而不是傳統(tǒng)的啟發(fā)式標(biāo)準(zhǔn),使生成器能夠隱式捕獲對(duì)象結(jié)構(gòu)并合成高質(zhì)量的3D 對(duì)象;可以在沒(méi)有精確參考模型的情況下,在無(wú)監(jiān)督的情況下也可以生成3D 對(duì)象。

本文改進(jìn)一種基于3D-GAN 的無(wú)監(jiān)督三維重建算法,借助對(duì)抗網(wǎng)絡(luò)可以生成更加真實(shí)樣本的優(yōu)點(diǎn)來(lái)重建3D 世界中的物體。該方法融合了3D-GAN和體積卷積網(wǎng)絡(luò)各自的優(yōu)點(diǎn)。

(1)我們可以從潛在的概率空間(高斯分布或是均勻分布)隨機(jī)生成一些噪聲,再借助生成器來(lái)生成新的3D對(duì)象,以達(dá)到創(chuàng)新性的生成物體的目的。

(2)由于對(duì)抗式生成網(wǎng)絡(luò)中的判別器、生成器是同步進(jìn)化的,可以憑借訓(xùn)練完成的判別器判別現(xiàn)實(shí)中的三維物體,也可以人為構(gòu)造噪聲輸送到生成器來(lái)生成指定的物體。

實(shí)驗(yàn)表明,我們的方法可以生成高質(zhì)量的3D 對(duì)象,并且我們的無(wú)監(jiān)督學(xué)習(xí)特征在諸如椅子、汽車、桌子等實(shí)際3D 對(duì)象識(shí)別上取得了與監(jiān)督學(xué)習(xí)方法相當(dāng)?shù)闹亟ńY(jié)果。

2 網(wǎng)絡(luò)模型設(shè)計(jì)

2.1 生成式對(duì)抗網(wǎng)絡(luò)

生成式對(duì)抗網(wǎng)絡(luò)(GAN, Generative Adversarial Networks)是一種非監(jiān)督式學(xué)習(xí)的一種方法,在2014 年由Goodfellow提出,其靈感來(lái)自于零和博弈。GAN(生成對(duì)抗網(wǎng)絡(luò))分別由生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)組成。生成網(wǎng)絡(luò)通過(guò)輸入隨機(jī)的采樣參數(shù),生成逼近真實(shí)樣本的案例。判別網(wǎng)絡(luò)是真實(shí)樣本的概率輸出,用于區(qū)分生成網(wǎng)絡(luò)的生成案例。兩個(gè)網(wǎng)絡(luò)相互生成,互相對(duì)抗,達(dá)到無(wú)法區(qū)分生成網(wǎng)絡(luò)生成案例是真實(shí)的還是偽造的情況。

3D-GAN 的訓(xùn)練流程如圖1 所示。

圖1: 3D-GAN 訓(xùn)練流程圖

在我們的3D 對(duì)抗式生成網(wǎng)絡(luò)中,生成器接收了從概率潛在空間隨機(jī)采樣的200 維噪聲z,生成出32*32*32 的立方體。這個(gè)立方體就是3D 體素空間上的G(z)。判別器接收來(lái)自真實(shí)樣本32*32*32 的體素立方體和生成器生成出的立方體,輸出其為真為假的概率值D(x)或是D(z),大小介于0 到1 之間。生成器和判別器網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)設(shè)置見(jiàn)表1。

表1: 生成器和判別器網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)

2.1.1 生成器網(wǎng)絡(luò)結(jié)構(gòu)

我們網(wǎng)絡(luò)模型為全卷積神經(jīng)網(wǎng)絡(luò),結(jié)構(gòu)如圖2 所示。生成器網(wǎng)絡(luò)主要由復(fù)制的5 層塊組成。在每一個(gè)層塊中先是一個(gè)3D 轉(zhuǎn)置卷積層ConvTranspose3d,size 為4,stride 為2,padding 為(1, 1, 1)。緊接著是一個(gè)批標(biāo)準(zhǔn)化BatchNorm3d,接收上一層3D 轉(zhuǎn)置卷積層的輸出。最后一層是ReLU 激活函數(shù)。在最后一層塊即第5 層塊中,刪減了批標(biāo)準(zhǔn)化函數(shù)并把激活函數(shù)換成了Sigmoid 函數(shù)。訓(xùn)練生成器時(shí),先將200維的噪聲z 展開(kāi)成層塊規(guī)定輸入的格式out(維度為[200, 1, 1,1])。然后就是把out 依次輸入到這5 個(gè)層塊中。待out 從最后一個(gè)層塊輸出時(shí),out 的維度已經(jīng)為3 維物體的維度即[32, 32, 32]。

圖2: 生成器網(wǎng)絡(luò)結(jié)構(gòu)

2.1.2 判別器網(wǎng)絡(luò)結(jié)構(gòu)

判別器網(wǎng)絡(luò)的結(jié)構(gòu)基本上跟生成器網(wǎng)絡(luò)類似,因?yàn)槠浣邮艿氖钦鎸?shí)3D 模型或是生成器虛假3D 模型的輸入,所以在結(jié)構(gòu)順序上是跟判別器是相反的,如圖3 所示。類似的,主要是由5 層塊組成。在每一個(gè)層塊里先是一個(gè)3D 卷積函數(shù)Conv3d,size 為4,stride 為2,padding 為(1, 1, 1)。 緊接著是一個(gè)批標(biāo)準(zhǔn)化函數(shù)InstanceNorm3d,接受來(lái)自上一層3D 卷積函數(shù)的輸出。最后一層是受到Mass 等人提出的建議使用了激活函數(shù)LeakyRelu,而不是激活函數(shù)Relu。因?yàn)樵诜聪騻鞑ミ^(guò)程中,對(duì)于LeakyRelu 輸入值小于零的部分,較于Relu 激活函數(shù)將其全部變成0,LeakyRelu 激活函數(shù)可以計(jì)算得到出梯度但是Relu,解決了神經(jīng)元“死亡”問(wèn)題。在訓(xùn)練的最后一層,移去了批標(biāo)準(zhǔn)化函數(shù)和激活函數(shù)。訓(xùn)練判別器時(shí),首先把傳入模型的維度變化成[32, 32, 32],以供判別器輸入第一層塊網(wǎng)絡(luò)。然后,把這個(gè)結(jié)果依次傳入5 個(gè)層塊中。最后一層的輸出即為這個(gè)3D 模型為真為假的概率值,大小介于0 到1 之間。

圖3: 判別器網(wǎng)絡(luò)結(jié)構(gòu)

2.2 目標(biāo)函數(shù)

在訓(xùn)練判別器時(shí),固定生成器。D(G(z))是對(duì)噪聲生成樣本的概率輸出。在訓(xùn)練過(guò)程中,希望它的值越靠近1 越好,即越大越好。因此1- D(G(z))的值就越小越好。因此是最小化V(D,G)。

在訓(xùn)練判別器時(shí),固定生成器。D(x)是判別器接受真實(shí)樣本的概率輸出。希望它的值越靠近1 越好,即越大越好。D(G(z))則相反,希望其越小越好,體現(xiàn)出分辨假樣本的能力。那么,1- D(G(z))就是越大越好。因此需要最大化V(D, G)。

這個(gè)原始的目標(biāo)函數(shù)于2014 年提出,隨著時(shí)間、技術(shù)不斷增長(zhǎng)。這原始目標(biāo)函數(shù)應(yīng)對(duì)現(xiàn)今大型深度學(xué)習(xí)網(wǎng)絡(luò)顯得有些力不從心,伴隨著許多問(wèn)題。例如,訓(xùn)練過(guò)程中不神經(jīng)網(wǎng)絡(luò)不易穩(wěn)定,而且目標(biāo)函數(shù)值(loss)的大小跟以往深度學(xué)習(xí)的目標(biāo)函數(shù)不同,易于上下波動(dòng),無(wú)法借此來(lái)分別出訓(xùn)練過(guò)程的好壞。Bengi等人通過(guò)分析GAN 公式解釋了GAN 訓(xùn)練過(guò)程中不穩(wěn)定的原因。主要是由于等價(jià)優(yōu)化的距離衡量JS 散度易于趨近零導(dǎo)致的,因此在下文中提出了解決方案。

3 算法改進(jìn)

3.1 新目標(biāo)函數(shù)

由于傳統(tǒng)的目標(biāo)函數(shù)存在著梯度爆炸難以收斂等問(wèn)題,本文中選中了WGAN-GP 作為目標(biāo)函數(shù)。WGAN-GP 目標(biāo)函數(shù)是WGAN 目標(biāo)函數(shù)的變體,由Ishaan Gulrajani等人于2017 年提出。公式如(4)所示:

WGAN-GP 是由WGAN 進(jìn)化而來(lái)的。WGAN 目標(biāo)函數(shù)利用了Wasserstein 距離來(lái)度量真實(shí)分布和生成分布間的距離,目的是解決傳統(tǒng)目標(biāo)函數(shù)存在問(wèn)題。另外的,WGAN目標(biāo)函數(shù)中用到了權(quán)重剪裁技巧來(lái)保證判別器滿足Lipschiz連續(xù),使定義域內(nèi)每點(diǎn)梯度不超過(guò)某個(gè)常數(shù)。當(dāng)判別器滿足了Lipschiz 連續(xù)之后,判別器和生成器的訓(xùn)練過(guò)程得以穩(wěn)定訓(xùn)練結(jié)果得以收斂完善。

雖然WGAN 目標(biāo)函數(shù)采用了權(quán)重剪裁等技術(shù)保證了Lipschiz 連續(xù),但是由于其剪裁結(jié)果會(huì)讓大部分權(quán)重趨近于兩個(gè)極端,很容易一不小心就梯度消失或者梯度爆炸。

因?yàn)榕袆e器屬于多層網(wǎng)絡(luò),即使每一層的剪裁閾值稍微縮小,多層疊加后會(huì)加速衰減;相反,如果每一層稍微變大,多層疊加后會(huì)帶來(lái)爆炸性增長(zhǎng)。所以,如何恰到好處的設(shè)置這個(gè)閾值,讓生成器獲得恰到好處的回傳梯度,但是在實(shí)際中往往難以實(shí)現(xiàn)。因此 WGAN-GP,WGAN 的升級(jí)版,通過(guò)梯度懲罰(GP, gradient penalty)代替權(quán)重裁剪,從而保證了Lipschiz 連續(xù)。梯度懲罰要求判別器原始輸入梯度的L2范數(shù)約束在雙邊約束附近。

3.2 3D-GAN變化

3.2.1 改變了訓(xùn)練時(shí)候目標(biāo)函數(shù)Loss 判定方式

對(duì)GAN 來(lái)說(shuō),目標(biāo)函數(shù)至關(guān)重要。因?yàn)?,它不僅決定了生成器G 和判別器D 如何共同“進(jìn)步”,還決定了這個(gè)模型訓(xùn)練時(shí)候是否穩(wěn)定。

之前的目標(biāo)函數(shù)是:

3.2.2 改變了判別器和生成器更新邏輯

對(duì)判別器來(lái)說(shuō):

Critic: maxE[critic(real) ]-E[critic(fake)],即要求最大化判別器對(duì)真實(shí)圖片的評(píng)估減去判別器對(duì)生成器生成假照片的評(píng)估。與此同時(shí),由于WGAN-GP 中GP(gradient penalty,梯度懲罰)的要求。通過(guò)在loss_critic 中加入梯度懲罰值gp,改進(jìn)了weight clipping 造成的梯度爆炸和消失問(wèn)題。

對(duì)生成器來(lái)說(shuō):

Generator: maxE [critic(gen_fake)],即要求最大化判別器對(duì)生成器生成假照片的評(píng)估。然后對(duì)這個(gè)目標(biāo)進(jìn)行迭代要求,生成器就會(huì)生成出越來(lái)越逼真的圖像。

4 實(shí)驗(yàn)結(jié)果及分析

4.1 實(shí)驗(yàn)環(huán)境

硬件條件為GeForce RTX 3060 顯卡和i5-11400H 的intel處理器。軟件環(huán)境是cuda11.3+pytorch1.10。實(shí)驗(yàn)的數(shù)據(jù)集來(lái)自ModelNet40,擁有40 個(gè)種類的CAD 模型。

4.2 訓(xùn)練模型

4.2.1 數(shù)據(jù)預(yù)處理及參數(shù)設(shè)置

訓(xùn)練過(guò)程時(shí),總輪數(shù)(epoch)設(shè)置成50,把每批次訓(xùn)練數(shù)據(jù)的數(shù)量(batch_size)設(shè)置成28。梯度懲罰權(quán)重(λ)設(shè)置為10。參考WGAN-GP 的建議,生成器和判別器均使用Adam 優(yōu)化器,其超參數(shù)設(shè)置分別設(shè)置為0.0025 和0.00001。根據(jù)實(shí)驗(yàn)以往分析,判別器只用判別真假而生成器需要輸出模型。因?yàn)榕袆e器易于生成器訓(xùn)練,在本文中設(shè)置每訓(xùn)練5輪生成器再訓(xùn)練1 輪生成器。由于數(shù)據(jù)集提供的是.mat 文件,因此需要將其轉(zhuǎn)成pytorch 張量。轉(zhuǎn)換具體在創(chuàng)建Dataset 時(shí)候完成,這樣訓(xùn)練時(shí)直接從DataLoader 類中讀取模型張量即可。

4.2.2 結(jié)果分析

訓(xùn)練過(guò)程中,選用tensorboard 觀察神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性和訓(xùn)練的程度。訓(xùn)練結(jié)果如圖4 和圖5 所示??v坐標(biāo)為目標(biāo)值,橫坐標(biāo)為訓(xùn)練次數(shù)??梢悦黠@看到選用原始目標(biāo)函數(shù)的神經(jīng)網(wǎng)絡(luò)中的判別網(wǎng)絡(luò)和生成網(wǎng)絡(luò)進(jìn)行著激烈的對(duì)抗。借此訓(xùn)練出的網(wǎng)絡(luò)效果相當(dāng)不穩(wěn)定,這也是原始目標(biāo)函數(shù)不好來(lái)判別網(wǎng)絡(luò)訓(xùn)練成果優(yōu)劣的原因。反觀選用了WGAN-GP 為目標(biāo)函數(shù)的神經(jīng)網(wǎng)絡(luò)的,雖然在訓(xùn)練的后段也出現(xiàn)了較大的波動(dòng),但是在整體比較上訓(xùn)練的穩(wěn)定性更好。

圖4: 原始目標(biāo)函數(shù)判別損失(D_loss-Step)

圖5: WGAN-GP 目標(biāo)函數(shù)判別損失(D_loss-Step)

在訓(xùn)練成果和訓(xùn)練時(shí)間上,選用WGAN-GP 為目標(biāo)函數(shù)的神經(jīng)網(wǎng)絡(luò)也要優(yōu)于選用原始目標(biāo)函數(shù)的神經(jīng)網(wǎng)絡(luò)。對(duì)比圖6、圖7 和圖8,可以看出選用了選用WGAN-GP 為目標(biāo)函數(shù)的神經(jīng)網(wǎng)絡(luò)出來(lái)的3d 結(jié)構(gòu)有更多紋理結(jié)構(gòu)和更緊湊的整體性。由表2 表可知,同樣是訓(xùn)練30 輪,選用WGANGP 的網(wǎng)絡(luò)訓(xùn)練時(shí)間更短。

圖6: 不同目標(biāo)函數(shù)訓(xùn)練成果比較1

圖7: 不同目標(biāo)函數(shù)訓(xùn)練成果比較2

圖8: 不同目標(biāo)函數(shù)訓(xùn)練成果比較3

表2: 3D-GAN 訓(xùn)練耗時(shí)比較

*訓(xùn)練相同輪數(shù),30 輪??梢钥吹绞褂昧薟GAN-GP 目標(biāo)函數(shù)的3D-GAN 模型效果好,細(xì)節(jié)更加豐富。上述模型的維度為32*32*32。

*這里采用visdom 顯示方法,對(duì)比原始目標(biāo)函數(shù)可以更加清楚的看出采用了WAN-GP 目標(biāo)函數(shù)的3D-GAN 模型效果更好。

5 結(jié)論

本文研究了快速三維重建生成問(wèn)題,分析了3D-GAN 網(wǎng)絡(luò)中的網(wǎng)絡(luò)結(jié)構(gòu)和其原本目標(biāo)函數(shù)的優(yōu)缺點(diǎn)。在此基礎(chǔ)上,改進(jìn)了3D-GAN 網(wǎng)絡(luò),替換原本目標(biāo)函數(shù)為WGAN-GP 目標(biāo)函數(shù),從概率空間生成3D 對(duì)象。跟之前網(wǎng)絡(luò)結(jié)果做對(duì)比,這一改變減少了模型穩(wěn)定所需的時(shí)間并且豐富了3D 模型結(jié)果的細(xì)節(jié)。該算法可以在需要快速生成三維模型的各個(gè)領(lǐng)域拓展應(yīng)用,譬如推廣應(yīng)用至汽車制造、家具生產(chǎn)等行業(yè)。

猜你喜歡
三維重建網(wǎng)絡(luò)結(jié)構(gòu)梯度
一個(gè)改進(jìn)的WYL型三項(xiàng)共軛梯度法
一種自適應(yīng)Dai-Liao共軛梯度法
一類扭積形式的梯度近Ricci孤立子
基于關(guān)系圖的無(wú)人機(jī)影像三維重建
三維重建結(jié)合3D打印技術(shù)在腔鏡甲狀腺手術(shù)中的臨床應(yīng)用
基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)
知識(shí)網(wǎng)絡(luò)結(jié)構(gòu)維對(duì)于創(chuàng)新績(jī)效的作用機(jī)制——遠(yuǎn)程創(chuàng)新搜尋的中介作用
滬港通下A+ H股票網(wǎng)絡(luò)結(jié)構(gòu)演化的實(shí)證分析
復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)比對(duì)算法研究進(jìn)展
多排螺旋CT三維重建在頜面部美容中的應(yīng)用
海宁市| 武陟县| 沙雅县| 湘乡市| 基隆市| 玉田县| 肇源县| 潍坊市| 潞城市| 吴忠市| 鄱阳县| 沙田区| 广水市| 中阳县| 木里| 三明市| 札达县| 拜泉县| 化州市| 六盘水市| 中西区| 黄骅市| 九江市| 天门市| 清远市| 六盘水市| 石河子市| 芷江| 贞丰县| 凌云县| 漯河市| 木兰县| 承德市| 余庆县| 仁化县| 尚志市| 新和县| 安化县| 张掖市| 余干县| 广东省|