Tạo ảnh ấn tượng từ văn bản đến nghệ thuật với Pix2Pix!

Instruct Pix2Pix là một mô hình Stable Diffusion được chỉnh sửa ảnh chỉ với hướng dẫn văn bản từ người dùng. Chúng ta sẽ tìm hiểu cách nó hoạt động, khả năng của nó, cách chạy trên web và AUTOMATIC1111, cũng như cách sử dụng nó.

Instruct Pix2Pix có thể làm gì?

Đây là một cách đổi mới để chỉnh sửa ảnh chỉ bằng cách nói cho nó biết bạn muốn thay đổi gì. Ví dụ, giả sử chúng ta muốn biến con ngựa thành một con rồng trong hình ảnh dưới đây.

Pix2Pix

Chúng ta chỉ cần đưa hình ảnh cho mô hình và nói “Biến con ngựa thành một con rồng.” Mô hình sẽ biến đổi con ngựa thành một con rồng, trong khi giữ nguyên phần còn lại của hình ảnh.

Làm thế nào để Instruct Pix2Pix hoạt động?

Có hai phần cần hiểu về cách mô hình hoạt động: (1) kiến trúc mô hình và (2) dữ liệu huấn luyện.

Kiến trúc mô hình

Mô hình Instruct Pix2Pix là một mô hình Stable Diffusion. Tương tự như image-to-image, nó trước tiên mã hóa hình ảnh đầu vào thành không gian ẩn.

Quá trình lan truyền được điều kiện hóa. Nhớ rằng Image-to-image có một điều kiện, đó là yêu cầu văn bản, để điều chỉnh quá trình sinh ảnh. Instruct Pix2Pix có hai điều kiện, yêu cầu văn bản và hình ảnh đầu vào.

Quá trình lan truyền được hướng dẫn bởi cơ chế hướng dẫn không phụ thuộc bộ phân loại (CFG) thông thường. Nhưng vì mô hình Instruct Pix2Pix có hai điều kiện (yêu cầu và hình ảnh), nó có hai thông số CFG, một cho yêu cầu và một cho hình ảnh. Vì vậy, bạn sẽ thấy CFG văn bản và CFG hình ảnh trong giao diện AUTOMATIC1111 mà tôi sẽ chỉ bạn cách sử dụng.

Ý nghĩa của hai giá trị này giống như trong Stable Diffusion gốc: Khi giá trị CFG thấp, yêu cầu hoặc hình ảnh được bỏ qua một cách lớn. Khi giá trị CFG cao, yêu cầu hoặc hình ảnh được tuân theo chặt chẽ.

Lưu ý rằng tác động ngược khi bạn tăng giá trị CFG văn bản và CFG hình ảnh: Tăng CFG văn bản làm thay đổi hình ảnh nhiều hơn; Tăng CFG hình ảnh làm thay đổi hình ảnh ít hơn. Hai giá trị này thường cần được điều chỉnh để hiệu quả.

Huấn luyện

Bây giờ chúng ta đã thấy mô hình chính là một sự mở rộng đơn giản của mô hình Stable Diffusion với hai điều kiện (yêu cầu văn bản và hình ảnh), làm thế nào họ dạy mô hình hiểu hướng dẫn chỉnh sửa? Tôi muốn nói rằng đổi mới thực sự trong công việc này là cách họ tổng hợp dữ liệu huấn luyện.

Sơ đồ dưới đây từ bài báo nghiên cứu tóm tắt điều này rõ ràng.

Pix2Pix

Đầu tiên, họ dạy một mô hình ngôn ngữ GPT-3 chuyên biệt để tạo ra hướng dẫn chỉnh sửa và chú thích đã chỉnh sửa từ chú thích đầu vào. Với vai trò là một mô hình ngôn ngữ lớn đứng sau các công nghệ như ChatGPT, nhiệm vụ này đơn giản. Trong sơ đồ, khi bạn nêu cho GPT-3 chú thích “hình ảnh của một cô gái cưỡi ngựa”, bạn sẽ nhận được hai tin nhắn trả lại (1) hướng dẫn: “hãy cho cô ấy cưỡi một con rồng” và (2) chú thích đã chỉnh sửa: “hình ảnh của một cô gái cưỡi một con rồng”.

Bây giờ cặp chú thích và chú thích đã chỉnh sửa vẫn chỉ là văn bản thuần túy. (Dù sao chúng là đầu vào và đầu ra của một mô hình ngôn ngữ) Chúng ta cần biến chúng thành hình ảnh. Bạn có thể nghĩ rằng bạn có thể sử dụng chúng như các gợi ý cho Stable Diffusion để có hai hình ảnh, nhưng vấn đề là chúng không giống như nhau như ảnh trước và sau khi chỉnh sửa. Cặp hình ảnh ở phía trái bên dưới (cũng từ bài báo nghiên cứu) minh họa điều này.

Pix2Pix

Thay vào đó, họ sử dụng mô hình Prompt-to-prompt, một mô hình diffusion để tạo ra các hình ảnh tương tự, để tạo ra các hình ảnh trước và sau “chỉnh sửa”. Bây giờ họ đã có hình ảnh trước (đầu vào), hướng dẫn chỉnh sửa (đầu vào) và hình ảnh sau (đầu ra). Họ có thể đưa chúng vào mô hình như các ví dụ huấn luyện.

Vì phương pháp tạo dữ liệu huấn luyện này hoàn toàn tổng hợp, họ có thể chạy nó nhiều lần để tạo ra hàng trăm nghìn ví dụ huấn luyện. Đó chính là lý do vì sao mô hình được huấn luyện rất tốt.

Sự khác biệt so với các phương pháp khác

Prompt-to-prompt có thể tạo ra các hình ảnh rất giống nhau với chỉnh sửa cụ thể, nhưng tất cả các hình ảnh được tạo ra từ yêu cầu văn bản. Khác với Instruct Pix2Pix, nó không thể chỉnh sửa một hình ảnh không được tạo ra từ mô hình.

Image-to-image (còn gọi là SDEdit) có thể sử dụng một hình ảnh không được tạo ra từ mô hình làm đầu vào, và bạn có thể chỉnh sửa hình ảnh bằng cách sử dụng yêu cầu khác. Nhưng việc thực hiện chỉnh sửa chính xác mà không làm thay đổi các phần khác của hình ảnh là khó khăn.

Bây giờ bạn đã biết cách nó hoạt động. Hãy tìm hiểu cách chạy nó.

Chạy Instruct Pix2Pix trên web

Instruct Pix2Pix chạy khá nhanh (đó là một mô hình Stable Diffusion cuối cùng). Có một số tùy chọn web có sẵn nếu bạn không sử dụng AUTOMATIC1111.

HuggingFace

HuggingFace có một trang demo tốt cho Instruct Pix2Pix. Bạn có thể thử nghiệm Instruct Pix2Pix miễn phí. Đây chủ yếu là một phiên bản đơn giản của giao diện AUTOMATIC1111. Nhiều thông số chúng ta sẽ nói về có sẵn trong trang web này.

Pix2Pix

Replicate

Replicate có một trang demo cho Instruct Pix2Pix. Một danh sách khá rộng các thông số có sẵn. Tốc độ cũng khá tốt. Cho phép tạo ra tối đa 4 hình ảnh cùng lúc.

Pix2Pix

Cài đặt Instruct Pix2Pix trên AUTOMATIC1111

Chúng ta sẽ tìm hiểu cách cài đặt Instruct Pix2Pix trên AUTOMATIC1111. Hướng dẫn này áp dụng cho chạy trên Google Colab, Windows và Mac.

Nếu bạn sử dụng Google Colab Notebook một cú nhấp chuột trong Hướng dẫn Khởi đầu Nhanh để khởi chạy AUTOMATIC1111, đơn giản chọn instruct_pix2pix_model khi khởi động.

Pix2Pix

Nếu bạn đang chạy AUTOMATIC1111 trên máy tính cá nhân của mình, bạn có thể tải mô hình từ trang Hugging Face của Instruct Pix2Pix. Sử dụng liên kết sau để tải mô hình Instruct Pix2Pix trực tiếp.

Đặt tệp kiểm tra (7GB !!) trong thư mục sau

stable-diffusion-webui/models/Stable-diffusion

Sau khi làm mới hộp thả xuống kiểm tra, bạn sẽ thấy tệp kiểm tra mới.

Xem thêm: Stable Diffusion WebUI AUTOMATIC1111: Tất cả những gì bạn cần biết

Sử dụng Instruct Pix2Pix trong AUTOMATIC1111

Pix2Pix

Để sử dụng Instruct Pix2Pix:

1. Chọn mô hình Instruct Pix2Pix: instruct-pix2pix-…..ckpt.

2. Chuyển sang tab img2img.

3. Kéo và thả hình ảnh vào Canvas đầu vào của con tab img2img. Lưu ý rằng không phải định dạng hình ảnh nào cũng được hỗ trợ mặc dù tất cả đều có vẻ được tải lên. Sử dụng định dạng PNG hoặc JPG để chắc chắn. Bạn có thể tải xuống một hình ảnh thử nghiệm bằng cách sử dụng nút dưới đây.

4. Gõ vào hộp prompt. Ví dụ, “Đặt một chiếc kính mát lên cô ấy.”

5. Nhấn Generate.

Pix2Pix

Tham số cho Instruct Pix2Pix

Sau đây là các thông số quan trọng mà bạn có thể cần thay đổi

Output Batch: 4 – Các chỉnh sửa có thể khác nhau mỗi lần. Hãy chắc chắn tạo ra ít nhất vài hình ảnh một lúc và chọn cái hoạt động tốt nhất.

Sampling steps: Tôi không gặp vấn đề khi đặt giá trị này giữa 20 – 30.

Seed: Chỉnh sửa sẽ thay đổi theo giá trị seed. Sử dụng giá trị seed ngẫu nhiên khi bạn muốn tạo ra các chỉnh sửa khác nhau. Sử dụng giá trị seed cố định khi bạn điều chỉnh các tham số (yêu cầu, CFG văn bản và CFG hình ảnh).

Text CFG: Tương tự như CFG scale trong text-to-image. Tăng nếu bạn muốn chỉnh sửa tuân thủ yêu cầu. Giảm nếu bạn muốn nó tuân theo ít hơn.

Image CFG: Tương tự như CFG hình ảnh của văn bản. Tăng nếu bạn giảm số lượng chỉnh sửa. Giảm nếu bạn muốn chỉnh sửa nhiều hơn.

Dưới đây là một ma trận hình ảnh (từ bài báo nghiên cứu) hiển thị tác động của việc thay đổi Text CFG và Image CFG. Nhìn vào cột cuối cùng: Giá trị Text CFG cao khiến mô hình tuân theo yêu cầu. Bây giờ hãy nhìn vào hàng cuối cùng: Giá trị Image CFG cao khiến hình ảnh ban đầu hoặc giảm chỉnh sửa trở lại.

Pix2Pix

Giao diện người dùng cũng cho phép bạn xử lý một loạt hình ảnh. Nhưng theo kinh nghiệm của tôi, bạn nên điều chỉnh các thông số một hình ảnh một lúc.

Một số ý tưởng để sử dụng Instruct Pix2Pix

Chỉnh sửa ảnh

Instruct Pix2Pix được huấn luyện để chỉnh sửa ảnh và nó hoạt động khá tốt. Tôi sẽ sử dụng ảnh của một người bạn tôi gặp trong không gian ẩn.

Dưới đây là một số ví dụ về chỉnh sửa ảnh.

Pix2Pix

Thay đổi trang phục cô ấy thành trang phục trắng

Pix2Pix

Chuyển cô ấy thành nam

Pix2Pix

Đổi tay cô ấy thành robot

Chuyển cô ấy thành lego

Chuyển trang phục cô ấy thành rắn

Cho cô ấy đeo kính râm

Những thay đổi không có ý định

Một số chỉnh sửa, đặc biệt là những thay đổi liên quan đến màu sắc, có thể tạo ra hiệu ứng tràn màu. Ví dụ, khi thay đổi trang phục của người phụ nữ thành màu trắng, cả nền hình ảnh cũng trắng đi.

Tôi cũng nhận thấy một số chỉnh sửa không có ý định. Khi thay đổi trang phục của người phụ nữ thành con rắn, màu tóc của cô ấy cũng thay đổi.

Nhìn chung, những thay đổi không có ý định vẫn đẹp mắt. (Đây là Stable Diffusion được huấn luyện cuối cùng) Trong các ứng dụng mà những thay đổi này không chấp nhận được, chúng ta luôn có thể sử dụng mặt nạ để giới hạn khu vực chỉnh sửa.

Tạo nét phong cách cho ảnh

Instruct Pix2Pix tạo nét phong cách cho ảnh tốt hơn image-to-image và các mô hình sử dụng khác. Điều này bởi vì nó giữ nguyên nội dung gốc rất tốt sau khi chỉnh sửa. Bạn sẽ thấy người phụ nữ vẫn trông giống như người gốc sau khi áp dụng phong cách.

Để tạo nét phong cách cho một bức ảnh, bạn có thể sử dụng yêu cầu sau và điền vào phong cách mà bạn thích.

Thay đổi thành phong cách _______

Bạn có thể trích dẫn tên phong cách. Dưới đây là một số ví dụ.

Thay đổi thành phong cách [tên_phong_cách]

Pix2Pix

Charcoa

Pix2Pix

Watercolor

Pix2Pix

Pencil sketch

3D

Cartoon

Pix2Pix

Pointillism

Bạn cũng có thể trích dẫn tên nghệ sĩ.

Thay đổi thành phong cách [tên_nghệ_sĩ].

Pix2Pix

Van gogh

Pix2Pix

John Sargent

Pix2Pix

Alphonse Mucha

Da Vinci

Instruct Pix2Pix hiện đang là phương pháp ưu tiên của tôi để tạo nét phong cách cho hình ảnh.

Trang web mô hình có một danh mục các ví dụ thú vị.

Mẫu hướng dẫn

Dưới đây là một danh sách các mẫu hướng dẫn bạn có thể sử dụng để bắt đầu.

  • Thay đổi phong cách thành (tên nghệ sĩ hoặc phong cách)
  • Hãy làm cho cô ấy/anh ấy (làm gì đó)
  • Biến cô ấy/anh ấy trông giống như (một đối tượng hoặc người)
  • Biến (một cái gì đó trong bức ảnh) thành (một đối tượng mới)
  • Thêm một (đối tượng)
  • Thêm một (đối tượng) vào (một cái gì đó trong bức ảnh)
  • Thay thế (đối tượng) bằng (đối tượng khác)
  • Đặt họ vào (một cảnh hoặc phông nền)
  • Biến nó thành (một địa điểm, phông nền hoặc thời tiết)
  • Áp dụng (một cảm xúc hoặc điều gì đó lên một người)

Để biết thêm thông tin chi tiết về Stable Diffusion có thể tìm hiểu thêm tại khóa học Stable Diffusion – Midjourney tại Arcline Academy hoặc có thể tham khảo thêm thông tin các khóa học khác tại đây       

Trụ sở chính: 32/19 Nghĩa Hòa, Phường 06, Q. Tân Bình, TPHCM (Nhà Thờ Nghĩa Hòa – Khu Bắc Hải)

Trụ sở miền Tây: L30-09, Đường số 43, Khu Dân cư Stella Megacity, P. Bình Thủy, Q. Bình Thủy, Tp. Cần Thơ

Hotline: 0988 363 967

Comments are closed.