Hướng dẫn tạo hình ảnh

Tác vụ Trình tạo hình ảnh MediaPipe cho phép bạn tạo hình ảnh dựa trên câu lệnh dạng văn bản. Chiến dịch này nhiệm vụ sử dụng mô hình chuyển văn bản thành hình ảnh để tạo hình ảnh bằng kỹ thuật khuếch tán.

Tác vụ chấp nhận câu lệnh dạng văn bản làm thông tin đầu vào, cùng với hình ảnh điều kiện không bắt buộc mà mô hình có thể bổ sung và dùng làm tham chiếu khi tạo. Tìm hiểu thêm về tạo văn bản sang hình ảnh được điều chỉnh, hãy xem Trình bổ trợ khuếch tán trên thiết bị cho văn bản thành hình ảnh được điều chỉnh .

Trình tạo hình ảnh cũng có thể tạo hình ảnh dựa trên các khái niệm cụ thể được cung cấp cho mô hình trong khoảng thời gian đào tạo hoặc đào tạo lại. Để biết thêm thông tin, hãy xem bài viết tuỳ chỉnh bằng LoRA.

Bắt đầu

Bắt đầu sử dụng tác vụ này bằng cách làm theo một trong những hướng dẫn triển khai sau cho nền tảng mục tiêu. Những hướng dẫn dành riêng cho nền tảng này sẽ hướng dẫn bạn từng bước phương thức triển khai tác vụ này, với các ví dụ mã sử dụng mô hình mặc định và các lựa chọn cấu hình được đề xuất:

Thông tin chi tiết về việc cần làm

Phần này mô tả các chức năng, dữ liệu đầu vào, đầu ra và cấu hình các tuỳ chọn của nhiệm vụ này.

Tính năng

Bạn có thể sử dụng Trình tạo hình ảnh để triển khai những nội dung sau:

  1. Tạo văn bản thành hình ảnh – Tạo hình ảnh bằng câu lệnh dạng văn bản.
  2. Tạo hình ảnh bằng hình ảnh điều kiện – Tạo hình ảnh bằng văn bản và hình ảnh tham khảo. Trình tạo hình ảnh sử dụng hình ảnh tình trạng theo nhiều cách tương tự như ControlNet.
  3. Tạo hình ảnh bằng trọng số LoRA – Tạo hình ảnh có mặt những người cụ thể, đối tượng và kiểu bằng câu lệnh bằng văn bản sử dụng trọng số mô hình tuỳ chỉnh.
Dữ liệu đầu vào của việc cần làm Kết quả đầu ra của việc cần làm
Trình tạo hình ảnh chấp nhận các dữ liệu đầu vào sau:
  • Câu lệnh bằng văn bản
  • Hạt
  • Số vòng lặp tạo sinh
  • Không bắt buộc: hình ảnh tình trạng
Trình tạo hình ảnh sẽ cho ra các kết quả sau:
  • Hình ảnh được tạo dựa trên thông tin đầu vào.
  • Không bắt buộc: Ảnh chụp nhanh lặp lại của hình ảnh đã tạo.

Tuỳ chọn cấu hình

Tác vụ này có các lựa chọn cấu hình sau:

Tên lựa chọn Mô tả Khoảng giá trị
imageGeneratorModelDirectory Thư mục mô hình trình tạo hình ảnh lưu trữ trọng số mô hình. PATH
loraWeightsFilePath Đặt đường dẫn đến tệp trọng số LoRA. Không bắt buộc và chỉ áp dụng nếu mô hình được tuỳ chỉnh bằng LoRA. PATH
errorListener Đặt một trình nghe lỗi (không bắt buộc). N/A

Tác vụ này cũng hỗ trợ các mô hình trình bổ trợ, cho phép người dùng thêm hình ảnh điều kiện trong dữ liệu đầu vào của công việc mà mô hình nền tảng có thể củng cố và dùng làm tham chiếu để tạo. Những hình ảnh tình trạng này có thể là điểm mốc khuôn mặt, đường viền cạnh và ước tính chuyên sâu mà mô hình này sử dụng làm ngữ cảnh và thông tin bổ sung để tạo hình ảnh.

Khi thêm mô hình trình bổ trợ vào mô hình nền tảng, bạn cũng nên định cấu hình trình bổ trợ . Trình bổ trợ Điểm mốc khuôn mặt sử dụng faceConditionOptions, cạnh Canny trình bổ trợ sử dụng edgeConditionOptions, còn trình bổ trợ Độ sâu sử dụng depthConditionOptions.

Tuỳ chọn Canny Edge

Định cấu hình các tuỳ chọn sau trong edgeConditionOptions.

Tên lựa chọn Mô tả Khoảng giá trị Giá trị mặc định
threshold1 Ngưỡng đầu tiên của thủ thuật trễ. Float 100
threshold2 Ngưỡng thứ hai của thủ thuật trễ. Float 200
apertureSize Kích thước khẩu độ cho toán tử Sobel. Phạm vi điển hình là từ 3 đến 7. Integer 3
l2Gradient Liệu định mức L2 có được dùng để tính độ dốc của hình ảnh hay không, thay vì chuẩn L1 mặc định. BOOLEAN False
EdgePluginModelBaseOptions Đối tượng BaseOptions thiết lập đường dẫn cho mô hình trình bổ trợ. BaseOptions đối tượng N/A

Để biết thêm thông tin về cách hoạt động của các lựa chọn cấu hình này, hãy xem Trình phát hiện cạnh Canny.

Lựa chọn về điểm mốc trên khuôn mặt

Định cấu hình các tuỳ chọn sau trong faceConditionOptions.

Tên lựa chọn Mô tả Khoảng giá trị Giá trị mặc định
minFaceDetectionConfidence Điểm tin cậy tối thiểu để phát hiện khuôn mặt được coi là thành công. Float [0.0,1.0] 0.5
minFacePresenceConfidence Điểm số tin cậy tối thiểu cho sự hiện diện của khuôn mặt điểm số trong tính năng phát hiện mốc khuôn mặt. Float [0.0,1.0] 0.5
faceModelBaseOptions Đối tượng BaseOptions thiết lập đường dẫn cho mô hình tạo hình ảnh điều kiện. BaseOptions đối tượng N/A
FacePluginModelBaseOptions Đối tượng BaseOptions thiết lập đường dẫn cho mô hình trình bổ trợ. BaseOptions đối tượng N/A

Để biết thêm thông tin về cách hoạt động của các tuỳ chọn cấu hình này, hãy xem Nhiệm vụ của Trình xác định khuôn mặt.

Tùy chọn độ sâu

Định cấu hình các tuỳ chọn sau trong depthConditionOptions.

Tên lựa chọn Mô tả Khoảng giá trị Giá trị mặc định
depthModelBaseOptions Đối tượng BaseOptions thiết lập đường dẫn cho mô hình tạo hình ảnh điều kiện. BaseOptions đối tượng N/A
depthPluginModelBaseOptions Đối tượng BaseOptions thiết lập đường dẫn cho mô hình trình bổ trợ. BaseOptions đối tượng N/A

Mô hình

Trình tạo hình ảnh cần có một mô hình nền tảng, tức là mô hình AI chuyển văn bản thành hình ảnh sử dụng kỹ thuật khuếch tán để tạo ra hình ảnh mới. Mô hình nền tảng được liệt kê trong mục này là các mô hình gọn nhẹ được tối ưu hoá để chạy trên các thiết bị cao cấp điện thoại thông minh.

Các mô hình trình bổ trợ là không bắt buộc và bổ sung cho các mô hình cơ bản, cho phép người dùng cung cấp hình ảnh điều kiện bổ sung cùng với câu lệnh bằng văn bản, cho để tạo hình ảnh cụ thể hơn. Tuỳ chỉnh các mô hình nền tảng bằng LoRA trọng số là một tuỳ chọn giúp mô hình nền tảng nắm bắt một khái niệm cụ thể, chẳng hạn như đối tượng, người hoặc kiểu rồi chèn chúng vào hình ảnh được tạo.

Mô hình nền tảng

Các mô hình nền tảng là các mô hình khuếch tán văn bản sang hình ảnh tiềm ẩn tạo ra hình ảnh từ câu lệnh dạng văn bản. Trình tạo hình ảnh yêu cầu mô hình nền tảng khớp với định dạng mô hình runwayml/stable-diffusion-v1-5 EMA-only, dựa trên mô hình sau:

Các mô hình nền tảng sau đây cũng tương thích với Trình tạo hình ảnh:

Sau khi tải mô hình nền tảng xuống, hãy sử dụng image_generator_converter để chuyển đổi mô hình sang định dạng phù hợp trên thiết bị cho Trình tạo hình ảnh.

Cài đặt các phần phụ thuộc cần thiết:

$ pip install torch typing_extensions numpy Pillow requests pytorch_lightning absl-py

Chạy convert.py tập lệnh:

$ python3 convert.py --ckpt_path <ckpt_path> --output_path <output_path>

Các mẫu trình bổ trợ

Các mô hình trình bổ trợ trong phần này do Google phát triển và phải được sử dụng trong kết hợp với mô hình nền tảng. Các mô hình trình bổ trợ cho phép Trình tạo hình ảnh chấp nhận hình ảnh điều kiện cùng với câu lệnh bằng văn bản làm thông tin đầu vào, cho phép bạn kiểm soát cấu trúc của hình ảnh được tạo. Các mô hình trình bổ trợ cung cấp tương tự như ControlNet, với cấu trúc mới lạ dành riêng cho khuếch tán trên thiết bị.

Các mô hình trình bổ trợ phải được chỉ định trong các tuỳ chọn cơ sở và có thể yêu cầu bạn tải các tệp mô hình bổ sung xuống. Mỗi trình bổ trợ có các yêu cầu riêng về hình ảnh điều kiện mà Trình tạo hình ảnh có thể tạo.

Trình bổ trợ Canny Edge

Trình bổ trợ Canny Edge chấp nhận hình ảnh điều kiện phác thảo các cạnh dự định của hình ảnh đã tạo. Mô hình nền móng sử dụng các cạnh được ngụ ý bởi hình ảnh điều kiện và tạo một hình ảnh mới dựa trên câu lệnh dạng văn bản. Chiến lược phát hành đĩa đơn Trình tạo hình ảnh có các chức năng tích hợp sẵn để tạo hình ảnh điều kiện, và chỉ yêu cầu tải xuống mô hình trình bổ trợ.

Tải trình bổ trợ Canny Edge xuống

Trình bổ trợ Canny Edge chứa các tuỳ chọn cấu hình sau:

Tên lựa chọn Mô tả Khoảng giá trị Giá trị mặc định
threshold1 Ngưỡng đầu tiên của thủ thuật trễ. Float 100
threshold2 Ngưỡng thứ hai của thủ thuật trễ. Float 200
apertureSize Kích thước khẩu độ cho toán tử Sobel. Phạm vi điển hình là từ 3 đến 7. Integer 3
l2Gradient Liệu định mức L2 có được dùng để tính độ dốc của hình ảnh hay không, thay vì chuẩn L1 mặc định. BOOLEAN False
EdgePluginModelBaseOptions Đối tượng BaseOptions thiết lập đường dẫn cho mô hình trình bổ trợ. BaseOptions đối tượng N/A

Để biết thêm thông tin về cách hoạt động của các lựa chọn cấu hình này, hãy xem Trình phát hiện cạnh Canny.

Trình bổ trợ tính năng Xác định khuôn mặt

Trình bổ trợ Face Time chấp nhận kết quả từ MediaPipe Face Mốc nhận dạng làm hình ảnh điều kiện. Khuôn mặt Điểm mốc cung cấp một lưới khuôn mặt chi tiết của một khuôn mặt, giúp lập bản đồ sự hiện diện và vị trí của các đặc điểm trên khuôn mặt. Mô hình nền tảng sử dụng công nghệ ánh xạ được ngụ ý trong hình ảnh điều kiện và tạo ra một khuôn mặt mới trên lưới.

Tải trình bổ trợ Điểm mốc khuôn mặt xuống

Trình bổ trợ Điểm mốc khuôn mặt cũng yêu cầu mẫu Xác định khuôn mặt gói để tạo hình ảnh điều kiện. Chiến dịch này gói mô hình chính là gói được sử dụng bởi Nhiệm vụ Trình xác minh khuôn mặt.

Tải gói mẫu điểm mốc khuôn mặt xuống

Trình bổ trợ tính năng Điểm mốc khuôn mặt chứa các lựa chọn cấu hình sau:

Tên lựa chọn Mô tả Khoảng giá trị Giá trị mặc định
minFaceDetectionConfidence Điểm tin cậy tối thiểu để phát hiện khuôn mặt được coi là thành công. Float [0.0,1.0] 0.5
minFacePresenceConfidence Điểm số tin cậy tối thiểu cho sự hiện diện của khuôn mặt điểm số trong tính năng phát hiện mốc khuôn mặt. Float [0.0,1.0] 0.5
faceModelBaseOptions Đối tượng BaseOptions thiết lập đường dẫn cho mô hình tạo hình ảnh điều kiện. BaseOptions đối tượng N/A
FacePluginModelBaseOptions Đối tượng BaseOptions thiết lập đường dẫn cho mô hình trình bổ trợ. BaseOptions đối tượng N/A

Để biết thêm thông tin về cách hoạt động của các tuỳ chọn cấu hình này, hãy xem Nhiệm vụ của Trình xác định khuôn mặt.

Trình bổ trợ chiều sâu

Trình bổ trợ Độ sâu chấp nhận hình ảnh điều kiện chỉ định độ sâu một mắt của một đối tượng. Mô hình nền tảng sử dụng hình ảnh điều kiện để dự đoán kích thước và chiều sâu của đối tượng cần tạo và tạo hình ảnh mới dựa trên văn bản .

Tải trình bổ trợ depth xuống

Trình bổ trợ Độ sâu cũng yêu cầu mô hình ước tính Độ sâu để tạo điều kiện hình ảnh.

Tải mô hình ước tính độ sâu xuống

Trình bổ trợ depth chứa các tuỳ chọn cấu hình sau:

Tên lựa chọn Mô tả Khoảng giá trị Giá trị mặc định
depthModelBaseOptions Đối tượng BaseOptions thiết lập đường dẫn cho mô hình tạo hình ảnh điều kiện. BaseOptions đối tượng N/A
depthPluginModelBaseOptions Đối tượng BaseOptions thiết lập đường dẫn cho mô hình trình bổ trợ. BaseOptions đối tượng N/A

Tuỳ chỉnh bằng LoRA

Việc tuỳ chỉnh mô hình bằng LoRA có thể bật Trình tạo hình ảnh dùng để tạo hình ảnh dựa trên các khái niệm cụ thể, được xác định bằng các mã thông báo duy nhất trong quá trình huấn luyện. Với trọng số LoRA mới sau được huấn luyện, mô hình này có thể tạo hình ảnh của khái niệm mới khi mã thông báo được chỉ định trong câu lệnh bằng văn bản.

Việc tạo trọng số LoRA yêu cầu huấn luyện một mô hình nền tảng dựa trên hình ảnh của đối tượng, người hoặc kiểu cụ thể, cho phép mô hình nhận ra và áp dụng khái niệm đó khi tạo hình ảnh. Nếu bạn đang tạo trọng số LoRa để tạo hình ảnh của những người và khuôn mặt cụ thể, chỉ sử dụng giải pháp này trên hoặc khuôn mặt của những người đã cho phép bạn làm việc đó.

Dưới đây là kết quả từ một mô hình tuỳ chỉnh đã được huấn luyện dựa trên hình ảnh của ấm trà của tập dữ liệu DreamBooth, sử dụng mã thông báo "ấm trà monadikos":

Câu lệnh: một ấm trà monadikos bên cạnh gương

Mô hình tuỳ chỉnh đã nhận được mã thông báo trong lời nhắc và đưa vào một ấm trà nó đã học được cách mô tả từ các trọng số LoRA và đặt hình ảnh của nó bên cạnh phản chiếu theo yêu cầu trong lời nhắc.

LoRA kết hợp với Vertex AI

Để biết thêm thông tin, hãy xem bài viết tuỳ chỉnh hướng dẫn, Chiến dịch này sử dụng Khu vườn mô hình trên Vertex AI để tuỳ chỉnh mô hình bằng cách áp dụng trọng số LoRA cho mô hình nền tảng.