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