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

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

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

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

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

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

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

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

ฟีเจอร์

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

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

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

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

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

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

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

ตัวเลือกขอบด้านข้าง

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

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

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

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

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

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

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

ดาวน์โหลดกลุ่มรูปแบบจุดสังเกตของใบหน้า

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

ชื่อตัวเลือก คำอธิบาย ช่วงค่า ค่าเริ่มต้น
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นมน้ำชา":

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

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

LoRA กับ Vertex AI

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