[기술 소개]얼굴변환(1)

딥페이크로 잘 알려진 ‘얼굴변환 기술’에 대해 알아보자!

이구행
KLleon
8 min readApr 29, 2022

--

Authors : 이구행, 신준혁, 윤성준

들어가며

[유튜브 The Telegraph https://www.youtube.com/watch?v=X17yrEV5sl4]

위 영상을 보면 우크라이나 대통령 볼로디미르 젤렌스키가 ’항복한다’고 말하고 있습니다.

그렇다면 이제 전쟁이 끝난 걸까요?

안타깝게도 이는 사실이 아닙니다. 이 영상은 딥페이크라는 기술을 이용해 만들어진 가짜 영상입니다.

과연 이 딥페이크라는 기술은 어떤 기술일까요?

딥페이크(Deepfake)는 딥러닝(deep learning)과 페이크(fake)의 합성어로 인공지능 기술인 GAN을 기반으로 한 이미지 합성 기술입니다.

딥페이크는 DeepFaceLab, Faceswap 등의 오픈 소스 형태로 많이 배포되었으며, 기술이 고도화됨에 따라 점차 진짜와 가짜를 구분하기 어려운 수준까지도 발전하게 되었습니다. 안타깝게도 음란물, 거짓 정보 유포 등 악용 사례로 인해 ‘딥페이크’ 자체가 부정적인 것이라고 인식되기도 합니다.

악용 사례에 가려져 잘 알려지지 않았지만 최근 딥페이크 기술은 교육, 영화 및 엔터테인먼트 등 다양한 분야에서의 긍정적으로 활용되고 있기도 한데요.

아래 본론에서 양날의 검이 될 수 있는 이 딥페이크라는 기술에 대해 더 자세하게 알아보도록 하겠습니다.

딥페이크란?

2021년 10월 GitHub에 소개된 DeepFaceLive의 소개 사진. 얼굴 인식, 정렬, 생성, 합성을 동시에 빠르게 진행하여 웹캠을 이용한 실시간 변환이 목표라고 한다 — [https://github.com/iperov/DeepFaceLive]

딥페이크는 2017년 처음 생긴 용어로, 미국의 온라인 커뮤니티에서 유명 연예인을 합성한 영상으로부터 유래되었습니다.

딥페이크 기술을 세 단계로 간략히 설명하자면 사진이나 영상 속 얼굴을 인식하는 얼굴 인식, 인식한 얼굴을 토대로 한 얼굴 생성, 생성된 얼굴을 붙여 넣는 순서로 진행됩니다.

이 세 단계의 상세한 과정을 알아보겠습니다.

얼굴 인식 기술을 통해 인식된 detection(파란상자), landmark(초록선), aligning(빨간상자) 결과를 확인할 수 있다 — [클레온]

1.얼굴 인식

얼굴 인식 기술은 학습에 필요한 데이터 수집을 위해 필요한 기초 기술입니다.

이미지에서 얼굴의 위치, 얼굴의 크기, 얼굴의 영역 등을 구하기 위해 얼굴 인식 모델을 사용합니다. 이 정보들은 나중에 생성된 얼굴을 변환할 영상의 얼굴 부분에 어긋나지 않게 붙여 넣을 때도 필요하기 때문에, 이 과정이 잘 진행되지 않으면 좋은 얼굴 변환 결과를 기대하기 어렵습니다.

얼굴 생성 모델이 자연스러운 얼굴을 생성하기 위해서는 얼굴 이미지의 숫자가 많은 것도 중요하지만, 이렇게 모은 이미지들이 최대한 다양한 특성을 갖는 것이 중요합니다. 얼굴 각도, 표정, 빛의 색감과 방향이 다양한지, 해상도가 충분히 높은지 유의하며 얼굴 데이터를 수집하는 것이 좋습니다.

2.얼굴 생성

얼굴 인식을 통해 데이터 수집이 완료되면 이제 얼굴을 생성할 모델을 학습해야 합니다.

붙여 넣을 얼굴을 source(Src) 얼굴, 변환할 원본 영상의 얼굴을 destination(Dst) 얼굴이라고 할 때, 눈코입 등의 얼굴 특성은 Src 얼굴에 맞지만 얼굴의 각도나 표정 등은 Dst 얼굴에 맞는 새로운 얼굴을 생성하는 목적을 갖고 있습니다.

Face generation 모델의 한 예 — [arXiv:1905.08233]

얼굴 생성 모델은 크게 Encoder, Feature selection(mixing) layer, Decoder의 세 가지 부분으로 나눌 수 있습니다.

이미지가 처음 입력되는 Encoder는 얼굴 이미지에서 얼굴의 각도, 표정, 색깔, 머리의 모양과 같은 특성들을 내포한 Feature map을 추출하게 됩니다. 이런 정보는 Src와 Dst와 관계없이 얼굴 이미지라면 모두 갖고 있는 특성이므로 같은 Encoder를 공유해도 무방합니다.

하지만 생성할 얼굴은 얼굴의 각도, 표정, 피부색은 Dst 얼굴에 가까우며 눈코입의 모양, 비율은 Src에 가깝도록 생성해야 합성한 결과가 자연스러워지므로 Dst와 Src의 Feature map에서 필요한 정보 만을 선택하는 과정이 필요하며 Feature selection layer가 이 역할을 학습하게 됩니다.

마지막으로 Decoder는 이렇게 만들어낸 새로운 Feature map에 대응하는 얼굴 이미지를 만드는 역할을 합니다. Encoder와 Decoder의 이름에도 볼 수 있듯이 이미지를 압축하고 풀어내는 과정과 비슷하다고 생각하면 이해하기 쉽습니다.

Image post processing 예시 — [클레온]

3.얼굴 붙여넣기

이제 생성한 얼굴을 변환하고자 하는 영상에 붙여 넣으면 얼굴 합성이 마무리됩니다. 하지만 단순히 생성한 이미지를 원본 이미지에 붙여 넣는다면 소위 말하는 ‘합성티가 나는’ 결과물이 탄생하게 됩니다. 이런 문제는 얼굴의 mask와 각종 image processing 기술들로 해결합니다.

생성된 얼굴 이미지는 주로 정사각형의 형태로 출력 됩니다. 네모난 정사각형의 얼굴 이미지를 그대로 붙여 넣는다면 흐릿하게 생성된 배경이 그대로 합성됩니다. 이때 face segmentation 기술을 이용해 배경은 포함하지 않고 얼굴 영역만 포함하는 mask를 생성, 합성하여 배경이 함께 합성되는 문제를 해결합니다.

다른 원인으로는 생성한 얼굴과 원본 인물의 피부색이 다른 경우 합성이 어색해지는 문제가 생길 수 있습니다. 이는 color transfer를 통해 피부의 전반적인 색깔을 맞추고 seamless clone과 blur를 통해 경계를 자연스럽게 연결하는 image processing 방식을 사용하여 해결하는 경우가 많습니다.

마무리하며

지금까지 얼굴 변환 모델을 사용하여 영상을 합성하는 전반적인 과정을 살펴보았습니다. 보기에 딥페이크 기술이 복잡하고 난해해 보이지만 누구나 인터넷에서 관련 소프트웨어를 찾아서 쉽게 적용해 볼 수 있습니다. 물론 높은 퀄리티의 자연스러운 영상을 얻기 위해서는 상황에 따라 여러 가지 부가적인 기술 요소가 필요할 것입니다.

관련한 재밌는 이야기를 소개하며 마무리하고자 합니다.

세계적 거장 마틴 스코세이지가 연출한 <The Irishman>이라는 영화가 있습니다. 실제 미제 사건인 ‘지미 호파 실종사건’을 주제로, 1950년대부터 2000년대까지 시간을 넘나들며 스토리가 전개가 됩니다. 주연으로 로버트 드 니로와 알 파치노가 등장하는데, 촬영 당시 배우들의 나이가 70대 중반을 넘기다 보니 등장인물이 젊었을 때의 장면을 보여주기가 어려웠다고 합니다. 그래서 감독은 ‘de-aging’ 기술이라고 부르는 특수 효과로 이 문제를 해결했습니다.

De-aging을 위한 특수 촬영장비 — [Netflix]

감독은 de-aging을 위해 카메라 3대를 합친 특수 촬영 장비로 장면을 촬영하였는데 이중 두 대는 적외선 카메라로, 배우들의 표정을 여러 각도에서 촬영하여 얼굴 정보를 분석할 수 있었다고 합니다. 그리고 배우들이 과거에 출연했던 영화에서 다양한 표정의 얼굴을 수집해 표본들을 만들고 가장 적절한 것을 합성하는 방식으로 젊어진 모습을 만들 수 있었습니다. 이러한 de-aging 기술로 영화<The Irishman>는 아카데미 시상식에서 시각효과상 후보에 오르기도 하였습니다.

De-aging 결과 — [Netflix]

그런데 영화가 개봉되고 얼마 지나지 않아 ‘Shamook’이라는 유튜버가 흥미로운 영상을 올립니다.

영화 <The Irishman>의 기존 장면과 인공지능 기반 딥페이크 기술을 적용해서 만든 젊어진 모습을 비교한 것인데, 막대한 자본과 시간을 들였던 기존 방법과 비교했을 때 딥페이크 기술은 훨씬 간단하지만 만들어진 영상의 퀄리티는 기존 영상에 견줄만하다는 반응이 많았습니다.

기존 기술(Netflix)과 딥페이크 기술의 비교 — [유튜브 Shamook https://www.youtube.com/watch?v=dHSTWepkp_M]

오히려 딥페이크 기술로 제작한 영상이 de-aging 기술로 제작한 기존 영화 영상보다 더 사실적이고 자연스러워 보이기도 합니다.

두 영상 모두 주름과 같은 얼굴의 특징을 바꿔 젊어 보이게 만들었지만, 얼굴에서 눈 부분을 보면 딥페이크 기술로 제작한 영상에서 로버트 드 니로의 눈이 더 젊어진 얼굴에 잘 어울리는 듯합니다.

모든 기술이 그렇듯이 딥페이크 기술 또한 잘못 사용한다면 윤리적인 문제가 있지만, 좋은 방향으로 쓰인다면 사람들의 시간과 노력을 크게 아낄 수 있습니다.

우려와 기대 속 무궁무진한 가능성을 갖고 있는 기술 딥페이크, 다음 편에서는 클레온이 딥페이크 기술과 관련하여 어떤 것들을 연구하고 개발하고 있는지 자세하게 살펴보겠습니다.

다음 편도 기대해 주세요!

--

--