• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

      馬文煜 章方圓 陳偉斌

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

      1 引言

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

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

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

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

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

      2 網(wǎng)絡模型設計

      2.1 生成式對抗網(wǎng)絡

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

      3D-GAN 的訓練流程如圖1 所示。

      圖1: 3D-GAN 訓練流程圖

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

      表1: 生成器和判別器網(wǎng)絡結構參數(shù)

      2.1.1 生成器網(wǎng)絡結構

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

      圖2: 生成器網(wǎng)絡結構

      2.1.2 判別器網(wǎng)絡結構

      判別器網(wǎng)絡的結構基本上跟生成器網(wǎng)絡類似,因為其接受的是真實3D 模型或是生成器虛假3D 模型的輸入,所以在結構順序上是跟判別器是相反的,如圖3 所示。類似的,主要是由5 層塊組成。在每一個層塊里先是一個3D 卷積函數(shù)Conv3d,size 為4,stride 為2,padding 為(1, 1, 1)。 緊接著是一個批標準化函數(shù)InstanceNorm3d,接受來自上一層3D 卷積函數(shù)的輸出。最后一層是受到Mass 等人提出的建議使用了激活函數(shù)LeakyRelu,而不是激活函數(shù)Relu。因為在反向傳播過程中,對于LeakyRelu 輸入值小于零的部分,較于Relu 激活函數(shù)將其全部變成0,LeakyRelu 激活函數(shù)可以計算得到出梯度但是Relu,解決了神經(jīng)元“死亡”問題。在訓練的最后一層,移去了批標準化函數(shù)和激活函數(shù)。訓練判別器時,首先把傳入模型的維度變化成[32, 32, 32],以供判別器輸入第一層塊網(wǎng)絡。然后,把這個結果依次傳入5 個層塊中。最后一層的輸出即為這個3D 模型為真為假的概率值,大小介于0 到1 之間。

      圖3: 判別器網(wǎng)絡結構

      2.2 目標函數(shù)

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

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

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

      3 算法改進

      3.1 新目標函數(shù)

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

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

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

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

      3.2 3D-GAN變化

      3.2.1 改變了訓練時候目標函數(shù)Loss 判定方式

      對GAN 來說,目標函數(shù)至關重要。因為,它不僅決定了生成器G 和判別器D 如何共同“進步”,還決定了這個模型訓練時候是否穩(wěn)定。

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

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

      對判別器來說:

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

      對生成器來說:

      Generator: maxE [critic(gen_fake)],即要求最大化判別器對生成器生成假照片的評估。然后對這個目標進行迭代要求,生成器就會生成出越來越逼真的圖像。

      4 實驗結果及分析

      4.1 實驗環(huán)境

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

      4.2 訓練模型

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

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

      4.2.2 結果分析

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

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

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

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

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

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

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

      表2: 3D-GAN 訓練耗時比較

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

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

      5 結論

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

      猜你喜歡
      三維重建網(wǎng)絡結構梯度
      一個改進的WYL型三項共軛梯度法
      一種自適應Dai-Liao共軛梯度法
      基于Mimics的CT三維重建應用分析
      軟件(2020年3期)2020-04-20 00:56:34
      一類扭積形式的梯度近Ricci孤立子
      基于關系圖的無人機影像三維重建
      三維重建結合3D打印技術在腔鏡甲狀腺手術中的臨床應用
      基于互信息的貝葉斯網(wǎng)絡結構學習
      知識網(wǎng)絡結構維對于創(chuàng)新績效的作用機制——遠程創(chuàng)新搜尋的中介作用
      滬港通下A+ H股票網(wǎng)絡結構演化的實證分析
      復雜網(wǎng)絡結構比對算法研究進展
      塔城市| 东丰县| 颍上县| 海晏县| 城口县| 隆回县| 元朗区| 镇原县| 莱阳市| 尤溪县| 泗洪县| 江西省| 普洱| 上犹县| 乡宁县| 泌阳县| 虞城县| 湘西| 盱眙县| 永寿县| 通河县| 九龙坡区| 铁岭县| 绥棱县| 梓潼县| 南木林县| 开封县| 左贡县| 康定县| 泸州市| 社会| 武汉市| 无为县| 乃东县| 卓资县| 汨罗市| 红安县| 安丘市| 建瓯市| 虞城县| 怀安县|