Super Kawaii Cute Cat Kaoani Listen, Denoise, Action!Audio-Driven Motion Synthesis with Diffusion Models 논문리뷰(3) - 실험2

연구/논문 리뷰

Listen, Denoise, Action!Audio-Driven Motion Synthesis with Diffusion Models 논문리뷰(3) - 실험2

치킨고양이짱아 2023. 10. 20. 12:40
728x90
728x90

네버엔딩 실험...논문 지인짜 길다ㅋㅋㅋㅋㅋㅋ흑

5 PRODUCTS OF EXPERT DIFFUSION MODELS

이 세션에서는 classifier-free guidance 아이디어를 확장해서 여러 diffusion model을 결합하는 product of expert 아이디어에 대해 설명하고 있음.

5.1 Theory

원래 classifier free guidance 식은 위와 같음

근데 이제 위의 식 두 개를 섞어 s_1의 스타일을 (1-lambda)만큼 반영하고 s_2의 스타일을 lambda만큼 반영하는 식으로 확장시켰음. 즉 두 스타일을 blend할 수 있음. 이걸 guided interpolation이라고 부를거임. 0이랑 1 사이에 속하지 않는 값을 골라서 특정 스타일이 더 명확하게 보이게 하는 것도 가능함

이 방식은 인페인팅 방식과 완전 다름. 인페인팅은 diffusion model을 사용해서 누락된 포즈나 관절 데이터를 채우는 작업인데 guided interpolation은 확산 모델이 생성한 확률 분포 사이를 보간하는거임. 

그리고 이 아이디어는 두 개 이상의 모델로 확장이 가능함. 2개 이상의 모델을 guided interpolation 했을 때의 식은 다음과 같음

이때 interpolation시키는 모델들은 항상 같은 모델일 필요도 없고, 동일한 데이터에서 훈련되었어야할 필요도 없음. 심지어 동일한 조건을 input으로 받을 필요도 없음. 출력 공간만 일치하면 됨.

diffusion model을 학습시키는데 사용하는 score-matching의 목표는

이 값을 근사하는 것인데 (8)과 같이 제안된 모델은 여러 다른 denoising distribution의 곱을 기반으로 denosing step을 밟는걸로 볼 수 있음. 이게 무슨 말이냐면, (8)과 같은 식으로 만들어낸 결과가 서로 다른 diffusion model의 결과를 잘 조합하고 있다는 의미

이게 여러 확률밀도함수의 곱으로 나타난 다음 식이 성립한다.

(5)은 모델 하나일때의 식임. (9)에서 지수의 합이 1이 되도록 하여 probability-concentration issues를 회피하도록 하였다. 이건 특정 값 또는 범위로 분포가 수렴해서 분포의 다양성이 부족해지는 현상임

 

 

 

이런 메커니즘은 전통적인 딥러닝 모델에서 intermediate conditioning information을 만드는 메커니즘이랑 완전히 다르다.

  • 1) 기존 메커니즘 중 하나는 두 입력을 평균화하는 건데 이렇게 하면 이전에 볼 수 없는 입력이나 정의되지 않은 동작들을 초래할 수 있음. 특히 style label이 discrete한 경우에 현상이 더 심하다.
  • 2) 또 다른 메커니즘 중 하나는 두 latent space를 embedding 하는건데 이것 역시 학습 중에 경험하지 못했던 latent space가 나와서 모델이 이해하지 못한 영역에서 결과가 생성될 수 있음

여기서 제안하는 방법은 2개의 conditional input을 보간하는 대신, 여러 conditional diffusion model의 behavior 사이를 보간해서 부자연스러운 동작이 나올 가능성을 줄였음. 이게 가능한 이유는 각 diffusion process가 독립적으로 x_n을 output 공간의 영역으로 이동시키기 때문

Products of experts은 diffusion model을 조합하기에 매우 좋은 패러다임임. 여러 expert를 조합해서 사용하면 각 expert가 각각 확률이 높은 영역으로부터 결과를 만들어내고 이를 조합하기 때문에 모델의 품질이 좋음. 이렇게 귀납적 편향으로 만들어내기 때문에 결과가 좋은 것이며 GAN에서도 결과의 품질이 좋은게 같은 이유임. 

그동안 products of experts를 합성작업에서 샘플링하기는 어렵다고 여겨져왔음. 특히 고차원에서는 더 어렵다고 여겨졌음. 하지만 diffusion model은 비표준 모델에서도 샘플링할 수 있고, 몇 단계를 거쳐서 좋은 결과를 제공할 수 있어서 product of expert를 적용해서 합성작업에 사용하기에 매우 적절함 

 

5.3 Experiments

Interpolation between gesture styles

모션에서 제품 모델 확산 모델의 효과를 시연하기 위해 서로 다른 제스처 스타일 사이에서의 가이드된 보간 실험을 수행한 것을 의미합니다. 이 실험에서는 제스처 스타일 조건부 모델의 예측을 두 가지 다른 스타일 입력을 사용하여 혼합하면서 스타일 간의 보간 효과를 시연했습니다.

스타일 보간은 모션의 모양 측면뿐만 아니라 제스처 빈도와 속도와 같은 시간적 측면에도 영향을 미쳐야 합니다. 모양 측면을 조사하기 위해 우리는 또한 speech 임의의 시드를 동일하게 사용하여 구부러진(hunched over) 스타일과 화난(angry) 스타일 사이에서 보간을 수행했습니다. 결과는 그림 7에서 시각화되었습니다. 우리는 구부러진 스타일에서 똑바로 있는 스타일로 보간함에 따라 캐릭터의 전체 포즈에서 명확한 진행이 나타나는 것을 있습니다.

gesture style 간의 보간은 서로 다른 제스처 스타일 사이에서 guided interpolation 실험을 수행했음. 이 실험에서는 gesture style conditioned model에 서로 다른 두가지 스타일 입력을 사용하였고 이 둘의 결과를 혼합하면서 스타일 간의 보간 효과를 시연하였음. 

이때 모션의 모양 뿐만 아니라 제스처 빈도나 속도같은 시간적 측면에도 영향을 미쳐야함. 일단 모양 측면을 비교하기 위해 old style랑 angry 스타일을 보간하였음. 아래 그림과 같이 old 스타일이 구부러진 스타일이고 angry가 똑바로 서있는 느낌인데 보간이 잘되고 있는 것을 볼 수 있음

 

제스처의 시간적 측면을 비교하기 위해 still이랑 public speak 스타일 사이의 보간을 수행함. public speak는 매우 활발한 스타일이고 still 스타일은 거의 움직임이 없음.

10초 동안의 모션을 나타낸건데 public speak 스타일로 갈수록 움직임의 범위가 커지고 활발해지는 것을 볼 수 있음

그리고 방금 살펴본 결과에 추가적인 내용을 전달하기 위해 interploation된 제스처에 대해 objective evaluation도 진행하였음. 𝛾 = {−0.25, 0, . . . , 1.25}인 결과에 대해 evaluation을 진행하였고 3D 공간 상에서 각 프레임에 대해 이전 프레임으로부터의 양 손목의 이동 벡터 평균크기를 계산했습니다

still이랑 interpolation을 진행한 결과들인데 still의 영향이 클수록 손목의 움직임이 느리고 still의 영향이 작아질수록 손목의 움직임이 빨라지는 것을 볼 수 있음

Interpolating between locomotion styles

제스처 외에도 interpolation을 수행하여 실험하였음. locomotion style인 에어플라인 스타일과 하이니스 스타일에 대해 보간을 수행했는데 비디오에 관련 영상이 있음. 하이니스 스타일을 과장했을 때는 팔이 원본 하이니스 스타일보다 더 몸에 더 가깝게 있음. 그리고 에어플라인 스타일로 갈수록 팔이 몸에서 점점 멀어짐

Dynamically transitioning between styles

정적인 스타일 보간 뿐만 아니라 gamma가 t에 따라 점진적으로 변하도록 해서 dynamic하게 스타일을 바꾸는 것도 가능함. 이것도 비디오에서 확인할 수 있음

Combining highly different models

여기서는 매우 다른 데이터셋으로 훈련시키고, 매우 다른 condition input을 가지는 두 모델을 결합하는 실험을 진행함. style conditioned dance 모델이랑 MMA 격투기 동작을 수행하는 모델과 결합을 진행해봄. MMA 선수가 파트너와 스패링 중에 미치는 , 펀치, 엘보, 그리고 무릎으로 공격 목표를 치는 동작을 녹화한 모션 캡처 데이터셋에서 훈련이 되었으며 총 8가지 동작만 수행할 수 있도록 condition input이 여덟개의 이진 값으로 표현되었음. dancing 모델과 이를 결합시키기 위해서 음악의 비트(비트 시작 특성 사용) 따라 킥과 펀치를 하는 작은 안무들을 만들어서 음악과 동기된 격투 동작을 만들도록 하였음

두 모델을 50:50으로 보간한 결과, 캐릭터는 비트에 맞게 움직이긴 하지만 명확한 격투 동작이 나오진 않음. 또한 손의 높이가 일반적인 댄스보다 격투 동작에 적합한 높이로 높게 나타나는 현상을 볼 수 있었음. 이것도 비디오에서 확인할 수 있음

 

728x90
728x90