From Zero to Hero (P28): Kiểm tra mọi khả năng của hình ảnh tạo ra với Prompt Matrix và X/Y/Z plot

Nếu đã sử dụng Stable Diffusion một thời gian, hẳn các bạn cũng nhận ra sự thay đổi khó lường của kết quả khi thay đổi dù là một biến số nhỏ. Trong quá trình tạo ra tác phẩm của mình, việc thử lại nhiều lần các thay đổi để có kết quả ưng ý nhất là điều rất cần thiết với AI. Hướng dẫn dưới đây giúp bạn có cái nhìn tổng quan về cách sử dụng 2 trong số các công cụ có sẵn mà Stable Diffusion A1111 cung cấp. Đó là Prompt Matrix và X/Y/Z plot.

Để tìm thấy 2 tính năng này, hãy kéo xuống tận cùng của A1111, dòng SCRIPT, bạn sẽ thấy menu kéo thả có tên 2 tính năng này.

:one: Prompt matrix
Tính năng này cho phép người sử dụng có thể thấy sự kết hợp khác nhau của các từ khóa trong prompt. Chúng ta sẽ phân tách các từ khóa này bằng kí hiệu “|” (dấu gạch thẳng, và hệ thống sẽ tạo ra tất cả các kết hợp có thể xảy ra.

Ví dụ: a fruit bowl, |apples |pears
sẽ tạo ra 4 kết hợp

  1. a fruit bowl
  2. a fruit bowl, apples
  3. a fruit bowl, pears
  4. a fruit bowl, apples, pears

Put variable parts at start of prompt: Không có tài liệu chính thức nào cho chức năng này, một số người sử dụng giải thích nó là dấu check này sẽ đẩy sự kết hợp lên trước prompt thay vì về sau. Tuy nhiên mình không thực sự thấy rõ sự khác biệt khi sử dụng checkbox này.

Use different seed for each picture: mỗi biến thể tạo ra sẽ dùng seed khác nhau, điều này sẽ khó khăn hơn cho sự so sánh.

Select prompt: Biến thể thay đổi sẽ nằm ở prompt hay negative

Select joining char: Từ khóa gốc sẽ liên kết với biến thể bằng dấu phẩy hoặc dấu cách

Grid margins(px): Khoảng lớn của lưới so sánh

Dưới đây là kết quả từ ví dụ trên

Ta có thể thấy các biến thể sẽ được sắp xếp thành hàng, cột và có sự khác nhau rõ ràng khi thêm hoặc bớt một từ khóa biến thể. Với các ảnh có same seed, góc độ của ảnh giống hệt nhau khi chụp từ trên xuống và khoảng cách cũng như nhau, trong khi ảnh có different seed thì các góc độ khác nhau, vị trí cũng khác nhau.

:two: X/Y/Z plot

X/Y/Z plot tạo ra các lưới để so sánh các giá trị khác nhau và các lô (batch) khác nhau để tạo ra sự so sánh.


X là cột, Y là hàng, Z là lô khác nhau. Mọi người lựa chọn phân loại ở “type” và thêm các giá trị ở “values”. Các giá trị được phân biệt với nhau bởi dấu phẩy.
Draw legend: thay đổi nền của các lô (chức năng hơi màu mè)
Keep -1 for seeds: để seed random, ảnh ra khác nhau hoàn toàn
Grid margins (px): tạo ra các khoảng lớn của khung
Swap axes: khi bạn đã chọn phân loại và giá trị, bạn có thể thay đổi vị trí các trục này

Khi thả con chuột vào vị trí của các type, một số sẽ hiện lên thông tin và ý nghĩa của type đó, ví dụ như “hires steps” ở đây

Khi chọn trục bất kỳ là Checkpoint name, bạn sẽ thấy 1 nút vàng nhỏ, ấn vào đó, hệ thống sẽ chọn tất cả các model bạn đang có.

Dưới đây là ví dụ khi sử dụng X/y/Z plot, với prompt đơn giản

An illustration of crowed city

Chúc mọi người thành công!