[教學] 透過 AI 技術,讓影片能變臉 – FakeApp

AI 是什麼? AI人工智慧聽起來非常抽象,但也代表他包羅萬象的智慧辨識能力,目前國外神人 Deepfakes 透過AI 智慧辨識技術,將神力女超人Gal Gadot的臉,直接跟AV 女優的臉對調,而且還不只是把臉合成上去而已,而是真實的影片換臉,包含表情、微笑、挑眉等等細微動作,都能跟原本的AV女優完全一致,非常厲害

而根據 Deepfakes 的 FakeApp教學,這部影片並沒有什麼特殊技巧,素材只用了Google 搜尋Gal Gadot的圖片,以及Youtube 影片當作素材,並且透過  TensorFlow 及 Keras …等等軟體後製而成,Deepfakes 表示「我透過那些圖片製作模糊糊圖像訓練神經網路,接著產生模型,這動作只要做一次,就可以把不同人物換上去。」因此仔細看還是會有破綻,但…這已經足夠你撸了

via GIPHY

同時deepfakes 也製作了其他女星的影片,如 Scarlett Johansson,Maisie Williams、Aubrey Plaza和 Emma Watson、Taylor Swift ..等等影片

傳送門 : Emma WatsonScarlett Johansson | Gal Gadot | Aubrey Plaza

Deepfakes 表示,此技術並非以色情目的而開發,純屬研究性質,但其實這個技術你一定也不陌生

《玩命關頭 7》中,兩位親弟弟代打上陣,重現Paul Walker 的技術,也就是 Face2Face 技術的高階版本,更精緻更無縫

那怎麼做呢?

Deepfakes 發表一套工具 FakeApp,軟體本身免費,但硬體需求是你必須要有一張支援CUDA的 市售版顯示卡

等級不拘,效能越高跑的越快,其餘步驟請參考以下說明

 

步驟如下

  1. 下載 CUDA 8.0 and 設定 bin 資料夾的環境變數,請前往控制台>系統與安全性>系統>查看此電腦的名稱>系統內容>進階 


    點選最下方的《環境變數》,接著看圖說明,將以下步驟將設定環境變數


  2. 利用 FFMPEG 這套軟體. 將你的影片切割分成兩組臉,一組是原臉,另一組是想換的臉,每一個影片都是幾百個Frame切割指令如下: ffmpeg -i scene.mp4 -vf fps=[FPS OF VIDEO] "out%d.png".

    切割後,通過“Extract”工具把影片拆成兩個目錄

  3. 切換到“Train” tool, 並輸入步驟1中產生的訓練數據的路徑 (他應該在一個名為 aligned的資料夾中,以及 以及包含在“models” 編碼器和解碼器的路徑這個項目 

  4. 接下來就是不斷比對到你滿意的結果
  5. 將影片拆解成影格,並在其上運行 “Convert” 工具製造要合成的影格

    再次反覆比對直到融入原本的影片,讓他看起來像真的

  6. 把這段結果另存,之後你可以用同樣的影片模組,套用不同的人
  7. 一段影片可套用不同人,但不同影片則需重新執行步驟1-6

請確保硬碟空間至少有10G以上空間,作影片很耗空間

並且確保你的硬體效能是夠的,其餘問題可參考 Deepfakes 於Reddit 上的原文討論

您可以選擇一種方式贊助本站

  • 版權聲明: 本文源自互聯網, 於2周前,由整理發表,共 1273字。
  • 原文鏈接:點此查看原文

目前評論:2   其中:訪客  2   博主  0

  1. 好難啊... 1

    1.請問一定得使用ffmpeg 嗎?還是任一能將影片竹格變成png黨的軟體都可以?
    2.請問影片原始人像在a還是在b?

  2. 好難啊... 1

    黑視窗顯示這樣是甚麼意思啊?

    Traceback (most recent call last):
    File “site-packages\PyInstaller\loader\pyiboot01_bootstrap.py”, line 172, in init
    File “ctypes__init__.py”, line 351, in init
    OSError: [WinError 126] 找不到指定的模組。

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “site-packages\tensorflow\python\platform\self_check.py”, line 75, in preload_check
    File “site-packages\PyInstaller\loader\pyiboot01_bootstrap.py”, line 174, in init
    main.PyInstallerImportError: Failed to load dynlib/dll ‘cudart64_80.dll’. Most probably this dynlib/dll was not found when the application was frozen.

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “train.py”, line 37, in
    File “d:\anaconda\envs\merging\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”, line 631, in exec_module
    File “model.py”, line 8, in
    File “d:\anaconda\envs\merging\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”, line 631, in exec_module
    File “site-packages\tensorflow__init__.py”, line 24, in
    File “d:\anaconda\envs\merging\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”, line 631, in exec_module
    File “site-packages\tensorflow\python__init__.py”, line 49, in
    File “d:\anaconda\envs\merging\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”, line 631, in exec_module
    File “site-packages\tensorflow\python\pywrap_tensorflow.py”, line 30, in
    File “site-packages\tensorflow\python\platform\self_check.py”, line 82, in preload_check
    ImportError: Could not find ‘cudart64_80.dll’. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 8.0 from this URL: https://developer.nvidia.com/cuda-toolkit
    [14308] Failed to execute script train

    E:\face\新增資料夾\FakeApp>

評論加載中...

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: