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