Prompt Engineering คืออะไร?
ตั้งแต่ช่วงปี 2022 มานี้งานด้าน AI ได้พัฒนาและมีบทบาทกับงานทั่ว ๆ ไปของมนุษย์เพิ่มขึ้นอย่างมาก 2 งานหลักที่เข้ามามีบทบาทและแสดงศักยภาพได้อย่างยอดเยี่ยมคืองานด้านการประมวลผลภาษาธรรมชาติและงานรูปภาพอย่าง ChatGPT ที่สามารถพูดคุยโต้ตอบคำถามที่ผู้ใช้งานพิมพ์ข้อความเข้าไปได้อย่างชาญฉลาดมีความรู้ในหลากหลายสาขา, Stable Diffusion, Midjourney, DALL-E โมเดลเหล่านี้สามารถที่จะรับเอาข้อความที่ผู้ใช้งานส่งเข้ามาแปลงเป็นรูปภาพได้ตามสั่ง เป็นต้น จะเห็นได้การจะใช้งาน AI เหล่านี้ผู้ใช้งานจำเป็นจะต้องพิมพ์ข้อความพูดคุยสั่งการเข้าไป ซึ่งข้อความนี้จะเรียกว่า Prompt และการที่จะมี Prompt ที่ดีสื่อสารหรือสั่งการได้เข้าใจตรงกันระหว่างมนุษย์กับ AI สิ่งที่ขาดไม่ได้ก็คือ Engineering หรือกระบวนการสร้างอย่างมีแนวปฏิบัติและข้อกำหนดที่ชัดเจน ฉะนั้น Prompt Engineering คือกระบวนการสร้างข้อความสำหรับสั่งการ AI อย่างมีประสิทธิภาพและมีหลักการสามารถทำซ้ำได้ ในบทความนี้จะอธิบายถึงหลักการสำหรับเขียน Prompt เพื่อสร้างรูปภาพบน Stable Diffusion 2.1
Prompt ที่ดีต้องมีอะไรบ้าง
โดยพื้นฐานแล้ว Prompt จะประกอบด้วย Core Prompt อันเป็นหัวข้อหลักว่าเป็นรูปอะไร, Style สำหรับอธิบายถึงลักษณะของภาพว่าจะเป็นภาพวาด ภาพถ่าย ภาพเสมือน หรืออื่น ๆ, และ Artist สำหรับอ้างอิงสไตล์จากศิลปินชื่อดัง แต่หากให้กล่าวโดยละเอียดแล้ว Prompt ที่ดีควรจะต้องมีสิ่งเหล่านี้
- Subject (required)
- Medium
- Style
- Artist
- Website
- Resolution
- Additional details
- Color
รายละเอียดและตัวอย่างของ Prompt มีดังต่อไปนี้
Subject คือข้อความที่อธิบายถึงหัวข้อหลักของภาพ ว่าต้องการจะสร้างรูปภาพเกี่ยวกับอะไรเช่น
Prompt: “a white cat sitting on couch”
Medium คือการกำหนดประเภทของงานภาพว่าต้องการให้เป็นภาพประเภทใดเช่น Portrait, Concept Art, Digital Painting เป็นต้น ทีนี้เราจะลองเพิ่มประเภทงานศิลปะให้กับเจ้าแมวเหมียวกัน
Prompt: “a digital art of a white cat sitting on couch”
Style คือการเพิ่มลักษณะเด่นของสไตล์ภาพให้เด่นชัดยิ่งขึ้น เช่น Hyperrealistic, Pop-Art, Modernist, Art Nouveau ตัวอย่าง
Prompt: “a digital art of a white cat sitting on couch, hyperrealistic”
Artist คือการอ้างอิงสไตล์ผลงานของศิลปิน โดยสามารถผสมได้หลายศิลปิน ดังตัวอย่าง
Prompt: “a digital art of a white cat sitting on couch by stanley artgerm lau, hyperrealistic”
Website คือแหล่งสำหรับอ้างอิงสไตล์ของผลงาน เช่น Pixiv สำหรับแนว Japanese Anime Style, Pixabay สำหรับ Commercial Photo Stock Style, Artstation สำหรับแนว Modern Illustration, Fantasy เป็นต้น ตัวอย่าง
Prompt: “a digital art of a white cat sitting on couch by stanley artgerm lau, hyperrealistic, trending on artstation”
Resolution สำหรับกำหนดความคมชัดของรายละเอียดในรูป (แต่ไม่ได้เพิ่ม Dimension จริง ๆ ของรูป) เช่น Unreal Engine, Sharp Focus, 8k, vray เป็นต้น ตัวอย่าง
Prompt: “a digital art of a white cat sitting on couch by stanley artgerm lau, hyperrealistic, trending on artstation, unreal engine, 8k”
Additional Details สำหรับเพิ่มรายละเอียดที่ต้องการโดยเฉพาะเข้าไปในรูปภาพเช่น dramatic, silk, low angle shot, expansive เป็นต้น
Color สำหรับกำหนดโทนสีของรูปภาพเช่น iridescent gold, silver, vintage เป็นต้น
Negative Prompts สิ่งสำคัญสำหรับ Stable Diffusion 2
สิ่งนี้มีไว้ใช้สำหรับควบคุมสิ่งที่เราไม่ต้องการให้ปรากฎในรูปภาพไปจนถึงการช่วยเพิ่มประสิทธิภาพของภาพที่สร้างขึ้นมาให้สวยงามมากยิ่งขึ้น โดยส่วนใหญ่แล้วสามารถใช้ Negative Prompts นี้ได้เลย
“ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, mutation, mutated, extra limbs, extra legs, extra arms, disfigured, deformed, cross-eye, body out of frame, blurry, bad art, bad anatomy, blurred, text, watermark, grainy”
Conclusion
โดยสรุปแล้วการเขียน Prompt ที่ดีเพื่อสร้างรูปภาพบน Stable Diffusion 2-1 นั้นควรประกอบด้วยรายละเอียดในทั้ง 8 ข้อนี้ แต่ไม่จำเป็นต้องใช้ทั้งหมดก็ได้และอย่าลืมเพิ่ม Negative Prompts เข้าไปด้วย!!
- Subject (required)
- Medium
- Style
- Artist
- Website
- Resolution
- Additional details
- Color