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

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

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

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

אפשרויות עומק

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

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

הפלאגין Canny Edge

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

הורדת הפלאגין של Canny Edge

הפלאגין Canny Edge מכיל את אפשרויות התצורה הבאות:

שם האפשרות תיאור טווח ערכים ערך ברירת מחדל
threshold1 הסף הראשון להליך ההיסטרזה. Float 100
threshold2 הסף השני להליך ההיסטרזה. Float 200
apertureSize גודל הצמצם לאופרטור Sobel. הטווח האופייני נע בין 3 ל-7. Integer 3
l2Gradient האם נורמת L2 משמשת לחישוב הגודל של ההדרגתיות של התמונה, במקום נורמת ברירת המחדל L1. BOOLEAN False
EdgePluginModelBaseOptions האובייקט BaseOptions שמגדיר את הנתיב למודל של הפלאגין. אובייקט BaseOptions N/A

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

הפלאגין Face Score

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

הורדת הפלאגין של Face Score

כדי ליצור את תמונת התנאי, הפלאגין Face landmark צריך גם את חבילת המודלים של Face כיסוי. חבילת המודל הזה היא אותה חבילה שבה משתמשת המשימה Face landmarker.

הורדת חבילת התבניות לזיהוי פנים

הפלאגין Face Score כולל את אפשרויות התצורה הבאות:

שם האפשרות תיאור טווח ערכים ערך ברירת מחדל
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 Looker.

פלאגין עומק

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

הורדת פלאגין עומק

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

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

פלאגין 'עומק' כולל את אפשרויות התצורה הבאות:

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

התאמה אישית עם LoRA

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

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

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

הנחיה: קנקן תה של monadikos ליד מראה

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

LoRA עם Vertex AI

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