Updated: 5/27/2024
สวัสดี! 🌟 วันนี้เราจะสำรวจศิลปะของการแทนที่และแก้ไขใบหน้าในภาพถ่ายและวิดีโอด้วยสิ่งที่เจ๋งมาก: รายละเอียดใบหน้า ComfyUI เตรียมพู่กันดิจิทัลของคุณและมาเริ่มสร้างสรรค์กันเถอะ!
เราจะครอบคลุม:
ฉันเชื่อว่าคุณอาจคุ้นเคยหรือเคยได้ยินเกี่ยวกับส่วนขยาย After Detailer (ADetailer) สำหรับ Automatic111 ที่ใช้ในการแก้ไขใบหน้า ฟังก์ชันที่คล้ายกันนี้มีอยู่ใน ComfyUI และเป็นส่วนหนึ่งของโหนด Impact Pack ดังนั้นหากคุณต้องการใช้ ADetailer ใน ComfyUI คุณควรเลือกใช้รายละเอียดใบหน้าจาก Impact Pack ใน ComfyUI แทน
ComfyUI Impact Pack ทำหน้าที่เป็นกล่องเครื่องมือดิจิทัลของคุณสำหรับการปรับปรุงภาพ คล้ายกับมีดสวิสอาร์มี่สำหรับภาพของคุณ มันมาพร้อมกับโมดูลต่าง ๆ เช่น Detector, Detailer, Upscaler, Pipe และอื่น ๆ จุดเด่นคือรายละเอียดใบหน้าที่สามารถกู้คืนใบหน้าในภาพถ่าย วิดีโอ และแอนิเมชันได้อย่างง่ายดาย
ชมวิดีโอด้านบนซึ่งสร้างขึ้นโดยใช้เวิร์กโฟลว์รายละเอียดใบหน้า ComfyUI ตอนนี้คุณสามารถสัมผัสกับ เวิร์กโฟลว์รายละเอียดใบหน้า โดยไม่ต้องติดตั้งใด ๆ ทุกอย่างถูกตั้งค่าให้คุณใน ComfyUI บนคลาวด์ที่โหลดล่วงหน้าด้วยโหนด Impact Pack - รายละเอียดใบหน้าและทุกรุ่นที่จำเป็นสำหรับประสบการณ์ที่ไร้รอยต่อ คุณสามารถรันเวิร์กโฟลว์รายละเอียดใบหน้านี้ได้ทันทีหรืออ่านต่อเพื่อดูวิธีใช้และลองใช้ภายหลัง
เอาล่ะ มาลงมือทำงานกับรายละเอียดใบหน้า ComfyUI โหนดรายละเอียดใบหน้าอาจดูซับซ้อนในตอนแรก แต่ไม่ต้องกังวล เราจะแยกมันออกทีละชิ้น โดยการเข้าใจแต่ละอินพุต เอาต์พุต และพารามิเตอร์ คุณจะสามารถใช้เครื่องมือนี้ได้อย่างมืออาชีพในไม่ช้า
เพื่อค้นหารายละเอียดใบหน้าใน ComfyUI เพียงไปที่ Add Node → Impact Pack → Simple → รายละเอียดใบหน้า / รายละเอียดใบหน้า (ท่อ)
เริ่มต้นด้วย "รายละเอียดใบหน้า" แล้วต่อด้วย "รายละเอียดใบหน้าท่อ"
ในบทแนะนำนี้ เราจะเจาะลึกเกี่ยวกับวิธีการแก้ไขใบหน้าหรือแทนที่ใบหน้าในวิดีโอ วิดีโอถูกสร้างขึ้นโดยใช้ AnimateDiff หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ AnimateDiff เรามี บทแนะนำ AnimateDiff โดยเฉพาะ!
หากคุณสะดวกในการทำงานกับภาพถ่ายเพียงเปลี่ยนโหนดที่เกี่ยวข้องกับวิดีโอเป็นโหนดที่เกี่ยวข้องกับภาพ รายละเอียดใบหน้ามีความหลากหลายเพียงพอที่จะจัดการกับทั้งวิดีโอและภาพถ่าย
เริ่มต้นด้วยอินพุตภาพ (ปุ่มบนซ้ายในรายละเอียดใบหน้า) ซึ่งหมายถึงการป้อนภาพหรือวิดีโอเข้าสู่รายละเอียดใบหน้า ComfyUI นี่คือจุดเริ่มต้นของการเปลี่ยนแปลง! ที่นี่เราป้อนรายละเอียดใบหน้าวิดีโอที่สร้างโดย AnimateDiff
คุณอาจคุ้นเคยกับการตั้งค่าเหล่านี้แล้ว เราจะข้ามพื้นฐานและเพียงแค่ระบุว่าคำสั่ง - ทั้งบวกและลบ - มีบทบาทสำคัญที่นี่ เราจะใช้คำสั่งเดียวกันกับที่สร้างวิดีโอ อย่างไรก็ตามคุณมีความยืดหยุ่นในการปรับแต่งคำสั่งเหล่านี้ โดยเฉพาะอย่างยิ่งสำหรับใบหน้าที่คุณต้องการแทนที่
นี่คือส่วนที่น่าสนใจ: การใช้คำสั่งเดียวกันกับการสร้างภาพนำไปสู่การ กู้คืนใบหน้า ในทางกลับกัน คำสั่งที่แตกต่างกันหมายถึงคุณกำลังเลือกการ แทนที่ใบหน้า ทั้งหมด ทั้งหมดขึ้นอยู่กับคุณ!
เคล็ดลับ: ใช้ "To Basic Pipe" และ "From Basic Pipe"
เพื่อทำให้กระบวนการเชื่อมต่อโหนดจำนวนมากง่ายขึ้น ใช้ระบบ "Pipe" เริ่มต้นด้วย "To Basic Pipe" ซึ่งเป็นตัวรวมอินพุต เพื่อรวบรวมอินพุตต่าง ๆ จากนั้นใช้ "From Basic Pipe" เพื่อแยกอินพุตเหล่านี้ เพียงเชื่อมต่อท่อทั้งสองนี้แล้วคุณจะมีอินพุตทั้งหมดพร้อมสำหรับการรวมอย่างรวดเร็วและมีประสิทธิภาพ
โมเดล BBox เชี่ยวชาญในการระบุองค์ประกอบโดยใช้กล่องขอบเขตในขณะที่โมเดล Segm/person ใช้หน้ากากสำหรับการตรวจจับ
ในทั้งสองกรณี ไม่ว่าจะเป็น BBox Detector หรือ Segm Detector เราใช้โหนด "Ultral Litic Detector Provider" อย่างไรก็ตาม สิ่งสำคัญคือต้องทราบว่าสำหรับ BBox Detector เราใช้โมเดล bbox/face_yolov8m และ bbox/hand_yolov8s โดยเฉพาะ ในขณะที่โมเดล segm/person_yolov8m-seg ใช้เฉพาะสำหรับ Segm Detector
สิ่งที่ตามมามีเฉพาะกับ BBox Detector ดังนั้นคุณจะสังเกตเห็นว่าตัวอย่างภาพที่ถูกครอบและปรับปรุงจะปรากฏเป็นกล่อง
จากนั้นเมื่อเรารวมความสามารถของทั้ง BBox Detector และ Segm Detector และรวมโมเดล Sam ตัวอย่างภาพที่ถูกครอบและปรับปรุงจะมีลักษณะเหมือนหน้ากาก
ขนาดไกด์: ขนาดไกด์สำหรับ BBX มุ่งเน้นรายละเอียดใบหน้าของภาพไปที่ พื้นที่ใบหน้าของกล่องขอบเขต (ตามที่แสดงในตัวอย่างภาพที่ถูกครอบและปรับปรุง) ตั้งค่าเริ่มต้นที่ 256 ซึ่งหมายความว่าหากพื้นที่ใบหน้าของกล่องขอบเขตน้อยกว่า 256 พิกเซล ระบบจะขยายอัตโนมัติให้มีขนาดขั้นต่ำ 256 พิกเซล
ขนาดสูงสุด: ขนาดสูงสุดกำหนดขอบเขตบนสำหรับขนาดสูงสุดที่ พื้นที่ที่ถูกครอบ สามารถเป็นได้ (ตามที่แสดงในตัวอย่างภาพที่ถูกครอบและปรับปรุง) ขีดจำกัดนี้เพื่อป้องกันไม่ให้พื้นที่ใหญ่เกินไปซึ่งอาจนำไปสู่ปัญหาอื่น ๆ ขนาดสูงสุดเริ่มต้นคือ 768 พิกเซล
รักษาช่วงที่เหมาะสม: โดยการตั้งค่าพารามิเตอร์เหล่านี้ เรารักษาขนาดภาพให้อยู่ในช่วง 256 ถึง 768 พิกเซล ซึ่งเหมาะสำหรับ SD 1.5 Checkpoint อย่างไรก็ตาม หากคุณเปลี่ยนไปใช้รุ่น SDXL Checkpoint ที่รู้จักกันว่ามีประสิทธิภาพดีกว่าสำหรับภาพขนาดใหญ่ การปรับขนาดไกด์เป็น 512 และขนาดสูงสุดเป็น 1024 อาจเป็นประโยชน์ การปรับนี้ควรทดลองดู
ขนาดไกด์สำหรับ: ภายใต้ขนาดไกด์ มีตัวเลือกที่เรียกว่า "ขนาดไกด์สำหรับ bbox" ซึ่งช่วยให้คุณสามารถเปลี่ยนโฟกัสไปที่พื้นที่การครอบซึ่งเป็นพื้นที่ที่ใหญ่กว่าพื้นที่ใบหน้าของกล่องขอบเขต
ปัจจัยครอบ BBX: ปัจจัยครอบ BBX ถูกตั้งค่าไว้ที่ 3 การลดปัจจัยครอบเป็น 1.0 หมายถึงพื้นที่การครอบที่เล็กกว่าเท่ากับพื้นที่ใบหน้า เมื่อตั้งค่าเป็น 3 หมายถึงพื้นที่การครอบใหญ่กว่าพื้นที่ใบหน้า 3 เท่า
แก่นของการปรับปัจจัยการครอบอยู่ที่การสร้างสมดุลระหว่างการให้โฟกัสที่เพียงพอสำหรับรายละเอียดใบหน้าและการให้พื้นที่เพียงพอสำหรับการผสมผสานบริบท การตั้งค่าเป็น 3 หมายถึงพื้นที่การครอบรวมถึงบริบทโดยรอบเพิ่มเติมเล็กน้อยซึ่งโดยทั่วไปเป็นประโยชน์ อย่างไรก็ตามคุณควรคำนึงถึงขนาดของใบหน้าในภาพเมื่อพิจารณาการตั้งค่าที่เหมาะสม
การตั้งค่า Feather กำหนดขอบเขตที่ขอบภาพหรือพื้นที่ที่ถูกวาดซ้ำจะผสมผสานกับส่วนที่เหลือของภาพได้อย่างไร ฉันมักตั้งค่าไว้ที่ห้า ซึ่งทำงานได้ดีในกรณีส่วนใหญ่ อย่างไรก็ตามหากคุณสังเกตเห็นว่าการวาดซ้ำในภาพของคุณมีขอบที่แข็งเกินไป คุณอาจพิจารณาเพิ่มค่านี้ เนื่องจากเราไม่สังเกตเห็นขอบที่แข็งในตัวอย่างนี้ จึงไม่มีความจำเป็นต้องปรับ
การเปิดใช้งานหน้ากากเสียงจะสั่งให้โมเดลมุ่งเน้นการดำเนินการเสียงและการลดเสียงเฉพาะในพื้นที่ที่ถูกหน้ากาก นี่เปลี่ยนกล่องขอบเขตเป็นหน้ากากซึ่งระบุพื้นที่ที่เสียงถูกนำมาใช้และปรับปรุงต่อไป ฟังก์ชันนี้มีความสำคัญโดยเฉพาะเมื่อทำงานกับตัวตรวจจับ Segm และโมเดล Sam
การบังคับการวาดซ้ำทำหน้าที่เป็นเครื่องมือเฉพาะสำหรับการเพิ่มรายละเอียดเพิ่มเติมในพื้นที่เฉพาะของภาพ บ่อยครั้งเรามุ่งเน้นไปที่ใบหน้าในภาพ มีบางครั้งที่ระบบอัตโนมัติอาจไม่เพิ่มรายละเอียดเพียงพอให้กับใบหน้าเหล่านี้ โดยเข้าใจผิดว่าใบหน้าเหล่านี้มีรายละเอียดเพียงพอแล้ว นี่เป็นสถานการณ์ที่เหมาะสมในการใช้การบังคับการวาดซ้ำ
ในสาระสำคัญ การบังคับการวาดซ้ำเหมาะสำหรับการเพิ่มรายละเอียดในบางพื้นที่ของภาพของคุณ โดยเฉพาะเมื่อการตั้งค่าอัตโนมัติไม่เพียงพอ
มีประโยชน์โดยเฉพาะในสถานการณ์การแทนที่ใบหน้าหลายใบ การตั้งค่าขนาดการลดลงจะสั่งให้โมเดลเพิกเฉยต่อหน้ากากที่มีขนาดเล็กกว่าขนาดที่กำหนด เช่น 10 พิกเซล ฟังก์ชันนี้มีคุณค่าสูงในฉากที่มีคนเยอะที่ต้องการมุ่งเน้นไปที่ใบหน้าที่ใหญ่กว่า
เกณฑ์ BBox: เกณฑ์ bbox ที่ให้อภัยมากขึ้น โมเดลจะประเมินภาพโดยให้เปอร์เซ็นต์ความมั่นใจแก่ใบหน้าที่เป็นไปได้ การเปลี่ยนแปลงเกณฑ์จะปรับระดับความมั่นใจที่จำเป็นสำหรับโมเดลในการรับรู้และแทนที่ใบหน้า
พิจารณาภาพที่มีหน้ากากในพื้นหลังและมีบุคคลในพื้นหน้า โมเดลอาจสับสนหน้ากากเหล่านี้เป็นใบหน้า ในกรณีดังกล่าว คุณอาจเพิ่มเกณฑ์เพื่อให้แน่ใจว่ามันรับรู้และมุ่งเน้นไปที่ใบหน้าที่ชัดเจน แทนที่จะเป็นหน้ากาก ในทางกลับกัน เพื่อแทนที่ใบหน้าหลายใบในฝูงชนที่ใบหน้าไม่ชัดเจน การลดเกณฑ์ bbox สามารถช่วยในการระบุใบหน้าเหล่านี้
การขยาย bbox: การตั้งค่าการขยาย bbox ช่วยให้ขยายเกินพื้นที่การครอบเริ่มต้น ซึ่งโดยปกติมักจำกัดอยู่ที่ใบหน้า เมื่อคุณเพิ่มการขยาย พื้นที่โดยรอบใบหน้าจะรวมอยู่ในกระบวนการแทนที่ อย่างไรก็ตาม การเปลี่ยนแปลงเหล่านี้มักจะมีรายละเอียดเล็กน้อยและอาจต้องปรับปัจจัยการครอบเพื่อให้ได้ผลลัพธ์ที่เห็นได้ชัดเจนมากขึ้น
ปัจจัยการครอบ BBX: กล่าวถึงแล้วใน 4.1
Segm/Sam ปรับแต่งกล่องขอบเขตแบบดั้งเดิมให้เป็นหน้ากากที่แม่นยำมากขึ้น เพิ่มความแม่นยำในการแทนที่ใบหน้า ความแม่นยำนี้มีประโยชน์อย่างยิ่งในสถานการณ์ที่กล่องขอบเขตทับซ้อนกับผมและคุณต้องการไม่เปลี่ยนแปลงผม โดยการใช้โมเดล Sam คุณสามารถมุ่งเน้นการแทนที่เฉพาะที่ใบหน้า
Sam Detection Hint: การตั้งค่าการบอกใบ้การตรวจจับ Sam เป็นการตั้งค่าที่สำคัญ มันแนะนำโมเดลว่าจะมุ่งเน้นที่ไหนเมื่อระบุใบหน้า คุณมีตัวเลือกหลายอย่างรวมถึง Center, Horizontal (หนึ่งหรือสองใบหน้า), Vertical (สองใบหน้า) และการจัดเรียงสำหรับสี่ใบหน้าในรูปแบบสี่เหลี่ยมหรือเพชร
Sam Dilation: คล้ายกับการขยายกล่องขอบเขต การตั้งค่าการขยาย Sam ปรับพื้นที่นอกหน้ากากหรือจุดโฟกัสที่โมเดลจะเปลี่ยนแปลง การเพิ่มการขยายนี้จะขยายพื้นที่หน้ากากกลับไปที่รูปกล่อง
Sam Threshold: ตั้งค่าไว้ที่ 93% สูง เกณฑ์ Sam ทำงานคล้ายกับคู่ขนานของกล่องขอบเขตแต่ต้องการระดับความมั่นใจที่สูงกว่าเนื่องจากความแม่นยำของโมเดล
Sam Box Expansion: การตั้งค่านี้ปรับแต่งกล่องขอบเขตเริ่มต้นเพิ่มเติม กำหนดพื้นที่ใบหน้า การเพิ่มการขยายกล่องมีประโยชน์เมื่อกล่องขอบเขตเริ่มต้นจำกัดเกินไป ช่วยให้โมเดลจับภาพใบหน้าได้มากขึ้น
Sam Mask Hint Threshold: ทำงานร่วมกับการบอกใบ้การตรวจจับ Sam การตั้งค่านี้กำหนดความก้าวร้าวของโมเดลในการตอบสนองต่อการบอกใบ้ การตั้งค่าเริ่มต้นคือ 0.7
ด้วยข้อมูลนี้ คุณควรมีความเข้าใจที่ลึกซึ้งเกี่ยวกับวิธีการทำงานของรายละเอียดใบหน้า
การรวมรายละเอียดใบหน้าสองตัวสำหรับการตั้งค่าสองครั้งเป็นไปได้ เพียงโอนรายละเอียดใบหน้าไปยัง FaceDetailerPipe
ในการตั้งค่าแบบครั้งเดียว (1pass) โฟกัสหลักอยู่ที่การกู้คืนโครงร่างพื้นฐาน ซึ่งต้องใช้ความละเอียดปานกลางและตัวเลือกน้อยที่สุด อย่างไรก็ตาม การขยายที่นี่สามารถเป็นประโยชน์ได้เนื่องจากไม่เพียงครอบคลุมลักษณะใบหน้าแต่ยังขยายไปยังพื้นที่รอบ ๆ เทคนิคนี้มีประโยชน์โดยเฉพาะเมื่อการเปลี่ยนรูปขยายเกินกว่าพื้นที่ใบหน้า คุณสามารถทดลองตามความต้องการ
เพื่อให้ได้ผลลัพธ์ที่ดียิ่งขึ้น เราสามารถใช้โหนด ultra sharp สำหรับการขยาย โดยการปรับขนาดภาพและเลือกรูปแบบการขยายที่เหมาะสม คุณสามารถปรับปรุงคุณภาพภาพได้อย่างมีนัยสำคัญ
เริ่มเลย! ด้วยเวิร์กโฟลว์รายละเอียดใบหน้า ComfyUI คุณสามารถแก้ไขใบหน้าในวิดีโอและแอนิเมชันใด ๆ ได้แล้ว!
อยากลองใช้เวิร์กโฟลว์รายละเอียดใบหน้า ComfyUI ที่เราได้พูดถึงหรือไม่? พิจารณาใช้ RunComfy ซึ่งเป็นสภาพแวดล้อมคลาวด์ที่มี GPU ที่ทรงพลัง มันถูกเตรียมพร้อมและรวมทุกอย่างที่เกี่ยวข้องกับ ComfyUI Impact Pack - รายละเอียดใบหน้า ตั้งแต่โมเดลไปจนถึงโหนดที่กำหนดเอง ไม่ต้องตั้งค่าด้วยตัวเอง! มันเป็นสนามเด็กเล่นของคุณเพื่อปลดปล่อยประกายความคิดสร้างสรรค์
ผู้เขียน: บรรณาธิการ RunComfy
ทีมบรรณาธิการของเรามีประสบการณ์ในการทำงานกับ AI มากกว่า 15 ปี เริ่มต้นจาก NLP/Vision ในยุคของ RNN/CNN เรามีประสบการณ์มากมายในด้าน AI Chatbot/Art/Animation เช่น BERT/GAN/Transformer เป็นต้น ติดต่อเราหากคุณต้องการความช่วยเหลือเกี่ยวกับศิลปะ AI แอนิเมชัน และวิดีโอ
© ลิขสิทธิ์ 2024 RunComfy. สงวนลิขสิทธิ์