Z tego artykułu dowiesz się, jak używać rozszerzania obrazu za pomocą Imagen, aby rozszerzać zawartość 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 przez Ciebie – który definiuje maskę nowego, rozszerzonego obszaru. Możesz też opcjonalnie podać prompt tekstowy opisujący, co chcesz uzyskać w rozszerzonym obszarze. Model może też 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ć format obrazu lub dodać więcej kontekstu tła.
Zanim zaczniesz
Dostępne tylko wtedy, gdy jako dostawcę interfejsu API używasz Vertex AI Gemini API. |
Jeśli jeszcze tego nie zrobisz, zapoznaj się z przewodnikiem dla początkujących, w którym znajdziesz informacje o tym, 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 oferuje edycję obrazów za pomocą modelu capability
:
imagen-3.0-capability-001
Pamiętaj, że w przypadku modeli Imagen lokalizacja global
nie jest obsługiwana.
Rozszerzanie treś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 oryginalne granice za pomocą maski zdefiniowanej w dostarczonym przez Ciebie obrazie. Podajesz oryginalny obraz, prompt tekstowy i obraz z maską. Pamiętaj o tych kwestiach dotyczących oryginalnego i zamaskowanego obrazu:
Obraz z maską musi mieć wymiary w pikselach docelowego rozmiaru końcowego obrazu po rozszerzeniu.
Oryginalny obraz musi zawierać dodatkowe wypełnienie, aby pasować do wymiarów w pikselach zamaskowanego obrazu.
Podanie prompta tekstowego jest opcjonalne, jeśli chcesz, aby model inteligentnie zdecydował, co logicznie uzupełni istniejącą scenę. Jeśli chcesz, aby w rozszerzonym obszarze znalazły się konkretne treści, musisz to określić w prompcie tekstowym.
Swift
Edytowanie obrazów za pomocą modeli Imagen nie jest obsługiwane w przypadku języka Swift. Sprawdź ponownie w późniejszym terminie.
Kotlin
Aby rozwinąć obraz, użyj
editImage()
i ustaw konfigurację edycji na ImagenEditMode.OUTPAINT
.
Pamiętaj, że zamiast editImage()
możesz opcjonalnie użyć
outpaintImage()
i nie musisz określać trybu edycji.
Zapoznaj się z szybkim wprowadzeniem, w którym znajdziesz przykładowy kod do rozszerzania obrazu.
Java
Aby rozwinąć obraz, użyj
editImage()
i ustaw konfigurację edycji na ImagenEditMode.OUTPAINT
.
Pamiętaj, że zamiast editImage()
możesz opcjonalnie użyć
outpaintImage()
i nie musisz określać trybu edycji.
Zapoznaj się z szybkim wprowadzeniem, w którym znajdziesz przykładowy kod do rozszerzania obrazu.
Web
Edytowanie obrazów za pomocą modeli Imagen nie jest obsługiwane w przypadku aplikacji internetowych. Sprawdź ponownie w późniejszym terminie.
Dart
Aby rozwinąć obraz, użyj
editImage()
i ustaw konfigurację edycji na ImagenEditMode.OUTPAINT
.
Zapoznaj się z szybkim wprowadzeniem, w którym znajdziesz przykładowy kod do rozszerzania obrazu.
Unity
Edytowanie obrazów za pomocą modeli Imagen nie jest obsługiwane w przypadku Unity. Sprawdź ponownie w późniejszym terminie.
Sprawdzone metody i ograniczenia
Podczas edytowania 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 na poziomie 1% lub 2% (0.01
lub 0.02
).
Prześlij opinię o korzystaniu z usługi Firebase AI Logic