[논문 리뷰] [WACV 2023] FastSwap: A Lightweight One-Stage Framework for Real-Time Face Swapping
오늘 소개해 드릴 논문은 최근 WACV (IEEE/CVF Winter Conference on Applications of Computer Vision) 2023에 accept된 KLleon R&D센터의 얼굴 변환 논문 “FastSwap: A Lightweight One-Stage Framework for Real-Time Face Swapping”입니다!
KLleon은 디지털 휴먼 및 활용 영상 제작 솔루션인 Klone과 영상 자동 번역 솔루션인 Klling 서비스를 만들고 있고, 두 솔루션의 핵심 기술인 얼굴 변환 연구 논문을 세계적으로 저명한 비전 학회인 WACV에 논문을 게재하였습니다.
INTRODUCTION
시작하기에 앞서 face swapping에 대해 설명하겠습니다.
face swapping은 source 이미지와 target 이미지 두 개를 입력으로 받아, 마치 target 이미지 속 인물의 얼굴이 source 이미지 속 인물의 얼굴로 대체된 것 같아 보이는 얼굴 변환 이미지를 생성하는 것을 목표로 합니다.
다시 말해, source 이미지로부터 identity (눈코입 등의 고유한 생김새) 정보를 추출하고 target 이미지로부터 pose (고개 각도, 표정 등의 포즈)와 attribute (조명 컨디션, 메이크업 등의 색감과 관련된 장면 특징) 정보를 추출 후 조합해 원하는 정보(source identity, target pose & attributes)만을 가지는 한 장의 이미지를 생성합니다.
이러한 generative model은 기본적으로 인코더-디코더 구조를 가지는데, 인코더를 통해 각 이미지로부터 원하는 정보만을 분리(disentangle)하여 추출한 후 디코더에서 그 정보들을 잘 조합하여 photo-realistic한 이미지를 만드는 것이 본 연구의 핵심입니다.
기존의 face swapping 연구는 target 이미지로부터 identity 정보를 배제한 채 distentangle된 pose 정보를 추출하기 위해 FAN (landmark detector), 3DMM (3D facial information), BiSeNet (parsing map) 등의 추가적인 기학습된 네트워크 (off-the-shelf network)를 활용하고 있습니다. 이로 인해 face swapping을 수행하기 위해 필요한 연산량이 크게 증가했으며 고사양의 하드웨어 리소스가 없는 일반인들은 사용하기 힘든 기술이 되었습니다.
따라서, 저자들은 적은 레이어로 구성된 인코더-디코더 구조를 가지는 저사양의 컴퓨터에서도 빠르게 얼굴 변환 결과물을 만들 수 있는 FastSwap을 설계하였습니다. 작은 네트워크임에도 뛰어난 성능을 학습시키기 위해 Triple Adaptive Normalization (TAN) decoder 구조와 swtich-test strategy, 두 가지 메인 아이디어를 제안합니다.
METHOD
FastSwap 네트워크는 세 개의 인풋을 사용합니다. Identity 정보를 가지고 있는 source image (X_s), pose 정보를 제공하는 target image (X_t), 그리고 attributes 정보를 제공하는 attribute image (X_att)가 입력되고 이들로부터 원하는 정보들을 통합하여 얼굴 변환 이미지인 아웃풋 Y를 생성합니다.
FastSwap 네트워크는 3개의 인풋으로부터 각각의 정보를 추출하기 위해 identity encoder, pose network, TAN decoder 세 개의 모듈로 구성되어 있습니다 (그림 3 왼쪽). Identity encoder에서 추출한 z_s,in과 X_att (spatial size를 맞추기 위핸 bilinear interpolation)을 concatentation한 후 연속적으로 쌓인 TAN block을 통해 아웃풋 이미지를 디코딩합니다.
여기서 TAN block은 아래 세 가지 인풋을 함께 받아, 세 개의 다른 차원에서 이루어지는 Adaptive Normalization을 통해 각 정보를 통합합니다.(그림3 오른쪽, 수식 1).
- 인풋 latent feature인 a_in^k
- identity encoder에서 skip connection으로 넘어오는 identity feature인 z_s,id
- pose network에서 추출된 pose feature들인 z_c와 z_t,pose
FastSwap 네트워크를 학습 및 테스트할 때 저자들은 swith-test strategy를 제안하며 이와 함께 data augmentation을 적극 활용했습니다.
Switch-test strategy는 학습할 때와 테스트할 때 X_att 인풋 위치에 다른 이미지를 스위치하여 입력하겠다는 전략이고, 이는 face swapping 연구의 불가피한 제한점인 학습 시기에 오직 같은 사람에 대해서만 Ground Truth(G.T.)가 존재한다는 점(그림 4 왼쪽 1행)을 역이용한 전략입니다.
저자들은 이미지의 색상 정보와 독립적인 identity와 pose 정보를 제공하는 X_s와 X_t에는 color distortion augmentation을 적용했고(그림 4 왼쪽 2행), 이미지의 비율을 조정해도 이미지 내 얼굴의 pose 정보는 변하지 않기 때문에 X_t에는 특히 이미지의 비율까지 랜덤하게 조정하는 augmentation(그림 4 왼쪽 3행)을 넣었습니다.
마지막으로 색상 정보에 민감한 X_att에는 augmentation을 넣지 않았고, 학습 시기에 downsize된 X_t를 X_att에 입력하게 되면 G.T.를 인풋으로 넣어주는 모순적인 상황이 되기 때문에 학습 시기에는 X_s를 X_att으로 입력하고(그림 4 오른쪽 1열), 테스트 시에는 X_t를 X_att로 스위치해서 입력(그림 4 오른쪽 2–5열)하는 switch-test strategy를 사용하였습니다.
RESULTS
FastSwap 네트워크의 결과는 위 그림 5에 나타나 있습니다. Source 이미지의 identity를 가지며, target 이미지의 pose와 attribute 정보들을 보존하는 높은 퀄리티의 새로운 얼굴 변환 이미지를 생성한다는 것을 정성적으로 알 수 있습니다.
그림 6은 기존의 Face Swapping 연구(FSGAN, SimSwap, FaceShifter)와 Neural Talking Head 연구(FOMM, LPD, OSFV)의 SOTA 알고리즘과 비교한 정성적 결과물입니다. Ours가 기존의 연구와 비해서도 더 높은 identity 보존도와 Pose 생성 능력을 가지고 있음을 볼 수 있습니다.
Neural Talking Head의 결과물은 source 이미지의 배경을 유지하는 반면, FastSwap의 결과물은 target 이미지의 배경을 유지합니다. 쉬운 비교를 위해 그림 6의 오른쪽 이미지에서는 배경을 제거해 얼굴에 초점을 맞춘 결과물을 plot 했습니다.
그림 6 왼쪽 이미지의 2행과 4행을 보면, 수염과 주름이라는 고유 생김새 identity 정보가 Ours에서 가장 잘 보존됨을 알 수 있고, 오른쪽 이미지 1행과 5행에서는 눈동자와 같은 pose를 Ours에서 가장 잘 생성하는 것을 볼 수 있습니다.
그림 6 왼쪽 이미지의 5행, 오른쪽 이미지의 4–5행의 결과를 봤을 때, FastSwap은 초상화나 가상인물에 대해서도 identity를 잘 생성하며, 저화질의 입력(오른쪽 3행)에 대해서도 정보를 추출하여 고품질의 이미지를 생성한다는 것을 알 수 있습니다.
아래 표를 통해, 총 6가지의 정량적 지표 (FPS, MACs, Parameter, ID, Pose, FID)에 대해서 정량적으로 성능을 평가했을 때에도 FastSwap이 기존의 SOTA 알고리즘보다 더 나은 퀄리티의 결과물을 압도적으로 빠른 속도(123.22 FPS)로 생성할 수 있음을 알 수 있습니다.
FastSwap은 다른 face swapping 연구들과는 다르게 X_att을 독립적인 인풋으로 사용하기 때문에 identity와 pose는 유지한 채 사용자가 원하는 메이크업이나 피부 톤 등의 색상 정보를 결과물에 다양하게 적용해 볼 수 있는 Controllable Attributes Editing도 가능합니다. (그림 7)
저자들은 제안하는 TAN block의 구성 요소인 세 개의 adaptive normalization이 각각 어떤 역할을 수행하며 실제로 효과가 있는지를 분석하기 위해 ablation study를 진행하였습니다. TAN block에서 identity 정보를 통합하는 I와 pose 정보를 통합하는 P와 C를 각각 제거했을 때의 성능을 기본 TAN block (Ours)와 비교하였습니다.
예를 들어, w/o I는 그림 3 오른쪽의 identity adaptive normalization이 제거된 TAN block을 사용한 케이스를 나타냅니다. 그림 8에서 각각의 adaptive normalization이 결핍된 결과물들이 Ours에 비해 떨어지는 성능을 관찰했을 때, 저자들이 설계한 대로 I는 identity 정보를, P와 C는 pose 정보를 결과물에 주입하는 효과가 있었음을 결론 내릴 수 있습니다.
CONLUSION
KLleon에서는 주어진 입력의 identity, pose 및 attributes을 통합하여 실시간으로 얼굴을 변환할 수 있는 경량 네트워크 FastSwap을 제시하고 그 성능을 정성적, 정량적으로 평가했습니다.
이 논문의 주요 기여는 경량 네트워크임에도 identity, pose, and attributes을 효율적으로 추출 및 통합이 가능하게 해주는 TAN block입니다.
두 번째 기여는 data augmentation을 사용한 switch-test 전략을 통해 training 중에 source 이미지를 사용했음에도 불구하고 test 할 때는 target 이미지에서 attributes이 추출되도록 유도한 것입니다.
KLleon의 Face Swapping 네트워크를 활용하면 세상의 어떠한 영상이던 다른 임의의 인물 얼굴로 변환 및 생성할 수 있고, switch-test 전략을 통해 Controllable Attribute Editing이 가능해졌다는 점에서 콘텐츠의 무한혁신의 발판을 마련했다고 볼 수 있습니다.