人氣 9659°c

Deepfakes人工智能換臉FakeApp下載及教學

由國外大神Deepfakes 透過AI 智慧辨識技術,推出了一款人工智能換臉「FakeApp」程序,用戶可根據想像空間,自行將照片與影片的角色移花接木地無縫結合,無須複雜的技術就可製作出幾可亂真的偽造角色影片。

Deepfakes 表示,他希望能透過這個FakeApp,使任何非科技背景,或沒有撰寫程式經驗的人,都能使用
Deepfakes 技術修改影片;他預計將來還要更進一步簡化APP 使用,讓使用者只要「選擇電腦內的影片,再下載特定名人或明星臉龐的神經網路,接著就能一鍵替影片換臉」。

而該討論區的內容指出,要製作像這樣的換臉影片,除了FakeApp 外,你還需要一片支援 NVIDIA CUDA 技術的高階GPU 顯示卡,即使沒有這樣的GPU,也能透過租用雲端GPU 運算服務來製作,操作得當的話,整個製作過程大約 8 至 12 小時。

FakeApp 程式原意是用來做二次創作或惡搞影片,但是隨著更多人用來惡搞色情片,或會造成嚴重的後果;請各位看這篇教程用研究的角度來觀看。

FakeApp官方網站:www.fakeapp.org

硬件配置建議

作業系統及CPU:64Bit 位元組

記憶體(內存):8G 或以上

顯示卡:支援(CUDA)NVIDIA整合技術 官方文檔
CUDA Toolkit 8.0CUDA Toolkit 9.1

輔助軟體

JAVA程序 下載GO!…

Redistributable for Visual Studio 2015 下載位置

FFmpeg 下載GO!…

Light Image Resizer 下載網站

Avidemux 下載地址

Deepfakes FakeApp 下載

Google雲端硬碟(新):下載檔案!

Google雲端硬碟(舊):下載檔案!

Baidu百度網盤(新):下載地址

Baidu百度網盤(舊):下載鏈接

這是利用FakeApp製作出來的影片效果,請問左右兩位女主角誰是真假▼

設定環境變數

下載及安裝「CUDA 8.0」或「CUDA 9.1」再設定bin 資料夾的「環境變數」

1. 按左下角的Win圖示跳出選單,請尋找「Windows系統」欄位,在下級按「控制台」位置 請看圖片▼

2. 進入控制台按一下「系統」圖示 請看圖片▼

3. 在系統視窗,點擊「進階系統設定」或「變更設定 請看圖片▼

4. 彈出系統內容,按「進陼」–>「環境變數 請看圖片▼

5. 依照圖片指示編輯 請看圖片▼

一、FakeApp 事前準備

1. 請按照下方的清單開新資料夾
fakes(父)
│─data_A
│─data_B
│─model

2. 開新資料夾命名為”Sequence“並將「FFmpeg/bin/ffmpeg.exe」複製過去

3. 準備你影片主角的照片並放入”data_B“資料夾

A. 格式必須為”.png

B. 圖像尺寸不能超過「1200 * 700 」(可用格式工廠之類的快速轉檔)

C. 最好有不同角度不同表情

D. 臉照越多越好,個人覺得至少100張,合照最好把其他人的臉裁掉(我沒有裁剪) 請看圖片▼

4. 準備你想替換主角的影片

A. 與你的主角越像越好

B. 設定「10~15秒」即可,時間越長運算越久

C. 解析度不超過”720P

D. 確認影片的FPS (使用AE看之類的,右鍵內容寫的不準) 請看圖片▼

5. 將影片拆成序列圖 (FFmpeg,用別的軟體拆也可以)

A. 到”Sequence“資料夾按住「Shift + 滑鼠右鍵」點選「在此處開啟命令視窗

B. 複製指令並修改參數「ffmpeg -i [檔名].mp4 -vf fps=[FPS] “out%d.png”

C. 右鍵貼上至”CMD“並按”Enter“完成後,資料夾就會出現序列圖 請看圖片▼


D. 將這些序列圖複製到”Data_A“資料夾

E. 打開”NoFace“新資料夾,將沒有清楚出現臉的圖片移動過去(臉不清楚也要) 請看圖片▼

6. 最後你的”Data_A“要有主角的照片,格式為”.png“並不超過「1200 * 700
Data_B要有被替換主角影片的序列圖,每張都有清楚的臉”NoFace“有序列圖沒臉的圖片跟不清楚臉的圖片

二、FakeApp教學開始

1. 開啟”fakeapp.bat“,你會看到「Extract / Train / Covert」三個選項

2.Extract“從你的圖片中抓取所有的臉

A. Paths“的”Data“,貼上”Data_A“的路徑將”\換成/“,然後按下”Start

B. 完成後你會看到”Data_A“裡多了”alignments.json“以及” aligned“資料夾,裡面都是被抓取出來的臉 請看圖片▼


C. 和A及B步驟一樣,接下來對”Data_B“也做一次,然後到”Data_B“的”aligned“把其他人的臉刪除(如果有的話) 請看圖片▼


3.Train“讓軟體開始比較兩張臉

A. 照以下規格貼上對應的路徑,記得”\換成/“,並按下”Start
Model : 貼Model路徑
Data A : 貼data_A/aligned的路徑
Data B : 貼data_B/aligned的路徑

B. Training 至少要6小時以上,建議放著跑一個晚上,直到合成的臉清楚

C. 滿意之後可按下”q“停止(直接按叉叉也可以,我按q沒反應),”model” 下就會多出”decoder_A.h5“、”decoder_B.h5“、”encoder.h5“這三個檔案 請看圖片▼


4.Convert“替換”Data_A“的臉

A.Paths“的”Data“貼上”Data_A“的路徑,然後按”Start

B. 完成後”Data_A“下會出現”merged“資料夾,裡面即是完成替換的序列圖 請看圖片▼


三、將完成替換的序列圖合併成影片

1. 整理完成的序列圖

A. 把”Sequence“資料夾原來的序列圖刪除,或是你要留著

B. 完成的序列圖複製到”Sequence“資料夾

C. 把前面移走的不清楚臉圖片移動回來

D. 檢查一下數字正不正常,一定要連號 請看圖片▼

2. 開始合併序列圖

A. 按住「Shift + 滑鼠右鍵」 點選「在此處開啟命令視窗

B. 修改指令參數貼上按”Enter“「ffmpeg -f image2 -i out%d.png -vcodec libx264 -crf [FPS] -pix_fmt yuv420p [檔名].mp4

C. 如果結合影片怪怪的,請使用”AE“合併會比較好

D. 作品完成 請看圖片▼

備註:
1. Data_A也可放入更多不同表情不同角度的照片來算

2. 算出Model之後,Data_A再放入同樣人不同影片的序列圖來合併也可行

3. 舉例來說,我Data_A放入更多小勞勃道尼來算,會更精準,算好後,可以再把其他鋼鐵人的片段拿去ExtractCovert

4. 經我實測,Train重開後會按照原進度繼續算,我有把Data_B沒刪掉的臉刪掉再開,一樣能繼續算

FakeApp教學影片

中文 1.1:youtu.be/cb5GWYaASUY

中文 2.2:youtu.be/cb5GWYaASUY

英文 1.1:youtu.be/ghTb2kZSpZE

英文 2.1:youtu.be/D-96CM4chHc

Deepfakes惡搞影片

Donald Trump:youtu.be/QgXp_trk9DA

Emma Watson:youtu.be/TleVWbtV23w

標籤: