AI技術有非常多種用途,比如爛大街的語音識別,人臉識別,翻譯,搜索,比如超強的AI換臉技術。其中英偉達在去年放出的一只AI能生成1024x1024的高清人臉

這個項目最厲害的地方就是“逼真” ,其次是生成的人臉獨一無二,不會與現實世界重疊,再次是可以生成的人的種類非常豐富。可以生成不同性別,不同年齡,不同膚色...的人,生成的數量也非常巨大,生成幾億張獨一無二的臉完全沒有問題。
當然,生成10000個漂亮而又獨一無二的小姐姐也不在話下,你對別人謊稱這是你女朋友,別人無法質疑你,他們即便翻遍全世界也找不到一樣滴。

沒錯,我說的就StyleGAN,這個項目大概在15個月之前開源,去年年底又發布了StyleGAN2.0版本,新版本修復了一些問題,結果更加逼真。這種視覺類的項目,看起來真的非常震撼,沒有發布源碼前就已經萬分期待。發布后,興沖沖的准備大干一場。沒想到,一看顯卡配置和數據集大小就只能說了句:告辭。

官方提供的圖片壓縮包中最大的一個文件就有955GB,1024頭像的壓縮文件也有89GB,即便下載了,我都不敢解壓,即便解壓我都不敢點拷貝和刪除。

項目需要的顯卡配置為,至少11GB的高端N卡(不就是2080ti么?),推薦的配置為8張V100的DGX-1,搜了一下這個設備,看到這樣一條標題“Nvidia發布超級計算機DGX-1 售價超80萬元” 。

直到有一天,我搞到了一台2080ti 的服務器,我又重新想起了這個項目。后來我才發現,英偉達這個老頭子壞得很,故意把配置寫的這么高。其實1070也能跑.... 我有充分的理由懷疑英偉達搞AI,就是為了帶貨~哈啊哈。
前戲差不多了,我要開干咯。下面就分享一下簡略的安裝部署的步驟,重點是演示下一下我生成的漂亮妹紙。
配置要求如下:
Both Linux and Windows are supported. Linux is recommended for performance and compatibility reasons. 64-bit Python 3.6 installation. We recommend Anaconda3 with numpy 1.14.3 or newer. TensorFlow 1.14 or 1.15 with GPU support. The code does not support TensorFlow 2.0. On Windows, you need to use TensorFlow 1.14 — TensorFlow 1.15 will not work. One or more high-end NVIDIA GPUs, NVIDIA drivers, CUDA 10.0 toolkit and cuDNN 7.5. To reproduce the results reported in the paper, you need an NVIDIA GPU with at least 16 GB of DRAM. Docker users: use the provided Dockerfile to build an image with the requi red library dependencies.
這些要求的核心就是顯卡,需要一張高端顯卡,具體型號沒說,2080ti 肯定可以,1070 8G其實可以,1060我不確定。
通過我的實踐,在Window把這個項目搞起來的大致步驟如下:
1. 安裝 VS2017,編譯所需,其他版本可能會遇到坑。
2. 升級顯卡驅動,安裝CUDA10,CuDNN7.5
3. 安裝Anaconda3創建Python的虛擬環境。
4. 安裝Python的依賴包,numpy,TensorFlow 1.14。
5. 運行Python腳本,坐等高清大圖!
這個安裝過程,根據個人水平不同,可能會持續幾個小時或者幾天... 其中會遇到各種版本坑。安裝成功后,就可以通過命令來生成高清頭像了。
下面就通過幾條命令來展示下官方的實例。
python run_generator.py generate-images --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --seeds=6600-6625 --truncation-psi=0.5


python run_generator.py generate-images --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --seeds=66,230,389,1518 --truncation-psi=1.0


python run_generator.py generate-images --network=gdrive:networks/stylegan2-car-config-f.pkl --seeds=6000-6025 --truncation-psi=0.5


python run_generator.py style-mixing-example --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --row-seeds=85,100,75,458,1500 --col-seeds=55,821,1789,293 --truncation-psi=1.0


上面的圖片都是通過官方的示例代碼生成。通過改變命令行中的seed參數,可以生成不同的人臉。這個數字的取值范圍大概為幾十億,也就是說最起碼能生成這么多人臉。生成10000個漂亮的小姐姐簡直就是so easy!!! 媽媽再也不用擔心我...
默認的模型生成的人臉基本以歐美人為主。




使用亞洲人的模型,可以生成一些黃皮膚的漂亮小姐姐。




當然,一切從娃娃抓起,生成一個漂亮的小姑娘也沒有任何問題。

現在網紅當道,來一堆網紅臉也非常應景。

什么,你不喜歡網紅?莫非還要學小李子,想要超模?當然,Stylegan也可以滿足你。與小李子不同的是,你只能看看...



到這里估計有人要膨脹了,來幾個小明星唄?這個可以安排!





除了上面這些,也有人老早就玩起了“動漫”。

有人還把各種名畫投喂給這只AI,然后就可以讓他成為大畫家了,可以畫出各種大師風格的作品。

雖然一直不知道這個項目到底能干啥,但是生成的人臉確實很震撼,如果數據喂的好,生成其他東西也肯定也很逼真,大膽的想法可以搞起來了。
StyleGAN就像一個小宇宙,里面包羅萬象,大家可以自己去探索,還有一些擴展項目可以做的對人臉進行編輯,哭笑,旋轉,變老變年輕,變性...都可以啊。
======================
個人公眾號:托尼是塔克