К содержимому
MoranaLabs.
Инженерные гайды6 мин чтения1 просмотр

Ложные срабатывания видеоаналитики: почему коробочное решение бесит и как это лечится тюнингом 

3 часа ночи, пульт охраны гудит от сотни алертов. Оператор привычно жмет «отмена» не глядя. Ложные срабатывания убивают саму суть контроля. Разбираем, почему вендорские коробки ломаются о реальный свет и как вытащить точность инференса под конкретный объект.

0xReality

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

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

Ложные срабатывания видеоаналитики: анатомия провала

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

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

Секрет часто кроется в постобработке. У вас может быть идеальный детектор, но если вы не настроили алгоритм подавления немаксимумов (NMS), один и тот же рабочий будет распознан как пять разных людей, стоящих друг в друге. Вы правите порог Intersection over Union, чтобы схлопнуть дубликаты, но получаете новую проблему: когда два человека идут плечом к плечу, модель сливает их в одного. Любой тюнинг универсального решения — это перетягивание короткого одеяла.

Физика процесса: свет, ракурсы и деградация оптики

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

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

Конвейер тюнинга под объект

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

Когда мы в MoranaLabs катили систему детекции брака на ленте конвейера золотодобывающей фабрики, коробочные сегментаторы сходили с ума от пульсации ртутных ламп и специфических теней от кусков мокрой руды. Мы не стали изобретать новую архитектуру. Мы просто выгрузили терабайты сырого видео с этой конкретной ленты, разметили сотни ложноположительных артефактов и зафайнтьюнили тяжелую модель исключительно на этот ракурс и этот свет. После этого модель была сдистиллирована до легкой версии, чтобы влезать в edge-устройство прямо над конвейером. Точность выросла с мусорных шестидесяти процентов до стабильных девяноста восьми, и система перестала дергать заслонку вхолостую.

Затем идет жесткая балансировка классов. Вы собрали тысячу примеров касок и всего пять примеров того, как на человека падает кран-балка. Если скормить это в лоб, сеть просто выучит, что падающих грузов не существует, так как вероятность их появления статистически ничтожна. Приходится применять аугментацию: искусственно накладывать шум, менять контрастность, использовать focal loss, чтобы заставить сеть обращать внимание на редкие, но критически важные события. Вы загоняете веса в инференс-движок, квантуете модель до восьми бит, чтобы она летала на дешевом железе прямо на объекте. Почему на объекте? Потому что вы не протащите сотни мегабит несжатого видео в облако через заводской Wi-Fi, который ложится при каждом включении дуговой печи. Данные не должны покидать периметр.

Даже идеально переобученная модель деградирует. Наступила зима, изменился угол падения солнечных лучей через грязные окна, рабочим выдали спецовки другого оттенка, электрик повесил новые диодные прожекторы. Распределение входных данных поплыло, и система снова начала ошибаться. Этот data drift неизбежен. Без непрерывного мониторинга в эксплуатации ваш тюнинг потеряет смысл за пару месяцев. Нужно выстраивать процесс, при котором оператор, отменяя ложную тревогу, автоматически отправляет этот кадр в пул на доразметку. При падении метрик ниже критического порога запускается автоматическое дообучение на свежих данных. Видеоаналитика — это живой механизм, требующий постоянного надзора, а не магический черный ящик, который можно установить и забыть.

Лечение из финала статьи — дообучение под объект — вшито в наш продукт: в MoranaVision отметка «ложное срабатывание» уходит в цикл калибровки, и точность растет прямо на подписке, без отдельного проекта.

  • #edge-вычисления
  • #fine-tuning
  • #видеоаналитика
  • #компьютерное зрение
  • #ложные срабатывания
ПоделитьсяTelegramX
рассылка

Новые статьи — на почту

Лонгриды про ML в проде, edge и компьютерное зрение — сразу после выхода.

Канал в Telegram: morana.log

Без спама. Нажимая «Подписаться», соглашаетесь с обработкой персональных данных

бесплатный pdf-гайд

Edge AI или облако: когда тащить нейросеть на железо

Признаки, фреймворк выбора и прикидка экономии — короткий PDF-гайд на почту.

PDF · 5 страниц · без спама. Нажимая «Получить», соглашаетесь с обработкой персональных данных

Читать дальше
— заявка

Опишите задачу  ответим как инженеры. 

Оставьте имя и Telegram — остальное обсудим. Без брифов на 40 слайдов и звонков по три раза.

Отвечаем за пару часовотвечает инженер, а не отдел продажNDA по запросу

Сюда напишем — это быстрее всего

Или сразу написать в Telegram

Без спама и звонков-роботов. Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности и обработкой персональных данных.