1. 서론
오늘날 디지털 미디어 환경의 확산으로 영상 콘텐츠 전달 매체가 TV 중심에서 모바일 인터넷 기기 중심으로, 소비 주체 또한 대용량 대중화 기반 소비에서 소용량 개인 소비 중심으로 이동하게 되었다.
Fig. 1. Flowchat of face transfer technology.
또한 모바일 인터넷 기반 웹 및 앱 중심의 콘텐츠는 소비자에게 언제 어디서나 참여하고 소통할 수 있는 기회를 제공하여 소비자 자신의 의지를 표현하고 참여자들과 공유하는 소셜 네트워크 기반 콘텐츠로 발전하였다. 이러한 디지털 미디어의 발전은 다양한 형태의 콘텐츠 소비자가 융합된 형태의 생산자로 그리고 콘텐츠의 이용자가 단방향 객체에서 양방향 주체로 변하여 스토리 전개에 능동적이고 적극적인 자세로 직접 관여하는 인터랙티브 미디어를 만들어 새로운 디지털 미디어 생태계 조성해 가고 있다.
최근에는 한국전자통신연구원[1]에서는 사용자와 미디어 사이의 상호 작용 기능을 제공하는 인터랙티브 영상 창작 플랫폼 ‘Cox’를 개발하여 줄거리를 선택하는 Branch 기능, 영상에 메시지를 보내는 Push기능, 영상과 통화하는 Tele 기능, 영상 객체와 웹을연결하는 Connection 기능 등 다양한 인터랙션 편집기능을 제공하여 인터랙티브 아트 및 영화, 체험형머신 및 기능성 동작인식 게임 그리고 인터랙티브 광고 제작 등에 활용되고 있다. 이와 관련하여 TV set-topbox와 스마트 기기를 통해 증강현실 콘텐츠와 인터랙션하는 시스템 개발[2], 리치 미디어라 불리는 시청자와 상품의 정보에 대해 인터랙션하는 광고 콘텐츠 개발[3], 인터랙티브 스토리텔링 스크립트 언어에 관한 연구[4] 등 인터랙티브 미디어와 관련된 연구들이 활발하게 진행되고 있다. 그러나 이러한 기능들은 사용자의 동작과 음성 인식 등의 기능에 한정되어 있으므로 다양한 영상과의 인터랙션에 필요한 새로운 기능이 필요로 하게 되었다.
본 논문에서는 Cox 미디어 플랫폼에서 다양한 얼굴 교체 및 편집 기능을 제공하기 위하여 2장에서 얼굴 교체 모델에 대한 최근 연구 동향을 분석하고 3장에서는 실시간 및 영상 인물 포즈 교체에 적합한 2-DFaces wap, Open Pose, Auto Encoder Deep fake, Cycle GAN의 4가지 얼굴 교체 모델에 대한 연구 과정 및 결과를 보여주고 4장에서 통합된 모델을 제안한다.
Fig. 2. Face detection [16].
Fig. 3. Face feature extraction [16].
2. 얼굴 교체 모델 연구 동향 분석
얼굴 교체 기술이란 서로 다른 영상 속에 등장하는 인물들의 얼굴을 교체하는 기술을 말하며 Fig. 1에 보인 대략적인 순서도의 절차에 의해 얼굴 교체가 이루어지고, 현재 제안된 여러 얼굴 교체 기술들은 기본적으로 Fig.1의 요소 기술들을 모두 포함하고있다.
Fig. 4. Face alignment [5].
Fig. 5. Face segmentation [6]
Fig. 6. Face transfer [7].
Fig. 7. 3D Face feature detection [8].
사용자의 얼굴을 미디어에 삽입할 때 교체된 얼굴이 타인의 얼굴임을 인식하지 못할 정도로 자연스러운 합성 결과를 산출하려면 얼굴영역 검출과 특징점 추출, 얼굴 정렬과 얼굴영역 분할,3차원 자세조정및 전의 등의 기술들이 모두 정밀한 수준으로 동작해야 하고, 각 기술들이 상호보완적으로 결합되어야 한다. 최근 얼굴 교체 전체 시스템에 대한 연구는 많이 이루어지고 있으나 얼굴이 가질 수 있는 다양한 자세, 각도, 얼굴의 다양성 등으로 인해 안정적인 결과를 얻기가 수월하지 않다. 이러한 어려움으로 인해 현재의 2-D 기반의 얼굴 교체 기술은 주로 사람의 얼굴이 정면으로 카메라를 바라보고 있는 경우가 많고, 얼굴의 모양 및 자세가 다양하게 변화하는 환경에 적응하기 위해 3차원 얼굴 모델을 생성하여 적용시키는 연구가 진행되고 있으나 얼굴 움직임이 심한 상태에서 얼굴 교체가 이루어지는 시스템은 아직까지 잘 개발되어 있지 않다.
일반적으로 2-D에 기반한 얼굴 교체 기술은 ASM 알고리즘을 활용한 얼굴 정렬,2-D 교체 가능 모델을 기반으로 한 얼굴 교체, 포아송 이미지 편집을 사용한 얼굴 융합 등이 있다. 이 기술들의 주요 단점은 얼굴 포즈와 표현에 대해서는 제한되어 있고, 비디오의 조명에 영향을 받을 수 있다는 점이다. 한양대학교 송중석[9] 연구팀은 조명이 다른 두 영상에 대해히스토그램 명세화(histogramspecification)기반의 피부 톤 일치 기법을 사용하였고,18개의 가상 얼굴 특징점들을 생성하고 매 프레임마다 5쌍의 특징점들을 사용하여 유사 교체 행렬(similarity transformmatrix)을 생성하여 정면 영상 간의 얼굴 포즈를 교체시켰다. 세종대학교 조태훈[10] 연구팀은 서로 다른 조명 환경 아래에서 파라미터 기반의 얼굴 특징점 추출 알고리즘을 적용하여 얼굴을 대표하는 랜드마크들을 잡은 후 정지 영상의 얼굴을 동영상의 얼굴에 전이시키는 방법을 사용하여 정면 얼굴을 교체하였다. 두 팀 모두 얼굴의 움직임에 대해 추적하는 기술에 대해서는 제한적이다.
한편으로 [11]에서는 3-D 얼굴 스캔 데이터를 통해 자동적으로 교체 가능한 모델을 생성하였고, [12]은 3-D 기반으로 Blending기법을 활용하여 다양한 얼굴 모양과 포즈를 제공할 수 있도록 하였다. 그러나 소스와 타겟 이미지에서 얼굴 포즈와 표정 등이비슷해야 성공적인 결과를 얻을 수 있다는 단점이 있다. Open University Israel[6]에서는 3차원 모델을 사용하는 모델 중 대표적인 모델 중 하나로 얼굴 정렬 시 3차원 모델을 매개체로 하여 정렬하였다. 기본형의 3차원 모델에 대하여 2차원 영상의 랜드마크(land markpoint)들을 대응시킨 후에 3차원 모델을 2차원 영상과 같은 자세로 교체시키고 타겟 영상과 소스 영상을 모두 같은 자세로 교체시킨 후에 2차원소스 영상의 남은 점들을 3차원 모델로 교체시킨 후에 다시 3차원 모델에서 타겟 모델로 값을 교체시킨다. 이 연구는 얼굴영역을 추출함에 있어 딥러닝 기반의 깊은 신경망을 사용하였고 추출된 얼굴 영역에 대해서 블렌딩을 수행하는데 많은 시간을 소요해야 했다.
얼굴 정렬을 위하여 MPI for Informatics PabloGarrido[5]는 목적 프레임으로부터 여러 프레임의 영상을 추출해서 가장 소스 영상과 가까운 영상들을매칭해서 소스 영상의 얼굴과 타겟 영상의 얼굴이 가장 비슷한 형태 간에 전이가 일어나도록 하였다. 이 기술은 사용자가 어느 정도 일정한 시간동안 다양한 표정을 짓는 동영상을 찍어야 하는 한계가 있다. Carnegie Mellon University의 Jason M. Saragih[15]는 얼굴 정렬을 위해 여러 개의 얼굴 부분공간방법을 적용시켜 얼굴 각 위치에 대한 랜드마크 분포를 제약시키는 모델을 개발하였지만 여전히 움직이는 얼굴에 대해서는 한계를 갖고 있다. Royal Inst-itute of Technology의 Vahid Kazemi[16]는 Re-gression Tree의 앙상블을 얼굴 모델 정렬에 사용하여 평균적으로 에러가 줄어들도록 하였고 계산량이 적어서 실시간의 모델링 처리가 가능하도록 하였지만 그래도 실시간 처리에는 정확도에 어려움이 있다. Max-Planck-Institute Justus Thies [17]는 RGB 카메라를 이용하여 선형적인 파라미터 기반의 얼굴의 아이덴터티, 표정, 추적, 렌더링을 수행하는 모델을 개발하였으나 특수한 병렬 처리 하드웨어를 사용할 때만 실시간으로 처리가 되고 있다.
Table. 1. Comparison Analysis
딥러닝을 활용한 연구도 활발히 진행되고 있다. [18]는 합성곱 신경망을 사용하여 타겟을 소스의 얼굴로 교체시킨다. 매우 사실적인 결과를 얻을 수 있으며 얼굴 교체 작업을 실시간으로 가능하게 한다.
하지만 여전히 얼굴 포즈, 표정 및 조명에 대한 어려움은 남아있다.
홍콩 중문대학교의 Z.Zhang는 딥러닝의 컨볼루션 인공신경망을 사용하여 얼굴의 특징점을 추출하였다.10,000개의 학습 데이터로 인공신경망의 파라미터들을 학습하였고. 테스팅 단계에서는40x40 흑백영상이 입력으로 들어가고,3개의 풀링 레이어와 1개의 완전 연결 레이어를 포함하였다. 비선형 함수로는 탄젠트(tangent)함수를 사용하였고, 마지막 레이어에서는 얼굴의 특징점을 추출하는 출력 노드 외에도'자세' , & #39;성별' , & #39;안경' , & #39;웃음'에 대한 추가적인 정보를 주는 노드를 사용한다. 그러나 직렬회귀(cascaded regression)모델들과 비교할 때 얼굴 특징점 추출 정확도는 비슷하나 딥러닝의 추론에 걸리는 시간이 더 길다. Open University Israel[6] 에서는 얼굴 영역을 추출함에 있어 딥러닝 기반의 깊은 신경망을 사용하였고 추출된 얼굴영역에 대해서 블렌딩을 수행하였다. 또한,[19,20]는 비지도 학습 모델인 GAN을 이용하여 얼굴 교체뿐만 아니라 머리 모양까지 교체시켰다. 그러나 딥러닝 기반의 얼굴 특징검출 방식은 좋은 결과를 내는 반면에 GPU사양이 높고, 계산량이 많은 단점이 있다.
이상과 같이 우리의 자체실험 및 논문들의 분석을 통하여 제시하는 얼굴 교체 세부기술에서의 기술 구현의 어려운 정도 및 전체 얼굴 교체 기술 시스템에 대한 기여도는 다음과 같다.
상기의 분석결과 얼굴 교체 기술의 성공여부를 좌우하는 세부기술은 얼굴 특징점 추출 및 얼굴 정렬기술이다. 이 기술들은 다음과 같은 어려운 문제를 내포하고 있다.
문제 1) 얼굴이 가질 수 있는 다양한 자세, 각도, 얼굴의 다양성 등으로 인해 안정적인 결과를 얻기가 수월하지 않다. 얼굴모양정보와 얼굴의 특징간의 상호 의존성 문제가 존재하기 때문이다. 신뢰할 수 있는 특징을 추출하기 위해서는 정확한 얼굴모양정보가 필요한 반면 정확한 얼굴모양정보모델을 만들기 위해서는 신뢰할 수 있는 특징을 추출해야 한다. 이들 두 조건의 불균형으로 인해 불안정성이 발생한다. 문제 2) 딥러닝 기반의 얼굴 특징점 추출시에는 현재의 특징과 얼굴모양정보를 사용하여 다음의 얼굴모양정보를 예측하는데 시간이 많이 소요되는 어려움이 있다.
따라서 이 논문에서는 위의 문제들을 수용할 수 있는 실시간 및 영상 인물 포즈 교체에 적합한 2-DFaces wap, OpenPose, Auto Encoder Deep fake, Cycle GAN4가지 모델에 대한 연구 분석 내용 및 통합 모델의 결과를 제시한다.
Table 2. Test environment
3. Cox Platform 에 제안된 얼굴 교체 모델들의비교
이번 장에서 소개하는 네 가지 모델들에 대한 구현 및 테스트 환경은 Python으로 작성되었으며 각각의 모델별로 라이브러리에 대한 의존성을 가지고 있다. Anaconda3를 사용해서 각 모델들에 대해 독립적인 환경을 구성한다. 컴퓨터의 사양은 아래와 같다.
또한 GPU를 사용하기 위해 CUDA9.0,cuDNN 7.4 버전을 사용했다.
3.1 정면 얼굴 포즈 영상 교체에 적합한 2-D faceswap 모델
우리가 개발한 2-Dfaceswap 모델에서는 소스 이미지와 타겟 동영상을 입력으로 받으며, 동작은 얼굴 검출기, 얼굴 합성기 2가지로 이루진다. 검출기 에서는 dlib[21]을 이용하여 타겟 동영상 얼굴의 특징 벡터들을 검출한다. 이는 HOG(Histogramof Orient-ed Gradients) 방식의 검출기이며 슬라이딩 윈도우 방식을 사용한다. 검출 알고리즘으로 Face Land-mark Estimation [16]을 이용하였다. 이 알고리즘 이용해 얼굴에서 68개의 특징점들을 특징벡터로 저장한다. Fig. 8은 얼굴에서의 특징점을 검출한 사진이다. 소스 이미지는 검출기를 이용하여 눈, 코, 입을Wrapping하여 초기화된다. 소스 이미지의 눈, 코, 입의 데이터와 타겟 동영상의 특징 벡터를 이용하여 얼굴을 교체하게 된다.
Fig. 8. 68-landmarks on face [16].
얼굴 합성기에서는 타겟 동영상의 눈, 코, 입의 위치에 소스 이미지의 데이터로 교체하는 작업을 한다. 교체할 때에 히스토그램을 이용하여 피부색을 유사하게 구성한다. 타겟 동영상의 매 프레임마다 2-D상에서 눈, 코, 입을 오버레이 함으로써 얼굴을 교체할 수 있다.Fig.9는 한 프레임에 대해 얼굴 교체한 결과를 보여준다.(a)는 소스 이미지로 모델 이주빈의 증명사진이다. (b) 배우 임시완의 인터뷰 영상이다. (c)는 얼굴 교체를 한 결과이다.
2-Dfaceswap 모델의 장점은 데이터 셋의 양이 적고 연산이 빠르다는 점이다. 정면 얼굴 이미지 하나와 동영상 하나만 있으면 얼굴 교체가 가능하며얼굴 특징 벡터를 찾아내어 그에 맞게 이미지를 교체하는 연산만 필요하기 때문에 실시간으로 얼굴을 합성시킬 수 있다. 하지만 2-D상에서 얼굴의 각도 변화에 따른 자연스러운 눈, 코, 입의 회전이 불가능한 점을 보여준다. 또한 이미지의 조도나 표정 등의 다양한 데이터를 사용하지 않고, 정면 얼굴에서의 68개특징점으로만 교체하기 때문에 자연스럽게 합성된 이미지를 보여주기 어렵다는 것이 한계이다.
Fig.10에서 보듯이 우리가 개발했던 의도와 다르게 얼굴 교체 시 부정확한 교체 현상을 많이 발견하였다. (a)와 (b)는 눈을 감고 있지만 눈 영역을 검출하여 교체된 모습이다. 또한 (a)입과 (b)코에 노이즈가 생겼다. (c)는 해결해야할 사항으로 입의 합성 과정에서의 교체 오류로 노이즈가 생겼다. 치아의 히스토그램을 배제하지 못한 문제점으로 보인다.(d)는 얼굴 각도가 15도 정도 틀어진 모습이다. 이 모델에서는 좌우로 15도 이상 얼굴 각도가 틀어졌을 때에 부정확한 눈 교체 양상이 보인다.
Fig. 9. Face swapping result of 2-D faceswap model.
Fig. 10. failed results of 2-D faceswap model.
3.2 신체 움직임이 활발한 얼굴 포즈 영상 교체에 적합한 OpenPose 모델
OpenPose[27] 라이브러리는 실시간으로 사람 몸 전체의 관절의 특징점을 찾아내며 몸과 팔, 다리뿐만 아니라 손가락과 머리 등 사람의 전체 구성 요소들의 관절의 특징점을 찾아낸다. 관절의 특징점의 위치가 어디에 있는지는 영상에서 관절에 대한 확률값을 맵으로 출력한 뒤, 관절 간의 관계를 PAF(Part Affin-ity Fields) 벡터 맵으로 나타내어 몸의 관절을 찾고머리의 위치 및 움직임을 예상한다.Fig.11의 바디스켈레톤을 이용하여 사람의 머리 전체를 찾아낸 후, 그 안에서 눈, 코, 입과 같은 얼굴의 특징점에 대한 위치값을 이용하여 이를 검출기로 활용하여 얼굴 교체를 행한다.
우리가 개발한 OpenPose 모델은 본 논문의 첫 번째 모델인 2-Dfaceswap과는 다르게 Openpose 라이브러리를 이용하여 검출기에서 신체의 관절을 19개로 구분하고,70개의 얼굴 특징점을 사용했다. 이 모델에서 얼굴 특징점은 눈동자(eyeball)의 좌표가 추가되었으며 얼굴 교체에서는 3-D마스크 생성기와 합성기를 이용했다.
Fig. 11. Output of OpenPose [27].
3-D마스크 생성기와 합성기는 Marek Kowalski의 3-DFaceswap[28]에서 가져왔다. 마스크 생성기에서는 소스 이미지를 받아 얼굴을 3-D매핑을 한다.
소스 이미지의 2-D 얼굴로부터 검출된 70개의 좌표를 이용하여 3-DMask를 생성한다. 자연스러운 3-D 얼굴을 만드는 기법인 Cadide-3[22] 방식을 사용하였다. Fig. 12처럼 113개의 좌표점과 168개의 면으로 이루어진 얼굴을 3-D로 생성한다.
3-D마스크는 Gauss-Newton[23]을 사용하여 조정하였다. 검출기에서 얻은 동영상의 얼굴 특징 벡터를 파라미터로 수식에 대입하여 정규화, 가중치, 스케일링, 회전 및 평행 이동을 한다. 이 조정 과정을 통해 교체 대상의 얼굴과 매칭되는 마스크를 만들고랜더링한다. 얼굴 합성기는 랜더링된 마스크를 2-D 이미지로 가져와 GaussianBlur[24]를 이용하여 색교정을 하고 타겟의 얼굴을 소스의 얼굴로 교체하게 된다. 타겟 영상의 매 프레임마다 앞선 과정을 반복함으로써 영상에 맞는 3-DMask를 생성하여 얼굴을 교체시킬 수 있다.
Fig. 12. Candide-3 with 113 vertices and 168 surface[22].
Fig.13은 3-DFaceswap[28]의 테스트 결과이다.
(a) 소스 이미지로 모델 이주빈의 증명사진이다.(b)
배우 임시완의 인터뷰 영상이다.(c) 얼굴 교체를 한 결과이다. 증명사진은 정면 사진이기에 마스크를 생성하기 좋은 소스 이미지이다. 두 인물 모두 이 마를 보여주고 있어 자연스러운 결과가 나왔다.(d)는 얼굴 교체를 할 때에 생성된 마스크를 오버레이하여 출력한 것이다.3-D마스크를 사용하여서 각도 변환에 있어서 2-D방식보다 자연스러운 얼굴 교체가 가능하였고 입의 움직임 또한 잘 보존한다는 장점이 있다. 하지만 눈을 감을 때 눈을 뜬 모습으로 교체가 된다는 단점이 있다.
또한 3-Dfaceswap 모델에서는 dlib을 사용하기 때문에 동영상에서 작은 얼굴의 움직임에 대해서는 검출하지 못하는 경우가 있다. 그러나 우리가 개발한 Open Pose 모델은 몸과 신체의 관절을 찾는 것에 특화되어 있는 모델이기에 전신이 나오는 동영상에서의 얼굴 검출이 용이하다.
Fig.14(a)는 소스 이미지로 모델 이주빈의 증명사진이다. (b)는 아이돌그룹 ITZY 예지의 무대 동영상이다. (c) 와 (d) 는 얼굴 교체를 한 결과이다.3-D faces wap 모델의 (c)를 보면 얼굴을 찾지 못하였는데, 우리가 개발한 OpenPose 모델에서는 (d) 얼굴의 크기가 작더라도 몸을 검출하여 얼굴의 위치를 추적하기 때문에 이에 대한 문제점을 극복하였다. 하지만 기본적으로 여러 사람의 신체를 검출하도록 학습된 라이브러리를 활용하기에 얼굴만 검출하는 dlib 검출기보다 수행속도가 느리다.
Fig.15는 (a)3-Dfaceswap 모델과 (b) Open Pose 모델을 비교하였다. 얼굴 검출기에서 얼굴이 검출된다면, 마스크 생성과 얼굴 교체과정은 동일하므로 많은 차이를 보이지는 않는다. 따라서 동영상 속 인물의 움직임과 얼굴검출 가능 여부에 따라 알맞은 검출 알고리즘을 선택하여야 한다.
Fig. 13. Face swapping result of 3-D faceswap[28] model.
Fig. 14. Face swapping result of OpenPose model.
3.3 AutoEncoder 개념을 적용한 Deepfake 모델
Deepfake 모델[14]은 오픈소스로 Face-Swap하는데 있어서 AutoEncoder[29]를 포함하는 주요 3가지 기능을 제공한다.Input 데이터로 영상 A,B를 제공하면 데이터 셋을 위한 전처리 과정으로 Extract기능을 사용한다.MTCNN[25]을 사용해서 데이터의 얼굴을 감지하고 256*256 크기의 이미지로 정렬된 이미지를 얻는다. 영상 A와 B에서 추출한 얼굴 데이터들을 Train 기능을 통해 학습 모델을 생성한다. 이 과정에서 훈련 반복 횟수와 신경망의 크기 등에 따라 학습 시간이 천차만별로 차이가 난다. 우리의 연구에서 약 16시간의 훈련을 통해 Loss가 0.015가 되도록 한 모델을 생성했다. 모델을 생성하는데 성공했으면 다음은 본격적으로 Face-Swap 작업을 행한다. Convert 기능을 사용해 진행하는데 Deep-fake에서는 Frame,Blur 등 Mask에 대해 최적화할 수 있도록 다양한 기능을 제공한다. 본 논문에서는 Gaussian Blur[24 ], BlurSize, Erosion Size, Color Matching, Dlib-CNN을 조절해서 얼굴 교체를 자연스럽게 하였다.
Fig. 15. Compare with 3-D faceswap[28] and OpenPose swap.
Fig.16의 합성된 결과 영상을 보면 소스 영상을타겟 영상에 고해상도로 합성시켜 소스 영상과 비교했을 때 크게 위화감이 들지 않는다. 하지만 거듭되는 연구에서 몇 가지 단점을 발견했다. 타겟 영상의 얼굴이 정면을 바라보고 있다는 것을 기준으로 했을 때, 상, 하, 좌, 우로 약 15도 이하로 움직였을 때는자연스러운 결과를 얻을 수 있었다. 그러나 얼굴 가동 범위가 15도 이상인 경우, 장애물에 가려진 경우(손, 머리 등)에는 부자연스러운 결과를 얻었다.
Deepfake 모델의 장점은 기능들이 독립적으로 구현되어 있어 테스트 과정에서 다양한 시도를 쉽게 해볼 수 있다. 그리고 전처리 과정에서 다양하고, 많은 데이터 셋을 구비한다면 결과가 정말 자연스럽다는 점이다. 단점으로는 Train 과정에서 화질이 저하가 되는데 그 이유는 gpu 메모리에 네트워크를 한 번에적재할 수 없기 때문에 256*256으로 학습을 할 수 없었다. gpu의 성능에 따라 256*256의 이미지들을 적재할 수 있지만 본 연구에서는 64*64로 네트워크에압축된 이미지들을 적재해서 화질의 저하가 있었다.
즉 컴퓨터 성능에 따라 결과가 바뀔 수 있다는 것이다. 그리고 Train 과정에서 모델을 생성하는데 많은 시간이 소요된다. 그리고 합성하고자하는 얼굴마다 모델을 재학습이 필요하므로 범용성이 떨어진다.
Fig. 16. Face swapping result of Deepfake model.
3.4 생성적 적대 신경망인 CycleGAN 모델을 이용한 Faceswap
GAN[30] 모델에서는 ImageTransfer에 효과적인 CycleGAN[26]의 네트워크 구조로 학습을 진행하였다. Cycle GAN은 이미지로 구성된 두 개의 데이터셋이 있을 때 한 데이터 셋의 이미지들을 다른 데이터 셋의 스타일로 바꾸어 주는 일을 한다. 본 논문에서는 두 사람의 얼굴로 구성된 데이터 셋을 input으로 모델을 학습시킨다. 학습된 모델을 이용하여 두 사람의 얼굴을 서로 바꿀 수 있다.
CycleGAN의 학습 구조는 원본 이미지로 recon-struct되어야 하는 Cycleloss를 이용하는데, 원래 이미지로 복구가능한 정도로만 변환이 되는 제약을 이용하여 성능을 향상시켰다. 이 loss를 이용하기 위해서 A인물을 B인물로 바꾸는 생성자 G의 학습과 B인물을 A인물로 바꾸는 생성자 F의 학습을 동시에 수행하게 된다.
[13]의 학습과정은 영상 A,B 으로부터 학습 데이터를 추출한다.MTCNN[25]을 이용하여 얼굴부분을 검출하며 파이썬의 face-alignment 패키지를 이용하여 얼굴을 정렬한다. 추출된 두 얼굴 데이터 셋을 이용해 CycleGAN의 학습을 진행한다. Convert기능으로 학습된 모델을 이용하여 영상 A를 입력하면 B의 얼굴로 교체가 되고 그 반대인 B영상의 얼굴을 A의 얼굴로도 교체할 수 있다.
Fig. 17. Face swapping result of CycleGAN model.
Fig. 18. Suggested face swapping model.
CycleGAN 모델의 장점은 얼굴이 좌우로 돌아가더라도 다른 모델보다 각도에 대한 특징을 잘 보존하여 자연스러운 결과를 얻을 수 있었고, 일부 데이터에 장애물이 존재하더라도 어느 정도 보완하여 얼굴을 교체한다. 또한 눈동자의 위치와 눈의 깜박임 정보도 보존한다. 하지만 단점으로 충분한 데이터 셋의수, 학습시간, 하드웨어의 성능이 필요하다. 이 모델에서는 입력영상 A,B의 training 데이터에 적합한 모델을 생성하여 교체하게 된다.
Fig.17은 CycleGAN 모델의 실험결과이다. (a)는 A 원본영상이다.(b)는 얼굴을 B로 교체한 영상이다.
(c)B는 원본영상이다.(d)는 얼굴을 A로 교체한 영상이다.
실험결과 영상 A,B의 인물이 등장하는 다른 영상을 test 데이터로 교체를 수행하였을 때에는 마스크의 정합성이 떨어지게 된다. 얼굴 교체하는 영상마다training 모델을 재생성하여야 한다는 문제점은 상용화를 위해서 많은 개선이 필요하다.
4. 결론
영상의 얼굴을 교체할 때 교체된 얼굴이 타인의 얼굴임을 인식하지 못할 정도로 자연스러운 합성 결과를 산출 하려면 얼굴영역 검출과 특징점 추출, 얼굴 정렬과 얼굴영역 분할,3차원 자세조정 및 전의등의 기술들이 모두 정밀한 수준으로 동작해야 하고, 각 기술들이 상호보완적으로 결합되어야 한다. 3장에서 보았듯이 한 가지 모델만 이용하여 이러한 모든 기술들을 정합한다는 것은 매우 어렵다. 경우에 따라 정면 얼굴만 교체하는 영상엔 적합할지 모르나, 몸의동작과 얼굴의 방향이 자주 바뀌는 영상에서는 얼굴교체 기능이 제대로 작동하지 못하고 또한 얼굴의 동작이 자주 바뀌는 경우에는 얼굴 추적은 잘 되나얼굴 교체의 품질이 떨어지는 경우도 있다Cox의 경우 이러한 문제를 해결하기 위해 우리가 제안하는 모델은 영상 얼굴의 상황에 적합한 모델을 사용자가 선택하여 얼굴 변형 기능을 사용할 수 있게 하였다. 위의 4가지 모델을 사용할 때 속도는 (3.1), (3.2) 모델이 빠르나, 정합성 측면에서는 (3.3), (3.4) 모델이 훨씬 뛰어나다. 정합성이 높은 모델은 용량이 크다는 것을 의미하기도 한다.Fig.18에서 실선 모델의 결과는 자연스럽지 않으나 비교적 안정적이며, 점선 모델의 결과는 실선 모델에 비해 자연스럽지만 여러 제약에 따라 불안정적이다. 콘텐츠 이용자들은 안정적이면서도 자연스러운 결과를 원할 것이며, 둘중 하나라도 충족시키지 못한다면 우리의 콘텐츠는 외면당하게 될 것이다. 따라서 모델 선택 시 환경을 고려하여 신중하게 선택할 필요가 있다. 향후 연구에서는 자동화된 모델을 개발하여 영상 속 얼굴의 포즈에 따라 자연스러운 결과를 제공하는 모델로 개발되어, Cox의 얼굴 변형기능이 발전하기를 기대한다.
References
- B.D. Song, S.Y. Kim, and C.K. Kim, "Design and Implementation of the Image Creation System Based on User-Media Interaction," Journal of Korea Multimedia Society, Vol. 19, No. 3, pp. 932-938, 2016. https://doi.org/10.9717/kmms.2016.19.3.932
- J.H. Kim, J.L. Ha, B.S. Choi, Y.H. Jeong, and J.W. Hong, "Design and Implementation for Interactive Augmented Broadcasting System," IEEE Transactions on Broadcasting, Vol. 60, No. 2, pp. 217-226, 2014. https://doi.org/10.1109/TBC.2013.2295478
- I.J. Lee, H.K. Lee, J.W. Hong, and J.H. Cha, "Interactive Contents Player for Rich Media Service," IEEE Transactions on Consumer Electronics, Vol. 55, No. 1, pp. 112-118, 2009. https://doi.org/10.1109/TCE.2009.4814422
- S.K. Kim, S.H. Moon, J. Park, J.C. Chang, and S.Y. Han, "A Study on Interactive Storytelling Script Language for Generating the Stories," Journal of Korea Multimedia Society, Vol. 12, No. 2, pp. 313-322, 2009.
- P. Garrido, L. Valgaerts, O. Rehmsen, T. Thormahlen, P. Perez, C. Theobalt, et al., "Automatic Face Reenactment," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 4217-4224, 2014.
- Y. Nirkin, I. Masi, A.T. Tran, T. Hassner, and G. Medioni, "On Face Segmentation, Face Swapping, and Face Perception," Proceedings of 2018 13th IEEE International Conference on Automatic Face and Gesture Recognition, pp. 98-105, 2018.
- Switching Eds: Face swapping with Python, dlib, and OpenCV, http://matthewearl.github.io/2015/07/28/switching-eds-with-python/(accessed April, 09, 2019).
- T. Hassner, "Viewing Real-World Faces in 3D," Proceeding of the IEEE International Conference on Computer Vision, pp. 3607-3614, 2013.
- J.S. Song, X. Zhang, and J.I. Park, "Face Replacement under Different Illumination Condition," Journal of Business Ethics Special Issue Conference, Vol. 20, No. 4, pp. 606-618, 2015.
- T. Cho, J.P. Jeong, and S.M Choi, "3D Emotional Avatar Creation and Animation Using Facial Expression Recognition," Journal of Korea Multimedia Society, Vol. 17, No. 9, pp. 1076-1083, 2014. https://doi.org/10.9717/kmms.2014.17.9.1076
- V. Blanz and T. Vetter, "A Morphable Model for the Synthesis of 3-D Faces," Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques, pp. 187-194, 1999.
- T. Hassner, S. Harel, E. Paz, and R. Enbar, "Effective Face Frontalization in Unconstrained Images," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 4295-4304, 2015.
- Faceswap-GAN, GitHub, https://github.com/shaoanlu/faceswap-GAN (accessed April, 09, 2019).
- Deepfakes-faceswap, GitHub, https://github.com/deepfakes/faceswap (accessed April, 09, 2019).
- J.M. Saragih, S. Lucey, and J.F. Cohn, "Face Alignment through Subspace Constrained Mean-Shifts," Proceedings of 2009 IEEE 12th International Conference on Computer Vision IEEE, pp. 1034-1041, 2009.
- V. Kazemi and J. Sullivan, "One Millisecond Face Alignment with An Ensemble of Regression Trees," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1867-1874, 2014.
- J. Thies, M. Zollhofer, M. Stamminger, C. Theobalt, and M. NieBner, "Face2Face: Realtime Face Capture and Reenactment of RGBVideos," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 2387-2398, 2016.
- I. Korshunova, W. Shi, J. Dambre, and L. Theis, "Fast Face-Swap Using Convolutional Neural Networks," Proceedings of the IEEE International Conference on Computer Vision, pp. 3677-3685, 2017.
- H. Dong, P. Neekhara, C. Wu, and Y. Guo, "Unsupervised Image-to-Image Translation with Generative Adversarial Networks," ArXiv Preprint ArXiv:1701.02676, 2017.
- R. Natsume, T. Yatagawa, and S. Morishima, "RSGAN: Face Swapping and Editing Using Face and Hair Representation in Latent Spaces," ArXiv Preprint ArXiv:1804.03447, 2018.
- D.E. King, "Dlib-ml: A Machine Learning Toolkit," Journal of Machine Learning Research, Vol. 10, Issue 7, pp. 1755-1758, 2009.
- J. Ahlberg, CANDIDE-3 - An Updated Parameterized Face, Report No. LiTH-ISY-R-2326, Department of Electrical Engineering, Linkoping University, Sweden, 2001.
- F.D. Foresee and M.T. Hagan, "Gauss-Newton Approximation to Bayesian Learning," Proceedings of the 1997 International Joint Conference on Neural Networks, Vol. 3, pp. 1930-1935, 1997.
- R.A. Hummel, B.B. Kimia, and S.W. Zucker, "Deblurring Gaussian Blur," Computer Vision, Graphics, and Image Processing, Vol. 38, No. 1, pp. 66-80, 1987. https://doi.org/10.1016/S0734-189X(87)80153-6
- K. Zhang, Z. Zhang, Z. Li, and Y. Qiao, "Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks." IEEE Signal Processing Letters, Vol. 23, No. 10, pp. 1499-1503, 2016. https://doi.org/10.1109/LSP.2016.2603342
- J.Y. Zhu, T. Park, P. Isola, and A.A. Efros, "Unpaired Image-to-Image Translation Using Cycle-Consistent Adversarial Networks," Proceedings of IEEE International Conference on Computer Vision, pp. 2242-2251, 2017.
- Z. Cao, T. Simon, S.E. Wei, and Y. Sheikh, "OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields," arXiv eprint arXiv:1812.08008, 2018.
- Faceswap, GitHub, https://github.com/MarekKowalski/FaceSwap, (accessed April, 09, 2019).
- I. Guyon, G. Dror, V. Lemaire, G. Taylor, and D. Silver, "Autoencoders, Unsupervised Learning, and Deep Architectures," Journal of Machine Learning Research : Workshop and Conference Proceedings, Vol. 27, pp. 37-50, 2012.
- I.J. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair Bengio, et al., "Generative Adversarial Nets," NIPS'14 Proceedings of the 27th International Conference on Neural Information Processing Systems. Vol. 2. pp. 2672-2680, 2014.
Cited by
- Blockchain Technology for Combating Deepfake and Protect Video/Image Integrity vol.24, pp.8, 2019, https://doi.org/10.9717/kmms.2021.24.8.1044