התאמה אישית של סגנונות

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

המודלים הבאים תומכים בהתאמה אישית של הסגנון:

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

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

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

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

אלה תרחישי שימוש שמיועדים להתאמה אישית של סגנון ב-Imagen 3:

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

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

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

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

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

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

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

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

דוגמה להתאמה אישית של הסגנון

הדוגמה הבאה ממחישה התאמה אישית של סגנון ב-Imagen 3:

קלט לדוגמה פלט לדוגמה
  1. תמונה לדוגמה1:
    דוגמה לקלט להתאמה אישית של חיית מחמד
  2. הנחיית טקסט:
    צור תמונה בmosaic style [1] על סמך
    הכתובית הבאה: קו הרקיע של העיר ניו יורק

פלט לדוגמה של התאמה אישית של חיות מחמד

‫1 תמונת קלט לדוגמה שנוצרה באמצעות Imagen 3 יצירת תמונה מההנחיה: פסיפס פשוט.

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

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

  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.

    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.

    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 כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud

    REST

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

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

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

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

התאמה אישית של סגנונות

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

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

תרחיש שימוש תמונות לדוגמה תבנית הנחיה דוגמה
סגנון האובייקט תמונת הנושא (1-4) תיצור תמונה ב-STYLE_DESCRIPTION [1] על סמך הכיתוב הבא: IMAGE_DESCRIPTION. תיצור תמונה ב-neon sign style [1] על סמך הכיתוב הבא: a sign saying have a great day.
סגנון של תמונת אדם ללא קלט של רשת פנים תמונת הנושא (1-4) תצור תמונה של SUBJECT_DESCRIPTION [1] שתתאים לתיאור: דיוקן של SUBJECT_DESCRIPTION [1] ${PROMPT} תצור תמונה של a woman with short hair[1] שתתאים לתיאור הבא: דיוקן של a woman with short hair[1] בסגנון של סרט מצויר בתלת-ממד עם רקע מטושטש. דמות חמודה ומקסימה, פנים מחייכות, מסתכלת למצלמה, גוון פסטלי, איכות גבוהה, 4k, יצירת מופת, פרטים מדויקים, מרקם עור, מיפוי מרקם, צללים רכים, תאורה רכה ומציאותית, צבעים עזים
סגנון תמונה של אדם עם קלט של רשת פנים תמונת הנושא (1-3)

תמונת בקרה של רשת הפנים (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] בסגנון של קריקטורה בתלת-ממד עם רקע מטושטש. דמות חמודה ומקסימה עם פרצוף מחייך. ‫See the camera, pastel color tone, high quality, 4k, masterpiece, super details, skin texture, texture mapping, Soft shadows, soft realistic lighting, vibrant colors

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]. לדוגמה:
    • הנחייה טקסטואלית הבאה היא בקשה שכוללת תמונה לדוגמה אחת עם "referenceId": 1 ותיאור אופציונלי של "styleDescription": "glowing style": צור תמונה בglowing style [1] על סמך הכיתוב הבא: כנסייה בהר.
  • "referenceId": המזהה של התמונה לדוגמה, או המזהה של סדרה של תמונות לדוגמה שמתאימות לאותו נושא או סגנון. בדוגמה הזו, לתמונה לדוגמה היחידה יש referenceId עם הערך (1).
  • BASE64_REFERENCE_IMAGE: תמונה לדוגמה שתשמש להנחיית יצירת תמונות. צריך לציין את התמונה כמחרוזת בייטים בקידוד base64.
  • STYLE_DESCRIPTION: אופציונלי. תיאור טקסטואלי של תמונת לדוגמה שאפשר להשתמש בו בשדה prompt. לדוגמה:
          "prompt": "Generate an image in glowing style [1] based on the following
            caption: A church in the mountain.",
          [...],
          "styleImageConfig": {
            "styleDescription": "glowing style"
          }
        
  • 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_STYLE",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
          },
          "styleImageConfig": {
            "styleDescription": "STYLE_DESCRIPTION"
          }
        }
      ]
    }
  ],
  "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

from google import genai
from google.genai.types import (
    EditImageConfig,
    Image,
    StyleReferenceConfig,
    StyleReferenceImage,
)

client = genai.Client()

# TODO(developer): Update and un-comment below line
# output_gcs_uri = "gs://your-bucket/your-prefix"

# Create a style reference image of a neon sign stored in Google Cloud Storage
# using https://storage.googleapis.com/cloud-samples-data/generative-ai/image/neon.png
style_reference_image = StyleReferenceImage(
    reference_id=1,
    reference_image=Image(gcs_uri="gs://cloud-samples-data/generative-ai/image/neon.png"),
    config=StyleReferenceConfig(style_description="neon sign"),
)

image = client.models.edit_image(
    model="imagen-3.0-capability-001",
    prompt="generate an image of a neon sign [1] with the words: have a great day",
    reference_images=[style_reference_image],
    config=EditImageConfig(
        edit_mode="EDIT_MODE_DEFAULT",
        number_of_images=1,
        safety_filter_level="BLOCK_MEDIUM_AND_ABOVE",
        person_generation="ALLOW_ADULT",
        output_gcs_uri=output_gcs_uri,
    ),
)

# Example response:
# gs://your-bucket/your-prefix
print(image.generated_images[0].image.gcs_uri)

שימוש במוצר

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

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

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

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

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