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

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

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

Что считать точностью: событие, а не кадр

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

Тип задачиЧто считаемМетрикаТипичная ловушка
Обнаружение событиявход в зону, нарушение, падение, задымлениеНайдено ли событие, сколько настоящих сработало, сколько ложных тревог в суткиСобытие найдено за один кадр, а тревоги нет: считают кадры, а не события
Подсчётлюди, транспорт, изделия, очередьРасхождение с ручным счётом за интервал, смещение и разбросСреднее по дню скрывает пики: ошибка в час наплыва важнее
Классификациятип транспорта, наличие каски, тип бракаТочность и полнота по каждому классу, матрица ошибокРедкий класс теряется в общей цифре
Распознавание номера или маркировкиномер вагона, госномер, маркировка на изделииДоля номеров, прочитанных верно целикомОдин неверный символ портит всю запись, а система считает её годной
Отслеживаниепуть человека или объекта по нескольким камерамСколько раз объект «потерян» или перепутан с другимХорошо на одной камере, плохо при переходе между камерами

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

Две ошибки, которые стоят по-разному

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

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

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

Если событие редкое (раз в неделю), одной ночи записи для проверки мало: в ней события просто не будет. Для редких событий записи либо накапливают дольше, либо добавляют воспроизведённые случаи, если безопасность позволяет их воспроизвести, и честно отмечают, что оценка на них приблизительная.

Эталон: как его готовят и почему он ваш

Эталон — это размеченные события в записях вашего объекта, с которыми сравнивают систему. Без него проверка превращается в просмотр роликов.

  1. Выборка из реальной съёмки. Не отобранные удачные эпизоды, а непрерывные фрагменты по каждой камере: утро, день, вечер, ночь, разные смены.
  2. Правила разметки. Письменно: что считать началом и концом события, как разметить частично видимого человека, что делать при загораживании, когда два объекта сливаются.
  3. Разметка вашими сотрудниками. Только они знают, что считается нарушением. Часть фрагментов размечают двое независимо: расхождение показывает, насколько событие само по себе однозначно.
  4. Допуск по времени и месту. Заранее договариваются, насколько может отличаться момент срабатывания и положение рамки, чтобы совпадение считалось верным.
  5. Раздел данных. Часть записей используется для настройки системы, часть остаётся закрытой и применяется только для итоговой проверки. Если проверять на тех же записях, на которых настраивали, цифра будет завышена.

Метод, одинаковый для документов и видео: эталон, раздельная выборка, метрики по классам, разбор ошибок. Для документов он описан в статье «Как измерить точность распознавания документов», а подготовку данных — в статье «Как подготовить данные для ИИ-пилота».

Условия съёмки: срезы, по которым нужно разбить результат

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

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

Для каждой строки результат фиксируется отдельно. Если условие у вас встречается редко, это тоже записывается: «ночью система не проверялась» честнее, чем общая цифра, куда ночь не попала.

Протокол проверки по шагам

Хорошая проверка воспроизводима: её можно повторить через год на новой версии системы и сравнить результаты.

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

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

Проверка на живом потоке: теневой режим

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

  • Сверка с реальностью. Сигналы системы сравнивают с тем, что подтвердили сотрудники на площадке или по ручному журналу.
  • Задержка. Время от события до сигнала измеряется на нагрузке, когда включены все камеры, а не на одной.
  • Сбои. Проверяют потерю камеры, перезапуск сервера и переполнение диска. Система должна сообщать, что слепа, а не молчать как будто всё спокойно.
  • Дрейф. Через сезон и после смены камер проверку повторяют на новом отрезке записей, потому что условия меняются.

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

Признаки обещаний, которым нельзя верить

Что насторожит в предложении или демонстрации:

ПризнакЧто за ним стоитЧто спросить
Точность названа одним числом, без выборкиЧисло получено на подобранных кадрахНа чьих записях, сколько камер, какие условия, сколько событий
Проверяли на открытых наборах данныхЧужие кадры и ракурсы, ваши условия не учтеныБудет ли проверка на записях нашего объекта до установки
Считали точность по кадрамСобытие может быть найдено или пропущено независимо от кадровых метрикКакую метрику применяют: по кадру или по событию
Нет ложных тревог в сутки на камеруЭксплуатация дежурным невозможна: он перестанет веритьСколько ложных тревог на камеру в сутки в ваших условиях
Нет разбивки по условиямНочь и непогода скрыты общим среднимРезультат отдельно по ночи, осадкам, бликам и загораживанию
Настройка после закрытой проверкиПодгонка под тест делает цифру неправдойБыла ли версия заморожена до прогона на закрытом наборе
Нет описания пределовНе названо, что система не умеетПри каких условиях система не гарантирует результат

Общий подход к оценке подрядчика описан в статье «Как выбрать подрядчика на разработку ПО».

Что записать в критерии приёмки

Критерии приёмки пишутся до начала работ, а не после. Хорошая формулировка содержит событие, камеру или группу камер, условия, метрику и способ проверки.

  • Полнота обнаружения события «вход в зону без каски» на камерах участка при дневном свете и в сумерках не ниже согласованного значения на закрытом наборе записей.
  • Число ложных тревог на камеру в сутки не выше согласованного значения при проверке в теневом режиме в течение согласованного срока.
  • Задержка от события до сигнала дежурному не выше согласованного значения при включённых всех камерах.
  • Система сообщает о потере камеры и о снижении качества картинки.
  • Условия, в которых качество не гарантируется (ночь без подсветки, дальняя зона), перечислены в протоколе.

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

Что делаем мы и с чего начать

Начинаем с обследования: 200 000 ₽ и 2–3 недели за одну задачу и одну площадку, 350 000 ₽ и 3–4 недели за несколько задач и систем, 500 000 ₽ и 4–6 недель за производственный контур. На выходе определение события, план съёмки, правила разметки, срезы по условиям и черновик критериев приёмки. Стоимость вычитается из первого этапа, если продолжаете с нами, а документом можно пользоваться и без нас.

Дальше лёгкий пилот на записях (150 000–400 000 ₽, 2–8 недель) с замером на закрытом наборе, затем при необходимости тяжёлый пилот на живом потоке. Мы делаем одну площадку и одну задачу, а не охранную систему целиком, не обещаем распознавание людей по лицам и не дежурим круглосуточно. Исходники лежат в вашем репозитории с первого коммита. Цены и сроки — на странице «Тарифы», описание услуги — на странице «Видеоаналитика с ИИ».

Частые вопросы

Как оценить точность видеоаналитики?

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

Какая точность считается хорошей?

Единого числа нет: оно зависит от цены ошибки. Для задачи, где пропуск опасен, важна полнота, для задачи с дежурным важно число ложных тревог. Значения называются после обследования и пробной разметки и записываются в договор по событию, камере и условию.

Сколько видео нужно для проверки?

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

Почему на демонстрации всё работало, а на объекте нет?

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

Что такое теневой режим?

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

Можно ли обойтись открытыми наборами данных?

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

Работаете ли вы с распознаванием лиц?

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

Сколько стоит проверка точности?

Входит в обследование и лёгкий пилот. Обследование стоит 200 000 ₽, 350 000 ₽ или 500 000 ₽ в зависимости от числа задач и площадок, лёгкий пилот на записях — 150 000–400 000 ₽ за 2–8 недель. Обследование вычитается из первого этапа, если продолжаете с нами.