התאמה אישית מבוקרת

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

  1. התאמה אישית מבוקרת של Imagen 3 (תכונה ב-GA)

    כרטיס המודל של Imagen לעריכה ולהתאמה אישית

  2. התאמה אישית מבוקרת של Imagen 2 – אות מקור של תמונה עם קצוות חדים או שרבוטים (תכונת Preview)

המודלים הבאים תומכים בהתאמה אישית מבוקרת:

תרחישים לדוגמה

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

המודל אומן על תרחישי שימוש שאנחנו מספקים, ואנחנו מצפים לתוצאות טובות כשמשתמשים ב-Imagen 3 Controlled Customization. אם תנסו לגרום למודל להגיב בדרכים לא צפויות, אל תצפו לתוצאות טובות.

דוגמאות לתרחישי שימוש מיועדים

אלה תרחישי השימוש שבהם Imagen 3 Controlled Customization אומן ומניב תוצאות טובות:

  • יצירת תמונה לפי ההנחיה ותמונות הבקרה של Canny Edge.

  • יצירת תמונה על סמך הפרומפט ותמונות השירבוטים.

  • תעצב תמונה של אדם תוך שמירה על הבעת הפנים.

דוגמאות לתרחישי שימוש לא מכוונים

אלה תרחישי שימוש שבהם Imagen 3 Controlled Customization לא אומן להפיק תוצאות טובות:

  • ליצור תמונה בסגנון שצוין בהנחיה.

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

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

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

  • תעצב תמונה של שני אנשים או יותר, ותשמור על הבעות הפנים שלהם.

  • תעצב תמונה של חיית מחמד ותהפוך אותה לציור. לשמור על הקומפוזיציה של התמונה או לציין אותה (למשל, צבעי מים).

לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the API

  8. מגדירים אימות לסביבה.

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.

    REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud.

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

כתיבת פרומפטים להתאמה אישית

הפרומפט שבו אתם משתמשים בהתאמה אישית של Imagen 3 עשוי להשפיע על האיכות של התמונות שנוצרות. אפשר להשתמש בתבניות הפרומפטים הבאות כנקודת התחלה לכתיבת פרומפטים להתאמה אישית. יכול להיות שתצטרכו לשלוח כמה בקשות כדי לקבל את הפלט הממוקד.

תרחיש שימוש תמונות רפרנס תבנית לפרומפט דוגמה
התאמה אישית מבוקרת מפת שרבוט (1) יצירת תמונה שתואמת לscribble map [1] לפי התיאור: ${STYLE_PROMPT} ${PROMPT}. תצור תמונה שתתאים לscribble map [1] כדי שתהיה זהה לתיאור: התמונה צריכה להיות בסגנון של ציור שמן אימפרסיוניסטי עם משיכות מכחול רפויות. התמונה צריכה להיות מוארת באופן טבעי, עם משיכות מכחול בולטות. מבט מהצד על מכונית. המכונית חונה על משטח כביש רטוב ומבריק, ואורות העיר משתקפים בשלוליות.
התאמה אישית מבוקרת תמונה עם שליטה חכמה (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, אפשר לעיין במקורות הבאים:

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫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.
    ‫For CONTROL_TYPE_SCRIBBLE: התמונה הצפויה של אמצעי הבקרה של השרבוט היא עם רקע שחור וקו שרבוט לבן. תמונה לדוגמה של אמצעי בקרה על שרבוטים
    בשביל 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. התגובה מחזירה שני אובייקטים של חיזוי, עם בייטים של התמונה שנוצרה על ידי AI בקידוד base64.
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

שליחת בקשה להתאמה אישית מבוקרת של Imagen 2

תמונת הקלט פרמטרים אחרים התמונה שנוצרה
קלט שחמט
תמונת הקלט. מקור התמונה: Alec Cutter ב-Unsplash.

הנחיה: "גרסה של יצירת אמנות דיגיטלית"

פרומפט שלילי: "שחור לבן"

סוג תמונה לדוגמה: RGB רגיל

תנאי הבקרה: קצה קאני

סולם Imagen Control: ‏0.95

פלט מעוצב
קלט של שחמט
תמונת הקלט. מקור התמונה: Alec Cutter ב-Unsplash
(הוחל זיהוי קצוות).

הנחיה: "גרסת אומנות דיגיטלית"

פרומפט שלילי: "שחור לבן"

‫Guide image type: canny edge

קנה מידה של Imagen Control: 0.95

פלט מסוגנן

כדי לשלוח בקשה להתאמה אישית מבוקרת של Imagen 2, אפשר להשתמש בדוגמאות הבאות:

שימוש במוצר

בהנחיות השימוש מפורטים סטנדרטים לשימוש והגבלות תוכן שקשורות ל-Imagen ב-Vertex AI.

גרסאות המודלים

יש כמה מודלים ליצירת תמונות שאתם יכולים להשתמש בהם. מידע נוסף זמין במאמר מודלים של Imagen.

המאמרים הבאים

מאמרים על Imagen ומוצרים אחרים של AI גנרטיבי ב-Vertex AI: