บาห์รี บาตูฮาน บิเลเซน, อาห์เม็ต เบิร์ก ก็อคเมน, ฟูร์คาน กูเซลันท์ และไอเซกุล ดันดาร์
การจัดรูปแบบส่วนหัวแบบ 3 มิติจะเปลี่ยนลักษณะใบหน้าที่สมจริงให้กลายเป็นการนำเสนอทางศิลปะ เพิ่มการมีส่วนร่วมของผู้ใช้ในเกมและแอปพลิเคชันความเป็นจริงเสมือน แม้ว่าเครื่องกำเนิดการรับรู้ 3 มิติได้สร้างความก้าวหน้าที่สำคัญ แต่วิธีการจัดรูปแบบ 3 มิติหลายวิธีโดยหลักๆ จะให้มุมมองใกล้ด้านหน้า และพยายามดิ้นรนเพื่อรักษาเอกลักษณ์เฉพาะของวัตถุดั้งเดิม ซึ่งมักส่งผลให้เกิดผลลัพธ์ที่ขาดความหลากหลายและความเป็นเอกเทศ บทความนี้กล่าวถึงความท้าทายเหล่านี้โดยใช้ประโยชน์จากโมเดล PanoHead ซึ่งสังเคราะห์ภาพจากมุมมอง 360 องศาที่ครอบคลุม เราเสนอกรอบการทำงานใหม่ที่ใช้การกลั่นบันทึกโอกาสเชิงลบ (LD) เพื่อปรับปรุงการรักษาเอกลักษณ์และปรับปรุงคุณภาพการจัดรูปแบบ ด้วยการผสานรวมคะแนนตารางหลายมุมมองและการไล่ระดับสีแบบกระจกภายในสถาปัตยกรรม 3D GAN และการแนะนำเทคนิคการชั่งน้ำหนักอันดับคะแนน แนวทางของเราจึงได้รับการปรับปรุงเชิงคุณภาพและเชิงปริมาณอย่างมาก การค้นพบของเราไม่เพียงแต่พัฒนาสถานะของการจัดรูปแบบส่วนหัว 3 มิติเท่านั้น แต่ยังให้ข้อมูลเชิงลึกที่มีคุณค่าเกี่ยวกับกระบวนการกลั่นที่มีประสิทธิภาพระหว่างแบบจำลองการแพร่กระจายและ GAN โดยมุ่งเน้นไปที่ประเด็นสำคัญของการรักษาเอกลักษณ์
git clone --recursive https://github.com/three-bee/3d_head_stylization.git
cd ./3d_head_stylization && pip install -r requirements.txt
เราปฏิบัติตามแนวทางของ PanoHead สำหรับการแยกท่าทางและการจัดตำแหน่งใบหน้า สำหรับสิ่งนี้ คุณต้องทำตามขั้นตอนการตั้งค่าของ PanoHead และให้แน่ใจว่าคุณ ไม่ข้าม การตั้งค่า 3DDFA_V2 จากนั้นรัน PanoHead/projector.py
และละเว้นระยะ project_pti
เพื่อทำการเข้ารหัส W+ เท่านั้น
เพื่อความสะดวกของคุณ เราจัดเตรียม W+ แฝงของตัวตนในชีวิตจริงหลายรายการไว้ในโฟลเดอร์ example
ดาวน์โหลดทุกเครือข่ายไปยังตำแหน่งที่คุณต้องการ นอกจากนี้เรายังมีจุดตรวจเครื่องกำเนิดไฟฟ้าที่มีสไตล์สำหรับการแจ้งเตือนต่างๆ ในลิงก์นี้
เครือข่าย | ชื่อไฟล์ | ที่ตั้ง |
---|---|---|
พาโนเฮด | easy-khair-180-gpc0.8-trans10-025000.pkl | ${G_ckpt_path} |
เรียลลิตีวิชั่น v5.1 | Realistic_Vision_V5.1_noVAE/ | ${diff_ckpt_path} |
ขอบ ControlNet | sd-controlnet-canny/ | ${controlnet_edge_path} |
ความลึกของ ControlNet | sd-controlnet-depth/ | ${controlnet_depth_path} |
ความลึกทุกอย่างV2 | depth_anything_v2_vitb.pth | ${depth_path} |
เปลี่ยน ${stylized_G_ckpt_path}
ด้วยเส้นทางจุดตรวจสอบที่ระบุในลิงก์นี้ โฟลเดอร์ example
มีหัวที่เข้ารหัส W+ ในชีวิตจริงหลายตัว การให้เส้นทางที่ไม่ถูกต้องไปยัง latent_list_path
จะทำให้ synth_sample_num
ของตัวอย่างสังเคราะห์มีสไตล์
python infer_LD.py
--save_path "work_dirs/demo"
--G_ckpt_path ${G_ckpt_path}
--stylized_G_ckpt_path ${stylized_G_ckpt_path}
--latent_list_path "example"
--synth_sample_num 10
เปลี่ยน prompt
และ save_path
คุณสามารถเล่นกับไฮเปอร์พารามิเตอร์อื่นๆ ในไฟล์การฝึกได้
python train_LD.py
--prompt "Portrait of a werewolf"
--save_path "work_dirs/demo"
--diff_ckpt_path ${diff_ckpt_path}
--depth_path ${depth_path}
--G_ckpt_path ${G_ckpt_path}
--controlnet_edge_path ${controlnet_edge_path}
--controlnet_depth_path ${controlnet_depth_path}
@misc{bilecen2024identitypreserving3dhead,
title={Identity Preserving 3D Head Stylization with Multiview Score Distillation},
author={Bahri Batuhan Bilecen and Ahmet Berke Gokmen and Furkan Guzelant and Aysegul Dundar},
year={2024},
url={https://arxiv.org/abs/2411.13536},
}
ลิขสิทธิ์ 2024 Bilkent DLR ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0 ("ใบอนุญาต")