Rozszerzanie treści obrazu za pomocą funkcji rozszerzania obrazu w Imagen


Z tego artykułu dowiesz się, jak używać rozszerzania obrazu za pomocą Imagen do rozszerzenia zawartości obrazu poza jego pierwotne granice za pomocą pakietów SDK Firebase AI Logic.

Rozszerzanie obrazu to rodzaj edycji opartej na maskach. Maska to cyfrowa nakładka określająca konkretny obszar, który chcesz edytować.

Jak to działa: przesyłasz oryginalny obraz i odpowiadający mu obraz z maską – wygenerowany automatycznie lub przesłany przez Ciebie – który określa maskę nowego, rozszerzonego obszaru. Opcjonalnie możesz też podać prompta tekstowego opisującego, co chcesz umieścić w rozszerzonym obszarze, albo model może inteligentnie zdecydować, co będzie logicznym rozwinięciem istniejącej sceny. Model generuje nowe treści i wypełnia zamaskowany obszar.

Możesz na przykład zmienić proporcje obrazu lub dodać więcej kontekstu w tle.

Przejdź do kodu

Zanim zaczniesz

Dostępne tylko wtedy, gdy jako dostawcę interfejsu API używasz Agent Platform Gemini API (formerly Vertex AI).

Jeśli jeszcze tego nie zrobisz, zapoznaj się z przewodnikiem dla początkujących, w którym opisujemy, jak skonfigurować projekt Firebase, połączyć aplikację z Firebase, dodać pakiet SDK, zainicjować usługę backendu dla wybranego dostawcy interfejsu API i utworzyć instancję ImagenModel.

Modele obsługujące tę funkcję

Imagen umożliwia edycję obrazów za pomocą modelu capability:

  • imagen-3.0-capability-001

Pamiętaj, że w przypadku modeli Imagen lokalizacja global jestnie obsługiwana.

Rozszerzanie zawartości obrazu

Zanim wypróbujesz ten przykład, zapoznaj się z sekcją Zanim zaczniesz w tym przewodniku aby skonfigurować projekt i aplikację.

Poniższy przykład pokazuje, jak rozszerzyć obraz poza jego pierwotne granice – za pomocą maski zdefiniowanej na przesłanym przez Ciebie obrazie. Przesyłasz oryginalny obraz, prompta tekstowego i obraz z maską. Oryginalny obraz i obraz z maską muszą spełniać te warunki:

  • Obraz z maską musi mieć wymiary w pikselach odpowiadające docelowym wymiarom końcowego rozszerzonego obrazu.

  • Oryginalny obraz musi zawierać dodatkowe dopełnienie, aby pasować do wymiarów w pikselach obrazu z maską.

Podanie prompta tekstowego jest opcjonalne, jeśli chcesz, aby model inteligentnie zdecydował, co będzie logicznym rozwinięciem istniejącej sceny. Jeśli chcesz, aby w rozszerzonym obszarze znalazły się określone treści, musisz je określić w prompcie tekstowym.

Swift

Edycja obrazów za pomocą modeli Imagen nie jest obsługiwana w przypadku języka Swift. Sprawdź ponownie w tym roku.

Kotlin

Aby rozszerzyć obraz, użyj editImage() i ustaw konfigurację edycji na ImagenEditMode.OUTPAINT.
Zamiast editImage()możesz też opcjonalnie użyć outpaintImage(), a tryb edycji nie musi być określony.

Przykładowy kod do rozszerzania obrazu znajdziesz w przewodniku Szybki start .

Java

Aby rozszerzyć obraz, użyj editImage() i ustaw konfigurację edycji na ImagenEditMode.OUTPAINT.
Zamiast editImage()możesz też opcjonalnie użyć outpaintImage(), a tryb edycji nie musi być określony.

Przykładowy kod do rozszerzania obrazu znajdziesz w przewodniku Szybki start .

Web

Edycja obrazów za pomocą modeli Imagen nie jest obsługiwana w przypadku aplikacji internetowych. Sprawdź ponownie w tym roku.

Dart

Aby rozszerzyć obraz, użyj editImage() i ustaw konfigurację edycji na ImagenEditMode.OUTPAINT.

Przykładowy kod do rozszerzania obrazu znajdziesz w przewodniku Szybki start .

Unity

Edycja obrazów za pomocą modeli Imagen nie jest obsługiwana w przypadku Unity. Sprawdź ponownie w tym roku.

Sprawdzone metody i ograniczenia

Podczas edycji obrazu zalecamy rozszerzenie maski. Może to pomóc wygładzić granice edycji i sprawić, że będzie ona bardziej przekonująca. Zwykle zalecamy wartość rozszerzenia wynoszącą 1% lub 2% (0.01 lub 0.02).


Prześlij opinię o korzystaniu z Firebase AI Logic