Разработка системы распознавания поз человека (Pose Estimation)

Ручной разбор видеопотока не масштабируется: операторы устают, а ошибки накапливаются. Мы разрабатываем системы распознавания поз человека под ключ — от подготовки данных до передачи готовой модели вашей команде. На выходе вы получаете стабильную оценку позы и сокращение ручной проверки кадров в разы.
Часто задаваемые вопросы

Почему распознавание поз человека ломается на реальных кадрах

Распознавание поз человека в демо-ролике и на реальном объекте — две разные задачи. На тестовом наборе точность оценки позы держится в районе 90%, а на живом потоке с камеры наблюдения падает вдвое: люди перекрывают друг друга, свет меняется в течение дня, а скелет «дрожит» на каждом кадре. Именно здесь ломается большинство внедрений — модель обучена на чистых данных, а эксплуатируется на грязных.

Первая причина — качество обучающих данных. Публичные наборы сняты в студии, с идеальным светом и полным силуэтом в кадре. Реальность даёт контровой свет из окна, тёмную одежду на тёмном фоне, частичные перекрытия и нестандартные ракурсы. Модель, не видевшая таких примеров, уверенно ошибается: путает левую и правую конечности, «приклеивает» сустав к фону, теряет кисти и стопы.

Вторая — проблемы компьютерного зрения, которые не решаются одной архитектурой. Дрожание скелета между кадрами, ложные срабатывания на отражениях и тенях, распад позы при быстром движении. Отдельная головная боль — несколько человек в кадре: без корректной привязки треков скелеты «перескакивают» между людьми, и аналитика считает одного человека за двоих.

Третья — условия эксплуатации. Камера стоит не там, где нужно, угол наклона искажает пропорции, а слабый канал связи роняет кадры. Всё это бьёт по точности оценки позы сильнее, чем сама модель.

Разбираем, как это закрывается: от сбора данных под конкретную площадку до фильтрации треков и калибровки камер.

Что даёт выверенная система распознавания поз человека

Точность оценки ключевых точек

Точность распознавания позы определяется не одной моделью, а связкой: детектор человека, оценка ключевых точек, временная фильтрация. На тестовом наборе мы считаем метрику по каждой точке отдельно — голова и корпус обычно дают отклонение в пределах нескольких пикселей, а кисти и стопы проседают в разы. Если не разделять эти зоны, средняя цифра выглядит прилично, а на практике система путает поднятую руку с наклоном. Раздельная валидация по группам точек сразу показывает, где нужен второй проход по кадру.

Устойчивость к реальным условиям съёмки

Камеры на объекте дают пересвет, перекрытия и людей в кадре больше десяти. Мы добавляем трекинг между кадрами: если точка на секунду потерялась, её положение восстанавливается по траектории, а не скачет. Это убирает до трети ложных срабатываний на сценах с плотным потоком. Отдельно настраиваем порог уверенности — события ниже него не уходят в бизнес-логику, поэтому система не реагирует на случайный силуэт.

Скорость обработки потока

Поток с нескольких камер обрабатывается пакетами, а не по кадру: инференс идёт на ускорителе, декодирование и трекинг — параллельно. На практике это даёт обработку видеопотока в реальном времени без задержки, заметной оператору. Для архивного разбора включается пакетный режим — система проходит сутки записи за минуты, что важно при разборе инцидентов задним числом.

Вариант Когда подходит Ограничения
Модель на одной камере Один ракурс, статичная сцена Перекрытия ломают оценку
Мультикамерная схема Зал, несколько зон Нужна синхронизация потоков
Пакетная обработка архива Разбор записей Не для онлайн-реакции

Мы работаем на MediaPipe и открытых моделях оценки позы — это даёт контроль над точностью и отсутствие зависимости от одного поставщика. Опишите сценарий съёмки — вернёмся с оценкой и планом.

Как мы выстраиваем проект: от аудита данных до передачи модели

Проект внедрения системы распознавания начинается не с выбора модели, а с разбора задачи: какие позы критичны, в каких условиях снимает камера, что считается ошибкой. От ответов зависит и схема разметки, и требования к железу. Ниже — этапы, которые мы проходим на каждом проекте.

  1. Аудит задачи и данных. Смотрим, что уже есть: записи с камер, логи, ручные наблюдения. Определяем целевые классы поз, допустимую задержку вывода и условия съёмки — ракурсы, свет, перекрытия. На выходе — технические требования и метрика качества, по которой будем принимать работу.
  2. Подготовка датасета. Размечаем ключевые точки скелета, чистим кадры, где разметка неоднозначна, балансируем классы. Отдельно собираем сложные случаи: частично перекрытые фигуры, людей в кадре больше одного, нестандартная одежда. Датасет фиксируем версией — чтобы результат был воспроизводим.
  3. Выбор и обучение модели. Берём за основу актуальную ветку открытой архитектуры оценки позы и дообучаем на данных заказчика. Сравниваем 2–3 варианта по точности на контрольной выборке и по скорости инференса на целевом оборудовании.
  4. Валидация модели. Проверяем не среднюю точность, а поведение на пограничных позах и в шумных условиях. Считаем долю верных срабатываний по каждому классу отдельно — общая метрика часто скрывает провал на редком, но важном действии.
  5. Интеграция в контур заказчика. Подключаем модель к видеопотоку или архиву, настраиваем постобработку и сглаживание треков, чтобы система не срабатывала на случайном движении. Прогоняем на реальном потоке в рабочие часы.
  6. Передача и сопровождение. Отдаём веса, конфигурации, скрипты запуска и документацию по разметке. Обучаем команду заказчика дообучать модель на новых данных без нас.

Каждый этап заканчивается артефактом, который можно проверить: требования, размеченный датасет, отчёт по метрикам, работающий сервис. Это позволяет остановиться на любом шаге и увидеть, что уже сделано. Опишите задачу — вернёмся с оценкой сроков и планом по этапам.

Чем оценка позы по одной камере отличается от многокамерной схемы?

Однокамерная оценка позы восстанавливает скелет по проекции на одну плоскость изображения. Пока человек стоит лицом к камере и не перекрыт, точность по ключевым точкам достаточна для большинства задач: подсчёт повторений, контроль осанки, анализ жестов. Проблема начинается там, где появляется глубина — поворот корпуса, перекрытия в кадре, несколько человек на разных дистанциях. Модель видит плоскую картинку и достраивает третью координату догадкой, поэтому при развороте на 90° ошибка по положению суставов растёт кратно.

Многокамерная схема снимает это ограничение за счёт триангуляции: одна и та же точка скелета находится на нескольких ракурсах, и положение в пространстве вычисляется пересечением лучей. Перекрытия в кадре перестают быть фатальными — если один ракурс закрыт, остальные продолжают давать корректную оценку. Плата за это — калибровка: камеры нужно свести в единую систему координат, синхронизировать по времени и удерживать эту калибровку при перестановках оборудования.

Выбор конфигурации камер — это всегда компромисс между точностью и сложностью развёртывания. Одна камера — быстрый запуск, минимум железа, но жёсткие требования к ракурсу и планировке. Две-три камеры закрывают перекрытия и дают объёмную позу, однако требуют стабильной синхронизации потоков и в разы больше вычислений на инференс. Четыре и более — это уже задача уровня захвата движения, где точность нужна для биомеханики или спортивной аналитики.

На практике мы сначала считаем, какие сценарии критичны: если человек всегда в зоне видимости и не перекрыт, однокамерной оценки хватает. Если в кадре несколько людей, оборудование или свободное перемещение — многокамерная схема окупается устойчивостью результата. Конфигурацию подбираем под геометрию помещения, а не по шаблону: расстановка камер важнее их количества.

Кейс: как система распознавания позы убрала ложные срабатывания

Заказчик — сеть производственных площадок — пришёл с готовой моделью распознавания поз, которая на демо-данных показывала приемлемую точность, но в цеху срабатывала хаотично. Ложные тревоги на перекрытиях и тенях от конвейера доходили до 30-40% от всех событий, операторы перестали реагировать на сигналы, и система фактически не работала. Цена ошибки — не сломанный отчёт, а отключённый контроль опасных зон.

Что показал разбор

Мы начали не с модели, а с данных: разметили записи с реальных камер и сверили их с журналом срабатываний. Выяснилось, что ключевые точки скелета терялись при частичном перекрытии — модель «достраивала» позу по догадке и выдавала уверенность выше реальной. Плюс порог срабатывания был выставлен один на все камеры, хотя ракурсы и освещение различались.

Что изменили

Пересобрали контур: добавили проверку устойчивости ключевых точек по нескольким кадрам, ввели отдельный порог на каждую камеру и калибровку под её ракурс. Спорные кадры уходят на доразметку и попадают в следующий цикл обучения — модель дообучается на данных заказчика, а не на абстрактном наборе.

Метрика До После
Ложные срабатывания 30-40% событий ниже 5%
Пропуск опасных поз 1 из 12 1 из 60
Задержка сигнала 2-3 с до 0,5 с

Результат внедрения

Операторы снова доверяют сигналу, контроль опасных зон вернулся в рабочий режим. Отдельно зафиксировали метрики точности по каждой камере — теперь деградацию видно сразу, а не по жалобам смены. Контур дообучения работает на записях заказчика, поэтому новые ракурсы и смена освещения не требуют переписывать систему с нуля.

Для контроля качества разметки и обучения мы опираемся на CVAT — она даёт прозрачный журнал правок, по которому видно, кто и что менял в датасете.

Совместимость, откат и доступы: что обсудить до старта

Перед стартом почти всегда всплывают три вопроса: как система распознавания поз человека встроится в существующий контур, что будет при деградации модели и кто получит доступ к видеопотоку и результатам. Отвечаем на них до первой строки кода — потому что цена ошибки здесь не в переделке интерфейса, а в пересборке всего конвейера обработки.

Что если точность на наших камерах окажется ниже заявленной? Мы фиксируем метрику на ваших записях до начала работ: размечаем контрольную выборку, считаем долю верно определённых ключевых точек и только потом выбираем архитектуру. Если ракурс, освещение или плотность людей в кадре мешают — это видно на этом этапе, а не в проде.

Как устроен откат модели? Каждая версия весов и конфигурации инференса версионируется и хранится как отдельный артефакт. Переключение на предыдущую версию — одна команда, без пересборки сервиса; старая версия остаётся рабочей, пока новая не отработает на теневом потоке.

Что с доступами и безопасностью? Видеопоток и результаты инференса разводятся по разным ролям: оператор видит события, но не сырое видео, администратор управляет моделями, но не выгружает персональные данные. Все обращения к хранилищу логируются.

Можно ли внедрить систему без остановки текущих процессов?

Да. Инференс подключается к копии потока, работает параллельно с существующей логикой и не влияет на неё. Переключение на новую систему — отдельный шаг, который можно откатить в любой момент.

На руки вы получаете:

  • конфигурации инференса и правила версионирования моделей;
  • схему интеграции системы распознавания с вашими сервисами и очередями;
  • политику доступов и безопасности с разграничением ролей;
  • регламент отката модели и порядок выката новых версий;
  • разметку контрольной выборки и протокол замеров точности;
  • передачу документации: описание архитектуры, инструкции по эксплуатации и чеклист приёмки.

Опишите задачу — вернёмся с оценкой и планом: какие данные нужны для замеров, где пройдёт граница интеграции и что попадёт в первую поставку.

Ориентировочные сроки этапов внедрения системы распознавания позы

Сроки в проектах распознавания поз определяет не модель, а данные и инфраструктура: разметка скелетов, калибровка камер, требования к задержке вывода. Ниже — ориентировочные сроки этапов проекта, которые мы уточняем после разбора задачи и пилота на ваших записях.

Этапы частично идут параллельно: разметку можно вести, пока модель учится на уже готовой части выборки, а интеграцию начинать до финального обучения — на промежуточной версии. Поэтому сумма строк не равна общему сроку проекта.

Разброс в сроках даёт не объём кода, а качество исходных данных. Если записи однотипные и люди в кадре не перекрывают друг друга, точность выходит на целевой уровень за считанные итерации; при плотной посадке, слабом свете и нестандартных ракурсах добавляются циклы дообучения и расширение разметки — это честно видно уже на пилоте.

Опишите задачу — вернёмся с оценкой и планом по этапам под ваш сценарий.

Направления AI-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139