Files
grant_kachalka_Egor/SmartRep/0_prompts/Промпт для pose estimation mesh recovery biomech-aware статей.md
2026-05-04 09:49:45 +03:00

266 lines
19 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Структурные решения для `pose_method`-промпта (что отличает от A и B):
1. **Direction по умолчанию НЕ нулевой.** Pose papers почти всегда 🅱 (биомех-aware pose), но иногда чисто backbone-роль для 🅲. По умолчанию — 🅱, явное обоснование требуется только если иначе.
2. **Ключевое различие в разделе 4.** Pose papers оцениваются метриками положений и углов (MPJPE / PA-MPJPE / PVE / joint angle error), а не классификации. Дополнительная ось — **физическая правдоподобность** (jitter, foot sliding, penetration), которую AQA/SSL-шаблоны не покрывают.
3. **Body model — обязательное поле.** SMPL / SMPL-X / SMPL+H / GHUM / STAR / mesh-free / только joints. От этого зависит, получим ли мы углы в суставах (нужны для 🅱) или только координаты.
4. **Камера и калибровка — обязательное поле.** Многие SOTA-pose требуют known intrinsics или weak perspective с предположениями, которые не выполняются в зале с телефоном.
5. **Athletic / extreme pose evaluation — отдельная подсекция.** Большинство pose-методов оценены на H36M (everyday actions); их деградация на глубоких приседах / арках жима — главный риск для нас. Если этой проверки нет, фиксируем явно.
6. **Stability across reps — отдельный пункт.** Jitter в pose может быть ошибочно интерпретирован downstream-головой как изменение техники между повторами. Это уникальная для periodic-задач проблема, в общих pose-papers её обычно не меряют.
7. **Раздел 6 — pose-specific релевантность.** Не «применим ли AQA-метод» и не «годится ли как pretraining», а «можно ли вообще получить из этого pose-выхода стабильные joint angles на штанговом видео с окклюзиями».
---
# 📑 Дополнения к тег-словарю для pose-papers
```
# Выход
joint_regression, smpl_fitting, smplx_fitting, ghum_fitting, mesh_recovery,
ik_solver, dense_pose, 2d_pose, 3d_pose
# Камера и сцена
single_view, multi_view, monocular, multi_camera, known_intrinsics, in_the_wild
# Приоры
physics_aware, biomech_aware, kinematic_prior, temporal_prior, contact_aware
# Обучение pose
synthetic_pretraining, weak_supervision, pseudo_labels
```
---
# 📝 ВАРИАНТ C — Промпт для pose estimation / mesh recovery / biomech-aware статей
````
ПРОМПТ ДЛЯ АНАЛИЗА POSE-СТАТЬИ (paper_type: pose_method)
Ты — старший научный рецензент с экспертизой в 2D/3D human pose estimation,
parametric body models (SMPL/SMPL-X/GHUM), inverse kinematics и
biomechanics-aware pose. Твоя задача — подготовить разбор статьи для
проекта SmartRep как кандидата на pose-стадию pipeline'а перед AQA/error-головой.
ВАЖНО-1: если статья ЯВНО про AQA / fine-grained errors / scoring движений
— ОСТАНОВИСЬ и сообщи: «AQA-типа, рекомендую AQA-промпт». Pose-выход в AQA-статьях
обычно вспомогательный.
ВАЖНО-2: если статья про чистый SSL pretraining без явного pose-output
(joint coords / SMPL params / mesh) — ОСТАНОВИСЬ и переключись на
SSL-backbone промпт.
ВАЖНО-3: для нашей задачи критичны три риска, которые нужно явно
проверить в каждой pose-статье:
(a) деградация на атлетических / экстремальных позах,
(b) поведение при окклюзии (штанга закрывает кисти/плечи),
(c) jitter между фреймами в периодических движениях.
Если статья не отвечает на какой-то из трёх — фиксируй как «НЕ ОЦЕНИВАЕТСЯ»
и переноси в Gap.
### 1. МЕТАДАННЫЕ (YAML)
```yaml
title: "<оригинальный заголовок>"
title_ru: "<перевод>"
short_name: "<canonical акроним>"
authors: [<фамилии>]
year: <YYYY>
venue: "<conference/journal>"
venue_tier: "<A*/A/B/Q1/Q2>"
doi: "<link>"
code: "<github>"
paper_type: "pose_method" # обязательно
tags: [<из фикс. словаря, минимум 4 — обязательны: тип выхода, body model, камера, парадигма обучения>]
relevance_to_smartrep: <1-5>
direction: "<🅰 / 🅱 / 🅲>" # default 🅱 для pose. Если иначе — обоснуй в TL;DR.
status: "reviewed"
```
### 2. CORE CONTRIBUTION (TL;DR)
3 предложения. **Первое** — какую pose-задачу решает: 2D keypoints / 3D joints
(absolute / root-relative) / SMPL parameters / full mesh; single-view
или multi-view; в реальном времени или offline. **Второе** — основной механизм
(regression / optimization-based fitting / IK / hybrid). **Третье** — обоснование
`direction` (🅱 если pose-метод, 🅲 если синтетический pretraining backbone, 🅰 если
включает явный biomech error head).
### 3. АРХИТЕКТУРА И МЕТОД
- **Выход модели:** {2D-keypoints / 3D-joints / SMPL θ,β / SMPL-X / mesh vertices
/ dense correspondences}. **Обязательно укажи, есть ли joint angles на выходе**
(или их нужно вычислять самостоятельно).
- **Body model:** SMPL / SMPL-X / SMPL+H / GHUM / STAR / skeleton-only / none.
Версия (neutral / gendered), число вершин, число суставов.
- **Pipeline:**
- Backbone (ResNet / HRNet / ViT / Mamba / GCN);
- Голова (regression / heatmap / parametric / IK / optimization);
- Если optimization-based — solver (LBFGS / Adam) и сколько итераций.
- **Камера:**
- Модель: weak perspective / full perspective / orthographic;
- Требуются ли known intrinsics (focal length, principal point)?
- Калибровка: автоматическая / нужна заранее / отсутствует.
- **Кинематические и физические приоры:**
- Joint limits (анатомические границы углов)?
- Bone length constraints?
- Temporal smoothness?
- Contact / penetration / foot sliding?
- Physics simulation в loop?
- **Loss-функции в LaTeX** ($\mathcal{L} = \dots$) с разбором по слагаемым:
3D joint loss, 2D reprojection, SMPL params, regularization, biomech priors.
- **Mermaid-диаграмма:** Image / Video → Backbone → {Heatmaps / Features} →
{Regression / IK / Optimization} → {Joints / SMPL / Mesh}.
### 4. POSE-ЭКСПЕРИМЕНТЫ
- **Training datasets:** H36M, MPI-INF-3DHP, 3DPW, AMASS, AGORA, BEDLAM,
COCO, MPII, собственные. Полностью / частично / только pretraining?
- **Evaluation datasets:** H36M, 3DPW, EMDB, AGORA-test, ASPset (athletic),
SportsPose, fitness-specific. **Особо отметь, есть ли out-of-distribution
атлетический бенчмарк.**
- **Pose metrics (обязательно):**
- MPJPE (mean per joint position error, mm)
- PA-MPJPE (Procrustes-aligned, mm) — снимает absolute scale/rotation
- PVE / MPVPE (per-vertex error, для mesh-методов)
- PCK @ threshold (Percentage of Correct Keypoints)
- Joint angle error (degrees, per-joint) — **редкая, но критичная для нас метрика**
- **Stability / temporal metrics (если есть):**
- Jitter / acceleration error
- Foot sliding (mm)
- Smoothness (e.g., MPJPE first-derivative)
- **Robustness тесты (если есть):**
- Окклюзия: synthetic mask-out, real occlusion datasets (3DOH, OCHuman);
- Cropping / truncation;
- Adversarial / compression artifacts.
- **Athletic / extreme pose evaluation:** делается ли отдельная оценка на
глубоких приседах, мостах, инверсиях, олимпийских позициях? Если нет —
это серьёзный риск, явно фиксируй.
- **SOTA-таблица:** воспроизведи ключевую.
- **Ablation:** какие компоненты критичны, какие — косметические.
### 5. EDGE FEASIBILITY (для SmartRep)
| Параметр | Значение |
|---|---|
| Параметры (M) | <число / НЕ УКАЗАНО> |
| GFLOPs / image | <число / НЕ УКАЗАНО> |
| Latency + железо | <число + device / НЕ УКАЗАНО> |
| FPS на видео | <число / НЕ УКАЗАНО> |
| Optimization-loop на инференсе | <да/нет, сколько итераций> |
| Известные intrinsics / калибровка нужна на инференсе | <да/нет> |
| Квантизация / дистилляция | <обсуждается?> |
| Mobile / edge deployment | <да/нет/не обсуждается> |
**Качественный fallback (если ≥4 НЕ УКАЗАНО):** оценка `lightweight / medium /
heavy / unknown` + мотивация. Особо отметь два killer-фактора для edge:
(i) optimization-loop на инференсе (даже 510 итераций LBFGS убивают real-time),
(ii) требование известных intrinsics (в зале с произвольным телефоном —
несбыточная роскошь).
### 6. РЕЛЕВАНТНОСТЬ ДЛЯ SMARTREP (pose-pipeline применимость)
- **Атлетический domain transfer:** обучен ли метод на чём-то кроме H36M-style
бытовых движений? Если нет — насколько сильно деградирует на глубоких
приседах, плотном бенче, тяге с округлой спиной (можно судить по
атлетическим бенчмаркам или их отсутствию).
- **Barbell-occlusion устойчивость:** при наличии гриф закрывает кисти,
предплечья, иногда плечи и подбородок. Метод оценен на real occlusion?
Какова деградация MPJPE при mask-out 3050% видимости?
- **Углы vs координаты:** даёт ли метод joint angles на выходе напрямую
(через SMPL θ или явный IK), или только координаты, из которых углы
считаются постфактум (с накоплением ошибки)? Для направления 🅱 первое
принципиально важно.
- **Body-shape нормализация:** даёт ли β-параметры SMPL (или эквивалент)?
Без них одинаковый угол в колене на разных телах = разная биомеханика.
- **Камерные требования:**
- Монокуляр side-view (наш случай) поддерживается?
- Нужна ли калибровка intrinsics?
- Нужен ли ground-plane?
- **Темпоральная стабильность:** есть ли явный smoothing / temporal prior?
Какой jitter на статичной части движения (нижняя точка приседа)?
- **Совместимость с downstream AQA-головой (направление 🅰):** pose-выход
стабилен и плотен по фреймам? Дискретизация по времени совпадает с
частотой нашего видео (≥30 FPS)?
- **Real-time бюджет:** успевает ли в наш taraget (~30 FPS на mobile)?
### 7. GAP ДЛЯ НАС (НИША НОВИЗНЫ — самое важное поле)
24 конкретных гэпа в формате:
- **Гэп N:** [что не делает или плохо делает статья] → [как это становится
новизной SmartRep].
Типичные формы для pose-papers:
- Не оценен на атлетических позах → ввести silver-standard атлетический
бенчмарк + бенч-дека-присед domain adaptation.
- Не оценена устойчивость к barbell-occlusion → ввести синтетический
barbell-mask augmentation + бенч.
- Optimization-loop на инференсе делает edge невозможным → дистилляция
в feedforward student.
- Joint angles только постфактум → явная angle-regression head поверх
pose-backbone.
- Нет temporal prior → cycle-aware smoothing для периодических движений.
### 8. ВЫВОД ДЛЯ ЛИТОБЗОРА
- Приоритет: **ВЫСОКИЙ / СРЕДНИЙ / НИЗКИЙ** + одна строка обоснования.
- Место в SmartRep-pipeline: какой компонент (pose backbone / SMPL-fitting
step / biomech feature extractor / baseline для сравнения).
- Прямой вклад в направления: обычно 🅱 ненулевой, 🅰 косвенный (pose
как вход), 🅲 нулевой. Если иначе — обоснуй.
- 35 связанных статей для следующего разбора с краткой ремаркой почему.
---
ИНСТРУКЦИИ AI:
- Не выдумывай данные. «НЕ УКАЗАНО» / «НЕ ОЦЕНИВАЕТСЯ» — допустимые ответы.
- Особо аккуратно с интерпретацией МPJPE: это среднее по 1417 суставам,
а ошибки на extremities (запястья, лодыжки) часто в 23× выше; если
per-joint breakdown есть — обязательно его процитируй.
- Если в статье есть только PA-MPJPE без MPJPE — это сигнал, что absolute
pose плохой; явно отметь.
- Разделяй факты и [КОММЕНТАРИЙ РЕЦЕНЗЕНТА].
- Формулы — LaTeX.
- Перед финальным артефактом — короткий блок структурных решений.
- После артефакта — мета-комментарий о работе шаблона.
````
---
## 🧭 Обновлённый селектор (с учётом всех трёх шаблонов)
|Признаки в abstract / methods|Шаблон|
|---|---|
|Spearman / Kendall / AUROC / per-error F1 / regression head на оценку движения|**A (AQA)**|
|Named error taxonomy (butt-wink, hitch, valgus и т.п.)|**A (AQA)**|
|Reconstruction error / distance-to-prototype как anomaly score|**A (AQA)**|
|MPJPE / PA-MPJPE / PVE / SMPL-fitting / IK / mesh recovery|**C (pose)**|
|Joint angles / biomech priors / kinematic constraints как первичный выход|**C (pose)**|
|Pretext task (masked / contrastive / cycle / pred coding) + linear/finetune eval на классификации|**B (SSL backbone)**|
|Linear eval / KNN на NTU/Kinetics/ImageNet с Top-1 как главной метрикой|**B (SSL backbone)**|
|Гибрид: pose + AQA в одной статье (как AIFit)|**C primary**, A secondary; в frontmatter `paper_type: hybrid`, два direction-тега|
|Гибрид: SSL pretraining + downstream pose|**B primary**, C secondary|
|Dataset paper (sampling protocol / annotation methodology — главное)|существующий 14-секционный dataset-шаблон|
---
## Мета-комментарий
**Что специфично для C по сравнению с A и B:**
- Три «hard checkpoints» (атлетические позы, окклюзия, jitter) вынесены в верхнюю часть промпта, чтобы AI явно их искал, а не упускал в потоке стандартных pose-метрик.
- Раздел 5 расширен двумя edge-killer полями (optimization loop, intrinsics requirement) — без них pose-метод можно ошибочно классифицировать как edge-friendly по числу параметров.
- Раздел 6 разворачивает «применимость» через монокуляр-side-view-фильтр SmartRep, а не через generic pose-quality.
**Что закрыто полным трио A/B/C:**
- Spearman/AUROC больше не появляются автоматически в SSL- и pose-карточках (где их нет).
- MPJPE/PA-MPJPE больше не появляются в AQA- и SSL-карточках.
- `direction` без default во всех трёх (B и C переопределяют через «обычно X, но обоснуй»).
- Edge fallback унифицирован.
**Что ещё в очереди (не сейчас, но имеет смысл записать):**
- Возможный **четвёртый** шаблон `synthesis_method` (для NeRF / 3DGS / SMPL-rendering / data augmentation статей) — тебе он может понадобиться при разборе FLEX и пайплайнов синтеза тренировочных данных. Решать стоит после FLEX-карточки, чтобы понять, лезет ли FLEX в существующие или нужен отдельный.
- Миграция старых карточек: добавить `paper_type` в frontmatter Fit3D / FLAG3D / Fitness-AQA / H36M / AIFit. Это пять минут ручной работы или один прогон через скрипт.
---
Прагматичный следующий шаг: **прогнать новый pose_method-промпт на AIFit**. У тебя уже есть AIFit-карточка по старому общему шаблону — это даст прямую A/B-проверку, что именно прибавляет специализированный pose-промпт. Если ОК — запускаем?