丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給AI研習社-譯站
發(fā)送

0

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

本文作者: AI研習社-譯站 2020-09-23 14:47
導語:生成式對抗網(wǎng)絡(GAN)由于其有趣的應用,在機器學習界真的很受歡迎。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

字幕組雙語原文:玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

英語原文:Generating Anime Characters with StyleGAN2

翻譯:雷鋒字幕組(Icarus、


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

生成式對抗網(wǎng)絡(GAN)是一種能夠生成新內(nèi)容的生成式模型。由于其有趣的應用,如生成合成訓練數(shù)據(jù)、創(chuàng)造藝術、風格轉(zhuǎn)換、圖像到圖像的翻譯等,這個話題在機器學習界真的很受歡迎。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

GAN架構 [圖片由作者提供]

GAN由2個網(wǎng)絡組成,即生成器和鑒別器。生成器將嘗試生成假樣本,并愚弄鑒別器,使其相信是真實樣本。鑒別器將試圖從真假樣本中檢測出生成的樣本。這個有趣的對抗性概念是由Ian Goodfellow在2014年提出的。已經(jīng)有很多資源可以用來學習GAN,因此為了避免冗余,我就不解釋GAN了。

我推薦大家閱讀Joseph Rocca寫的這篇理解GAN的美文。

理解生成式對抗網(wǎng)絡(GANs)

StyleGAN2

英偉達在2018年發(fā)表了StyleGAN論文《A Style-Based Architecture for GANs》。該論文為GAN提出了一種新的生成器架構,允許他們控制生成樣本的不同細節(jié)水平,從粗糙的細節(jié)(如頭部形狀)到更精細的細節(jié)(如眼睛顏色)。

StyleGAN還融合了Progressive GAN的思想,即網(wǎng)絡最初在較低分辨率(4x4)上進行訓練,穩(wěn)定后再逐步增加更大的層數(shù)。這樣做,訓練時間變得更快,訓練也更穩(wěn)定。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

漸進式增長GAN[來源:薩拉-沃爾夫]

StyleGAN進一步改進了它,增加了一個映射網(wǎng)絡,將輸入向量編碼成一個中間的潛伏空間,w,然后將有單獨的值用來控制不同層次的細節(jié)。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

  StyleGAN生成器架構 [圖片由作者提供]。

為什么要增加一個映射網(wǎng)絡?

GAN的問題之一是它的糾纏潛碼表示(輸入向量,z)。例如,假設我們有2個維度的潛伏碼,它代表了臉的大小和眼睛的大小。在這種情況下,人臉的大小與眼睛的大小高度糾纏在一起(眼睛越大也就意味著人臉越大)。另一方面,我們可以通過存儲臉部和眼睛的比例來簡化這個問題,這將使我們的模型更簡單,因為無糾纏的表示方式更容易讓模型解釋。

在糾纏表示下,數(shù)據(jù)分布不一定遵循正態(tài)分布,我們希望從那里抽取輸入向量z的樣本。例如,數(shù)據(jù)分布會有這樣一個缺角,它代表了眼睛和臉部的比例變得不現(xiàn)實的區(qū)域。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

 [來源:文件]

如果我們從正態(tài)分布中對z進行采樣,我們的模型會試圖也生成缺失的區(qū)域,其中的比例是不現(xiàn)實的,由于沒有具有這種特征的訓練數(shù)據(jù)Is,生成器會生成不良的圖像。因此,映射網(wǎng)絡的目的是拆分潛伏表征,并扭曲潛伏空間,使其能夠從正態(tài)分布中采樣。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

  [來源:文件]

此外,在每個層次上有單獨的輸入向量w,允許生成器控制不同層次的視覺特征。前幾層(4x4,8x8)將控制更高級別的細節(jié),如頭型、姿勢和發(fā)型。最后幾層(512x512,1024x1024)將控制更精細的細節(jié),如頭發(fā)和眼睛的顏色。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

粗層次細節(jié)的變化(頭型、發(fā)型、姿勢、眼鏡)[來源:文件]

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

細部細節(jié)的變化(發(fā)色)[來源:文件]

關于StyleGAN架構的完整細節(jié),我推薦大家閱讀NVIDIA官方關于他們實現(xiàn)的論文。下面是論文本身的完整架構圖示。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

[來源:基于風格的全球行動網(wǎng)文件架構]

隨機變化

StyleGAN還允許你通過在各自的圖層上給予噪聲來控制不同層次的細節(jié)的隨機變化。隨機變化是圖像上的小隨機性,不會改變我們的感知或圖像的身份,如不同的梳理的頭發(fā),不同的頭發(fā)位置等。你可以在下面的動畫圖像中看到變化的效果。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

粗隨機變化[來源:論文]

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

精細隨機變化[來源:論文]

StyleGAN還做了一些其他的改進,我在這些文章中就不一一介紹了,比如AdaIN的規(guī)范化和其他常規(guī)化。你可以閱讀官方論文,Jonathan Hui的這篇文章,或者Rani Horev的這篇文章來代替閱讀進一步的細節(jié)。

截斷技巧

當訓練樣本中存在代表性不足的數(shù)據(jù)時,生成器可能無法學習樣本,生成效果不佳。為了避免這種情況,StyleGAN使用了一個 "截斷技巧",通過截斷中間的潛伏向量w,迫使其接近平均值。

?(psi)是閾值,用來截斷和重新采樣高于閾值的潛向量。因此,如果使用更高的?,你可以在生成的圖像上獲得更高的多樣性,但它也有更高的機會生成奇怪或破碎的面孔。對于這個網(wǎng)絡來說,?的值在0.5到0.7之間,根據(jù)Gwern的說法,似乎可以得到一個具有足夠多樣性的好圖像。雖然,可以隨意試驗一下閾值。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

用0.3磅/平方英寸(左)與0.7磅/平方英寸(中)與1.3磅/平方英寸(右)生成的3x3網(wǎng)格圖像。

生成動漫人物

我將使用Aaron Gokaslan預先訓練好的Anime StyleGAN2,這樣我們就可以直接加載模型并生成動漫臉。所以,打開你的Jupyter筆記本或Google Colab,讓我們開始編碼吧。

注:如果你有困難,可以參考我的Colab筆記本。

所以首先,我們應該克隆styleGAN repo。

$ git clone https://github.com/NVlabs/stylegan2.git


如果你使用的是 Google Colab,你可以在命令前加上'!'來作為命令運行。!"git clone https://github.com/NVlabs/stylegan2.git

接下來,我們需要下載預訓練的權重并加載模型。當你使用Google Colab時,請確保你是在GPU運行時運行,因為模型被配置為使用GPU。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

這段代碼是從這個筆記本上修改而來的。

現(xiàn)在,我們需要生成隨機向量z,作為生成器的輸入。讓我們創(chuàng)建一個函數(shù),從給定的種子中生成潛伏代碼z。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

然后,我們可以創(chuàng)建一個函數(shù),將生成的隨機向量z,生成圖像。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

現(xiàn)在,我們可以嘗試生成一些圖像,看看結果。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

該函數(shù)將返回一個PIL.Image的數(shù)組。在Google Colab中,你可以直接通過打印變量來顯示圖像。這里是第一張生成的圖片。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

圖片由作者提供

讓我們用圖片的網(wǎng)格來顯示,這樣我們就可以同時看到多張圖片。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

然后我們可以將生成的圖像顯示在3x3網(wǎng)格中。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

圖片由作者提供

GAN的一個好處是,GAN有一個平滑和連續(xù)的潛伏空間,而不像VAE(Variational Auto Encoder)有間隙。因此,當你在潛伏空間中取兩個點,將產(chǎn)生兩個不同的面,你可以通過在兩個點之間取一個線性路徑來創(chuàng)建兩個面的過渡或插值。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

  潛在空間的插值[來源:Joseph Rocca]

讓我們在代碼中實現(xiàn)這一點,并創(chuàng)建一個函數(shù)來在z向量的兩個值之間進行插值。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

讓我們看看插值結果。你可以看到,第一幅圖像逐漸過渡到第二幅圖像。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

圖片由作者提供

現(xiàn)在我們已經(jīng)完成了插值工作。我們終于可以嘗試制作上面縮略圖中的插值動畫了。我們將使用moviepy庫來創(chuàng)建視頻或GIF文件。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

當你運行這段代碼時,它會生成一個插值的GIF動畫。你還可以使用頂部的變量修改持續(xù)時間、網(wǎng)格大小或fps。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

生成的StyleGAN2插值GIF [圖片由作者提供]。

如果你做到了這一步,恭喜你! 你已經(jīng)使用StyleGAN2生成了動畫面孔,并學會了GAN和StyleGAN架構的基礎知識。

下一步是什么?

現(xiàn)在我們已經(jīng)完成了,你還可以做什么,進一步改進呢?以下是你可以做的幾件事。

其他數(shù)據(jù)集

顯然,StyleGAN并不局限于動漫數(shù)據(jù)集,還有很多可用的預訓練數(shù)據(jù)集,你可以盡情玩耍,比如真實的臉部圖像、貓咪、藝術和繪畫。請查看這個GitHub repo,了解可用的預訓練權重。另一方面,你也可以用自己選擇的數(shù)據(jù)集來訓練StyleGAN。

有條件的GAN

目前,我們無法真正控制我們想要生成的特征,如頭發(fā)的顏色,眼睛的顏色,發(fā)型和配件。條件GAN允許你在輸入向量z旁邊給出一個標簽,從而將生成的圖像調(diào)節(jié)成我們想要的樣子。另外,你也可以嘗試通過回歸或手動來理解潛伏空間。如果你想往這個方向走,Snow Halcy repo也許能幫到你,因為他已經(jīng)做了,甚至在這個Jupyter筆記本上做了互動。

鳴謝

我要感謝Gwern Branwen的大量文章和關于用StyleGAN生成動漫面孔的解釋,我在文章中強烈提到了這一點。我完全推薦你訪問他的網(wǎng)站,因為他的著作是一個知識的寶庫。此外,還可以去ThisWaifuDoesNotExists網(wǎng)站看看,那里有StyleGAN模型生成動漫臉譜和GPT模型生成動漫情節(jié)。


雷鋒字幕組是一個由AI愛好者組成的翻譯團隊,匯聚五五多位志愿者的力量,分享最新的海外AI資訊,交流關于人工智能技術領域的行業(yè)轉(zhuǎn)變與技術創(chuàng)新的見解。

團隊成員有大數(shù)據(jù)專家,算法工程師,圖像處理工程師,產(chǎn)品經(jīng)理,產(chǎn)品運營,IT咨詢?nèi)?,在校師生;志愿者們來自IBM,AVL,Adobe,阿里,百度等知名企業(yè),北大,清華,港大,中科院,南卡羅萊納大學,早稻田大學等海內(nèi)外高校研究所。

如果,你也是位熱愛分享的AI愛好者。歡迎與雷鋒字幕組一起,學習新知,分享成長。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

雷峰網(wǎng)版權文章,未經(jīng)授權禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

玩轉(zhuǎn)StyleGAN2模型:教你生成動漫人物

分享:
相關文章

知情人士

AI研習社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學習知識的門檻。(原雷鋒字幕組)
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說