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

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

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

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

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

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

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

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

ฟีเจอร์

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

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

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

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

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

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

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

ตัวเลือกขอบแบบไม่มีข้อมูล

กำหนดค่าตัวเลือกต่อไปนี้ใน 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

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

กำหนดค่าตัวเลือกต่อไปนี้ใน 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 เพื่อแปลงโมเดลให้เป็นรูปแบบในอุปกรณ์ที่เหมาะสมสำหรับ โปรแกรมสร้างรูปภาพ

ติดตั้งทรัพยากร Dependency ที่จำเป็นด้วยคำสั่งต่อไปนี้

$ 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

ปลั๊กอิน 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

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

ปลั๊กอินจุดสังเกตของใบหน้าจะยอมรับเอาต์พุตจาก Face Landmarker ของ MediaPipe เป็นภาพเงื่อนไข ใบหน้า 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

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

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

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

ดาวน์โหลดปลั๊กอินความลึก

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

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

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

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

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

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

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

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

พรอมต์: กาน้ำชาโมนาดิโกสข้างกระจก

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

LoRA กับ Vertex AI

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