Imagen의 아웃페인팅을 사용하여 이미지 콘텐츠 확장


이 페이지에서는 Firebase AI Logic SDK를 사용하여 Imagen를 통해 아웃페인팅을 사용하여 이미지의 콘텐츠를 원래 테두리 너머로 확장하는 방법을 설명합니다.

아웃페인팅은 마스크 기반 수정의 한 유형입니다. 마스크는 수정할 특정 영역을 정의하는 디지털 오버레이입니다.

작동 방식: 원본 이미지와 해당 마스크 이미지(자동 생성 또는 사용자가 제공)를 제공합니다. 이 이미지는 새로 확장된 영역의 마스크를 정의합니다. 확장된 영역에 원하는 내용을 설명하는 텍스트 프롬프트를 선택적으로 제공할 수도 있고, 모델이 기존 장면을 논리적으로 이어갈 내용을 지능적으로 결정할 수도 있습니다. 모델이 새 콘텐츠를 생성하고 마스크 처리된 영역을 채웁니다.

예를 들어 이미지의 가로세로 비율을 변경하거나 배경 컨텍스트를 추가할 수 있습니다.

코드로 이동

시작하기 전에

Vertex AI Gemini API을 API 제공자로 사용하는 경우에만 사용할 수 있습니다.

아직 완료하지 않았다면 Firebase 프로젝트를 설정하고, 앱을 Firebase에 연결하고, SDK를 추가하고, 선택한 API 제공업체의 백엔드 서비스를 초기화하고, ImagenModel 인스턴스를 만드는 방법을 설명하는 시작 가이드를 완료합니다.

이 기능을 지원하는 모델

Imagencapability 모델을 통해 이미지 편집을 제공합니다.

  • imagen-3.0-capability-001

Imagen 모델의 경우 global 위치는 지원되지 않습니다.

이미지 콘텐츠 확장

이 샘플을 사용해 보기 전에 이 가이드의 시작하기 전에 섹션을 완료하여 프로젝트와 앱을 설정하세요.

다음 샘플에서는 제공된 이미지에 정의된 마스크를 사용하여 이미지를 원래 테두리 너머로 확장하는 방법을 보여줍니다. 원본 이미지, 텍스트 프롬프트, 마스크 처리된 이미지를 제공합니다. 원본 이미지와 마스크 처리된 이미지에 관해 다음 사항을 참고하세요.

  • 마스크 처리된 이미지의 픽셀 크기는 최종 아웃페인팅된 이미지의 타겟 크기여야 합니다.

  • 원본 이미지에는 마스크 처리된 이미지의 픽셀 크기와 일치하도록 추가 패딩이 포함되어야 합니다.

모델이 기존 장면을 논리적으로 이어갈 내용을 지능적으로 결정하도록 하려면 텍스트 프롬프트를 제공하지 않아도 됩니다. 확장된 영역에 특정 콘텐츠를 포함하려면 텍스트 프롬프트에 이를 지정해야 합니다.

Swift

Swift에서는 Imagen 모델을 사용한 이미지 수정이 지원되지 않습니다. 올해 다시 확인해 주세요.

Kotlin

이미지를 확대하려면 editImage()를 사용하고 편집 구성이 ImagenEditMode.OUTPAINT를 사용하도록 설정합니다.
선택적으로 editImage() 대신 outpaintImage()를 사용할 수 있으며 수정 모드를 지정할 필요가 없습니다.

아웃페인팅 샘플 코드 빠른 시작을 확인하세요.

Java

이미지를 확대하려면 editImage()를 사용하고 편집 구성이 ImagenEditMode.OUTPAINT를 사용하도록 설정합니다.
선택적으로 editImage() 대신 outpaintImage()를 사용할 수 있으며 수정 모드를 지정할 필요가 없습니다.

아웃페인팅 샘플 코드 빠른 시작을 확인하세요.

Web

Imagen 모델을 사용한 이미지 편집은 웹 앱에서 지원되지 않습니다. 올해 다시 확인해 주세요.

Dart

이미지를 확대하려면 editImage()를 사용하고 편집 구성이 ImagenEditMode.OUTPAINT를 사용하도록 설정합니다.

아웃페인팅 샘플 코드 빠른 시작을 확인하세요.

Unity

Unity에서는 Imagen 모델을 사용한 이미지 수정이 지원되지 않습니다. 올해 다시 확인해 주세요.

권장사항 및 제한사항

이미지를 수정할 때는 마스크를 확장하는 것이 좋습니다. 이렇게 하면 수정사항의 테두리를 부드럽게 처리하여 더 설득력 있게 만들 수 있습니다. 일반적으로 1% 또는 2% 의 팽창 값이 권장됩니다 (0.01 또는 0.02).


Firebase AI Logic 사용 경험에 관한 의견 보내기