Расширьте содержимое изображения, используя функцию «Outpainting» в Imagen


На этой странице описывается, как использовать функцию раскрашивания изображения (outpainting) с помощью Imagen для расширения содержимого изображения за пределы его исходных границ, используя SDK Firebase AI Logic .

«Выкрашивание» — это один из видов редактирования с использованием масок . Маска — это цифровое наложение, определяющее конкретную область, которую вы хотите отредактировать.

Как это работает : Вы предоставляете исходное изображение и соответствующее изображение с маской — либо автоматически сгенерированное, либо предоставленное вами — которое определяет маску новой, расширенной области. Вы также можете дополнительно указать текстовое описание того, что вы хотите видеть в расширенной области, или модель может автоматически определить, что будет логическим продолжением существующей сцены. Модель генерирует новый контент и заполняет область с маской.

Например, вы можете изменить соотношение сторон изображения или добавить дополнительный фоновый контекст.

Перейти к коду

Прежде чем начать

Доступно только при использовании API Vertex AI Gemini в качестве поставщика API.

Если вы еще этого не сделали, пройдите руководство по началу работы , в котором описано, как настроить проект Firebase, подключить приложение к Firebase, добавить SDK, инициализировать бэкэнд-сервис для выбранного вами поставщика API и создать экземпляр ImagenModel .

Модели, поддерживающие эту возможность

Компания Imagen предлагает услуги по редактированию изображений в рамках своей модели capability :

  • imagen-3.0-capability-001

Обратите внимание, что для моделей Imagen global местоположение не поддерживается.

Развернуть содержимое изображения

Прежде чем опробовать этот пример, выполните раздел «Перед началом работы » этого руководства, чтобы настроить свой проект и приложение.

В следующем примере показано, как расширить изображение за пределы его исходных границ, используя маску, определенную в предоставленном вами изображении. Вы предоставляете исходное изображение, текстовую подсказку и изображение с маской. Обратите внимание на следующие особенности исходного и замаскированного изображений:

  • Маскированное изображение должно иметь размеры в пикселях, соответствующие целевому размеру конечного изображения после закрашивания.

  • Исходное изображение должно содержать дополнительный отступ, соответствующий размерам пикселя замаскированного изображения.

Предоставление текстовой подсказки необязательно, если вы хотите, чтобы модель самостоятельно определила, что логически продолжит существующую сцену. Если вы хотите разместить в расширенной области определенное содержимое, вам необходимо указать это в текстовой подсказке.

Быстрый

Редактирование изображений с помощью моделей Imagen не поддерживается в Swift. Пожалуйста, уточните информацию позже в этом году!

Kotlin

Чтобы увеличить изображение, используйте editImage() и установите в настройках редактирования параметр ImagenEditMode.OUTPAINT .
Обратите внимание, что вместо editImage() можно использовать outpaintImage() , и указывать режим редактирования не обязательно.

Ознакомьтесь с кратким руководством, где представлен пример кода для отрисовки объекта .

Java

Чтобы увеличить изображение, используйте editImage() и установите в настройках редактирования параметр ImagenEditMode.OUTPAINT .
Обратите внимание, что вместо editImage() можно использовать outpaintImage() , и указывать режим редактирования не обязательно.

Ознакомьтесь с кратким руководством, где представлен пример кода для отрисовки объекта .

Web

Редактирование изображений с помощью моделей Imagen не поддерживается в веб-приложениях. Информация появится позже в этом году!

Dart

Чтобы увеличить изображение, используйте editImage() и установите в настройках редактирования параметр ImagenEditMode.OUTPAINT .

Ознакомьтесь с кратким руководством, где представлен пример кода для отрисовки объекта .

Единство

Редактирование изображений с помощью моделей Imagen в Unity не поддерживается. Информация появится позже в этом году!

Передовые методы и ограничения

Мы рекомендуем расширять маску при редактировании изображения. Это поможет сгладить границы отредактированного изображения и сделать его более убедительным. Обычно рекомендуется значение расширения 1% или 2% ( 0.01 или 0.02 ).


Оставьте отзыв о вашем опыте использования Firebase AI Logic.