홍우진의 개발 일기장
Deepfake 생성을 위한 DeepFaceLab 간단 사용법 본문
이번 정리글은 팀 프로젝트 진행을 위하여
세부 설정 없이 가장 빠르고 단순히 여러개를 만들 수 있도록 실행하는 방법을 정리한 글이다.
세부적으로 건드리고 싶은 부분은 공식 사이트를 참고하길 바란다.
※ 딥페이크 기술을 악용하는것은 불법이다. 학습용으로만 사용하길 바란다.
사전 준비
1. DeepFaceLab 프로그램 다운로드
https://github.com/iperov/DeepFaceLab
위의 깃허브 사이트에서
메가 링크를 클릭하고
'DeepFaceLab_DirectX12' 를 다운받고 설치한다.
2. GPU 설정 변경
설정 - 시스템 - 디스플레이 - 그래픽 설정에서
하드웨어 가속 GPU 일정 예약을 켬 으로 바꾼다.
3. 그래픽카드 드라이버 변경
만약 엔비디아 그래픽카드를 사용한다면 GeForce Experience를 다운받은 후 그래픽카드 드라이버를 GameReady 드라이버에서 STUDIO 드라이버로 변경해야한다.
제작과정
1. 데이터 준비
workspace 폴더 안에 있는 예제 파일을 새로운 파일로 변경한다.
합성할 얼굴 동영상 = data_src
배경 얼굴 동영상 = data_dst
※ 데이터 준비 시 유의사항
1. 조명
- 조명 위치와 밝기, 부가적으로 영상의 색감이 어느 정도 통일되어야 한다.
2. 얼굴형
- 얼굴형이 비슷한 사람을 준비해야 결과물이 자연스럽다.
2. 이미지 추출
파일 두개를 실행한다.
엔터를 치면 기본값이 자동으로 설정 되기 때문에 계속 엔터를 치면 된다.
data_dst폴더와 data_src폴더 안에 프레임단위로 쪼개진 사진 파일이 저장된다.
3. src 이미지에서 얼굴 추출
data_src faceset extract를 실행하고 enter를 계속 누른다.
data_src/aligned 위치에 얼굴이 추출된 파일이 저장된다.
4. 추출한 얼굴 정렬
data_src sort를 실행하고 enter를 누른다.
기본값인 [5] histogram similarity가 선택된다.
data_src/aligned 위치에서 얼굴이 이상하게 추출된 사진이 없는지 확인한 후 제거한다.
• 선택사항
data_src util faceset enhance 실행.
퀄리티를 높이기 위한 요소이고 소요시간은 평균 20분이다.
5. faceset pack
data_src util faceset pack을 실행한 후 엔터.
6. dst 이미지에서 얼굴 추출
src에서 했던 방법대로 똑같이 한다.
data_dst faceset extract를 실행한 후 엔터.
7. 추출한 사진 정렬
data_dst sort를 실행한 후 엔터.
마찬가지로 기본값인 [5] histogram similarity가 선택된다.
8. faceset pack
data_dst util faceset pack을 실행한 후 엔터.
9. 학습
train Quick96을 실행한다.
Quick96 - 학습이 빠르지만 퀄리티가 살짝 낮다
실행한 후 엔터를 많이 누르면 학습이 진행된다.
s - 중간저장
p - 미리보기 업데이트
space - 미리보기 테마 변경
enter - 학습 종료
적당히 학습되었다 싶을 때 엔터를 누르고 종료하면 된다.
본인은 기본적으로 2~ 4시간 정도를 돌렸지만 밤새 돌리는 경우가 대부분이라고 한다.
10. merge
가장 중요한 과정이다.
merge Quick96을 실행한 후 엔터를 누르면 이런 화면이 뜬다.
여러가지 조절하면서 가장 자연스러운것을 찾으면 된다.
Tip - W,E 두 키로 어느정도 자연스럽게 만들 수 있다.
저장하고 나갈때는
이 단축키를 사용해야한다.
11. 영상 추출하기
마지막으로 merged to mp4를 실행하면 workspace 폴더에 파일이 저장된다.
'머신러닝 & 딥러닝' 카테고리의 다른 글
DeepFakeLive 사용법과 DeepFaceLab 학습 모델 적용법 (11) | 2023.03.03 |
---|