Перейти к содержанию
VVizorLabsТехнический центрОсновной сайт

BOX 5.0

BOX 5.0: камера и назначение аналитики

BOX 5.0: камера и назначение аналитики: подробная инструкция, назначение полей, порядок действий и иллюстрации интерфейса.

Для кого: функциональный администратор / пользователь
На этой странице

Добавление камеры

В дереве нажмите «Добавить камеру». Основная форма содержит вкладки «Общая информация», «Детекторы», «Наблюдатели»; для некоторых типов источников вкладка детекторов отсутствует.

Общие поля

Поле Значение Что вводить / выбирать
Тип камеры Способ получения и обработки материала Реальный тип источника из таблицы ниже
Название камеры* Имя в дереве, журналах и отчётах Сигма — цех № 1 — рабочее место 01; избегайте одинаковых названий
RTSP* Поле адреса источника; подпись сохраняется и у некоторых других типов Адрес, выданный администратором камеры или интегратором. Для обычной IP-камеры это адрес видеопотока, а не ссылка на её веб-страницу
Протокол Транспорт подключения стационарного источника Вариант, совместимый с источником; технические значения TCP/UDP описаны в API
Разрешение трансляции Выбранное качество потока в доступной форме Подберите с учётом исходного изображения и нагрузки. Выбор 1080p не создаёт детали, которых нет в исходном потоке
На объекте → Выбрать Место камеры в дереве Объект, при наличии — этаж
Карта → Отметить Положение камеры на плане Становится доступно после выбора подходящего объекта; отметьте фактическое место установки
Рабочие пространства → Добавить Принадлежность организационным группам камер Выберите созданные пространства; это не физические зоны кадра
Включение камеры → Вручную / По графику Режим работы источника При графике выберите дни недели и время от–до. При ручном режиме эти поля не действуют
Состояние камеры, ВЫКЛ / ВКЛ Используется ли источник Включение не подтверждает, что сервер действительно получает изображение
Нейросеть, ВЫКЛ / ВКЛ Выполняется ли подключённая аналитика Включайте после настройки используемой аналитики; поток может работать и без анализа
Видеозапись, ВЫКЛ / ВКЛ Нужно ли вести видеоархив Доступность зависит от типа камеры и хранилища. Это не переключатель сохранения всех фотографий событий
Монохромное изображение Преобразование изображения в оттенки серого Используйте только при обоснованной настройке модели; информация о цвете при этом теряется
Дополнительные параметры JSON настроек обработки конкретной камеры Поддерживаемые фильтры и параметры алгоритмов. Формат, пример и ограничения описаны ниже; сохраняйте остальные ключи при изменении

У адреса потока может быть несколько вариантов: основной поток, дополнительный поток, разные кодеки. Берите адрес из документации камеры/VMS. Если в нём необходимы реквизиты доступа, вводите их в рабочей системе, но не переносите такой адрес в отчёт или обращение без удаления секретов.

Дополнительные параметры: JSON для конкретной камеры

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

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

Минимальный размер объекта и антиспам

Ключ JSON Назначение Формат и пример
size_filters Набор правил фильтрации объектов по минимальному размеру Массив объектов; можно описать правило для нужных классов
size_filters[].labels Классы, к которым применяется правило Массив строк: ["person"]. Используйте код класса установленной модели, а не его произвольный перевод
size_filters[].min_size_width Минимальная ширина распознаваемого объекта Число пикселей; в примере 70
size_filters[].min_size_height Минимальная высота распознаваемого объекта Число пикселей; в примере 70
time_window Время работы антиспам-фильтра событий Секунды; в примере 10

Пример содержимого поля:

{
  "size_filters": [
    {
      "labels": ["person"],
      "min_size_width": 70,
      "min_size_height": 70
    }
  ],
  "time_window": 10
}

В этом примере размерный фильтр относится к классу person, а время антиспам-фильтра равно 10 секундам. Значения 70 и 10 взяты из примера поставки: они не являются настройками по умолчанию и требуют подбора под кадр и задачу. Размерный фильтр может убрать слишком мелкие детекции; завышенный порог способен убрать нужного человека на дальнем плане. Точный алгоритм подавления повторов и поведение при нулевых значениях определяются обработчиком.

В исходном руководстве указан приоритет настроек камеры над пресетом. Не переносите это правило автоматически на любой пользовательский сценарий: он может читать параметры иначе или не использовать их.

Для детектора лиц документирован тот же формат size_filters с классами mask_off, mask_viol, mask и порогами 70 × 70 пикселей. В этом примере обе стороны детекции должны быть больше 70 пикселей. Названия классов зависят от установленной модели.

Медиасервер: декодирование, FPS и группа обработки

Ключ JSON Что задаёт Значения и проверка
mediaserver.decoder_use_ffmpeg Использование FFmpeg-декодера для камеры JSON boolean: true включает. После сохранения проверьте воспроизведение HLS
mediaserver.decode_hardware_decode_enabled Аппаратное декодирование JSON boolean: true включает, false отключает. Требуется совместимое оборудование и конфигурация сервиса; одно наличие изображения не доказывает использование аппаратного декодера
mediaserver.fps Индивидуальный лимит FPS камеры Число кадров в секунду. В инструкции есть 25, для заметной проверки ограничения — 1 или 2. Полный диапазон и поведение 0 именно для JSON-поля не установлены
group Группа распределения камеры по процессам инференса Строка, например "group_name". Название согласуйте с конфигурацией обработки. Это не группа объектов и не область доступа пользователя

Пример для ограничения одной камеры до двух кадров в секунду:

{
  "mediaserver": {
    "fps": 2
  }
}

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

Для MJPEG документирована камера типа GENERIC с программным FFmpeg-декодированием:

{
  "mediaserver": {
    "decoder_use_ffmpeg": true,
    "decode_hardware_decode_enabled": false
  }
}

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

Проверка после сохранения: поток HLS воспроизводится, цвета и пропорции корректны, задержка не накапливается. Инженер эксплуатации проверяет фактическую группу по сообщениям Camera group is и Adding camera to inference в логах медиасервера. Для аппаратного декодирования инструкция предлагает проверить загрузку декодера командой nvidia-smi -q -x и поле decoder_util.

Общее ограничение для всех камер задаётся отдельно — переменной окружения сервиса DECODE_MAX_FPS: положительное целое, 0 отключает ограничение, при отсутствии переменной для описанной версии медиасервера используется 25. Это серверная настройка; для одной камеры в JSON используется документированный путь mediaserver.fps. Правило 0 для переменной окружения не следует автоматически переносить на JSON-поле.

Связанные камеры и положение кабины

Ключ JSON Назначение Значения и ограничения
event_filter_seconds Временной интервал фильтрации повторных событий по человеку в конфигурации связанных камер Число секунд; в примере 5.0. Если параметр отсутствует, используется настройка сервиса: в описанной поставке это 5 секунд. Не является псевдонимом time_window
cabin_position Положение кабины для алгоритма контроля погрузочно-разгрузочных работ Строка из перечня "LEFT", "RIGHT", "DOWN", "TOP". Задаётся у надирной камеры, направленной вниз. Используйте положение, соответствующее установленной камере и принятой калибровке
camera_position Роль камеры в связке На документированных снимках встречаются "NADIR", "FRONT", "UNSPECIFIED"; это наблюдаемые значения, а не подтверждённый полный перечень
links Связи с другими камерами и их роли В примере объект вида {"5":"FRONT","6":"NADIR"}, где ключи — строковые ID камер. Сохраняйте существующие связи; не копируйте чужие ID

Пример отдельной настройки положения кабины:

{
  "cabin_position": "DOWN"
}

Настраивайте сами связи через предусмотренный системой экран связанных камер. При изменении другого параметра не удаляйте links и camera_position, если они уже присутствуют в JSON. Интервал event_filter_seconds подтверждён для фильтра дублей с ID персоны и типом зоны; не считайте его общей длительностью видеоролика или интервалом всех детекторов.

Таблица скоростей по классам транспорта

В конфигурации детектора скорости используется объект speed_table: ключ — код класса, значение — числовая настройка скорости. Документирован пример:

{
  "speed_table": {
    "car_sedan_suv": 40,
    "bus": 30,
    "truck": 20
  }
}

В доступном описании не указаны единицы, точный смысл сравнения, диапазоны и поведение для отсутствующего класса. Поэтому значения 40/30/20 не следует объявлять универсальными ограничениями в км/ч. Сначала проверьте параметры и калибровку установленного детектора скорости по его документации.

Параметры отдельных модулей

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

Для модуля активности описаны пороги activity_thresholds с уровнями low, medium, high — пример 10/20/50. В последующей доработке настройки объединены внутри person_activity, туда же добавлена агрегация по времени или числу кадров: aggregation_by_time, time_seconds_aggregate, num_frames_aggregate. Настройки камеры имеют приоритет над конфигурацией этого модуля; отсутствующие параметры берутся из неё.

Не копируйте старый пример агрегации без сверки: в постановке есть опечатка aggretation_params, тогда как комментарии реализации называют aggregation_params. Число 30 секунд в примере также не является надёжным default: в истории доработки период по умолчанию изменён на 60 секунд. Для установленной версии уточните вложенность и значения; единицы порогов активности в этих материалах не раскрыты.

Параметры специальных модулей. Для ранней отправки при выходе из зоны, отключения детектора позы и совместимости RTSP запросите у интегратора полный пример JSON для вашей версии: имя ключа, вложенность, тип и допустимые значения. Не добавляйте предполагаемые поля по названию функции. Свойство GStreamer force-noncompliant-url относится к медиасервису и требует GStreamer 1.24.7 или новее; имя свойства GStreamer не является готовым ключом поля камеры.

Другие параметры, встречающиеся в конфигурациях

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

Группа Ключи и значения в примерах Граница применимости
movement_detection turn_on: "true", threshold: 55, close_ksize: [31, 31], gb_ksize: [11, 11], gb_sigma: 3, silhouette_height: 0.05 Параметры группы обработки движения. Назначение отдельных порогов и допустимые диапазоны уточните в описании установленного алгоритма. В приведённом формате "true" — строка; не заменяйте её логическим true без проверки
check_movement labels, sub_label, time_for_report: 8, percent_frames_for_report: 0.5, drop_after_time: 30 В примере sub_label равен "person_lay_down_secondary". Единицы временных полей и правила накопления результата здесь не установлены

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

Как внести и проверить изменения

  1. Скопируйте текущее содержимое поля перед изменением. Сохраняйте остальные ключи, если меняете один параметр.
  2. Вставьте JSON-объект с двойными кавычками у ключей и строк. Комментарии и запятая после последнего элемента в JSON недопустимы.
  3. Проверьте классы модели и единицы величин. Не переносите пиксельные пороги между разными кадрами без проверки масштаба.
  4. Если открыт отдельный редактор, нажмите «Применить», затем сохраните карточку камеры. На контрольном материале сравните нужные детекции, мелкие объекты и повторные события до и после изменения; для медиасервера проверьте и поток HLS.
  5. Если нужные события пропали, верните сохранённую конфигурацию и проверьте размерный фильтр, антиспам и взаимодействие с пресетом или сценарием.

Для API BOX 3.2: в схеме BOX 3.2 поле CreateCamera.etc_params имеет тип string | null и значение по умолчанию "{}". Поэтому JSON из поля передаётся строкой с экранированными кавычками, например "etc_params": "{\"time_window\":10}". Это фрагмент тела запроса, а не полный запрос создания камеры. Пустой объект означает отсутствие заданных здесь ключей; он не задаёт универсальные настройки аналитики.

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

Типы камер и отличающиеся поля

Тип в форме Применение и особенности
Стационарная камера Постоянный видеопоток. Доступны протокол, адрес, разрешение, ручной режим / график, запись, аналитика и монохромное изображение
V4L2-камера Устройство, доступное серверному компоненту через V4L2. Форма сохраняет подпись «RTSP», но фактический идентификатор устройства задаётся по правилам подключения этой интеграции. Это не USB-камера браузера оператора
Снапшот-камера Периодическое получение кадров. Добавляется числовое поле «Интервал снапшотов». Единица рядом с полем не показана: её следует сверить с параметрами драйвера, не подставлять минуты по аналогии с LLM
Тепловизор Контроль температур. Поля «Контроль»: «За людьми» / «За зонами»; «Значение пороговой температуры». Для зон появляется «Тип контроля»: минимальная температура, максимальная температура, разница температур. Порог выбирают по методике измерения и настройкам устройства; демонстрационное число не является нормативом
Виртуальная камера Анализ подготовленного видеофайла. Поля: «Файл», «Загрузить», «Скачать», название, объект, пространства, состояние, нейросеть. Выберите существующий файл или загрузите свой. Отсутствие кнопки записи у этого типа не означает, что файл не хранится
Автоопределяемая камера Источник, тип которого определяется поддерживаемым механизмом подключения. Используйте только совместимый с поставкой адрес; название режима не гарантирует распознавание любого протокола

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

Вкладка «Детекторы»

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

Вкладка «Наблюдатели»

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

Проверка после сохранения

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

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

Интерфейс BOX 5.0. Новая камера BOX 5.0: источник, расположение, расписание и состояния
Интерфейс BOX 5.0. Новая камера BOX 5.0: источник, расположение, расписание и состояния Открыть в полном размере
Интерфейс BOX 5.0. В проверенной форме камеры вкладка «Детекторы» по-прежнему назначает пресеты
Интерфейс BOX 5.0. В проверенной форме камеры вкладка «Детекторы» по-прежнему назначает пресеты Открыть в полном размере
Интерфейс BOX 5.0. Типы камер BOX 5.0: шесть вариантов в текущей форме
Интерфейс BOX 5.0. Типы камер BOX 5.0: шесть вариантов в текущей форме Открыть в полном размере
Общий модуль, иллюстрация BOX 3.2. Добавление камеры: вкладка «Наблюдатели».
Общий модуль, иллюстрация BOX 3.2. Добавление камеры: вкладка «Наблюдатели». Открыть в полном размере

Карточка камеры: все вкладки

Карточка открывается из мониторинга или дерева. Общие действия — возврат, «Редактировать», расположение на карте при наличии плана. Ниже описаны общие вкладки семейства BOX; их состав зависит от типа камеры, прав и включённых модулей. Для сценарной карточки Platform 4.0 дополнительно предусмотрены «Сценарии» и, при интеграции, «Внешние сигналы».

Вкладка Поля и работа
Трансляция Режим «Камера» / «Нейросеть», HLS / WebRTC, воспроизведение, настройки плеера, полный экран. В разворачиваемых блоках — счётчики входа/выхода, присутствия, LLM-промпты и детекторы
Зоны Список областей кадра и «Добавить зону». Редактирование геометрии и типа — §9.4
Архив Период, зона, «Показать» / «Сбросить», отображение зон, временная шкала. Если написано «Видеозапись не ведётся», проверьте запись и хранилище; это не доказательство отсутствия фотографий событий
Видеофрагменты Период, зона, тип события, меры, решение; выбор эпизода на шкале и воспроизведение связанных материалов. Ошибка видео возможна даже при доступной фотографии
Тепловая карта Период и «Показать» / «Сбросить». Показывает накопленное пространственное распределение наблюдений; это не температурный снимок тепловизора
Связанные камеры «Привязать камеру» и просмотр связанных ракурсов. «Режим планшета» используется при подготовленном наборе; при отсутствии связей может быть недоступен
Работоспособность камеры Графики за последние 24 часа отдельно для камеры и нейросети; состояния «работает», «выключено», «неисправность». Таблица — время, состояние, разрешение потока
Активность камеры Период, «Показать», история изменения состояния и способ управления, включая ручное действие пользователя

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

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

Общий модуль, иллюстрация BOX 3.2. Карточка камеры «Сигмы»: трансляция, переключение источника и панели аналитики.
Общий модуль, иллюстрация BOX 3.2. Карточка камеры «Сигмы»: трансляция, переключение источника и панели аналитики. Открыть в полном размере
Общий модуль, иллюстрация BOX 3.2. Карточка камеры: вкладка «Зоны».
Общий модуль, иллюстрация BOX 3.2. Карточка камеры: вкладка «Зоны». Открыть в полном размере
Общий модуль, иллюстрация BOX 3.2. Карточка камеры: вкладка «Тепловая карта».
Общий модуль, иллюстрация BOX 3.2. Карточка камеры: вкладка «Тепловая карта». Открыть в полном размере
Общий модуль, иллюстрация BOX 3.2. Связанные камеры: список пока пуст; новая связь задаётся кнопкой «Привязать камеру».
Общий модуль, иллюстрация BOX 3.2. Связанные камеры: список пока пуст; новая связь задаётся кнопкой «Привязать камеру». Открыть в полном размере
Общий модуль, иллюстрация BOX 3.2. Работоспособность камеры: сбои видео и инференса за 24 часа.
Общий модуль, иллюстрация BOX 3.2. Работоспособность камеры: сбои видео и инференса за 24 часа. Открыть в полном размере
Общий модуль, иллюстрация BOX 3.2. Карточка камеры: вкладка «История активности».
Общий модуль, иллюстрация BOX 3.2. Карточка камеры: вкладка «История активности». Открыть в полном размере