## Faceswap 보다 Facefusion 이용을 권장드립니다.
https://github.com/facefusion/facefusion
원클릭 설치를 원하실 경우 Pinokio를 이용해주세요.
https://pinokio.computer/item?uri=https://github.com/facefusion/facefusion-pinokio
이전 글에서 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을 체크해 줍니다.
악의적 목적으로 사용할 경우 법적 제제를 받을 수 있습니다.
'컴퓨터 > Python' 카테고리의 다른 글
[Python] 파이썬, 투자할 주식 종목 자동으로 추려보자! (0) | 2021.11.22 |
---|---|
[Python] 파이썬, HTML로 카카오맵 api 해상도 높은 큰 지도 만들기 (0) | 2021.11.18 |
[Python] 파이썬, 로컬 서버 localhost 간단하게 만들기(터미널, 코드) (0) | 2021.11.13 |
딥페이크, 얼굴 바꾸기: Faceswap 설치 및 사용법 (1) (4) | 2020.11.12 |
[Python] 파이썬, 웹 크롤링: Selenium, BeautifulSoup 데이터 수집 (0) | 2020.10.31 |