오늘은 CVPR 2024에 Accepted된 논문인 Programmable Motion Generation for Open-Set Motion Control Tasks 라는 논문을 리뷰해보려 한다.
이 논문은, 연구 도메인을 찾아 헤매던 나에게 한줄기같은 빛으로 다가온 논문이다. (굉장히 뜻깊은)
먼저 이 논문이 끌리게 된 이유는, 랩세미나를 진행하면서 animal motion generation 분야나, Human motion generation 분야에서 가장 어려운 부분이, Controllable하게 generation을 하는것이라고 들었기에,
이 논문은 그 부분을 해결하고자 한 논문이겠구나 라는 기대감에 끌렸던 것 같다.
먼저 이 프레임워크를 이해하기 위해서는 Motion generation을 진행하는 MDM모델에 대해 알면 좋긴 하다.
이 논문에서 MDM에 대해 깊게 언급하진 않지만, 위에 요약3에서 말한 것 처럼, diffusion 기반의 모델이라 latent vector z를 최적화한다 라는 등의 이야기가 이해되지 않을 수 있다. MDM을 리뷰하겠지만, 그것을 먼저 알고보는것이 좋겠다.

위 식에서 보이는 는 motion generation model이고, p는 target motion, z는 MDM모델을 통해 얻는 latent vector, 그리고 C는 아래서 소개될 condition이다. F는 Total error function이라, 결과적으로 total error를 최소화하는 latent vector z를 찾는게 목적이 되겠다.

위 그림에서 보면, 먼저 Open-set task라는 것이 Input으로 들어옴을 알 수 있다. 그런다음, 해당 task들은 오른쪽 화살표로 이동하여 Constraints로 쪼개어진다. 작은 단위로 쪼개지기 때문에, 이것을 atomic constraints 라고 부른다.
예시에서는 두가지 atomic constraints로 쪼개어졌는데, 아마도 더 여러가지로도 쪼개어질 수 있을 것이다. 이러한 Decomposing Constraints 작업은 LLM에 의해 진행된다. 위에 Flow를 확인해보면, 단순히 문장을 둘로 나누는 수준이 아니라, 굉장히 구체적으로 Constraints들이 쪼개진 것을 확인할 수 있다.

task가 어떤 조건 없이 그냥 막무가내로 쪼개어지면 안될 것이기에, 미리 Atomic constraints library 라는 library를 만들어놓고, 해당 library수준 안에서 task가 쪼개어진다고 보면 될 것 같다.
쪼개어진 Atomic Constrainst들은 각각 Error Function F로 Programmed 된다.
그럼 그 Program을 누가 하느냐 하면, LLM이 진행한다고 생각하면 된다.
위 그림은, 해당 프레임워크의 Atomic Constraints와 Logical Operations를 보여주는데, 저것을 기반으로 LLM이 Constrainst에 대한 Error function을 짠다고 생각하면 된다.

Total error function 는, 복수의 즉, atomic constraints로 구성된다.
각 Constraints에 대해 자세한 간단한 설명을 하면,
| = | ||
|---|---|---|
| motion of j-th joint | position of j-th joint | 는 모션을 global joint positions로 바꿔주는 함수 |
Absolute position:

가 에 가까워져야 에러가 줄어든다.
절대적인 포지션에 대한 constrainst라고 생각하면 된다.
High-order Dynamics Constraint:
라고 되어있는 것은, 의 k-th numercial differential 이다.
Geometric Constraint:
distToLine, distToPlane등으로 쓰이며, 이는 P로 표현되는 geometric primitive 즉, curve나 surface등에 대한 조건으로 이해하면 좋고, 앞서 설명했던 Absolute position과 비슷하지만 다르고, 이 constraint가 훨씬 더 엄격하게 적용된다고 한다. 로 표현된다.
Relative Distance Constraint:
Absolute distance와 뭐가 다른것인지 모르겠지만, 논문에서는 주로 두 점사이의 angle등이 이로 표현된다고 한다.
Directional Constraint:
joint들간의 부모 자식 관계가 있을것인데, 이 constraint는 와
로 구성된 뼈대가 방향 d를 가리키도록 요구한다.
Key-frame Constraint:
특정 time stamp에서 constraint를 적용한다.
위서 정리된 atomic constraints들이 Total loss function 를 이룬다.
이 F를 기반으로 결국 Programmable한 Motion generation task가 이루어진다.
사실 이게 전부이고, 아직 코드를 보진 않았기 때문에 조금 더 깊은 이해도의 분석은 추후에 진행할 예정이다.
Contribution:
1. Programmable 한 motion generation task를 Loss function을 Program하여 수행함.
2. LLM을 적용하여 task를 쪼개고, Loss function을 만드는 작업을 수행함. (신선한 접근)
3. 확장가능하고 사용하기 쉬운 프레임워크를 제안함.