Repositori ini berisi program demo untuk anime kepala berbicara dari satu gambar 2: proyek yang lebih ekspresif. Mirip dengan versi sebelumnya, ia memiliki dua program:
manual_poser memungkinkan Anda memanipulasi ekspresi wajah dan rotasi kepala karakter anime, yang diberikan dalam satu gambar, melalui antarmuka pengguna grafis. Poser tersedia dalam dua formulir: aplikasi GUI standar, dan buku catatan Jupyter.ifacialmocap_puppeteer memungkinkan Anda mentransfer gerakan wajah Anda, yang ditangkap oleh aplikasi iOS komersial yang disebut IfacialMocap, ke gambar 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.
Kedua program ditulis dalam Python 3. Untuk menjalankan GUI, paket perangkat lunak berikut diperlukan:
Secara khusus, saya menciptakan lingkungan untuk menjalankan program dengan Anaconda, menggunakan perintah berikut:
> conda create -n talking-head-anime-2-demo python=3.8
> conda activate talking-head-anime-2-demo
> conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
> conda install scipy
> pip install wxPython
> conda install matplotlib
Catatan: Anda mungkin menemukan bahwa versi khusus Python (3.8) dan CUDA Toolkit (10.2) mungkin tidak berfungsi untuk pengaturan komputer khusus Anda. Ketika ini terjadi, ganti versi ini dengan yang berfungsi dengan perangkat keras Anda. Perintah itu akan menjadi:
> conda create -n talking-head-anime-2-demo python=[YOUR-PYTHON-VERSION]
> conda activate talking-head-anime-2-demo
> conda install pytorch torchvision cudatoolkit=[YOUR-CUDA-TOOLKIT-VERSION] -c pytorch
> conda install scipy
> pip install wxPython
> conda install matplotlib
Secara umum, versi terbaru Python dan versi terbaru dari CUDA Toolkit yang ditampilkan di situs web Pytorch akan berfungsi.
Untuk menjalankan versi notebook Jupyter dari manual_poser , Anda juga perlu:
Ini berarti bahwa, selain perintah di atas, Anda juga perlu menjalankan:
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
Terakhir, ifacialmocap_puppeteer memerlukan ifacialmocap, yang tersedia di toko aplikasi untuk 980 yen. Anda juga perlu menginstal aplikasi desktop berpasangan di PC atau Mac Anda. (Pengguna Linux, maaf!) IOS Anda dan komputer Anda juga harus menggunakan jaringan yang sama. (Misalnya, Anda dapat menghubungkannya ke router nirkabel yang sama.)
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-2-demo yang berisi semua paket Python yang diperlukan.
Sebelum menjalankan program, Anda perlu mengunduh file model dari tautan dropbox ini dan membuka ritsleting ke folder data direktori repositori. Pada akhirnya, folder data harus terlihat seperti:
+ data
+ illust
- waifu_00.png
- waifu_01.png
- waifu_02.png
- waifu_03.png
- waifu_04.png
- waifu_05.png
- waifu_06.png
- waifu_06_buggy.png
- combiner.pt
- eyebrow_decomposer.pt
- eyebrow_morphing_combiner.pt
- face_morpher.pt
- two_algo_face_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 tha2/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-2-demo
Jika Anda belum mengaktifkan lingkungan.
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 tha2.ipynb . Setelah Anda melakukannya, Anda harus melihat bahwa ia hanya memiliki satu sel. Jalankan. Kemudian, gulir ke bawah ke akhir dokumen, dan Anda akan melihat GUI di sana.
ifacialmocap_puppeteerPertama, jalankan IfacialMoCap di perangkat iOS Anda. Ini harus menunjukkan alamat IP perangkat Anda. Mencatatnya. Buka aplikasi.

Kemudian, jalankan aplikasi desktop pendamping.

Klik "Buka Pengaturan Tingkat Lanjut >>". Aplikasi harus diperluas.

Klik tombol yang bertuliskan "Maya" di sisi kanan.

Kemudian, klik "Blender."

Selanjutnya, ganti alamat IP di sisi kiri dengan alamat IP perangkat iOS Anda.

Klik "Hubungkan ke Blender."

Buka shell. Aktifkan lingkungan. Ubah direktori kerja Anda ke direktori root repositori. Lalu, jalankan:
> python tha2/app/ifacialmocap_puppeteer.py
Jika program terhubung dengan benar, Anda harus melihat bahwa banyak bilah kemajuan di bagian bawah jendela ifacialmocap_puppeteer harus bergerak ketika Anda menggerakkan wajah Anda di depan kamera yang menghadap ke depan perangkat iOS.

Jika semuanya baik -baik saja, muat gambar karakter, dan itu harus mengikuti gerakan wajah Anda.
Agar model berfungsi dengan baik, gambar input harus mematuhi kendala berikut:
Perhatikan, bagaimanapun, bahwa terlepas dari ukuran gambar input, program akan selalu mengubah ukurannya menjadi 256x256 dan akan selalu menghasilkan gambar 256x256. Ini adalah batasan intrinsik dari sistem.

Jika pekerjaan akademis Anda mendapat manfaat dari kode di repositori ini, silakan kutip halaman web proyek sebagai berikut:
Pramook Khungurn. Bicara anime kepala dari satu gambar 2: lebih ekspresif. http://pkhungurn.github.io/talking-head-anime-2/, 2021. Diakses: yyyy-mm-dd.
Anda juga dapat menggunakan entri Bibtex berikut:
@misc{Khungurn:2021,
author = {Pramook Khungurn},
title = {Talking Head Anime from a Single Image 2: More Expressive},
howpublished = {url{http://pkhungurn.github.io/talking-head-anime-2/}},
year = 2021,
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.