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

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

0

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

本文作者: AI研習(xí)社-譯站 2020-09-23 14:47
導(dǎo)語(yǔ):生成式對(duì)抗網(wǎng)絡(luò)(GAN)由于其有趣的應(yīng)用,在機(jī)器學(xué)習(xí)界真的很受歡迎。

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

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

英語(yǔ)原文:Generating Anime Characters with StyleGAN2

翻譯:雷鋒字幕組(Icarus、


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

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

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

GAN架構(gòu) [圖片由作者提供]

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

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

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

StyleGAN2

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

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

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

漸進(jìn)式增長(zhǎng)GAN[來(lái)源:薩拉-沃爾夫]

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

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

  StyleGAN生成器架構(gòu) [圖片由作者提供]。

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

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

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

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

 [來(lái)源:文件]

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

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

  [來(lái)源:文件]

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

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

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

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

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

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

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

[來(lái)源:基于風(fēng)格的全球行動(dòng)網(wǎng)文件架構(gòu)]

隨機(jī)變化

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

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

粗隨機(jī)變化[來(lái)源:論文]

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

精細(xì)隨機(jī)變化[來(lái)源:論文]

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

截?cái)嗉记?/h1>

當(dāng)訓(xùn)練樣本中存在代表性不足的數(shù)據(jù)時(shí),生成器可能無(wú)法學(xué)習(xí)樣本,生成效果不佳。為了避免這種情況,StyleGAN使用了一個(gè) "截?cái)嗉记?quot;,通過截?cái)嘀虚g的潛伏向量w,迫使其接近平均值。

?(psi)是閾值,用來(lái)截?cái)嗪椭匦虏蓸痈哂陂撝档臐撓蛄?。因此,如果使用更高?,你可以在生成的圖像上獲得更高的多樣性,但它也有更高的機(jī)會(huì)生成奇怪或破碎的面孔。對(duì)于這個(gè)網(wǎng)絡(luò)來(lái)說,?的值在0.5到0.7之間,根據(jù)Gwern的說法,似乎可以得到一個(gè)具有足夠多樣性的好圖像。雖然,可以隨意試驗(yàn)一下閾值。

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

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

生成動(dòng)漫人物

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

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

所以首先,我們應(yīng)該克隆styleGAN repo。

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


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

接下來(lái),我們需要下載預(yù)訓(xùn)練的權(quán)重并加載模型。當(dāng)你使用Google Colab時(shí),請(qǐng)確保你是在GPU運(yùn)行時(shí)運(yùn)行,因?yàn)槟P捅慌渲脼槭褂肎PU。

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

這段代碼是從這個(gè)筆記本上修改而來(lái)的。

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

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

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

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

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

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

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

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

圖片由作者提供

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

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

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

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

圖片由作者提供

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

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

  潛在空間的插值[來(lái)源:Joseph Rocca]

讓我們?cè)诖a中實(shí)現(xiàn)這一點(diǎn),并創(chuàng)建一個(gè)函數(shù)來(lái)在z向量的兩個(gè)值之間進(jìn)行插值。

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

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

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

圖片由作者提供

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

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

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

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

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

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

如果你做到了這一步,恭喜你! 你已經(jīng)使用StyleGAN2生成了動(dòng)畫面孔,并學(xué)會(huì)了GAN和StyleGAN架構(gòu)的基礎(chǔ)知識(shí)。

下一步是什么?

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

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

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

有條件的GAN

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

鳴謝

我要感謝Gwern Branwen的大量文章和關(guān)于用StyleGAN生成動(dòng)漫面孔的解釋,我在文章中強(qiáng)烈提到了這一點(diǎn)。我完全推薦你訪問他的網(wǎng)站,因?yàn)樗闹魇且粋€(gè)知識(shí)的寶庫(kù)。此外,還可以去ThisWaifuDoesNotExists網(wǎng)站看看,那里有StyleGAN模型生成動(dòng)漫臉譜和GPT模型生成動(dòng)漫情節(jié)。


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

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

如果,你也是位熱愛分享的AI愛好者。歡迎與雷鋒字幕組一起,學(xué)習(xí)新知,分享成長(zhǎng)。

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

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

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

分享:
相關(guān)文章

知情人士

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