日本在线看黄a美女久草|日本动漫亚洲在线一区|日韩人妻无码免费视频|A√有码中文字幕|日韩一级片视频热久久久|一区二区三区四区精品无码在线|亚洲AV成人无码一二三app|亚洲综合图片绯色|91极品人妻在线网站|国产成人精品一区二三区四区五区

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

0

玩轉StyleGAN2模型:教你生成動漫人物

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

玩轉StyleGAN2模型:教你生成動漫人物

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

英語原文:Generating Anime Characters with StyleGAN2

翻譯:雷鋒字幕組(Icarus、


生成式對抗網絡

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

玩轉StyleGAN2模型:教你生成動漫人物

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

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

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

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

StyleGAN2

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

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

玩轉StyleGAN2模型:教你生成動漫人物

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

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

玩轉StyleGAN2模型:教你生成動漫人物

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

為什么要增加一個映射網絡?

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

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

玩轉StyleGAN2模型:教你生成動漫人物

 [來源:文件]

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

玩轉StyleGAN2模型:教你生成動漫人物

  [來源:文件]

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

玩轉StyleGAN2模型:教你生成動漫人物

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

玩轉StyleGAN2模型:教你生成動漫人物

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

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

玩轉StyleGAN2模型:教你生成動漫人物

[來源:基于風格的全球行動網文件架構]

隨機變化

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

玩轉StyleGAN2模型:教你生成動漫人物

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

玩轉StyleGAN2模型:教你生成動漫人物

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

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

截斷技巧

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

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

玩轉StyleGAN2模型:教你生成動漫人物玩轉StyleGAN2模型:教你生成動漫人物玩轉StyleGAN2模型:教你生成動漫人物

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

生成動漫人物

我將使用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。

玩轉StyleGAN2模型:教你生成動漫人物

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

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

玩轉StyleGAN2模型:教你生成動漫人物

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

玩轉StyleGAN2模型:教你生成動漫人物

現在,我們可以嘗試生成一些圖像,看看結果。

玩轉StyleGAN2模型:教你生成動漫人物

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

玩轉StyleGAN2模型:教你生成動漫人物

圖片由作者提供

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

玩轉StyleGAN2模型:教你生成動漫人物

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

玩轉StyleGAN2模型:教你生成動漫人物

圖片由作者提供

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

玩轉StyleGAN2模型:教你生成動漫人物

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

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

玩轉StyleGAN2模型:教你生成動漫人物

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

玩轉StyleGAN2模型:教你生成動漫人物

圖片由作者提供

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

玩轉StyleGAN2模型:教你生成動漫人物

玩轉StyleGAN2模型:教你生成動漫人物

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

玩轉StyleGAN2模型:教你生成動漫人物

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

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

下一步是什么?

現在我們已經完成了,你還可以做什么,進一步改進呢?以下是你可以做的幾件事。

其他數據集

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

有條件的GAN

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

鳴謝

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


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

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

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

玩轉StyleGAN2模型:教你生成動漫人物

雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知。

玩轉StyleGAN2模型:教你生成動漫人物

分享:
相關文章

知情人士

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