Motion Generation 분야에는 FID, R-Precision, MM-Dist, MModality, Diversity와 간튼 5개의 Metric을 많이 사용합니다. 특히, 연구분야에서는 이렇게 통일된 정량적 지표가 있어야 서로의 연구를 객관적으로 평가할 수 있습니다. 그래서 오늘은 5개의 Metric에 대해서 좀 더 자세히 알아보려고 합니다.
다만, 실제 사용자들에게 서비스할때는 이런 정량적 지표만큼 중요한 것은 정성적 평가입니다. 특히 생성 분야에서는 인풋에 알맞는 결과를 전달하는 정도가 높아질 수록 다른 디테일이 많이 눈에 거슬리게 되는데, 모션의 경우 모션이 얼마나 자연스러운지(fideliity), 운동학적으로 말이 되는지, skating현상 없이 발이 땅에 적절하게 붙어있는지 등의 요소가 유저 평가에 있어 크리티컬하게 작용합니다. 그러니 무조건적으로 정량평가에만 목숨을 거는것은 아주 위험하겠죠? 💀
Motion Generation Metrics 비교
| 평가 목적 | 평가 대상 | 평가 방식 | 수식적 개념 | 값의 특성 | 고평가의 기준 |
---|
R-Precision | 텍스트와 모션의 정확한 매칭 여부 | 텍스트 - 모션 페어 | 임베딩 랭킹 기반 평가 | 올바른 모션이 상위 K개 안에 있는지 | 이진 값(0/1) | 높을수록 |
MM-Dist | 텍스트와 모션의 의미적 유사성 | 텍스트 - 모션 페어 | 임베딩 유클리드 거리 측정 | 임베딩 공간에서 두 벡터의 거리 | 유클리드 거리 | 낮을수록 |
FID | 생성된 모션과 실제 모션분포의 유사성 | 전체 데이터 분포 | 평균 및 공분산 비교 | D5 | 확률 분포 거리 | 낮을수록 |
Diversity | 생성된 모션들이 서로 얼마나 다양한가 | 생성된 모든 모션 샘플 | 샘플 간 평균 거리 | 모션들 간의 유클리드 거리 평균 | 거리 | 높을수록 |
Multimodality | 같은 텍스트에서 다양한 모션을 생성하는가 | 동일한 텍스트에서 생성된 모든 모션들 | 같은 텍스트에서 샘플링된 모션 간 평균 거리 | 같은 텍스트에서 생성된 모션들의 유클리드 거리 평균 | 거리 | 높을수록 |
쉽게 이해해보기
R-Precision: "생성된 모션이 텍스트 설명을 얼마나 잘 표현됐나"
FID: "생성된 모션들이 진짜 모션처럼 보이는가"
MM-Dist: "생성된 모션이 주어진 텍스트 설명에서 얼마나 멀리 떨어져 있나"
Diversity: "생성된 모션들이 얼마나 다양한가"
MultiModality: "같은 텍스트에서도 얼마나 다양한 결과가 나오나"
R-Precision
: 주어진 text description과 생성된 모션이 얼마나 잘 일치하는지를 평가
- Top-1, Top-2, Top-3 (Top-K) 으로 구분되며, 상위 몇 개의 검색 결과가 올바른지를 측정
- 일반적으로 CLIP 모델을 활용하여, 텍스트 임베딩과 모션 임베딩 간의 코사인 유사도를 계산하여 평가
- 수식:
- R−Precision@K=N1∑i=1N1(Rank(Si)≤K)
- 1(⋅) : 조건 "⋅"이 참이면 1, 아니면 0
MM-Dist(Multimodal Distance)
: text와 생성된 모션이 의미적으로 얼마나 가까운지 평가
- 보통 CLIP 기반 임베딩을 사용하여 텍스트와 모션간의 거리 계산
- 수식:
- MM−Dist=N1∑i=1Nd(EncT(Ti),EncM(Mi))
- T,M: text, motion
- Enc : Encoding
- d: 유클리드 거리
FID (Fréchet Inception Distance)
: 생성된 모션의 분포가 실제 데이터와 얼마나 유사한지 평가
- 이미지 생성 모델에서도 사용하는 지표
- 수식:
- FID=∥μr−μg∥2+Tr(∑r+∑g−2(∑r∑g)21)
- (μr,∑r): 실제 모션 데이터 분포와 공분산 행렬
- (μg,∑g): 생성된 모션 데이터의 분포와 공분산 행렬
- Tr: 대각합(trace)
Diversity
: 모델의 생성 모션이 얼마나 다양한지를 평가
- 서로 다른 샘플들 간의 평균적인 거리
- 수식:
- Diversity=N(N−1)1∑i=1N∑j=i+1Nd(Mi,Mj)
MModality(Multimodality)
: 같은 텍스트에서 생성된 모션이 얼마나 다양한지 평가
- 하나의 텍스트가 주어졌을 때, 여러번 샘플링하여 나온 모션들의 차이 비교
- MModality=N1∑i=1NN(N−1)1∑j=1K∑k=i+1Kd(Mi,j,Mi,k
- Mi,j: i번째 텍스트에 대해 j번째로 생성된 모션 샘플
Example
-
input: "A person is running"
-
R-Precision@3 = 1 (정답이 상위 3위 안에 있는가?)
- 랭킹 결과
- 1위(빠르게 뛰는 모션): 정답
- 2위(천천히 뛰는 모션): 정답
- 3위(춤추는 모션): 오답
-
MM-Dist = 0.767
- 유사도
- (빠르게 뛰는 모션): 0.2
- (천천히 뛰는 모션): 0.4
- (춤추는 모션): 1.7
-
FID = 0.87
- GT와 생성 샘플(5개)의 평균 및 분포의 비교
- GT: μr=[0.5,0.3,0.2],∑r=[0.1,0.05,0.02]
- 생성 데이터: μg=[0.6,0.4,0.25],∑g=[0.12,0.06,0.03]
-
Diversity = 1.86
: 모션 전체 다양성의 결과
- 모션 간 평균 고리
- (빠르게 뛰는 모션): 1.2
- (천천히 뛰는 모션): 1.3
- (춤추는 모션): 2.4
- (걷는 모션): 2.1
- (점프 모션: 2.3
-
Multimodality =0.8
- 같은 텍스트에서 생성된 모션간의 거리
- 빠르게 뛰는 모션: 0.9
- 천천히 뛰는 모션: 0.7