Project

General

Profile

Actions

Task #6661

open

Руки, ладони и тело, привязанные к лицам

Added by Redmine Admin about 1 month ago. Updated about 1 month ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
09/21/2026
Due date:
% Done:

0%

Estimated time:

Description

Модели MediaPipe: детектор ладоней (192), 21 точка руки (224), 33 точки позы (256, lite). Тело каждого лица — кроп от его лица (детектор позы MediaPipe сам ищет голову). Рука привязывается к телу с ближайшим запястьем, иначе к ближайшему лицу. Рисуются в цвете лица. TDD: чистые функции домена (кроп тела от лица, кроп руки от ладони, привязка рук), затем фикстуры с руками и телом.

Actions #1

Updated by Redmine Admin about 1 month ago

Готово (не закоммичено).

  • Модели MediaPipe в crates/native/models: детектор ладоней (192), 21 точка руки (224), поза lite (256), всего +21 MB; tools/convert_mediapipe.sh собирает все четыре. Детектор позы роняет tf2onnx, поэтому кроп тела строится от лица.
  • Тело: кроп от лица — 5 ширин лица вниз, 20 поперёк (подобрано на фикстурах); остальные лица на кадре закрашиваются серым, чтобы модель читала тело своего лица: нос на своём лице в 117 телах из 117 против 78 без маски.
  • Руки: ладони по кадру, рука по кропу ладони, рука отдаётся телу с ближайшим суставом той же руки (запястье, локоть, плечо) в пределах 2 ширин лица, иначе ближайшему лицу. Правая/левая рука от модели: 130 из 133 и 164 из 164 верно.
  • Фикстуры: poses/wave-three.mp4 (три человека машут, CC BY-SA 4.0), poses/sign-alphabet.mp4 (жестовая азбука, CC0).
  • Итог на фикстурах: 147 из 148 рук своему человеку, тело у каждого лица, у жестикулирующего тело на всех кадрах и рука на 80%.
  • Отдельный поток: ладони 7 мс, рука 5 мс, тело 8 мс; лица идут в темпе камеры, руки и тело на кадр-два позже. Рисуются пунктиром в цвете лица. --no-limbs отключает.
  • TDD: domain/body (10), domain/hands (10), domain/limbs (2), adapters/landmarks/palms (3), limbs на фикстурах (4), отрисовка (3), crowd regions (1). tools/check.sh: 15 из 15.
Actions #2

Updated by Redmine Admin about 1 month ago

Ложные руки на кадре по плечи исправлены.

Причина: модель позы угадывает руки за кадром и уверена, что видела бы их (visibility до 0.86 на интервью, руки которого вне кадра). Сустав теперь считается видимым только при visibility > 0.5 и presence > 0.7 (вероятность, что сустав внутри изображения): у угаданных рук presence не выше 0.61, у настоящих 0.81 и выше в 9 суставах из 10.

Тест: на интервью и head-shake (кадр по плечи) ни одного локтя, запястья и руки; плечи на интервью в 57 телах из 59. Руки на фикстурах с руками по-прежнему 147 из 148. Ложные ладони на фоне отсекает модель руки: 0 рук на трёх роликах без рук. tools/check.sh: 15 из 15.

Actions

Also available in: Atom PDF