본문 바로가기
paper

EDGE

by 기록 주인 2024. 9. 15.

EDGE



 Method

 

Pose Representation 

이 연구에서 춤 동작을 표현할 때는 24개의 관절로 이루어진 SMPL 형식을 사용하며, 각 관절에 대해 6 자유도 회전을 사용한다. 또한, 발뒤꿈치와 발가락에는 지면 접촉 여부를 나타내는 이진 접촉 라벨이 포함된다. 전체 포즈는 24*6+3=147차원으로 표현되고, 접촉 라벨 4를 더해 최종적으로 151차원의 벡터로 나타낸다.

-> 24개의 관절 *6개의 회전자유도 + root관절의 위치 3차원(x,y,z) + 발뒤꿈치 왼,오 + 발가락 왼,오 = 총 151차원의 벡터를 사용해서 사람의 움직임을 표현한다.

 


Diffusion Framework 

연구에서 사용하는 확산 모델은 DDPM(Denoising Diffusion Probabilistic Models) 방식에 따른다. 이 모델은 데이터에 노이즈를 점차적으로 추가하는 과정(Forward Process)과 이 노이즈를 제거하여 원래 데이터를 복원하는 과정(Reverse Process)을 학습한다. 데이터는 일정한 노이즈를 섞은 상태에서 시작해 이를 단계적으로 줄여가며 실제 데이터를 재구성한다.

 

(1) Forward Process (노이즈 추가 과정)

Forward Process는 주어진 데이터(예: 이미지, 동작 데이터 등)에 점진적으로 노이즈를 추가하는 과정이다. 이 과정은 **마르코프 연쇄(Markov Chain)**에 기반하며, 데이터를 각 스텝에서 점점 더 노이즈가 섞인 형태로 변환한다.

 

이 과정은 데이터를 점차적으로 무작위화하며, 마지막 타임스텝 T에서는 데이터가 완전히 가우시안 노이즈로 변환된다. 즉, 원본 데이터가 아닌 무작위한 노이즈 데이터가 된다.

 

(2) Reverse Process (노이즈 제거 과정)

Reverse Process는 Forward Process의 반대 과정으로, 모델이 노이즈를 제거하여 원래 데이터를 복원하는 과정이다. 이 과정은 확률적인 방식으로 진행되며, 각 단계에서 노이즈를 줄여가며 원본 데이터를 복원하는 것을 목표로 한다.

 

모델은 θ라는 파라미터를 학습하여, 현재 시점에서 노이즈가 섞인 데이터를 받아 그 데이터를 노이즈가 적은 상태로 변환하는 방법을 배운다. 이 과정은 역방향으로 반복되며, 마지막에는 완전히 노이즈가 제거된 원래 데이터를 복원하게 된다.

 

(3) Loss Function (손실 함수)

모델의 학습은 손실 함수를 통해 이루어진다. DDPM에서는 주로 L2 손실을 사용하여, 모델이 예측한 노이즈와 실제 노이즈 간의 차이를 최소화한다. 이를 통해 모델은 각 단계에서 노이즈를 얼마나 잘 제거할 수 있는지를 학습한다.

 

이 손실 함수를 최소화함으로써, 모델은 노이즈 제거 능력을 점차적으로 향상시키게 된다.

 

-> 노이즈를 추가하는 이유는 데이터를 점진적으로 무작위화함으로써, 모델이 데이터의 복잡한 분포를 학습할 수 있도록 도와주는 것이다.

-> 노이즈를 제거하는 과정을 통해, 모델은 점진적으로 데이터를 복원하고 이를 바탕으로 고품질의 데이터를 생성하는 법을 학습한다.

 

 


Auxiliary Losses (보조 손실 함수)

이 모델에서는 물리적 사실성을 높이기 위해 여러 보조 손실 함수를 사용한다. 주요 보조 손실 함수로는 관절 위치 손실, 속도 손실, 그리고 발 접촉 일관성 손실이 있다. 각각의 손실 함수는 모델이 생성하는 동작이 더 현실적이고 자연스럽게 보이도록 돕는다.

 

(1) 관절 위치 손실 (Joint Position Loss) 

: 관절 위치 손실은 모델이 예측한 관절의 위치와 실제 관절 위치 사이의 차이를 최소화하는 손실 함수다. 이를 통해 각 프레임에서 관절이 정확한 위치에 있도록 학습한다.

 

 

(2) 속도 손실 (Velocity Loss)

:  속도 손실은 동작의 연속성을 유지하기 위해 각 프레임 간 속도 변화를 실제와 비슷하게 만들도록 한다. 즉, 모델이 예측하는 동작이 부드럽게 이어지도록 돕는다.

 

 

(3) 발 접촉 일관성 손실 (Contact Consistency Loss)

: 발 접촉 일관성 손실은 모델이 예측한 발 접촉 상태가 실제 접촉 상태와 일치하도록 하며, 발이 지면에 닿아 있을 때 발이 고정된 상태로 남아 미끄러지지 않도록 학습시킨다.

 

 


Sampling and Guidance 

모델은 각 타임스텝에서 노이즈를 제거하고 이전 단계로 다시 노이즈를 추가하는 과정을 반복한다. 이때, Classifier-Free Guidance라는 방법을 사용하여 조건부 생성과 무조건부 생성을 조합해 더욱 높은 품질의 결과를 얻는다. 

 

  • 조건부 생성(Conditional Generation): 특정 조건(예: 음악, 텍스트)에 맞춰 데이터를 생성하는 방식이다. 예를 들어, 음악에 맞는 춤 동작을 생성하거나 텍스트에 맞는 동작을 생성하는 경우, 모델은 해당 조건에 맞춰 데이터를 생성하게 된다.
  • 무조건부 생성(Unconditional Generation): 특정 조건 없이 데이터를 생성하는 방식이다. 이때 모델은 데이터의 일반적인 분포를 바탕으로 생성 작업을 수행한다.

 

 

 

이 방식의 장점은, 조건부 생성의 정확도를 높이면서도 무조건부 생성의 유연성을 유지할 수 있다는 것이다. 가령, 음악을 기반으로 춤을 생성하는 경우, 조건부로는 음악에 맞는 동작을 생성하면서도 무조건부 생성이 가진 일반적인 동작 분포를 활용해 더 자연스러운 동작을 만들 수 있다.

 

일반적인 조건부 생성 방식에서는 모델이 분류기(classifier)를 사용해 조건을 강하게 반영하게 된다. 그러나 이 방식은 때때로 분류기의 오류로 인해 조건이 너무 강하게 적용되어 부자연스러운 결과를 초래할 수 있다. Classifier-Free Guidance는 분류기를 사용하지 않고 조건부와 무조건부 샘플을 조합해 더 자유롭게 생성 작업을 조정할 수 있게 한다.

 


Editing 

EDGE 모델이 생성한 춤 동작을 사용자가 편집할 수 있도록 지원하는 방법을 설명하고 있다. 확산 모델에서 사용하는 마스킹 기법(masked denoising)을 이용해 특정 구간이나 관절을 고정한 상태로 나머지 동작을 생성한다.

 

이 수식은 마스크 m에 따라 고정된 부분은 그대로 유지하고, 나머지 부분은 모델이 새로운 동작을 생성해 자연스럽게 이어지도록 한다.

 

x_known이 첫 번째와 마지막 프레임의 동작을 포함한 경우, 모델은 그 사이의 동작을 자동으로 생성해 부드러운 연결을 만들게 된다.

마스크 m이 첫 번째와 마지막 프레임에서는 1로 설정되고, 중간 프레임은 0으로 설정되면, 중간 프레임은 모델이 자연스럽게 생성하게 된다.

 

 

 


Long-form Sampling 

EDGE는 긴 시퀀스를 생성하기 위해 편집 가능성을 활용한다. 시퀀스를 생성하고 이를 하나의 긴 시퀀스로 연결 및 확장하는 방식으로 계산 비용을 줄인다.

 

 


Model Architecture 

 

(1) 음악 임베딩

: EDGE 모델은 Jukebox 모델을 사용하여 음악의 특징을 임베딩하고, 이를 Transformer Encoder에 입력으로 제공한다.

Jukebox (Frozen):

이때 Jukebox는 고정된 상태(frozen)로, 새로운 학습을 진행하지 않고 이미 학습된 음악 임베딩을 제공하는 역할만 한다.

Diffusion Timestep:

각 프레임의 노이즈 제거 단계에서 시간 정보를 포함하는 요소로, 노이즈를 어느 정도 제거해야 하는지를 결정하는 데 사용된다.

 

(2) Transformer 디코더 구조

: 디코더 블록은 EDGE 모델의 핵심적인 부분으로, 음악 임베딩과 노이즈가 섞인 춤 동작 시퀀스를 바탕으로 최종 예측된 춤 동작을 생성하는 역할을 한다.

MLP (다층 퍼셉트론)

: 간단한 신경망 구조로, 음악 임베딩과 노이즈 시퀀스를 결합하는 역할을 한다.

Dense FiLM (Feature-wise Linear Modulation)

: FiLM 기법은 음악 임베딩과 춤 동작 시퀀스를 조화롭게 결합하는 방식으로, 음악의 특징이 춤 동작에 자연스럽게 반영되도록 돕는다.

크로스 어텐션(Cross-Attention)

: 음악 임베딩과 현재의 춤 동작 시퀀스 간의 상호작용을 학습한다. 이를 통해, 음악의 리듬과 템포에 맞춰 춤 동작을 생성할 수 있게 된다.

Self-Attention

: 각 시퀀스의 프레임 간 관계를 학습하여 춤 동작이 부드럽게 연결되도록 돕는다.

** 셀프 어텐션은 같은 시퀀스 내에서의 상호작용을, 크로스 어텐션은 서로 다른 시퀀스(음악과 동작) 간의 상호작용을 학습하는 데 사용된다.

 

(3) 노이즈 시퀀스 → 예측된 시퀀스 (Noisy Sequence → Predicted Sequence)

: EDGE 모델은 노이즈 시퀀스(초기 상태)에서 시작해 점진적으로 노이즈를 제거하여 예측된 춤 동작 시퀀스를 생성하는 방식으로 작동한다.

z_t:

모델이 처음 받는 노이즈가 섞인 시퀀스이다. 이 시퀀스는 무작위의 노이즈로 시작하며, 이 노이즈를 점차 제거해가면서 원래의 춤 동작으로 복원한다.

Diffusion Process:

노이즈가 섞인 상태에서 시작해, 각 타임스텝에서 점차적으로 노이즈를 제거하며 춤 동작을 복원해 나간다. 이를 역방향 확산 과정(Reverse Diffusion Process)이라고 한다.

최종 예측된 시퀀스 :

모든 노이즈 제거가 완료되면 음악에 맞는 예측된 춤 동작 시퀀스가 생성된다.

 

 

 



Dataset

실험에서는 AIST++ 데이터셋을 사용했다. 이 데이터셋은 1,408개의 고품질 춤 동작다양한 음악 장르가 쌍을 이루고 있으며, 이를 통해 모델을 학습하고 테스트한다. 모든 훈련 예시는 5초 길이로 잘라서 사용하며, 30 FPS로 훈련시킨다.

 

 



Baselines

실험에서는 최신 춤 동작 생성 방법들과 EDGE 모델을 비교한다. 기준 모델로는 FACTBailando라는 방법들을 선택했다.

  • FACT: AIST++ 데이터셋에서 훈련된 자동 회귀 모델이다.
  • Bailando: 춤 동작 생성에서 가장 강력한 성능을 보여주는 모델 중 하나다.

 



Results

  • EDGE 모델은 다양한 물리적 타당성, 박자 정렬, 다양성 등의 측면에서 기존 모델들보다 뛰어난 성능을 보여준다.
  • Jukebox 임베딩을 활용해 현장 음악에서도 좋은 성능을 발휘할 수 있다.
  • Contact Consistency Loss(CCL)는 물리적으로 자연스러운 동작을 생성하는 데 중요한 역할을 한다.

 

 

 

'paper' 카테고리의 다른 글

EDGE: 코드 구현  (7) 2024.09.21
AI Choreographer: Music Conditioned 3D Dance Generation with AIST++  (4) 2024.09.16
Music-Driven Group Choreography  (0) 2024.09.15