DeepFake 영상합성
-
DeepFake FakeApp 영상합성 4 완성DeepFake 영상합성 2018. 2. 9. 20:34
학습된 모델으로 영상을 만드는 마지막 과정입니다.Model에는 위에서 학습한 Model의 경로, Data 에는 Data_A의 경로를 입력해 준 후 Start 합니다. Data_A 폴더 내부에 merged 폴더가 생겼고 그 안에 합성된 이미지가 생기는 것들을 보실 수 있으실 겁니다.Merged 폴더에는 얼굴이 있는 영상만 있기 때문에 merged 폴더에 있는 사진들을 모두 Data_A 경로로 덮어쓰기 해 줍니다.Data_A 폴더에 ffmpeg파일을 붙여넣기 한 후 Power Shell을 실행합니다. ffmpeg -f image2 -r 29.97 -i out%d.png -vcodec libx264 out.mp4Power Shell에 다음 명령어를 붙여 넣습니다.위의 굵은 글씨는 원본 영상 A의 프레임입니다...
-
DeepFake FakeApp 영상합성 3 학습DeepFake 영상합성 2018. 2. 9. 20:24
얼굴 추출이 모두 끝났다면 추출된 얼굴들로 기계학습을 시작합니다.데이터의 정확성을 위해서 aligned 폴더 내에 얼굴이 아닌 사진이나, 얼굴이 가려진 사진이 있을 경우 지워줍니다.그 후 FakeApp 폴더 내의 Model 폴더, Data_A폴더 내 align 폴더 Data_B폴더 내 align폴더를 지정한 후 Start 버튼을 눌러줍니다.1050 이하의 그래픽카드 (VRAM 2GB 이하)를 사용하시는 분은 GPU학습이 불가합니다. 만약 학습중 프로그램이 갑자기 종료된다면 메모리 부족일 가능성이 크니Batch Size를 64 → 32Sava Period를 100 → 32Nodes를 512 → 256로 변경해 줍니다. 학습을 하다 보면 콘솔의 값이 0으로 수렴하는 것을 보실 수 있습니다.0에 가까워질수록 ..
-
DeepFake FakeApp 영상합성 2 영상 자르기와 얼굴 추출DeepFake 영상합성 2018. 2. 9. 20:13
Ffmpeg의 압축을 풀게 되면 다음과 같은 파일이 나옵니다.프로젝트 중 자주 사용하게 되므로 Ffmpeg.exe를 fakeapp 폴더로 옮겨둡니다. 동영상 A에 B의 얼굴을 붙여넣는 방식입니다.합성할 동영상 두 편을 준비해 Data_A, Data_B 폴더로 옮겨줍니다.그 후 shift + 우클릭 으로 Power Shell을 실행합니다. 동영상파일에서 우클릭 → 속성 → 자세히 를 통해 프레임을 알아낸 후 ffmpeg -i DataA.mp4 -vf fps=23.98 "out%d.png"다음 명령어를 입력하여 동영상을 프레임별로 자릅니다.굵은 텍스트는 사용자 환경에 따라 달라지는 값입니다. Data_B 폴더의 영상도 마찬가지로 잘라줍니다. 이 때 동일 인물 영상 여러 개를 자른 후 추가 하셔도 됩니다. 자..
-
DeepFake FakeApp 영상합성 1 기본 환경 세팅DeepFake 영상합성 2018. 2. 9. 20:10
영상합성에 앞서 필요한 준비물 FakeApp 프로그램 - 필수 CUDA Toolkit 8.0 - 필수 VRAM 3GB 이상의 엔비디아 그래픽카드 ( 1050ti 이상) - 선택 Ffmpeg - 필수 https://developer.nvidia.com/cuda-80-ga2-download-archive 먼저 NVIDIA 홈페이지에서 자신의 시스템과 맞는 CUDA Toolkit 8.0을 다운받습니다. 보통 설치 시 환경변수가 설정되지만 그렇지 않은 경우를 위해 환경변수를 추가해줍니다. (벌써 추가되어 있다면 건너뛰어도 무방합니다.) C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin C:\Program Files\NVIDIA GPU Computing T..