Распознавание объектов для камер: как встроить ML в вашу VMS — обложка

Главное

Продукт — это интеграция. Файл модели YOLO сам по себе не имеет коммерческой ценности, пока не сможет принимать RTSP-поток, формировать метаданные ONVIF и передавать событие детекции в Milestone, Genetec или вашу собственную VMS за 300 мс.

Где запускать инференс — вопрос цены, а не технологии. Инференс прямо на камере при потреблении 2–5 Вт выгоднее облака с тарифом 7,5 ₽ за минуту видео, если камер больше примерно 200. Ниже этого порога использование Rekognition обходится дешевле, чем собственное оборудование.

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

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

Фора Софт делает интеграцию под заказ примерно за 10–21 млн ₽. Двенадцать недель, дообученные модели YOLOv9 или DETR, формирование метаданных ONVIF и конвейер событий, готовый к работе с VMS. Подход Agent Engineering сокращает классические сроки примерно на треть.

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

Планируете внедрить видеоаналитику, которая будет работать с вашей действующей VMS?

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

Позвоните нам → Напишите нам →

Почему этот гайд написала Фора Софт

Фора Софт выпускает продукты видеоаналитики с 2005 года, а распознавание объектов на потоках с IP-камер присутствует в нашем стеке ещё с эпохи MobileNet-SSD на NVIDIA Jetson TX1. Дальше — реальная архитектура, которую мы используем: что устанавливаем на камеру, что запускаем на шлюзе, что отправляем в облако и как интегрируем результат как полноценный элемент в Milestone XProtect, Genetec Security Center или собственную VMS.

Мы ориентируемся на реалии интеграции 2026 года: YOLOv9, DETR и несколько узкоспециализированных моделей под TensorRT, Hailo HEF, Axis ACAP или CoreML; события передаются через MQTT или Kafka; метаданные формируются в формате XML по стандарту ONVIF Profile T; эмбеддинги хранятся в Milvus для повторной идентификации. Если для вашей задачи уже существует готовый продукт (например, подсчёт транспорта или распознавание номеров) — используйте его. Если задача требует особых условий — разрабатывайте решение под заказ, следуя схемам ниже.

Что изменилось в 2024–2026 годах

Три сдвига между 2024 и 2026 годами одновременно упростили и усложнили распознавание объектов по заказу.

Проще: рынок периферийных чипов взорвался. Hailo-8 на USB-стике выдаёт 26 TOPS при 2,5 Вт. Ambarella CV7 даёт 15 TOPS прямо внутри SoC камеры. Sony IMX500 размещает крошечный классификатор на самом сенсоре. NVIDIA Jetson Orin Nano предлагает 40 TFLOPS FP32 менее чем за 37 500 ₽. Инференс, которому в 2022 году требовался GPU-сервер, теперь умещается за одним PoE-портом.

Проще: YOLOv9 и YOLO-NAS сократили разрыв в точности. YOLOv9-Е показывает 56% mAP на COCO — результат, который четыре года назад был доступен только у двухстадийных детекторов. YOLOv8n выполняет инференс за 1,47 мс на GPU T4 с TensorRT. Открытых моделей обычно вполне хватает; файл весов — это не конкурентное преимущество, которое нельзя скопировать.

Сложнее: у GDPR и CCPA выросли зубы. CNIL вынесла более 100 решений по видеонаблюдению в 2025–2026 годах со штрафами свыше 200 000 евро. Поправки к CCPA в Калифорнии ужесточили правила хранения биометрических данных. Теперь кастомная инженерия приватности — размытие лиц, маскировка номеров, ролевой доступ к исходному видео — обязательна, а не просто приятное дополнение.

Трёхуровневая архитектура: камера, шлюз, облако

Любое развёртывание, превышающее несколько камер, рано или поздно приходит к одной и той же трёхуровневой схеме. Читаем сверху вниз.

Уровень 1 — инференс на камере. Лёгкие детекторы (YOLOv8n, MobileNet-SSD, узкие классификаторы занятости) работают внутри прошивки камеры через Axis ACAP, Ambarella CV7 SDK или сенсорную среду исполнения вроде Sony IMX500. На выходе — ограничивающие рамки и метки классов, формируемые как XML-метаданные ONVIF Profile T параллельно RTSP-потоку. Задержка: 30–80 мс. Энергопотребление: 0,5–3 Вт сверх базового энергопотребления камеры.

Уровень 2 — агрегация на шлюзе. NVIDIA Jetson Orin, ускорители Hailo-8 в форм-факторе M.2 или шлюз на базе Intel OpenVINO обрабатывают несколько RTSP-потоков, запускают более тяжёлые модели (YOLOv9- C, DETR, распознавание действий) и анализируют данные сразу с нескольких камер: отслеживают человека по всему цеху, измеряют время его пребывания, сопоставляют распознавание номеров с системой контроля доступа. Задержка: 80–200 мс от начала до конца. Целевая плотность: 8–32 потока на один Jetson Orin NX.

Уровень 3 — облачная аналитика и поиск. Облако — это система учёта: метаданные детекции, эмбеддинги, журналы аудита. Здесь выполняются ресурсоёмкие задачи — например, повторная идентификация за несколько дней, криминалистический поиск по внешнему виду, дашборды аналитики. Всё, что должно работать в реальном времени, сюда не относится. Также сюда интегрируются сервисы вроде AWS Rekognition Video, Azure Video Indexer или Google Cloud Vision, если для конкретной задачи нужен готовый управляемый инструмент.

Это разделение заставляет принять решение уже на первой неделе: что остаётся локально, что отправляется в облако с задержкой и что вообще не покидает сеть. Ошибётесь — и либо забьёте WAN-каналы сырым HD-видео (ошибка «только облако»), либо попросите камеру запустить трансформер, который не влезает в её память (ошибка «только периферия»).

Выбирайте инференс на камере, когда: полоса пропускания ограничена, важно сохранить приватность (чтобы изображения не покидали объект), или задача — одноклассовый классификатор (например, обнаружение движения, занятости или погрузчика), который умещается в 50 МБ.

Периферийные чипы в 2026 году: Axis, Hailo, Ambarella, Jetson, Sony

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

Платформа TOPS Среда исполнения Типичная цена Для чего лучше всего
Axis ARTPEC-8 + ACAP ~6 TOPS ACAP, нативно В цене камеры Парки камер на стандарте Axis
Ambarella CV7 ~15 TOPS CVflow SDK OEM-камера 4K + аналитика прямо в камере
Sony IMX500 ~1–4 TOPS Sony AITRIOS В цене сенсора Классификаторы на сенсоре
Hailo-8 / Hailo-8L 26 / 13 TOPS HailoRT, HEF 9 750–18 750 ₽ за модуль M.2-апгрейд NVR или шлюза
NVIDIA Jetson Orin Nano / NX 40 / 100 TOPS TensorRT + DeepStream 18 600–74 900 ₽ Многопоточный шлюз
Intel OpenVINO CPU/iGPU ~4–8 эффективных TOPS OpenVINO IR На имеющемся железе Апгрейд при низкой плотности

Для новых проектов «с нуля» мы по умолчанию используем карты Hailo-8 M.2, установленные в готовый мини-ПК или подержанный Dell OptiPlex; они обеспечивают 29,5 fps на YOLOv8n при разрешении 640×640 и потребляют 2,5 Вт под нагрузкой. Для существующих парков камер Axis самым простым решением становится ACAP прямо на устройстве — это упрощает интеграцию с шлюзом. Jetson Orin выгоден, когда одна система должна одновременно обрабатывать разные модели (обнаружение объектов, распознавание поз и номеров) на 16–32 потоках.

Выбирайте Jetson Orin, когда: ваш шлюз должен одновременно запускать четыре и более семейства моделей — большинство развёртываний на Hailo-8 сталкиваются с ограничением DSP после двух одновременных графов моделей.

Выбор модели: YOLOv9, DETR или что-то поменьше

Три семейства моделей покрывают 90% задач распознавания объектов в 2026 году. Выбирайте их исходя из бюджета, допустимой задержки и наличия GPU.

Семейство YOLO (YOLOv8, YOLOv9, YOLO-NAS). Одностадийные детекторы без якорей. YOLOv8n — для камер на периферии (вмещается в 6 МБ, работает за 1,47 мс на T4), YOLOv8m — для Jetson (30 кадров в секунду в разрешении 1080p), YOLOv9-Е — для облака или серверных шлюзов (56% mAP на COCO). Инструментарий Ultralytics поддерживает чистый экспорт в TensorRT, ONNX, HailoRT, OpenVINO и CoreML.

DETR и его варианты (DETA, RT-DETR, Deformable DETR). Детекторы на основе трансформеров. Лучше работают в сложных сценах, потому что вместо якорей они предсказывают множества объектов. RT-DETR достигает скорости YOLOv9, сохраняя при этом семантику трансформера. Используйте, если на сцене более 30 перекрывающихся объектов или если дальше по цепочке обработки нужны глобальные карты внимания для интерпретации результатов.

Узкоспециализированные модели поменьше. MobileNet-SSD, EfficientDet-Lite или миниатюрный кастомный классификатор, если задача одноклассовая (погрузчик, каска, огонь). Классификатор для распознавания огня объёмом менее 2 МБ превосходит YOLO по количеству ложных срабатываний — ведь обучающая выборка уже и тщательно отобрана. Универсальную модель никогда не стоит использовать, если есть специализированная.

Модель COCO mAP Задержка (T4 FP16) Где работает
YOLOv8n 37,3% 1,5 мс На камере, Hailo, Jetson
YOLOv8m 50,2% 4,2 мс Jetson Orin NX, Hailo-8
YOLOv9-E 56,0% 12 мс Серверный GPU, облако
RT-DETR-L 53,0% 9 мс Серверный GPU
MobileNet-SSD (300) 24,0% Менее 1 мс на камере IMX500, ACAP начального уровня

Квантизация TensorRT INT8 снижает задержку ещё в 3–5 раз на оборудовании NVIDIA; HEF-компилятор Hailo и Post-Training Quantization от Intel OpenVINO показывают сопоставимые результаты на своих платформах. Разрыв в точности между FP32 и INT8 у моделей семейства YOLO обычно составляет 1–2% mAP — почти всегда это не стоит того, чтобы за это бороться.

Выбирайте RT-DETR, когда: в сцене 30 и более перекрывающихся объектов или если системе ниже по конвейеру нужны карты внимания для объяснимости — сопоставление якорей у YOLO начинает путать рамки при плотной толпе или в складской планировке.

ONVIF Profile T: контракт для метаданных

Событие детекции бесполезно, если оно не попадает в ту VMS, которой уже пользуется служба безопасности. ONVIF Profile T, аналитический профиль, задаёт XML-схему метаданных детекции, которую Milestone, Genetec, Avigilon, Axis Camera Station и большинство open-source VMS принимают «из коробки».

Контракт прост: камера или шлюз передаёт RTSP-поток с параллельной дорожкой метаданных. Каждый кадр содержит элемент MetadataStream, в котором может быть один или несколько элементов Object — у каждого есть ограничивающая рамка (в нормированных координатах от 0.0 до 1.0), метка класса, уровень уверенности и уникальный ID трекера. Временные метки должны быть синхронизированы с видеодорожкой по кадрам; расхождение более 40 мс нарушает работу движка корреляции событий VMS.

Приложения Axis ACAP генерируют метаданные ONVIF нативно. Начиная с версии 6.4, в NVIDIA DeepStream появился плагин onvif-metadata-broker. Для нестандартных конвейеров мы обычно предоставляем небольшой сервис на Go или Rust, который обрабатывает результаты анализа и взаимодействует с VMS по протоколу ONVIF — примерно 600 строк кода, работает на шлюзе.

Для интеграции с конкретной VMS (Milestone MIP SDK, Genetec SDK, Avigilon Control Center SDK) мы дополнительно отправляем параллельный вебхук или вызываем SDK, потому что движок правил VMS лучше реагирует на проприетарные события, чем на универсальные ONVIF. Две дорожки — один источник данных.

Конвейер событий: MQTT, Kafka или вебхуки

Событиям детекции нужна шина. Три варианта покрывают любое реалистичное развёртывание.

MQTT. По умолчанию используется для небольших развёртываний с акцентом на периферию — до 200 камер и до 500 событий в секунду. В качестве брокера — Mosquitto или HiveMQ. Уровень QoS 1 обеспечивает надёжность доставки. Всё помещается на том же шлюзе, где работает инференс. NVIDIA DeepStream поддерживает MQTT «из коробки».

Kafka. Используется по умолчанию при нагрузке свыше 500 событий в секунду или когда поток данных нужен нескольким независимым потребителям — например, VMS, хранилищу аналитики, SIEM и системе оповещений. Можно развернуть на Confluent Cloud, MSK или с помощью self-hosted Strimzi. Разделение топиков по группам камер позволяет потребителям подписываться только на нужные события, не получая всё подряд. Типичный срок хранения — семь дней, что достаточно для повторной обработки и отладки.

Вебхуки. Используйте, когда получатель — единственный SaaS (например, Splunk, PagerDuty или тикет-система), и вы не хотите добавлять в стек ещё один брокер. Подписывайте каждый вебхук через HMAC-SHA256; не полагайтесь на IP-адрес источника.

Мы почти всегда используем два протокола: MQTT от камеры или шлюза к локальному агрегатору, а затем Kafka — от агрегатора к потребителям. Такое разделение позволяет системе продолжать работать при сбое WAN (MQTT продолжает буферизовать данные локально) и масштабироваться горизонтально (группы потребителей Kafka распределяют нагрузку между собой).

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

Схема, которую мы чаще всего используем: 256- или 512-мерный эмбеддинг для каждого обнаруженного объекта, вычисляемый на шлюзе лёгкой моделью эмбеддингов (OSNet-0.25 для людей, модель по цвету и текстуре для транспорта) и сохраняемый в Milvus, Weaviate или Qdrant. Задержка запроса при 100 миллионах эмбеддингов с хорошим индексом IVF_PQ составляет менее 50 мс на одной скромной виртуальной машине.

Криминалистический поиск («найти всех в красной куртке, кто вчера вошёл в Зону 3») превращается в векторный запрос с фильтрами по метаданным. Когда клиенту это нужно, мы обычно настраиваем ElasticSearch для работы с фасетами метаданных (время, зона, камера) и Milvus — для поиска ближайших соседей по вектору. Примерно такое же разделение используется и в современном поиске в ритейле.

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

Приватность и соответствие требованиям, встроенные в систему

Анализ законного основания по статье 6 GDPR, биометрические положения CCPA и Закон ЕС об ИИ 2024 года относят большинство задач распознавания объектов в публичных местах к обработке с высоким уровнем риска. Инженерные последствия вполне конкретны.

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

Ролевой доступ к исходным и анонимизированным потокам. Интеграция с VMS должна отображать два параллельных потока. По умолчанию интерфейс показывает анонимизированный поток. Доступ к исходному видео требует повышенных прав и фиксируется в SIEM как аудиторское событие. Это самое частое нарушение требований CNIL, с которым мы сталкиваемся.

Сроки хранения по классам данных. Исходное видео: обычно 7–30 дней, максимум 90 дней без специального юридического основания. Анонимизированное видео: столько же или меньше. Метаданные детекции: 1–3 года для аналитики, удаляются по запросу субъекта. Эмбеддинги: как исходное видео.

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

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

Специалист по защите данных задаёт неудобные вопросы о вашем конвейере видеоаналитики?

Мы проводим двухнедельный аудит «приватность по дизайну»: топология анонимизации, схема хранения данных, процесс обработки запросов субъектов персональных данных и доказательная база DPIA согласно статье 35 GDPR. На выходе получаем аудиторский пакет, который специалист по защите данных может подписать.

Позвоните нам → Напишите нам →

Периферия, шлюз или облако: компромисс по стоимости

Где работает инференс — это вопрос юнит-экономики. Ниже — приблизительная математика точки безубыточности, которую мы используем при запуске каждого проекта.

Только облако (AWS Rekognition Video или Azure Video Indexer). Примерно 7,5 ₽ за минуту видео, или около 328 500 ₽ в год на одну камеру при круглосуточной работе. Подходит для 10–50 камер; становится слишком дорого при более чем 200.

На шлюзе (Jetson или Hailo на месте). Один Jetson Orin NX за 112 500 ₽ обрабатывает 16–32 потока; с амортизацией за пять лет это менее 1 425 ₽ на камеру в год на оборудование плюс, может быть, 30 Вт потребления на устройство. Лицензии на ПО (Milestone XProtect и т. п.) — отдельный вопрос.

На самой камере (Axis ACAP, Ambarella). Никакого дополнительного оборудования. Обновления моделей приходят в виде подписанных ACAP-пакетов или прошивки камеры. Работает только тогда, когда в камере уже установлен чип для инференса — старые камеры таким способом апгрейдить нельзя.

Математика перехода: ниже 40–50 камер «только облако» часто выгоднее всего, потому что вы избегаете капитальных затрат. Между 50 и 200 обычно выигрывает шлюз на Jetson. Свыше 200 привлекательным становится инференс на камере, потому что вы и так закладываете новое оборудование в цикл обновления.

Строить или покупать: где разработка под заказ окупается

Готовые аналитические продукты (Briefcam, iOmniscient, Viakoo, Avigilon Unusual Activity) решают стандартные задачи — подсчёт людей, нарушение периметра, обнаруженный оставленный предмет, праздношатание, распознавание номеров. Разработка под заказ окупается в трёх случаях.

Отраслевые таксономии классов. Готовая модель распознаёт «человек, машина, грузовик». Вам нужны другие классы: «погрузчик против рохли», «каска против шлема против защитной кепки» или «медицинская маска против N95». Кастомное дообучение YOLOv9 на 3 000–10 000 ваших размеченных кадров даст прирост точности на 5–15 процентных пунктов mAP по нужным классам.

Межсистемные сценарии. Сама по себе детекция ничего не делает. «Объект обнаружен И дверь разблокирована И карта доступа не приложена» — это составное событие, которое стандартные продукты не умеют распознавать. Его обрабатывают кастомные движки правил (Drools, CEP на Go или самописный конечный автомат).

Ограничения по суверенитету данных. Готовый SaaS отправляет кадры в облако вендора. Для большинства заказчиков из здравоохранения, обороны, финансов и критической инфраструктуры это неприемлемо. Кастомный стек хранит кадры на объекте или в конкретном регионе.

Модель стоимости: интеграция под заказ за 12 недель

Цифры ниже — оценки Форсофт на 2026 год с подходом Agent Engineering для слоя распознавания объектов под заказ поверх существующей VMS и парка камер. Они консервативны.

Этап 1 — MVP модели и конвейера (3–4 недели). Сбор разметки (на аутсорсе или силами команды), дообучение YOLOv9 или DETR, экспорт в TensorRT или HailoRT, базовая отправка событий по MQTT, шлюз на docker-compose. Бюджет: ~1,8–3,3 млн ₽.

Этап 2 — интеграция с VMS и метаданными (3–4 недели). Создание метаданных по стандарту ONVIF Profile T, подключение Milestone MIP или Genetec SDK, настройка правил событий в VMS, интеграция с интерфейсом оператора. Бюджет: ~2,6–4,8 млн ₽.

Этап 3 — повторная идентификация, поиск и приватность (4–6 недель). Настройка конвейера эмбеддингов, работа с Milvus, анонимизация лиц и номеров, управление доступом по ролям, ведение журнала аудита, настройка сроков хранения данных, подготовка артефактов DPIA. Бюджет: ~4,1–7,1 млн ₽.

Этап 4 — стабилизация (2 недели). Нагрузочное тестирование при полном количестве камер, отработка сценариев отказоустойчивости, подготовка документации, обучение операторов. Бюджет: ~1,8–3,3 млн ₽.

Итого. ~10–18 млн ₽ для развёртывания на 50–150 камер; ~15–26 млн ₽ для 150–500 камер с несколькими площадками. Эксплуатационные расходы (Milvus, Kafka, исходящий трафик, водяные знаки, если требуются) обычно составляют 225 тыс. – 1,1 млн ₽ в месяц в зависимости от объёма.

Мини-кейс: 220 камер, три страны, одна проблема с погрузчиками

Логистический оператор с 220 камерами на складах в Германии, Польше и Великобритании попросил нас разработать оповещение «погрузчик пересекает путь пешехода», чтобы их система Milestone XProtect могла отображать его как полноценное событие. Готовое аналитическое решение оценивалось примерно в 18 евро на камеру в месяц сверх действующих лицензий; хуже того, на их планировке с антресолями модель давала 30% ложных срабатываний.

Решением стала 14-недельная разработка под заказ. Мы разметили 7 400 кадров из их собственных записей, дообучили YOLOv9-C на классах «погрузчик / пешеход / рохля», развернули его на карте Hailo-8 M.2 в одном компактном ПК на каждый склад, наладили формирование метаданных ONVIF Profile T плюс событие Milestone MIP SDK для оценки составных правил и поставили наложение для оператора, которое показывало составное событие прямо в существующем интерфейсе XProtect. Доля ложных срабатываний упала до 4,1% на проверочной выборке; сквозная задержка детекции установилась на 180 мс.

Эксплуатационные расходы после запуска составили около 3,40 евро на камеру в месяц (амортизация оборудования Hailo плюс небольшой общий кластер Kafka для всех площадок). Хотите аналогичную оценку для своего парка камер? Позвоните нам по телефону +7 (911) 236-51-91 или напишите на info@fora-soft.ru — пришлите свою систему видеонаблюдения, бренды камер и несколько примеров ложных срабатываний.

Готовая аналитика топит ваших операторов в ложных срабатываниях?

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

Позвоните нам → Напишите нам →

Схема принятия решения в пяти вопросах

1. Сколько камер и где они сосредоточены? Меньше 40 — «только облако», вероятно, самый дешёвый вариант. Больше 200 — обработка на самой камере или шлюзе. От 40 до 200 — обычно используются шлюзы на базе Jetson или Hailo.

2. Какая VMS уже стоит? Milestone XProtect, Genetec Security Center, Avigilon или кастомная. VMS определяет формат метаданных (ONVIF Profile T плюс SDK производителя) и способ взаимодействия с оператором.

3. Есть ли ваши классы в готовой модели? Если вам хватает базовых категорий — «человек», «транспорт», «животное» — начните с дообучения готового YOLO или используйте готовый аналитический продукт. Если нужны более точные различия, например «погрузчик против рохли» — запланируйте этап разметки данных.

4. Какое регулирование применяется? Развёртывания в ЕС, Великобритании или Калифорнии требуют «приватности по дизайну» с самого начала разработки. В странах АТР и Латинской Америки всё зависит от юрисдикции — юристы должны дать оценку до того, как хоть один эмбеддинг покинет устройство.

5. Нужны ли в задаче составные события? Если да — закладывайте CEP-движок или конечный автомат на правилах с самого начала. Добавлять составную логику в конвейер с одиночной детекцией всегда удваивает сроки.

Пять ошибок, которые срывают проекты видеоаналитики

1. Обучить на готовом COCO и считать дело сделанным. Метки COCO смещены в сторону потребительских изображений. Складское освещение, промышленные интерьеры и камеры при слабом свете лежат вне этого распределения. Заложите раунд кастомной разметки на 3 000–10 000 кадров — именно он определяет mAP всего проекта.

2. Взять Jetson, потому что он знаком, а потом всё равно понадобится Hailo. Jetson гибкий, но прожорливый; Hailo экономичный, но ограничен двумя-тремя моделями. Часовой воркшоп по выбору железа до первого заказа экономит недели переделок.

3. Забыть про временную метку метаданных ONVIF. Расхождение в 40 мс между видеокадром и кадром метаданных сбивает трекер VMS. Мы видели развёртывания, где задержка достигала 300 мс, потому что никто не проверил работу канала метаданных через всю систему VMS.

4. Заложить неверную размерность вектора. 128 измерений слишком мало для повторной идентификации людей на протяжении нескольких месяцев, а 1024 — избыточны и замедляют работу. Эмбеддинги размером 512 измерений на OSNet или MobileFaceNet — оптимальный выбор для индексов Milvus в корпоративных системах.

5. Относиться к приватности как к галочке на последней неделе. Анонимизацию, ролевой доступ и сроки хранения нужно закладывать в архитектуру потока данных с самого начала, а не добавлять потом. Один штраф CNIL свыше 100 000 евро погубил больше проектов кастомной аналитики, чем любой технический сбой.

Метрики, которые стоит вывести на дашборд

Метрики модели. mAP на собственной проверочной выборке заказчика (не на COCO), доля ложных срабатываний на камеру за 24 ч, доля пропусков по трём наиболее критичным для операций классам. Переоценивайте после каждого раунда развёртывания.

Метрики конвейера. Сквозная задержка детекции p95 (от камеры до события в VMS), расхождение временных меток метаданных, доля потерянных потоков, глубина очереди инференса на шлюзе. Если p95 превышает 400 мс — сообщайте дежурному.

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

Когда разработка под заказ — неправильный ответ

Три ситуации требуют готового продукта. Если на одной площадке у вас меньше 40 камер, то Rekognition Video в связке с базовой VMS, например Milestone Essential+, за три года обойдётся дешевле, чем разработка интеграции с нуля. Если ваша задача — типовое решение (распознавание номеров, контроль периметра, детекция масок по шаблонам 2021 года), то аналитика от Axis, Briefcam или Avigilon уже обучена на десятках тысяч часов записей — повторить такой объём данных вам не под силу. И, наконец, если в вашей службе безопасности нет специалистов по ИИ, управляемый SaaS-сервис от вендора будет надёжнее, чем кастомный конвейер, работающий на оборудовании, которое никто в команде не умеет обслуживать.

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

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

Сколько размеченных кадров нужно, чтобы дообучить детектор?

Для одного нового класса при дообучении модели семейства YOLO обычно достаточно 3 000–5 000 размеченных кадров с разным освещением и ракурсами, чтобы превзойти готовую модель на ваших собственных данных. Для 5–10 новых классов или редких событий потребуется 10 000–30 000 кадров. Циклы активного обучения — размечать кадры, где модель неуверенна, — эффективнее случайной выборки уже после первых тысячи кадров.

Можно ли запустить YOLOv9 на существующей камере Axis?

Только на камерах с чипами ARTPEC-7 или ARTPEC-8, поддерживающими нативный ML-инференс через ACAP. Полная YOLOv9-Е не поместится, но квантизованная YOLOv8n работает без проблем. На более старых камерах ARTPEC без ML-ускорителя запускайте инференс на шлюзе с Jetson или Hailo рядом с камерой и отправляйте метаданные ONVIF обратно в VMS.

Какова реальная плотность потоков на Jetson Orin Nano?

Восемь потоков 1080p под YOLOv8m с частотой детекции 15 fps, или шестнадцать потоков при 10 fps. Orin NX удваивает эти цифры. TensorRT INT8 плюс оптимизация конвейера DeepStream — вот что делает разницу между «работает» и «падает на шестом потоке».

AWS Rekognition Video дешевле, чем собственный Jetson?

Ниже примерно 40 камер, работающих 24/7, — да. Rekognition Video по 7,5 ₽ за минуту потока выходит примерно на 328 500 ₽ на камеру в год; Jetson Orin NX за 112 500 ₽, обрабатывающий 16 потоков, — около 1 425 ₽ на камеру в год на оборудование плюс электричество. Точка перехода сильно зависит от того, сколько часов в сутки камеры реально работают.

Работает ли ONVIF Profile T с Milestone XProtect «из коробки»?

Частично. XProtect принимает метаданные Profile T для экранных наложений и базовых правил событий, но любое составное правило («объект обнаружен И карта доступа не приложена») требует Milestone MIP SDK. Мы регулярно поставляем и то, и другое: ONVIF — для наложений, события MIP SDK — для движка правил. У Genetec Security Center аналогичное разделение со своим SDK.

Как соблюсти GDPR, когда камеры снимают публичную улицу?

Задокументируйте законный интерес по статье 6(1)(f), проведите оценку воздействия на защиту персональных данных (DPIA) в соответствии со статьёй 35, применяйте размытие лиц на уровне пикселей до того, как кадр покинет шлюз, храните исходные записи с ролевым доступом и ведите журнал аудита, установите срок хранения минимально необходимым для достижения вашей цели (обычно — 30 дней). Согласие специалиста по защите данных обязательно — этот шаг нельзя пропустить.

Что меняет Закон ЕС об ИИ?

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

Сколько займёт реалистичное развёртывание на 50 камер?

От двенадцати до шестнадцати недель от старта до продакшена с подходом Agent Engineering, при условии наличия VMS и доступных записей с камер для обучения. На первой–четвёртой неделях — разработка модели и конвейера; на пятой–восьмой — интеграция с VMS; на девятой–двенадцатой — работа над приватностью, поиском и стабилизацией. Раунд разметки обычно проходит параллельно с созданием конвейера.

Отрасли

Разработка камерных решений для распознавания объектов под конкретные отрасли

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

VMS

Разработка VMS под заказ: как создать систему видеоменеджмента

Как построить собственную VMS, если Milestone и Genetec не подходят.

Периферия

Периферийные вычисления в видеостриминге

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

Стриминг

Разработка ПО для видеостриминга под заказ

Выбор архитектуры для слоя доставки под камерной аналитикой.

Услуги

Разработка ПО для видео- и аудиостриминга

Что мы делаем, как работаем и как проходит типичный спринт.

Готовы запустить распознавание объектов, которое ваша VMS действительно понимает?

Распознавание объектов в 2026 году строится из трёх ключевых решений: какой детектор использовать (YOLOv9, RT-DETR или мини-классификатор), где он будет работать (на камере, на шлюзе с Jetson или Hailo, или в лёгком облачном слое) и как он взаимодействует с VMS (через ONVIF Profile T и SDK производителя). Если все три компонента подобраны верно — программная часть задачи в основном решена. Ошибитесь хотя бы в одном — и ложные срабатывания будут изматывать операторов, пока те не перестанут реагировать на оповещения.

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

Давайте оценим вашу интеграцию распознавания объектов

Назовите количество камер, VMS и важную для вас таксономию классов — мы вернёмся с планом на двенадцать недель, шорт-листом оборудования и фиксированной оценкой стоимости.

Позвоните нам → Напишите нам →

  • Технологии