Перейти к основному содержимому
Версия: 2.8.1

Конфигурация

Настроить OMNI Agent можно через веб-интерфейс или через редактирование файлов конфигурации из папки OMNIAgent, которая по умолчанию расположена по адресу:

  • Linux: ~/.local/share/OMNIAgent
  • Windows: %LocalAppData%/OMNI Agent

Файлы конфигурации для редактирования доступны в папке config. Файлы конфигурации с настройками по умолчанию можно просмотреть в папке config.default. Обратите внимание, что значения параметров, указанных в файлах из папки config, имеют приоритет над значениями параметров для файлов из папки config.default.

Ниже представлены основные настройки, которые можно изменить в веб-интерфейсе или отредактировать в файлах конфигурации config/run_params.json и log_params.json.

к сведению

После изменения настроек перезапустите OMNI Agent.

Мультикамерность

Подключение дополнительного видеопотока (камеры)

OMNI Agent поддерживает подключение к нескольким видеопотокам (камерам).
Настройка через веб-интерфейс

Для подключения дополнительного видеопотока через веб-интерфейс OMNI Agent нажмите Добавить камеру на странице камер и укажите IP или USB камеру.

Настройка через файл конфигурации

Чтобы подключить дополнительный видеопоток к OMNI Agent через редактирование файла конфигурации, выполните следующие шаги:

  1. В файле конфигурации config/run_params.json создайте новый объект камеры в массиве web_cams. Для этого просто скопируйте уже существующий объект камеры из массива web_cams.
  2. В параметре stream нового объекта камеры укажите IP-адрес или ID новой подключаемой камеры. Для USB камер дополнительно требуется указать размер кадра: width и height.
  3. Запустите и активируйте OMNI Agent.

В результате, OMNI Agent будет передавать данные в OMNI Platform уже с двух видеопотоков (камер).

Для подключения и работы дополнительных видеопотоков потребуется машина со следующими расчетными характеристиками:

  • CPU: Число ядер = 1 ядро + 3 x число видеопотоков @3ГГц с поддержкой AVX. При отключении одного из модулей (лицо/тело) убирается 1 ядро процессора. В этом случае число ядер = 1 + 2 x число видеопотоков.
  • RAM: 1 ГБ + 1 ГБ x число видеопотоков. Указан необходимый свободный объем ОЗУ. При отключении одного из из модулей (лицо/тело) ожидается уменьшение множителя потоков на 25%. В этом случае объем ОЗУ = 1 ГБ + 0,75 ГБ x число видеопотоков.
  • HDD: 3 ГБ свободного места.

Обработка видеофайлов

Для запуска OMNI Agent для обработки видеофайлов выполните следующие шаги:

  1. Подключите OMNI Agent к OMNI Platform (Запустите OMNI Agent, укажите URL сервера и введите учетные данные).

  2. На странице Добавление камеры введите 123 в поле URL IP-камеры.

  3. Закройте OMNI Agent через закрытие терминала.

  4. Откройте файл конфигурации config/run_params.json:

    • Windows: %LocalAppData%\OMNIAgent\config\run_params.json
    • Linux: ~/.local/share/OMNIAgent/config/run_params.json
  5. Включите поле "lock_cam_on_module_creation".

    "lock_cam_on_module_creation": true,
  6. В разделе web_cams в поле stream укажите путь до нужного видеофайла.

  7. Добавьте поля:

    • "is_benchmark_camera": true
    • "is_nonlocking_camera": true
  8. Укажите значения для полей title и real_name (опционально).

    Пример раздела web_cams для запуска OMNI Agent для обработки видеофайла:

        "web_cams": [
    {
    "color_camera": {
    "creationDate": "2023-12-12T08:32:30.879147+00:00",
    "frame_crop": {
    "height": 1,
    "width": 1,
    "x": 0,
    "y": 0
    },
    "id": "c59fe4cb-5e9a-4bcb-a34b-e88879d1d692",
    "lastModified": "2023-12-12T08:32:30.879109+00:00",
    "real_name": "",
    "stream": "/home/stranger/Downloads/test_video_office.mp4",
    "title": "test_vid",
    "type": "IP",
    "is_benchmark_camera": true,
    "is_nonlocking_camera": true
    }
    }
    ]
    подсказка

    Путь в поле "stream" должен содержать только латинские буквы и цифры. При заполнении поля на Windows используйте обратные слэши: "C:\\Users\\vikki\\Desktop\\test_video_office.mp4".

  9. Запустите OMNI Agent.

    OMNI Agent завершит работу по завершении обработки видеофайла. Результаты обработки в формате процессов и/или событий будут переданы в OMNI Platform или внешний сервис по вебхукам.
    примечание

    Для стабильной работы OMNI Agent не рекомендуется обрабатывать несколько видеофайлов одновременно.

Настройка прокси-сервера

Настройка через веб-интерфейс

В случае если доступ пользователя к сети Интернет осуществляется через прокси-сервер, его подключение также потребуется для установки и настройки OMNI Agent. Для использования прокси-сервера нажмите на значок Настройки в веб-интерфейсе OMNI Agent и выберите Системный (System) или Свой (Custom) прокси-сервер в открывшейся вкладке. При выборе настраиваемого прокси-сервера укажите его адрес в специальном поле. Далее нажмите кнопку Сохранить.

img.jpg

Настройка порта веб-конфигуратора

Настройка через файл конфигурации

Все параметры, указанные в этом разделе, настраиваются в файле конфигурации config/run_params.json.

По умолчанию веб-конфигуратор запускается на порту 8080. Для изменения порта в файле конфигурации необходимо добавить поле http_server_port: (int) и указать в нем желаемый порт открытия веб-конфигуратора.

Настройка повторной отправки данных

При обрыве соединения данные, отправляемые OMNI Agent, сохраняются в специальное хранилище. Когда соединение восстановлено, происходит повторная отправка этих данных на сервер.

Откройте файл конфигурации TDV/tdv_connection_params.json и укажите значения для следующих переменных:

  • resend_on_success_count: int — число пакетов для переотправки. Значение по умолчанию — 15.
  • data_keeper_max_bytes: int64 — максимальное число байт, допутимое в хранилище. Значение по умолчанию — 68719476736 (64 ГБ).

Настройка обрезки исходного кадра

Для оптимизации обработки видеопотоков и видеофайлов можно передавать в OMNI Agent не исходные, а обрезанные кадры (кропы). Параметры кропа (координаты левого верхнего угла, ширина и высота кропа) указываются в нормализованных координатах.

подсказка

Обрезка рекомендуется, чтобы OMNI Agent не тратил ресурсы на обработку статичных объектов, расположенных по бокам исходного кадра (Например, стены, шкафа и др.).

Настройка через файл конфигурации

Откройте файл конфигурации config/run_params.json и добавьте в поле web_cams новый объект вида:

  • frame_crop:
    • x: float — X координата левого верхнего угла в нормализованных координатах исходного кадра.
    • y: float — Y координата левого верхнего угла в нормализованных координатах исходного кадра.
    • width: float — ширина кропа в нормализованных координатах.
    • height: float — высота кропа в нормализованных координатах.

Например, поле web_cams с заполненными полями кропа изображения будет выглядеть так:

{
"web_cams": [
{
"color_camera": {
"creationDate": "2023-10-12T09:41:42.789486+00:00",
"id": "7da98714-ae35-4832-834b-83cf82e4fe7a",
"lastModified": "2023-10-12T09:47:38.190009+00:00",
"real_name": "",
"stream": "rtsp://guest:q2w3e4r5t@192.168.122.154/stream",
"title": "rtsp://192.168.122.97:554",
"type": "IP"
"frame_crop": {
"x": 0.2,
"y": 0.3,
"width": 0.3,
"height": 0.25
}
}
}
]
}
Настройка через веб-интерфейс

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

img.png

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

img.png

В результате на главной странице веб-интерфейса будет отображаться превью новых размеров.

img.png

Настройка GPU

Использование CUDA

Для ускорения работы OMNI Agent с использованием GPU откройте файл конфигурации config/run_params.json и включите использование CUDA:

Настройка через файл конфигурации

Включить CUDA для детектора лиц:

  • pipelines.face.video_worker_override_parameters.use_cuda: bool - true (включено), false (выключено).

Включить CUDA 10 для детектора лиц (use_cuda должен быть true):

  • pipelines.face.video_worker_override_parameters.use_legacy: bool - true (включено), false (выключено).

Включить CUDA для распознавания лиц:

  • pipelines.face.recognizer_override_parameters.use_cuda: bool - true (включено), false (выключено).

Включить CUDA 10 для распознавания лиц (use_cuda должен быть true):

  • pipelines.face.recognizer_override_parameters.use_legacy: bool - true (включено), false (выключено).

Включить CUDA для детектора тел:

  • pipelines.body_detector.use_cuda : bool - true (включено), false (выключено). Необходимо самостоятельно прописать это поле в config/run_params.json.

Включить CUDA для распознавания действий (HAR):

  • pipelines.action_recognition.use_cuda : bool - true (включено), false (выключено). Необходимо самостоятельно прописать это поле в config/run_params.json.
подсказка

Для использования CUDA во всех задачах кроме работы с лицами можно включить поле use_cuda_onnx в config/run_params.json.

Настройка через веб-интерфейс

Включить CUDA для детектора лиц, распознавания лиц и одновременно для работы детектора тел и HAR можно в Настройках веб-интерфейса OMNI Agent.

img.png

Логирование

Настройка через файл конфигурации

Просмотреть логи можно в файле logfile_*.log в папке log. Чтобы изменить уровень логирования, перейдите в файл конфигурации log_params.json и укажите значение для параметра sev_level(string). Доступные уровни логирования: TRACE, DEBUG, INFO, WARNING, ERROR, FATAL (перечислены по возрастанию степени важности).

Трейсы

Настройка через файл конфигурации

Для анализа результатов обработки видеопотоков и видеофайлов и выявления возникших проблем предусмотрена возможность сохранения лога обработки с высоким уровнем детализации. Формат такого лога и сам лог мы называем трейсом (Trace).

Для включения или отключения сбора трейсов через файл конфигурации log_params.json в объекте traces установите значения параметров enable (включение трейсов, true/false) и trace_interval_in_msec (интервал сбора трейсов, целое число).

При включении записи трейсов OMNI Agent будет писать в консольный вывод сообщения вида:

"Starting to write the trace...", "Trace written: " <UUID>

После последнего сообщения записывается новый файл с названием, равным написанному UUID.

Полученные трейсы сохраняются в поддиректории по адресу:

  • Linux: ~/.local/share/OMNIAgent/Traces
  • Windows: %LocalAppData%/OMNI Agent/Traces

Соответствующие файлы удовлетворяют формату BSON при чтении, начиная со второго байта.