본문 바로가기

논문 리뷰

DeepFakes and Beyond: A Survey of Face Manipulation and Fake Detection

* 본 글의 모든 그림은 논문의 본문에서 가져왔습니다.

 

AI Expo 후기글에서 언급했듯이, 딥페이크 기술에 대해 제대로 알아보고자 하는 마음이 항상 있었다. 여름방학을 이용해 Dalc에서 논문리뷰 스터디를 진행한다고 하여, 좋은 기회라 생각이 되어 참여하였다. 첫 리뷰는 평소에 관심 있었던 딥페이크 관련 논문을 이용해 진행하였다.

 

논문은 이 곳에서 다운 받았다. 

출처 : https://paperswithcode.com/paper/deepfakes-and-beyond-a-survey-of-face

 

Papers with Code - DeepFakes and Beyond: A Survey of Face Manipulation and Fake Detection

Implemented in one code library.

paperswithcode.com


1. 서론

Deepfake에 대해 간략하게 말해보자면, 인공지능을 기반으로 한 인간 이미지 합성 기술로, GAN(Generative Adversarial Networks; 생성적 적대 신경망)이라는 기계학습을 이용한 것이다. 기존의 사진이나 영상을 원본이 되는 사진이나 영상에 겹쳐서 만들어 낸다고 한다.

 

어원

"DeepFake"라는 용어는 2017년 Reddit이란 사이트에서 "deepfakes"라는 이름의 사용자가 본인이 포르노 비디오에 연예인 얼굴들로 바꿀 수 있는 머신러닝 알고리즘을 개발했다고 주장하면서 유래되었다고 한다.

 

얼굴 조작(Facial manipulation)의 과거와 현재

과거에는 얼굴 조작을 하기 위해선 정교한 편집 툴의 부족, 도메인 전문지식의 필요성, 그리고 복잡하고 시간이 많이 소요되는 과정이 소요되었다. 반면 현재는 공공데이터의 접근성이 늘어났고, 기술이 진화하여  수동 작업을 없애주었다고 한다. 관련된 알고리즘은 AE(AutoEncoders)과 Generative Adversarial Network(GAN)을 보면 될 것 같다. 


2. 내용

얼굴 조작의 유형

얼굴 조작기법은 크게 4개로 분류될 수 있다. (위 사진 참고)

 

* 전체 얼굴 합성(Entire Face Synthesis)

  - 존재하지 않는 얼굴 이미지 전체를 만들어 내는 것

  - GAN 사용, 최근에는 StyleGAN 사용

  - 활용 분야 : 게임, 3D

  - 악용 사례 : 매우 현실적인 페이크(가짜) 프로필 생성

 

* 특징 바꾸기(Identity Swap)

  - 한 사람의 얼굴을 다른 사람으로 대체 시키는 것

  - FaceSwap과 같은 고전적인 컴퓨터 그래픽 기반의 기술/DeepFake라고 알려진 딥러닝/ZAO라는 모바일 어플을 이용하여 이루어짐

  - 활용 분야 : 다양한 분야에서 사용되어지지만, 특히 필름(영화) 산업에서 많이 이루어짐

  - 약용 사례 : 유명인의 포르노 비디오 등에 쓰일 수 있음

 

* 속성 조작(Attribute Manipulation)

  - 얼굴 수정(face editing, face retouching)이라고도 알려짐

  - 얼굴의 특징, 예를 들면 머리나 피부, 성별, 나이, 안경 착용 여부 등을 바꾸는 작업

  - GAN, 특히 StarGAN을 통해 조작이 이루어짐

  - 활용 분야 : 인기있는 FaceApp 모바일 어플, 구매자들이 화장품이나 안경, 머리스타일을 바꾸기 전에 가상 환경에서 미리 체험해 볼 수 있는 기술로 쓰임

 

 

* 표정/표현 바꾸기(Expression Swap)

  - 얼굴 재현(재연, face reenactment)이라고도 불림

  - 얼굴 표정을 수정하는 작업을 의미

  - GAN 구조를 사용

  - Face2Face아 Neural Textures와 같은 가장 널리 사용되는 기술 사용


각 항목별 연구시도 및 요소 변화

Entire Face Synthesis

- GAN 구조에 기반을 둔 ProGAN과 StyleGAN 사용

- CelebA, FFHQ, CASIA-WebFace, 100K-Faces 등과 같은 dataset 사용

- 조작 감지 연구 및 가설 설명

- iFakeFaceDB라는 공공 데이터베이스를 사용한 것이 가장 최적의 조작 탐지기로 밝혀짐(EER=4.5%)

- 가짜 탐지 접근은 널리 사용되는 Xception 네트워크와 Autoenocder 접근 방식인 ForensicTransfer을 기반으로 진행됨

 


 

Identity Swap

- Entire face synthesis manipulation(전체 얼굴 합성 조작)은 이미지 단계에서 적용되는 반면, Identity swap(특징 바꾸기)는 현실적인 가짜 비디오를 생성해 내는 것이 목표

- FaceForensics++,UADFV, Celeb-DF, DFDC 등의 데이터셋을 사용

Identity Swap의 1세대와 2세대

- 1세대와 2세대의 가장 다른 점은 가짜 데이터베이스의 차이

- fake video의 1세대 특징 :

        1. 합성된 얼굴의 낮은 퀄리티

        2. 합성된 얼굴과 원래 얼굴의 색 대비

        3. 가짜 얼굴에 보이는 경계

        4. 원본 비디오에서 보이는 얼굴 요소들

        5. 포즈 변화가 낮음

        6. 순차적 프레임들 간에 어색한 인위적 요소들

- fake video의 2세대 특징 :

        1. 1세대의 특징 중 대다수가 향상된 모습을 보임

        2. 시각적 수준 뿐만 아니라 변동성에서도 향상된 모습을 보임

- 감지 연구는 초반에는 시청각을 기반으로 진행

        * 입술 움직임과 음성 대화 사이의 불일치

- MFCCs(Mel-Frequency Cepstral Coefficients) : 시각적 특징에서 입과 오디오 특징의 거리 측정

- PCA(Principal Component Analysis) : 특징과 블럭의 차원 감소시키기 위해 사용

- RNNs(Recurrent Neural Networks) : LSTM(Long Short Term Memory) 기반으로, 페이크 비디오를 감지함

 

- 이 유형에서는 많고 다른 접근이 이루어졌으나, 보이지 않는 데이터베이스에 대한 결과는 좋지 않은 것으로 나타남


Attribute Manipulation

- 이 유형의 조작은 GAN 기반으로 진행되며, 얼굴의 몇 특성들, 예를 들면 머리나 피부, 성별, 나이, 안경 착용 유무 등을 바꾸는 작업을 의미

- GAN > IcGAN(Invertivble Conditional GAN) > StarGAN > attGAN > STGAN 순으로 접근이 이루어짐

 

- 속성 조작 감지 시스템은 딥러닝 기술을 사용하는데, 일반적으로 100% 정확도에 가까울 정도로 좋은 결과를 줌(위의 표 참고)


Expression Swap

- 사람의 얼굴 표정을 바꾸는 작업을 의미

- Face2Face, NeuralTextures와 같은 대중적인 기술이 있음

- FaceForensics++과 같은 데이터베이스 존재

 

- 대부분의 identity swap에서 쓰인 감지 방법과 흡사함


Other Face Manipulation Directions

- Face Morphing, Face De-Identification, Audio-to-Video and Text-to-Video 등에 관해 논함

 

 

더보기

딥페이크에 관련해서 제대로 알게 된 좋은 기회가 되었다. 대신에 사용한 각 알고리즘들은 한두번 정도 더 봐야 이해가 될 것 같다. (대충 각 분야에선 어떤 알고리즘이 성능이 좋게 나왔다는 것만 파악하고 지나간 것들이 대부분이기 때문)

 

그리고 출처 링크를 타고 가면 github 링크도 보일 텐데, 이 논문을 토대로 만든건지, 혹은 프로그램을 만들고 이 논문을 냈는지는 확인을 못했지만, github에 faceswap이라는 프로그램 소스코드와 설치 방법이 설명되어 있다. 내 컴퓨터에는 GPU가 탑재되어있지 않아, 최적화된 환경이 아니라 그런가 계속 오류가 나서 설치 방법을 봤는데도 제대로 실행해보지 못해 아쉬웠다.

논문에서도 리드미에서도 반복된 내용이지만, 올바른 윤리의식이 뒷받침되어지지 않는다면 이 기술은 deepfake라는 유저가 주장한 것 처럼 악용되어질 것이다. 뭐 이미 구글링해보니 악용되고 있지만 말이다.

 

하지만 논문에서도 알 수 있듯이, 페이크 이미지나 비디오를 확인하기 위한 노력과 기술은 계속 개발되고 있다. 이런 노력을 하는 사람들이 있기에 그나마 위안을 얻는 것 같다.

 

흥미로워서 읽게 된 논문이었지만, 생각할 것이 많았고, 윤리의식에 한번 더 생각을 하게끔 하는 내용이 아니었나 싶다.

하지만 아쉬웠던 것은, 처음부터 너무 어려운 논문을 택한 것 같기도 하다. 논문분석 스터디를 같이 진행하고 있는 다른 팀원들은 github에 올라와있는 코드를 통해 실습을 조금이라도 했지만, 나같은 경우는 한 프로그램 코드라서 실습하기에는 무리가 있다고 판단돼 소스 분석을 하는데에 그쳤다. 다음에는 소스코드를 먼저 파악하고 논문을 골라야할 것 같다.

 

사담이 많았지만, 이상으로 이번 논문 리뷰를 마치겠다.

 

* 첫 논문 리뷰라 많이 미흡하고 번역도 미숙한게 많아 보인다. 피드백은 환영합니다.