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