התכונה 'התאמה אישית מבוקרת' מאפשרת ליצור תמונות חדשות על סמך תמונת מקור או אות של תמונת מקור (קצוות קאני או שרבוט). בדף הזה מוסבר איך לשלוח שני סוגים של בקשות להתאמה אישית מבוקרת:
התאמה אישית מבוקרת של Imagen 3 (תכונה ב-GA)
התאמה אישית מבוקרת של Imagen 2 – אות מקור של קצה חכם או שרבוט (תכונת Preview)
המודלים הבאים תומכים בהתאמה אישית מבוקרת:
תרחישים לדוגמה
התכונה 'התאמה אישית מבוקרת' של Imagen 3 מאפשרת להשתמש בהנחיות בסגנון חופשי, ולכן יכול להיות שייראה לכם שהמודל יכול לעשות יותר ממה שהוא אומן לעשות. בקטעים הבאים מתוארים תרחישי שימוש ודוגמאות לשימוש בתכונה 'התאמה אישית מבוקרת' של Imagen 3.
המודל אומן על תרחישי שימוש שאנחנו מספקים, ואנחנו מצפים לתוצאות טובות כשמשתמשים ב-Imagen 3 Controlled Customization. אם תנסו לגרום למודל להגיב בצורה לא צפויה, לא צפויות תוצאות טובות.
דוגמאות לתרחישי שימוש מיועדים
אלה תרחישי שימוש שבהם Imagen 3 Controlled Customization מאומן לבצע פעולות ומפיק תוצאות טובות:
תיצור תמונה לפי הפרומפט ותמונות השליטה של קצוות קאני.
יצירת תמונה שנוצרת בהתאם לפרומפט ולתמונות של השרבוטים.
תעצב תמונה של אדם תוך שמירה על הבעת הפנים.
דוגמאות לתרחישי שימוש לא מכוונים
אלה תרחישי שימוש שבהם לא בוצע אימון של Imagen 3 Controlled Customization, ולכן התוצאות שמתקבלות לא טובות:
ליצור תמונה באמצעות סגנון שמצוין בפרומפט.
ליצור תמונה מטקסט בסגנון ספציפי שמוגדר על ידי תמונת רפרנס, עם רמה מסוימת של שליטה בקומפוזיציה של התמונה באמצעות תמונה לשליטה.
ליצור תמונה מטקסט בסגנון ספציפי שמוגדר על ידי תמונת רפרנס, עם רמה מסוימת של שליטה בקומפוזיציה של התמונה באמצעות שרבוט בקרה.
יצירת תמונה מטקסט בסגנון ספציפי שמוגדר על ידי תמונת רפרנס, עם רמת שליטה מסוימת על קומפוזיציית התמונה באמצעות תמונה לשליטה. לאדם בתמונה יש הבעת פנים ספציפית.
תעצב תמונה של שני אנשים או יותר, ותשמור על הבעות הפנים שלהם.
תעצב תמונה של חיית מחמד ותהפוך אותה לציור. לשמור על הקומפוזיציה של התמונה או לציין אותה (לדוגמה, צבעי מים).
לפני שמתחילים
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
מגדירים אימות לסביבה.
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
כתיבת פרומפטים להתאמה אישית
הפרומפט שבו אתם משתמשים בהתאמה אישית של Imagen 3 עשוי להשפיע על האיכות של התמונות שנוצרות. אפשר להשתמש בתבניות הפרומפטים הבאות כנקודת התחלה לכתיבת פרומפטים להתאמה אישית. יכול להיות שתצטרכו לשלוח כמה בקשות כדי לקבל את הפלט המבוקש.
| תרחיש שימוש | תמונות לדוגמה | תבנית לפרומפט | דוגמה |
|---|---|---|---|
| התאמה אישית מבוקרת | מפת שרבוטים (1) | תצור תמונה שתואמת לscribble map [1] כדי להתאים לתיאור: ${STYLE_PROMPT} ${PROMPT}. | צור תמונה שתתאים לscribble map [1] כדי שתהיה זהה לתיאור: התמונה צריכה להיות בסגנון של ציור שמן אימפרסיוניסטי עם משיכות מכחול רפויות. התמונה צריכה להיות עם אווירה מוארת באופן טבעי ומשיכות מכחול בולטות. מבט מהצד על מכונית. המכונית חונה על משטח כביש רטוב ומבריק, ואורות העיר משתקפים בשלוליות. |
| התאמה אישית מבוקרת | תמונה של שליטה ב-Canny (1) | יצירת תמונה שתואמת לedge map [1] כדי שתתאים לתיאור: ${STYLE_PROMPT} ${PROMPT} | צור תמונה שתתאים לedge map [1] בהתאם לתיאור הבא: התמונה צריכה להיות בסגנון של ציור שמן אימפרסיוניסטי, עם משיכות מכחול רפויות. התמונה צריכה להיות מוארת באופן טבעי, עם משיכות מכחול בולטות. מבט מהצד על מכונית. המכונית חונה על משטח כביש רטוב ומבריק, ואורות העיר משתקפים בשלוליות. |
| עיצוב תמונה של אדם עם קלט FaceMesh |
תמונת מושא הצילום (1-3) תמונת שליטה של FaceMesh (1) |
תצור תמונה של SUBJECT_DESCRIPTION [1] בתנוחה של CONTROL_IMAGE [2] בהתאם לתיאור: תמונה של SUBJECT_DESCRIPTION [1] ${PROMPT} | תיצור תמונה של a woman with short hair [1] בתנוחה של control image [2] בהתאם לתיאור: דיוקן של a woman with short hair [1] בסגנון קריקטורה תלת-ממדית עם רקע מטושטש. דמות חמודה ומקסימה, עם פנים מחייכות, פונה למצלמה, גווני פסטל, איכות גבוהה, 4k, יצירת מופת, פרטים קטנים, מרקם עור, מיפוי מרקם, צללים רכים, תאורה רכה וריאליסטית, צבעים עזים |
| עיצוב תמונה של אדם עם קלט FaceMesh |
תמונת מושא הצילום (1-3) תמונת שליטה של FaceMesh (1) |
תצור תמונה של ${STYLE_PROMPT} בנושא SUBJECT_DESCRIPTION [1] בתנוחה של CONTROL_IMAGE [2] כדי שתתאים לתיאור: דיוקן של SUBJECT_DESCRIPTION [1] ${PROMPT} | תיצור תמונה בסגנון סרטים מצוירים בתלת ממד של a woman with short hair [1] בתנוחה של control image [2] שתתאים לתיאור: פורטרט של a woman with short hair [1] בסגנון סרטים מצוירים בתלת ממד עם רקע מטושטש. דמות חמודה ומקסימה עם פנים מחייכות, פונה למצלמה, גווני פסטל, איכות גבוהה, 4k, יצירת מופת, פרטים קטנים, מרקם עור, מיפוי מרקם, צללים רכים, תאורה רכה ומציאותית, צבעים עזים |
שליחת בקשה להתאמה אישית מבוקרת של Imagen 3
אפשר להשתמש בדוגמאות הבאות כדי לשלוח בקשה לשינוי מבוקר של Imagen 3:
REST
למידע נוסף על Imagen API, אפשר לעיין במקורות הבאים:
- Method:
endpoints.predict VisionGenerativeModelInstanceVisionGenerativeModelParamsVisionGenerativeModelResult
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- LOCATION: האזור של הפרויקט. לדוגמה,
us-central1,europe-west2אוasia-northeast3. רשימת האזורים הזמינים מופיעה במאמר מיקומים של AI גנרטיבי ב-Vertex AI. כשמשתמשים בנקודת קצה אזורית של API, האזור מכתובת ה-URL של נקודת הקצה קובע איפה הבקשה תעובד, והערךLOCATIONבנתיב המשאב מתעלם אם יש התנגשות. - TEXT_PROMPT: הנחיית הטקסט קובעת אילו תמונות המודל יוצר. כדי להשתמש בהתאמה אישית מבוקרת של Imagen 3, צריך לכלול את
referenceIdשל תמונת רפרנס הבקרה שסיפקתם בפורמט [$referenceId]. לדוגמה:- יצירת תמונה בהתאם למפה המשורטטת [1] כדי להתאים לתיאור: [image description].
- BASE64_CONTROL_IMAGE: תמונת הבקרה הבסיסית (סקיצה). צריך לציין את התמונה כמחרוזת בייטים בקידוד base64.
ForCONTROL_TYPE_SCRIBBLE: The expected scribble control image has black background and white scribble line.
בשבילCONTROL_TYPE_CANNY: תמונת הבקרה הצפויה של קצוות קאני היא עם רקע שחור וקצוות קאני לבנים.
- CONTROL_TYPE: סוג אות הבקרה. שימוש ב-
CONTROL_TYPE_CANNYלזיהוי קצוות. משתמשים ב-CONTROL_TYPE_SCRIBBLEכדי לשרטט. -
enableControlImageComputation: מגדירים את הערךfalseאם מספקים תמונה משלכם לבקרה. במקרה כזה,B64_BASE_IMAGEצריך להיות תמונה של אות הבקרה. מגדירים את הערךtrueאם רוצים ש-Imagen יחשב את תמונת הבקרה מתוך תמונת רפרנס. במקרה הזה,B64_BASE_IMAGEצריך להיות תמונת ה-RGB הגולמית. - IMAGE_COUNT: מספר התמונות שנוצרו. ערכים קבילים מסוג מספר שלם: 1-4. ערך ברירת המחדל: 4.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
גוף בקשת JSON:
{
"instances": [
{
"prompt": "TEXT_PROMPT",
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_CONTROL",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "BASE64_CONTROL_IMAGE"
},
"controlImageConfig": {
"controlType": "CONTROL_TYPE",
"enableControlImageComputation": false
}
}
]
}
],
"parameters": {
"sampleCount": IMAGE_COUNT
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
"sampleCount": 2. התגובה מחזירה שני אובייקטים של חיזוי, עם בייטים של התמונה שנוצרה בקידוד Base64.
{
"predictions": [
{
"bytesBase64Encoded": "BASE64_IMG_BYTES",
"mimeType": "image/png"
},
{
"mimeType": "image/png",
"bytesBase64Encoded": "BASE64_IMG_BYTES"
}
]
}
Python
שרבוט
Canny edge
שליחת בקשה להתאמה אישית מבוקרת של Imagen 2
| תמונת הקלט | פרמטרים אחרים | התמונה שנוצרה |
|---|---|---|
|
הנחיה: "גרסה של יצירת אמנות דיגיטלית" פרומפט שלילי: "שחור לבן" סוג תמונת ההנחיה: RGB רגיל תנאי בקרה: זיהוי קצוות (canny edge) קנה מידה של Imagen Control: 0.95 |
|
(בוצע זיהוי קצוות). |
הנחיה: "גרסה של יצירת אמנות דיגיטלית" פרומפט שלילי: "שחור לבן" סוג תמונת ההנחיה: קצה קאני קנה מידה של Imagen Control: 0.95 |
|
אפשר להשתמש בדוגמאות הבאות כדי לשלוח בקשה להתאמה אישית מבוקרת של Imagen 2:
שימוש במוצר
כדי לראות את תקני השימוש והגבלות התוכן שקשורים ל-Imagen ב-Vertex AI, אפשר לעיין בהנחיות השימוש.
גרסאות המודלים
יש כמה מודלים ליצירת תמונות שבהם אפשר להשתמש. מידע נוסף זמין במאמר בנושא מודלים של Imagen.
המאמרים הבאים
כדאי לקרוא מאמרים על Imagen ועל מוצרים אחרים של AI גנרטיבי ב-Vertex AI: