พื้นที่เก็บข้อมูลนี้มีโปรแกรมสาธิตสำหรับอนิเมะหัวพูด (?) จากภาพเดียว 3: ตอนนี้ The Body Too Project ตามชื่อหมายถึงโครงการช่วยให้คุณสามารถเคลื่อนไหวอักขระอะนิเมะและคุณต้องการเพียงภาพเดียวของตัวละครนั้นที่จะทำเช่นนั้น มีสองโปรแกรมสาธิต:
manual_poser ช่วยให้คุณจัดการกับการแสดงออกทางสีหน้าของตัวละครการหมุนศีรษะการหมุนของร่างกายและการขยายหน้าอกเนื่องจากการหายใจผ่านส่วนต่อประสานผู้ใช้กราฟิกifacialmocap_puppeteer ช่วยให้คุณถ่ายโอนการเคลื่อนไหวของใบหน้าไปยังตัวละครอนิเมะ หากคุณไม่มีฮาร์ดแวร์ที่จำเป็น (กล่าวถึงด้านล่าง) หรือไม่ต้องการดาวน์โหลดรหัสและตั้งค่าสภาพแวดล้อมเพื่อเรียกใช้ให้คลิกเพื่อลองใช้งานที่เกิดขึ้นด้วยตนเองบน Google Colab
ทั้งสองโปรแกรมต้องการ Nvidia GPU ที่มีประสิทธิภาพล่าสุดและมีประสิทธิภาพ ฉันสามารถวิ่งด้วยความเร็วได้ดีกับ Nvidia Titan RTX อย่างไรก็ตามฉันคิดว่า GPU เกมระดับไฮเอนด์เมื่อเร็ว ๆ นี้เช่น RTX 2080, RTX 3080 หรือดีกว่าก็จะทำได้เช่นกัน
ifacialmocap_puppeteer ต้องการอุปกรณ์ iOS ที่สามารถคำนวณพารามิเตอร์การผสมผสานรูปร่างจากฟีดวิดีโอ ซึ่งหมายความว่าอุปกรณ์จะต้องสามารถเรียกใช้ iOS 11.0 หรือสูงกว่าและต้องมีกล้องหันหน้าไปทางด้านหน้า (ดูหน้านี้สำหรับข้อมูลเพิ่มเติม) กล่าวอีกนัยหนึ่งหากคุณมี iPhone X หรือสิ่งที่ดีกว่าคุณควรพร้อม โดยส่วนตัวแล้วฉันใช้ iPhone 12 Mini
โปรดอัปเดตไดรเวอร์อุปกรณ์ GPU ของคุณและติดตั้งชุดเครื่องมือ CUDA ที่เข้ากันได้กับ GPU ของคุณและใหม่กว่าเวอร์ชันที่คุณจะติดตั้งในส่วนย่อยถัดไป
ทั้ง 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
ณ เดือนมิถุนายน 2549 คุณไม่สามารถใช้ wxpython กับ Python 3.10 บน Windows เป็นผลให้อย่าใช้ Python 3.10 จนกว่าข้อผิดพลาดนี้จะได้รับการแก้ไข ซึ่งหมายความว่าคุณไม่ควรตั้งค่า python=3.10 ในคำสั่ง conda แรกในรายการด้านบน
สภาพแวดล้อมที่สร้างขึ้นโดยคำสั่งด้านบนให้คุณ Python เวอร์ชัน 3.8 และการติดตั้ง pytorch ที่รวบรวมด้วย CUDA Toolkit เวอร์ชัน 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 คุณจะต้องใช้ซอฟต์แวร์ iOS ที่เรียกว่า ifacialMocap (ซื้อ 980 เยนใน App Store) คุณไม่จำเป็นต้องดาวน์โหลดแอปพลิเคชันที่จับคู่ในครั้งนี้ 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 International ซึ่งหมายความว่าคุณสามารถใช้ไฟล์เหล่านี้เพื่อวัตถุประสงค์ทางการค้า อย่างไรก็ตามถ้าคุณแจกจ่ายพวกเขาคุณต้องบอกว่าฉันเป็นผู้สร้าง
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 notebook
หน้าต่างเบราว์เซอร์ควรเปิด ในนั้นเปิด manual_poser.ipynb เมื่อคุณทำเช่นนั้นคุณควรเห็นว่ามีสองเซลล์ เรียกใช้ทั้งสองเซลล์ตามลำดับ จากนั้นเลื่อนลงไปที่ส่วนท้ายของเอกสารแล้วคุณจะเห็น GUI ที่นั่น
คุณสามารถเลือกตัวแปรระบบที่จะใช้โดยการเปลี่ยนตัวแปร MODEL_NAME ในเซลล์แรก หากคุณทำเช่นนั้นคุณจะต้องรันเซลล์ทั้งสองใหม่เพื่อให้ตัวแปรโหลดและ GUI จะได้รับการปรับปรุงอย่างเหมาะสมเพื่อใช้งาน
ifacialmocap_poserก่อนอื่นให้เรียกใช้ ifacialMocap บนอุปกรณ์ iOS ของคุณ ควรแสดงที่อยู่ IP ของอุปกรณ์ให้คุณ จดมันลง เปิดแอป

เปิดเปลือก เปิดใช้งานสภาพแวดล้อม Python เปลี่ยนไดเรกทอรีการทำงานของคุณเป็นไดเรกทอรีรากของที่เก็บ จากนั้นเรียกใช้:
> python tha3/app/ifacialmocap_puppeteer.py
คุณจะเห็นกล่องข้อความที่มีป้ายกำกับ "อุปกรณ์จับภาพ IP" เขียนที่อยู่ IP ของอุปกรณ์ iOS ที่คุณจดไว้ที่นั่น

คลิก "เริ่มจับภาพ!" ปุ่มทางด้านขวา

หากโปรแกรมเชื่อมต่ออย่างถูกต้องคุณควรเห็นตัวเลขในส่วนล่างของหน้าต่างเปลี่ยนเมื่อคุณขยับหัว

ตอนนี้คุณสามารถโหลดภาพของตัวละครและควรติดตามการเคลื่อนไหวของใบหน้าของคุณ
เพื่อให้ระบบทำงานได้ดีภาพอินพุตจะต้องปฏิบัติตามข้อ จำกัด ดังต่อไปนี้:

ดูการเขียนของโครงการสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับภาพอินพุต
หากผลงานทางวิชาการของคุณได้รับประโยชน์จากรหัสในที่เก็บนี้โปรดอ้างอิงหน้าเว็บของโครงการดังนี้:
Pramook Khungurn Talking Head (?) อนิเมะจากภาพเดียว 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 รูปแบบนี้ได้รับการเผยแพร่ภายใต้ใบอนุญาต Creative Commons Attribution 4.0 International โปรดดูไฟล์ readme.md ในไดเรกทอรี data/images สำหรับใบอนุญาตสำหรับรูปภาพที่นั่น