แผนที่ความลึกควบคุมอะไรจริง ๆ

ภาพระดับเทาที่ ControlNet Depth ใช้ ไม่ได้บันทึกความสว่างความมืด แต่บันทึกว่า แต่ละพิกเซลอยู่ห่างจากเลนส์แค่ไหน จุดที่ใกล้จะสว่าง จุดที่ไกลจะมืด ทั้งเส้นรูปร่างของตัวละครและความสัมพันธ์เชิงลึกระหว่างอวัยวะถูกบีบอัดกลายเป็น “แผนที่ระยะ” ที่โมเดลอ่านออก

สิ่งนี้ให้ประโยชน์ตรง ๆ สองข้อ: โมเดลจะไม่ถูกวัสดุ สี หรือแสงของภาพต้นทางดึงไปทาง แต่กลับได้รับทิศทางของร่างกาย ตำแหน่งของแขนขา และความสัมพันธ์การบังของส่วนหน้าและส่วนหลังอย่างแม่นยำ ถ้าคุณให้แผนที่ความลึกของท่ายืน โมเดลจะไม่ก๊อปลายผ้ามาใส่ แต่จะถอดมุมของสะโพ ระดับการยกแขน และจุดที่เท้าวางลงตามที่เห็น

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

ขั้นหนึ่ง: กรองให้เหลือสามถึงห้าท่าในคลัง

คนส่วนใหญ่ติดที่พารามิเตอร์ ไม่ใช่ที่ “หาท่าที่ใช่ไม่เจอ” ลำดับที่ถูกต้องคือ ลดขอบเขตก่อน แล้วค่อยสร้างภาพ

  • เริ่มจาก คลังท่าทาง แล้วจำกัดขอบเขตตามระบบ: เลือกเต็มตัวเดี่ยว ครึ่งตัวบนเดี่ยว หรือคู่
  • กรองซ้ำตามหมวดหมู่ เช่น ยืน นั่ง คุกเข่า เอนพิง ระบบกับหมวดหมู่เป็นสองชั้นโครงสร้าง เมื่อรวมกันมักเหลือไม่กี่สิบภาพ
  • ล็อกมุมกล้องเป็นขั้นสุดท้าย หนึ่งท่ามีห้ามุม — ด้านหน้า มุมมองจากบน มุมมองจากล่าง ด้านข้าง และสามส่วนสี่ ทั้งมุมมองจากบนและจากล่างให้มุมมองภาพต่างกันอย่างสิ้นเชิง ถ้าเลือกผิดตรงนี้ขั้นตอนถัดไปก็เสียเปล่าทั้งหมด

เหลือสามถึงห้าภาพก็พอ ตอนสร้างภาพจริงคุณจะพบว่าท่าที่ใช้ได้มีน้อยกว่าที่คิดมาก — ปัญหามักไม่ใช่จำนวน แต่เป็นการเลือกมุมให้ถูก

ขั้นสอง: สลับแหล่งภาพเพื่อเทียบสักครั้ง

ในแถบตัวกรองของคลังท่าทางมีตัวเลือก “แหล่งภาพ”: แผนที่ความลึก ไลน์อาร์ต และเปรียบเทียบ เมื่อสลับเป็นโหมดเปรียบเทียบ การชี้เมาส์บนการ์ดจะแสดงไลน์อาร์ตแบบเรียลไทม์ ส่วนภาพขนาดใหญ่จะแสดงสองภาพวางเคียงกัน

ขั้นนี้ทำอะไรไม่มาก — ยืนยันว่าท่านั้นยืนได้ทั้งสองแบบการแสดงผล บางท่าเส้นรูปร่างชัดในแผนที่ความลึก แต่พอแปลงเป็นไลน์อาร์ตแล้วส่วนที่แขนทับลำตัวจะกลืนเป็นเนื้อเดียวกัน ในทางกลับกันก็มีท่าที่ไลน์อาร์ตคมชัดแต่ชั้นเชิงความลึกไม่ชัด การมองเห็นปัญหาตั้งแต่ต้นดีกว่าสร้างภาพเสียห้าภาพแล้วค่อยย้อนกลับมาแก้

ขั้นสาม: ตั้งค่าพารามิเตอร์ใน ControlNet อย่างไร

ตัวอย่างใน Stable Diffusion WebUI ชุดค่าที่ใช้บ่อยคือ:

  • ตัวประมวลผลก่อน: ถ้าใช้แผนที่ความลึกจากคลังโดยตรง ให้เลือก none ภาพในคลังผ่านการ normalize มาแล้ว ถ้าผ่านตัวประมวลผล Depth อีกครั้งจะทำให้ชั้นความลึกหายไป
  • โมเดล: control_v11f1p_sd15_depth (SD1.5) หรือโมเดล depth ของ SDXL ที่ตรงกัน เวอร์ชันต้องตรงกับโมเดลหลัก
  • น้ำหนัก: เริ่มที่ 0.65 ต่ำกว่า 0.5 ท่ามักเพี้ยน สูงกว่า 0.9 ภาพจะแข็งทื่อคล้ายภาพแปะทับ
  • ช่วงเวลาการควบคุม: 0 ถึง 0.75 ให้การควบคุมครอบคลุมสามในสี่แรกของขั้นตอนการสุ่ม ปล่อยช่วงท้ายให้โมเดลเก็บรายละเอียดเอง
  • ความละเอียด: สัดส่วนของภาพควบคุมกับภาพที่สร้างต้องเหมือนกัน ภาพต้นฉบับในคลังคือ 900×1200 (3:4) ให้สร้างที่ 3:4 ด้วย ไม่เช่นนั้นร่างกายจะถูกยืด

สามปัญหาที่พบบ่อยที่สุด

1. ร่างกายกลายเป็นหุ่นไม้

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

2. มือและเท้าเพี้ยน

แผนที่ความลึกควบคุมนิ้วได้น้อยอยู่แล้ว นิ้วทั้งห้าอยู่ในชั้นความลึงเดียวกันเกือบทั้งหมด ทางออกคือจำกัดขอบเขตภาพให้เหลือครึ่งตัวบน หรือใช้การระบายใหม่เฉพาะท้องบนหลังสร้างภาพเสร็จ ระบบ “ครึ่งตัวบนเดี่ยว” ในคลังเตรียมไว้สำหรับภาพลักษณะแบบนี้โดยเฉพาะ

3. ในฉากคู่ เสมือนท่าของคนหนึ่งจะหายไปเสมอ

เมื่อค่าความลึกของทั้งสองคนทับกัน โมเดลจะแยกไม่ออกว่าใครอยู่ข้างหน้า ในกรณีนี้ควรเปลี่ยนไปใช้ไลน์อาร์ตก่อน หรือปรับแผนที่ความลึกของทั้งคู่ให้สว่างขึ้นหนึ่งขั้น เพื่อให้ชั้นความลึกหน้าหลังแยกออกจากกันชัดเจน

ทำให้ขั้นตอนเป็นระเบียบ

ในงานจริง ผมแนะนำให้ยึดลำดับนี้: กรองมุม → เทียบแหล่งภาพ → ตั้งน้ำหนัก → ทดลองทีละภาพ → สร้างเป็นชุด สองขั้นแรกทำในคลังได้ภายในสองนาที ส่วนอีกสามขั้นเป็นส่วนที่ใช้เวลาจริง การวางงานที่ถูกไว้ไว้ต้น ๆ คือจุดที่ทั้งกระบวนการประหยัดที่สุด

ทั้ง 288 ชุดท่าทางและ 2,880 ภาพในคลังดาวน์โหลดได้โดยตรง และดึงทั้งระบบมาเป็นแพ็กก็ได้ บทถัดไปจะพูดถึงการเขียนโพรมต์ อ่านต่อได้เลย