컴퓨터/Python

딥페이크, 얼굴 바꾸기: Faceswap 설치 및 사용법 (2)

sjblog 2020. 11. 12. 01:41
반응형

## Faceswap 보다 Facefusion 이용을 권장드립니다.

https://github.com/facefusion/facefusion

 

GitHub - facefusion/facefusion: Next generation face swapper and enhancer

Next generation face swapper and enhancer. Contribute to facefusion/facefusion development by creating an account on GitHub.

github.com

 

원클릭 설치를 원하실 경우 Pinokio를 이용해주세요.

https://pinokio.computer/item?uri=https://github.com/facefusion/facefusion-pinokio

 

Pinokio

AI Browser

pinokio.computer

 


 

 

 

 

 

sjblog1.tistory.com/33

 

딥페이크: Faceswap 설치 및 사용법 (1)

1. Anaconda 아나콘다 설치 Faceswap은 파이썬을 기반으로 실행되기 때문에 파이썬을 설치해야 합니다. 라이브러리 설치와 설치 과정에서 오류를 최소화하기 위해 아나콘다를 이용해봅시다. www.anacond

sjblog1.tistory.com

이전 글에서 Faceswap을 설치를 완료하였습니다.

 

1. 과정

아래의 설명은 예제로써 아주 간단히 Faceswap을 사용해보는 것에 의의를 두었습니다.

 

Faceswap의 딥페이크는 크게

 

Extract -> Train -> Convert

 

의 과정을 가집니다.

 

2. Extract

먼저, "바꿀" 그리고 "바뀔" 얼굴이 있는 동영상 2개를 준비합니다.

(즉, "바꿀" 얼굴을 "바뀔" 얼굴이 있는 동영상에  덮어 씌울 것입니다.)

(편의상 "바꿀"=1번, "바뀔"=2번 이라 하겠습니다.)

 

Data

Input Dir: 추출할 얼굴이 있는 동영상을 넣어줍니다.

Output Dir: 결과를 저장할 폴더를 지정해줍니다.

Alignments: 빈칸으로 둡니다.

 

Plugins

Cv2-Dnn

Cv2-Dnn

을 체크해줍시다.

 

이렇게, 1번 동영상과 2번 동영상을 각각 Extract 해줍니다.

단, Output Dir은 1번과 2번이 다른 경로로 저장해주어야 합니다.

 

Extract 결과로, 얼굴 사진이 추출 되는데 얼굴에 해당하지 않은 사진은 삭제해 줍니다.

 

※ cp949 오류

python에서 한글을 이용할 경우 발생합니다.

직접 코드를 수정해주기는 어렵기 때문에

파일의 경로나 파일의 이름이 한글인 경우 영어/숫자로 변경해주어야 합니다.

 

3. Train

Train을 실행하기 앞서,

 

Settings -> Configure Settings... -> Train -> Coverage

 

Coverage는 Train을 할 때, Train에 사용할(fed in) 얼굴의 영역을 지정합니다. 실제 바뀌는 얼굴의 영역과는 무관합니다.

비교적 자연스럽게 만들기 위하여 87.5를 입력해 줍니다.

 

Save 해줍니다.

 

Faces

Input A: 1번 동영상의 얼굴사진

Alignments A: Extract 결과로 나온 Alignments 1번 파일

Input B: 2번 동영상의 얼굴사진

Alignments B: Extract 결과로 나온 Alignments 2번 파일

 

Model

Model Dir: 결과를 저장할 폴더를 지정해줍니다.

 

Trainer

기본적으로 Original로 Training을 해봅시다.

 

※Train은 상당히 오랜 시간이 소요됩니다. Train 과정을 모두 기다릴 필요는 없으며 중간에 stop을 해도 저장이 되기 때문에 이후의 Convert 후 품질이 마음에 들지 않다면 다시 Train을 이어서 진행할 수 있습니다.

 

4. Convert

Data

Input Dir: 2번 동영상

Output Dir: 결과를 저장할 폴더를 지정해줍니다.

Alignments: Extract의 결과인 2번 동영상의 Alignments 파일

Reference Video: 빈칸으로 둡니다.

Model Dir: Train의 결과인 폴더를 지정해줍니다.

 

Writer

Ffmpeg를 선택해 줍니다.

 

Settings

Swap Model을 체크해 줍니다.

 

악의적 목적으로 사용할 경우 법적 제제를 받을 수 있습니다.

반응형