(Lah) SD ebookseriesbylahPt2Plus VIE Dark - Edit - 2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Controlnet Plus

5 phút quảng cáo - Stable Diffusion e-book series by LaH -


Controlnet Plus
Về lý do có ebook này mặc dù ở Ebook 2 đã có phần nói về controlnet thì là vì ngoài các loại controlnet
ở ebook 2 ra vẫn còn rất nhiều loại controlnet khác và đặc biệt là bộ đôi IP-Adapter & IP Adapter thực sự
đã làm mưa làm gió trong ngành. Vì thế mình quyết định làm thêm phần này để update thêm kiến thức
về 1 số dạng controlnet khác cho mọi người có nhiều lựa chọn hơn trong quá trình sử dụng.

Mọi hình thức ủng hộ vui lòng gửi về các địa chỉ dưới đây

Internet Banking Momo


Techcombank
SDT: 0365.965.006
CTK: Trần Đức Đạt
Trần Đức Đạt
STK:19032673814018

ZaloPay Working Contact DouglasTran

SDT: 0365.965.006 LaH In The Future Land 0365.965.006


Trần Đức Đạt mrducdat1993@gmail.com douglastran
Table of content

Controlnet Plus 1. IP-Adapter & T2I Adapter

2. Segmentation

3. Reference


4. Line-art

5. Scribble
• 6. Inpaint

• 7. Tile
Controlnet Plus
IP - Adapter & T2I Adapter
Controlnet - Plus
IP - Adapter & T2I Adapter
- Stable Diffusion e-book series by LaH -
Controlnet Plus

Như đã tìm hiểu ở ebook phần 2 về controlnet


chúng ta hiểu rằng controlnet là 1 kỹ thuật tạo ra
các phần vùng khác nhau trên hình ảnh, hay đường
nét, màu sắc... từ việc input 1 hình ảnh đầu vào.
Thực ra các khái niệm về line art, depth map mọi
người có thể đã được tiếp xúc ở các ngành nghề
khác. Với IP Adapter chúng ta lấy được 1 thứ về
phong cách, chất liệu.. của hình ảnh - những thứ khó
mô phỏng hay tạo ra chỉ bằng các kỹ thuật xử lý ảnh
thông thường hơn. Đây cũng là lý do vì sao khi bạn
cố gắng preview hình ảnh với IP - Adapter thì hình
ảnh preview không khác gì ảnh gốc.
Controlnet - Plus
IP - Adapter & T2I Adapter
- Stable Diffusion e-book series by LaH -
Controlnet Plus
Mình sẽ giải thích qua về sơ đồ bên như sau:

Với 1 prompt cơ bản chúng ta có: “a girl with sun-


glasses”

Sau khi nhận prompt, thì “prompt” dưới dạng text sẽ


được đem đi mã hóa (text encoder), nếu bạn là
người ko có khái niệm gì về encode hay decode thì
có thể hiểu rằng thực ra máy tính như 1 người ngoại
quốc, và quá trình mã hóa là để chuyển đổi từ
human language sang computer language và
ngược lại, giải mã là chuyển từ ngôn ngữ máy tính
sang ngôn ngữ con người có thể hiểu được. Sau khi
translate xong thì mô hình (IP - Adapter) sẽ lấy ra
phần “text features” - đây là các đặc điểm được mô
hình chọn lọc từ prompt ban đầu.

Song song với text prompt chúng ta có phần img


input vào controlnet. và Img này cũng được trải qua
việc mã hóa cùng 1 vài phương thức khác để lấy ra
“đặc điểm” hình ảnh - “image feature”
Controlnet - Plus
IP - Adapter & T2I Adapter
- Stable Diffusion e-book series by LaH -
Controlnet Plus

2 Phần đặc điểm này được rút ra và ném vào


cùng 1 chỗ gọi là cross attention, cái này giống
như là mỗi thằng có 100 từ khóa về đặc điểm, và
tìm thứ giống nhau vậy, sau cùng thì mang những
phần tử này vào chạy denoise theo block của
unet thôi. (Mình sẽ viết về Unet ở 1 ebook khác).
Text Cross Img
Thứ được trích xuất ra của canny/lineart.. là các
nét, hay của depth là phân vùng. Thì thứ được feature attention feature
trích xuất sau quá trình mã hóa của IP - Adapter
là đặc điểm. Với cùng 1 module IP - Adapter bạn
có thể lấy ra dữ liệu về đặc điểm khuôn mặt, phân
vùng ánh sáng hay chất liệu tùy thuộc vào model
IP - Adapter bạn lựa chọn.
Controlnet - Plus
IP - Adapter & T2I Adapter
- Stable Diffusion e-book series by LaH -
Controlnet Plus

IP - Adapter còn được gọi là LoRA 1 image vì khả năng sao


chép đặc điểm của mình. Để sử dụng khả năng này mình sẽ
thử tác động thêm 1 vài thông số của controlnet như weight,
ending control step. Kết quả như hình bên. Tác dụng của 2
thông số này nếu chưa biết bạn có thể xem lại Ebook 2 nhé.

Prompt: “castle in the cloud”


Hình ảnh bên cạnh là input cho IP - Adapter. Ở đây mình lựa
chọn sử dụng IP - Apdater Plus (SD1.5)
Controlnet - Plus
IP - Adapter & T2I Adapter
- Stable Diffusion e-book series by LaH -
Controlnet Plus

Chúng ta có thể thấy rằng khi cho IP Adapter


càng nhiều quyền kiểm soát, chúng ta sẽ nhận
được hình ảnh càng giống với hình ảnh gốc, và
khi quyền kiểm soát của IP - Adapter ít hơn,
chúng ta sẽ có những kết quả chỉ sao chép 1
phần art style của bức hình, nó giống như 1
LoRA style mà không cần mất công đào tạo, có
thể sử dụng nhanh để giải quyết vấn đề tức thời.
Điều này áp dụng tương tự với các model IP -
Adapter Face
Controlnet - Plus
IP - Adapter & T2I Adapter
- Stable Diffusion e-book series by LaH -
Controlnet Plus

Ở 1 thử nghiệm khác, mình thử chạy batch count = 4 và đặt


thông số như sau:
starting control step = 0.4
control weight = 0.8
Có nghĩa để 40% số step tạo hình ban đầu không có sự tác
động từ IP - Adapter. Như thế mình có thể nhận được 4 kết quả
với sự đa dạng về tạo hình hơn, ở 40% quá trình generate và
60% còn lại IP - Adapter Plus sẽ ảnh hưởng và ép art style của
hình ảnh input vào 4 hình ảnh vừa được tạo. Kết quả như hình
bên
Controlnet - Plus
IP - Adapter & T2I Adapter
- Stable Diffusion e-book series by LaH -
Controlnet Plus

Tất nhiên IP - Adapter không thể thay thế hoàn toàn 1 LoRA, nó có sự cứng ngắc nhất định bởi vì nó chỉ giống như
LoRA được đào tạo từ 1 hình ảnh duy nhất. Ví dụ như với các model IP - Adapter về face thì biểu cảm rất tệ, dù có
thể sao chép 1 phần khuôn mặt nhưng trạng thái biểu cảm bị cứng do được sao chép từ ảnh gốc sang. Tuy thiếu
đi sự linh hoạt nhưng với những dự án đơn giản hoặc bạn không có thời gian đào tạo 1 LoRA thì IP - Adapter là 1
cứu cánh hữu hiệu, thậm chí còn tốt hơn so với những LoRA được đào tạo không tốt rất nhiều lần.

Cùng với IP - Adapter thì chúng ta có T2I Adapter, tuy nhiên thì mình sẽ không giải thích về cái này. Vì bản chất nó
không khác gì với các model controlnet khác, chỉ khác nhà sản xuất. Kiểu như với Model T2I Adapter Canny thì nó
vẫn là Canny, chỉ khác cái là do Tencent sản xuất. Tính năng thì vẫn thế, còn có gì vượt trội hơn hay không thì các
bạn có thể tự trải nghiệm và đánh giá.
Controlnet Plus
Segmentation
Controlnet
Segmentation
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Có thể bạn sẽ thấy cái cụm từ này quen quen, chúng ta có thể bắt gặp ở 1 vài trang công nghệ nào đó, hoặc ở in-
paint anything trong SD, và có thể bạn cũng chủ động bỏ qua vì lười. Thực ra Segment được ứng dụng rất nhiều
trong lĩnh vực AI thời điểm hiện tại, mô hình ban đầu của Segment là Segment Anything Model (SAM) được phát
triển bởi Meta - 1 mô hình thị giác máy tính với sự kết hợp của cả 2 bài toán phân loại (classification) và phát hiện
(object detection) - 2 bài toán phổ biến nhất trong lĩnh vực thị giác máy tính.

Nếu bạn từng tiếp xúc với các phần mềm đồ họa như
photoshop, after effect... sẽ biết về kỹ thuật tạo mặt nạ
(masking). Về bản chất thì Segment sẽ tạo ra các lớp mặt
nạ phủ lên từng đối tượng, điều này giúp chúng ta phân
vùng hình ảnh đầu vào thành các khu vực khác nhau.
Nếu bạn muốn tìm hiểu sâu hơn và hàn lâm hơn về data-
set đào tạo segment có thể thử tìm kiếm ADE20K.
Controlnet
Segmentation
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Với segmentation chúng ta có các module khác nhau, mỗi module sẽ có 1 cách tạo mask khác nhau tùy thuộc
mục đích sử dụng. Mỗi màu sắc sẽ đại diện cho 1 loại vật thể và điều này được quy định trong bảng màu ADE20k.

ofade20k: phân vùng hình


Input Image ảnh thành các mảng màu và
có viền mảnh xung quanh

ofcoco: tương tự với


ufade20k: phân vùng hình ofade20k nhưng bộ màu tối
ảnh thành các mảng màu. hơn và ít chi tiết hơn.
Controlnet
Segmentation
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Nếu bạn muốn chỉnh sửa các đối tượng trong hình ảnh với edit của controlnet thì nhớ tra
lại bảng màu, bởi vì như đã nói ở slide trước: mỗi màu sắc đại diện cho 1 đối tượng và điều
này đã được quy định trước, không thể thay đổi.
Controlnet Plus
Reference
Controlnet
Reference
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Reference - cái này không khác gì trong hội họa, khi


bạn cố miêu tả cho artist vẽ 1 thứ gì đó thì thứ tốt
nhất có thể đưa cho họ là reference. Cái này giống
như là 1 bản mẫu có sẵn mà bạn mong muốn kết quả
sẽ đạt được. Kiểu như bạn muốn artist vẽ nhân vật
Asuna Yuuki, vậy bạn phải là người cung cấp hình ảnh
Asuna Yuuki, hoặc bản thân artist phải tự đi tìm hình
ảnh đó đặt bên cạnh để làm mẫu trong quá trình vẽ.
Trước khi có IP - Adapter thì mình cũng thường sử
dụng cái này để cố gắng sao chép 1 số style, tất
nhiên nó không hiệu quả bằng IP - Adapter hay LoRA
Controlnet
Reference
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Vẫn công thức cũ, weight càng cao thì sức ảnh hưởng càng lớn, chúng ta sẽ nhận được output sát với input đưa
vào controlnet hơn.

Source

Kết quả sử dụng controlnet reference từ input là hình ảnh ở slide trước
Controlnet
Reference
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus
Các module của Reference Controlnet

Reference_only Reference_adain Reference_adain+attn

Đơn giản là chúng ta có input Cái này thì giống như chỉ lấy Cái này thì kết hợp của 2
là mẫu, và các sampler cố nhân vật, bối cảnh, và giữ lại dạng trước đó và tạo ra hình
gắng tạo ra output theo mẫu nét vẽ của checkpoint ảnh gần với input nhất
có sẵn.
Controlnet Plus
Lineart
Controlnet
Lineart
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Lineart hay line-art, cơ bản thì nó hoạt động tương tự với canny. Nếu
bạn chưa biết canny hoạt động như thế nào thì có thể xem lại ebook
phần 2 của mình. Tuy nhiên thì Line art mềm hơn so với canny và
cũng bỏ qua nhiều chi tiết hơn canny.
Controlnet
Lineart
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Lineart_anime: bắt nét mảnh và nhiều


chi tiết, lấy được cả những chi tiết rất
nhỏ và độ phức tạp cao.

Lineart_anime_denoise: bắt nét dày


hơn do có thêm bộ khử noise. Các chi
tiết nhỏ, phức tạp sẽ trực tiếp bị bỏ qua.
Controlnet
Lineart
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Lineart_coarse: các nét được tracking


theo dạng sợi, có thể đan lẫn vào nhau
với độ chi tiết khá cao.

Lineart_anime_realistic: độ chi tiết


cao nhất trong các module lineart,
chân thực và loại bỏ hầu hết các phần
noise thừa.
Controlnet Plus
Scribble
Controlnet
Scribble
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Scribble - cái trò này nó kiểu như


bạn thì không biết vẽ nhưng bị bố
mẹ bắt làm họa sĩ.
Đại loại là bạn có thể vẽ phác ra
giấy, hoặc vẽ bằng paint với
chuột cũng được, vẽ cái gì bạn
thích rồi prompt để tạo ra hình
ảnh. Yên tâm vẽ xấu thế nào thì
cũng sẽ ra thôi, đừng lo.
Controlnet
Scribble
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Nguyên lý hoạt động của nó thì cũng như


các controlnet về nét khác như canny,
line-art. Có điều scribble có tính linh hoạt
hơn so với 2 người bạn của mình rất nhiều.
Nếu bạn ném 1 hình ảnh hoàn chỉnh vào
scribble thì gần như nó không giữ lại các
chi tiết nhỏ, chỉ còn các nét chính của hình,
và vì thế độ sáng tạo của controlnet này
cao hơn, đồng nghĩa với việc khó kiểm
soát hơn.
Controlnet Plus
Inpaint
Controlnet
Inpaint
- Plus

Giống như inpaint mà chúng ta biết ở


img2img, thì controlnet inpaint là tiền
thân của inpaint sau này. Chúng ta có
thể có 1 bức hình bất kỳ và muốn chỉnh
sửa 1 khu vực nào đó trên bức hình,
trước đây các kỹ thuật về manipulation
với photoshop cần thời gian và kỹ thuật
thực hiện rất phức tạp thì với inpaint
chúng ta có thể vẽ thêm, chỉnh sửa lại
bất cứ khu vực nào cần thiết chỉ bằng
việc tô vào phần muốn thay đổi.
Controlnet
Inpaint
- Plus
Trong 1 trường hợp đặc biệt như sau:
• Kích thước của hình ảnh input khác với kích thước generate
• Không tạo ra bất cứ vùng chọn nào để inpaint
• Sử dụng control mode: Resize and Fill & controlnet more important

Với resize and fill khung hình của bạn sẽ được mở rộng, và mặc
dù chúng ta không tô vào bất cứ thứ gì để inpaint nhưng phần
được mở rộng sẽ tự động vẽ thêm các chi tiết cho phù hợp với
ảnh gốc. Ở đây chúng ta có 1 kỹ thuật gọi là Outpaint.

Trong trường hợp không sử dụng Controlnet Inpaint mà vẫn mở


rộng khung hình thì đơn giản là chúng ta vẫn outpaint - mở rộng
hình ảnh nhưng là mở rộng hình ảnh mới được generate (theo
loại controlnet được chọn) chứ không giữ lại hình gốc nữa.
Controlnet Plus
Tile
Controlnet
Tile
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Công thức của tile là phân tích các chi tiết có trong hình ảnh đầu vào và nhân bản, xếp chồng những chi tiết
này để tạo ra 1 hình ảnh mới.
Ví dụ: như hình cô gái đang cầm một bông hoa, AI dựa theo bông hoa đó gen lại ảnh cô gái đứng trong một
cánh đồng hoa từ cái hoa cô gái đó cầm; thêm dàn bong bóng bay đầy trời vào ảnh đứa trẻ cầm bong bóng;
thêm nhiều đom đóm vào ảnh chụp trên ngọn đồi, vẽ lại cây cối cho mọc ra trái hay trổ hoa
1 phương án khác để sử dụng tile là upscale chúng ta có 1 hình ảnh với độ phân giải kém mà muốn phóng
to thì dựa vào đặc tính của tile là nhân bản và xếp chồng, nó sẽ tăng số lượng chi tiết trong ảnh gốc để tạo
ra 1 hình ảnh kích thước lớn hơn và có nhiều chi tiết hơn. Nhưng mà tất nhiên nó sẽ theo dữ liệu của model
chứ nếu thực sự phóng to được nguyên bản thì mấy công ty máy ảnh sập tiệm hết.
Controlnet
Tile
- Plus - Stable Diffusion e-book series by LaH -
Controlnet Plus

Tile_colorfix (+sharp) : Cái này thì ko dùng để


upscale, nó có tác dụng như kiểu copy lại tone
màu của input, thay đổi màu output và thêm
sharpern.

Tile_resample: Đây là công cụ upscale hoặc


thêm chi tiết như mình có chia sẻ ở trang trước.
Và tất nhiên là nó sẽ bị ảnh hưởng rất nhiều từ
dữ liệu của checkpoint.

blur_gaussian: Tương tự với resample, cũng có


thể upscale, và thêm chi tiết, tuy nhiên có thêm
khả năng làm nhòe để tăng độ nổi bật của chủ input output
thể trong output.
Một số hình thức bạn có thể ủng hộ mình. Mỗi đóng góp dù là nhỏ nhất từ các bạn đều giúp
mình có thêm nguồn lực để sinh tồn =)) và động lực nghiên cứu, phát triển bản thân cũng như
cống hiến cho cộng đồng AI ở VN nói chung và SD nói riêng.

Internet Banking Momo


Techcombank
SDT: 0365.965.006
CTK: Trần Đức Đạt
Trần Đức Đạt
STK:19032673814018

ZaloPay Working Contact DouglasTran

SDT: 0365.965.006 LaH In The Future Land 0365.965.006


Trần Đức Đạt mrducdat1993@gmail.com douglastran

You might also like