คู่มือการสร้างรูปภาพ

งานของเครื่องมือสร้างรูปภาพ

งานเครื่องมือสร้างรูปภาพ MediaPipe ช่วยให้คุณสร้างรูปภาพตามพรอมต์ข้อความได้ งานนี้ใช้โมเดลเปลี่ยนข้อความเป็นรูปภาพเพื่อสร้างรูปภาพโดยใช้เทคนิคการแพร่กระจาย

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

นอกจากนี้ เครื่องสร้างรูปภาพยังสร้างรูปภาพตามแนวคิดที่เฉพาะเจาะจงซึ่งระบุให้กับโมเดลระหว่างการฝึกอบรมหรือการฝึกอบรมใหม่ได้ด้วย ดูข้อมูลเพิ่มเติมได้ที่ปรับแต่งด้วย LoRA

เริ่มต้นใช้งาน

เริ่มใช้แท็บงานนี้โดยทําตามคําแนะนําการใช้งานแพลตฟอร์มเป้าหมายข้อใดข้อหนึ่งต่อไปนี้ คำแนะนำเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำการใช้งานพื้นฐานของงานนี้พร้อมตัวอย่างโค้ดที่ใช้โมเดลเริ่มต้นและตัวเลือกการกำหนดค่าที่แนะนำ

รายละเอียดงาน

ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่าของงานนี้

ฟีเจอร์

คุณสามารถใช้เครื่องมือสร้างรูปภาพเพื่อใช้งานสิ่งต่อไปนี้ได้

  1. การสร้างข้อความเป็นรูปภาพ - สร้างรูปภาพด้วยพรอมต์ข้อความ
  2. การสร้างรูปภาพด้วยรูปภาพเงื่อนไข - สร้างรูปภาพด้วยพรอมต์ข้อความและรูปภาพอ้างอิง Image Generator ใช้รูปภาพเงื่อนไขในลักษณะที่คล้ายกับ ControlNet
  3. การสร้างรูปภาพด้วยน้ำหนัก LoRA - สร้างรูปภาพของคน วัตถุ และสไตล์ที่เฉพาะเจาะจงด้วยพรอมต์ข้อความโดยใช้น้ำหนักโมเดลที่กําหนดเอง
อินพุตงาน เอาต์พุตของงาน
โปรแกรมสร้างรูปภาพยอมรับอินพุตต่อไปนี้
  • ข้อความแจ้ง
  • เมล็ดพันธุ์
  • จำนวนรอบการสร้าง
  • ไม่บังคับ: รูปภาพเงื่อนไข
เครื่องมือสร้างรูปภาพจะแสดงผลลัพธ์ต่อไปนี้
  • รูปภาพที่สร้างขึ้นตามข้อมูลที่คุณป้อน
  • ไม่บังคับ: สแนปชอตรูปภาพที่สร้างขึ้นซ้ำๆ

ตัวเลือกการกําหนดค่า

งานนี้มีตัวเลือกการกำหนดค่าต่อไปนี้

ชื่อตัวเลือก คำอธิบาย ช่วงของค่า
imageGeneratorModelDirectory ไดเรกทอรีโมเดลเครื่องมือสร้างรูปภาพที่จัดเก็บน้ำหนักโมเดล PATH
loraWeightsFilePath กำหนดเส้นทางไปยังไฟล์น้ำหนัก LoRA ไม่บังคับและใช้ได้เฉพาะในกรณีที่มีการปรับแต่งรุ่นด้วย LoRA PATH
errorListener ตั้งค่าโปรแกรมรับฟังข้อผิดพลาด (ไม่บังคับ) N/A

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

เมื่อเพิ่มรูปแบบปลั๊กอินลงในรูปแบบพื้นฐาน ให้กําหนดค่าตัวเลือกปลั๊กอินด้วย ปลั๊กอินจุดสังเกตใบหน้าใช้ faceConditionOptions, ปลั๊กอินขอบ Canny ใช้ edgeConditionOptions และปลั๊กอินความลึกใช้ depthConditionOptions

ตัวเลือกขอบ Canny

กําหนดค่าตัวเลือกต่อไปนี้ใน edgeConditionOptions

ชื่อตัวเลือก คำอธิบาย ช่วงของค่า ค่าเริ่มต้น
threshold1 เกณฑ์แรกสำหรับกระบวนการฮีสเตรีซิส Float 100
threshold2 เกณฑ์ที่ 2 สำหรับกระบวนการฮิสเทรีซิส Float 200
apertureSize ขนาดรูรับแสงสําหรับโอเปอเรเตอร์ Sobel ช่วงทั่วไปอยู่ระหว่าง 3-7 Integer 3
l2Gradient ระบุว่าจะใช้ค่า L2 ในการคำนวณขนาดของเส้นลาดของรูปภาพแทนค่า L1 เริ่มต้นหรือไม่ BOOLEAN False
EdgePluginModelBaseOptions ออบเจ็กต์ BaseOptions ที่กำหนดเส้นทางสำหรับโมเดลปลั๊กอิน วัตถุ BaseOptions รายการ N/A

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของตัวเลือกการกําหนดค่าเหล่านี้ได้ที่หัวข้อCanny Edge Detector

ตัวเลือกจุดสังเกตของใบหน้า

กําหนดค่าตัวเลือกต่อไปนี้ใน faceConditionOptions

ชื่อตัวเลือก คำอธิบาย ช่วงของค่า ค่าเริ่มต้น
minFaceDetectionConfidence คะแนนความเชื่อมั่นขั้นต่ำที่ถือว่าการตรวจจับใบหน้าสำเร็จ Float [0.0,1.0] 0.5
minFacePresenceConfidence คะแนนความเชื่อมั่นขั้นต่ำของคะแนนการมีอยู่ของใบหน้าในการตรวจหาจุดสังเกตของใบหน้า Float [0.0,1.0] 0.5
faceModelBaseOptions ออบเจกต์ BaseOptions ที่กำหนดเส้นทางสำหรับโมเดลที่สร้างรูปภาพเงื่อนไข วัตถุ BaseOptions รายการ N/A
FacePluginModelBaseOptions ออบเจ็กต์ BaseOptions ที่กำหนดเส้นทางสำหรับโมเดลปลั๊กอิน วัตถุ BaseOptions รายการ N/A

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของตัวเลือกการกําหนดค่าเหล่านี้ได้ที่หัวข้องานเครื่องหมายจุดสังเกตใบหน้า

ตัวเลือกความลึก

กําหนดค่าตัวเลือกต่อไปนี้ใน depthConditionOptions

ชื่อตัวเลือก คำอธิบาย ช่วงของค่า ค่าเริ่มต้น
depthModelBaseOptions ออบเจกต์ BaseOptions ที่กำหนดเส้นทางสำหรับโมเดลที่สร้างรูปภาพเงื่อนไข วัตถุ BaseOptions รายการ N/A
depthPluginModelBaseOptions ออบเจ็กต์ BaseOptions ที่กำหนดเส้นทางสำหรับโมเดลปลั๊กอิน วัตถุ BaseOptions รายการ N/A

โมเดล

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

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

โมเดลพื้นฐาน

โมเดลพื้นฐานคือโมเดลการแพร่กระจายจากข้อความเป็นรูปภาพที่ซ่อนอยู่ ซึ่งสร้างรูปภาพจากพรอมต์ข้อความ เครื่องมือสร้างรูปภาพกำหนดให้โมเดลพื้นฐานต้องตรงกับรูปแบบโมเดล runwayml/stable-diffusion-v1-5 EMA-only โดยอิงตามโมเดลต่อไปนี้

โมเดลรากฐานต่อไปนี้ยังใช้ร่วมกับเครื่องมือสร้างรูปภาพได้ด้วย

หลังจากดาวน์โหลดโมเดลพื้นฐานแล้ว ให้ใช้ image_generator_converter เพื่อแปลงโมเดลเป็นรูปแบบในอุปกรณ์ที่เหมาะสมสําหรับเครื่องมือสร้างรูปภาพ

ติดตั้งการอ้างอิงที่จำเป็น

$ pip install torch typing_extensions numpy Pillow requests pytorch_lightning absl-py

เรียกใช้สคริปต์ convert.py

$ python3 convert.py --ckpt_path <ckpt_path> --output_path <output_path>

รุ่นปลั๊กอิน

โมเดลปลั๊กอินในส่วนนี้พัฒนาโดย Google และต้องใช้งานร่วมกับโมเดลพื้นฐาน โมเดลปลั๊กอินช่วยให้เครื่องมือสร้างรูปภาพยอมรับรูปภาพเงื่อนไขพร้อมกับพรอมต์ข้อความเป็นอินพุต ซึ่งช่วยให้คุณควบคุมโครงสร้างของรูปภาพที่สร้างขึ้นได้ รุ่นปลั๊กอินมีความสามารถคล้ายกับ ControlNet โดยมีสถาปัตยกรรมที่แปลกใหม่โดยเฉพาะสําหรับการแพร่กระจายในอุปกรณ์

คุณต้องระบุรูปแบบปลั๊กอินในตัวเลือกพื้นฐาน และอาจต้องดาวน์โหลดไฟล์รูปแบบเพิ่มเติม ปลั๊กอินแต่ละรายการมีข้อกำหนดเฉพาะสำหรับรูปภาพเงื่อนไข ซึ่งสร้างได้โดยเครื่องมือสร้างรูปภาพ

ปลั๊กอิน Canny Edge

ตัวอย่างเอาต์พุตของรูปภาพที่สร้างขึ้น 2 รูปซึ่งใช้รูปภาพเงื่อนไขที่ระบุซึ่งมีโครงร่างที่ชัดเจนของอิฐและพรอมต์

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

ดาวน์โหลดปลั๊กอิน Canny Edge

ปลั๊กอิน Canny Edge มีตัวเลือกการกําหนดค่าต่อไปนี้

ชื่อตัวเลือก คำอธิบาย ช่วงของค่า ค่าเริ่มต้น
threshold1 เกณฑ์แรกสำหรับกระบวนการฮีสเตรีซิส Float 100
threshold2 เกณฑ์ที่ 2 สำหรับกระบวนการฮิสเทรีซิส Float 200
apertureSize ขนาดรูรับแสงสําหรับโอเปอเรเตอร์ Sobel ช่วงทั่วไปอยู่ระหว่าง 3-7 Integer 3
l2Gradient ระบุว่าจะใช้ค่า L2 ในการคำนวณขนาดของเส้นลาดของรูปภาพแทนค่า L1 เริ่มต้นหรือไม่ BOOLEAN False
EdgePluginModelBaseOptions ออบเจ็กต์ BaseOptions ที่กำหนดเส้นทางสำหรับโมเดลปลั๊กอิน วัตถุ BaseOptions รายการ N/A

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของตัวเลือกการกําหนดค่าเหล่านี้ได้ที่หัวข้อCanny Edge Detector

ปลั๊กอินจุดสังเกตบนใบหน้า

ตัวอย่างผลลัพธ์ของรูปภาพที่สร้างขึ้น 2 รูปซึ่งใช้รูปภาพเงื่อนไขของใบหน้าที่วาดเป็นภาพร่างที่ระบุและพรอมต์ 2 รายการที่แตกต่างกันเพื่อแสดงให้เห็นว่ารูปภาพเงื่อนไขเดียวกันนี้สามารถใช้สร้างรูปภาพที่มีลักษณะแตกต่างกันมาก

ปลั๊กอินจุดสังเกตใบหน้าจะยอมรับเอาต์พุตจาก Face Landmark ของ MediaPipe เป็นรูปภาพเงื่อนไข ฟีเจอร์จุดสังเกตใบหน้าจะแสดงเมชใบหน้าโดยละเอียดของใบหน้าเดียว ซึ่งจะแมปลักษณะและตำแหน่งของใบหน้า โมเดลพื้นฐานใช้การแมปใบหน้าที่สื่อถึงโดยรูปภาพสภาพผิว และสร้างใบหน้าใหม่บนเมช

ดาวน์โหลดปลั๊กอินจุดสังเกตใบหน้า

นอกจากนี้ ปลั๊กอินจุดสังเกตใบหน้ายังต้องใช้ model bundle ของ Face Landmarker เพื่อสร้างรูปภาพเงื่อนไข กลุ่มโมเดลนี้จะเป็นกลุ่มเดียวกับที่งาน Face Landmarker ใช้

ดาวน์โหลดกลุ่มโมเดลจุดสังเกตใบหน้า

ปลั๊กอินจุดสังเกตใบหน้ามีตัวเลือกการกําหนดค่าต่อไปนี้

ชื่อตัวเลือก คำอธิบาย ช่วงของค่า ค่าเริ่มต้น
minFaceDetectionConfidence คะแนนความเชื่อมั่นขั้นต่ำที่ถือว่าการตรวจจับใบหน้าสำเร็จ Float [0.0,1.0] 0.5
minFacePresenceConfidence คะแนนความเชื่อมั่นขั้นต่ำของคะแนนการมีอยู่ของใบหน้าในการตรวจหาจุดสังเกตของใบหน้า Float [0.0,1.0] 0.5
faceModelBaseOptions ออบเจกต์ BaseOptions ที่กำหนดเส้นทางสำหรับโมเดลที่สร้างรูปภาพเงื่อนไข วัตถุ BaseOptions รายการ N/A
FacePluginModelBaseOptions ออบเจ็กต์ BaseOptions ที่กำหนดเส้นทางสำหรับโมเดลปลั๊กอิน วัตถุ BaseOptions รายการ N/A

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของตัวเลือกการกําหนดค่าเหล่านี้ได้ที่หัวข้องานเครื่องหมายจุดสังเกตใบหน้า

ปลั๊กอินความลึก

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

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

ดาวน์โหลดปลั๊กอิน Depth

นอกจากนี้ ปลั๊กอินความลึกยังต้องใช้โมเดลการประมาณความลึกเพื่อสร้างภาพเงื่อนไขด้วย

ดาวน์โหลดโมเดลการประมาณความลึก

ปลั๊กอินความลึกมีตัวเลือกการกําหนดค่าต่อไปนี้

ชื่อตัวเลือก คำอธิบาย ช่วงของค่า ค่าเริ่มต้น
depthModelBaseOptions ออบเจกต์ BaseOptions ที่กำหนดเส้นทางสำหรับโมเดลที่สร้างรูปภาพเงื่อนไข วัตถุ BaseOptions รายการ N/A
depthPluginModelBaseOptions ออบเจ็กต์ BaseOptions ที่กำหนดเส้นทางสำหรับโมเดลปลั๊กอิน วัตถุ BaseOptions รายการ N/A

การปรับแต่งด้วย LoRA

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

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

ด้านล่างนี้คือเอาต์พุตจากโมเดลที่กําหนดเองซึ่งได้รับการฝึกด้วยรูปภาพกาน้ำชาจากชุดข้อมูล DreamBooth โดยใช้โทเค็น "monadikos teapot"

รูปภาพที่สมจริงซึ่งสร้างขึ้นจากภาพถ่ายของกาน้ำชาบนโต๊ะข้างกระจกที่ติดตั้งบนผนัง

พรอมต์: กาน้ำชา monadikos ข้างกระจก

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

LoRA ด้วย Vertex AI

ดูข้อมูลเพิ่มเติมได้ที่คู่มือการปรับแต่ง ซึ่งใช้ Model Garden ใน Vertex AI เพื่อปรับแต่งโมเดลโดยใช้น้ำหนัก LoRA กับโมเดลพื้นฐาน