งาน MediaPipe Image Generator ให้คุณสร้างรูปภาพตามพรอมต์ข้อความได้ งานนี้ใช้โมเดลข้อความสู่รูปภาพเพื่อสร้างรูปภาพโดยใช้เทคนิคการกระจาย
งานจะยอมรับพรอมต์ข้อความเป็นอินพุต พร้อมกับรูปภาพเงื่อนไขที่ไม่บังคับซึ่งโมเดลสามารถเสริมและใช้เป็นข้อมูลอ้างอิงในการสร้าง ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างข้อความเป็นรูปภาพที่มีการปรับสภาพได้ที่ปลั๊กอินการเผยแพร่ในอุปกรณ์สำหรับการสร้างข้อความเป็นรูปภาพที่มีการปรับสภาพ
นอกจากนี้ เครื่องมือสร้างรูปภาพยังสร้างรูปภาพตามแนวคิดเฉพาะที่ได้มาจากโมเดลในระหว่างการฝึกหรือการฝึกซ้ำได้อีกด้วย ดูข้อมูลเพิ่มเติมได้ที่ปรับแต่งด้วย LoRA
เริ่มต้นใช้งาน
เริ่มใช้งานนี้โดยทำตามคำแนะนำในการใช้งานสำหรับแพลตฟอร์มเป้าหมาย คำแนะนำเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำการใช้งานเบื้องต้นของงานนี้ พร้อมตัวอย่างโค้ดที่ใช้โมเดลเริ่มต้นและตัวเลือกการกำหนดค่าที่แนะนำ
- Android - ตัวอย่างโค้ด - คำแนะนำ
- ปรับแต่งด้วย LoRA - ตัวอย่างโค้ด - Colab
รายละเอียดงาน
ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่าของงานนี้
ฟีเจอร์
คุณสามารถใช้โปรแกรมสร้างรูปภาพเพื่อดำเนินการต่อไปนี้
- การสร้างข้อความเป็นรูปภาพ - สร้างรูปภาพด้วยพรอมต์ข้อความ
- การสร้างรูปภาพด้วยรูปภาพของเงื่อนไข - สร้างรูปภาพพร้อมพรอมต์ข้อความและรูปภาพอ้างอิง โปรแกรมสร้างรูปภาพใช้อิมเมจเงื่อนไขในลักษณะที่คล้ายกับ ControlNet
- การสร้างรูปภาพด้วยน้ำหนัก LoRA - สร้างรูปภาพบุคคล วัตถุ และรูปแบบที่เจาะจงด้วยพรอมต์ข้อความโดยใช้น้ำหนักโมเดลที่กำหนดเอง
ข้อมูลงาน | เอาต์พุตของงาน |
---|---|
โปรแกรมสร้างรูปภาพยอมรับอินพุตต่อไปนี้
|
โปรแกรมสร้างรูปภาพแสดงผลลัพธ์ต่อไปนี้
|
ตัวเลือกการกำหนดค่า
งานมีตัวเลือกการกำหนดค่าต่อไปนี้
ชื่อตัวเลือก | คำอธิบาย | ช่วงของค่า |
---|---|---|
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 มีตัวเลือกการกำหนดค่าต่อไปนี้
ชื่อตัวเลือก | คำอธิบาย | ช่วงของค่า | ค่าเริ่มต้น |
---|---|---|---|
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 และวางรูปภาพไว้ข้างกระจกตามคำขอในพรอมต์
ดูข้อมูลเพิ่มเติมได้ในคู่มือการกำหนดค่า ซึ่งใช้ Model Garden ใน Vertex AI เพื่อปรับแต่งโมเดลโดยใช้น้ำหนัก LoRA กับโมเดลพื้นฐาน