Mở rộng nội dung của hình ảnh bằng tính năng vẽ tràn viền bằng Imagen


Trang này mô tả cách sử dụng tính năng mở rộng ảnh bằng Imagen để mở rộng nội dung của một hình ảnh ra ngoài đường viền ban đầu bằng cách sử dụng Firebase AI Logic SDK.

Mở rộng ảnh là một loại chỉnh sửa dựa trên mặt nạ. Mặt nạ là một lớp phủ kỹ thuật số xác định khu vực cụ thể mà bạn muốn chỉnh sửa.

Cách hoạt động: Bạn cung cấp một hình ảnh gốc và một hình ảnh tương ứng được che bằng mặt nạ (do hệ thống tự động tạo hoặc do bạn cung cấp) để xác định mặt nạ của khu vực mới, được mở rộng. Bạn cũng có thể tuỳ ý cung cấp một câu lệnh văn bản mô tả nội dung bạn muốn có trong khu vực mở rộng, hoặc mô hình có thể tự động quyết định nội dung nào sẽ tiếp tục một cách hợp lý cảnh hiện có. Mô hình sẽ tạo nội dung mới và điền vào khu vực được che bằng mặt nạ.

Ví dụ: bạn có thể thay đổi tỷ lệ khung hình của một hình ảnh hoặc thêm bối cảnh nền

Chuyển đến mã

Trước khi bắt đầu

Chỉ dùng được khi bạn sử dụng Vertex AI Gemini API làm nhà cung cấp API.

Nếu bạn chưa hoàn tất, hãy làm theo hướng dẫn bắt đầu. Hướng dẫn này mô tả cách thiết lập dự án Firebase, kết nối ứng dụng với Firebase, thêm SDK, khởi chạy dịch vụ phụ trợ cho nhà cung cấp API mà bạn chọn và tạo thực thể ImagenModel.

Các mô hình hỗ trợ tính năng này

Imagen cung cấp tính năng chỉnh sửa hình ảnh thông qua mô hình capability:

  • imagen-3.0-capability-001

Xin lưu ý rằng đối với các mô hình Imagen, vị trí global không được hỗ trợ.

Mở rộng nội dung của một hình ảnh

Trước khi thử mẫu này, hãy hoàn tất phần Trước khi bắt đầu của hướng dẫn này để thiết lập dự án và ứng dụng của bạn.

Mẫu sau đây cho biết cách mở rộng một hình ảnh ra ngoài đường viền ban đầu bằng cách sử dụng mặt nạ được xác định trong một hình ảnh mà bạn cung cấp. Bạn cung cấp hình ảnh gốc, câu lệnh văn bản và hình ảnh được che bằng mặt nạ. Hãy lưu ý những điều sau đây về hình ảnh gốc và hình ảnh được che bằng mặt nạ:

  • Hình ảnh được che bằng mặt nạ phải có kích thước pixel bằng với kích thước mục tiêu của hình ảnh cuối cùng được mở rộng.

  • Hình ảnh gốc phải có thêm khoảng đệm để khớp với kích thước pixel của hình ảnh được che bằng mặt nạ.

Bạn có thể tuỳ ý cung cấp câu lệnh dạng văn bản nếu muốn mô hình tự động quyết định nội dung nào sẽ tiếp tục một cách hợp lý cảnh hiện có. Nếu muốn có nội dung cụ thể trong khu vực mở rộng, bạn cần chỉ định nội dung đó trong câu lệnh dạng văn bản.

Swift

Các mô hình Imagen không hỗ trợ tính năng chỉnh sửa hình ảnh cho Swift. Hãy quay lại kiểm tra vào cuối năm nay!

Kotlin

Để mở rộng một hình ảnh, hãy sử dụng editImage() và đặt cấu hình chỉnh sửa để sử dụng ImagenEditMode.OUTPAINT.
Xin lưu ý rằng bạn có thể tuỳ ý sử dụng outpaintImage() thay vì editImage(), và bạn không cần chỉ định chế độ chỉnh sửa.

Hãy xem hướng dẫn bắt đầu nhanh để biết mã mẫu cho tính năng mở rộng ảnh.

Java

Để mở rộng một hình ảnh, hãy sử dụng editImage() và đặt cấu hình chỉnh sửa để sử dụng ImagenEditMode.OUTPAINT.
Xin lưu ý rằng bạn có thể tuỳ ý sử dụng outpaintImage() thay vì editImage(), và bạn không cần chỉ định chế độ chỉnh sửa.

Hãy xem hướng dẫn bắt đầu nhanh để biết mã mẫu cho tính năng mở rộng ảnh.

Web

Các mô hình Imagen không hỗ trợ tính năng chỉnh sửa hình ảnh cho ứng dụng Web. Hãy quay lại kiểm tra vào cuối năm nay!

Dart

Để mở rộng một hình ảnh, hãy sử dụng editImage() và đặt cấu hình chỉnh sửa để sử dụng ImagenEditMode.OUTPAINT.

Hãy xem hướng dẫn bắt đầu nhanh để biết mã mẫu cho tính năng mở rộng ảnh.

Unity

Các mô hình Imagen không hỗ trợ tính năng chỉnh sửa hình ảnh cho Unity. Hãy quay lại kiểm tra vào cuối năm nay!

Các phương pháp hay nhất và hạn chế

Bạn nên làm giãn mặt nạ khi chỉnh sửa hình ảnh. Việc này có thể giúp làm mượt đường viền của nội dung chỉnh sửa và khiến nội dung đó trông thuyết phục hơn. Nói chung, bạn nên sử dụng giá trị giãn là 1% hoặc 2% (0.01 hoặc 0.02).


Gửi ý kiến phản hồi về trải nghiệm của bạn với Firebase AI Logic