스테이블 디퓨전(Stable Diffusion)을 통해 face swap(얼굴 교체) 방법

스테이블 디퓨전으로 이미지 얼굴 변경에 대해 알고 싶으시다면 이 글을 확인해야 합니다. 이 글은 스테이블 디퓨전을 이용해서 이미지의 얼굴을 변경을 도와주는 확장 프로그램이 있습니다. faceswap 도구와 사용 방법을 알려드리겠습니다.

face swap 도구인 Reactor 란?

Face Swap을 하기 위해서는 ‘Reactor’ 확장 도구가 필요합니다. Raactor는 얼굴 교체를 수행하기 위해 설계된 확장 도구이며, webui와 통합해서 사용자가 다양한 고급 설정을 이용해서 섬세한 얼굴 교체를 할 수 있도록 하는 강력한 도구입니다.

주의사항

Face Swap의 Reactor 도구는 얼굴을 인식하고 교체 할 수 있는 강력한 도구 입니다. 해당 기능을 이용하여 악용하지 마시길 바랍니다.

Reactor 설치 방법

Visual studio 설치

Step 1. 우선 visual studio를 설치를 합니다. 하단의 버튼을 선택해서 ‘커뮤니티 무료 다운로드’ 선택해서 설치 파일을 받습니다.

visual-studio-2022-설치-파일-다운로드

Step 2. 다운 받은 visualStudioSetup.exe 파일을 실행하면 visual studio 설치 관리자를 가지고 오기 위해 다운로드 및 설치 됩니다.

visual-studio-installer-설치-관리자-준비

Step 3. visual studio community 2022 설치 화면을 볼 수 있습니다. 여기서 필수로 설치해야 하는 도구가 있습니다.
Pytthon 개발, C++를 사용한 데스크톱 개발, Visual Studio 확장 개발 3가지를 선택해서 ‘설치’ 선택합니다.

visual-studio-설치-목록

Step 4. 설치 완료되면 컴퓨터 재부팅해주세요.

visual-studio-설치-중
설치중..
visual-studio-설치-완료
설치 완료

Reactor 설치

Step 1. webui 배치 파일(run.bat 또는 webui-user.bat)을 통해 스테이블 디퓨전을 켜줍니다.

Step 2. ① Extensions 탭을 선택하고 ② Available 탭을 선택합니다. Load from:을 선택하면 다양한 확장 도구를 확인 할 수 있습니다. ③ 검색 란에 ‘reactor’ 키워드로 검색하면 ‘ReActor editing, manipulations’ 확장 도구를 볼 수 있습니다. ④ Install 선택해주세요.

reactor-설치-방법

Step 3. ① Installed 탭으로 가서 테이블에 있는 확장 프로그램 ②체크 박스에 체크 유무 확인 하여 체크 되어 있지 않다면 체크 바랍니다. ③ 체크된 확장 테이블 대상으로 check for updates 진행 후 ④ Apply and restart UI를 선택하면 스테이블 디퓨전 webui가 다시 실행 될 것입니다.

reactor-업데이트-체크-및-다시-시작

Reactor 이용 방법

txt2img swap

Reactor을 설치하고 다시 webui를 실행 했다면 txt2img 탭에 보지 못한 reactor 도구가 생긴 것을 볼 수 있습니다. 저는 이미지를 원더우먼의 갈 가도트 얼굴을 face swap 해보겠습니다.

Reactor-사용-방법

Step 1. ① single source Image에서 face swap할 대상 이미지 파일을 ② 끌어 놓거나, 클릭해서 이미지를 ③선택합니다. 생성한 이미지와 생성한 이미지의 face swap 이미지를 비교하기 위해 save Original을 선택해주세요.

갈-가도트-페이스-스왑

Step 2. 프롬프트와 부정 프롬프트를 넣은 후 생성을 선택합니다.

1girl,Leggings,white background,
Negative prompt: (worst quality:2),(low quality:2),(normal quality:2),lowres,watermark,
Steps: 30
Sampler: DPM++ 2M
Schedule type: Karras
CFG scale: 12
Seed: 2228031010
Size: 512x768
Model hash: 7c819b6d13
Model: majicmixRealistic_v7
Variation seed: 3838486484
Variation seed strength: 0.12
Clip skip: 3
Downcast alphas_cumprod: True
Version: v1.9.3
face-swap-txt2img-생성

생성된 결과

하단 이미지를 비교해보세요. 기존에 생성한 좌측 얼굴에 갈 가도트 얼굴이 스왑 된 모습을 볼 수 있습니다.

VAE-Image
일반 생성된 이미지
00029-2228031010-swapped
갈 가도트 face swap 이미지

img2img swap

이미지 to 이미지의 reactor은 원본 이미지에 원하는 얼굴로 변경 작업을 할 수 있는 공간입니다.

step 1. img2img batch에 원하는 이미지를 끌어 놓거나 클릭해서 파일을 업로드 합니다.

img2img-변경할-이미지-넣기

Step 2. batch에 등록한 이미지와 동일한 사이즈를 맞춰 주기 위해서 resizw to 탭의 보이는 삼각형을 선택해주세요.
※ width와 height의 값이 너무 크면 해상도가 올라 가는 것이니 resize by 탬에 에 ‘1’로 설정 된 것을 ‘0.5’로 설정 하거나 그 이하로 수정해주세요.

img2img-원본-이미지와-동일한-사이즈-설정

Step 3. 스크롤 바를 아래로 내리면 reactor 도구가 있으며 선택하고 위에 올린 이미지 얼굴을 변경할 이미지를 선택합니다. Denoising strength은 얼굴을 변경할 것이기 때문에 ‘0.1’로 설정하고 상단으로 올라가서 Gennrate을 누릅니다.

img2img img swap 설정

생성 결과

face swap 한 결과를 하단 이미지를 통해 볼 수 있습니다.

운동-컨셉-이미지
변경 하기 전
갈-가도트-운동-컵셉-이미지
변경 후

마치며

잘 따라 하셨나요? 이처럼 원하는 얼굴을 변경하여 이미지를 생성 할 수 있는 강력한 도구 중 확장 프로그램인 Reactor에 대해 알아보았습니다. 잘 되지 않는 곳이 있다면 댓글 달아 주세요. 추가 전달 내용이 있다면 글을 수정하겠습니다.

추천링크

4 thoughts on “스테이블 디퓨전(Stable Diffusion)을 통해 face swap(얼굴 교체) 방법”

Leave a Comment