ComfyUI  >  เวิร์กโฟลว์  >  การถ่ายโอนสไตล์อย่างสม่ำเสมอด้วย Unsampling

การถ่ายโอนสไตล์อย่างสม่ำเสมอด้วย Unsampling

ขั้นตอนการทำงานนี้สำรวจ Unsampling เป็นวิธีการถ่ายโอนสไตล์อย่างสม่ำเสมอใน Stable Diffusion โดยการควบคุม latent noise, Unsampling จะช่วยให้การเคลื่อนไหวและองค์ประกอบของวิดีโอยังคงอยู่ ทำให้การเปลี่ยนแปลงสไตล์ราบรื่นและสม่ำเสมอมากขึ้น!

ComfyUI Unsampling เวิร์กโฟลว์

Consistent Style Transfer with Unsampling in Stable Diffusion
ต้องการเรียกใช้เวิร์กโฟลว์นี้หรือไม่?
  • เวิร์กโฟลว์ที่ทำงานได้เต็มที่
  • ไม่มีโหนดหรือโมเดลที่ขาดหายไป
  • ไม่จำเป็นต้องตั้งค่าด้วยตนเอง
  • มีภาพที่น่าทึ่ง

ComfyUI Unsampling ตัวอย่าง

ComfyUI Unsampling คำอธิบาย

คู่มือ Unsampling นี้เขียนโดย Inner-Reflections มีส่วนสำคัญในการสำรวจวิธีการ Unsampling เพื่อให้การถ่ายโอนสไตล์วิดีโอมีความสม่ำเสมออย่างมาก

1. บทนำ: การควบคุม Latent Noise ด้วย 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

2. ข้อกำหนดของระบบสำหรับขั้นตอนการทำงานนี้

แนะนำให้ใช้คอมพิวเตอร์ Windows ที่มีการ์ดกราฟิก NVIDIA ที่มี VRAM อย่างน้อย 12GB บนแพลตฟอร์ม RunComfy ใช้เครื่อง Medium (16GB VRAM) หรือสูงกว่า กระบวนการนี้ไม่ต้องการ VRAM มากกว่า AnimateDiff หรือ Hotshot แบบปกติ แต่ใช้เวลานานกว่าเกือบสองเท่า เนื่องจากต้องรันกระบวนการ diffusion สองครั้ง - ครั้งหนึ่งสำหรับ upsampling และอีกครั้งสำหรับ resampling ด้วยสไตล์ที่ต้องการ

3. คำอธิบายโหนดและคู่มือการตั้งค่า

โหนด: Custom Sampler

Unsampling: Custom Sampler

ส่วนหลักของสิ่งนี้คือการใช้ Custom Sampler ที่แยกการตั้งค่าทั้งหมดที่คุณเห็นใน KSampler ปกติออกเป็นชิ้นๆ:

นี่คือโหนด KSampler หลัก - สำหรับ unsampling การเพิ่ม noise/seed ไม่มีผลกระทบ (เท่าที่ฉันรู้) CFG มีความสำคัญ - โดยทั่วไปแล้ว CFG ที่สูงขึ้นในขั้นตอนนี้จะทำให้วิดีโอเข้าใกล้ต้นฉบับมากขึ้น CFG ที่สูงขึ้นบังคับให้ unsampler ตรงกับ input มากขึ้น

โหนด: KSampler Select

Unsampling: KSampler Select

สิ่งที่สำคัญที่สุดคือการใช้ sampler ที่ converges! นี่คือเหตุผลที่เราใช้ euler แทน euler a เนื่องจากตัวหลังทำให้เกิดความสุ่ม/ไม่เสถียรมากขึ้น Ancestral samplers ที่เพิ่ม noise ในแต่ละขั้นตอนจะป้องกันไม่ให้ unsampling converges อย่างสะอาด หากคุณต้องการอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ ฉันพบว่า  มีประโยชน์ @spacepxl บน reddit แนะนำว่า DPM++ 2M Karras อาจเป็น sampler ที่แม่นยำกว่าขึ้นอยู่กับกรณีการใช้งาน

โหนด: Align Your Step Scheduler

Unsampling: Align Your Step Scheduler

Scheduler ใดๆ ก็สามารถทำงานได้ดีที่นี่ - Align Your Steps (AYS) ได้ผลลัพธ์ดีที่ 16 ขั้นตอน ดังนั้นฉันจึงเลือกใช้เพื่อประหยัดเวลาในการคำนวณ ขั้นตอนที่มากขึ้นจะ converges ได้เต็มที่ขึ้นแต่ได้ผลลดลง

โหนด: Flip Sigma

Unsampling: Flip Sigma

Flip Sigma เป็นโหนด magic ที่ทำให้ unsampling เกิดขึ้น! โดยการพลิก sigma schedule เราจะย้อนกลับกระบวนการ diffusion จากภาพ input ที่สะอาดไปสู่ noise ที่เป็นตัวแทน

โหนด: Prompt

Unsampling: Prompt

Prompt มีความสำคัญมากในวิธีนี้ด้วยเหตุผลบางอย่าง Prompt ที่ดีสามารถปรับปรุงความสอดคล้องกับวิดีโอได้อย่างมากโดยเฉพาะยิ่งคุณต้องการผลักดันการเปลี่ยนแปลงมากขึ้น สำหรับตัวอย่างนี้ฉันได้ป้อน conditioning เดียวกันทั้งใน unsampler และ resampler มันดูเหมือนจะทำงานได้ดีโดยทั่วไป - ไม่มีอะไรหยุดคุณจากการใส่ conditioning ว่างใน unsampler - ฉันพบว่ามันช่วยปรับปรุงการถ่ายโอนสไตล์แม้ว่าจะสูญเสียความสม่ำเสมอบ้าง

โหนด: Resampling

Unsampling: Resampling

สำหรับ resampling สำคัญที่จะต้องปิดการเพิ่ม noise (แม้ว่าการใส่ noise ว่างในการตั้งค่า AnimateDiff sample จะมีผลเช่นเดียวกัน - ฉันได้ทำทั้งสองอย่างในขั้นตอนการทำงานของฉัน) หากคุณเพิ่ม noise ในระหว่าง resampling คุณจะได้ผลลัพธ์ที่ไม่สม่ำเสมอและมี noise อย่างน้อยในตั้งค่าเริ่มต้น ฉันแนะนำให้เริ่มด้วย CFG ต่ำและการตั้งค่า ControlNet ที่อ่อนแรงเนื่องจากดูเหมือนว่าจะให้ผลลัพธ์ที่สม่ำเสมอที่สุดในขณะที่ยังคงให้ prompt มีอิทธิพลต่อสไตล์

การตั้งค่าอื่นๆ

การตั้งค่าที่เหลือเป็นความชอบส่วนบุคคล ฉันได้ทำให้ขั้นตอนการทำงานนี้ง่ายที่สุดเท่าที่จะเป็นไปได้ในขณะที่ยังคงรวมส่วนประกอบและการตั้งค่าที่สำคัญ

4. ข้อมูลขั้นตอนการทำงาน

ขั้นตอนการทำงานเริ่มต้นใช้โมเดล SD1.5 อย่างไรก็ตามคุณสามารถเปลี่ยนไปใช้ SDXL ได้โดยการเปลี่ยน checkpoint, VAE, โมเดล AnimateDiff, โมเดล ControlNet และโมเดล step schedule เป็น SDXL

5. หมายเหตุ/ปัญหาสำคัญ

  • การกะพริบ - หากคุณดูที่ latents ที่ถอดรหัสและแสดงตัวอย่างที่สร้างโดย unsampling ในขั้นตอนการทำงานของฉัน คุณจะสังเกตเห็นบางอันที่มีความผิดปกติของสีอย่างชัดเจน สาเหตุที่แน่นอนยังไม่ชัดเจนสำหรับฉัน และโดยทั่วไปแล้วมันไม่ส่งผลกระทบต่อผลลัพธ์สุดท้าย ความผิดปกติเหล่านี้เห็นได้ชัดเจนโดยเฉพาะกับ SDXL อย่างไรก็ตามบางครั้งมันอาจทำให้เกิดการกะพริบในวิดีโอของคุณ สาเหตุหลักดูเหมือนจะเกี่ยวข้องกับ ControlNets - ดังนั้นการลดความแรงของพวกมันสามารถช่วยได้ การเปลี่ยน prompt หรือแม้กระทั่งการเปลี่ยน scheduler เล็กน้อยก็สามารถทำให้แตกต่างได้ ฉันยังคงพบปัญหานี้เป็นครั้งคราว - หากคุณมีวิธีแก้ไขโปรดแจ้งให้ฉันทราบ!
    • DPM++ 2M บางครั้งสามารถปรับปรุงการกะพริบได้

6. จะไปที่ไหนจากที่นี่?

นี่รู้สึกเหมือนเป็นวิธีใหม่ทั้งหมดในการควบคุมความสม่ำเสมอของวิดีโอ ดังนั้นมีอะไรให้สำรวจมากมาย หากคุณต้องการคำแนะนำของฉัน:

  • ลองรวม/หน้ากาก noise จากวิดีโอต้นฉบับหลายๆ อัน
  • เพิ่ม IPAdapter สำหรับการเปลี่ยนแปลงตัวละครที่สม่ำเสมอ

เกี่ยวกับผู้เขียน

Inner-Reflections

  • https://x.com/InnerRefle11312
  • https://civitai.com/user/Inner_Reflections_AI

ต้องการเวิร์กโฟลว์ ComfyUI เพิ่มเติมหรือไม่?

RunComfy

© ลิขสิทธิ์ 2024 RunComfy. สงวนลิขสิทธิ์

RunComfy เป็นผู้นำ ComfyUI แพลตฟอร์มที่นำเสนอ ComfyUI ออนไลน์ สภาพแวดล้อมและบริการ พร้อมด้วย เวิร์กโฟลว์ ComfyUI ที่มีภาพที่น่าทึ่ง