Repositori ini berisi program demo untuk anime kepala berbicara (?) Dari satu gambar 3: Sekarang tubuh juga proyek. Seperti namanya, proyek ini memungkinkan Anda untuk menghidupkan karakter anime, dan Anda hanya perlu satu gambar dari karakter itu untuk melakukannya. Ada dua program demo:
manual_poser memungkinkan Anda memanipulasi ekspresi wajah karakter, rotasi kepala, rotasi tubuh, dan ekspansi dada karena bernafas melalui antarmuka pengguna grafis.ifacialmocap_puppeteer memungkinkan Anda mentransfer gerakan wajah Anda ke karakter anime. Jika Anda tidak memiliki perangkat keras yang diperlukan (dibahas di bawah) atau tidak ingin mengunduh kode dan mengatur lingkungan untuk menjalankannya, klik untuk mencoba menjalankan poser manual di Google Colab.
Kedua program membutuhkan GPU NVIDIA baru -baru ini dan kuat untuk dijalankan. Saya secara pribadi bisa menjalankannya dengan kecepatan tinggi dengan Nvidia Titan RTX. Namun, saya pikir GPU game kelas atas baru-baru ini seperti RTX 2080, RTX 3080, atau lebih baik juga akan melakukannya.
ifacialmocap_puppeteer membutuhkan perangkat iOS yang mampu menghitung parameter bentuk campuran dari umpan video. Ini berarti bahwa perangkat harus dapat menjalankan iOS 11.0 atau lebih tinggi dan harus memiliki kamera yang menghadap ke depan truedepth. (Lihat halaman ini untuk info lebih lanjut.) Dengan kata lain, jika Anda memiliki iPhone X atau sesuatu yang lebih baik, Anda harus siap. Secara pribadi, saya telah menggunakan iPhone 12 mini.
Harap perbarui driver perangkat GPU Anda dan instal CUDA Toolkit yang kompatibel dengan GPU Anda dan lebih baru dari versi yang akan Anda instal pada subbagian berikutnya.
Baik manual_poser dan ifacialmocap_puppeteer tersedia sebagai aplikasi desktop. Untuk menjalankannya, Anda perlu mengatur lingkungan untuk menjalankan program yang ditulis dalam bahasa Python. Lingkungan perlu memiliki paket perangkat lunak berikut:
Salah satu cara untuk melakukannya adalah dengan menginstal Anaconda dan menjalankan perintah berikut di shell Anda:
> 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
Pada Juni 2006, Anda tidak dapat menggunakan WXPython dengan Python 3.10 di Windows. Akibatnya, jangan gunakan Python 3.10 sampai bug ini diperbaiki. Ini berarti Anda tidak boleh mengatur python=3.10 di perintah conda pertama dalam daftar di atas.
Lingkungan yang dibuat oleh perintah di atas memberi Anda Python Versi 3.8 dan instalasi Pytorch yang dikompilasi dengan CUDA Toolkit Versi 11.3. Pengaturan khusus ini mungkin tidak berfungsi di masa depan karena Anda mungkin menemukan bahwa paket pytorch khusus ini tidak berfungsi dengan komputer baru Anda. Solusinya adalah untuk:

manual_poser juga tersedia sebagai Jupyter Nootbook. Untuk menjalankannya di mesin lokal Anda, Anda juga perlu menginstal:
Dalam beberapa kasus, Anda juga perlu mengaktifkan widgetsnbextension juga. Jadi, lari
> jupyter nbextension enable --py widgetsnbextension
Setelah memasang dua paket di atas. Menggunakan Anaconda, saya berhasil melakukan hal di atas dengan perintah berikut:
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
Anda juga dapat menggunakan Anaconda untuk mengunduh dan menginstal semua paket Python dalam satu perintah. Buka shell Anda, ubah direktori ke tempat Anda mengkloning repositori, dan jalankan:
> conda env create -f environment.yml
Ini akan menciptakan lingkungan yang disebut talking-head-anime-3-demo yang berisi semua paket Python yang diperlukan.
Jika Anda ingin menggunakan ifacialmocap_puppeteer , Anda juga perlu perangkat lunak iOS yang disebut IFACIALMOCAP (pembelian 980 yen di App Store). Anda tidak perlu mengunduh aplikasi berpasangan kali ini. IOS dan komputer Anda harus menggunakan jaringan yang sama. Misalnya, Anda dapat menghubungkannya ke router nirkabel yang sama.
Sebelum menjalankan program, Anda perlu mengunduh file model dari tautan dropbox ini dan membuka ritsleting ke folder data/models di bawah direktori root repositori. Pada akhirnya, folder data harus terlihat seperti:
+ 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
File model didistribusikan dengan Lisensi Internasional Creative Commons Attribution 4.0, yang berarti Anda dapat menggunakannya untuk tujuan komersial. Namun, jika Anda mendistribusikannya, Anda harus, antara lain, mengatakan bahwa saya adalah pencipta.
manual_poserBuka shell. Ubah direktori kerja Anda ke direktori root repositori. Lalu, jalankan:
> python tha3/app/manual_poser.py
Perhatikan bahwa sebelum menjalankan perintah di atas, Anda mungkin harus mengaktifkan lingkungan Python yang berisi paket yang diperlukan. Jika Anda menciptakan lingkungan menggunakan Anaconda seperti yang dibahas di atas, Anda harus berlari
> conda activate talking-head-anime-3-demo
Jika Anda belum mengaktifkan lingkungan.
Seperti dicatat dalam penulisan proyek, saya membuat 4 varian dari sistem jaringan saraf. Mereka disebut standard_float , separable_float , standard_half , dan separable_half . Semuanya memiliki fungsionalitas yang sama, tetapi mereka berbeda dalam ukuran, penggunaan RAM, kecepatan, dan akurasi mereka. Anda dapat menentukan varian mana yang digunakan program manual_poser melalui opsi baris perintah --model .
> python tha3/app/manual_poser --model <variant_name>
di mana <variant_name> harus menjadi salah satu dari 4 nama di atas. Jika tidak ada varian yang ditentukan, varian standard_float (yang merupakan yang terbesar, paling lambat, dan paling akurat) akan digunakan.
manual_poser jupyter notebookBuka shell. Aktifkan lingkungan. Ubah direktori kerja Anda ke direktori root repositori. Lalu, jalankan:
> jupyter notebook
Jendela browser harus terbuka. Di dalamnya, buka manual_poser.ipynb . Setelah Anda melakukannya, Anda harus melihat bahwa ia memiliki dua sel. Jalankan dua sel secara berurutan. Kemudian, gulir ke bawah ke akhir dokumen, dan Anda akan melihat GUI di sana.
Anda dapat memilih varian sistem untuk digunakan dengan mengubah variabel MODEL_NAME di sel pertama. Jika Anda melakukannya, Anda perlu menjalankan kembali kedua sel agar varian dimuat dan GUI diperbarui dengan benar untuk menggunakannya.
ifacialmocap_poserPertama, jalankan IfacialMoCap di perangkat iOS Anda. Ini harus menunjukkan alamat IP perangkat Anda. Mencatatnya. Buka aplikasi.

Buka shell. Aktifkan lingkungan Python. Ubah direktori kerja Anda ke direktori root repositori. Lalu, jalankan:
> python tha3/app/ifacialmocap_puppeteer.py
Anda akan melihat kotak teks dengan label "Capture Device IP." Tuliskan alamat IP perangkat iOS yang Anda buat di sana.

Klik "Mulai Tangkap!" tombol ke kanan.

Jika program terhubung dengan benar, Anda akan melihat angka -angka di bagian bawah jendela berubah saat Anda menggerakkan kepala.

Sekarang, Anda dapat memuat gambar karakter, dan itu harus mengikuti gerakan wajah Anda.
Agar sistem dapat bekerja dengan baik, gambar input harus mematuhi kendala berikut:

Lihat tulisan proyek untuk detail lebih lanjut tentang gambar input.
Jika pekerjaan akademis Anda mendapat manfaat dari kode di repositori ini, silakan kutip halaman web proyek sebagai berikut:
Pramook Khungurn. Bicara kepala (?) Anime dari satu gambar 3: Sekarang tubuh juga. http://pkhungurn.github.io/talking-head-anime-3/, 2022. Diakses: yyyy-mm-dd.
Anda juga dapat menggunakan entri Bibtex berikut:
@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},
}
Meskipun penulisnya adalah karyawan Google Japan, perangkat lunak ini bukan produk Google dan tidak didukung oleh Google.
Hak cipta perangkat lunak ini adalah milik saya karena saya telah memintanya menggunakan proses IARC. Namun, Google mungkin mengklaim hak atas kekayaan intelektual dari penemuan ini.
Kode ini dirilis di bawah lisensi MIT. Model ini dirilis di bawah Lisensi Internasional Creative Commons Attribution 4.0. Silakan lihat file readme.md di direktori data/images untuk lisensi untuk gambar di sana.