CVPR 2025 Highlight
https://www.arxiv.org/pdf/2411.16781
Yiheng Li, Ruibing Hou, Hong Chang, Shiguang Shan, Xilin Chen
Introduction
Human pose는 VR, healthcare와 같은 다양한 인간 중심 응용 분야에서 중요한 역할을 한다. 이를 위해 수많은 연구들이 single-pose 이해에 초점을 맞춰왔으며, 이는 3D body pose나 human-image로부터 자세 관련 설명을 생성하거나, pose generation을 통해 다양한 3D 자세를 생성하는 것을 포함한다. 최근에는 pose pair 간의 관계에 주목하여, 두 3D 포즈 간의 차이를 바탕으로 textual instruction을 생성하거나, 초기 자세와 modification instruction을 기반으로 3D 자세를 수정하는 pose editing 연구 또한 진행되고 있다.
하지만 그간 연구의 경우 자세 이해, 생성, 편집 task가 대부분 개별적으로 연구되는 한계점이 존재한다. 실제로 인간의 자세 인식이나 의사소통은 텍스트, 이미지, 3D SMPL 포즈 등 다양한 자세 관련 모달리티 간의 seamless transition을 본질적으로 수반한다. 이에 따라 저자들은 자세 이해, 생성, 편집을 동시에 처리할 수 있는 unified multimodal framework의 필요성을 강조한다.
최근 LLMs과 MLLMs의 발전은 이미지, 비디오, 모션, 오디오 등 다양한 데이터에 대해 범용적인 분석을 가능하게 만들었다. human pose 분야에서도 LLMs을 활용한 ChatPose model이 제안되었다. 이 모델은 이미지나 textual descriptions을 입력받아 3D human pose를 생성할 수 있지만, 여전히 single-pose generation에만 초점을 맞추고 있으며, 자세 이해나 편집 기능 또한 지원하지 않는다. 또한 기존의 MLLMs은 역시 신체 부위 의미를 정밀하게 분석하거나 자세 쌍 간의 복잡한 관계에 대한 이해에 한계가 존재한다. 결론적으로 저자들은 자세이해, 생성, 편집까지 통합적으로 처리할 수 있는 multimodal이 아직 부재하며, 이에 대한 필요성이 높다고 주장한다.
저자들은 이러한 unifed multimodal LLM framework를 구축하기 위해 두 가지 주요 challenge를 해결해야 한다고 주장한다.
첫 번째는 3D pose와 text 간의 unified representation space를 구축하는 것이다. 기존 연구에서는 이 데이터를 서로 다르게 처리하는데, 3D pose는 continuous하게 encoding 되는 반면, text는 discrete token sequence로 토크나이즈된다. 이러한 non-unified 처리 방식은 LLMs이 두 모달리티 간의 상호작용을 학습하는데 burden이며, 자세 이해, 생성, 편집과 같은 복합적인 task를 수행하는 데 있어 장애가 된다. 두 번째로 visual branch 내에서 pose perception을 정밀하게 수행해야한다. 대부분의 MLLMs은 CLIP을 활용하여 visual branch를 수행한다. 하지만 CLIP은 image-text pair 간 contrastive learning을 통해 학습되기에, keypoint나 parsing map과 같은 픽셀 수준의 세부 정보를 효과적으로 포착하지 못한다. 결과적으로 이러한 제약은 MLLMs이 자세 이해 및 생성의 능력을 제한한다.

저자들은 앞서 언급한 challenge들을 해결하고 위의 table과 같이 다양한 pose 관련 task를 통합적으로 처리할 수 있는 framework인 Unipose를 제안한다. Unipose는 총 세 가지 핵심 구성 요소로 이뤄지는데, 첫 번째로 pose tokenizer를 도입함으로써, 3D 자세와 텍스트를 일관된 방식으로 처리한다. 이는 인간 자세가 언어처럼 유사한 semantic 연관성을 가진다는 것에 착안하여, 3D pose를 하나의 언어로 간주한다. 이에 따라 pose tokenizer는 3D pose를 discrete token seqence로 압축하고, 이를 text와 함께 공통 vocabulary를 구성한다. 이렇게 구축된 통합 representation space를 통해 LLM은 pose와 텍스트를 동일하게 처리할 수 있으며, 다양한 task에 쉽게 적용할 수 있는 유연성을 제공한다. 두 번째로 기존 MLLMs들이 CLIP 기반의 visual encoder만을 사용하는 것과 달리, 저자들은 mixture-of-visual-encoder 구조를 채택한다. 이는 CLIP의 인코더에 더해 pose estimation task로 pre-trained 된 포즈 특화 visual encoder를 결합한 dual-encoder 구조이다. 이를 통해 시각 정보는 text 정보와 align 될 뿐만 아니라, 포즈 인식을 정밀하게 수행할 수 있어 MLLMs의 자세 이해 및 생성 능력을 강화한다. 마지막으로 LLMs 내 mixed-attention 메커니즘을 구현함으로써, pose와 text 토큰 간의 서로 다른 logical 관계를 반영한다. 텍스트 토큰은 causal dependency을 가지므로 causal attention이 적합한 반면, 포즈 토큰은 spatial joint positions를 표현하므로 bidirectional attention이 더 효과적이다. 이러한 혼합 어텐션 전략은 LLMs의 기존 reasoning 능력을 유지하면서도, 자세 맥락에 대한 이해를 강화해 더 정밀한 자세 생성 및 편집을 가능하게 한다.
Methodology

저자들은 위 그림과 같이, LLM이 human pose를 이해, 생성, 편집할 수 있는 능력을 갖춘 Unipose model을 제안한다. 이는 3D pose를 discrete하게 양자화해 줄 수 있는 pose tokenizer, 시각 입력들을 처리하는 visual processor, 다양한 모달리티를 통합적으로 처리할 수 있는 pose-aware LLM으로 구성되어있다. 또한, 다양한 pose 관련 task를 다루기 위해, Unipose는 총 4단계 training scheme로 구성되어 있다.
Pose Tokenizer

저자들은 3D pose를 discrete tokens으로 표현하기 위해 VQ-VAE를 기반으로 pose tokenizer를 구축한다. 이 tokenizer는 encoder $ \varepsilon $, decoder $\mathcal{D}$과 $M$개의 discrete vector로 구성된 학습 가능한 codebook $\mathcal{B}_p = \{ b_m \}_{m=1}^{M}$로 구성된다. 본 연구에서는 3D 포즈 $\boldsymbol{p}= [\gamma, \boldsymbol{\theta}]$를 SMPL pose 파라미터로 표현하며 이때 $ \gamma \in \mathbb{R}^6 $는 root orientation, $\boldsymbol{\theta} \in \mathbb{R}^{6K}$는 $K$개의 관절에 대한 회전을 의미한다. 이를 여러 개의 1-D convolution layer로 구성된 pose encoder $ \varepsilon $로 $ \mathbf{z} = \mathcal{E}(\boldsymbol{\theta})$ 로 projection 시킨다. 이때 $L_p$는 포즈 토큰의 개수, $d_p$는 latent dimension을 의미한다. 이후 $z$를 discrete quantization을 통해 codebook 항목으로 변환한다. 구체적으로 $z$의 각 항목을 codebook $\mathcal{B}_p$ 내 가장 가까운 항목으로 대체하며 그 결과 quantization 된 latent vector $\hat{z} \in \mathbb{R}^{L_p\times d_p}$를 얻는다.
$$ \hat{z} = \arg\min_{b_m \in \mathcal{B}_p} \left\| z - b_m \right\|_2$$
양자화 후에, 여러 1-D deconvoulutional layer로 이뤄진 $/hat{z}$를 다시 원래 pose space에 projection하며 $\hat{\mathbf{p}} = \mathcal{D}(\hat{z})$를 의미한다.
$$ \mathcal{L}_{\text{vq}} = \mathcal{L}_r + \mathcal{L}_e + \mathcal{L}_c$$
여기서 $\mathcal{L}_r, \mathcal{L}_e, \mathcal{L}_c$ 는 일반적으로 사용하는 reconstruction loss, embedding loss, commitment loss를 의미한다. 학습 이후 pose $p$는 다음과 같이 표현될 수 있다.
$$ \mathbf{u} = \arg\min_{m \in \{1, \ldots, M\}} \left\| z - b_m \right\|_2$$
Pose-aware Vision-Language Model
Visual Processor.
CLIP visual encoder는 일반적으로 MLLMs의 visual branch로 사용되어 왔다. 하지만 이는 pose 관련 세부 정보를 효과적으로 포착하는데 한계점이 존재한다. 반면, pose estimation task로 pre-trained 된 model은 인간의 관절의 keypoint로 정밀하게 추정해야 하므로, pose 관련 표현을 추출하는데 더 적합하다. 이에 따라 저자들은 pose-specific Vision Transformer을 visial branch로 통합하였다. 구체적으로 CLIP encoder와 pose-specific vision transformer를 각각 $f_a, f_b$라고 할 때 image $x$가 주어지면 이들은 각각 $\mathbf{v}_a = f_a(\mathbf{x})\in \mathbb{R}^{L_v \times d_a}, \mathbf{v}_b = f_b(\mathbf{x})\in \mathbb{R}^{L_v \times d_b}$를 출력한다. 이 두 출력을 channel dim에서 concat한 후 projector layer에 입력함으로써, text embedding 차원에 맞춰 align 한다. 최종적으로 얻어진 융합된 visual feature는 LLM의 입력으로 pose나 text 토큰과 함께 concat 되어 사용될 수 있다.
Mixed Attention Mechanism.
기존 LLMs은 일반적으로 causal attention을 사용하여 순차적으로 데이터를 생성하는 autoregressive modeling 방식을 채택해왔다. 하지만 pose token은 인간 관절의 spatial position을 인코딩하는 것으로 본질적으로 비순차적이기에 기존의 생성 방식은 적합하지 않다. 이에 따라 저자들은 text seqence에 대해서는 causal attention을 적용하고, pose token에 대해서는 bidirectional attention을 적용하는 방식을 제안한다. 또한 information leakage를 방지하기 위해, learnable한 $L_p$개의 pose query를 미리 생성하여 사용한다. 이 쿼리들은 생성 중 텍스트 토큰에는 접근 가능하지만, 다른 쿼리의 미래 정보에는 접근할 수 없도록 제한된다. 이 구조는 포즈 토큰끼리는 서로 자유롭게 정보를 주고받을 수 있게 하면서도, 텍스트 흐름의 순차성은 유지할 수 있도록 설계된 것이다.
Unified Multimodal Language Model.
Unipose는 pose를 discrete tokens 형태로 LLM에 통합하기 위해 기존 텍스트 어휘 $\mathcal{V}_t$에 pose vocab $\mathcal{V}_p$을 확장하여 통합 text-pose vocabulary $\mathcal{V} = \{ \mathcal{V}_t, \mathcal{V}_p \}$를 구성한다. 이를 통해 작업에 따라 유동적으로 discrete token을 선택할 수 있으며 이는 자세 이해, 생성, 편집 등의 task를 통일된 방식으로 처리할 수 있다.
학습의 경우 각 task에 따라 입력과 출력의 형태가 다르기에 저자들은 각 task 별로 objective를 정의하였다.
| visual embedding sequence | $\mathbf{v} = \left\{ v^i \in \mathbb{R}^d \right\}_{i=1}^{L_v}$ |
| pose token sequence | $\mathbf{u} = \left\{ u^i \in \mathcal{V} \right\}_{i=1}^{L_p}$ |
| single-pose description | $\mathbf{t} = \left\{ t^i \in \mathcal{V} \right\}_{i=1}^{L_t}$ |
| pose difference description | $\mathbf{d} = \left\{ d^i \in \mathcal{V} \right\}_{i=1}^{L_d}$ |
Single-Pose Comprehension: 3D pose or image로 부터 해당 포즈에 대한 텍스트를 생성
$$\mathcal{L}_1 = \sum_{i=1}^{L_t} \log p_\theta \left( t^i \mid \mathbf{v}/\mathbf{u}, t^{<i} \right)$$
Pose-pair Comprehension: 두 개의 포즈 또는 이미지 간 차이를 설명하는 텍스트를 생성
$$\mathcal{L}_2 = \sum_{i=1}^{L_d} \log p_\theta \left( d^i \mid (\mathbf{v}_1, \mathbf{v}_2)/(\mathbf{u}_1, \mathbf{u}_2), d^{<i} \right)$$
Pose Generation: 텍스트 설명 또는 이미지를 기반으로 3D 포즈를 생성
$$\mathcal{L}_3 = p_\theta \left( \mathbf{u} \mid \mathbf{v}/\mathbf{t}, \mathcal{Q} \right)$$
Pose editing: 텍스트 설명 또는 이미지를 기반으로 3D 포즈를 생성
$$\mathcal{L}_4 = p_\theta \left( \mathbf{u}_2 \mid \mathbf{u}_1, \mathbf{d}, \mathcal{Q} \right)$$
하나의 batch 내 다양한 task 유형이 섞여있을 수 있으므로 total loss는 각 task 별 loss의 합으로 계산된다.
$$\mathcal{L} = \mathcal{L}_1 + \mathcal{L}_2 + \mathcal{L}_3 + \mathcal{L}_4$$
Training and Inference Paradigm
본 연구에서는 다음과 같이 학습 절차를 총 4 stage로 구성하였다.

Pose Tokenizer Training. 저자들은 먼저 pose tokenizer를 학습하며, 이후 단계에서는 LLM 학습의 안정성을 유지하기 위해 해당 tokenize를 frozen된 상태를 유지한다.
Pose-Text Alignment Pretraining(Fig (a)). LLM이 discrete pose token을 처리할 수 있도록 하기 위해, pose-text corpus를 기반으로 LLM을 pretraining한다. 이는 LLM 내 포즈와 텍스트 간 modality alignment를 위해 통합적인 추론 능력을 학습시키는 것을 목표로 한다. 이 stage에서는 pose-to-text, poss-diff, text-to-pose, pose editing task를 수행하여 LLM을 최적화시킨다.
Visual Projector Pretraining(Fig (b)). pose-text alignment 이후, 이 단계에서는 pose-text 공동 공간을 alignment하는데 초점을 맞추며, Image-to-text, Image-Diff, Image-to-pose를 고려한다. 이를 기반으로 vision projector를 학습시켜 visual 정보를 LLM에 alignment 되도록 만든다.
Instruction Finetuning(Fig (c)). 이 단계에서는 모델의 instruction-following 능력을 향상시키기 위해, 위 표의 각 task 별로 약 200개의 템플릿을 포함한 데이터셋을 구성한다. Image-to-pose를 예시로 들면 $\textit{Could you estimate the SMPL pose of the individual in this image <image>}$ 와 같이 구성할 수 있다.
Inference. 작업 유형에 따라 UniPose는 맞춤형 디코딩 전략을 사용한다. pose comprehension 의 경우 일반적은 auto-regressive 방식으로 텍스트 토큰을 순차적으로 생성한다. 반면, pose generation 과 editing 작업에서는 모델이 포즈 예측 시작 토큰 $\textit{<p>}$을 생성하면 그 뒤에 사전 정의된 pose query를 조건 텍스트 뒤에 붙여서 llm에 입력한다. 이후 LLM은 각 pose query에 대해 동시에 포즈 토큰을 병렬로 예측하며, 이러한 설계는 추론 속도를 크게 향상시킨다.
Experiments
Comparisons on Pose comprehension.

UniPose는 모든 평가된 작업에서 전반적으로 우수하거나 경쟁력 있는 성능을 보여주었다. 하지만 PoseScript 데이터셋 기반의 Pose-to-Text task에서는 약간 뒤쳐졌지만, 다중 포즈 간 관계 모델링이 가능하다는 일반성과 확장성 측면에서는 더 큰 유연성을 제공한다고 저자들은 주장한다.


위 그림은 Qwen-VL, GPT-4V가 생성한 텍스트 설명을 시각화 결과이다. 이를 통해 기존 MLLM들이 세밀한 포즈 정보를 이해하는데 어려움을 겪고 있음을 보여준다.
Comparisons on Pose Generation.

Text-to-pose task 결과, 가장 우수한 성능을 달성하였다. 저자들은 이러한 향상 요인이 포즈 토큰 간 양방향 의존성을 효과적으로 포착할 수 있었던 mixed-attention 메커니즘 덕분이라고 설명한다.

Pose Estimation Task 결과 UniPose는 다른 MLLMs들보다 뛰어난 성능을 보였지만, 3D human pose estimation 전용 모델에 비해 뒤처지는 성능을 보였다.
Comparisons on Pose Editing.

단일 모델과의 비교만 수행되었으며, 특별히 흥미로운 분석 포인트가 존재하지 않는다.
Ablation Studies & Analysis
Single-task training v.s. Multi-task training. 위 테이블에 $UniPose^{ † }$로 표시된 것은 single task로 학습되었을 때를 의미하며 일관되게 우수한 성능을 보였다. 이는 자세 이해,생성, 편집을 하나의 모델에서 통합 학습하는 것이 성능 향상에 중요함을 보여준다.
Visual Processor. 저자들은 서로 다른 비전 인코더들의 영향을 알아보기 위해 소거 실험을 진행하였다. 아래 표에서 볼 수 있듯 CILP-ViT만 사용했을 때는 성능이 좋지 않았으며, Pose-ViT를 사용했을 때부터 성능이 향상되는 것을 확인할 수 있다.

Attention mechanism. 본 연구에서 제안한 mixed attention을 사용했을 때 결과이다. 이를 통해 bidirection attention이 포즈 생성 성능을 높이는데 기여할 수 있음을 증명하였다. 하지만 텍스트를 생성할 때는 성능이 오히려 감소하는 것을 확인할 수 있는데, 이는 bidirection attention이 causal dependency에 간섭을 일으켜 생성된 문장의 의미적 정밀도를 떨어뜨렸을 가능성이 존재한다고 저자들은 주장한다.

Zero-shot Task Analysis. 다음은 zero-shot 분석에 대한 case study이다.
