Cách sửa hình ảnh AI bằng phương pháp inpainting Stable Diffusion

Một vấn đề thường gặp trong hình ảnh Stable Diffusion AI là các chi có thể không được tạo ra đúng cách. Đôi khi một người có thể có thêm một cánh tay, và lúc khác một trong hai chân của anh ta có thể bị thiếu. Cuối cùng, chúng ta có 4 chi nhưng cấu trúc giải phẫu không hoàn toàn chính xác. Một độc giả đề nghị làm một hướng dẫn đặc biệt để loại bỏ các chi thừa. Vậy đây bạn có! Trong bài viết này, tôi sẽ cho bạn biết cách sử dụng inpainting để sửa chữa hai hình ảnh này với các chi bị lỗi.

inpainting

inpainting

Phần mềm

Tôi sẽ sử dụng AUTOMATIC1111 GUI trong hướng dẫn này. Bạn có thể chạy GUI này với 1-click sử dụng sổ ghi chú Colab trong Hướng dẫn Khởi động nhanh. Bạn cũng có thể cài đặt nó trên Windows và Mac.

Chúng ta sẽ cần model inpainting v1.5. Hãy chắc chắn kiểm tra model inpainting khi khởi động sổ ghi chú colab trong Hướng dẫn Khởi động nhanh.

Theo dõi các hướng dẫn để cài đặt model inpainting nếu bạn chạy AUTOMATIC1111 cục bộ.

Tôi sẽ sử dụng Photoshop để vẽ lên một số khu vực trong ví dụ thứ hai. Bạn có thể sử dụng bất kỳ phần mềm chỉnh sửa ảnh khác.

Prompt và negative prompt

Hai hình ảnh cần được sửa chữa đã được tạo ra bằng prompt sau.

full-body portrait of beautiful female wearing running outfit, highlights in hair, sitting outside restaurant, brown eyes, wearing a dress, side light

Và negative prompt là

disfigured, ugly, bad, immature, two heads

Chúng ta sẽ sử dụng cùng một prompt trong ví dụ inpainting.

Ví dụ 1: Chỉ sử dụng Inpainting để sửa chữa các chi

Chúng ta sẽ sửa hình ảnh sau với các chi bị biến dạng.

inpainting

Bạn có thể tải hình ảnh này bằng nút bên dưới nếu bạn muốn theo dõi hướng dẫn này.

Gửi hình ảnh đến inpainting

Rõ ràng là các chân là vấn đề lớn nhất. Hình ảnh này được tạo ra bằng tab txt2img trong AUTOMATIC1111. Chúng ta sẽ sửa hình ảnh này chỉ bằng inpainting. Sử dụng nút Send to Inpaint tiện dụng dưới hình ảnh để gửi một hình ảnh mới tạo đến inpainting.

Nếu không, nếu bạn đang sử dụng hình ảnh đã tải xuống, hãy đi đến tab img2img và chọn sub-tab Inpaint. Viết prompt và negative prompt vào các ô nhập tương ứng. Tải lên hình ảnh bằng cách kéo và thả vào canvas hình ảnh.

Bất kể phương pháp bạn sử dụng, bây giờ bạn nên đã thiết lập GUI như bên dưới.

inpainting

Tham số inpainting

Dưới đây là ảnh chụp màn hình của cài đặt inpainting của tôi.

inpainting

Có rất nhiều cài đặt. Những cái quan trọng là

Prompt và negative prompt: Như gốc.

Bước lấy mẫu: Đặt thành một giá trị đủ cao, như 25.

Khu vực Inpaint: “Whole picture” tạo ra hình ảnh phù hợp với toàn bộ hình ảnh. “Only masked” chỉ vẽ khu vực được che mặt nạ nhưng với độ phân giải cao hơn. Nó hữu ích để vẽ các chi tiết tinh tế hơn như khuôn mặt.

Kích thước batch: Đặt thành một số hợp lý như 4 để bạn có thể chọn lựa hình ảnh tốt nhất.

Denoising strength là một tham số rất quan trọng. 0.75 là một điểm khởi đầu tốt. Tăng lên nếu bạn muốn nó thay đổi nhiều hơn. Giảm xuống nếu bạn muốn nó thay đổi ít hơn.

Nội dung được che: Giữ nguyên gốc.

Seed: -1 cho ngẫu nhiên. Điều này quan trọng vì bạn muốn tạo ra một cái gì đó khác biệt sau mỗi lần thử nghiệm.

Chọn model inpainting Stable Diffusion v1.5.

Sửa chữa các chi

Bây giờ, chúng ta đã sẵn sàng sử dụng inpainting để sửa chữa các chi. Hãy sửa chân trước tiên vì chúng là vấn đề lớn nhất. Sử dụng công cụ cọ kế bên canvas inpainting để tạo một mặt nạ xung quanh các chân. Che phần bạn muốn tái tạo.

inpainting

Hãy sử dụng sức mạnh làm mịn của 0.75. Nhấn Generate. Chúng ta thấy 4 hình ảnh được tạo ra.

inpainting

Bạn có thể thấy các hình ảnh mới được tạo ra có độ thành công khác nhau. Vì vậy, việc tạo ra nhiều hình ảnh và chọn lựa hình ảnh tốt nhất là quan trọng. Mặc dù không hoàn hảo, hãy chọn hình ảnh trên cùng bên trái vì nó di chuyển về hướng đúng. Trong trường hợp bạn không thấy cải thiện, bạn có thể tái tạo một bộ 4 khác. (Đảm bảo hạt giống được đặt thành -1)

Vì vậy, đây là lần lặp đầu tiên của chúng ta:

inpainting

Để sử dụng một hình ảnh cho vòng lặp tiếp theo, bạn chọn hình ảnh trong canvas bên phải và sử dụng nút Send to inpaint dưới hình ảnh để gửi nó đến canvas inpainting.

Sau khi nhấn nút, bạn có thể tự hỏi tại sao dường như không có gì đã thay đổi. Lý do là tất cả các thay đổi đều dưới khu vực được che mặt nạ mà được che bởi sơn đen. Bạn sẽ thấy các thay đổi nếu bạn gỡ bỏ mặt nạ. Nhưng vì chúng ta muốn sử dụng lại mặt nạ giống như trước, chúng ta sẽ không làm điều đó.

Sử dụng cùng một mặt nạ và các tham số giống nhau, nhấn nút Generate để lấy thêm 4. 4 mới được tạo ra dựa trên hình ảnh cải thiện ở trên.

inpainting

Góc dưới cùng bên phải là người chiến thắng rõ ràng. Hãy tiếp tục với nó.

Sửa Giày Thể Thao

Khi sử dụng inpainting để sửa chữa chân tay hoặc bất kỳ thứ gì, bạn nên bắt đầu từ một khu vực lớn, và dần dần chuyển sang những khu vực nhỏ hơn. Giả sử chúng ta muốn thay đổi đôi giày thể thao mà cô ấy đang mặc.

Chúng ta sẽ làm theo các bước tương tự: chọn hình ảnh ở góc dưới bên phải và sử dụng nút Send to Inpaint để gửi nó tới inpaint canvas ở bên trái.

inpainting

Một lần nữa, trên inpaint canvas, bạn sẽ thấy không có gì thay đổi.

inpainting

Bạn sẽ cần sử dụng nút undo ở góc trên bên phải để hoàn toàn loại bỏ lớp mặt nạ. Vẽ lại lớp mặt nạ nhưng chỉ bao phủ đôi giày thể thao.

inpainting

Sử dụng cùng một cài đặt (độ mạnh denoising 0.75, nội dung gốc) và sau khi tạo khoảng 16 hình ảnh, tôi đã chọn hình ảnh sau

inpainting

Sửa Khuôn Mặt

Khuôn mặt của cô ấy hơi bị mờ. Đây là điều mà inpainting rất thích hợp để khắc phục. Gửi hình ảnh mới đến inpainting và tạo một lớp mặt nạ trên khuôn mặt của cô ấy.

inpainting

Bây giờ chúng ta cần sử dụng cài đặt mới:

Độ mạnh Denoising: 0.2. Chúng ta cần một giá trị thấp hơn vì khuôn mặt không quá tồi. Chúng ta đã có mắt, mũi và miệng ở đúng chỗ. Vì vậy, chúng ta chỉ muốn có những thay đổi rất nhỏ.

Khu vực Inpaint: Chỉ mặt nạ. Tùy chọn này mở rộng khu vực inpaint thành một khu vực lớn hơn, thực hiện inpainting, và thu nhỏ nó lại. Vì chúng ta đang vẽ một khu vực nhỏ với rất nhiều chi tiết, tùy chọn này giúp cải thiện chất lượng.

Nhấn nút Generate để tạo ra 4 hình ảnh mới với các khuôn mặt mới. Dưới đây là hình ảnh mà tôi đã chọn.

inpainting

Sửa Vai

Cuối cùng, vai của cô ấy trông hơi không tự nhiên. Hãy sửa nó nữa.

Sử dụng độ mạnh denoising là 0.5 và giữ khu vực inpaint là chỉ mặt nạ, chúng ta có được hình ảnh sau.

Cuối cùng, sửa tay cô ấy bằng cách tương tự.

inpainting

So Sánh và Tóm Tắt

Hãy so sánh trước và sau.

inpainting

Trước

inpainting

Sau

Bạn có thể sử dụng inpainting để tiếp tục sửa các chi tiết nhỏ không hoàn hảo. Nhưng tôi hy vọng đây là một ví dụ tốt để minh họa cách sử dụng inpainting một mình để sửa chữa chân tay.

Để tóm tắt, các ý tưởng cơ bản của kỹ thuật này là

  • Sử dụng lại cùng một lời nhắc và lời nhắc tiêu cực.
  • Giữ nội dung đã được che mặt nạ như ban đầu, và điều chỉnh độ mạnh denoising để kiểm soát mức độ thay đổi mà chúng ta muốn thực hiện. (0 có nghĩa là không thay đổi. 1 có nghĩa là thực hiện thay đổi không dựa trên nội dung gốc). Như vậy, bạn không cần phải can thiệp vào các cài đặt nội dung đã được che mặt nạ khác trong khi đạt được các điều khiển tương tự.
  • Chọn inpaint toàn bức ảnh khi vẽ một khu vực lớn, và chỉ khu vực đã được che mặt nạ khi inpainting một khu vực nhỏ.
  • Bắt đầu với những khuyết điểm lớn như chân tay, và dần dần chuyển sang các khu vực nhỏ hơn.

Xem thêm: Regional Prompter: Điều khiển cấu trúc hình ảnh trong Stable Diffusion

Ví dụ 2: Inpainting và vẽ

Hãy cùng tìm hiểu ví dụ thách thức hơn này về việc loại bỏ hai chi thừa và thêm một chi vào hình ảnh dưới đây. Trên thực tế, bạn không nên cố gắng sửa chữa những hình ảnh như thế này vì việc tạo mới những hình ảnh có ít khuyết điểm hơn để bắt đầu sẽ dễ dàng hơn nhiều. Nhưng đây là một bức ảnh tốt để minh họa kỹ thuật này nên đó là lựa chọn của tôi.

inpainting

Bạn có thể tải hình ảnh này ở đây.

Cắt bỏ hai chân

Đầu tiên, tôi sử dụng Photoshop để vẽ lên hai chi thừa trong khi phù hợp với màu sắc của vạt đá. Nó không cần phải phù hợp hoàn hảo, gần gần là đủ vì chúng ta sẽ sử dụng inpainting để sửa nó.

Bước này dễ dàng hơn nếu bạn có một thiết bị vẽ như Apple pencil và iPad, nhưng hoàn toàn có thể thực hiện được với một chuột. Nếu bạn không có quyền truy cập vào Photoshop, bạn có thể sử dụng Gimp (chạy cục bộ) hoặc Photopea (trực tuyến). Chúng đều miễn phí. Trong bất kỳ phần mềm vẽ nào, bạn có thể sử dụng công cụ lấy màu để chọn màu của bề mặt đá gần nhất và vẽ cùng màu lên trên các chân thừa.

Nếu các tùy chọn trên không hoạt động cho bạn, bạn có thể thử sử dụng công cụ Inpaint sketch trong AUTOMATIC1111. Nhưng tôi đã thấy nó có lỗi và cố gắng không sử dụng nó.

Dưới đây là hình ảnh của tôi sau khi vẽ.

inpainting

Bây giờ hãy sử dụng nó cho inpainting. Sử dụng các cài đặt sau tương tự như ví dụ 1. Nhưng vì chúng ta đã vẽ vạt đá lên trên và muốn Stable Diffusion sử dụng màu sắc mà chúng ta đã vẽ, chúng ta nên đặt độ mạnh denoising ở một giá trị thấp 0.2 – 0.5 và sử dụng nội dung gốc.

Model: v1.5 inpainting model (sd-v1-5-inpainting.ckpt)

Prompt: (giống như ví dụ 1)

Negative prompt: (giống như ví dụ 1)

Nội dung đã được che mặt nạ: gốc

Khu vực inpainted: Toàn bức ảnh

Bước lấy mẫu: 25

Độ mạnh Denoising: 0.5

Tôi đã tạo ra 4 hình ảnh.

Giống như trước đây, kết quả đầu tiên không cần phải hoàn hảo. Nó chỉ cần phải tốt hơn vì chúng ta sẽ thực hiện inpaint lặp đi lặp lại. Tôi đã chọn hình ở góc trên bên phải. Không hoàn hảo nhưng ít nhất đã sửa được phần lớn bề mặt đá.

inpainting

Thêm một chân

Bây giờ, quay trở lại Photoshop và thêm chân còn thiếu. Vẽ quần short, thêm chân và chỉnh sửa một số khuyết điểm nhỏ khác. Một lần nữa, sử dụng công cụ lấy màu để phù hợp với màu sắc. Dưới đây là những gì tôi nhận được sau khi vẽ trong Photoshop.

inpainting

Tải hình ảnh trở lại inpainting canvas. Với độ mạnh denoising giảm xuống 0.2, tôi đã nhận được 4 hình ảnh này.

Hãy chọn hình ảnh ở góc dưới bên trái để tiếp tục. Thực hiện một vòng lặp tạo mới sử dụng độ mạnh denoising là 0.5. Chúng tôi đã nhận được hình ảnh sau đây gần giống với những gì chúng tôi muốn.

Sửa chữa đôi tay, giày thể thao và khuôn mặt

Đến lúc sửa chữa bàn tay của cô ấy. Tạo một mặt nạ xung quanh đôi tay của cô.

Chỉ cần inpaint khu vực được che mặt nạ và đặt sức mạnh làm mịn lên 0.75, đôi tay đã được khôi phục.

Phần còn lại là những điều chỉnh nhỏ của nhiều khu vực, mỗi lần một: Giày thể thao, áo sơ mi, và khuôn mặt. Tôi giữ nguyên các tham số như bước cuối cùng nhưng điều chỉnh sức mạnh làm mịn theo nhu cầu.

Dưới đây là hình ảnh cuối cùng sau tất cả các điều chỉnh.

So sánh và tổng kết

Hãy đặt ảnh trước và sau cùng nhau để xem chúng ta đã hoàn thành những gì.

inpainting

Trước 

Sau

Trong ví dụ thứ hai này, chúng ta đã sử dụng một công cụ chỉnh sửa ảnh bên ngoài để vẽ lên một số khu vực nhằm hướng dẫn các thế hệ inpainting. Điều này cho phép bạn kiểm soát một chút về màu sắc và cấu trúc của các thế hệ.

Hy vọng tôi đã làm rõ cách sử dụng inpainting để sửa chữa các chi trong hai ví dụ này. Như bạn đã thấy, bạn có thể thực sự sửa bất cứ thứ gì nếu bạn có sự kiên nhẫn.

Để 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.