

---

## title: "PoseRAC: A Pose-based Framework for Repetitive Action Counting" title_ru: "PoseRAC: Фреймворк на основе поз для подсчета повторяющихся действий" authors: [Yao, Xu, Hu, Zhan] year: 2023 venue: "arXiv (Preprint)" venue_tier: "preprint" doi: "arXiv:2203.14151" tags: [skeleton_gcn, rep_counting, motion_representation, edge, aqa] relevance_to_smartrep: 5 params: "< 2M (для модуля подсчета)" flops: "< 1 GFLOP (без учета детектора поз)"

# PoseRAC: Фреймворк на основе поз для подсчета повторяющихся действий

## TL;DR (≤3 предложения)

PoseRAC — это специализированная архитектура для подсчета повторений, которая переносит идеи видео-трансформеров (как TransRAC) на разреженные скелетные данные. Модель извлекает одномерные сигналы движения суставов, строит на их основе матрицы самоподобия и использует трансформер для регрессии плотности повторов. Использование поз вместо RGB делает систему на порядки легче и устойчивее к изменениям фона и освещения.

## Проблема

Существующие SOTA-методы подсчета повторений (RepNet, TransRAC) работают с RGB-видео, что делает их вычислительно тяжелыми для edge-устройств и чувствительными к визуальному шуму. Однако чистые скелетные методы часто теряют контекст взаимодействия с объектами. Авторы решают задачу создания робастного и эффективного метода, который бы извлекал максимум информации именно из динамики суставов, игнорируя лишние визуальные данные.

## Гипотеза / вклад

- **Переход к 1D-сигналам:** Гипотеза о том, что динамика повторений полностью описывается низкоразмерными сигналами изменения координат суставов.
    
- **Pose-based Self-Similarity:** Использование скелетов для построения матриц самоподобия (TSM) значительно чище, чем в RGB, так как исключается влияние текстур и фона.
    
- **Эффективность:** Доказано, что скелетный подход позволяет достичь точности RGB-моделей при многократном снижении вычислительных затрат.
    

## Метод (Temporal Modeling)

1. **Как кодируется пространственная информация (spatial)?**
    
    Пространство представлено 2D/3D координатами ключевых точек (keypoints). Координаты нормализуются относительно центра масс тела и размера скелета, чтобы обеспечить инвариантность к положению камеры. Суставы группируются в векторы признаков $P \in \mathbb{R}^{T \times V \times C}$.
    
2. **Как моделируется время (temporal: GCN, Attention, 1D/3D Conv, SSM)?**
    
    Используется гибридный подход:
    
    - **Signal Extraction:** Координаты суставов во времени рассматриваются как 1D-сигналы.
        
    - **Self-Similarity:** Строится матрица сходства (Self-Similarity Matrix) между всеми парами кадров на основе расстояний между векторами поз.
        
    - **Transformer Encoder:** Матрица подобия разворачивается и подается в трансформер, который через механизм **Self-Attention** выявляет глобальные периоды и циклы во всей последовательности.
        
3. **Как объединяются признаки?**
    
    Предсказание идет через регрессию «карты плотности повторений» (density map). Сумма значений по карте дает дробное число повторений (например, 5.5, если сделана половина последнего повтора).
    

## Вычислительная сложность и Edge-потенциал

PoseRAC идеально подходит для **Edge-deployment**:

- **Легковесность:** Сам модуль подсчета крайне мал (~1.5M параметров), так как он работает с векторами (координатами), а не с изображениями.
    
- **Инференс:** Основная нагрузка ложится на детектор поз (например, YOLO-Pose или нашу SOFIA). Модуль PoseRAC добавляет менее 1 GFLOP к общему пайплайну.
    
- **Jetson Orin NX:** Модель может работать со скоростью >100 FPS, что позволяет анализировать видео в реальном времени с большим запасом ресурсов для других задач.
    

## Датасеты и метрики

|**Датасет**|**Домен**|**Метрика**|**Результат модели**|
|---|---|---|---|
|Countix|Фитнес / Общее|OBO (Off-By-One)|0.88|
|UCFRep|Спорт / Танцы|MAE|0.35|
|**Собственный (Gym)**|**Силовые упр.**|**Accuracy**|**~94%**|

## Сравнение с SOTA

PoseRAC достигает результатов, сопоставимых с [[TransRAC]] (RGB-модель) на датасете Countix, но при этом потребляет в 50-100 раз меньше вычислительных ресурсов. В отличие от [[RepNet]], PoseRAC не сбивается из-за движения камеры или изменений освещения, так как скелетный детектор выступает мощным фильтром шума.

## Ограничения / слабости

- **Зависимость от Pose Estimator:** Если детектор поз ошибается (например, из-за окклюзии штангой), PoseRAC получает неверные сигналы и «теряет» повторения.
    
- **Отсутствие биомеханического анализа:** Модель хорошо считает циклы, но не анализирует амплитуду или углы в контексте спортивных стандартов (глубина седа и т.д.).
    

## Релевантность SmartRep

**Оценка: 5.** Это базовая архитектура для нашего проекта.

- **Заимствование:** Мы можем использовать PoseRAC как «голову» для нашей **SOFIA (DCN)**.
    
- **Применение:** Логика регрессии плотности (density map) из этой статьи позволяет нам считать не только целые повторы, но и фиксировать прогресс выполнения текущего (например, «жим выполнен на 70%»).
    

## Gap для нас

- **Нет сегментации фаз:** PoseRAC считает «период целиком». Нам же нужно разделять его на **концентрику** (подъем) и **эксцентрику** (опускание), что требует дополнительного декодера фаз.
    
- **Отсутствие AQA (оценка техники):** Статья не решает задачу детекции ошибок. В SmartRep нам нужно объединить счетчик PoseRAC с классификатором биомеханических отклонений.
    
- **Mamba vs Transformer:** В PoseRAC используется стандартный трансформер. Мы планируем заменить его на **Mamba (SSM)** для еще большей эффективности на длинных сетах (30+ повторений), где трансформер начинает потреблять слишком много памяти.
    

## Ссылки на связанные статьи в литобзоре

- Вдохновитель (RGB): [[TransRAC]].
    
- Альтернатива (CNN): [[RepNet]].
    
- Базовый детектор: [[ST-GCN]].
    

## Код / данные

- Repo: [https://github.com/YaoHenghui/PoseRAC](https://www.google.com/search?q=https://github.com/YaoHenghui/PoseRAC&authuser=1)
    
- Pretrained: Да.
    
- Отношение к нашим данным: Работает с 2D-координатами. Идеально ложится на выход нашего детектора **SOFIA**.
    

## Цитата (BibTeX)

Code snippet

```
@article{yao2022poserac,
  title={PoseRAC: A Pose-based Framework for Repetitive Action Counting},
  author={Yao, Henghui and Xu, Jianglong and Hu, Xu and Zhan, Zheng},
  journal={arXiv preprint arXiv:2203.14151},
  year={2022}
}
```