Hotshot-XL คือโมเดล AI จากข้อความเป็น GIF ที่ได้รับการฝึกให้ทำงานร่วมกับ Stable Diffusion XL
Hotshot-XL สามารถสร้าง GIF ด้วยโมเดล SDXL ที่ได้รับการปรับแต่งอย่างละเอียด นี่หมายถึงสองสิ่ง:
คุณจะสามารถสร้าง GIF ด้วยโมเดล SDXL ที่มีอยู่หรือที่ได้รับการปรับแต่งใหม่ซึ่งคุณอาจต้องการใช้
หากคุณต้องการสร้าง GIF ของหัวข้อเฉพาะบุคคล คุณสามารถโหลด LORA ที่ใช้ SDXL ของคุณเองได้ และไม่ต้องกังวลกับการปรับแต่ง Hotshot-XL วิธีนี้ยอดเยี่ยมมากเพราะโดยปกติแล้วการค้นหารูปภาพที่เหมาะสมสำหรับข้อมูลการฝึกจะง่ายกว่าการค้นหาวิดีโอมาก หวังว่ามันจะเหมาะกับการใช้งาน/ขั้นตอนการทำงาน LORA ที่มีอยู่ของทุกคนด้วย :) ดูเพิ่มเติมที่นี่
Hotshot-XL เข้ากันได้กับ SDXL ControlNet เพื่อสร้าง GIF ในองค์ประกอบ/เลย์เอาต์ที่คุณต้องการ ดูส่วน ControlNet ด้านล่าง
Hotshot-XL ได้รับการฝึกฝนให้สร้าง GIF 1 วินาทีที่ 8 FPS
Hotshot-XL ได้รับการฝึกในอัตราส่วนภาพต่างๆ เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดกับรุ่น Hotshot-XL พื้นฐาน เราขอแนะนำให้ใช้กับรุ่น SDXL ที่ได้รับการปรับแต่งแบบละเอียดด้วยรูปภาพขนาด 512x512 คุณสามารถค้นหาโมเดล SDXL ที่เราปรับแต่งอย่างละเอียดสำหรับความละเอียด 512x512 ได้ที่นี่
ลองใช้ Hotshot-XL ด้วยตัวเองที่นี่: https://www.hotshot.co
หรือหากคุณต้องการใช้งาน Hotshot-XL ด้วยตนเองในเครื่อง ให้ดำเนินการต่อไปยังส่วนด้านล่าง
หากคุณใช้ Hotshot-XL ด้วยตัวเอง คุณจะมีความยืดหยุ่น/ควบคุมโมเดลได้มากขึ้น เป็นตัวอย่างง่ายๆ คุณจะสามารถเปลี่ยนตัวอย่างได้ จนถึงตอนนี้ เราได้เห็นผลลัพธ์ที่ดีที่สุดเมื่อใช้ออยเลอร์-เอ แต่คุณอาจพบผลลัพธ์ที่น่าสนใจเมื่อใช้ร่วมกับผลลัพธ์อื่นๆ
pip install virtualenv --upgrade virtualenv -p $(which python3) venv source venv/bin/activate pip install -r requirements.txt
# Make sure you have git-lfs installed (https://git-lfs.com) git lfs install git clone https://huggingface.co/hotshotco/Hotshot-XL
หรือเข้าไปที่ https://huggingface.co/hotshotco/Hotshot-XL
หมายเหตุ : เพื่อเพิ่มประสิทธิภาพข้อมูลและการฝึกอบรมให้สูงสุด Hotshot-XL ได้รับการฝึกที่อัตราส่วนภาพต่างๆ ประมาณความละเอียด 512x512 เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดกับรุ่น Hotshot-XL พื้นฐาน เราขอแนะนำให้ใช้กับรุ่น SDXL ที่ได้รับการปรับแต่งอย่างละเอียดด้วยรูปภาพที่มีความละเอียดประมาณ 512x512 คุณสามารถดาวน์โหลดโมเดล SDXL ที่เราฝึกด้วยรูปภาพที่มีความละเอียด 512x512 ด้านล่าง หรือนำโมเดลพื้นฐาน SDXL ของคุณเองมาด้วย
# Make sure you have git-lfs installed (https://git-lfs.com) git lfs install git clone https://huggingface.co/hotshotco/SDXL-512
หรือเข้าไปที่ https://huggingface.co/hotshotco/SDXL-512
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif"
สิ่งที่คาดหวัง:
พรอมต์ | ดำน้ำแซสควอทช์ | อูฐสูบบุหรี่ | Ronald McDonald นั่งอยู่ที่กระจกแต่งหน้าและทาลิปสติก | Drake เลียริมฝีปากและมองผ่านหน้าต่างไปที่คัพเค้ก |
---|---|---|---|---|
เอาท์พุต |
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif" --spatial_unet_base="path/to/stabilityai/stable-diffusion-xl-base-1.0/unet" --lora="path/to/lora"
สิ่งที่คาดหวัง:
หมายเหตุ : ผลลัพธ์ด้านล่างใช้ DDIMScheduler
พรอมต์ | คน sks กรีดร้องที่ดวงอาทิตย์คาปรี | คน sks จูบมิตกบ | คน sks สวมชุดทักซิโด้ถือแก้วแชมเปญ ดอกไม้ไฟในพื้นหลัง hd คุณภาพสูง 4K |
---|---|---|---|
เอาท์พุต |
python inference.py --prompt="a girl jumping up and down and pumping her fist, hd, high quality" --output="output.gif" --control_type="depth" --gif="https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExbXNneXJicG1mOHJ2dzQ2Y2JteDY1ZWlrdjNjMjl3ZWxyeWFxY2EzdyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/YOTAoXBgMCmFeQQzuZ/giphy.gif"
ตามค่าเริ่มต้น Hotshot-XL จะสร้างคีย์เฟรมจาก GIF ต้นฉบับของคุณโดยใช้เฟรมที่เว้นระยะห่างเท่ากัน 8 เฟรม และครอบตัดคีย์เฟรมให้เป็นอัตราส่วนภาพเริ่มต้น เพื่อการควบคุมที่ละเอียดยิ่งขึ้น เรียนรู้วิธีเปลี่ยนอัตราส่วนภาพ และเปลี่ยนอัตราเฟรม/ความยาว
ปัจจุบัน Hotshot-XL รองรับการใช้รุ่น ControlNet ครั้งละหนึ่งรุ่น การรองรับ Multi-ControlNet คงจะน่าตื่นเต้นมาก
สิ่งที่คาดหวัง:
พรอมต์ | สาวสไตล์พิกซาร์ยกนิ้วโป้งสองนิ้ว มีความสุข คุณภาพสูง 8k 3d แอนิเมชันเรนเดอร์ดิสนีย์ | Keanu ถือป้ายที่เขียนว่า "HELP" แบบ HD คุณภาพสูง | ผู้หญิงหัวเราะ HD คุณภาพสูง | บารัค โอบามา สร้างสายรุ้งด้วยมือ มีคำว่า "MAGIC" อยู่ตรงหน้า สวมเสื้อฮู้ดลายทางสีน้ำเงินขาว HD คุณภาพสูง |
---|---|---|---|---|
เอาท์พุต | ||||
ควบคุม |
หมายเหตุ : โมเดล SDXL พื้นฐานได้รับการฝึกฝนเพื่อสร้างรูปภาพที่มีความละเอียดประมาณ 1024x1024 ได้ดีที่สุด เพื่อเพิ่มประสิทธิภาพข้อมูลและการฝึกอบรมให้สูงสุด Hotshot-XL ได้รับการฝึกอบรมที่อัตราส่วนกว้างยาวประมาณความละเอียด 512x512 โปรดดูหมายเหตุเพิ่มเติมสำหรับรายการอัตราส่วนภาพที่โมเดล Hotshot-XL พื้นฐานได้รับการฝึกฝน
เช่นเดียวกับ SDXL Hotshot-XL ได้รับการฝึกในอัตราส่วนภาพต่างๆ พร้อมกลุ่มอัตราส่วนภาพ และรวมถึงการรองรับพารามิเตอร์ SDXL เช่น ขนาดเป้าหมาย และขนาดดั้งเดิม ซึ่งหมายความว่าคุณสามารถสร้าง GIF ได้ในอัตราส่วนและความละเอียดที่แตกต่างกันหลายแบบ เพียงใช้รุ่น Hotshot-XL พื้นฐานเท่านั้น
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif" --width=<WIDTH> --height=<HEIGHT>
สิ่งที่คาดหวัง:
512x512 | 672x384 | 384x672 | |
---|---|---|---|
ลิงเล่นกีตาร์ ภาพธรรมชาติ HD คุณภาพสูง |
ตามค่าเริ่มต้น Hotshot-XL ได้รับการฝึกฝนให้สร้าง GIF ที่มีความยาว 1 วินาทีด้วย 8FPS หากคุณต้องการเล่นกับการสร้าง GIF ด้วยอัตราเฟรมและระยะเวลาที่แตกต่างกัน คุณสามารถลองใช้พารามิเตอร์ video_length
และ video_duration
video_length
กำหนดจำนวนเฟรม ค่าเริ่มต้นคือ 8
video_duration
ตั้งค่ารันไทม์ของเอาต์พุต gif เป็นมิลลิวินาที ค่าเริ่มต้นคือ 1,000
โปรดทราบว่าคุณควรคาดหวังผลลัพธ์ที่ไม่เสถียร/"กระวนกระวายใจ" เมื่อแก้ไขพารามิเตอร์เหล่านี้ เนื่องจากโมเดลได้รับการฝึกฝนด้วยวิดีโอ 1 วินาทีที่ 8fps เท่านั้น คุณจะสามารถปรับปรุงความเสถียรของผลลัพธ์สำหรับความยาวเวลาและอัตราเฟรมที่แตกต่างกันได้โดยการปรับแต่ง Hotshot-XL โปรดแจ้งให้เราทราบหากคุณทำ!
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif" --video_length=16 --video_duration=2000
Hotshot-XL ได้รับการฝึกฝนให้สร้าง GIF ควบคู่ไปกับ SDXL หากคุณต้องการสร้างเฉพาะรูปภาพ คุณสามารถตั้งค่า video_length=1
ในการเรียกอนุมานของคุณ จากนั้นเลเยอร์ชั่วคราวของ Hotshot-XL จะถูกละเว้นตามที่คุณคาดหวัง
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.jpg" --video_length=1
Hotshot-XL ได้รับการฝึกฝนในอัตราส่วนภาพต่อไปนี้ เพื่อสร้าง GIF ที่อยู่นอกช่วงอัตราส่วนภาพเหล่านี้ได้อย่างน่าเชื่อถือ คุณจะต้องปรับแต่ง Hotshot-XL ด้วยวิดีโอที่มีความละเอียดของอัตราส่วนภาพที่คุณต้องการ
อัตราส่วนภาพ | ขนาด |
---|---|
0.42 | 320x768 |
0.57 | 384 x 672 |
0.68 | 416x608 |
1.00 น | 512x512 |
1.46 | 608x416 |
1.75 | 672x384 |
2.40 | 768x320 |
ส่วนต่อไปนี้เกี่ยวข้องกับการปรับแต่งโมเดลชั่วคราวของ Hotshot-XL ด้วยคู่ข้อความ/วิดีโอเพิ่มเติม หากคุณกำลังพยายามสร้าง GIF ของแนวคิด/หัวข้อเฉพาะบุคคล เราขอแนะนำว่าอย่าปรับแต่ง Hotshot-XL อย่างละเอียด แต่ให้ฝึกฝน LORA ที่ใช้ SDXL ของคุณเองแล้วโหลดสิ่งเหล่านั้นแทน
สคริปต์ fine_tune.py
คาดว่าตัวอย่างของคุณจะมีโครงสร้างดังนี้:
fine_tune_dataset ├── sample_001 │ ├── 0.jpg │ ├── 1.jpg │ ├── 2.jpg ... ... │ ├── n.jpg │ └── prompt.txt
แต่ละไดเร็กทอรีตัวอย่างควรมี คีย์เฟรม n และไฟล์ prompt.txt
ซึ่งมีพรอมต์ จุดตรวจสอบสุดท้ายจะถูกบันทึกไว้ใน output_dir
เราพบว่าการส่ง GIF การตรวจสอบความถูกต้องไปยัง Weights & Biases บ่อยๆ มีประโยชน์ หากคุณเลือกที่จะใช้การตรวจสอบกับ Weights & Biases คุณสามารถตั้งค่าความถี่ในการทำงานด้วยพารามิเตอร์ validate_every_steps
accelerate launch fine_tune.py --output_dir="<OUTPUT_DIR>" --data_dir="fine_tune_dataset" --report_to="wandb" --run_validation_at_start --resolution=512 --mixed_precision=fp16 --train_batch_size=4 --learning_rate=1.25e-05 --lr_scheduler="constant" --lr_warmup_steps=0 --max_train_steps=1000 --save_n_steps=20 --validate_every_steps=50 --vae_b16 --gradient_checkpointing --noise_offset=0.05 --snr_gamma --test_prompts="man sits at a table in a cafe, he greets another man with a smile and a handshakes"
มีหลายวิธีที่เรารู้สึกตื่นเต้นกับการปรับปรุง Hotshot-XL ตัวอย่างเช่น:
การปรับแต่ง Hotshot-XL แบบละเอียดที่อัตราเฟรมที่มากขึ้นเพื่อสร้าง GIF อัตราเฟรมที่ยาวขึ้น/สูงขึ้น
การปรับแต่ง Hotshot-XL แบบละเอียดด้วยความละเอียดที่มากขึ้นเพื่อสร้าง GIF ที่มีความละเอียดสูงขึ้น
การฝึกอบรมเลเยอร์ชั่วคราวสำหรับตัวอัปสเกลแฝงเพื่อสร้าง GIF ที่มีความละเอียดสูงขึ้น
ฝึกอบรมโมเดล "การทำนายเฟรม" ที่มีเงื่อนไขของรูปภาพเพื่อให้ GIF สอดคล้องกันและยาวขึ้น
การฝึกอบรมเลเยอร์ชั่วคราวสำหรับ VAE เพื่อลดการกะพริบ/การแตกสีในเอาต์พุต
รองรับ Multi-ControlNet เพื่อการควบคุมการสร้าง GIF ที่ดียิ่งขึ้น
การฝึกอบรมและบูรณาการโมเดล ControlNet ต่างๆ เพื่อการควบคุมการสร้าง GIF เพิ่มเติม (การควบคุมการแสดงออกทางสีหน้าที่ละเอียดยิ่งขึ้นจะเจ๋งมาก)
การย้าย Hotshot-XL ไปยัง AITemplate เพื่อให้การอนุมานเร็วขึ้น
เรา ? การสนับสนุนจากชุมชนโอเพ่นซอร์ส! โปรดแจ้งให้เราทราบในประเด็นหรือประชาสัมพันธ์ หากคุณสนใจที่จะดำเนินการปรับปรุงเหล่านี้หรือสิ่งอื่นใด!
@software{Mullan_Hotshot-XL_2023, author = {Mullan, John and Crawbuck, Duncan and Sastry, Aakash}, license = {Apache-2.0}, month = oct, title = {{Hotshot-XL}}, url = {https://github.com/hotshotco/hotshot-xl}, version = {1.0.0}, year = {2023} }
โมเดลข้อความเป็นวิดีโอได้รับการปรับปรุงอย่างรวดเร็ว และการพัฒนา Hotshot-XL ได้รับแรงบันดาลใจอย่างมากจากผลงานและทีมงานที่น่าทึ่งดังต่อไปนี้:
SDXL
จัดตำแหน่งแฝงของคุณ
ทำ-A-Video
ภาพเคลื่อนไหวDiff
อิมเมจวิดีโอ
เราหวังว่าการเปิดตัวโมเดล/โค้ดเบสนี้จะช่วยให้ชุมชนสามารถผลักดันเครื่องมือสร้างสรรค์เหล่านี้ไปข้างหน้าในลักษณะที่เปิดกว้างและมีความรับผิดชอบ