Конфигурация
Настроить 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 через редактирование файла конфигурации, выполните следующие шаги:
- В файле конфигурации config/run_params.json создайте новый объект камеры в массиве
web_cams
. Для этого просто скопируйте уже существующий объект камеры из массиваweb_cams
. - В параметре
stream
нового объекта камеры укажите IP-адрес или ID новой подключаемой камеры. Для USB камер дополнительно требуется указать размер кадра: width и height. - Запустите и активируйте 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 для обработки видеофайлов выполните следующие шаги:
Настройка через веб-интерфейс
В веб-интерфейсе OMNI Agent нажмите
Добавить камеру
.В открывшемся окне выберите тип "Локальный видеофайл", укажите название и абсолютный путь до видеофайла (Путь в поле "stream" должен содержать только латинские буквы и цифры).
подсказкаПри заполнении абсолютного пути на Windows используйте обратные слэши:
"C:\\Users\\vikki\\Desktop\\test_video_office.mp4"
Для завершения работы OMNI Agent после окончания видео отметьте соответствующее поле.
После добавления проигрывание видео в превью запустится автоматически. Результаты обработки в формате процессов и/или событий будут переданы в OMNI Platform или внешний сервис по вебхукам.
Настройка через файл конфигурации
Для запуска OMNI Agent для обработки видеофайлов выполните следующие шаги:
Подключите OMNI Agent к OMNI Platform (Запустите OMNI Agent, укажите URL сервера и введите учетные данные).
На странице Добавление камеры введите 123 в поле URL IP-камеры.
Закройте OMNI Agent через закрытие терминала.
Откройте файл конфигурации config/run_params.json:
- Windows: %LocalAppData%\OMNIAgent\config\run_params.json
- Linux: ~/.local/share/OMNIAgent/config/run_params.json
Включите поле "lock_cam_on_module_creation".
"lock_cam_on_module_creation": true,
В разделе
web_cams
в полеstream
укажите путь до нужного видеофайла (Путь должен содержать только латинские буквы и цифры).подсказкаПри заполнении поля "stream" на Windows используйте обратные слэши:
"C:\\\\Users\\\\vikki\\\\Desktop\\\\test_video_office.mp4"
.Добавьте поля:
"is_benchmark_camera": true
"is_nonlocking_camera": true
Укажите значения для полей
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
}
}
]Запустите OMNI Agent.
OMNI Agent завершит работу по завершении обработки видеофайла. Результаты обработки в формате процессов и/или событий будут переданы в OMNI Platform или внешний сервис по вебхукам.примечаниеДля стабильной работы OMNI Agent не рекомендуется обрабатывать несколько видеофайлов одновременно.
Настройка прокси-сервера
Настройка через веб-интерфейс
В случае если доступ пользователя к сети Интернет осуществляется через прокси-сервер, его подключение также потребуется для установки и настройки OMNI Agent. Для использования прокси-сервера нажмите на значок Настройки в веб-интерфейсе OMNI Agent и выберите Системный (System) или Свой (Custom) прокси-сервер в открывшейся вкладке. При выборе настраиваемого прокси-сервера укажите его адрес в специальном поле. Далее нажмите кнопку Сохранить.
Настройка порта веб-конфигуратора
Настройка через файл конфигурации
Все параметры, указанные в этом разделе, настраиваются в файле конфигурации 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
}
}
}
]
}
Настройка через веб-интерфейс
Для обрезки исходного кадра в веб-интерфейсе нажмите на шестеренку в правом верхнем углу карточки добавленной камеры. На открывшейся вкладке нажмите на значок редактирования в разделе Область обрезки кадра.
В результате вы перейдете на страницу, где можно изменить размеры иходного кадра превью камеры, потянув за красные края изображения. После редактирования нажмите Сохранить.
В результате на главной странице веб-интерфейса будет отображаться превью новых размеров.
Блокировка изменений конфигурации из веб-интерфейса
Файлы конфигурации из каталога config могут быть защищены от изменения со стороны веб-интерфейса OMNI Agent.
Настройка через файл конфигурации
Для блокировки изменений определенного файла конфигурации через веб-интерфейс добавьте в этот файл поле
__force_no_web_reconfiguration: bool
со значением true
(включено) и перезапустите OMNI Agent.
Настройка 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.
Логирование
Настройка через файл конфигурации
Просмотреть логи можно в файле 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 при чтении, начиная со второго байта.