From Zero to Hero (P20): Các phương pháp thay đổi gương mặt với Face Swap

Với phiên bản A1111 ver 1.7 vừa cập nhật, Stable Diffusion vừa ra mắt một mục hoàn toàn mới trong Controlnet có tên Instant ID. Instant ID là một phương pháp khá đặc biệt khi kết hợp cả Controlnet và IP Adapter để kiểm soát đầy đủ các đặc điểm của khuôn mặt trong quá trình tái tạo lại. Do đó riêng Instant ID sẽ cần phải bật đồng thời 2 Controlnet model.

Bài viết này là phần mở rộng của series Controlnet và sẽ làm riêng về kỹ thuật Face Swap. Bài viết sẽ so sánh kết quả tạo ra từ 3 extension Face Swap tốt nhất của Stable Diffusion bao gồm Reactor – IP Adapter – Instant ID.

Nếu sử dụng Stable Diffusion A1111 của Kaikun, thì tất cả cài đặt của phần mở rộng này đã được cài sẵn, nếu bạn tự sử dụng phiên bản của mình có thể đọc thêm hướng dẫn cài đặt tại Hugging Face của IP Adapter – Instant ID.

Lưu ý khi sử dụng:

Để việc so sánh được khách quan, mình sử dụng cùng một model Juggernaut và Juggernaut XL, các thông số cũng được cài đặt tương đối giống nhau. Các thông số có sự khác nhau giữa do quá trình training của các bộ cài mở rộng.

Việc thay khuôn mặt người khác là vấn đề hết sức nhạy cảm, có thể có ảnh hưởng về mặt pháp lý. Bài viết chỉ có tính chất học thuật, không phải là lời khuyên hay xui khiến thực hiện các hành vi bất hợp pháp làm ảnh hưởng đến người khác. Trong các ví dụ, Kaikun buộc phải sử dụng data từ admin Kaikun để tránh vấn đề bản quyền.

Prompt mặc định được sử dụng là:

a man portrait, suit up,fated pink hair, cowboy shot, handsome
Negative: (painting by bad-artist-anime:0.9), (painting by bad-artist:0.9), watermark, text, error, blurry, jpeg artifacts, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, artist name, (worst quality, low quality:1.4), bad anatomy

:one: Reactor

Đây là phương pháp được ra đời trước 2 phương pháp còn lại, có tiền thân là Roop.

Đây là bức ảnh input mà mình sẽ sử dụng, crop đi chỉ để phần khuôn mặt và đưa vào setting của Roop

Các thông số gần như mặc định, các bạn có thể tham khảo dưới đây

Kết quả của phương pháp này:


:two: IP Adapter

Với sức mạnh “đồng tiền bát gạo”, Tencent tạo ra các model rất mạnh và được nâng cấp làm mới rất nhanh. Để đọc lại tổng quát về IP Adapter, hãy xem bài viết.

Chúng ta sẽ thử cả 2 model ip-adapter-faceid-plusv2 sd1.5 và sdxl, khi sử dụng 2 model này bạn phải thêm lora tương ứng. Việc thêm lora là bắt buộc và nó sẽ tăng tính ổn định của phiên bản.
lora

Hãy thử với phiên bản SD 1.5 trước,với thông số setting sau đây

Kết quả chúng ta có

Đối với phiên bản SDXL, hãy thay đổi thêm 1 chút với nâng cấp mới từ Controlnet – tính năng “multi-inputs” cho phép tải lên nhiều nguyên mẫu. Ở đây mình lựa thêm 2 ảnh nữa của admin Kaikun và cũng crop phần khuôn mặt.
Chúng ta sẽ thêm input đầu vào với 2 ảnh nữa


Thử setting controlnet dưới đây (lưu ý phiên bản SDXL có resolution tối thiểu 1024 x 1024)

Chúng ta có kết quả

:three: Instant ID

Một số lưu ý khi sử dụng Instant ID: chỉ hoạt động với model SDXL; Sampling Steps và CFG tương đối thấp hơn so với bức ảnh trung bình. Ví dụ dưới đây chỉ rõ điều đó.

Khi set up controlnet cho Instant ID, nhất thiết phải dùng 2 controlnet, và thứ tự preprocessor là “instant_id_face_embedding”, model “ip-adapter_instant_id_sdxl”; tiếp đến là preprocessor là “instant_id_face_keypoints” và model “control_instant_id_sdxl”. Setup bạn có thể tham khảo dưới settings dưới đây:

Mẹo: Trường hợp chọn preprocessor rồi nhưng không thấy model hiện ra, hãy ấn nút refresh màu xanh :arrows_counterclockwise: . Hành động này sẽ show lại toàn bộ model để ta chọn.


)

Chúng ta có kết quả dưới đây

Tạm kết:

  • Reactor là một phương án rất nhanh và ổn định, có thể dùng với đa dạng model. Tuy nhiên kết quả tạo ra tái tạo lại một số đặc điểm gương mặt, chứ chưa có thể nói chính là admin Kaikun
  • Ip Adapter: Với bản SD 1.5 kết quả khá tệ, thì bản SDXL kết quả tốt hơn rất nhiều. Tuy nhiên biểu cảm gương mặt hơi đơ và ít biểu cảm
  • Instant ID: phương pháp sinh sau đẻ muộn đúng là có tiến bộ nhất định về dữ liệu, khuôn mặt có nhiều biểu cảm, khá ổn định và giống gương mặt gốc.

Việc tạo ảnh chân thật cũng phụ thuộc nhiều vào model, chất lượng đầu vào của ảnh, trong phạm vi bài viết chưa thể bao trùm hết tất cả trường hợp có thể xảy ra.

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

2 Likes