

Вот глубокий технический разбор статьи **MAMP**, подготовленный специально для проекта SmartRep. Эта статья — важнейший шаг вперед по сравнению с базовым SkeletonMAE, так как она меняет саму суть того, _что_ именно должна выучивать модель.

YAML

```
1. МЕТАДАННЫЕ
title: "Masked Motion Predictors are Strong 3D Action Representation Learners"
title_ru: "Предсказатели маскированного движения — сильные ученики 3D-репрезентаций действий"
authors: [Mao, Deng, Zhou, Fang, Ouyang, Li]
year: 2023
venue: "ICCV"
venue_tier: "A*"
doi: "https://arxiv.org/abs/2308.07092"
tags: [pose_estimation, edge, aqa, ssl, masked_modeling, skeleton, transformer, motion_prediction]
relevance_to_smartrep: 5 # Фокус на динамике движения идеально ложится на оценку техники
direction: "🅰" # Self-supervised motion
```

---

### 2. CORE CONTRIBUTION (TL;DR)

Статья решает проблему **Masked Modeling** для скелетных данных, доказывая, что стандартная реконструкция пространственных координат суставов (как в SkeletonMAE) неэффективна для понимания действий. Вместо этого авторы предлагают предсказывать _векторы движения_ (разницу координат между кадрами) для замаскированных участков. Кроме того, вводится стратегия "motion-aware masking": алгоритм с большей вероятностью маскирует те суставы, которые движутся активнее всего, заставляя модель выучивать сложную семантику кинематики, а не просто интерполировать статические позы.

---

### 3. АРХИТЕКТУРА И МЕТОД

- **Механизм обучения:** На вход подается последовательность 3D-скелетов. Из нее предварительно вычисляются векторы движения (разница между соседними кадрами). Далее применяется стратегия _motion-aware masking_: вычисляется интенсивность движения каждого токена, и участки с сильным движением маскируются с повышенной вероятностью (например, маскируется махающая рука, а не неподвижный торс). Энкодер обрабатывает видимые токены, а декодер восстанавливает векторы движения для замаскированных.
    
- **Backbone:** Используется **Vanilla Transformer** (состоящий из пространственно-временного энкодера и легкого декодера). Скелет представляется как набор независимых токенов (сустав $\times$ время) без использования графовых сверток (GCN).
    
- **Математика:** Целевой функцией является среднеквадратичная ошибка (MSE) между предсказанными и реальными векторами движения. Пусть $X_t \in \mathbb{R}^{V \times 3}$ — координаты суставов в кадре $t$. Вектор движения определяется как $M_t = X_{t+1} - X_t$.
    
    $$L_{total} = \frac{1}{|\Omega|} \sum_{i \in \Omega} \| M_i - \hat{M}_i \|_2^2$$
    
    Где $\Omega$ — множество замаскированных токенов, а $\hat{M}_i$ — предсказание декодера.
    
    _Физический смысл:_ Предсказывая $M_t$ (по сути, скорости суставов), модель вынуждена понимать законы физики, инерцию и биомеханику упражнения. Это гораздо сложнее и информативнее, чем предсказывать статичное положение $X_t$, где сеть может просто схитрить, усреднив соседние кадры.
    
- **Диаграмма потока данных:**
    

Code snippet

```
graph TD
    A[Input 3D Skeletons X] --> B[Compute Motion M = X_t+1 - X_t]
    A --> C[Motion-Aware Masking]
    B --> C
    C -->|High motion joints heavily masked| D{Drop Tokens}
    D -->|Visible| E[Transformer Encoder]
    E --> F[Encoded Features]
    F --> G[Concat with Mask Tokens & Pos Embed]
    G --> H[Lightweight Decoder]
    H --> I[Predicted Motion Vectors]
    I --> J((MSE Loss vs Ground Truth Motion))
```

---

### 4. ЭКСПЕРИМЕНТЫ (AQA & Motion)

- **Datasets:** Оценка проводилась на классических датасетах распознавания действий: NTU RGB+D 60, NTU RGB+D 120 и PKU-MMD.
    
- **Результаты:** [КОММЕНТАРИЙ РЕЦЕНЗЕНТА] MAMP показал выдающиеся результаты, доказав, что Vanilla Transformer без графовых смещений (inductive biases) может бить SOTA, если правильно поставить задачу самообучения.
    

|**Модель (Backbone)**|**Датасет**|**Pre-training Target**|**Top-1 Acc (X-sub)**|
|---|---|---|---|
|SkeletonMAE (Transformer)|NTU-60|Coordinates (Joints)|86.6%|
|AimCLR (ST-GCN)|NTU-60|Contrastive|86.9%|
|**MAMP (Transformer)**|NTU-60|Motion (Velocity)|**93.1%**|
|**MAMP (Transformer)**|NTU-120|Motion (Velocity)|**90.0%**|

- **Метрики:** Стандартная Top-1 Accuracy для классификации действий. Специфические метрики фитнеса или AQA не использовались.
    

---

### 5. EDGE FEASIBILITY (Критично для SmartRep)

- **Вычислительная сложность:** Идеально для Edge. Скелетные трансформеры оперируют очень компактными представлениями (всего несколько десятков точек на кадр).
    
    - _Параметры:_ Архитектура на базе Vanilla Transformer обычно весит от 5 до 15 M параметров (в зависимости от глубины энкодера).
        
    - _GFLOPs:_ Менее 1-2 GFLOPs.
        
    - _Latency:_ Запустится в реальном времени (>30 FPS) на NPU любого современного смартфона.
        
- **Квантизация/Дистилляция:** Авторы не фокусировались на сжатии, но архитектура стандартного трансформера легко переводится в INT8 с помощью инструментов вроде TFLite или CoreML.
    

---

### 6. РЕЛЕВАНТНОСТЬ ДЛЯ SMARTREP (Анализ по пунктам)

- **One-class AQA (ВЫСШАЯ СТЕПЕНЬ ПРИМЕНИМОСТИ):** Это ровно то, что мы искали. Ошибки в технике упражнений — это почти всегда нарушение _динамики_ (слишком быстрый сброс веса, рывок, отсутствие фиксации). Обучив MAMP на эталонных приседаниях, на инференсе мы можем оценивать MSE вектора движения. Если юзер "падает" вниз вместо плавного опускания, предсказанная скорость $\hat{M}_i$ и реальная $M_i$ не совпадут, что мгновенно даст спайк в функции потерь (AQA-скор).
    
- **LUPI-потенциал:** Не требуется. Модель уже использует легкую модальность (3D-скелеты) на входе.
    
- **Periodicity-awareness:** Высокий потенциал. Поскольку сеть выучивает векторы движения (скорости), простая проверка точек, где скорость меняет знак (нулевые пересечения градиента), может дать сверхточный счетчик повторений (reps counting) без дополнительных модулей.
    

---

### 7. GAP ДЛЯ НАС (Ниша для новизны)

1. **Отсутствие штрафов за физическую невозможность:** Модель предсказывает векторы скоростей. Если проинтегрировать предсказанные скорости обратно в координаты ($X_{t+1} = X_t + \hat{M}_t$), может оказаться, что длины костей изменились, что физически невозможно. _Решение для SmartRep:_ Интегрировать предсказанные $M_t$ на лету и добавить в лосс _Bone Length Consistency Loss_.
    
2. **Офлайн-архитектура:** Vanilla Transformer требует полного видеоклипа (например, 64 кадра) для расчета Attention. _Решение для SmartRep:_ Адаптировать энкодер под потоковую обработку (Streaming Transformer или заменить на Mamba/SSM), чтобы выдавать фидбек по упражнению в режиме реального времени, кадр за кадром, с минимальной задержкой.
    

---

### 8. ВЫВОД ДЛЯ ЛИТОБЗОРА

- **Рекомендуемый приоритет:** **ВЫСОКИЙ**. MAMP — это концептуальный прорыв в SSL для скелетов. Идея "предсказывать градиенты, а не координаты" должна стать ядром алгоритмической базы нашего продукта.
    
- **Связанные статьи для прочтения:**
    
    - **SkeletonMAE** (для сравнения подходов).
        
    - **STARS** (Self-Supervised Tuning for 3D Action Recognition in Skeleton Sequences) — дальнейшее развитие идей MAMP.
        

Подсказать, какие архитектурные изменения нужны, чтобы переделать этот Transformer под честный real-time streaming для мобильного приложения?