Подсчёт объектов в кадре: где ломается точность на потоке
На тестовом ролике система подсчёта объектов почти совпадает с ручной разметкой, а в реальную смену счёт расходится. Дело не в модели: тестовый ролик снят в удобных условиях — один ракурс, ровный свет, редкие перекрытия. Поток на входе в цех или на проходной ведёт себя иначе, и точность подсчёта на потоке определяется тем, как система переживает эти отклонения.
Первый источник ошибок — перекрытия. В плотной группе детектор видит силуэты частично, и трекер либо разрывает один объект на два, либо склеивает двух людей в один. Контровой свет и ночной режим добавляют потерю контраста: человек на фоне окна превращается в пятно, а шум даёт всплески, похожие на движение. Каждое такое событие — плюс-минус единица в итоговом счёте.
Второй источник — ложные срабатывания. Блики, отражения в стекле, тени от техники и качающиеся ветки попадают в зону интереса и учитываются как объекты. Поднять порог уверенности — растут пропуски, опустить — растёт мусор. Поэтому в системе подсчёта объектов порог и правила дедупликации настраивают не глобально, а по зонам: у линии пересечения жёстче, на периферии кадра мягче.
Учёт объектов на видео питает отчётность, поэтому расхождение быстро становится заметным. Дежурная смена сверяет архив вручную: прогоняет спорные интервалы покадрово, чтобы найти потерянных двоих, и тратит на это часы вместо обхода. Дальше система либо теряет доверие, либо обрастает постоянной ручной правкой.
Разбираем, как это закрывается: какие настройки, зоны и проверки нужны, чтобы счёт сходился не на демонстрации, а на всей смене.
Что меняется после внедрения: учёт, точность, реакция служб
Эффект внедрения считаем не по ощущениям, а по замерам на площадке: берём контрольные смены с ручным пересчётом, разбираем спорные эпизоды и сверяем журнал событий с этим эталоном. Так видно, где система реально снимает нагрузку, а где расхождение осталось. Ниже три метрики, которые заказчик обычно видит первыми.
Доля эпизодов, закрытых без просмотра архива
Каждое событие сохраняется карточкой: время, зона, класс объекта, траектория. Оператору не нужно прокручивать запись — 8 из 10 спорных эпизодов закрываются по карточке за минуту вместо пятнадцати. Остальные два требуют просмотра, и это уже осознанный выбор, а не ежедневная рутина.
Время реакции на расхождение
Событие формируется в момент пересечения линии или входа в зону, поэтому сигнал уходит в диспетчерскую в ту же смену, а не на утреннем разборе. Расхождение видно, пока его ещё можно исправить: подменить бригаду, пересчитать партию, поправить регламент погрузки. Раньше этот эпизод всплывал только в итоговом отчёте, когда решение уже ничего не меняло.
Класс отказов, который уходит совсем
Основной источник недоучёта — плотный поток и короткие перекрытия: люди и техника заслоняют друг друга, ночью детекция проваливается. Трекер удерживает идентификаторы через перекрытия, а подсветка вытягивает ночные кадры, поэтому провал «потеряли объект в толпе» перестаёт быть регулярным. Модель на базе YOLO дообучаем на кадрах конкретной площадки — точность на потоке держится, а не проседает через месяц.
Способы учёта на видео: сравнение подходов и ограничений
Точность подсчёта объектов в кадре определяет не модель распознавания, а то, что система считает событием: пересечение границы, нахождение в области или пройденный путь. Неверный выбор режима даёт систематический недосчёт или двойной счёт, который потом не лечится подбором порогов.
| Вариант | Когда подходит | Ограничения |
|---|---|---|
| По линии пересечения | Створы входа, турникеты, коридоры, полосы движения | Покачивание у линии и плотная группа дают двойной счёт |
| По зонам пребывания | Заполненность залов, парковочных мест, участков | Перекрытия и смена света смещают границы, объект залипает в зоне |
| По траекториям | Сцены с наложениями, где объект ведут между кадрами | Долгое перекрытие рвёт трек и переприсваивает идентификатор |
| Комбинированный | Несколько створов и зон в одном кадре | Сложнее настройка, выше требования к ресурсам |
Как выбирается режим под сцену
Сначала фиксируем, что считаем: факт входа, число одновременно находящихся или длительность присутствия. Для створа достаточно одной границы с контролем направления и подтверждением события по нескольким кадрам; для зоны важен гистерезис — объект идёт в учёт после устойчивого пребывания, а не на первом касании.
Когда в кадре и поток, и заполненность, комбинированный режим разделяет задачи: створ считает входы, зона — текущее количество. Общие ограничения методов — плотные перекрытия, ночь, контровой свет, отражения — снимаются подбором ракурса, а не только дообучением. Результат проверяем ручными пересчётами на коротких отрезках: видно, где шума больше всего.
Как мы внедряем систему: от аудита камер до передачи
Этапы внедрения видеоаналитики одинаковы и для одной камеры на складе, и для сети точек в зале: сначала фиксируем, что реально видит камера, затем настраиваем правила, и только после проверки на прошлых записях выводим систему в эксплуатацию.
Аудит условий съёмки и ракурсов
Инженер выезжает на объект и разбирает каждый ракурс: высота подвеса, наклон, контровой свет от витрин, перекрытия стеллажами, зоны, где объекты сливаются в поток. Результат — схема размещения камер и разметка зон: где проходит линия подсчёта, из какой области объект не должен выходить дважды.
Настройка правил подсчёта и порогов
Правила формулируем в терминах задачи: считать по линии или по зоне, как разделять людей и тележки, при какой длительности присутствия объект считается реальным, а не тенью. Пороги подбираем на записях прошлых смен — там же видно ночной режим и пиковые часы.
- Обследование точек съёмки: ракурсы, освещение, слепые зоны.
- Согласование схемы размещения и зон подсчёта с руководителем направления.
- Разметка линий и областей, настройка правил и порогов.
- Прогон на видеоархиве прошлых смен и сверка с фактическими данными.
- Корректировка расхождений: ракурс, пороги, разделение сцен.
- Приёмка на живом потоке в пиковые часы.
- Передача в эксплуатацию: инструкции по отчётам, доступы, регламент обслуживания.
Что остаётся у заказчика: схемы, правила, регламенты
Система подсчёта объектов живёт не в модели, а в связке «камера — зона — правило — оператор». Поэтому передаём не только работающий сервис, но и комплект документации, по которому ваша команда сможет эксплуатировать, проверять и развивать его без нас.
- Схемы размещения камер и зон учёта — топология точек съёмки, направление обзора, разметка линий подсчёта и областей интереса с привязкой к плану объекта.
- Описание правил и порогов — какие классы объектов считаем, как выставлены пороги уверенности, гистерезис трека и направление пересечения линии, и почему выбраны именно эти значения.
- Матрица типовых расхождений — таблица «симптом → причина → действие»: ложные срабатывания на тенях, двойной учёт вернувшегося объекта, слипание при плотном потоке.
- Инструкция для оператора — как читать панель, что делать при расхождении с ручным пересчётом, куда эскалировать и какие фрагменты записи приложить.
- Регламент эксплуатации — периодичность проверки каналов и качества картинки, порядок действий при потере потока, обновлении прошивок камер и переносе точки съёмки.
- Порядок дообучения под новые сцены — как собрать и разметить выборку, какие метрики считать приемлемыми, как проверить модель на эталонных записях до публикации.
- Журнал изменений конфигурации — версии правил, зон и моделей с указанием, что менялось и зачем.
Кейс на складе: ошибки учёта сократились втрое
На складе логистического оператора количество единиц при приёмке сверяли вручную, а спорные эпизоды разбирали, пересматривая архив камер. Внедрение подсчёта объектов Склад-Обзор охватило восемь точек съёмки на погрузочной зоне: приёмку, отгрузку, комплектацию и выездные ворота.
Что было до
Расхождения по сменам доходили до 12% от суточного оборота, в ночную — выше: смешанный свет, паллеты перекрывают друг друга, в кадр попадают сразу две зоны. Пороги срабатывания выставлялись на глаз, поэтому система либо теряла единицы, либо считала их дважды. Поиск одного спорного эпизода занимал до часа — просмотр архива без привязки к событию.
Что стало после
Ракурсы развели по зонам, для паллет и коробов завели отдельную детекцию, минимальный размер объекта привязали к единице учёта. Перекрытия обрабатываются по траектории: объект, скрывшийся за другим, не считается повторно.
| Показатель | До | После |
|---|---|---|
| Расхождение по сменам | до 12% | 3-4% |
| Поиск спорного эпизода | 40-60 минут | до 3 минут |
| Время приёмки фуры | ~70 минут | ~50 минут |
| Эпизоды с авто-подтверждением | нет | около 80% |
Передача результатов — не только отчёт: смена видит свои расхождения в панели, спорный эпизод открывается отрезком записи с отметкой времени. Регламент разбора и обучение кладовщиков закрепили за учётчиками, чтобы автоматика не спорила с человеком, а подтверждала его решение.
Как считать людей на входе и не путать их с тенями в кадре?
Считать объекты в кадре «в лоб» — тупик: тень от портального светильника идёт рядом с человеком и читается как вторая цель, отражение в стеклянной двери добавляет третью. Поэтому в подсчёте людей на входе мы фиксируем не отдельные цели, а пересечения линии учёта внутри зоны интереса, подтверждённые устойчивым сопровождением по кадрам.
Ракурс решает больше, чем модель. Камеру ставим под углом к линии учёта, а не «в лоб»: тогда тень уходит в сторону от оси движения и перестаёт сливаться с силуэтом. Светильники и витрины выводим из зоны интереса, отражение в стекле гасим блендой и экспозицией. Обнаружение людей строим на семействе моделей YOLO и дообучаем на кадрах конкретного входа — но без геометрии сцены это мало что даёт.
В узком проходе одна линия учёта почти всегда считает дважды: люди идут вплотную и перекрывают друг друга. Помогает вынос линии за «горлышко» и правило гистерезиса — событие фиксируется один раз на объект за заданный интервал. Встречные потоки разделяем по направлению: вход и выход считаются по знаку пересечения и своей зоне, поэтому одновременное движение в обе стороны не ломает баланс.
Проверяем не на глаз, а на записи сложного часа: прогоняем поток через настроенную конфигурацию и сверяем с ручным пересчётом по отрезкам. Смотрим долю ложных срабатываний на тенях и отражениях, расхождение «вошло минус вышло» и потери при плотном потоке. По этим замерам правим порог уверенности, размер зоны и положение линии — пока расхождение с ручным счётом не станет единичным.
Технические сомнения: камеры, погода, перекрытия и толпа
Перед пилотом заказчики задают одни и те же вопросы: подойдут ли уже стоящие камеры, что будет в дождь и снег, не «слипнется» ли счёт в толпе и как быть с постоянно закрытыми зонами. Каждый пункт проверяем на записи реального объекта, а не на демонстрационном ролике.
Хватит ли камер, которые уже установлены?
Обычно да, если камера смотрит на сцену сверху и даёт достаточную детализацию — детектор должен уверенно различать границу головы. Проверяем это на тестовой записи типового дня: сверяем автоматический счёт с ручной разметкой по участкам. При пологом ракурсе помогает доворот камеры или один дополнительный ракурс.
Что происходит в дождь, снег и туман?
Чаще мешает не сама погода, а мокрый объектив: брызги и размытые пятна модель принимает за объекты. Отсюда требования к кожуху с обогревом и обучение на ночных, снежных и туманных сериях кадров. При слабой видимости считаем по траекториям — короткие пропуски восстанавливаются, счёт остаётся непрерывным.
Как ведёт себя счёт в плотной толпе?
В плотном потоке люди перекрывают друг друга, поэтому детекция идёт по головам, а не по фигуре целиком. Идентификатор удерживается при коротком перекрытии за счёт предсказания траектории — человек не считается дважды, входя в группу и выходя из неё. На самых плотных участках счёт ведём по контрольной линии, а не по всей площади кадра.
Часть сцены всегда закрыта — колонна, столб, транспорт
Постоянное перекрытие решается постановкой задачи, а не моделью: смещаем точку съёмки, добавляем второй ракурс или переносим счёт на линию перед препятствием. Появление человека из слепой зоны фиксируем как известное ограничение в паспорте системы — оператор видит, где цифра точна, а где нужна проверка.
Обсудим задачу и вернёмся с оценкой и планом работ
Чтобы вернуться с оценкой и планом работ, а не с общими словами, нам нужен минимум вводных по сцене и по тому, как результат будет использоваться. Эти данные определяют и конфигурацию модели, и объём разметки, и то, какие метрики станут критерием приёмки — поэтому обсудить задачу лучше до, а не после старта разработки.
- Характер сцены и типы объектов: статичная камера или подвижная, плотность потока, перекрытия, ночные и погодные условия, что считается одним объектом при частичном попадании в кадр.
- Доступ к записям: архив за 2-4 недели в исходном качестве плюс несколько эталонных отрезков, на которых вы вручную знаете верный ответ.
- Ожидаемая точность и допустимый класс ошибок: что критичнее — пропуск объекта или ложное срабатывание, и какая доля расхождений с ручным подсчётом считается приемлемой.
- Границы пилота на одном участке: какой участок берём, на каком интервале времени считаем, кто со стороны заказчика сверяет результат.
- Точки интеграции: откуда забираем видеопоток, куда отдаём счётчики и события, нужен ли просмотр истории по интервалам.
- Формат отчётности: как часто и в каком виде нужна сводка, нужны ли выгрузки и наглядные срезы по зонам и часам.
По итогам обсуждения мы фиксируем схему развёртывания и возвращаемся с оценкой и планом работ: сроки внедрения по этапам, состав команды, порядок проверки точности и условия перехода от пилота на одном участке к масштабированию на остальные. Опишите задачу — вернёмся с оценкой и планом.







