ControlNet là một mô hình Stable Diffusion cho phép bạn sao chép bố cục hoặc tư thế người từ một hình ảnh tham chiếu.
Người dùng có kinh nghiệm với Stable Diffusion biết rằng việc tạo ra bố cục chính xác mà bạn muốn là khá khó khăn. Các hình ảnh được tạo ra có phần ngẫu nhiên. Bạn chỉ có thể chơi trò chơi số: Tạo ra một số lượng lớn hình ảnh và chọn một hình bạn thích.
Với ControlNet, người dùng Stable Diffusion cuối cùng đã có cách để điều khiển vị trí và hình dạng của các chủ thể một cách chính xác!
Trong bài viết này, bạn sẽ tìm hiểu mọi thứ bạn cần biết về ControlNet.
Nội dung bao gồm:
-
- ControlNet là gì?
-
- Cách cài đặt ControlNet trên Windows, Mac và Google Colab
-
- Các cài đặt và các trường hợp sử dụng phổ biến.
ControlNet là gì?
ControlNet là một mô hình mạng neural để điều khiển các mô hình Stable Diffusion. Bạn có thể sử dụng ControlNet cùng với bất kỳ mô hình Stable Diffusion nào.
Hình thức cơ bản nhất của việc sử dụng các mô hình Stable Diffusion là từ văn bản đến hình ảnh. Nó sử dụng các lời nhắc văn bản như điều kiện để điều hướng quá trình tạo ra hình ảnh, từ đó tạo ra các hình ảnh phù hợp với lời nhắc văn bản.
ControlNet bổ sung một điều kiện bổ sung ngoài lời nhắc văn bản. Điều kiện bổ sung này có thể có nhiều hình thức trong ControlNet.
Hãy xem hai ví dụ về những gì ControlNet có thể làm: Điều khiển quá trình tạo ra hình ảnh với (1) phát hiện biên và (2) phát hiện tư thế người.
Ví dụ về phát hiện biên
Như được minh họa bên dưới, ControlNet nhận một hình ảnh bổ sung và phát hiện các đường viền của nó bằng bộ phát hiện biên Canny. Một hình ảnh chứa các đường biên được phát hiện sẽ được lưu trữ dưới dạng bản đồ điều khiển. Nó được đưa vào mô hình ControlNet như một điều kiện bổ sung đối với lời nhắc văn bản.
Luồng làm việc của mô hình Stable Diffusion ControlNet. Stable Diffusion ControlNet với điều kiện biên Canny. Quá trình trích xuất thông tin cụ thể (trường hợp này là các đường biên) từ hình ảnh đầu vào được gọi là chú thích (trong bài báo nghiên cứu) hoặc tiền xử lý (trong phần mở rộng ControlNet).
Ví dụ về phát hiện tư thế người
Phát hiện biên không phải là cách duy nhất để tiền xử lý một hình ảnh. Openpose là một mô hình phát hiện điểm quan trọng trên cơ thể con người nhanh chóng có thể trích xuất các tư thế của con người như vị trí của tay, chân và đầu. Xem ví dụ dưới đây.
Hình ảnh đầu vào được chú thích bằng cách phát hiện tư thế người sử dụng Openpose. Dưới đây là luồng làm việc ControlNet sử dụng OpenPose. Các điểm quan trọng được trích xuất từ hình ảnh đầu vào bằng cách sử dụng OpenPose và được lưu trữ dưới dạng bản đồ điều khiển chứa các vị trí của các điểm quan trọng. Sau đó, nó được đưa vào Stable Diffusion như một điều kiện bổ sung cùng với lời nhắc văn bản. Các hình ảnh được tạo ra dựa trên hai điều kiện này.
Sự khác biệt giữa việc sử dụng phát hiện biên Canny và Openpose là gì? Bộ phát hiện biên Canny trích xuất các đường biên của chủ thể và nền một cách tương đồng. Nó có xu hướng diễn đạt cảnh quan trọng hơn. Bạn có thể thấy người nhảy đã trở thành người phụ nữ, nhưng các đường viền và kiểu tóc vẫn được bảo tồn.
OpenPose chỉ phát hiện các điểm quan trọng trên cơ thể con người như vị trí của đầu, cánh tay, v.v. Quá trình tạo ra hình ảnh linh hoạt hơn nhưng vẫn tuân theo tư thế gốc.
Ví dụ trên đã tạo ra một hình ảnh của một người phụ nữ nhảy lên với chân trái hướng sang một bên, khác so với hình ảnh gốc và ví dụ sử dụng Canny Edge. Lý do là phát hiện các điểm quan trọng bằng OpenPose không chỉ định hướng của chân.
Cài đặt Stable Diffusion ControlNet
(Hướng dẫn đã được cập nhật cho ControlNet v1.1)
Hãy đi qua quá trình cài đặt ControlNet trên AUTOMATIC1111, một giao diện người dùng Stable Diffusion phổ biến và đầy đủ tính năng (và miễn phí!). Chúng ta sẽ sử dụng tiện ích mở rộng này, được coi là tiêu chuẩn, để sử dụng ControlNet.
Nếu bạn đã cài đặt ControlNet, bạn có thể bỏ qua phần tiếp theo để tìm hiểu cách sử dụng nó.
Cài đặt ControlNet trên Google Colab
Rất dễ dàng sử dụng ControlNet với sổ ghi Colab Stable Diffusion 1 nhấp trong Hướng dẫn Bắt đầu Nhanh của chúng tôi.
Trong phần Tiện ích của sổ ghi Colab, hãy chọn ControlNet.
Cài đặt ControlNet trên máy tính Windows hoặc Mac
Bạn có thể sử dụng ControlNet với AUTOMATIC1111 trên máy tính Windows hoặc Mac. Làm theo hướng dẫn trong các bài viết này để cài đặt AUTOMATIC1111 nếu bạn chưa cài đặt.
Nếu bạn đã cài đặt AUTOMATIC1111, hãy đảm bảo bản sao của bạn là phiên bản mới nhất.
Cài đặt tiện ích ControlNet (Windows/Mac)
-
- Truy cập trang Tiện ích.
-
- Chọn thẻ Install from URL.
-
- Điền URL sau vào trường URL cho kho lưu trữ tiện ích.
https://github.com/Mikubill/sd-webui-controlnet
-
- Nhấp vào nút Install.
-
- Đợi tin nhắn xác nhận cho biết tiện ích đã được cài đặt.
-
- Khởi động lại AUTOMATIC1111.
-
- Truy cập trang ControlNet models.
-
- Tải xuống tất cả các tệp mô hình (tên tệp kết thúc bằng .pth).
(Nếu bạn không muốn tải xuống tất cả, bạn có thể tải xuống các mô hình openpose và canny, những mô hình này được sử dụng phổ biến nhất.)
-
- Đặt các tệp mô hình vào thư mục mô hình của tiện ích ControlNet.
stable-diffusion-webui\extensions\sd-webui-controlnet\models
-
- Khởi động lại AUTOMATIC1111 webui.
Nếu tiện ích được cài đặt thành công, bạn sẽ thấy một phần gập lại mới trong thẻ txt2img gọi là ControlNet. Nó nằm ngay phía trên menu thả xuống Script.
Điều này cho biết quá trình cài đặt extension đã thành công.
Cài đặt T2I adapters
T2I adapters là các mô hình mạng nơ-ron để cung cấp các điều khiển bổ sung cho việc tạo hình ảnh của các mô hình diffusion. Chúng tương tự về mặt khái niệm với ControlNet nhưng có thiết kế khác nhau.
Phần mở rộng A1111 ControlNet có thể sử dụng các bộ chuyển đổi T2I. Bạn cần tải xuống các mô hình ở đây. Hãy tải xuống các mô hình có tên tệp đọc như t2iadapter_XXXXX.pth.
Có nhiều chức năng của các bộ chuyển đổi T2I trùng lặp với các mô hình ControlNet. Tôi chỉ sẽ đề cập đến hai chức năng sau đây.
Đặt chúng vào thư mục mô hình của ControlNet.
stable-diffusion-webui\extensions\sd-webui-controlnet\models
Cập nhật phần mở rộng ControlNet
ControlNet là một phần mở rộng đã trải qua quá trình phát triển nhanh chóng. Khá phổ biến khi bạn nhận ra bản sao của ControlNet đã lỗi thời.
Cập nhật chỉ cần thiết nếu bạn chạy AUTOMATIC1111 trên máy tính Windows hoặc Mac. Notebook Colab trên trang web luôn chạy phiên bản mới nhất của phần mở rộng ControlNet.
Để xác định phiên bản ControlNet của bạn có còn mới không, so sánh số phiên bản của bạn trong phần ControlNet trên trang txt2img với số phiên bản mới nhất.
Tùy chọn 1: Cập nhật từ Web-UI Cách đơn giản nhất để cập nhật phần mở rộng ControlNet là sử dụng giao diện GUI của AUTOMATIC1111.
-
- Truy cập trang Extensions.
-
- Trong tab Installed, nhấp vào Check for updates.
-
- Đợi thông báo xác nhận.
-
- Đóng hoàn toàn và khởi động lại AUTOMATIC1111 Web-UI.
Tùy chọn 2: Dòng lệnh
Nếu bạn thoải mái với dòng lệnh, bạn có thể sử dụng tùy chọn này để cập nhật ControlNet, đồng thời mang lại sự an tâm rằng Web-UI không làm gì khác.
Bước 1: Mở Ứng dụng Terminal (Mac) hoặc Ứng dụng PowerShell (Windows).
Bước 2: Di chuyển đến thư mục ControlNet extension. (Điều chỉnh tương ứng nếu bạn đã cài đặt ở một nơi khác)
cd stable-diffusion-webui/extensions/sd-webui-controlnet
Bước 3: Cập nhật extension bằng cách chạy lệnh sau.
git pull
Sử dụng ControlNet – một ví dụ đơn giản
Bây giờ bạn đã cài đặt ControlNet, hãy đi qua một ví dụ đơn giản về cách sử dụng nó! Bạn sẽ thấy một giải thích chi tiết về mỗi cài đặt sau này.
Bạn nên đã cài đặt phần mở rộng ControlNet để theo phần này. Bạn có thể xác minh bằng cách xem phần ControlNet ở dưới đây.
Nhấp vào dấu mũi tên bên phải để mở rộng phần ControlNet. Nó hiển thị toàn bộ phần điều khiển và một bảng vẽ hình ảnh.
Tôi sẽ sử dụng hình ảnh sau để chỉ cho bạn cách sử dụng ControlNet. Bạn có thể tải hình ảnh bằng nút tải xuống để theo dõi hướng dẫn.
Cài đặt văn bản thành hình ảnh
ControlNet sẽ cần được sử dụng với một mô hình Stable Diffusion. Trong menu thả xuống điểm kiểm tra Stable Diffusion, hãy chọn mô hình bạn muốn sử dụng với ControlNet. Chọn v1-5-pruned-emaonly.ckpt để sử dụng mô hình cơ bản v1.5.
Trong tab txt2image, viết một prompt và, tùy chọn, một prompt tiêu cực để ControlNet sử dụng. Tôi sẽ sử dụng các prompt sau đây.
Prompt:
full-body, a young female, highlights in hair, dancing outside a restaurant, brown eyes, wearing jeans
Negative prompt:
disfigured, ugly, bad, immature
Đặt kích thước ảnh cho quá trình tạo ảnh. Tôi sẽ sử dụng chiều rộng 512 và chiều cao 776 cho ảnh minh họa của tôi. Lưu ý rằng kích thước ảnh được đặt trong phần txt2img, KHÔNG phải trong phần ControlNet.
Giao diện người dùng sẽ trông như dưới đây.
Cài đặt ControlNet
Bây giờ, hãy chuyển sang bảng điều khiển ControlNet.
Đầu tiên, tải lên một hình ảnh lên bảng vẽ ảnh.
Kiểm tra vào ô Enable (Bật).
Bạn sẽ cần chọn một bộ xử lý trước và một mô hình. Bộ xử lý trước chỉ là tên khác cho trình chú thích đã được đề cập trước đó, chẳng hạn như bộ phát hiện điểm chính OpenPose. Hãy chọn openpose làm bộ xử lý trước.
Mô hình ControlNet đã chọn phải phù hợp với bộ xử lý trước. Đối với OpenPose, bạn nên chọn control_openpose-fp16 làm mô hình.
Bảng điều khiển ControlNet sẽ trông như sau.
Xong rồi. Bây giờ nhấn vào Generate để bắt đầu tạo ra các hình ảnh sử dụng ControlNet.
Bạn sẽ thấy các hình ảnh được tạo ra theo tư thế của hình ảnh đầu vào. Hình ảnh cuối cùng chính là kết quả từ bước tiền xử lý. Trong trường hợp này, đó là các điểm chính được phát hiện.
Khi bạn hoàn thành, hãy bỏ chọn hộp kiểm Enable để tắt phần mở rộng ControlNet.
Đây là những cơ bản về việc sử dụng ControlNet!
Phần còn lại là để hiểu:
-
- Các preprocessor (bộ tiền xử lý) có sẵn (Có rất nhiều!)
-
- Cài đặt ControlNet
Bộ tiền xử lý và mô hình
Các bước đầu tiên khi sử dụng ControlNet là chọn một bộ tiền xử lý (preprocessor). Việc bật xem trước (preview) sẽ hữu ích để bạn biết bộ tiền xử lý đang làm gì. Sau khi hoàn tất việc tiền xử lý, ảnh gốc sẽ được loại bỏ và chỉ ảnh đã qua xử lý sẽ được sử dụng cho ControlNet.
Để bật xem trước:
Chọn Allow Preview (Cho phép xem trước). Tuỳ chọn Pixel Perfect (Tương tự pixel). ControlNet sẽ sử dụng chiều cao và chiều rộng ảnh mà bạn đã chỉ định trong phần văn bản-tới-ảnh để tạo ra ảnh đã qua xử lý. Nhấp vào biểu tượng nổ bên cạnh menu thả xuống Preprocessor.
Một số mô hình Control có thể ảnh hưởng quá nhiều đến hình ảnh. Nếu bạn gặp vấn đề về màu sắc hoặc hiện tượng lỗi khác, bạn có thể giảm Trọng số điều khiển (Control Weight).
Việc chọn mô hình phù hợp Sau khi bạn đã chọn một bộ tiền xử lý, bạn cần phải chọn mô hình chính xác.
Ở phiên bản v1.1, việc chọn mô hình phù hợp rất dễ dàng. Bạn chỉ cần chọn mô hình có từ khóa bắt đầu giống như bộ tiền xử lý.
OpenPose
Có nhiều bộ tiền xử lý OpenPose khác nhau.
OpenPose phát hiện các điểm chính trên cơ thể người như vị trí đầu, vai, tay, v.v. Nó hữu ích để sao chép các tư thế cơ thể mà không sao chép các chi tiết khác như trang phục, kiểu tóc và nền.
Tất cả các bộ tiền xử lý OpenPose đều cần được sử dụng với mô hình openpose trong menu thả xuống Model của ControlNet.
Các bộ tiền xử lý OpenPose là:
-
- OpenPose: mắt, mũi, cổ, vai, khuỷu tay, cổ tay, đầu gối và mắt cá chân.
-
- OpenPose_face: OpenPose + chi tiết khuôn mặt
-
- OpenPose_hand: OpenPose + tay và ngón tay
-
- OpenPose_faceonly: chỉ chi tiết khuôn mặt
-
- OpenPose_full: Tất cả các bộ tiền xử lý trên
OpenPose
OpenPose là bộ tiền xử lý OpenPose cơ bản, phát hiện vị trí của mắt, mũi, cổ, vai, khuỷu tay, cổ tay, đầu gối và mắt cá chân.
OpenPose_face
OpenPose_face là bộ tiền xử lý tương tự như OpenPose, nhưng còn phát hiện các chi tiết khuôn mặt bổ sung.
Nó hữu ích để sao chép biểu cảm khuôn mặt.
OpenPose_faceonly
OpenPose_faceonly chỉ phát hiện các chi tiết khuôn mặt, không phát hiện các điểm chính khác. Điều này hữu ích để chỉ sao chép khuôn mặt mà không sao chép các điểm chính khác.
OpenPose_hand
OpenPose_hand phát hiện các điểm chính giống như OpenPose và các điểm chính trên tay và ngón tay.
OpenPose_full
OpenPose_full phát hiện tất cả các điểm chính của OpenPose, OpenPose_face và OpenPose_hand.
hình ảnh mẫu:
Reference
Reference là một tập hợp mới các bộ tiền xử lý cho phép bạn tạo ra các hình ảnh tương tự với hình ảnh tham chiếu. Các hình ảnh vẫn sẽ bị ảnh hưởng bởi mô hình Stable Diffusion và prompt.
Các bộ tiền xử lý Reference KHÔNG sử dụng một mô hình điều khiển. Bạn chỉ cần chọn bộ tiền xử lý mà không cần chọn mô hình. (Thực tế, menu dropdown của mô hình sẽ bị ẩn sau khi chọn bộ tiền xử lý tham chiếu.)
Có 3 bộ tiền xử lý tham chiếu.
-
- Reference adain: Chuyển đổi phong cách thông qua Adaptive Instance Normalization. (bài báo)
-
- Reference only: Liên kết hình ảnh tham chiếu trực tiếp với các lớp chú ý.
-
- Reference adain+attn: Sự kết hợp của hai tiền xử lý trên.
Chọn một trong các bộ tiền xử lý này để sử dụng.
Dưới đây là một ví dụ.
Sử dụng CLIP interrogator để đoán prompt.
a woman with pink hair and a robot suit on, with a sci – fi, Artgerm, cyberpunk style, cyberpunk art, retrofuturism
disfigured, ugly, bad, immature
Reference adain
Reference only
Reference adain+attn
Tôi sẽ nói rằng việc chỉ sử dụng Reference-only là tốt nhất nếu bạn ép buộc.
Các hình ảnh trên đều được chế độ cân bằng. Tôi không thấy sự khác biệt lớn khi thay đổi tính chất phong cách.
Canny
Canny edge detector là một công cụ phát hiện biên đa dụng và cổ điển. Nó trích xuất các đường viền của một hình ảnh. Nó hữu ích để giữ lại cấu trúc của hình ảnh gốc.
Chọn canny trong cả các menu thả xuống Preprocessor và Model để sử dụng.
Các hình ảnh được tạo sẽ theo các phác thảo.
Depth
Preprocessor Depth giúp đoán thông tin về độ sâu từ hình ảnh tham chiếu.
Có các lựa chọn Preprocessor Depth sau đây:
-
- Depth Midas: Một công cụ ước tính độ sâu cổ điển. Cũng được sử dụng trong mô hình depth-to-image phiên bản chính thức v2.
-
- Depth Leres: Cung cấp nhiều chi tiết hơn nhưng cũng có xu hướng phản ánh nền.
-
- Depth Leres++: Cung cấp thêm nhiều chi tiết hơn nữa.
-
- Zoe: Cung cấp mức độ chi tiết nằm giữa Midas và Leres.
Hình ảnh tham chiếu:
Bạn có thể thấy hình ảnh được tạo theo bản đồ độ sâu (Zoe).
So sánh với Leres++ chi tiết hơn:
Line Art Anime
Line Art Anime Denoise
Line Art Realistic
Line Art Coarse
MLSD
M-LSD (Mobile Line Segment Detection) là một công cụ phát hiện các đoạn thẳng. Nó hữu ích để trích xuất đường viền với các cạnh thẳng như thiết kế nội thất, các công trình xây dựng, cảnh phố, khung hình ảnh và mép giấy.
Các đường cong sẽ bị bỏ qua.
Normal maps
Một bản đồ bình thường (normal map) xác định hướng của một bề mặt. Đối với ControlNet, đó là một hình ảnh xác định hướng của bề mặt mà mỗi điểm ảnh nằm trên đó. Thay vì giá trị màu sắc, các điểm ảnh trong hình ảnh biểu thị hướng mà một bề mặt đang hướng tới.
Việc sử dụng bản đồ bình thường tương tự như việc sử dụng bản đồ độ sâu. Chúng được sử dụng để chuyển đổi cấu trúc ba chiều của hình ảnh tham chiếu.
Các công cụ tiền xử lý bản đồ bình thường:
-
- Normal Midas: Ước tính bản đồ bình thường từ bản đồ độ sâu Midas.
-
- Normal Bae: Ước tính bản đồ bình thường bằng cách sử dụng phương pháp không chắc chắn về bình thường được đề xuất bởi Bae và đồng nghiệp.
Normal Midas
Tương tự như bản đồ độ sâu Midas, bản đồ bình thường Midas cũng được sử dụng để tách đối tượng ra khỏi nền ảnh.
Normal Bae
Bản đồ bình thường Bae có xu hướng hiển thị chi tiết cả ở phần nền và phần trước cảnh.
Scribbles
Các bộ tiền xử lý scribble biến một hình ảnh thành một nét vẽ, giống như những nét vẽ được vẽ bằng tay.
-
- Scribble HED: Holistically-Nested Edge Detection (HED) là một công cụ phát hiện đường viền tốt để tạo ra các đường viền giống như người thực sự vẽ. Theo các tác giả của ControlNet, HED thích hợp cho việc tái màu và thiết kế lại một hình ảnh.
-
- Scribble Pidinet: Mạng Pixel Difference (Pidinet) phát hiện các đường cong và đường viền thẳng. Kết quả của nó tương tự như HED nhưng thường cho ra các đường viền sạch hơn với ít chi tiết hơn.
-
- Scribble xdog: Extended Difference of Gaussian (XDoG) là một phương pháp phát hiện đường viền. Quan trọng là điều chỉnh ngưỡng xDoG và quan sát kết quả của bộ tiền xử lý. Tất cả các bộ tiền xử lý này nên được sử dụng với mô hình điều khiển scribble.
Scribble HED
HED tạo ra các đường phác thảo thô.
Scribble Pidinet
Pidinet thường tạo ra các đường thô với ít chi tiết. Nó tốt cho việc sao chép đường viền bảng mà không cần chi tiết tinh tế.
Scribble xDoG
Mức độ chi tiết có thể được kiểm soát bằng cách điều chỉnh ngưỡng XDoG, làm cho xDoG trở thành một bộ tiền xử lý đa năng để tạo scribbles.
Phân đoạn ( Segmentation)
Các bộ tiền xử lý phân đoạn gắn nhãn xem loại đối tượng nào có trong hình ảnh tham chiếu.
Dưới đây là một bộ xử lý phân đoạn đang hoạt động.
Các tòa nhà, bầu trời, cây cối, con người và vỉa hè được gắn nhãn với các màu sắc khác nhau và được xác định trước.
Bạn có thể tìm thấy các danh mục đối tượng và màu sắc trong bản đồ màu ở đây cho ufade20k và ofade20k.
Có một số tùy chọn phân đoạn
-
- ufade20k: Phân đoạn UniFormer (uf) được đào tạo trên tập dữ liệu ADE20K.
-
- ofade20k: Phân đoạn OneFormer (of) được đào tạo trên tập dữ liệu ADE20k.
-
- ofcoco: Phân đoạn OnFormer được đào tạo trên tập dữ liệu COCO.
Lưu ý rằng các bản đồ màu của phân đoạn ADE20k và COCO là khác nhau.
Bạn có thể sử dụng các bộ tiền xử lý phân đoạn để chuyển vị trí và hình dạng của các đối tượng.
Dưới đây là việc sử dụng các bộ tiền xử lý này với cùng một lời nhắc và hạt giống.
Thành phố tương lai, cây cối, tòa nhà, cyberpunk
UniFormer ADE20k (ufade20k)
UniFormer gắn nhãn mọi thứ một cách chính xác trong ví dụ này.
OneFormer ADE20k (ofade20k)
OneFormer hơi nhiễu hơn trong trường hợp này, nhưng không ảnh hưởng đến hình ảnh cuối cùng.
OneFormer COCO (ofcoco)
OneFormer COCO hoạt động tương tự, với một số nhãn sai.
Phân đoạn là một kỹ thuật mạnh mẽ. Bạn có thể thao tác thêm bản đồ phân đoạn để đặt các đối tượng ở vị trí chính xác. Sử dụng bản đồ màu cho ADE20k.
Xáo trộn ( Shuffle)
Bộ tiền xử lý Xáo trộn làm xáo lộn hình ảnh đầu vào. Hãy xem sự xáo trộn trong hành động.
Cùng với mô hình kiểm soát Xáo trộn, bộ tiền xử lý Xáo trộn có thể được sử dụng để chuyển giao lược đồ màu sắc của hình ảnh tham chiếu.
Khác với các bộ tiền xử lý khác, bộ tiền xử lý Xáo trộn là ngẫu nhiên. Nó sẽ bị ảnh hưởng bởi giá trị hạt giống của bạn.
Sử dụng bộ tiền xử lý Xáo trộn với mô hình kiểm soát Xáo trộn. Mô hình kiểm soát Xáo trộn có thể được sử dụng với hoặc không có bộ tiền xử lý Xáo trộn.
Hình ảnh bên dưới là với bộ tiền xử lý ControlNet Shuffle và mô hình Xáo trộn (Tương tự như phần trước). Bảng màu đại khái theo hình ảnh tham khảo.
Hình ảnh bên dưới chỉ với mô hình ControlNet Shuffle (Bộ tiền xử lý: Không có). Bố cục hình ảnh gần với bản gốc hơn. Cách phối màu tương tự như xáo trộn.
Để bạn tham khảo, hình ảnh bên dưới có cùng dấu nhắc mà không có ControlNet. Các bảng màu là khác nhau đáng kể.
Bộ chuyển đổi T2I theo lưới màu
Bộ tiền xử lý chuyển đổi T2I theo lưới màu thu nhỏ hình ảnh tham chiếu thành 64 lần nhỏ hơn và sau đó mở rộng lại kích thước gốc. Hiệu ứng tổng thể là một lưới như các vùng màu trung bình cục bộ.
Nguồn từ: https://medium.com/