המשימה MediaPipe Image Generator מאפשרת ליצור תמונות על סמך הנחיית טקסט. במשימה הזו נעשה שימוש במודל טקסט לתמונה כדי ליצור תמונות באמצעות טכניקות דיפוזיה.
המשימה מקבלת פרומפט טקסט כקלט, יחד עם תמונה אופציונלית של תנאי שהמודל יכול להגדיל ולהשתמש בה כהפניה ליצירה. מידע נוסף על יצירת תמונות מותנית מטקסט זמין במאמר תוספים של דיפוזיה במכשיר ליצירת תמונות מותנית מטקסט.
הכלי ליצירת תמונות יכול גם ליצור תמונות על סמך מושגים ספציפיים שסופקו למודל במהלך האימון או האימון מחדש. מידע נוסף זמין במאמר בנושא התאמה אישית באמצעות LoRA.
שנתחיל?
כדי להתחיל להשתמש במשימה הזו, צריך לפעול לפי אחד ממדריכי ההטמעה האלה בהתאם לפלטפורמת היעד שלכם. במדריכים הספציפיים לפלטפורמה מפורט תהליך ההטמעה הבסיסי של המשימה הזו, עם דוגמאות לקוד שמשתמשות במודל ברירת מחדל ובאפשרויות ההגדרה המומלצות:
פרטי המשימה
בקטע הזה מוסבר על היכולות, הקלטים, הפלטים ואפשרויות ההגדרה של המשימה הזו.
תכונות
אתם יכולים להשתמש בכלי ליצירת תמונות כדי להטמיע את הפעולות הבאות:
- יצירת תמונות מטקסט – יצירת תמונות באמצעות הנחיית טקסט.
- יצירת תמונות עם תמונות של תנאים – יצירת תמונות באמצעות הנחיית טקסט ותמונה לדוגמה. מחולל התמונות משתמש בתמונות של תנאים בדרכים דומות ל-ControlNet.
- יצירת תמונות עם משקלים של LoRA – יצירת תמונות של אנשים, חפצים וסגנונות ספציפיים באמצעות הנחיית טקסט עם משקלים מותאמים אישית של המודל.
קלט למשימה | פלט של משימות |
---|---|
הכלי ליצירת תמונות מקבל את הקלט הבא:
|
מחולל התמונות מפיק את התוצאות הבאות:
|
אפשרויות הגדרה
אלה אפשרויות ההגדרה של המשימה הזו:
שם האפשרות | תיאור | טווח ערכים |
---|---|---|
imageGeneratorModelDirectory |
ספריית מודל גנרטור התמונות שבה מאוחסנים משקלי המודל. | PATH |
loraWeightsFilePath |
ההגדרה קובעת את הנתיב לקובץ המשקלים של LoRA. אופציונלי ורלוונטי רק אם המודל עבר התאמה אישית באמצעות LoRA. | PATH |
errorListener |
הגדרת מאזין שגיאות אופציונלי. | N/A |
המשימה תומכת גם במודלים של תוספים, שמאפשרים למשתמשים לכלול תמונות של תנאים בקלט של המשימה. המודל הבסיסי יכול להגדיל את התמונות האלה ולהשתמש בהן כהפניה ליצירה. תמונות התנאים יכולות להיות נקודות ציון בפנים, קווי מתאר של קצוות והערכות עומק. המודל משתמש בהן כהקשר ומידע נוספים ליצירת תמונות.
כשמוסיפים מודל פלאגין למודל הבסיס, צריך גם להגדיר את אפשרויות הפלאגין. הפלאגין Face landmark משתמש ב-faceConditionOptions
, הפלאגין Canny edge משתמש ב-edgeConditionOptions
והפלאגין Depth משתמש ב-depthConditionOptions
.
אפשרויות של זיהוי קצוות
מגדירים את האפשרויות הבאות ב-edgeConditionOptions
.
שם האפשרות | תיאור | טווח ערכים | ערך ברירת מחדל |
---|---|---|---|
threshold1 |
הסף הראשון להליך ההיסטרזיס. | Float |
100 |
threshold2 |
הסף השני להליך ההיסטרזיס. | Float |
200 |
apertureSize |
גודל הצמצם של אופרטור סובל. הטווח האופייני הוא בין 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. כך אפשר ללמד את מודל הבסיס על קונספט ספציפי, כמו אובייקט, אדם או סגנון, ולהוסיף אותם לתמונות שנוצרות.
למודלים בסיסיים
מודלי הבסיס הם מודלים של דיפוזיה סמויה מטקסט לתמונה, שיוצרים תמונות מהנחיה בטקסט. כדי להשתמש בכלי ליצירת תמונות, מודל הבסיס צריך להיות תואם לפורמט המודל 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, עם ארכיטקטורה חדשנית שמתאימה במיוחד ל-on-device diffusion.
צריך לציין את מודלים הפלאגין באפשרויות הבסיסיות, ויכול להיות שתצטרכו להוריד קבצים נוספים של מודלים. לכל פלאגין יש דרישות ייחודיות לגבי תמונת התנאי, שאפשר ליצור באמצעות הכלי ליצירת תמונות.
פלאגין Canny Edge
התוסף Canny Edge מקבל תמונה של תנאי שמתווה את הקצוות המיועדים של התמונה שנוצרה. מודל הבסיס משתמש בקצוות שמשתמעים מהתמונה של התנאי, ויוצר תמונה חדשה על סמך הנחיית הטקסט. הכלי ליצירת תמונות כולל יכולות מובנות ליצירת תמונות של מצבים, וצריך רק להוריד את מודל הפלאגין.
התוסף Canny Edge כולל את אפשרויות ההגדרה הבאות:
שם האפשרות | תיאור | טווח ערכים | ערך ברירת מחדל |
---|---|---|---|
threshold1 |
הסף הראשון להליך ההיסטרזיס. | Float |
100 |
threshold2 |
הסף השני להליך ההיסטרזיס. | Float |
200 |
apertureSize |
גודל הצמצם של אופרטור סובל. הטווח האופייני הוא בין 3 ל-7. | Integer |
3 |
l2Gradient |
האם נעשה שימוש בנורמת L2 כדי לחשב את גודל הגרדיאנט של התמונה, במקום בנורמת L1 שמוגדרת כברירת מחדל. | BOOLEAN |
False |
EdgePluginModelBaseOptions |
אובייקט BaseOptions שמגדיר את הנתיב למודל של התוסף. |
BaseOptions אובייקט |
N/A |
מידע נוסף על אופן הפעולה של אפשרויות ההגדרה האלה זמין במאמר בנושא גלאי קצוות של Canny.
הפלאגין Face Landmark
התוסף Face Landmark מקבל את הפלט מ-MediaPipe Face Landmarker כתמונת התנאי. ה-Face Landmarker מספק רשת פנים מפורטת של פנים בודדות, שממפה את הנוכחות והמיקום של תווי הפנים. מודל הבסיס משתמש במיפוי הפנים שמשתמע מתמונת התנאי, ומייצר פנים חדשות על הרשת.
הפלאגין Face landmark דורש גם את חבילת המודלים Face Landmarker כדי ליצור את תמונת התנאי. חבילת המודלים הזו היא אותה חבילה שמשמשת את המשימה Face Landmarker.
הורדת חבילת מודלים של נקודות ציון בפנים
תוסף Face Landmark מכיל את אפשרויות ההגדרה הבאות:
שם האפשרות | תיאור | טווח ערכים | ערך ברירת מחדל |
---|---|---|---|
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 |
מידע נוסף על אופן הפעולה של אפשרויות ההגדרה האלה זמין במאמר בנושא משימת זיהוי תווי פנים.
פלאגין עומק
הפלאגין Depth מקבל תמונה של תנאי שמציינת את העומק המונוקולרי של אובייקט. מודל הבסיס משתמש בתמונת התנאי כדי להסיק את הגודל והעומק של האובייקט שרוצים ליצור, ויוצר תמונה חדשה על סמך הנחיית הטקסט.
הפלאגין Depth (עומק) דורש גם מודל להערכת עומק כדי ליצור את תמונת התנאי.
תוסף העומק מכיל את אפשרויות ההגדרה הבאות:
שם האפשרות | תיאור | טווח ערכים | ערך ברירת מחדל |
---|---|---|---|
depthModelBaseOptions |
אובייקט BaseOptions שמגדיר את הנתיב של המודל שיוצר את תמונת התנאי. |
BaseOptions אובייקט |
N/A |
depthPluginModelBaseOptions |
אובייקט BaseOptions שמגדיר את הנתיב למודל של התוסף. |
BaseOptions אובייקט |
N/A |
התאמה אישית באמצעות LoRA
התאמה אישית של מודל באמצעות LoRA מאפשרת ליוצר התמונות ליצור תמונות על סמך מושגים ספציפיים, שמזוהים על ידי טוקנים ייחודיים במהלך האימון. אחרי האימון עם משקלי LoRA החדשים, המודל יכול ליצור תמונות של הקונספט החדש כשמציינים את הטוקן בהנחיה הטקסטואלית.
כדי ליצור משקלים של LoRA, צריך לאמן מודל בסיסי על תמונות של אובייקט, אדם או סגנון ספציפיים. כך המודל יוכל לזהות את הקונספט החדש ולהשתמש בו כשיוצרים תמונות. אם אתם יוצרים משקלים של LoRa כדי ליצור תמונות של אנשים ופנים ספציפיים, אתם יכולים להשתמש בפתרון הזה רק על הפנים שלכם או על הפנים של אנשים שנתנו לכם אישור לעשות זאת.
בהמשך מוצג הפלט של מודל בהתאמה אישית שאומן על תמונות של קומקומי תה ממערך הנתונים של DreamBooth, באמצעות הטוקן 'קומקום תה של monadikos':
הנחיה: קנקן תה מסוג monadikos ליד מראה
המודל המותאם אישית קיבל את הטוקן בהנחיה והוסיף קומקום שהוא למד לצייר מהמשקלים של LoRA, והוא ממוקם בתמונה לצד מראה כפי שנדרש בהנחיה.
מידע נוסף זמין במדריך להתאמה אישית, שבו נעשה שימוש בModel Garden ב-Vertex AI כדי להתאים אישית מודל על ידי החלת משקולות LoRA על מודל בסיסי.