EgoLM: Multi-Modal Language Model of Egocentric Motions

## Abstract

Abstract As the prevalence of wearable devices, learning egocentric motions becomes essential to develop contextual AI. In this work, we present EgoLM , a versatile framework that tracks and understands egocentric motions from multi-modal inputs, e.g. , egocentric videos and motion sensors.
EgoLM exploits rich contexts for the disambiguation of egomotion tracking and understanding, which are ill-posed under single modality conditions.
To facilitate the versatile and multi-modal framework,
our key insight is to model the joint distribution of egocentric motions and natural languages using large language models (LLM).
Multi-modal sensor inputs are encoded and projected to the joint latent space of language models, and used to prompt motion generation or text generation for egomotion tracking or understanding, respectively.
Extensive experiments on large-scale multi-modal human motion dataset validate the effectiveness of EgoLM as a generalist model for universal egocentric learning. Project Page: https://hongfz16.github.io/projects/EgoLM .

## 1 Introduction

With the recent explosive advancement of large language models, their values as intelligent agents have been thoroughly studied (Radford et al., ; Brown et al., ; Achiam et al., ; Touvron et al., ; ). To better play the role of everyday smart assistant, the contextualization of AI is proposed and studied (Vercauteren et al., ; Deepika et al., ). Agents are expected to interact with users in a context-aware style, through multi-modal sensors on wearable devices, *e.g.*, smartwatches, smart glasses (Somasundaram et al., ).
Human motions play an important role in the user-agent interaction (Plizzari et al., ), which requires egocentric human motion learning (Li et al., ).

In this work, we propose a versatile framework EgoLM that approaches human motions learning from egocentric perspective.
Specifically, EgoLM unifies two aspects of egocentric motion learning, *i.e.*, tracking and understanding.
a) Egocentric motion tracking aims to recover full-body motions from sparse motion sensors, *e.g.*, three-points (head and both wrists) 6-DoF poses (Jiang et al., ; Castillo et al., ; Du et al., ; Jiang et al., ) or one-point (only head) 6-DoF poses (Li et al., ).
b) Egocentric motion understanding aims to recognize or describe human motions from wearable sensors, *e.g.*, egocentric videos (Damen et al., ; ; ; Nagarajan et al., ; Xue et al., ; Escobar et al., ; Grauman et al., ; Rodin et al., ; Yonetani et al., ; Del Molino et al., ; Chen et al., ).
Both tasks are highly challenging due to the incomplete observation from egocentric perspectives. To this end, we propose to approach the challenges in an unified way by incorporating multiple modalities and multi-task training, which are elaborated below.

Egocentric motion tracking from sparse sensors is an ill-posed problem. Three-points (Jiang et al., ) and one-point inputs (Li et al., ) miss information of the lower body parts and even hand positions, making it a one-to-many mapping problem.
In order to disambiguate the tracking of unobserved body parts, we explore the environment contexts by egocentric videos captured from head-mounted cameras.
Although other body parts are not always visible from egocentric videos, the semantics of the environment provides valuable clues to disambiguate full body motions.

For egocentric motion understanding, the common input setting is the egocentric video (Jia et al., ). However, egocentric videos lacks the accurate information of full-body motion, for their restricted viewing angles. For better understanding of human motion, sparse motion sensor data is valuable in terms of providing accurate body part positions (Tan et al., ).
Therefore, we unify the input conditions as egocentric videos and sparse sensors for both tracking and understanding. Further unifying the training of both tasks can also be beneficial, especially for the understanding part. The supervision signals of full-body motions from motion tracking training can contribute to motion understanding.

In summary, we aim at a multi-modal multi-tasking generative framework. As shown in Fig. 1, EgoLM takes sparse motion sensor data (three-points or one-point) and egocentric videos as inputs. Then motion and natural languages are generated for motion tracking and understanding, respectively. To facilitate this versatile framework, there are two main challenges in the framework design, which are large modality gaps and large task gaps. To that end, our key insight is to use a language model to handle the multi-modal inputs and multi-task training.

Unlike recent VLMs (Liu et al., ; ), our setting is more complex and challenging, where four modalities are involved, including sparse motion sensor data, egocentric videos, motion representations, and texts. These modalities provide different granularity of information. Human motions and sparse motion sensor data are low-level and contiguous representations with physical meanings. Natural languages, on the other hand, are unstructured and discrete representations. To bridge the gap, we adopt three strategies:
a) Treat motions as languages. A motion VQ-VAE is trained to tokenize motions, which can be generated autoregressively by a language model.
b) Unify different inputs to the language model space. Sparse sensor data and egocentric videos are encoded and projected by light-weight temporal encoders.
c) Use instruction tuning for multi-task joint training.

To validate the proposed framework, we perform extensive experiments on a large-scale motion dataset, Nymeria (Ma et al., ). Compared with previous motion tracking and understanding methods, our newly proposed multi-modal setup shows its advantages. Our contributions are summarized below.

1) We propose a versatile multi-modal generative framework, EgoLM, that unifies egocentric motion tracking and understanding tasks with a language model.

2) A new egocentric motion tracking setup is proposed. We combine sparse sensor inputs with egocentric videos to provide more contexts that disambiguate this ill-posed problems.

3) We propose a practical paradigm of motion understanding by combining sparse sensor data and egocentric videos, which provides more accurate full-body motion narration.

4) Extensive experiments and studies are performed to show the effectiveness of the proposed framework. Our setup achieves the best performance compared with the state-of-the-art methods.

## 2 Related Work

Motion Regression.
Large amounts of efforts are devoted to detect and track 2D or 3D keypoints from human images and videos (Toshev & Szegedy, ; Martinez et al., ; Pavllo et al., ). To incorporate more human structure prior, parametric human models, *e.g.*, SMPL (Loper et al., ), are used as the regression target (Bogo et al., ; Kanazawa et al., ). Other than the cameras, wearable motion sensors are straight-forward in terms of motion capture (Ponton et al., ; Mollyn et al., ; Milef et al., ; Yi et al., ; Jiang et al., ). Recent advancements in VR/AR devices and applications have developed a new setup for motion tracking, *i.e.*, three-points body tracking (Du et al., ; Jiang et al., ; Castillo et al., ). EgoEgo (Li et al., ) proposes to track motions from only head poses. In this work, we also target motion tracking from sparse sensors. The difference is that we propose to use egocentric videos to disambiguate ill-posed scenarios in this setup.

Motion Generation.
There have been many efforts in generating motions from various conditions, *i.e.*, action labels (Petrovich et al., ; Guo et al., ), natural languages (Zhang et al., ; Tevet et al., ; Punnakkal et al., ; Guo et al., ; Zhang et al., ; Guo et al., ). Recently, researchers take advantage of powerful LLMs to model the joint motion-language distribution for text-to-motion generation (Jiang et al., ; Zhang et al., ; Zhou et al., ). In this work, we also adopt the similar idea of modeling motion together with language models. As a by-product, we can also perform text-to-motion generation. But our main focus is on motion tracking and understanding from multi-modal inputs.

Motion Understanding.
There have been many different setups in motion understanding. From the input side, human videos, either from third-person view (Soomro et al., ; Kuehne et al., ; Tran et al., ; Wang et al., ; Yan et al., ) or first-person view (Damen et al., ; ; ), are used for this task. From the output side, action recognition/classification has been a classic task definition (Soomro et al., ; Damen et al., ). More recently, with the development of language models, some researches also propose to use natural languages as output (Jia et al., ; Xu et al., ; Grauman et al., ; Xue et al., ; Chen et al., ). In our work, from the input side, we propose to combine egocentric videos, which provide high-level semantic information, with motion sensor inputs, which carries low-level motion clues, for more holistic motion understanding. For the output, we use natural language responses for more versatility and diversity.

Language Models.
Language models have been a huge success in recent years with the large-scale pre-training (Radford et al., ; Brown et al., ) and alignment (cha, ; Achiam et al., ). To take advantage of the powerful text generation ability, image (Liu et al., ; ) or video understanding (Zhang et al., ) are defined as conditional text generation. LLaVA (Liu et al., ) proposes to encode images with powerful pre-trained vision encoders (Radford et al., ) and inject the features to language models. By tuning from a powerful LLM (Touvron et al., ), LLaVA achieves wonderful abilities of vision question answering. In this work, we also adopt the similar idea of encoding and injecting features of other modalities in the language model and unifying different tasks with instruction tuning.

## 3 Method

The overview of EgoLM is demonstrated in Fig. 2. There are three steps in EgoLM training. In the first step, we train a motion VQ-VAE as the motion tokenizer (Sec. 3.2). The second step is motion pre-training for motion distribution learning (Sec. 3.3). The last step is multi-modal instruction tuning to guide the model to perform motion tracking and understanding (Sec. 3.4).

### 3.1 Preliminaries

Language Model.
Language models model the distribution of natural languages. Recent breakthroughs in language models suggest the effectiveness of the transformer-based architecture (Vaswani et al., ). The language model consists of three parts. The first is a look-up table (LM embedding) that stores the embeddings for each text token. The second part is the transformer backbone that takes text embeddings as inputs. The output features are mapped to probabilities of the next tokens by the third part of LM head.

Motion Representation.
Human motions are represented as sequences of poses, global translations and rotations defined on the root joint. Each frame of pose is represented by joint angles, defined on a kinematic tree. For better learning of motion dynamics, we also include joint angle velocity in the representation. To avoid the normalization of global translation, we use the translation velocity $V_{t}^{r}\in\mathbb{R}^{3}$ for each frame, which can be integrated back to global translations. To ease the regression difficulty of rotation angles, we use 6D rotation representations (Hempel et al., ) for the root rotation $R_{t}^{r}\in\mathbb{R}^{6}$, root rotation velocity $R_{t}^{rv}\in\mathbb{R}^{6}$, joint angles $R_{t}^{j}\in\mathbb{R}^{22\times 6}$, and joint angle velocity $R_{t}^{jv}\in\mathbb{R}^{22\times 6}$. Formally, we represent human motions with $T$ frames as $M=\{P_{t}\}_{t=1}^{T}$, where $P_{t}=[V_{t}^{r};R_{t}^{r};R_{t}^{rv};R_{t}^{j};R_{t}^{jv}]\in\mathbb{R}^{279}$.
Forward kinematics (FK) together with integration of root velocity can be used to recover the joint positions $J=\text{FK}(M)\in\mathbb{R}^{23\times 3}$.

Figure: Figure 2: Overview of EgoLM. Three steps are designed for the training of EgoLM, *i.e.*, motion tokenizer training, motion pre-training and multi-modal instruction tuning.
Refer to caption: x2.png

### 3.2 Motion Tokenizer

To treat the motion as a foreign language and train with language models, we first need a motion tokenizer, which can be realized by VQ-VAE (Oord et al., ).
The motion VQ-VAE consists of a fully convolutional encoder $\mathcal{E}$ and decoder $\mathcal{D}$
. The fully convolutional design enables processing motions with arbitrary lengths. The encoder embeds raw motion representation to latent features $f^{m}=\mathcal{E}(M)$, where $f^{m}\in\mathbb{R}^{T/r\times c}$, $M\in\mathbb{R}^{T\times 279}$. $r$ is the down-sample rate.

Then, codebooks are learned to quantize the motion latent features. We use three techniques in the quantization process, which are 1) exponential moving average (EMA), 2) codebook reset (Dhariwal et al., ), 3) product quantization (Jegou et al., ; Lucas et al., ). The first two techniques increase the usage rate of codebooks. Product quantization increases the codebook expressiveness by decomposing the latent space into a Cartesian product of sub-spaces with lower dimensions. Specifically, the latent feature $f^{m}$ is split equally into $N$ trucks $\{f^{m}_{n}\}_{n=1}^{N}$, which are quantized separately by $N$ codebooks $\{Z_{n}\}_{n=1}^{N}$. Each codebook with $K$ entries is defined as $Z_{n}=\{z_{i}\}_{i=1}^{K}$, where $z_{i}\in\mathbb{R}^{c/N}$. The quantization process for feature $f^{m}_{tn}$ at frame $t$ and trunk $n$ is formulated as

$$ $i_{tn}=Q(f^{m}_{tn})=\arg\min_{z_{i}\in Z_{n}}\|f^{m}_{tn}-z_{i}\|_{2}.$ (1) $$

The resulting indices $i_{tn}$ are flattened and used as motion token sequences $W=\{[(i_{n})_{n=1}^{N}]_{t}\}_{t=1}^{T/r}$, which has the length of $L_{W}=N\times(T/r)$.
After quantization, we obtain the corresponding codebook entry for the motion latent feature $\hat{f}^{m}=\{\hat{f}^{m}_{t}\}_{t=1}^{T/r}=\{z_{i_{t}}\}_{t=1}^{T/r}$. It is input into the decoder $\mathcal{D}$ to decode raw motion representation $\hat{M}=\mathcal{D}(\hat{f}^{m})$.

For the training of VQ-VAE, two types of training losses are used. The first is the commitment loss $\mathcal{L}_{c}=\|f^{m}-\hat{f}^{m}\|_{2}$ for the codebook learning. The second is motion reconstruction loss $\mathcal{L}_{r}$, which consists of raw representation loss $\mathcal{L}_{m}$, joint position loss $\mathcal{L}_{j}$, rotation velocity loss $\mathcal{L}_{v}$, which are defined as

$$ $\displaystyle\mathcal{L}_{r}$ $\displaystyle=\lambda_{m}\mathcal{L}_{m}+\lambda_{j}\mathcal{L}_{j}+\lambda_{v }\mathcal{L}_{v}=\lambda_{m}\|M-\hat{M}\|_{1}+\lambda_{j}\|\text{FK}(M)-\text{ FK}(\hat{M})\|_{1}$ (2) $\displaystyle+\lambda_{v}\|R_{1:T-1}^{rv}-(R_{1:T-1}^{r})^{-1}R_{2:T}^{r}\|_{1 }+\lambda_{v}\|R_{1:T-1}^{jv}-(R_{1:T-1}^{j})^{-1}R_{2:T}^{j}\|_{1}.$ (3) $$

We define the smoothed L1 loss as $\|\cdot\|_{1}$. In summary, the training loss of the motion VQ-VAE is $\mathcal{L}_{vq}=\lambda_{c}\mathcal{L}_{c}+\lambda_{r}\mathcal{L}_{r}$, where $\lambda_{*}$ are manually adjusted weights.

### 3.3 Motion Pre-training

As discussed before, we build the motion learning framework on a pre-trained language model. However, the pre-trained language models only model the distribution of natural languages. Therefore, to empower them to generate motions, we perform motion pre-training to learn motion distributions. The motion pre-training is conducted similarly to language model pre-training.

Before we can start training the language model, two modifications to the model are needed. Firstly, since the pre-trained language model only contains embeddings for text tokens, we expand the embeddings in accordance with the motion codebook size. Secondly, the output shape of the language model head is also expanded for the same reason. The language model is ready for motion pre-training after the above preparations. Using the motion tokenizer described above, motion representations $M$ can be encoded into a sequence of motion tokens $W=\{w_{i}\}_{i=1}^{L_{W}}$. They are fed into the language model to learn the motion token distribution by conducting the classic next-token prediction (Radford et al., ). The loss function of this stage $\mathcal{L}_{pre}$ is formulated as

$$ $\mathcal{L}_{pre}=-\sum_{i=2}^{L_{W}}\mathbb{P}(w_{i}|w_{1}...w_{i-1};\Theta),$ (4) $$

where we maximize the log-likelihood of the next-token probability given the previous token inputs and network parameter $\Theta$.

After the training of this stage, as a by-product, we obtain an unconditional motion generator. Given a leading motion sequence as the prompt, it can autoregressively sample an arbitrary length of reasonable human motion that continues the given motion. More importantly, the language model learns the distribution of human motions and has the ability of sampling plausible human motions, which lays a solid foundation for the next stage.

Figure: Figure 3: Details of Multi-Modal Instruction Tuning. Different modalities are encoded separately. Their features are concatenated in the order of the instruction template and input into the transformer layers of the language model.
Refer to caption: x3.png

### 3.4 Multi-Modal Instruction Tuning

Inspired by recent advancements in LLMs (Achiam et al., ; cha, ; Zheng et al., ), to squeeze the power out of generative pre-training models, instruction tuning is adopted to guide models with instructions to perform specific tasks. The instruction template usually consists of 1) instructions that specify which tasks to perform; 2) inputs of the task; 3) outputs. We also envision our model accepting multi-modal sensor data as inputs. However, even with motion pre-training, the model only accepts text or motion tokens as inputs. It is not practical or necessary to design tokenizers and perform pre-training for all the involved modalities. Therefore, we draw inspiration from vision language models (Liu et al., ; ), where they directly map vision data to LLM feature space to enable visual question answering.

Specifically, we consider two input modalities other than motion and natural languages, which are egocentric videos and motion sensor inputs. Motion sensor inputs can be three-points (head and wrists) 6-DoF poses or one-point (only head) 6-DoF poses. Both are encoded with positions, velocity, rotation and angular velocity. Below, we use three-points as examples. We unify both motion tracking and motion understanding using the following templates.

| Task: Motion Tracking<br>Instruction: Perform motion tracking based on the given three-points and CLIP embeddings.<br>Input: Input CLIP embeddings: <CLIP_Placeholder>. Input three-points feature: <TP_Placeholder><br>Output: <Motion_Placeholder> | Task: Motion Understanding<br>Instruction: Describe the human motion based on the given three-points and CLIP embeddings.<br>Input: Input CLIP embeddings: <CLIP_Placeholder>. Input three-points feature: <TP_Placeholder><br>Output: <Narration_Placeholder> |
| --- | --- |

The encoded three-points 6-DoF poses would replace <TP_Placeholder>. <CLIP_Placeholder> is the placeholder for egocentric video features. Motion tokens are filled in <Motion_Placeholder>. <Narration_Placeholder> is the placeholder for corresponding motion narration. A detailed illustration of how we organize different modalities of data is shown in Fig. 3. Texts are tokenized and translated to feature vectors through LM embedding. Egocentric videos are first encoded by CLIP image encoder (Radford et al., ) per frame, which are further projected by linear layers to the language model feature space. Similarly, motion sensor data, *e.g.*, sequences of three-points 6-DoF poses, is encoded by a fully convolutional encoder. Lastly, all the encoded features are concatenated and input into the transformer layers of the language model.

For the training of motion understanding, to better learn the joint distribution of motion and natural languages, we also include two auxiliary tasks in the joint instruction training, which are motion-to-text and text-to-motion generation. They are also defined with the templates similar to the above ones. In summary, we train the four tasks jointly as the last step. The loss function is the same next-token prediction loss, as defined in Eq. 4.

## 4 Experiments

### 4.1 Experimental Setup

Dataset.
We use the Nymeria dataset Ma et al. () to train and validate our method. The dataset provides a) full body motions, captured by the Xsens Mocap system (Roetenberg et al., ), b) egocentric videos, captured by Aria glasses (Somasundaram et al., ), and c) narrations of motions written by human annotators. Three-points 6-DoF poses are taken from ground truth joints. For motion tracking, the training set consists of $147.89$h of data and the test set has $41.93$h of data. For motion understanding, the training set has $16673$ segments, each lasting for $3$-$5$ seconds, adding up to $15.77$h. The test set consists of $7468$ segments, $6.76$h of data.

Training Details.
Motion VQ-VAE has two codebooks, each having $8192$ entries and code dimension of $64$. The down-sample rate is $r=4$. For motion tracking, all experiments are conducted with window size of $60$ frames, which is $1$ second. Random rotation augmentation is applied on motions. We choose to use GPT2-Medium (Radford et al., ) as the language backbone.

Evaluation Protocols.
For motion tracking, we calculate joint position errors (for full, upper and lower body), joint angle errors (for full body and root joint).
For motion understanding, the outputs are natural languages. Therefore, we adopt NLP metrics, including BERT (Zhang et al., ), BLEU (Papineni et al., ), and ROUGE (Lin, ) scores.

### 4.2 Motion Tracking

**Table 1: Quantitative Results of Motion Tracking. “Full”, “Upper”, “Lower” are joint position errors in $mm$. “J.A.”, “Root” are joint angle errors for full body and root joint in degree. ^†We directly replace three-points with one-point to train AvatarPoser.**
| Method | Input Modality | Full | Upper | Lower | J.A. | Root |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 3pts | 1pt | Vid. |  |  |  |  |  |  |  |
| AvatarPoser (Jiang et al., ) | ✓ |  |  | 85.89 | 52.78 | 165.18 | 12.41 | 14.78 |  |
| Bodiffusion (Castillo et al., ) | ✓ |  |  | 79.80 | 52.79 | 152.68 | 12.74 | 13.09 |  |
| Ours | ✓ |  |  | 83.88 | 54.06 | 148.37 | 13.31 | 14.13 |  |
| Ours | ✓ |  | ✓ | 73.38 | 49.67 | 124.58 | 12.48 | 13.23 |  |
| AvatarPoser^† (Jiang et al., ) |  | ✓ |  | 129.23 | 94.19 | 192.34 | 16.55 | 21.60 |  |
| EgoEgo (Li et al., ) |  | ✓ |  | 132.16 | 100.02 | 190.32 | 18.90 | 21.80 |  |
| Ours |  | ✓ |  | 127.45 | 97.87 | 174.92 | 16.97 | 20.57 |  |
| Ours |  | ✓ | ✓ | 106.95 | 83.73 | 141.26 | 14.67 | 19.04 |  |

Quantitative Results.
We report quantitative results of motion tracking in Tab. 1. All methods are evaluated with batch inference, meaning that every $60$ frames are inferenced independently. We evaluate several different input combinations of three modalities, which are three-points 6-DoF poses (“3pts”), one-point 6-DoF poses (“1pt”) and egocentric videos (“Vid”). For the 3pts-only and 1pt-only settings, EgoLM achieves comparable performance with baseline methods. This show the effectiveness of using language models to perform precise motion tracking tasks.
Moreover, we also use egocentric videos to provide environment contexts for motion tracking. For three-points tracking, the additional modality brings $10mm$ improvement in full body joints error. For the one-point tracking, adding egocentric videos improves joints error by $20mm$. It shows the effectiveness of using egocentric videos as context information for disambiguation of the ill-posed problem.

Figure: Figure 4: Qualitative Results of Three-Points Motion Tracking. Skeletons are color-coded by the joint position errors. Baseline methods only use three-points as inputs. Ours uses three-points and egocentric videos as inputs.
Refer to caption: x4.png

Qualitative Results.
Three-points motion tracking results and comparisons are shown in Fig. 4. Due to the ambiguity of three-points, AvatarPoser mistakenly generates standing poses for squatting sequences (right example). BoDiffusion, for its generative nature, can sample correct results in some cases, *e.g.*, the squatting example. But it also suffers from the ambiguity issue, as shown in the bending down sequence (left example). They show the importance of considering contexts in the motion tracking task for the purpose of disambiguation.
Our full model can reliably perform three-points body tracking for the shown challenging cases.

Figure: Figure 5: Qualitative Results of One-Point Motion Tracking. Skeletons are color-coded by joint position errors. EgoEgo only uses one-point as inputs. Ours includes egocentric videos as inputs.
Refer to caption: x5.png

One-point motion tracking results are shown in Fig. 5. It is a more challenging task especially for upper body. As shown in the left example, the upper body motions generated by EgoEgo are completely different from the ground truth. In the right example, EgoEgo wrongly generates sitting poses for standing frames and standing poses for sitting frames, which is caused by the ambiguity problem. Egocentric videos in this task not only help to eliminate the ambiguity, but also provide some clues about the hand position. In the left example, when hands are visible in the frames, our model captures this information through CLIP embeddings and generates correct arm movements.

### 4.3 Motion Understanding

Quantitative Results.
We report quantitative results of motion understanding in Tab. 2. For this task, we tested three input modalities, *i.e.*, three-points (“3pts”), motions, and egocentric videos (“Vid”). Different combinations of these modalities are evaluated. We first test and compare with two motion understanding methods that only take motion as inputs, TM2T (Guo et al., ) and MotionGPT (Jiang et al., ). TM2T trains language generation from scratch, which explains its poor performance. MotionGPT uses a pre-trained T5 model (Raffel et al., ). EgoLM(M2T&T2M) achieves the best performance for the scalability advantage brought by the decoder-only architecture.

Using motion as inputs requires precise motion tracking, which is not always available. So, we explored using sensor inputs instead. We tested two variants: three-points-only (TP2T) and egocentric videos only (V2T). The TP2T variant showed a noticeable drop in performance compared to the motion-only version, as three-points provide limited information about body motion. In contrast, the V2T variant outperformed the motion-only version because egocentric videos capture environmental context relevant to our motion narrations. This highlights the importance of egocentric videos in understanding motion.

We then test our proposed setup of combing three-points and egocentric videos for motion understanding. There are three ways of achieving this setup. The first one is to combine two existing setups: 1) three-points motion tracking and 2) motion-to-text generation (TPV2M $+$ MV2T). The performance of this variant slightly drops compared with MV2T variant, due to error accumulation.
The second way is directly training three-points plus egocentric video to text generation (TPV2T) with the proposed multi-modal instruction tuning. It is better than only using egocentric videos or motions. However, it still falls behind MV2T variant for the missing lower body information. To solve that, we propose to also include three-points motion tracking in training to actively establish the connection between three-points and motion narrations.
Joint training improves motion understanding from three-points plus egocentric video, which proves the effectiveness of using motion as a bridge between different modalities.

**Table 2: Quantitative Results of Motion Understanding. Different input modality combinations are tested. All metrics are higher the better.**
| Method | Input Modality | Bert$\uparrow$ | Bleu@1$\uparrow$ | Bleu@4$\uparrow$ | RougeL$\uparrow$ |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3pts | Motion | Vid. |  |  |  |  |  |
| TM2T (Guo et al., ) |  | ✓ |  | 11.08 | 40.11 | 8.99 | 30.70 |
| MotionGPT (Jiang et al., ) |  | ✓ |  | 14.09 | 42.22 | 10.31 | 32.33 |
| Ours (M2T&T2M) |  | ✓ |  | 15.90 | 42.68 | 11.06 | 33.71 |
| Ours (TP2T) | ✓ |  |  | 11.94 | 41.70 | 9.85 | 31.47 |
| Ours (V2T) |  |  | ✓ | 16.62 | 43.03 | 11.34 | 33.13 |
| Ours (TPV2M $+$ MV2T) | ✓ |  | ✓ | 19.97 | 45.41 | 12.81 | 35.04 |
| Ours (TPV2T) | ✓ |  | ✓ | 18.38 | 44.55 | 12.12 | 33.80 |
| Ours (Joint Training) | ✓ |  | ✓ | 19.40 | 45.45 | 12.72 | 34.82 |

Figure: Figure 6: Qualitative Results of Motion Understanding. We use green to highlight correct parts and red for mistakes.
Refer to caption: x6.png

Qualitative Results.
We show four examples of motion understanding in Fig. 6.
TM2T and MotionGPT use full body motions as inputs. Ours is the full version with three-points and egocentric videos as inputs. TM2T’s language generation part is trained from scratch. Therefore, it often makes mistakes about motions and even generates texts that does not make sense. MotionGPT can generate reasonable descriptions for the motions. In the lower left example, just from the motions, “removing a piece of clothing from the hanger” is a reasonable answer. However, our target motion narration is highly related to environments. TM2T and MotionGPT fail to generate correct narrations for the lack of vision signals. For our model, even though we do not directly use motions as inputs, EgoLM jointly model the distributions of different modalities and can generate correct narrations according to different scenarios.

### 4.4 Ablation Study

Window Size of Motion Tracking.
As shown in Tab. 5, we increase the window size for three-points motion tracking from $60$ to $120$ frames, which brings an improvement of $4.2mm$ in joint position errors. This is reasonable since increasing the window size brings more contexts, which helps the disambiguation. If we further include egocentric videos in the inputs, the improvement of increasing window size is not as large. Moreover, using $60$ frames plus egocentric video shows better performance than only using $120$ frames. This indicates that the context of egocentric video might be more effective than increasing window size.

Motion VQ-VAE.
Ablation studies on motion VQ-VAE are reported in Tab. 5. “PQ” is the number of codebooks. “CB” is the total number of entries in codebooks. The first two lines shows that large improvements can be achieved by simply using product quantization. Moreover, increasing the number of codes and decreasing code dimensions bring further improvement.

Larger Language Model. We use GPT-2 Medium (345M) to conduct most of our experiments for efficiency. To examine the potential of using larger LM, we train with GPT-2 Large (1.5B) and report performance on TPV2T in Tab. 5. The improved scores suggest EgoLM’s scalability as a versatile framework.

**Table 3: Ablation Study on Window Size for Motion Tracking.**
| Win | Vid | Full | Upper | Lower | J.A. |
| --- | --- | --- | --- | --- | --- |
| 60 |  | 83.88 | 54.06 | 148.37 | 13.31 |
| 120 |  | 79.61 | 52.66 | 138.87 | 13.01 |
| 60 | ✓ | 73.38 | 49.67 | 124.58 | 12.48 |
| 120 | ✓ | 72.76 | 49.20 | 123.09 | 12.52 |

### 4.5 More Applications

Text-to-Motion Generation. As part of our joint training, EgoLM is capable of generating motions from texts, as shown in Fig. 7 a). Even with long prompts separately describing upper body and lower body, our model is able to generate motions that match the inputs.

Motion Prediction. As a by-product of the motion pre-training, EgoLM can function as a motion predictor. As shown in Fig. 7 b), given motion prompts (the red skeleton in the left), subsequent motions can be randomly sampled. We show three different samples in different colors.

Figure: Figure 7: More Analysis on EgoLM. a) Qualitative results of text-to-motion generation. b) Qualitative results of motion prediction.
Refer to caption: x7.png

## 5 Discussion

We propose EgoLM, a multi-modal language model for egocentric motion tracking and understanding.
A three-steps paradigm, including motion tokenization, motion pre-training and multi-modal instruction tuning, is proposed to facilitate the training.
In contrast to previous works, the proposed framework unifies the egocentric motion tasks with a language model, and incorporates multi-modal sensor data as context information, which is proven effective for both tasks.

Limitations. Firstly, our motion tokenizer is a VQ-VAE, which carries reconstruction errors. It sets an upper bound for motion tracking.
Moreover, for the motion tracking training, the loss is calculated on discrete motion tokens, instead of raw motion representations, which might also harm the performance of motion tracking.
Secondly, for motion understanding, since each egocentric video frame is compressed by the CLIP encoder to a one-dimensional vector, it is hard for models to precisely name the object that the person is interacting with. Moreover, as is commonly observed in language models (Ji et al., ), EgoLM also suffers from the hallucination problem.

Potential Societal Impact. While contextual AI offers opportunities for efficiency improvement and societal advancement, the collection and analysis of human data could lead to privacy issues for both users and people around.

## Supplementary

We provide more implementation details (Sec. A) and qualitative results (Sec. B) in this supplementary material. To better showcase our results, We also provide videos in our project page [https://hongfz16.github.io/projects/EgoLM](https://hongfz16.github.io/projects/EgoLM).

Figure: Figure 8: Online Motion Tracking Inference. For the new time step of $t+1$ with new data coming in, last motion tokens are combined with the new input tokens to decode the next motion token $t+1$.
Refer to caption: x8.png

## A Implementation Details

### A.1 Auto-regressive Inference for Motion Tracking

At inference time, motion understanding is the same as the language model inference. For motion tracking, it usually requires online inference over a long period. With a language model, which is an auto-regressive model, it is straight-forward to perform online motion tracking. As shown in Fig. 8, firstly, an initialization over the first $t$ frames of data is required. When the new data frame $t+1$ comes in, the input conditions are updated accordingly. Then, it is not necessary to predict all the motion tokens from frame $2$ to frame $t+1$. We take the previously generated motion tokens from frame $2$ to frame $t$ as inputs and prompt the network to generate one more token for frame $t+1$.

### A.2 Evaluation Metrics

For motion tracking, we use joint position errors and joint angle errors to evaluate the performance. Specifically, for the joint position errors, we first align ground truth skeletons and generated skeletons by the head positions only by translation. Then full body, upper body and lower body joint position errors are calculated separately. Joint angle errors are calculated on full body and root joints.
For the evaluation of motion VQ-VAE in main paper Tab. 4, we apply widely adopted metrics for motion regression, *i.e.*, Mean Per-Joint Position Error (MPJPE) (Ionescu et al., ), Procrustes-Aligned (PA-)MPJPE (Kanazawa et al., ), and joint position acceleration (ACCL) error.
For the motion understanding, we use standard NLP metrics, please kindly refer to corresponding papers for more details.

## B More Qualitative Results

### B.1 Three-Points Motion Tracking

We show four more visual examples of three-points motion tracking in Fig. 9, Fig. 10 and Fig. 11. AvatarPoser (Jiang et al., ) and BoDiffusion (Castillo et al., ) are solid baselines that perform well on easy walking cases, *e.g.*, upper example in Fig. 10. For the workout sequence, *i.e.*, lower example in Fig. 11, even only given three points of upper body, the distribution of lower body motion can be collapsed and generate reasonable motions that matches the ground truth. In Fig. 11, we demonstrate the effectiveness of including egocentric videos as inputs. Without any environment context, AvatarPoser and BoDiffusion often fail to distinguish standing and sitting down. We do not assume the knowledge of the head height over the floor, meaning that the three-points positions are normalized to the local coordinates of the first frame. Therefore, it is hard for baseline methods to disambiguate certain scenarios. We propose to introduce contexts using egocentric videos, which contains rich information about the environment and how the person is interacting with it. Therefore, our model can generate the most accurate motions by utilizing these information. For more visualization of three-points motion tracking, please kindly refer to our supplementary videos.

Figure: Figure 9: Qualitative Results of Three-Points Motion Tracking. Skeletons are color-coded by joint position errors.
Refer to caption: x9.png

Figure: Figure 10: Qualitative Results of Three-Points Motion Tracking. Skeletons are color-coded by joint position errors.
Refer to caption: x10.png

Figure: Figure 11: Qualitative Results of Three-Points Motion Tracking. Skeletons are color-coded by joint position errors.
Refer to caption: x11.png

### B.2 One-Point Motion Tracking

We show four more examples of one-point motion tracking in Fig. 12 and Fig. 13. The introduction of egocentric videos has two advantages. Firstly, similar to the case in three-points body tracking, the environment contexts in egocentric videos can disambiguate cases like standing and sitting. Secondly, specifically for one-point motion tracking, egocentric videos provide clues of hand positions. As shown in all four examples, when the person raises the arms in front of the body, hands would be visible in the egocentric videos, which helps the hand position tracking. Admittedly, high-level semantic information provided by CLIP (Radford et al., ) encoders cannot accurately track hand positions. Therefore, as shown in the lower example in Fig. 12, our method correctly generates arms moving in the air, but lacks accuracy. For more visual examples of one-point motion tracking, please kindly refer to our supplementary video.

Figure: Figure 12: Qualitative Results of One-Point Motion Tracking. Skeletons are color-coded by joint position errors.
Refer to caption: x12.png

Figure: Figure 13: Qualitative Results of One-Point Motion Tracking. Skeletons are color-coded by joint position errors.
Refer to caption: x13.png

#### B.2.1 Multiple Samples.

Note that EgoLM is essentially a generative model. Therefore, our model is capable of generating different samples with the same inputs. In Fig. 14, we show three random samplings on the same input one-point and egocentric video. When hands are not visible in the frame, *i.e.*, the left highlighted frame, hand positions are not constrained, and therefore shows high diversity across different samples. For the other highlighted frames, hands are visible in the egocentric videos, which helps to collapse the distribution of possible positions of hands. But as discussed above, our way of encoding egocentric videos cannot accurately track the hand positions. Therefore, our model also shows some diversity of hand positions in these cases.

Figure: Figure 14: Three Random Samples of One-Point Motion Tracking with Egocentric Videos as Inputs. Since we use language models as our backbone, EgoLM has the ability to randomly sample outputs given the same inputs. Egocentric videos provide strong clues for hand positions, leading to less diversity as shown in the highlighted areas.
Refer to caption: x14.png

To further demonstrate the diversity of our model, we also show three random samples from our one-point motion tracking model that does not take egocentric videos as inputs in Fig. 15. Lack of any indication of the hand positions, the upper body generation is even less constrained than that of the lower body and shows high diversity across three samples.

Figure: Figure 15: Three Random Samples of One-Point Motion Tracking without Egocentric Videos as Inputs. With only head poses as inputs, the generation of full body motion, especially upper body motions, is less constrained.
Refer to caption: x15.png

### B.3 Motion Understanding

We show eight more examples of motion understanding in Fig. 16 and Fig. 17. Similar to the main paper, we use green to highlight correct parts in the answers and red for wrong answers. Similar to the observation made in the main paper, even though TM2T (Guo et al., ) and MotionGPT (Jiang et al., ) have access to the full body motion, the generated narrations are reasonable but completely wrong if consider the environment context. For example, in the upper right example in Fig. 17, given the simple walking sequence, both TM2T and MotionGPT can correctly understanding that the person is walking forward. But they all give the wrong answers about the places the person is walking in. Thanks to the egocentric videos, our model successfully produces the correct description as “walking towards the beds”.

Figure: Figure 16: Qualitative Results of Motion Understanding. We use green to highlight correct parts in the answers while red for wrong ones.
Refer to caption: x16.png

Figure: Figure 17: Qualitative Results of Motion Understanding. We use green to highlight correct parts in the answers while red for wrong ones.
Refer to caption: x17.png

### B.4 Motion Prediction

As a by-product of the second stage of our training pipeline, motion pre-training, we build a motion prediction network. Given leading motions as the prompts, our model is capable of auto-regressively sample motions that complete the motion prompts. As shown in Fig. 18, the first three samples show three different samples given the same motion prompt. We can increase the intensity of the generated motions by increasing the temperature. The last three samples show three random samples given various motion prompts, *e.g.*, bending forward, sitting down and standing.

Figure: Figure 18: Qualitative Results of Motion Prediction. The first skeletons in red are input motion prompts. The following motions are randomly sampled auto-regressively from our motion pre-training network.
Refer to caption: x18.png

## Peer Reviews

confidence: 4
contribution: 2
initial_rating: 3
presentation: 3
questions: - In Table 2, EgoEgo can also take ego video as an input. Is there a reason why you didn’t compare the performance of EgoEgo 1pt + Video?
soundness: 3
strengths: - This paper presents a new framework named EgoLM for understanding egocentric motion.
- The figures are high-quality and aid in understanding the proposed approach.
summary: This work introduces EgoLM, a framework for egocentric motion understanding using a language model that processes multi-modal data inputs. To improve egocentric motion comprehension, the authors propose a method to align motion and language distributions. They also introduce interaction-tuning-based multi-modal training. Using EgoLM, the paper addresses two tasks: motion tracking and motion narration. Through experiments, the paper demonstrates the effectiveness of the proposed approach in egocentric motion-related tasks.
weaknesses: - Limited technical novelty: Sections 3.2 and 3.3 are almost identical to T2M-GPT, as they discuss training motion VQ-VAE and training an autoregressive LM on motion tokens. This makes it challenging to consider these sections as novel contributions. Section 3.4, which introduces multi-modal multi-task training, is the only unique technical contribution; however, it merely combines different modalities to instruction-tune the LM without introducing new technices.
- The proposed framework does not include design for egocentric video. It lacks a specific algorithm tailored to egocentric views and instead emphasizes combining different modalities, which does not need to be egocentric applications.
- The model is only compared to baselines that do not include video. From the experiments, it seems that the performance improvement may be attributed to the addition of a video rather than the proposed framework itself, as the model’s performance is almost similar to the baselines without video. Experiments under identical conditions are needed to clearly establish the framework’s contribution.

---

confidence: 3
contribution: 3
initial_rating: 6
presentation: 3
questions: 1. Is there any noise in the sensor data?
soundness: 3
strengths: 1. The paper shows exhaustive evaluation with the unimodal baselines and compares both the multi-modal and uni-modal versions of the method.
2. The paper leverages multiple modalities of sensor data and visual data for better motion tracking.
3. The qualitative results are exhasutive.
summary: The paper focuses on improving egocentric motion understanding using large language models. When using smart wearable devices, egocentric information about the user's environment and interactions can be collected, however it lacks information about the wearer's body pose and kinematic motion of the various body parts. The paper's insight is that the egocentric videos can help to disambiguate the lower body motion and sparse motion sensors can give information when the egocentric video is identical.

In the method, the sparse motion sensor data and visual information are aligned with the language representations of the LLM to give a generated motion and a motion narration text as output. This method is trained as a multi-modal multi-task manner to understand motion on a semantic and kinematic levels. The text tokens of the prompt, clip embeddings, and three points of the motion are concatenated together and passed to the language model to generate the output.

The method is compared on the motion tracking and motion narration tasks with the AvatarPoser and Bodiffusion baselines and show a significant improvement in terms of the tracking metrics (full, lower, upper,  joint position, joint angle) and narration metrics (bleu score, rouge).
weaknesses: 1. How does the method deal with scenarios when both the video and sensor data become ambiguous? For example, if the person is using the treadmill and faces the white wall, can the sensor data confuse between walking and running?
2. How is the correspondence/association established between the two modalities - clip embedding and pose data?

---

confidence: 3
contribution: 2
initial_rating: 6
presentation: 3
questions: Questions Regarding Motion Tracking
- Could you clarify the statement, "All methods are evaluated using batch inference, where every 60 frames are processed independently"? I initially assumed that inference was performed in an online manner with a 1-frame sliding window, so this sentence is a bit confusing to me.
- Is the configuration setup for AvatarPoser and BoDiffusion the same as EgoLM in Table 2, 1 frame sliding winodw?
- I believe that velocity error would be an informative metric for ego-body tracking. Could you share the velocity error results from Table 2 for both the baselines and EgoLM?

Code Availability
- Will the code and model be made publicly available?
soundness: 2
strengths: EgoLM stands out for its versatility, unifying diverse egocentric motion tasks such as narration, generation, and text synthesis in a single framework.
The model effectively combines video and sensor inputs, capturing rich contextual information that enhances motion understanding.
Extensive experiments demonstrate EgoLM’s adaptability for wearable technology applications.
summary: EgoLM is a framework designed to make sense of motion data from wearable devices by combining video and sensor inputs.
It tackles a range of tasks, from generating motion narratives and text descriptions to synthesizing motion from sparse data, all while using rich contextual cues.
The authors demonstrate EgoLM’s versatility and effectiveness in handling complex motion understanding challenges, showing its potential as a powerful tool for HMD.
weaknesses: While I believe that using an egocentric body model with a language model is a promising research direction, I have concerns about its practicality in real-world applications due to potentially slower inference speeds. If inference time is slow, it may hinder real-time motion tracking capabilities, even with an online setup.

Regarding motion tracking, state-of-the-art methods such as [1], [2], and [3] were available at the time of submission to ICLR. Comparing EgoLM's results to these more recent methods could provide a more comprehensive evaluation. Is there a specific reason for selecting BoDiffusion and AvatarPoser for comparison instead?

Given EgoLM's significant performance boost when using image features, I also suggest comparing inference times with and without image features to see if the input type affects performance. Does inference time remain consistent regardless of input type?

[1] Du, Y., Kips, R., Pumarola, A., Starke, S., Thabet, A., & Sanakoyeu, A. (2023). Avatars grow legs: Generating smooth human motion from sparse tracking inputs with diffusion model. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 481-490).

[2] Feng, H., Ma, W., Gao, Q., Zheng, X., Xue, N., & Xu, H. (2024). Stratified Avatar Generation from Sparse Observations. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 153-163).

[3] Zheng, X., Su, Z., Wen, C., Xue, Z., & Jin, X. (2023). Realistic full-body tracking from sparse observations via joint-level modeling. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 14678-14688).

---

confidence: 4
contribution: 2
initial_rating: 5
presentation: 3
questions: 1. If using more 3d motion data from related datasets, e.g., transferring them into the data used in this work, can the performance boost?

2. The joint training affect on LM? Why not use more recent open-sourced LLM like Llama?

3. The effects of different headsets/sensors?

4. Tab 2: seems that ours w/o video performs not well. Could the authors provide more insight?
soundness: 2
strengths: + The data focused on by this paper means a lot in the future world, as the VR equipment will be an important entry of human life data.

+ Reconstructing human motion from the sparse 6D pose data is non-trivial.
summary: This paper proposed a new work on egocentric video understanding and human motion recovery with sparse headset pose data. By combining the language and motion modalities, the authors built a new pipeline to train the LLM with motion data into a language-motion LM. On motion recovery, egocentric video captioning, etc., the proposed method achieves decent performances compared to baselines.
weaknesses: - The method contribution: most of the method designs in this work are common practice from the other VLM or MLLM works, like instruction tuning tricks, VQ-VAE encoding, and training, joint space training, multi-modal tokenization, etc. Please add a comparison between previous works, or which part is your unique contribution.

- Though this work focuses on the sparse headset pose data, many existing 3D pose datasets on videos (like BABEL) can also be formalized as similar benchmarks. At least, these data can be considered as the data supplementary in the pre-training. Moreover, there are also many baselines from the other tracks that can be adopted here, like different recovering methods from incomplete inputs. 

- Even the motion captioning part, many datasets like BABEL can also be seen as a testbed to verify the proposed method.

Overall, both the method and experiment parts have a lot of room for improvement.