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

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

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

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

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

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

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

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

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

ฟีเจอร์

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

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

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

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

ชื่อตัวเลือก คำอธิบาย ช่วงค่า
imageGeneratorModelDirectory ไดเรกทอรีโมเดลโปรแกรมสร้างรูปภาพที่จัดเก็บน้ำหนักของโมเดล PATH
loraWeightsFilePath กำหนดเส้นทางไปยังไฟล์น้ำหนัก LoRA ไม่บังคับและใช้ได้เฉพาะในกรณีที่ มีการปรับแต่งโมเดลด้วย LoRA PATH
errorListener ตั้งค่า Listener ข้อผิดพลาดที่ไม่บังคับ 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 เพื่อแปลงโมเดลเป็นรูปแบบในอุปกรณ์ที่เหมาะสมสำหรับ โปรแกรมสร้างรูปภาพ

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

$ 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 เป็นรูปภาพเงื่อนไข ใบหน้า 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 สามารถสร้างรูปภาพที่เพิ่มความลึกให้กับรูปภาพ 2 มิติได้

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

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

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

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

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

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