Professional Documents
Culture Documents
(Ebook) Kỹ Nghệ Upscale trong Automatic1111
(Ebook) Kỹ Nghệ Upscale trong Automatic1111
vn
ADVANCED GUIDE BLOG STABLE DIFFUSION CƠ BẢN.
UPSCALE
Trong Automatic1111
ADVANCED GUIDE
Đây là tài liệu nằm trong phần Stable Diffusion nâng cao, bao gồm các bài viết về
một số chủ đề cụ thể để sử dụng Stable Diffusion hiệu quả.
Các tài liệu này được biên soạn dựa trên webui Automatic1111.
Để xem lại các bài hướng dẫn Stable Diffusion cơ bản, các bạn có thể truy cập lại
chúng trên Blog Stable Diffusion Cơ Bản ở đây.
Nếu bạn mới tìm hiểu về Stable Diffusion và không biết bắt đầu từ đâu, hãy xem bài
viết này Stable Diffusion cho người mới bắt đầu.
Warning
Các bài viết này là Ebook, không phải slide thông thường nên sẽ
chứa nhiều thông tin và chữ.
sdcoban.vn
BLOG STABLE DIFFUSION CƠ BẢN.
Nên mọi người đừng hỏi sao slide gì mà lắm chữ thế nữa (T_T)
sdcoban.vn
BLOG STABLE DIFFUSION CƠ BẢN.
Toàn bộ Ebooks và Blogs đều được mình chia sẻ miễn phí. Nếu bạn thích những nội dung mà
mình chia sẻ thì có thể donate để ủng hộ mình. Nếu có nhu cầu dùng Ebooks ở một trang web
nào khác, xin hãy ghi nguồn và đừng tự chỉnh sửa Ebook này xem như là tôn trọng công sức
của những người tạo ra nó.
XIN HÃY LIÊN HỆ VỚI MÌNH NẾU MUỐN DÙNG CÁC EBOOKS VÀO MỤC ĐÍCH KINH DOANH.
NỘ I DUNG
1. Upscale là gì? 3. So sánh các cách Upscale
2. Các cách Upscale trong Auto1111 4. Các workflow hiệu quả
sdcoban.vn
UPSCALE LÀ GÌ? BLOG STABLE DIFFUSION CƠ BẢN.
Bạn muốn dùng một bức ảnh để làm hình nền máy
tính, hay in ra để ngắm hoặc cho các mục đích khác,
thế nhưng bạn nhận ra một điều: Ảnh này có độ
phân giải quá bé, nếu cứ dùng nó thì các chi tiết sẽ
trở nên mờ và vỡ nét mất!
Nếu bạn rơi vào trường hợp như trên, từ khóa bạn
đang cần chính là “Upscale”.
sdcoban.vn
LÀM THẾ NÀO ĐỂ UPSCALE ẢNH? BLOG STABLE DIFFUSION CƠ BẢN.
Nếu bạn chưa biết đến Highres fix hoặc muốn hiểu rõ hơn về
nó, có thể tham khảo Chap 2 của Ebook Stable Diffusion Cơ
Bản của mình để hiểu thêm.
Trong bài viết này, chúng ta sẽ chỉ để cập đến việc sử dụng
các công cụ Upscale trong Automatic1111 cho một ảnh sẵn
có.
CÁC CÁCH UPSCALE TRONG AUTO1111 sdcoban.vn
BLOG STABLE DIFFUSION CƠ BẢN.
Nhược điểm:
Chỉ làm rõ các nét có sẵn, không thêm chi tiết
Đòi hỏi hình ảnh gốc phải chi tiết ở một mức độ nhất định
Bước 3: Hãy chọn model mà bạn đã dùng để tạo nên bức ảnh đó. Sử dụng model khác có thể sẽ dẫn đến
kết quả không tốt. Còn nếu không biết ảnh được tạo ra từ model nào, hãy chọn model thích hợp tùy theo
style của ảnh. Nếu đó là ảnh Anime, hãy chọn model chuyên vẽ Anime, hay ảnh Realistic thì hãy chọn
model Realistic.
Bước 4: Chọn kích thước. Lúc này, kích thước ở đây không còn là chọn kích thước cho ảnh nữa mà là
kích thước của từng ảnh nhỏ mà SD sẽ tạo ra cho từng vùng ảnh (tile), sau đó sẽ gộp chúng lại thành
một ảnh lớn. Tile size càng lớn thì thời gian xử lý càng lâu.
Bước 5: Set denoising strength để điều chỉnh mức độ thêm chi tiết, nếu bạn muốn thêm nhiều chi tiết
hơn thì có thể chỉnh denoising strength cao hơn 0.3 nhưng càng cao thì ảnh càng khác so với ảnh gốc,
chỉ nên để trong khoảng 0.2-0.4 mà thôi.
sdcoban.vn
SD UPSCALE BLOG STABLE DIFFUSION CƠ BẢN.
Bước 6: Ở phần Script (dưới cùng bên trái của trang), chọn SD Upscale.
Bước 7: Set Scale Factor = 4 (tăng kích thước ảnh lên 4 lần). Sau đó chọn Upscaler bạn muốn dùng. Để
dễ so sánh, mình vẫn sẽ dùng Upscaler 4x-UltraMix_Balanced để tiện so sánh.
Nhược điểm:
Tốc độ chậm hơn so với Extras Upscale
Không hiểu ngữ cảnh, gây ra sai sót khi upscale
SD Upscale có một điểm yếu là nó không hoặc ít nhận thức về bức tranh toàn cảnh. Và đối với các
trường hợp cần thêm nhiều chi tiết thì cần phải chỉnh Denoising Strength cao, thế nhưng việc này lại
chèn các chi tiết nhiễu vào tranh. Thế có cách nào để giải quyết không ta?
Controlnet Tile là một controlnet model giúp tái tạo lại các chi tiết ảnh. Model này có một tính năng
hay ho đó là nó sẽ gần như không quan tâm đến prompt mà thay vào đó, nó sẽ tái tạo lại các vùng
ảnh dựa trên thông tin của vùng ảnh đó. Điều này giúp Controlnet Tile rất thích hợp để upscale ảnh.
Nếu bạn chưa biết cách cài đặt ControlNet, hãy tham khảo bài viết Cách cài đặt Extension trong
Automatic1111.
Để Upscale ảnh bằng phương pháp này, ta thực hiện tương tự như cách dùng SD Upscale, đồng
thời, ta còn sử dụng thêm cả ControlNet Tile
Bước 1: Chọn tab img2img, chọn ảnh cần Upscale và điền prompt, sau đó bật SD Upscale lên và
thực hiện các bước tương tự như phần trước.
sdcoban.vn
CONTROLNET TILE UPSCALE BLOG STABLE DIFFUSION CƠ BẢN.
Bước 2: Đặt sampling step cao hơn một chút so với mọi khi, mình chọn khoảng 40. Chọn size cho
tile vẫn là 512x512.
Bước 3: Đặt denoising strength khoảng từ 0.2-0.3 để giữ gần như toàn bộ nét. Thế nhưng nếu bức
ảnh quá thiếu chi tiết, bạn có thể chỉnh lên 0.4-0.5. Và 0.5 là mức cao nhất mà mình thấy có thể
dùng được, cao hơn 0.5 sẽ thêm quá nhiều chi tiết dư thừa vào ảnh.
sdcoban.vn
CONTROLNET TILE UPSCALE BLOG STABLE DIFFUSION CƠ BẢN.
Bước 4: Ở mục ControlNet, bật Enable, bật Pixel Perfect và chọn Control Type là Tile. Bạn không
nhất thiết phải bỏ ảnh đầu vào cho ControlNet, nó sẽ tự động lấy ảnh mà bạn đã chọn trong
img2img luôn.
Nhược điểm:
Tốc độ rất chậm.
Cần cài đặt thêm Extension.
Ta vừa đi qua một số cách Upscale thường dùng trong Automatic1111. Vậy câu hỏi đặt ra là, ta nên áp
dụng cách Upscale nào? Đầu tiên, hãy so sánh các kết quả nhé!
ControlNet Upscale có thể xem là phiên bản nâng cấp của SD Upscale. Do đó ta sẽ chỉ so sánh
ControlNet Upscale và Extras Upscale.
Trong các ví dụ trước, ta thấy ControlNet Upscale đã thực hiện tốt hơn nhiều so với Extras Upscale,
nhưng sự thật có phải như thế?
Thực tế, ControlNet Upscale chỉ nên dùng khi bạn muốn chỉnh sửa các điểm thiếu chi tiết trong bức
ảnh. Đối với những ảnh gốc đã đầy đủ độ hoàn thiện, và việc bạn muốn chỉ là Upscale tấm hình đó lên
thì Extras Upscale thật sự sẽ hữu ích hơn vì nó giữ gần như toàn vẹn bức ảnh ban đầu. Nếu bạn đang
muốn Upscale một tấm ảnh chụp, hay ảnh chân dung cận cảnh, Extras Upscale mới là thứ bạn thật sự
cần. Lúc này, tùy thuộc vào Upscaler bạn chọn mà kết quả đem lại sẽ khác nhau. Bạn không nên dùng
một Upscaler chuyên cho tranh Anime để Upscale cho ảnh realistic.
Tóm lại, khó mà nói rằng kiểu Upscale nào là tốt nhất, nó phụ thuộc vào mục đích của bạn. Nhưng bạn
hoàn toàn có thể chọn cho mình cách Upscale phù hợp nhất cho từng mục đích cụ thể.
sdcoban.vn
VÀI UPSCALE WORKFLOW HIỆU QUẢ BLOG STABLE DIFFUSION CƠ BẢN.
Bước 1: Tạo một ảnh gốc với kích thước nhỏ, ví dụ 512x512
Ở bước này, bạn có thể tùy chọn Upscaler phù hợp, đồng thời
Denoising Strength cũng chỉ nên từ 0.25-0.5. Đừng quên giữ
lại Seed của bức ảnh trước nhé!
Cách này được đề xuất bởi u/Gilloute. Bài viết gốc mình sẽ để ở cuối Ebook. Cách làm này cũng
không mới, nhưng chúng ta sẽ sử dụng các tham số mà Gilloute đề xuất, bản thân mình cũng thấy là
dùng chính xác những tham số này cho kết quả khá tốt.
Cách làm này sẽ chia ra làm 3 lần Upscale để lên 4K. Và theo kinh nghiệm của mình, việc tách ra
Upscale nhiều lần mang lại kết quả tốt hơn Upscale 1 phát lên 4K.
Và để thực hiện Workflow này, ta sẽ dùng một Extension là Ultimate SD Upscale, nó khá giống với
SD Upscale nhưng xịn hơn =)) Hãy cài đặt Extension này và bạn hoàn toàn có thể sử dụng nó thay
thế cho SD Upscale trong tất cả các flow.
Nếu bạn chưa biết cách cài đặt Extension, có thể tham khảo bài viết Cách cài đặt Extension trong
Automatic1111.
sdcoban.vn
VÀI UPSCALE WORKFLOW HIỆU QUẢ BLOG STABLE DIFFUSION CƠ BẢN.
Lần upscale 3:
Dùng ảnh được upscale ở lần 2 làm ảnh đầu vào.
Chỉnh Denoising Strength thấp hơn nữa, tầm 0.3 là ổn.
Vài lưu ý:
Bạn không nhất thiết phải dùng toàn bộ các tham số y như trên, bạn có thể tự mình chỉnh sửa để tìm
tham số phù hợp nhất cho ảnh của bạn.
Các bước upscale này đòi hỏi thời gian xử lý khá lâu, càng về sau càng lâu.
Tile size càng lớn thì thời gian xử lý càng lâu, chỉ nên dùng tile size 1024x1024 trở lại.
Ultimate SD Upscale không dùng size bạn nhập ở trên mà chỉ dùng tile size của nó để upscale.
sdcoban.vn
VÀI UPSCALE WORKFLOW HIỆU QUẢ BLOG STABLE DIFFUSION CƠ BẢN.
Đây không phải cách duy nhất để Upscale lên một con số
khủng như 12K hay 16K. Nhưng ý chính mà mình muốn
thông qua workflow này muốn nói đến là Không thể cứ nhắm
mắt Upscale x2 liên tục từ 768x512 lên 12K được. Nguyên
nhân là do việc thêm các chi tiết bằng Denoising Strength
sẽ tạo ra những chi tiết dư thừa không thể chấp nhận được.
Nếu bạn từng upscale thì sẽ để ý các khuôn mặt người rất
hay được thêm vào ngẫu nhiên trong bức hình. Và nếu
chúng ta không quan sát kĩ lưỡng, ta sẽ tiện thể upscale
khuôn mặt đó lên trong những lần upscale sau. Do đó, cần
phải loại bỏ chúng bằng các phương pháp như inpaint, "Bóng ai đó" ngẫu nhiên được thêm vào lung
tung trong quá trình Upscale. Đây là điều ta
regional prompt hay photoshop trước khi thực hiện bước
muốn tránh.
upscale kế tiếp.
sdcoban.vn
VÀI UPSCALE WORKFLOW HIỆU QUẢ BLOG STABLE DIFFUSION CƠ BẢN.
Bước 1: Từ ảnh gốc, dùng Highres fix với Upscaler 4x-UltraSharp để x2 size.
Bước 2: Chuyển ảnh sang img2img, dùng ControlNet Tile, Tiled-Diffusion và Tiled-Vae (cần cài đặt
extension TiledDiffusion with Tiled VAE mới có thể dùng) để upscale 2 lần liên tiếp lên 3K và 6K
(thực tế bạn có thể dùng Workflow 2 thay thế cho bước này, kết quả không quá khác biệt)
Bước 3: Chuyển ảnh 6K vào Extras Upscale với Upscaler 4x-UltraSharp để x2 size lên 12K. Đồng
thời dùng Photoshop để chỉnh lại các chi tiết về màu sắc, tông màu cho đẹp nhất.
Bước 4: Chuyển ảnh vào img2img, dùng chức năng Inpaint và ControlNet Inpaint để chỉnh sửa lại
các chi tiết chưa ưng ý. Và đây là thành phẩm 12K của chúng ta!
Một số lưu ý:
Ta hoàn toàn có thể inpaint ở những bước đầu nếu xuất hiện các chi tiết không ưng ý. Việc này sẽ
giảm bớt tài nguyên sử dụng hơn là Upscale lên 12K rồi mới Inpaint.
Tài nguyên và thời gian sử dụng cho các kiểu Upscale này là rất lớn, dễ gây hết VRAM, bạn có thể
chỉnh sửa các thông số ví dụ như dùng tile size nhỏ để tiết kiệm tài nguyên, tất nhiên thời gian xử
lý cũng dài hơn đáng kể.
Một bức ảnh PNG 12K có thể lên tới hơn 100MB 😭
sdcoban.vn
BLOG STABLE DIFFUSION CƠ BẢN.
Lời kết
Upscale trong Automatic1111 là cả một nghệ thuật. Nó hoàn toàn không giới hạn trong những
cách mình đã đề cập đến trong Ebook này. Còn vô vàn các Workflow hiệu quả mà bạn có thể
tìm tòi và thử nghiệm. Upscale hình ảnh, đặc biệt là ảnh độ phân giải siêu lớn là một bài toán
đánh đổi giữa tài nguyên và thời gian.
Về nguyên tắc khi Upscale, theo mình điều quan trọng nhất vẫn là giữ ảnh đầu vào thật hoàn
hảo và cố xử lý ảnh đầu vào sao cho chi tiết, màu sắc, bố cục của nó là tốt nhất. Từ đó khi
Upscale lên độ phân giải cao hơn sẽ trở nên dễ dàng hơn.
Hãy nhớ rằng các chi tiết lỗi không được xử lý sẽ được Upscale lên cùng với ảnh gốc!
Một lần nữa mình xin cám ơn vì bạn đã theo dõi loạt Ebook này! Hẹn gặp các bạn ở các bài
chia sẻ sau!
THAM KHẢO
Nếu bạn muốn vừa Upscale, vừa chỉnh sửa bố cục bằng Region Prompt Control, có thể tham khảo
workflow này (mình sẽ dành một bài viết riêng cho nó)
sdcoban.vn
BLOG STABLE DIFFUSION CƠ BẢN.
Nếu bạn thấy Ebook này là hữu ích, có thể ủng hộ mình bằng cách
follow Twitter hoặc tham gia nhóm VN Anime AI Art của mình để
chia sẻ cũng như học hỏi nhé.
Hoặc nếu có điều kiện, bạn cũng có thể ủng hộ mình qua các kênh
sau. Tất cả sự ủng hộ dù nhỏ nhất của mọi người luôn là động lực để
mình tìm tòi và tạo ra nhiều bài chia sẻ hơn nữa!
buy me a coffee here:☕
: dikaoplus@gmail.com
sdcoban.vn
BLOG STABLE DIFFUSION CƠ BẢN.
Thank you
sdcoban.vn
BLOG STABLE DIFFUSION CƠ BẢN.