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

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

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

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

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

שנתחיל?

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

פרטי המשימה

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

תכונות

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

  1. יצירת תמונות לפי טקסט – יצירת תמונות באמצעות הנחיית טקסט.
  2. יצירת תמונות עם תמונות לדוגמה – יצירת תמונות באמצעות הנחיית טקסט ותמונה לדוגמה. הכלי ליצירת תמונות משתמש בתמונות של תנאים בדרכים דומות ל-ControlNet.
  3. יצירת תמונות עם משקלים של LoRA – יצירת תמונות של אנשים, אובייקטים וסגנונות ספציפיים באמצעות הנחיית טקסט עם משקלים מותאמים אישית של המודל.
קלט למשימה פלט של משימות
הכלי ליצירת תמונות מקבל את הקלט הבא:
  • הנחיית טקסט
  • מילת מפתח ראשונית
  • מספר האיטרציות הגנרטיביות
  • אופציונלי: תמונה של מצב
מחולל התמונות מפיק את התוצאות הבאות:
  • תמונה שנוצרה על סמך הקלט.
  • אופציונלי: תמונות חוזרות של התמונה שנוצרה.

אפשרויות הגדרה

אלה אפשרויות ההגדרה של המשימה הזו:

שם האפשרות תיאור טווח ערכים
imageGeneratorModelDirectory ספריית מודל כלי ליצירת תמונות שבה מאוחסנים משקלי המודל. PATH
loraWeightsFilePath ההגדרה קובעת את הנתיב לקובץ המשקלים של LoRA. אופציונלי ורלוונטי רק אם המודל עבר התאמה אישית באמצעות LoRA. PATH
errorListener מגדיר פונקציית event listener אופציונלית לשגיאות. 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 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, כדי ללמד את מודל הבסיס על קונספט ספציפי, כמו אובייקט, אדם או סגנון, ולהוסיף אותם לתמונות שנוצרות.

למודלים בסיסיים

מודלי הבסיס הם מודלים של דיפוזיה סמויה ליצירת תמונות לפי טקסט, שיוצרים תמונות מהנחיה בטקסט. כדי להשתמש בכלי ליצירת תמונות, מודל הבסיס צריך להתאים לפורמט המודל 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, עם ארכיטקטורה חדשנית שמתאימה במיוחד ל-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 edge detector.

תוסף Face Landmark

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

התוסף Face Landmark מקבל את הפלט מ-Face Landmarker של MediaPipe כתמונת התנאי. ה-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 על מודל בסיסי.