본문 바로가기

인공지능 연구소/DeepFaceLab

딥페이크(DeepFake)의 원리 / DeepFaceLab 소개




딥페이크(DeepFake)의 의미는 사진과 비디오의 얼굴을 인식하고, 이를 다른 얼굴로 바꾸는 심층적인 Trainning 과정을 거쳐 얼굴을 바꿀 수 있는 소프트웨어를 말한다.


여기서 말하는 Training 과정은  일반적으로 생각하는 것처럼 얼굴 X의 데이터를 쪼개 얼굴 Y의 자리에 대체하는 것이 아니다. 


Training 이란, 인공지능이 얼굴 이미지를 나름대로의 부위별로 분해해서 다시 원본 이미지에 가깝게 재조립하는 과정을 반복하는 과정이다.



X의 데이터를 쪼개서 파편화하고다시  X로 복원하여, 원본보다는 조금 떨어진 X'의 얼굴 데이터를 만들고, Y 또한 같은 학습과정으로 Y'의 데이터를 만든다.



분해와 재결합을 통해 학습하는 인공지능



얼굴 데이터를 쪼개는 과정은 단 Encoder 하나로 경험을 계속 축적해 나가며, 얼굴 데이터를 다시 원본으로 되돌리는 작업은 X와 Y의 Decoder가 학습한다.


이 단계는 한 번에 그치는 것이 아니라, 오차를 계속 겪어가면서 끊임없이 시도한다.

길면 길수록 '쪼개진 데이터'를 원본에 가깝게 복원될 수록 딥페이크(DeepFake) 인공지능은 숙련된 경험을 쌓게 된다. 



출처 : UTFPR대학 논문 "STACKED DENOISING / CONVOLUTIONAL AUTO ENCODERS"



이쯤 되면 어떻게 얼굴을 바꿀 것인가 짐작될 것이다. X의 얼굴 데이터를 Y의 Decoder를 사용하는 것이다.


X의 데이터를 Y의 얼굴을 조립하는 방법을 알고있는 Y의 Decoder로 넘기게 되면, X의  데이터(얼굴 구성 요소)가 Y의 얼굴 자리에 위치하게 되는 것이다.


트럼프가 케이지로 변하다. (출처 = deepfacelab)




쉽게 설명하려고 비전문적인 단어를 선택했지만 더 심층있게 이해하려면 구글링으로 관련 문서를 찾아보길 추천한다. 


*관련 과학 뉴스(영문) :  https://www.kdnuggets.com/2018/03/exploring-deepfakes.html/2


*관련 학술지(영문) : https://www.scip.ch/en/?labs.20181004





본론부터 말하자면 DeepFaceLab는 어렵다.


단순히 작업하기 어려운 소프트웨어라는 말이 아니다. DeepFaceLab는 너무 다양한 기능을 제공하고 있어서 모두 활용하기가 어렵다. 모두 활용하기 위해서는 딥페이크(DeepFake)에서 사용하고 있는 이미지 기법들을 모두 이해하고 있어야 하기 때문이다.



딥페이크(DeepFake) 관련 작업 소프트웨어는 많다. 대부분은 GUI를 제공하고 있어서, 사용자가 클릭 몇 번으로 작업을 진행할 수 있는 직관성이 있다. 다른 예로, 딥페이크(DeepFake)의 대표적인 GUI 소프트웨어인 FakeApp은 A,B데이터들의 디렉토리 Path나, 작업할 PC에 맞는 설정값을 몇 개를 수정하면 Trainnig이 시작된다.


DeepFaceLab 소프트웨어는 시작부터 남다르다.  DeepFaceLab는 딱히 실행 파일이 없다. 사용자가 딥페이크(DeepFake) 원리 쯤은 어느정도 파악한 사용자라고 가정하고 제공한 소프트웨어이다.


일단, 이 소프트웨어로 작업을 하려면, 설정을 위해 수 많은 검은 화면을 봐야 한다. 

하나의 프로그램이 아닌, 여러 설정을 위한 명령어 스크립트(bat파일)를 실행하여 설정해야 하기 때문이다.



- 얼굴을 어떤 방식으로 인식하여 추출할 것인가?


- 인식하여 추출된 얼굴 이미지를 어떤 기준으로 재정렬(rename)할 것인가? 


- 어떤 인코더/디코더를 사용할 것인가?

이 외에도 여러가지 설정값을 조정할 수 있는데, 이에 대한 상세한 가이드는 따로 포스팅 할 예정이다.

DeepFaceLab은 기본은 Windows 기반 스크립트로 개발되었기 때문에, 운영체제는 Windows에 한정된다. (이외의 운영체제에서 작업하고 싶다면 여기 를 클릭)

중요한 점은 GeForce Driver 가 필수이다. 당연히 그래픽카드는 GeForce 계열 이어야 한다.
앱 다운로드 링크는 아래를 참고하도록 하자.



DeepFaceLab 앱 다운로드 


- Windows 7, 8, 8.1, 10 가능
- GeForce Drivers 최신 업데이트

DeepFaceLab은 현재 메가 링크로 제공되고 있다. 



DeepFaceLab의 개발 코드를 보거나 개발자를 후원하려면 여기 를 클릭




다음 포스팅 에서는 DeepFaceLab 사용 방법에 대해서 알아본다.


'인공지능 연구소 > DeepFaceLab' 카테고리의 다른 글

DeepFaceLab 설치 방법  (0) 2019.02.01