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

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

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

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

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

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

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

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

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

ฟีเจอร์

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

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

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

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

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

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

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

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

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

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

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

โมเดล

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

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

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

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

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

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

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

$ 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 โดยมีสถาปัตยกรรมใหม่ที่ออกแบบมาสำหรับ Diffusion ในอุปกรณ์โดยเฉพาะ

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

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

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

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

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

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

นอกจากนี้ ปลั๊กอินจุดสังเกตใบหน้ายังต้องใช้โมเดล แพ็กเกจของ 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

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

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

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

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

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

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

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

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

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