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