คู่มือ Unsampling นี้เขียนโดย Inner-Reflections มีส่วนสำคัญในการสำรวจวิธีการ Unsampling เพื่อให้การถ่ายโอนสไตล์วิดีโอมีความสม่ำเสมออย่างมาก
Latent Noise เป็นพื้นฐานของทุกสิ่งที่เราทำกับ Stable Diffusion น่าทึ่งที่เราสามารถทำอะไรได้มากมายกับสิ่งนี้ อย่างไรก็ตามโดยทั่วไปแล้วเราถูกบังคับให้ใช้ตัวเลขสุ่มเพื่อสร้าง noise ถ้าเราสามารถควบคุมมันได้ล่ะ?
ฉันไม่ใช่คนแรกที่ใช้ Unsampling มันมีมานานมากแล้วและถูกใช้ในหลายวิธีที่แตกต่างกัน จนถึงตอนนี้ฉันยังไม่พอใจกับผลลัพธ์ ฉันใช้เวลาหลายเดือนหาการตั้งค่าที่ดีที่สุดและหวังว่าคุณจะชอบคู่มือนี้
โดยใช้กระบวนการ sampling กับ AnimateDiff/Hotshot เราสามารถหาตัวแทน noise ที่แสดงวิดีโอต้นฉบับของเราและทำให้การถ่ายโอนสไตล์ง่ายขึ้น มันช่วยให้ Hotshot สม่ำเสมอเนื่องจากมีหน้าต่าง context 8 เฟรม
กระบวนการ unsampling นี้เปลี่ยนวิดีโอ input ของเราเป็น latent noise ที่รักษาการเคลื่อนไหวและองค์ประกอบของต้นฉบับ เราสามารถใช้ noise ที่เป็นตัวแทนนี้เป็นจุดเริ่มต้นสำหรับกระบวนการ diffusion แทนที่จะใช้ noise แบบสุ่ม ซึ่งช่วยให้ AI สามารถใช้สไตล์ที่ต้องการในขณะที่รักษาความสม่ำเสมอของเวลา
คู่มือนี้สมมุติว่าคุณได้ติดตั้ง AnimateDiff และ/หรือ Hotshot แล้ว หากยังไม่ได้ติดตั้ง คู่มือเหล่านี้สามารถหาได้ที่นี่:
AnimateDiff: https://civitai.com/articles/2379
Hotshot XL guide: https://civitai.com/articles/2601/
ลิงก์ไปยังทรัพยากร - หากคุณต้องการโพสต์วิดีโอบน Civitai โดยใช้ขั้นตอนการทำงานนี้ https://civitai.com/models/544534
แนะนำให้ใช้คอมพิวเตอร์ Windows ที่มีการ์ดกราฟิก NVIDIA ที่มี VRAM อย่างน้อย 12GB บนแพลตฟอร์ม RunComfy ใช้เครื่อง Medium (16GB VRAM) หรือสูงกว่า กระบวนการนี้ไม่ต้องการ VRAM มากกว่า AnimateDiff หรือ Hotshot แบบปกติ แต่ใช้เวลานานกว่าเกือบสองเท่า เนื่องจากต้องรันกระบวนการ diffusion สองครั้ง - ครั้งหนึ่งสำหรับ upsampling และอีกครั้งสำหรับ resampling ด้วยสไตล์ที่ต้องการ
ส่วนหลักของสิ่งนี้คือการใช้ Custom Sampler ที่แยกการตั้งค่าทั้งหมดที่คุณเห็นใน KSampler ปกติออกเป็นชิ้นๆ:
นี่คือโหนด KSampler หลัก - สำหรับ unsampling การเพิ่ม noise/seed ไม่มีผลกระทบ (เท่าที่ฉันรู้) CFG มีความสำคัญ - โดยทั่วไปแล้ว CFG ที่สูงขึ้นในขั้นตอนนี้จะทำให้วิดีโอเข้าใกล้ต้นฉบับมากขึ้น CFG ที่สูงขึ้นบังคับให้ unsampler ตรงกับ input มากขึ้น
สิ่งที่สำคัญที่สุดคือการใช้ sampler ที่ converges! นี่คือเหตุผลที่เราใช้ euler แทน euler a เนื่องจากตัวหลังทำให้เกิดความสุ่ม/ไม่เสถียรมากขึ้น Ancestral samplers ที่เพิ่ม noise ในแต่ละขั้นตอนจะป้องกันไม่ให้ unsampling converges อย่างสะอาด หากคุณต้องการอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ ฉันพบว่า มีประโยชน์ @spacepxl บน reddit แนะนำว่า DPM++ 2M Karras อาจเป็น sampler ที่แม่นยำกว่าขึ้นอยู่กับกรณีการใช้งาน
Scheduler ใดๆ ก็สามารถทำงานได้ดีที่นี่ - Align Your Steps (AYS) ได้ผลลัพธ์ดีที่ 16 ขั้นตอน ดังนั้นฉันจึงเลือกใช้เพื่อประหยัดเวลาในการคำนวณ ขั้นตอนที่มากขึ้นจะ converges ได้เต็มที่ขึ้นแต่ได้ผลลดลง
Flip Sigma เป็นโหนด magic ที่ทำให้ unsampling เกิดขึ้น! โดยการพลิก sigma schedule เราจะย้อนกลับกระบวนการ diffusion จากภาพ input ที่สะอาดไปสู่ noise ที่เป็นตัวแทน
Prompt มีความสำคัญมากในวิธีนี้ด้วยเหตุผลบางอย่าง Prompt ที่ดีสามารถปรับปรุงความสอดคล้องกับวิดีโอได้อย่างมากโดยเฉพาะยิ่งคุณต้องการผลักดันการเปลี่ยนแปลงมากขึ้น สำหรับตัวอย่างนี้ฉันได้ป้อน conditioning เดียวกันทั้งใน unsampler และ resampler มันดูเหมือนจะทำงานได้ดีโดยทั่วไป - ไม่มีอะไรหยุดคุณจากการใส่ conditioning ว่างใน unsampler - ฉันพบว่ามันช่วยปรับปรุงการถ่ายโอนสไตล์แม้ว่าจะสูญเสียความสม่ำเสมอบ้าง
สำหรับ resampling สำคัญที่จะต้องปิดการเพิ่ม noise (แม้ว่าการใส่ noise ว่างในการตั้งค่า AnimateDiff sample จะมีผลเช่นเดียวกัน - ฉันได้ทำทั้งสองอย่างในขั้นตอนการทำงานของฉัน) หากคุณเพิ่ม noise ในระหว่าง resampling คุณจะได้ผลลัพธ์ที่ไม่สม่ำเสมอและมี noise อย่างน้อยในตั้งค่าเริ่มต้น ฉันแนะนำให้เริ่มด้วย CFG ต่ำและการตั้งค่า ControlNet ที่อ่อนแรงเนื่องจากดูเหมือนว่าจะให้ผลลัพธ์ที่สม่ำเสมอที่สุดในขณะที่ยังคงให้ prompt มีอิทธิพลต่อสไตล์
การตั้งค่าที่เหลือเป็นความชอบส่วนบุคคล ฉันได้ทำให้ขั้นตอนการทำงานนี้ง่ายที่สุดเท่าที่จะเป็นไปได้ในขณะที่ยังคงรวมส่วนประกอบและการตั้งค่าที่สำคัญ
ขั้นตอนการทำงานเริ่มต้นใช้โมเดล SD1.5 อย่างไรก็ตามคุณสามารถเปลี่ยนไปใช้ SDXL ได้โดยการเปลี่ยน checkpoint, VAE, โมเดล AnimateDiff, โมเดล ControlNet และโมเดล step schedule เป็น SDXL
นี่รู้สึกเหมือนเป็นวิธีใหม่ทั้งหมดในการควบคุมความสม่ำเสมอของวิดีโอ ดังนั้นมีอะไรให้สำรวจมากมาย หากคุณต้องการคำแนะนำของฉัน:
Inner-Reflections
© ลิขสิทธิ์ 2024 RunComfy. สงวนลิขสิทธิ์