מדריך ליצירת תמונות

משימה של מחולל תמונות

המשימה MediaPipe Image Generator מאפשרת ליצור תמונות על סמך הנחיית טקסט. במשימה הזו נעשה שימוש במודל טקסט לתמונה כדי ליצור תמונות באמצעות טכניקות דיפוזיה.

המשימה מקבלת פרומפט טקסט כקלט, יחד עם תמונה אופציונלית של תנאי שהמודל יכול להגדיל ולהשתמש בה כהפניה ליצירה. מידע נוסף על יצירת תמונות מותנית מטקסט זמין במאמר תוספים של דיפוזיה במכשיר ליצירת תמונות מותנית מטקסט.

הכלי ליצירת תמונות יכול גם ליצור תמונות על סמך מושגים ספציפיים שסופקו למודל במהלך האימון או האימון מחדש. מידע נוסף זמין במאמר בנושא התאמה אישית באמצעות LoRA.

שנתחיל?

כדי להתחיל להשתמש במשימה הזו, צריך לפעול לפי אחד ממדריכי ההטמעה האלה בהתאם לפלטפורמת היעד שלכם. במדריכים הספציפיים לפלטפורמה מפורט תהליך ההטמעה הבסיסי של המשימה הזו, עם דוגמאות לקוד שמשתמשות במודל ברירת מחדל ובאפשרויות ההגדרה המומלצות:

פרטי המשימה

בקטע הזה מוסבר על היכולות, הקלטים, הפלטים ואפשרויות ההגדרה של המשימה הזו.

תכונות

אתם יכולים להשתמש בכלי ליצירת תמונות כדי להטמיע את הפעולות הבאות:

  1. יצירת תמונות מטקסט – יצירת תמונות באמצעות הנחיית טקסט.
  2. יצירת תמונות עם תמונות של תנאים – יצירת תמונות באמצעות הנחיית טקסט ותמונה לדוגמה. מחולל התמונות משתמש בתמונות של תנאים בדרכים דומות ל-ControlNet.
  3. יצירת תמונות עם משקלים של 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

התוסף 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 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

הפלאגין Depth (עומק) דורש גם מודל להערכת עומק כדי ליצור את תמונת התנאי.

הורדה של מודל להערכת עומק

תוסף העומק מכיל את אפשרויות ההגדרה הבאות:

שם האפשרות תיאור טווח ערכים ערך ברירת מחדל
depthModelBaseOptions אובייקט BaseOptions שמגדיר את הנתיב של המודל שיוצר את תמונת התנאי. BaseOptions אובייקט N/A
depthPluginModelBaseOptions אובייקט BaseOptions שמגדיר את הנתיב למודל של התוסף. BaseOptions אובייקט N/A

התאמה אישית באמצעות LoRA

התאמה אישית של מודל באמצעות LoRA מאפשרת ליוצר התמונות ליצור תמונות על סמך מושגים ספציפיים, שמזוהים על ידי טוקנים ייחודיים במהלך האימון. אחרי האימון עם משקלי LoRA החדשים, המודל יכול ליצור תמונות של הקונספט החדש כשמציינים את הטוקן בהנחיה הטקסטואלית.

כדי ליצור משקלים של LoRA, צריך לאמן מודל בסיסי על תמונות של אובייקט, אדם או סגנון ספציפיים. כך המודל יוכל לזהות את הקונספט החדש ולהשתמש בו כשיוצרים תמונות. אם אתם יוצרים משקלים של LoRa כדי ליצור תמונות של אנשים ופנים ספציפיים, אתם יכולים להשתמש בפתרון הזה רק על הפנים שלכם או על הפנים של אנשים שנתנו לכם אישור לעשות זאת.

בהמשך מוצג הפלט של מודל בהתאמה אישית שאומן על תמונות של קומקומי תה ממערך הנתונים של DreamBooth, באמצעות הטוקן 'קומקום תה של monadikos':

תמונה פוטו-ריאליסטית שנוצרה של קומקום שמונח על שולחן ליד מראה שתלויה על קיר

הנחיה: קנקן תה מסוג monadikos ליד מראה

המודל המותאם אישית קיבל את הטוקן בהנחיה והוסיף קומקום שהוא למד לצייר מהמשקלים של LoRA, והוא ממוקם בתמונה לצד מראה כפי שנדרש בהנחיה.

LoRA עם Vertex AI

מידע נוסף זמין במדריך להתאמה אישית, שבו נעשה שימוש בModel Garden ב-Vertex AI כדי להתאים אישית מודל על ידי החלת משקולות LoRA על מודל בסיסי.