Espandere il contenuto di un'immagine utilizzando l'outpainting con Imagen


Questa pagina descrive come utilizzare l'outpainting utilizzando Imagen per espandere il contenuto di un'immagine oltre i suoi bordi originali utilizzando gli SDK Firebase AI Logic.

L'outpainting è un tipo di modifica basata su maschere. Una maschera è una sovrapposizione digitale che definisce l'area specifica che vuoi modificare.

Come funziona: fornisci un'immagine originale e un'immagine mascherata corrispondente, generata automaticamente o fornita da te, che definisce una maschera della nuova area espansa. Puoi anche fornire facoltativamente un prompt di testo che descriva ciò che vuoi nell'area espansa oppure il modello può decidere in modo intelligente cosa continuerà logicamente la scena esistente. Il modello genera i nuovi contenuti e riempie l'area mascherata.

Ad esempio, puoi modificare le proporzioni di un'immagine o aggiungere più contesto di sfondo.

Vai al codice

Prima di iniziare

Disponibile solo quando utilizzi Vertex AI Gemini API come provider API.

Se non l'hai ancora fatto, completa la guida introduttiva, che descrive come configurare il progetto Firebase, connettere l'app a Firebase, aggiungere l'SDK, inizializzare il servizio di backend per il provider API scelto e creare un'istanza ImagenModel.

Modelli che supportano questa funzionalità

Imagen offre la modifica delle immagini tramite il modello capability:

  • imagen-3.0-capability-001

Tieni presente che per i modelli Imagen, la posizione global non è supportata.

Espandere i contenuti di un'immagine

Prima di provare questo esempio, completa la sezione Prima di iniziare di questa guida per configurare il progetto e l'app.

Il seguente esempio mostra come espandere un'immagine oltre i suoi bordi originali utilizzando una maschera definita in un'immagine che fornisci. Fornisci l'immagine originale, un prompt di testo e l'immagine mascherata. Tieni presente quanto segue in merito all'immagine originale e a quella mascherata:

  • L'immagine mascherata deve avere le dimensioni in pixel della dimensione di destinazione dell'immagine finale creata con l'outpainting.

  • L'immagine originale deve includere un riempimento aggiuntivo per corrispondere alle dimensioni in pixel dell'immagine mascherata.

Fornire un prompt di testo è facoltativo se vuoi che il modello decida in modo intelligente cosa continuerà logicamente la scena esistente. Se vuoi contenuti specifici all'interno dell'area espansa, devi specificarlo in un prompt di testo.

Swift

La modifica delle immagini con i modelli Imagen non è supportata per Swift. Ricontrolla più tardi quest'anno.

Kotlin

Per espandere un'immagine, utilizza editImage() e imposta la configurazione di modifica in modo che utilizzi ImagenEditMode.OUTPAINT.
Tieni presente che puoi utilizzare facoltativamente outpaintImage() invece di editImage() e non devi specificare la modalità di modifica.

Consulta la guida rapida con codice di esempio per l'outpainting.

Java

Per espandere un'immagine, utilizza editImage() e imposta la configurazione di modifica in modo che utilizzi ImagenEditMode.OUTPAINT.
Tieni presente che puoi utilizzare facoltativamente outpaintImage() invece di editImage() e non devi specificare la modalità di modifica.

Consulta la guida rapida con codice di esempio per l'outpainting.

Web

La modifica delle immagini con i modelli Imagen non è supportata per le app web. Ricontrolla più tardi quest'anno.

Dart

Per espandere un'immagine, utilizza editImage() e imposta la configurazione di modifica in modo che utilizzi ImagenEditMode.OUTPAINT.

Consulta la guida rapida con codice di esempio per l'outpainting.

Unity

La modifica delle immagini con i modelli Imagen non è supportata per Unity. Ricontrolla più tardi quest'anno.

Best practice e limitazioni

Ti consigliamo di espandere la maschera quando modifichi un'immagine. In questo modo, puoi smussare i bordi di una modifica e renderla più convincente. In genere, è consigliabile un valore di dilatazione dell'1% o del 2% (0.01 o 0.02).


Fornisci un feedback sulla tua esperienza con Firebase AI Logic