Paper Review

[논문리뷰] ReactFace: Online Multiple Appropriate Facial Reaction Generation in Dyadic Interactions

honey-vision 2025. 7. 2. 02:08

Abstract

두 사람의 상호작용에서 청자의 얼굴 반응을 예측하는 것은 사람마다 반응이 다르기 때문에 어려운 문제라고 볼 수 있다.

이전 접근법

interpolation 또는 fitting 문제로 다루었다

다양한 얼굴 반응과 불확실성을 무시하고 결정론적인 결과를 강조했다.

 

 

📍Fitting: 입력이 주어지면 출력이 단 하나의 정답이라고 가정

모델은 사람이 실제로 지은 표정과 모델이 생성한 표정 사이의 오차를 최소화하는 방향으로 학습된다.

그 결과, 모델은 훈련 데이터에 있는 반응들의 평균값 또는 가장 확률이 높은 하나의 값을 생성하게 된다.

📍Interpolation: 훈련 데이터에서 본 반응들 사이의 중간 값을 채워 넣는 방식

주어진 상황에 대해 가장 그럴듯한 하나의 정해진 반응을 예측하는 접근 방식의 일부다.

 

 

문제점

상호작용의 맥락 내에서 short-range 및 long-range dependencies 모델링 어려움

생성된 얼굴 반응의 동기화 및 적절성 문제 초래

본 논문에서 제안한 방법

1) Extrapolation 또는 prediction 문제로 재구성

2) 화자의 행동에서 단순히 청자의 얼굴 행동을 복제하는 것이 아니라 여러 가지로 적절한 얼굴 반응을 생성하는 ReactFace 제안

ReactFace

1) 적절한 얼굴 반응 분포 학습

2) 생성된 얼굴 반응을 각 타임스탬프에서 화자의 언어적 및 비언어적 행동과 동기화하여 현실적인 2D 얼굴 반응 시퀀스 생성

 

코드는 아래 깃허브 링크를 통해 확인할 수 있다.

https://github.com/lingjivoo/ReactFace


1 INTRODUCTION

공감 연구가 어려운 이유

- 공감은 상대방의 모달리티 정보와 맥락적 요소에 영향을 받기 때문에 같은 화자에 대해서도 혹은 같은 청자에게서도 다른 반응이 발생된다.

- 얼굴 반응 생성을 결정론적 결과를 갖는 일대일(one-to-one)이 아닌 일대다(one-to-many) 매핑으로 다루어야 한다.  

 

이전 연구: online facial reaction generation
Autoregressive 또는 segment-by-segment로 실시간으로 청자의 얼굴 반응 시퀀스를 즉시 생성하도록 설계됐다. 주로 CGANs을 활용했으며 화자의 정보를 조건 신호로 사용하여 청자의 얼굴 반응 프레임을 재현하는 데 초점을 맞추었다.
이전 연구의 문제점:
- 화자의 얼굴 표정이 시간에 따라 변화하는 특성을 고려하지 않았다.

- 화자의 다른 모달리티를 반영하지 않았다.

문제점을 해결하고자 제안된 방법들:
- LSTM(Long Short-Term Memory)과 같은 시간적 네트워크 도입

- 화자의 음성 또는 텍스트에서 추출한 정보와 결합하는 방식으로 발전

그럼에도 해결되지 못한 문제점 1:

화자의 행동과 청자의 얼굴 반응 간의 동기화(synchrony)를 포착하는 데는 여전히 부족함이 있다.

그럼에도 해결되지 못한 문제점 2:

대부분의 기존 연구들은 {화자, 청자}을 직접 짝지어 학습하는 전략을 공통적으로 사용해왔다.

- 같은 화자의 입력이 서로 다른 청자의 얼굴 반응 레이블과 짝지어질 수 있다.

- 생성된 얼굴 반응이 주어진 대화 맥락에서 적절한지 고려하지 않는다.

본 논문에서 제안하는 방법:

- 화자-청자 BS 전략 제안 

- 일대다 매핑을 위한 AFRG 메커니즘 제안

- 학습된 분포로부터 서로 다르면서도 적절한 다양한 얼굴 반응들을 샘플링할 수 있게 된다.


2 RELATED WORK

2.1 얼굴 반응 생성 및 얼굴 행동 생성에 대한 기존 접근 방식 리뷰

2.2 (제스처 및 신체 동작 생성)다른 비언어적 행동 연구 리뷰

2.3 조건부 생성 모델

2.4 modality alignment에 사용된 기법 리뷰

2.1 Automatic Facial Reaction Generation

기존 연구 방법:

화자의 행동을 입력으로 하여 청자의 실제(GT: Ground Truth) 얼굴 반응을 재현하려는 시도를 중심으로 이루어져 왔다.

최근 연구들:

1) 3DMM(3D Morphable Model) 계수를 사용하여 얼굴 근육의 움직임을 시각화하는 연구

2) 화자의 여러 모달리티가 입력에 포함되어 청자의 얼굴 반응을 만드는 데 언어적·비언어적 단서를 제공하고 청자의 특성에 최적화된 네트워크를 탐색하는 연구

 

본질적인 문제점
1) 얼굴 반응은 사람마다 다르고 같은 청자라도 다른 반응을 유발할 수 있기 때문에 화자의 시퀀스만을 가지고 청자의 GT 얼굴 반응을 재현하려는 모델을 학습하는 것은 본질적으로 문제가 있는 접근이다.

2) 화자가 아닌 청자의 얼굴 반응은 생성하지 못한다.

2.2 Non-verbal Human body/gesture Behaviour Generation

이전 연구:

생성된 동작을 주로 3D 스켈레톤, 비디오 프레임 또는 3D 파라미터의 형태로 표현한다.
최근 연구:

GAN, VAE, Normalizing Flows부터 Diffusion Models까지도 새롭게 도입되고 있다.

 

Motion synthesis 접근 방식

1) Unconstrained generation: 특정 조건 없는 일반적인 임의의 동작 생성

2) Conditioned generation: 주어진 조건에 어울리는 동작 생성

결정론적 생성 모델과 비결정론적 생성 모델이 생성한 샘플들은 종종 insufficient diversity를 겪는다.

 

📍 Insufficient diversity: 다양한 결과 생성이 가능하지만 실제로는 훈련 데이터에서 가장 평균적인 동작을 생성하며, 다양한 결과를 만들지 못하는 경우가 많은 문제점 발생

2.3 Conditional Generative Models

최근 연구들:

다양한 모달리티를 통합하여 생성된 결과가 조건과 일치하도록 발전해 왔다.
초기 접근 방식:

- 클래스 레이블을 활용하여 이미지를 구분하고 생성된 결과가 속성을 갖도록 유도했다.

- 클래스 레이블을 조건 신호로 사용하여 입력에 concatenation 또는 conditional normalization을 활용해 생성 과정에 조건을 부여한다.

- Conditional diffusion models 역시 클래스 정보를 normalization layers에 통합하고 classifier의 gradient를 통해 생성 과정을 유도한다.

- 분류기를 사용하지 않고도 생성 모델 자체로부터 guidance를 얻을 수 있는 방식인 classifier-free guidance도 연구되었다.

2.4 Modality Alignment in Generative Models

Modality alignment: 모달리티 간 일관된 콘텐츠 생성 및 조작을 가능하게 하지만 semantic 차이와 dimensional 차이로 인해 어려움이 있다.

1) Semantic 차이를 해결하기 위한 방법: Contrastive learning 기법 활용

2) 모달리티 간 dim mismatch: Cross-modal attention 메커니즘 활용

 

이 외에, Multimodal transformers 방식도 활용되고 있다.
Temporal alignment 측면에서도 새로운 어텐션 방식

- ALiBi: Attention with Linear Biases

- Biased Cross-Modal Attention

 

두 명 간의 상호작용을 모델링하기에 어려움이 있다.


3 PROBLEM FORMULATION

MAFRG의 목표: 주어진 화자의 시퀀스에 반응하여 얼굴 반응을 생성할 수 있는 모델을 개발하는 것

문제를 수식으로 정의하면 다음과 같다:


4 METHODOLOGY

청자의 얼굴 반응을 생성하는 것은 cognitive processes로 인해 시간 delay가 발생하기 때문에 본 논문에서는 small time window를 정의한다(w=8).

 

화자의 audio-visual은 두 부분으로 나눌 수 있다.

1) 이전 시간 구간 동안 표현된 화자의 audio-facial behavior

2) 현재 시간 구간 동안 표현된 화자의 audio-facial behavior

따라서 다음과 같이도 표현할 수 있다:

X: 원래의 audio 신호F: 2D 얼굴 이미지 시퀀스

 

ReactFace 모델은  3가지 정보를 기반으로 현재 어떻게 반응할지를 보여주는 3D 얼굴 반응 세그먼트를 생성한다.

1) 이전 generated/predicted 얼굴 반응 시퀀스

2) 이전 화자 행동

 

이후 하위 섹션에서는 다음 내용을 설명한다.

4.1 ReactFace 전체 프레임워크 개요

4.2 다중 얼굴 반응 생성 전략

4.3 화자-청자 행동 동기화 모듈

4.1 The ReactFace Framework

ReactFace의 전체 프레임워크는 네 가지 주요 모듈로 구성된다.


1) MSBEA: Multi-modal Speaker Behavior Encoding and Alignmen

화자의 오디오와 얼굴 표정 비디오를 입력 받아 임베딩으로 인코딩한다.

SE: pretrained wav2vec2.0 활용

k는 음성 프레인을 추출할 때 사용되는 샘플링 비율로 얼굴 프레임보다 k배 더 자주 샘플링됨을 의미한다(음성 인코더 설정에 따라 달라짐).

2D FSE: 3D convolution layer와 transformer layer로 구성되어 있다.

그 후, 모달리티 정렬 모듈 적용

PMA: Alignment bias를 가진 coross attention 기반 transformer

구성되며 화자의 두 모달의 임베딩을 point-to-point 방식으로 정렬한다.

 


2) AFRG: Appropriate Facial Reaction Generation


Conditional Interaction Encoder(CIE)를 이용해 현재 시점 [t−w+1,t] 동안의 여러가지의 얼굴 반응 세그먼트를 표현하는 분포를 예측

이 분포는 3가지 요소를 기반으로 예측한다.

- 화자의 오디오와 비디오(프레임)

- 청자의 이전 반응 

- 학습가능한 토큰 2개

 

그 후, Listener Reaction Decoder(LRD)는 샘플링된  z를 받아 3D로 디코딩한다.

 

3) SLBS: Speaker-Listener Behaviour Synchronisation

 

SLBS 모듈은 매 𝑤프레임마다 생성된 얼굴 반응을 화자의 현재 행동과 동기화한다.


4) FRV: Facial Reaction Visualisation
생성된 3D를 2D 얼굴 프레임으로 변환하기 위해 PIRender를 재학습하여 FaceVerse 3DMM에 맞게 조정한다.

렌더링 네트워크는 생성된 3DMM 계수와 특정 청자 얼굴을 나타내는 reference portrait를 입력으로 받아 청자의 얼굴 반응이 담긴 2D 이미지 시퀀스를 출력할 수 있다.

4.2 Appropriate Facial Reactions Generation

AFRG 모듈은 세 가지 블록으로 구성된다.

1) CIE

2) Sampling Block

3) LRD

 

블록 하나씩 살펴보면,

1) Conditional Interaction Encoder (CIE)

3개의 트랜스포머 인코더 레이어로 구성된 variational encoder이다.

Input:

- 동기화된 화자의 이전 음성 및 얼굴 임베딩

- 두 개의 토큰(𝜇, 𝜎)​

Ouput:

- 평균 벡터

- 표준편차 벡터

화자 행동에 반응하여 적절한 얼굴 반응들을 설명하는 정규 분포를 구성한다.

 

2) Sampling Block

t프레임에 해당하는 latent embedding 하나를 샘플링한다.

 

시간 구간에 대응되는 w개의 latent vector 시퀀스를 얻기 위해 linear interpolation을 수행한다.

즉, 하나의 샘플링으로 나머지는 interpolation을 해서 8장으로 늘리는 것이다.

 

현재 시간의 청자 얼굴 반응 프레임은 모두 이전에 예측된 (t−w)번째 얼굴 반응 프레임을 기반으로 생성되며, 이전 프레임들과의 연속성이 보장된 얼굴 반응 시퀀스가 생성된다.

 

3) LRD: Listener Reaction Decoder

key와 value: positional encoding sequence

query: embedding sequenceCross-Attention 수행

 

positional encoding은 sin, cos 기반의 함수를 사용해서 계산된다. 

4.3 Speaker-listener Behaviour Synchronisation

청자, 화자 동기화 필요성

사람의 얼굴 반응은 시공간적 신호로, 특히 시간 축에서 화자의 행동과 밀접하게 연관되어 있다.

따라서, 생성된 얼굴 반응을 해당 화자의 행동과 제대로 동기화하는 것은 반응이 적절하고 사실적으로 보이게 하기 위한 중요한 요소다.

SLBS(Speaker-Listener Behaviour Synchronisation) 

1) Visual Interaction Model (VIM)

3D 얼굴 반응 임베딩을 정렬된 화자 얼굴 임베딩과 동기화한다.

2) Modality Interaction Model (MIM)

동기화된 얼굴 반응을 해당 시점의 화자 음성 임베딩과 동기화한다.

 

생성된 얼굴 반응 프레임은 화자의 비언어적 얼굴 표정과 언어적 (음성) 모두와 동기화되어 생성된다.

 

본 논문에서는 VIM과 MIM 모두 Cross-Attention 연산으로 구현되며 새로운 Alignment bias가 도입된다.

Alignment bias는 시간적으로 시점 i에 가까운 화자의 행동일수록 해당 시점에서 생성되는 얼굴 반응에 더 큰 영향을 준다는 가정에 기반하며, 

1) 시간 축 상에서 생성된 얼굴 반응이 해당 시점의 화자 행동과 잘 동기화되도록 유도하고

2) 각 얼굴 반응 프레임이 현재 시점 이전까지의 정보만을 반영할 수 있도록 보장한다.

 

Alignment bias가 포함된 Cross-Attention은 다음과 같다.

𝑖: 얼굴 반응 프레임 인덱스

𝑗: 화자 얼굴 프레임 (VIM) 또는 화자 음성 프레임 (MIM) 인덱스

𝑘: 음성 프레임이 얼굴 프레임보다 𝑘배 더 자주 샘플링된다는 비율

𝑝: 전체 프레임을 유닛 단위로 나누기 위한 윈도우 크기

 

1. 현재 반응(i)과 과거 정보(j) 사이의 시간 거리 계산

2. p(논문에서는 8로 설정)로 나누기

3. k곱: 서로 다른 속도의 두 데이터(얼굴, 음성)의 시간 축을 동일하게 맞춘다.

 

- 시점이 가까운 프레임일수록 행동 패턴이 유사하다는 사람 행동의 자연적 특성을 반영

- 지나치게 과거 프레임에 낮은 attention이 집중되지 않도록 하여 long-range context도 충분히 반영되도록 유도

Attention 연산에서는 각 유닛 내의 프레임들을 동일하게 취급하며 시간 간격에 따라 점진적으로 감소하는 음수 값으로 bias가 주어진다.

또한, 이 편향 행렬의 upper triangle은 모두 (−∞)로 설정되어 있다.

각 얼굴 반응 프레임이 오직 현재 또는 과거의 화자 행동 정보만을 참조한다.

4.4 Loss functions and training strategy

4.4.1 Training Strategy

ReactFace 모델은 다음의 5가지 손실 함수를 공동 최적화하는 end-to-end 방식으로 학습된다:

 

1) 반응 생성 손실

2) 화자 얼굴 복원 손실

3) KL 발산 손실

4) 시간적 부드러움 손실

5) 다양성 손실

4.4.2 Loss Functions

MSBEA가 입력으로 들어온 화자의 얼굴을 얼마나 정확하게 복원하는지 측정

L1 손실을 사용하여 (원본 화자 얼굴-모델이 복원한 화자 얼굴) 차이를 계산

 

모델이 특정 상황에 대한 반응이 잘 생성이 되었는지 확인하기 위해 미리 정의된 여러 개의 실제 반응들 집합과 모두 비교한다.

그 집합 중에서 모델이 생성한 것과 가장 비슷한(min) 반응을 하나 찾고 오차를 계산한다.

 

 

하나의 동일한 상황에 대해 모델에게 M개(훈련 시 3개)의 다른 반응을 생성한다. 생성된 M개의 반응들을 두 개씩 짝지어, 모든 쌍(i와 j)이 서로 얼마나 비슷한지 거리를 측정한다. 

두 반응이 매우 비슷하면 → 결과값이 1에 가까워진다.

두 반응이 매우 다르면 → 결과값이 0에 가까워진다.

페널티 부여: 유사도 점수들의 총합

즉, 생성된 반응들이 서로 비슷할수록 손실 값은 커지고, 서로 다를수록 손실 값은 작아집니다.

 

이 손실은 VAE(Variational Autoencoder) 계열 모델의 안정적인 학습을 위한 필수 요소입니다.

역할: 모델이 학습하는 잠재 공간(latent space)의 분포 N(μ, σ)가 너무 제멋대로 뻗어나가지 않고, 표준 정규분포 N(0, I)에 가깝게 유지되도록 규제합니다.

 

이 손실은 생성된 영상이 물리적으로 자연스럽게 보이도록 만든다. 생성된 영상에서 프레임 간 움직임이 갑자기 튀거나 뚝뚝 끊기는 현상(Jitter)을 방지한다. (t-1)에서 (t)로의 움직임(속도)과 (t-2)에서 (t-1)로의 움직임(속도)이 서로 비슷해지도록 만든다.


5 EXPERIMENTS

이 장에서는 다음과 같은 순서로 실험 내용을 설명한다.

5.1 사용된 데이터셋 설명

5.2 모든 실험 세팅 제시

5.3, 5.4 ReactFace와 여러 베이스라인 모델들 간의 정성적 및 정량적 성능 비교

5.5, 5.7, 5.9에서는 Ablation study, perceptual study, failure case에 대해 논의한다.

5.1 Datasets

ReactFace는 REACT2023 Challenge에서 제공된 하이브리드 비디오 컨퍼런스 데이터셋을 활용해 평가된다.

데이터셋은 총 2,962개의 2인 상호작용(dyadic interaction) 세션으로 구성되어 있으며 구성은 다음과 같다.

Training examples: 1,594개

Validation examples: 562개

Test examples: 806개

이 데이터는 두 개의 기존 비디오 컨퍼런스 데이터셋에서 수집되었다:

RECOLA

NOXI 

UDIVA (사용x)

 

⬇️ RECOLA ⬇️

https://ieeexplore.ieee.org/document/6553805

⬇️ NOXI ⬇️

https://dl.acm.org/doi/10.1145/3136755.3136780

 

각 세션은 30초 길이이며 두 명의 참여자 간 상호작용을 나타내는 오디오-비주얼 클립 쌍으로 이루어져 있다.

또한, 객관적인 appropriate facial reaction에 대한 어노테이션은 [22]에서 제안된 전략을 기반으로 자동 생성되었다.

 

⬇️ REACT2023 Challenge ⬇️

https://dl.acm.org/doi/10.1145/3581783.3612832

5.2 Experimental Setup

5.2.1 Implementation Details

본 실험에서는 다음과 같은 설정으로 ReactFace 모델을 학습하였다:

✔️Input speaker image sequence: 224 × 224

✔️Optimizer: AdamW 

✔️Learning rate: 2e−5, β₁ = 0.9, β₂ = 0.999

✔️Minibatch size: 4

 

✔️Loss Term Balancing Hyper-parameters(4.4.1절의 손실 함수 항들에 대한 하이퍼파라미터 설정)

 

✔️또한, 4.2에서 사용된 momentum parameter 'α'는 경험적으로 0.999로 설정되었다.

 

✔️구현: PyTorch

✔️GPU: Tesla A100 80GB 200 epochs

✔️3DMM(3D Morphable Model) 모델: FaceVerse

✔️FaceVerse 계수 정의:

1) Expression coefficients:

 

2) pose coefficients

θ (3-dimensional translation and the 3-dimensional rotation)
→ 즉, 각 얼굴 프레임당 총 58 coefficients를 포함한다.

 

FaceVerse 모델을 사용한 이유

FaceVerse의 expression coefficient는 ARKit의 블렌드셰이프(blendshape)와 1:1로 대응되며

다음과 같이 명확하고 사람이 해석 가능한 의미를 갖는 요소로 정의된다:

browInnerUp

eyeLookDownRight

jawOpen

mouthFunnel

noseSneerRight, tongueOut 등

기존의 3DMM 시스템들이 사용하는 PCA 기반 블렌드셰이프와는 대조적이다.

PCA 기반 방식은 주성분 축을 따라 얼굴을 변형시키기 때문에 직관적 해석이 어렵다.

ARKit 기반 FaceVerse의 장점

표정 근육의 micro-expression을 더 정교하게 표현할 수 있음

결과적으로 더 정확하고 현실적인 표정 묘사 가능

5.2.2 Baselines

 

1) 다섯 가지 베이스라인 모델

Mirror: 화자의 얼굴 움직임을 그대로 복제하여 반응을 생성하는 방식

Random: 가우시안 분포에서 무작위로 표정 반응을 샘플링

NN motion: 현재 화자의 모션 시퀀스와 가장 가까운(Nearest Neighbor) 모션 시퀀스를 검색한 뒤, 상응하는 청자의 반응 시퀀스를 반환

NN audio: 화자의 오디오 신호를 기반으로 최근접 이웃을 탐색

Trans-AE: 트랜스포머 기반 오토인코더 모델로, ReactFace와 동일한 화자 행위 인코더 및 정렬 모듈을 사용하지만 단순한 디코더 구조로 반응 시퀀스를 출력한다.

 

2) 기존 최신 얼굴 반응 생성 기법

LFT: flow 기반 생성 모델로, 청자의 머리 움직임 생성에서 뛰어난 성능을 보였다.

Ng et al.: 화자의 3DMM 계수와 오디오 신호를 입력으로 받아, 모션-오디오 cross-attention transformer를 사용하는 VQ-VAE 기반 모델

Zhou et al.: LSTM 기반 시퀀스-투-시퀀스 모델로, 화자의 3DMM 계수, 다양한 오디오 특성 그리고 청자의 첫 프레임 3DMM 초기값을 입력으로 받아 청자의 3DMM 시퀀스를 출력한다.

 

⬇️ LFT 논문 아카이브 링크 ⬇️

https://arxiv.org/abs/2006.09888

⬇️ Ng et al. 논문 아카이브 링크 ⬇️

https://arxiv.org/abs/2204.08451

⬇️ Zhou et al. 논문 아카이브 링크 ⬇️

https://arxiv.org/abs/2112.13548

공정하고 포괄적인 비교를 보장하기 위해 Zhou et al.에서 사용된 RLD 데이터셋에 대한 실험 결과도 추가로 제시한다. 최종 얼굴 반응 생성을 위해 본 연구와 동일한 프로토콜을 따랐으며 Zhou et al.와 동일한 3D 형태 모델(3DMM) 시스템을 활용하였다.

5.2.3 Evaluation Metrics

ReactFace 논문에서 사용한 Evaluation Metrics는 총 5가지 항목을 기준으로 한다.

Appropriateness FRCorr 실제 반응과의 유사성
Diversity (1) FRDvs 다른 입력 간 생성 다양성
Diversity (2) FRDiv 같은 입력에 대한 다양한 샘플 생성
Diversity (3) FRVar 한 클립 내의 표정 변화도
Realism FVD 얼마나 실제 같은가
Synchrony TLCC 시간적으로 화자 행동과 잘 맞는가
Speed FPS 얼마나 빠르게 생성 가능한가