הרחבת התוכן של תמונה באמצעות יצירת ציור מחוץ למסגרת עם Imagen


בדף הזה מוסבר איך להשתמש בהוספת חלקים חסרים לתמונה באמצעות Imagen כדי להרחיב את התוכן של תמונה מעבר לגבולות המקוריים שלה באמצעות ערכות ה-SDK של Firebase AI Logic.

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

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

לדוגמה, אפשר לשנות את יחס הגובה-רוחב של תמונה או להוסיף עוד הקשר רקע.

מעבר לקוד

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

אפשרות זמינה רק כשמשתמשים ב-Vertex AI Gemini API כספק ה-API.

אם עדיין לא עשיתם את זה, עליכם להשלים את השלבים במדריך תחילת העבודה. במדריך הזה מוסבר איך להגדיר את פרויקט Firebase, לקשר את האפליקציה ל-Firebase, להוסיף את ה-SDK, לאתחל את שירות ה-Backend של ספק ה-API שבחרתם וליצור מופע של ImagenModel.

מודלים שתומכים ביכולת הזו

Imagen מציע עריכת תמונות באמצעות מודל capability:

  • imagen-3.0-capability-001

הערה: בImagen מודלים, המיקום global לא נתמך.

הרחבת התוכן של תמונה

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

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

  • לתמונה עם המסכה צריכות להיות מידות הפיקסלים של גודל היעד של התמונה הסופית עם ה-outpainting.

  • התמונה המקורית צריכה לכלול מרווח פנימי נוסף כדי להתאים למידות הפיקסלים של התמונה עם המסכה.

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

Swift

אין תמיכה בעריכת תמונות באמצעות מודלים של Imagen ב-Swift. כדאי לחזור לכאן בהמשך השנה.

Kotlin

כדי להרחיב תמונה, משתמשים בeditImage() ומגדירים את הגדרות העריכה לשימוש ב-ImagenEditMode.OUTPAINT.
שימו לב שאפשר להשתמש ב-outpaintImage() במקום ב-editImage(), ואין צורך לציין את מצב העריכה.

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

Java

כדי להרחיב תמונה, משתמשים בeditImage() ומגדירים את הגדרות העריכה לשימוש ב-ImagenEditMode.OUTPAINT.
שימו לב שאפשר להשתמש ב-outpaintImage() במקום ב-editImage(), ואין צורך לציין את מצב העריכה.

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

Web

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

Dart

כדי להרחיב תמונה, משתמשים בeditImage() ומגדירים את הגדרות העריכה לשימוש ב-ImagenEditMode.OUTPAINT.

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

Unity

אין תמיכה בעריכת תמונות באמצעות מודלים של Imagen ב-Unity. כדאי לחזור לכאן בהמשך השנה.

שיטות מומלצות ומגבלות

מומלץ להרחיב את המסכה כשעורכים תמונה. הפעולה הזו יכולה לעזור להחליק את הגבולות של עריכה ולגרום לה להיראות משכנעת יותר. באופן כללי, מומלץ להגדיר ערך של 1% או 2% להרחבה (0.01 או 0.02).


רוצה לתת משוב על חוויית השימוש ב-Firebase AI Logic?