ทำงานอย่างไร
ในแต่ละ step ของการลดสัญญาณรบกวน โมเดลคำนวณการทำนายสองชุด: ชุดหนึ่งนำทางด้วย prompt ของคุณ อีกชุดนำทางด้วย negative prompt แต่ละ step จะเริ่มจากการทำนายชุดที่สอง แล้วขยับเข้าหาชุดแรก ตามผลต่างของทั้งสองคูณด้วยค่า CFG scale (ค่า guidance) ดังนั้น negative prompt จึงไม่ใช่ตัวกรองที่ใส่ตอนท้าย แต่ช่วยปั้นภาพตั้งแต่ step แรก และนี่คือเหตุผลที่ negative prompt ไม่มีผลเลยถ้า CFG ไม่สูงกว่า 1
Negative prompt ที่ใช้ได้ผล
คุณภาพทั่วไป (SD 1.5 SDXL):
blurry, low quality, lowres, jpeg artifacts, watermark, text, signature, cropped, out of frame
คนและภาพบุคคล:
deformed, bad anatomy, extra fingers, missing fingers, extra limbs, mutated hands, poorly drawn face, asymmetric eyes
ภาพถ่าย:
painting, drawing, illustration, cartoon, 3d render, cgi, oversaturated, overexposed
อนิเมะและภาพประกอบ:
photorealistic, photo, realistic skin, worst quality, normal quality, monochrome
เริ่มจากรายการทั่วไป แล้วเพิ่มชุดที่ตรงกับเป้าหมายของคุณ สิบถึงยี่สิบคำก็เหลือเฟือ รายการยาว ๆ ที่คัดลอกมาส่วนใหญ่มีแต่เพิ่มสัญญาณรบกวน
น้ำหนักใน negative prompt
น้ำหนักทำงานเหมือนใน prompt หลัก: (blurry:1.4) ผลักออกจากความเบลอแรงขึ้น (text:1.2) ลบตัวอักษรที่หลุดมา เพิ่มน้ำหนักเฉพาะข้อบกพร่องที่กลับมาซ้ำ ๆ เท่านั้น เกิน 1.5 โมเดลจะเริ่มบิดเบือนส่วนอื่นเพื่อทำตาม
เมื่อไรที่ไม่มีผล
- CFG scale เท่ากับ 1: negative prompt ถูกมองข้ามตามกลไกการทำงาน ใช้ 5 ถึง 8 กับ SD 1.5 และ SDXL
- โมเดล Turbo และ LCM: SDXL Turbo รันโดยไม่มี guidance จึงไม่สนใจ negative prompt ส่วน LCM LoRA รันที่ CFG 1 ถึง 2 และแทบไม่ตอบสนอง
- Stable Diffusion 3.5 Large Turbo ก็รันโดยไม่มี guidance เช่นกัน negative prompt จึงไม่มีผล ส่วนโมเดล SD 3 และ 3.5 ตัวอื่นใช้ได้
- แนวคิดที่โมเดลแยกไม่ออก: ใส่ "hands" ใน negative prompt มักทำให้มือหายไปมากกว่าจะแก้กายวิภาค การวาดมือใหม่ด้วย inpainting แก้ได้
บนเว็บไซต์นี้
เครื่องมือ inpainting ใส่ negative prompt ที่แรงอยู่แล้วเบื้องหลัง คุณจึงแค่บรรยายสิ่งที่ต้องการ ส่วนตัวอย่าง prompt แสดง negative prompt ไว้ข้าง prompt หลักเมื่อมีการใช้ คัดลอกทั้งคู่ไปเริ่มจากผลลัพธ์ที่รู้อยู่แล้ว จากนั้นเปลี่ยนทีละคำโดยล็อก seed ไว้