Search
Duplicate
🎃

Yu Qi et al. (2019) Music Driven Dance Generation

최종 업데이트
8/2/2021, 8:02:43 AM
Tags
Paper
일시
2021/08/03
작성자
Junseop So
포스팅 종류
논문정리
✅ main

Abstract

VR 등에 적용이 가능한 춤동작 합성 모델을 소개
춤 동작과 비트 사이에 자연스러운 춤 동작 생성
생성된 춤 동작이 자연스럽게 변화 차이가 있어야 한다.
Seq2Seq에 Attention을 적용한 모델 사용
Encoder - Decoder (+ attention)
Cross domain에서 Seq2Seq 모델을 사용
평가에선 레퍼런스에 없는 기준으로 테스트셋 구성
춤 데이터셋은 음악과 연관된 춤 동작을 포함하고 있다.

Intro & Related work

Audio to video 분석은 cross domain sequence analysis의 특별한 경우
기본적으로 Audio와 video의 상관 관계는 크지 않다.
Music 과 Dance의 상관 관계는 큰편이다.
Music beat와 춤동작의 beat는 관련이 깊다.
따라서 Cross domain 분석이 가능하다.
춤동작 생성(Dance movement generation)에는 HMM, LSTM 등을 이용한 접근법
GrooveNet이 많은 역할을 한 것 같다. (아직 못찾아봄)
Music beat 기반으로 춤 동작을 생성하는 모델인 듯
GAN based Encoder, Decoder 모델
Seq2Seq 모델에 대한 설명 (Attention이 추가된 후 좋은 성능 발휘)

Workflow

Music feature extraction

이 논문에서 music feature는 MFCC(Mel Frequency Ceptral Coefficients)를 사용
FFT → Spectrogram → Mel-spectrogram → discrete cosine transform → MFCC
MFCC feature를 뽑아도 video와 1 on 1 mapping이 되진 않음
Hop size를 조절해 music and video가 같은 프레임 레이트를 가지도록 조절
Video와 interval을 맞추기 위해서 FFT window size를 조절했다.
wsize ⇒ windowing size
M ⇒ total number of samples of the music
이 방법으로 음악 데이터를 비디오 프레임에 맞는 MFCC feature로 뽑을 수 있다.

Video feature extraction

OpenPose system을 이용해 human pose estimation을 진행
w, hw, h 의 input size를 사용하며, 2D의 스켈레톤 형태의 사람 형상을 매 이미지에서 출력한다.
이 데이터를 기반으로 전처리를 진행했다.
feedforward network가 body part의 set of 2D confidence map S와 body part와 관련된 set of 2D vector fields L을 예측한다. (팔다리?인듯)
이후 S, L 는 Greedy inference에 의해서 2D keypoint로 parsing된다.
Pose estimation은 총 18개 부위로 진행
undetected 된 포인트들은 special character로 마크해 놓는다. (아마 제로 패딩이나 Unkown token)
이렇게 하지 않으면 학습을 방해한다.
viewer와 모든 포인트들에 필터를 적용해 normalize 한다.

LSTM-SA Network

Seq2Seq with Attention 모델
Encoder 파트는 Muisc Feature와 Pose Feature를 입력하는 파트가 있고, attention을 포함에 Decoder로 데이터를 넘겨주게된다.
각 레이어는 LSTM 128 유닛으로 구성되어 있고, Output dense layer는 36 dim을 가진다.
Learning rate는 0.001

Evaluation

사람이 직접 평가한다
Learning based scoring model 사용
오디오와 포즈의 시퀀스가 잘 맞으면 1점, 아니면 점수를 낮게 주는 방식으로 동작
위 방식으로 스코어를 조정해 스코어 모델을 학습시킨다.
스코어링 모델의 구조, 음악 시퀀스와 포즈 시퀀스를 학습 시킨 네트워크와 Seq2Seq 네트워크를 이용해 score 모델을 제작
Cosine-based similarity를 이용해 계산
M1, M2 방법이 있으며, 이 두 방법을 이용해 유사성 측정
M1의 경우 center point로 부터 average를 구한다.
M2의 경우 각 포인트의 position change를 측정한다

결과

사람 평가 결과
Cosine similarity
종합 점수

3줄 요약

Transformer 를 약간 변형해서 사용하는게 더 좋을 수도 있지 않을까?
원하는 움직임을 박자에 맞춰 만드는 것은 가능할 것 같다.