이 페이지에서는 아웃페인팅을 사용하여 Imagen를 통해 이미지 콘텐츠를 원래 테두리 너머로 확장 하는 방법을 Firebase AI Logic SDK를 사용하여 설명합니다.
아웃페인팅은 마스크 기반 수정 의 한 유형입니다. 마스크 는 수정하려는 특정 영역을 정의하는 디지털 오버레이입니다.
작동 방식: 원래 이미지와 그에 상응하는 마스크 처리된 이미지(자동 생성 또는 사용자가 제공)를 제공합니다. 이 이미지는 새롭게 확장된 영역의 마스크를 정의합니다. 확장된 영역에 원하는 내용을 설명하는 텍스트 프롬프트를 선택적으로 제공할 수도 있고, 모델이 기존 장면을 논리적으로 계속할 내용을 지능적으로 결정할 수도 있습니다. 모델은 새 콘텐츠를 생성하고 마스크 처리된 영역을 채웁니다.
예를 들어 이미지의 가로세로 비율을 변경하거나 배경 컨텍스트를 더 추가할 수 있습니다.
시작하기 전에
| Vertex AI Gemini API를 API 제공업체로 사용하는 경우에만 사용할 수 있습니다. |
이 기능을 지원하는 모델
Imagen은 capability
모델을 통해 이미지 편집을 제공합니다.
imagen-3.0-capability-001
Imagen 모델의 경우 global 위치는
지원되지 않습니다.
이미지 콘텐츠 확장
| 이 샘플을 사용해 보기 전에 이 가이드의 시작하기 전에 섹션을 완료하여 프로젝트와 앱을 설정하세요. |
다음 샘플에서는 사용자가 제공한 이미지에 정의된 마스크를 사용하여 이미지를 원래 테두리 너머로 확장하는 방법을 보여줍니다. 원래 이미지, 텍스트 프롬프트, 마스크 처리된 이미지를 제공합니다. 원래 이미지와 마스크 처리된 이미지에 관해 다음 사항에 유의하세요.
마스크 처리된 이미지의 픽셀 크기는 최종 아웃페인팅된 이미지의 타겟팅된 크기여야 합니다.
원래 이미지에는 마스크 처리된 이미지의 픽셀 크기와 일치하도록 추가 패딩이 포함되어야 합니다.
모델이 기존 장면을 논리적으로 계속할 내용을 지능적으로 결정하도록 하려면 텍스트 프롬프트를 제공하지 않아도 됩니다. 확장된 영역 내에 특정 콘텐츠를 원하는 경우 텍스트 프롬프트에서 이를 지정해야 합니다.
Swift
Imagen 모델을 사용한 이미지 편집은 Swift에서 지원되지 않습니다. 올해 다시 확인해 주세요.
Kotlin
이미지를 확장하려면
editImage()
를 사용하고 편집 구성을 ImagenEditMode.OUTPAINT를 사용하도록 설정합니다.
`editImage()` 대신
outpaintImage()
`outpaintImage()`를 선택적으로 사용할 수 있으며 편집 모드를 지정할 필요가 없습니다.editImage()
아웃페인팅의 샘플 코드는 빠른 시작을 참고하세요.
Java
이미지를 확장하려면
editImage()
를 사용하고 편집 구성을 ImagenEditMode.OUTPAINT를 사용하도록 설정합니다.
`editImage()` 대신
outpaintImage()
`outpaintImage()`를 선택적으로 사용할 수 있으며 편집 모드를 지정할 필요가 없습니다.editImage()
아웃페인팅의 샘플 코드는 빠른 시작을 참고하세요.
Web
Imagen 모델을 사용한 이미지 편집은 웹 앱에서 지원되지 않습니다. 올해 다시 확인해 주세요.
Dart
이미지를 확장하려면
editImage()
를 사용하고 편집 구성을 ImagenEditMode.OUTPAINT를 사용하도록 설정합니다.
아웃페인팅의 샘플 코드는 빠른 시작을 참고하세요.
Unity
Imagen 모델을 사용한 이미지 편집은 Unity에서 지원되지 않습니다. 올해 다시 확인해 주세요.
권장사항 및 제한사항
이미지를 수정할 때는 마스크를 확장하는 것이 좋습니다. 이렇게 하면 수정사항의 테두리를 부드럽게 처리하고 더 설득력 있게 만들 수 있습니다. 일반적으로 1% 또는 2% 의 확장
값이 권장됩니다 (0.01 또는 0.02).
의견 보내기 Firebase AI Logic 사용 경험에 관한