---
title: "ActionCLIP: A New Paradigm for Video Action Recognition"
title_ru: "ActionCLIP: Новая парадигма для распознавания действий на видео"
authors: [Wang, Xing, Liu, Wang, Zhang, Gao]
year: 2021
venue: "arXiv"
venue_tier: "preprint"
doi: "2109.08472"
tags: [video_understanding, clip, vision_language, few_shot, action_recognition, zero_shot]
relevance_to_smartrep: 3
direction: "🅱"
---

# ActionCLIP: Новая парадигма для распознавания действий на видео

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

ActionCLIP адаптирует CLIP для video understanding: вводит temporal модель поверх CLIP visual encoder (shift module или transformer), обучает через "новую парадигму" — multimodal learning с тремя типами supervision (zero-shot, few-shot, full supervised). Ключевое: CLIP-based video model позволяет zero-shot и few-shot распознавание новых классов действий через текстовое описание без примеров. Для SmartRep: новое упражнение описывается текстом ("barbell Romanian deadlift"), модель классифицирует без видео-примеров.

## Проблема

Видео-модели обучаются на закрытом множестве классов и не обобщаются на новые действия без дообучения. CLIP даёт zero-shot возможности для изображений, но видео требует явного моделирования темпоральной динамики.

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

- **New framework:** "pre-train, prompt, fine-tune" вместо "pre-train, fine-tune" для видео.
- **Temporal model над CLIP:** shift module / temporal transformer поверх замороженного (или fine-tuned) CLIP visual encoder.
- **Text-driven recognition:** описание класса действия как supervision signal — few-shot через prompt engineering.
- **Three training protocols:** zero-shot (только текст), few-shot (несколько примеров + текст), full supervision.

## Метод

Visual encoder: $V = \text{TemporalModel}(\text{CLIP-ViT}(\{f_t\}))$, где $\{f_t\}$ — кадры видео.

Text encoder: $T = \text{CLIP-TextEncoder}(\text{prompt}(c))$, где $\text{prompt}(c)$ — текстовое описание класса $c$.

Similarity: $s = \cos(V, T)$.

Three-way training:
- **Zero-shot:** $T$ из CLIP, $V$ из frozen CLIP + temporal adapter
- **Few-shot:** $T$ из learnable prompt (CoOp-style) на K примерах
- **Full supervised:** end-to-end fine-tuning

Loss: InfoNCE / cross-entropy.

### Архитектура (Mermaid)

```
Video frames {f_t} → CLIP visual encoder (frozen/fine-tuned) → frame features
                  → Temporal module (shift/transformer) → video feature V
Text "a photo of [action]" → CLIP text encoder → T
                                    ↓
                cosine(V, T) → zero-shot / few-shot classification
```

## Датасеты

| Датасет | Задача | Метрика | Результат (top-1) |
|---|---|---|---|
| Kinetics-400 | Action recognition | Accuracy | 83.8% (full supervision) |
| HMDB51 | Action recognition | Accuracy | 76.5% (few-shot) |
| UCF101 | Zero-shot | Accuracy | 58.3% |

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

Конкурентоспособен с TimeSformer, Video Swin при full supervision. На few-shot значительно превосходит методы без language prior.

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

- CLIP обучен на изображениях — temporal dynamics в video ограниченно захвачены.
- Zero-shot работает хорошо для action categories, но не для quality assessment.
- Requires CLIP backbone (~400M параметров) — тяжёлый для edge.
- Нет версии для скелетных данных.

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

- **Language-guided exercise recognition 🅱:** "barbell back squat with valgus knee" как текстовое описание ошибки → zero-shot детектор без видео-примеров. Это позволяет библиотеку ошибок техники задавать текстом.
- **Few-shot через prompt:** 5 примеров нового упражнения + текстовое описание → ActionCLIP few-shot adaptation. Более естественный интерфейс, чем чистое video matching.
- **Ограничение:** качество движения (насколько хорошо) vs идентификация движения (что это) — две разные задачи. ActionCLIP решает вторую, не первую.

## Gap для нас

ActionCLIP не оценивает качество движения, работает с RGB и тяжёл для edge. **Ниша SmartRep:** Skeleton-ActionCLIP — адаптация ActionCLIP-парадигмы (text description → motion recognition) к скелетным данным: text encoder CLIP + skeleton temporal encoder (MotionBERT-style) + quality regression head. Это позволит задавать новые упражнения текстом и оценивать их качество в едином фреймворке.

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

- [[CoOp]] — prompt tuning как компонент few-shot branch
- [[MotionBERT]] — skeleton temporal encoder как замена CLIP-ViT в visual branch
- [[VideoMAE]] — SSL pretraining для visual branch вместо CLIP

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

- Repo: github.com/sallymmx/ActionCLIP
- Pretrained: доступны веса ViT-B и ViT-L

## Цитата (BibTeX)

```bibtex
@article{wang2021actionclip,
  title={ActionCLIP: A New Paradigm for Video Action Recognition},
  author={Wang, Mengmeng and Xing, Jiazheng and Liu, Yong},
  journal={arXiv preprint arXiv:2109.08472},
  year={2021}
}
```
