* Deepfake가 날이 갈수록 이슈가 되면서 학술적으로는 어떤 모델이 있는지 알아보기 위해 서베이 논문을 읽고,

관심분야만 요약 및 약간의 설명을 추가하여 정리한 글이다.

 

deepfake 기술을 이용해 합성한 사진_(출처 - https://www.youtube.com/watch?v=iDM69UEyM3w) 

 


[DeepFakes and Beyond: A Survey of Face Manipulation and Fake Detection (ArXiv, 2020)] 

: 위 논문은 2020년 1월 ArXiv에 등재된 논문으로, Deepfake와 관련된 task를 Face Manipulation이라고 명명한 후,

관련내용을 크게 7가지 항목으로 나누어 다루고 있다. 

 

0. Abstraction

1. Introduction

2. Types of Facial Manipulations

3. Entire Face Synthesis

4. Identity Swap

5. Attribute Manipulation

6. Expression Swap

7. Other Face Manipulation Directions

 

2번 항목에서 Face Manipulation의 네 종류에 대한 간략한 소개를 하고 각 3,4,5,6번 항목에서 이를 자세히 다룬다.

(본 글에서는 최대한 초보자의 입장에서 0~2번을 정리하고 후속글로 4. Identity Swap에 대한 자세한 기술을 할 예정)


0. Abstract

 공공 데이터셋의 접근성이 좋아짐과 동시에 GAN(Generative Adversarial Networks)과 같은 딥러닝 기술들이 빠르게 발전함에 따라 상당히 자연스러운 fake 컨텐츠들이 생성된다. 본 서베이 논문은 Deepfake 관련 기술을 네 가지로 나누어 그 생성과 감지 기술을 각각 조사했다. 그 네가지 항목은 아래와 같다

   

    1) Entire Face synthesis

    2) Identity Swap(DeepFakes)

    3) Attribute Manipulation

    4) Expression Swap 


1. Introduction

  - deepfakes의 어원 ?

: 우선 deepfake의 정의는 간략하게 딥러닝 기반의 기술로 한 사람의 얼굴을 다른 사람의 얼굴로 바꾸어 fake 비디오/사진을 만드는 것이다. 그 어원은, 2017reddit의 "deepfakes"라는 유저가 딥러닝 기술을 이용해서 유명 연예인의 얼굴을 포르노 영상에 합성할 수 있다고 주장하는 글이 올라와 관심을 받으면서 유저의 이름에서 비롯된 것으로 본다. 그 뒤 금융사기, 가짜 뉴스 등 여러 유해한 용도로 기술이 사용되면서 이에 대한 연구 목적의 관심 역시 증가했다. deepfakes 생성 기술이 연구 주제로서 관심을 받기 시작하면서 역으로 그 탐지기술도 주목을 받아 MFC(Media Forensics Challenge)2018, DFDC(DeepFake Detection Challenge) 등의 챌린지대회가 열렸다. 


2. Types of Facial Manipulations

Facial Manipulation은 얼굴이 바뀌는 정도 (level of manipulation)에 따라 네 가지 task로 나눌 수 있다. 

 

    1) Entire Face synthesis          - 얼굴 생성 

    2) Identity Swap(DeepFakes)    - 얼굴 교체 

    3) Attribute Manipulation        - 얼굴 속성 변경

    4) Expression Swap                - 표정 변경


 1) Entire Face synthesis [얼굴 생성]

*출처 : DeepFakes and Beyond: A Survey of Face Manipulation and Fake Detection

: 존재하지 않는 얼굴을 존재하는 것처럼 생성해내는 기술. 대표적으로 StyleGAN 과 같은 powerful한 GAN으로 생성한다. 위의 예시 사진 역시 StyleGAN을 이용하여 생성한 예시이며, 여러 장의 사람 얼굴 사진을 먼저 저차원의 벡터로 mapping한 다음 다시 고차원의 이미지로 복원하는 과정을 반복하여 학습한다. 검증 단계 (생성 단계)에서는 임의의 noise 벡터를 주어서 사람의 얼굴로 복원해낼 수 있는지를 확인한다. 


 2) Identity Swap [얼굴 교체]

*출처 : DeepFakes and Beyond: A Survey of Face Manipulation and Fake Detection

: Face Swap 이라고도 불린다. Source 얼굴과 Target 얼굴의 사진을 여러 장 가지고 Autoencoder와 같은 구조로 학습 한 후 Source 이미지의 얼굴을 Target 이미지의 얼굴로 교체하는 task이다.  전통적인 Computer graphics를 응용해서 하는 방법과, Deep Learning을 응용해서 하는 방법으로 나뉜다.  본 글 상단에 아이언맨 영상에 톰크루즈를 합성한 이미지가 이것과 같은 Faceswap의 결과물이다. 

 

(예시 : Tom Cruise as a Iron man - https://www.youtube.com/watch?v=iDM69UEyM3w)

 


 

 3) Attribute Manipulation [얼굴 속성 변경]

*출처 : DeepFakes and Beyond: A Survey of Face Manipulation and Fake Detection

: Face editing 혹은 face Retouching 이라고도 불린다. 머리 색, 피부 색, 머리 스타일, 나이, 안경착용 여부 등등 다양한 얼굴의 한 속성을 변경하는 task이다. StyleGAN2나 StarGAN등의 GAN 모델을 대표적인 예시로 들 수 있다. 엄밀히 말하자면 StyleGAN2는 source 이미지를 입력으로 받는 것이 아니라 Entire Face synthesis와 같이 존재하지 않는 얼굴을 생성하는 과정에서 latent vector(or noise vector)에 약간의 변형을 줘서 다른 속성의 얼굴을 생성하는 방식이다. 


  

4) Expression Swap [표정 변경]

*출처 : DeepFakes and Beyond: A Survey of Face Manipulation and Fake Detection

:  face reenactment라고도 불린다. Source 이미지와 Target이미지로 학습 시킨 후에 Source 이미지의 특성을 전부 유지하되, Target이 짓던 표정으로 바꾸는 task이다. Face swap과의 차이를 말하자면, Face swap은 target 인물의 생김새와 source 이미지의 표정을 합성하고 Expression swap은 source 인물의 생김새에 target 이미지의 표정을 입히는 방식이다. 대표적인 방법으로 Face2Face등이 있다.  

+ Recent posts