Разработка системы подсчёта объектов в кадре (Object Counting)

Расхождение в учёте на складе, в магазине или на производстве обходится дороже, чем камеры, которые его показывают. Мы разрабатываем системы подсчёта объектов в кадре под ключ: от аудита уже установленных камер до готовых регламентов для служб. Ручной пересчёт уходит, а точность учёта растёт в разы.
Часто задаваемые вопросы

Подсчёт объектов в кадре: где ломается точность на потоке

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

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

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

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

Разбираем, как это закрывается: какие настройки, зоны и проверки нужны, чтобы счёт сходился не на демонстрации, а на всей смене.

Что меняется после внедрения: учёт, точность, реакция служб

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

Доля эпизодов, закрытых без просмотра архива

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

Время реакции на расхождение

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

Класс отказов, который уходит совсем

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

Способы учёта на видео: сравнение подходов и ограничений

Точность подсчёта объектов в кадре определяет не модель распознавания, а то, что система считает событием: пересечение границы, нахождение в области или пройденный путь. Неверный выбор режима даёт систематический недосчёт или двойной счёт, который потом не лечится подбором порогов.

Вариант Когда подходит Ограничения
По линии пересечения Створы входа, турникеты, коридоры, полосы движения Покачивание у линии и плотная группа дают двойной счёт
По зонам пребывания Заполненность залов, парковочных мест, участков Перекрытия и смена света смещают границы, объект залипает в зоне
По траекториям Сцены с наложениями, где объект ведут между кадрами Долгое перекрытие рвёт трек и переприсваивает идентификатор
Комбинированный Несколько створов и зон в одном кадре Сложнее настройка, выше требования к ресурсам

Как выбирается режим под сцену

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

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

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

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

Аудит условий съёмки и ракурсов

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

Настройка правил подсчёта и порогов

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

  1. Обследование точек съёмки: ракурсы, освещение, слепые зоны.
  2. Согласование схемы размещения и зон подсчёта с руководителем направления.
  3. Разметка линий и областей, настройка правил и порогов.
  4. Прогон на видеоархиве прошлых смен и сверка с фактическими данными.
  5. Корректировка расхождений: ракурс, пороги, разделение сцен.
  6. Приёмка на живом потоке в пиковые часы.
  7. Передача в эксплуатацию: инструкции по отчётам, доступы, регламент обслуживания.

Что остаётся у заказчика: схемы, правила, регламенты

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

  • Схемы размещения камер и зон учёта — топология точек съёмки, направление обзора, разметка линий подсчёта и областей интереса с привязкой к плану объекта.
  • Описание правил и порогов — какие классы объектов считаем, как выставлены пороги уверенности, гистерезис трека и направление пересечения линии, и почему выбраны именно эти значения.
  • Матрица типовых расхождений — таблица «симптом → причина → действие»: ложные срабатывания на тенях, двойной учёт вернувшегося объекта, слипание при плотном потоке.
  • Инструкция для оператора — как читать панель, что делать при расхождении с ручным пересчётом, куда эскалировать и какие фрагменты записи приложить.
  • Регламент эксплуатации — периодичность проверки каналов и качества картинки, порядок действий при потере потока, обновлении прошивок камер и переносе точки съёмки.
  • Порядок дообучения под новые сцены — как собрать и разметить выборку, какие метрики считать приемлемыми, как проверить модель на эталонных записях до публикации.
  • Журнал изменений конфигурации — версии правил, зон и моделей с указанием, что менялось и зачем.

Кейс на складе: ошибки учёта сократились втрое

На складе логистического оператора количество единиц при приёмке сверяли вручную, а спорные эпизоды разбирали, пересматривая архив камер. Внедрение подсчёта объектов Склад-Обзор охватило восемь точек съёмки на погрузочной зоне: приёмку, отгрузку, комплектацию и выездные ворота.

Что было до

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

Что стало после

Ракурсы развели по зонам, для паллет и коробов завели отдельную детекцию, минимальный размер объекта привязали к единице учёта. Перекрытия обрабатываются по траектории: объект, скрывшийся за другим, не считается повторно.

Показатель До После
Расхождение по сменам до 12% 3-4%
Поиск спорного эпизода 40-60 минут до 3 минут
Время приёмки фуры ~70 минут ~50 минут
Эпизоды с авто-подтверждением нет около 80%

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

Как считать людей на входе и не путать их с тенями в кадре?

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

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

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

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

Технические сомнения: камеры, погода, перекрытия и толпа

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

Хватит ли камер, которые уже установлены?

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

Что происходит в дождь, снег и туман?

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

Как ведёт себя счёт в плотной толпе?

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

Часть сцены всегда закрыта — колонна, столб, транспорт

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

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

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

  • Характер сцены и типы объектов: статичная камера или подвижная, плотность потока, перекрытия, ночные и погодные условия, что считается одним объектом при частичном попадании в кадр.
  • Доступ к записям: архив за 2-4 недели в исходном качестве плюс несколько эталонных отрезков, на которых вы вручную знаете верный ответ.
  • Ожидаемая точность и допустимый класс ошибок: что критичнее — пропуск объекта или ложное срабатывание, и какая доля расхождений с ручным подсчётом считается приемлемой.
  • Границы пилота на одном участке: какой участок берём, на каком интервале времени считаем, кто со стороны заказчика сверяет результат.
  • Точки интеграции: откуда забираем видеопоток, куда отдаём счётчики и события, нужен ли просмотр истории по интервалам.
  • Формат отчётности: как часто и в каком виде нужна сводка, нужны ли выгрузки и наглядные срезы по зонам и часам.

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

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

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

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