AI
น้องๆ เคยเห็นรูป AI สวยๆ แปลกๆ ในเน็ตไหม? นั่นแหละ หลายรูปมันมาจาก Stable Diffusion นี่แหละ! สมัยก่อนรูป AI พวกนี้ต้องใช้ server แรงๆ ถึงจะทำได้ แต่ตอนนี้เราสามารถรันมันบนคอมพิวเตอร์ที่บ้านได้แล้ว! เจ๋งป่ะล่ะ?
Stable Diffusion เนี่ย มันคือโมเดล AI ที่เอาไว้สร้างรูปภาพจากข้อความ (text-to-image) หรือจะเอาภาพมาปรับแต่งต่อก็ได้ (image-to-image) ข้อดีคือมันเป็น open-source หมายความว่าฟรี! แถมยังปรับแต่งอะไรได้เยอะแยะเลย ถ้าเทียบกับพวก Midjourney หรือ DALL-E ที่ต้องเสียเงินนะ
ยุคนี้ AI มันมาแรงจริงๆ นะน้องๆ Stable Diffusion เนี่ย ทำให้ใครๆ ก็สามารถสร้างรูปภาพสวยๆ ได้ง่ายๆ ไม่ต้องเป็นศิลปินเก่งๆ ก็ได้ แค่พิมพ์ข้อความบอกมันเฉยๆ แถมยังเอาไปใช้ได้หลายอย่างเลยนะ เช่น:
ก่อนจะเริ่มสร้างรูป AI ได้ เราต้องติดตั้ง Stable Diffusion บนเครื่องเราก่อนนะ ขั้นตอนอาจจะดูยุ่งยากนิดหน่อย แต่ไม่ต้องกลัว พี่บอมจะสอนแบบละเอียดเลย
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
v2-1_768-ema-pruned.ckpt (หรือ model อื่นๆ ที่ชอบ)models/Stable-diffusion ในโฟลเดอร์ stable-diffusion-webui แล้วเอาไฟล์ .ckpt ที่ดาวน์โหลดมาใส่stable-diffusion-webui แล้วพิมพ์
webui-user.bat
(ถ้าใช้ Linux/macOS ให้รัน ./webui.sh)http://127.0.0.1:7860)ถ้าทำตามขั้นตอนถูกต้อง เราก็จะเห็นหน้า WebUI ของ Stable Diffusion แล้ว! เตรียมตัวสร้างรูป AI กันได้เลย!
Stable Diffusion เนี่ย มันทำงานโดยการรับ "prompt" หรือข้อความที่เราบอกให้มันสร้างรูปภาพออกมา Prompt เนี่ยสำคัญมากๆ ถ้า prompt ไม่ดี รูปที่ได้ก็จะไม่สวยหรือไม่ตรงกับที่เราต้องการ
การเขียน prompt ที่ดี เรียกว่า "prompt engineering" มันคือศิลปะอย่างหนึ่งเลยนะน้องๆ ต้องลองผิดลองถูกเยอะๆ ถึงจะเก่ง
หลักการง่ายๆ คือ:
ลองดูตัวอย่าง prompt ง่ายๆ:
A beautiful landscape painting, mountains in the background, a clear blue lake in the foreground, vibrant colors, masterpiece
อันนี้คือ prompt สำหรับภาพวิวทิวทัศน์สวยๆ
ลองอีกอัน:
A cute anime girl, long pink hair, big blue eyes, wearing a school uniform, detailed background, high quality
อันนี้สำหรับภาพสาวอนิเมะน่ารักๆ
น้องๆ ลองเอาไปปรับใช้ดูนะ เล่นกับ prompt เยอะๆ เดี๋ยวก็เก่งเอง! แวะไปอ่านบทความอื่น ๆ ใน SiamCafe Blog ได้นะ มีอะไรดีๆ เพียบ
| คุณสมบัติ | Stable Diffusion | Midjourney | DALL-E 2 |
|---|---|---|---|
| Open-source | ✅ | ❌ | ❌ |
| รันบนเครื่องตัวเอง | ✅ | ❌ | ❌ |
| ราคา | ฟรี (ถ้ามีคอมฯ) | เสียเงิน | เสียเงิน |
| ปรับแต่งได้ | สูงมาก | ปานกลาง | ปานกลาง |
| ความง่ายในการใช้งาน | ปานกลาง (ต้องติดตั้ง) | ง่าย | ง่าย |
ดูวิดีโอเพิ่มเติมเกี่ยวกับStable Diffusion สร้างรูป AI ใ:
A: จริงๆ มันขึ้นอยู่กับ model ที่เราใช้ด้วยนะ แต่โดยทั่วไปแนะนำว่าควรมี GPU อย่างน้อย 4GB VRAM, RAM 16GB และ CPU ที่แรงพอสมควร
A: Prompt engineering สำคัญมากๆ! ลองศึกษา prompt ที่คนอื่นใช้ แล้วเอามาปรับใช้กับของเราดู นอกจากนี้ model ที่ใช้ก็มีผลนะ ลองดาวน์โหลด model อื่นๆ มาลองดู
A: error มันมีหลายแบบมากๆ แนะนำให้ copy error message ไป search ใน Google หรือ Stack Overflow ดู จะมีคนเจอปัญหาเหมือนเราแน่นอน หรือลองเข้าไปถามในกลุ่ม Stable Diffusion ใน Facebook ก็ได้
A: Model ที่ดังๆ ก็จะมี Stable Diffusion v1.5, Stable Diffusion v2.1, Anything V3, Deliberate ลองไปหาโหลดมาเล่นดูนะ
หวังว่าบทความนี้จะเป็นประโยชน์กับน้องๆ นะ ถ้ามีคำถามอะไรเพิ่มเติม ถามมาได้เลย! อย่าลืมแวะไปดูบทความอื่นๆ ใน SiamCafe Blog ด้วยนะ!
Prompt คือหัวใจเลยน้องเอ๊ย! สมัยผมทำร้านเน็ตนี่ ลูกค้าชอบมาถามว่า "พี่บอม ทำไมรูปมันไม่สวยเหมือนคนอื่น" ส่วนใหญ่มันอยู่ที่ Prompt นี่แหละ
ลองใช้คำที่เจาะจงมากขึ้น เช่น แทนที่จะบอกว่า "cat" ให้บอกว่า "fluffy ginger cat wearing a tiny hat" หรือ "a photorealistic image of a fluffy ginger cat wearing a tiny hat in a sunny garden, bokeh effect" ใส่รายละเอียดเข้าไปเยอะๆ ยิ่งละเอียด ยิ่งได้ผลลัพธ์ที่ใกล้เคียงที่เราต้องการ
Seed คือตัวเลขสุ่มที่ใช้ในการสร้างรูปแต่ละครั้ง ถ้าเราใช้ Seed เดิม Prompt เดิม เราจะได้รูปเดิม (เกือบ) เสมอ
Seed มีประโยชน์มาก เวลาที่เราเจอรูปที่ "ใช่" แล้ว แต่อยากจะปรับเปลี่ยนอะไรนิดหน่อย เช่น อยากเปลี่ยนสีผมตัวละคร ก็แค่ใส่ Seed เดิม แล้วแก้ Prompt เล็กน้อย เราก็จะได้รูปที่คล้ายเดิม แต่เปลี่ยนไปตามที่เราต้องการ
# ตัวอย่างการใช้ seed ใน Stable Diffusion (pseudo-code)
seed = 12345
prompt = "a beautiful woman with long hair"
image = generate_image(prompt, seed)
# เปลี่ยนสีผมเป็นสีแดง
prompt = "a beautiful woman with long red hair"
image2 = generate_image(prompt, seed) # ใช้ seed เดิม!
Negative Prompt คือ Prompt ที่บอกว่า "เราไม่ต้องการอะไรในรูป" ตัวอย่างเช่น "blurry, deformed, bad anatomy" พวกนี้จะช่วยให้รูปที่ได้คมชัดขึ้น และลดสิ่งที่ไม่ต้องการออกไป
สมัยผมทำร้านเกม บางทีเด็กมันก็ชอบ search รูปแปลกๆ แล้วบ่นว่าทำไม Stable Diffusion มัน generate รูปแบบนั้นออกมา ลองใส่ Negative Prompt ดูสิ รับรองชีวิตดีขึ้นเยอะ!
Stable Diffusion ตัวโปรแกรม Open Source ฟรีครับ แต่ถ้าจะใช้พวก Model สำเร็จรูป หรือ Cloud service อาจจะมีค่าใช้จ่ายเพิ่มเติม iCafeForex สมัยก่อน ก็เคยคิดจะทำระบบ Cloud ให้ลูกค้าใช้ Stable Diffusion เหมือนกัน แต่สุดท้ายก็ไม่ได้ทำ เพราะค่าไฟมันโหดเกิ๊น!
Stable Diffusion กินสเปคพอสมควรครับ ถ้าจะให้ดีควรมี GPU ที่มี VRAM อย่างน้อย 6GB ขึ้นไป RAM ก็สัก 16GB กำลังสวย ถ้าต่ำกว่านี้ก็พอใช้ได้ แต่รอรูปนานหน่อย
Model แต่ละตัวถูก Train มาจาก Dataset ที่แตกต่างกัน ทำให้สร้างรูปได้แตกต่างกัน Model บางตัวเน้นสร้างรูปเหมือนจริง บางตัวเน้นสร้างรูป Anime บางตัวเน้นสร้างรูป Landscape ลองหาข้อมูล Model ที่เหมาะกับสไตล์ที่คุณชอบดูครับ
Prompt Engineering คือศาสตร์แห่งการเขียน Prompt ครับ! การเขียน Prompt ที่ดี จะช่วยให้เราได้รูปที่ต้องการได้ง่ายขึ้น ลองศึกษาเทคนิคต่างๆ เช่น การใช้ Weight (การเน้นคำบางคำใน Prompt) การใช้ Modifier (คำที่ช่วยปรับแต่งรูป) หรือการใช้ Concept ที่ซับซ้อน
Stable Diffusion เป็นเครื่องมือที่ทรงพลังมากครับ ถ้าเราเข้าใจหลักการทำงาน และฝึกฝนการใช้ Prompt อย่างสม่ำเสมอ เราจะสามารถสร้างรูป AI ที่สวยงาม และตรงตามความต้องการของเราได้ไม่ยาก
อย่าท้อแท้ถ้าทำครั้งแรกแล้วไม่สวย ลองผิดลองถูกไปเรื่อยๆ เดี๋ยวก็เก่งเองครับ และอย่าลืมแวะไปอ่านบทความอื่นๆ ที่ SiamCafe Blog ด้วยนะ มีอะไรน่าสนใจอีกเยอะเลย!