該存儲庫包含來自單個圖像3:現在的身體項目的演示程序(?)動漫。顧名思義,該項目允許您動畫動漫角色,並且您只需要該角色的單個圖像即可。有兩個演示程序:
manual_poser可讓您操縱角色的面部表情,頭部旋轉,身體旋轉和胸部膨脹,原因是通過圖形用戶界面呼吸。ifacialmocap_puppeteer可讓您將面部運動轉移到動漫角色。 如果您沒有所需的硬件(下面討論)或不想下載代碼並設置環境來運行它,請單擊以嘗試在Google Colab上運行手動擺動器。
這兩個程序都要求最近有力的NVIDIA GPU運行。我可以親自使用NVIDIA TITAN RTX以良好的速度運行它們。但是,我認為最近的高端遊戲GPU,例如RTX 2080,RTX 3080或更好的做法也一樣。
ifacialmocap_puppeteer需要一個能夠從視頻提要中計算混合形狀參數的iOS設備。這意味著該設備必須能夠運行iOS 11.0或更高版本,並且必須具有truedepth的前置攝像頭。 (有關更多信息,請參見此頁面。)換句話說,如果您擁有iPhone X或更好的內容,則應該全部設置。就我個人而言,我使用了iPhone 12 mini。
請更新GPU的設備驅動程序,並安裝與GPU兼容的CUDA工具包,並且比您將在下一個小節中安裝的版本更新。
manual_poser和ifacialmocap_puppeteer均作為桌面應用程序可用。要運行它們,您需要為運行以Python語言編寫的程序設置環境。環境需要具有以下軟件包:
這樣做的一種方法是安裝Anaconda並在外殼中運行以下命令:
> conda create -n talking-head-anime-3-demo python=3.8
> conda activate talking-head-anime-3-demo
> conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
> conda install scipy
> pip install wxpython
> conda install matplotlib
截至2006年6月,您無法在Windows上使用WXPYTHON與Python 3.10使用。結果,在修復此錯誤之前,請勿使用Python 3.10。這意味著您不應在上面列表中的第一個conda命令中設置python=3.10 。
上面命令創建的環境為您提供了Python版本3.8和Pytorch的安裝,該版本由CUDA工具包11.3編譯。這種特定的設置將來可能不起作用,因為您可能會發現此特定的Pytorch軟件包與您的新計算機無法使用。解決方案是:

manual_poser也可作為jupyter nootbook提供。要在本地機器上運行它,您還需要安裝:
在某些情況下,您還需要啟用widgetsnbextension 。所以,運行
> jupyter nbextension enable --py widgetsnbextension
安裝上述兩個軟件包後。使用Anaconda,我設法通過以下命令進行以上操作:
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
您也可以使用Anaconda下載並安裝一個命令中的所有Python軟件包。打開外殼,將目錄更改為克隆存儲庫的位置,然後運行:
> conda env create -f environment.yml
這將創建一個稱為talking-head-anime-3-demo的環境,其中包含所有必需的Python軟件包。
如果您想使用ifacialmocap_puppeteer ,則還需要使用一個名為IfacialMocap的iOS軟件(在App Store中購買了980日元)。這次您無需下載配對應用程序。您的iOS和您的計算機必須使用同一網絡。例如,您可以將它們連接到同一無線路由器。
在運行程序之前,您需要從此Dropbox鏈接下載模型文件,然後將其解壓縮到存儲庫的根目錄下的data/models夾。最後,數據文件夾應該看起來像:
+ data
+ images
- crypko_00.png
- crypko_01.png
:
- crypko_07.png
- lambda_00.png
- lambda_01.png
+ models
+ separable_float
- editor.pt
- eyebrow_decomposer.pt
- eyebrow_morphing_combiner.pt
- face_morpher.pt
- two_algo_face_body_rotator.pt
+ separable_half
- editor.pt
:
- two_algo_face_body_rotator.pt
+ standard_float
- editor.pt
:
- two_algo_face_body_rotator.pt
+ standard_half
- editor.pt
:
- two_algo_face_body_rotator.pt
模型文件與Creative Commons Attribution 4.0國際許可證一起分發,這意味著您可以將其用於商業目的。但是,如果您分發它們,則必須說我是創造者。
manual_poser桌面應用程序打開外殼。將您的工作目錄更改為存儲庫的根目錄。然後,運行:
> python tha3/app/manual_poser.py
請注意,在運行上面的命令之前,您可能必須激活包含所需軟件包的Python環境。如果您使用上面討論的Anaconda創建環境,則需要運行
> conda activate talking-head-anime-3-demo
如果您尚未激活環境。
如項目的文章中所述,我創建了4個神經網絡系統的變體。它們稱為standard_float , separable_float , standard_half和separable_half 。它們都具有相同的功能,但它們的大小,RAM使用,速度和準確性有所不同。您可以指定manual_poser程序通過--model命令行選項使用的哪些變體。
> python tha3/app/manual_poser --model <variant_name>
其中<variant_name>必須是上述4個名稱之一。如果未指定變體,則將使用standard_float變體(最大,最慢,最準確)。
manual_poser jupyter筆記本打開外殼。激活環境。將您的工作目錄更改為存儲庫的根目錄。然後,運行:
> jupyter notebook
瀏覽器窗口應打開。在其中,打開manual_poser.ipynb 。完成後,您應該看到它具有兩個單元格。按順序運行兩個單元。然後,向下滾動到文檔的末尾,您將在那裡看到GUI。
您可以通過更改第一個單元格中的MODEL_NAME變量來選擇要使用的系統變體。如果這樣做,您將需要重新運行兩個單元格,以便將變體加載,並正確更新GUI以使用它。
ifacialmocap_poser首先,在iOS設備上運行IfacialMocap。它應該向您顯示設備的IP地址。記下它。保持應用程序打開。

打開外殼。激活Python環境。將您的工作目錄更改為存儲庫的根目錄。然後,運行:
> python tha3/app/ifacialmocap_puppeteer.py
您將看到一個帶有標籤“捕獲設備IP”的文本框。寫下您在那兒記下的iOS設備的IP地址。

單擊“開始捕獲!”按鈕向右。

如果程序正確連接,則在移動頭部時,您應該會看到窗口底部的數字更改。

現在,您可以加載角色的圖像,並且應該跟隨您的面部運動。
為了使系統運行良好,輸入圖像必須遵守以下約束:

有關輸入圖像的更多詳細信息,請參見項目的寫入。
如果您的學術工作從此存儲庫中的代碼中受益,請引用該項目的網頁如下:
Pramook khungurn。從單個圖像3:現在身體也是身體的動漫。 http://pkhungurn.github.io/talking-head-anime-3/,2022。訪問:yyyy-mm-dd。
您還可以使用以下Bibtex條目:
@misc{Khungurn:2022,
author = {Pramook Khungurn},
title = {Talking Head(?) Anime from a Single Image 3: Now the Body Too},
howpublished = {url{http://pkhungurn.github.io/talking-head-anime-3/}},
year = 2022,
note = {Accessed: YYYY-MM-DD},
}
雖然作者是Google Japan的僱員,但該軟件不是Google的產品,也沒有Google的支持。
該軟件的版權屬於我,因為我使用IARC流程要求它。但是,Google可能聲稱擁有本發明的知識產權的權利。
該代碼是根據MIT許可發布的。該模型是在創意共享歸因4.0國際許可下發布的。請參閱有關圖像的許可證的data/images目錄中的readme.md文件。