Перейти к содержанию

v.5.98.0#

Изменения

  • Добавлена поддержка автоматического определения ориентации видео.

    Добавлено поле orientation_strategy, которое определяет источник данных для коррекции поворота видео:

    • static – ручная настройка угла (установлено по умолчанию). Пользователь может, как раньше, задать угол поворота видео на 90, 180 и 270 градусов перед его обработкой: в поле angle (для видеофайла) и в rotation (для потока).
    • videoinfo – угол поворота определяется по метаданным видеофайла или потока.

    Расположение orientation_strategy:

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

  • Версия аналитики people_count обновлена ​​до 2 и включает в себя следующие изменения:

    • теперь для аналитики подсчета людей people_count можно задать верхнюю и нижнюю границы значений количества людей:

      • people_count__lte - нижний порог количества людей. Событие создается в случае, если людей меньше или равно указанному значению. Должно быть меньше, чем people_count__gte.
      • people_count__gte - верхний порог количества людей. Событие создается в случае, если людей больше или равно указанному значению.

      Примечание. Необходимо установить хотя бы одно из значений.

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

    • добавлен параметр event_delay, задающий задержку (в секундах) перед регистрацией события. По умолчанию установлено значение 0. Это позволяет игнорировать временные изменения количества людей в кадре, не соответствующие заданным условиям. Система начинает отсчет только когда количество людей соответствует указанным параметрам (people_count__lte/people_count__gte). Например, при заданных people_count__gte = 3 и event_delay = 30 событие будет зарегистрировано, только если в кадре присутствует не менее 3-х человек в течение 30 секунд.

    В запрос "put analytic" была добавлена новая ошибка с кодом 44016 и описанием "Unable to update analytic. 'people_count' analytic version is too low", которая возвращается при попытке обновления аналитики с версией ниже уже зарегистрированной в Video Manager.

  • Добавлен новый запрос "delete analytics", который позволяет удалять аналитики в соответствии с фильтром "account_id".

  • Добавлена возможность работы сервиса Video Agent во внешнем режиме.

    Внешний режим предназначен для случаев, когда необходимо запустить сервис Video Agent вне основного контура платформы — непосредственно рядом с источниками видеопотоков (камерами) с целью уменьшения задержки передачи видео и снижения вероятности потерь данных при сетевых сбоях. В этом режиме Video Agent взаимодействует только через сервис API.

    Для запуска сервиса Video Agent во внешнем режиме необходимо использовать аргумент --run-external. Также требуется авторизация через один из способов:

    • токен (рекомендуется) - переменная окружения LUNA_API_TOKEN;
    • логин/пароль - переменные LUNA_API_USER и LUNA_API_PASSWORD (при наличии токена логин/пароль игнорируются).

    Пример команды запуска:

    docker run \
      ...
      --env=LUNA_API_TOKEN="token" \ 
      --env=EXTEND_CMD=--run-external \
      --name=luna-video-agent \
      ...
    

    Примечание. Используемый токен должен быть предоставлен с минимальным набором разрешений:

    Название разрешения Описание разрешения Права
    event права на использование событий creation
    image права на использование изображений creation
    video_stream права на использование потоков creation
    video_analytic права на использование аналитик creation, view, modification
    video_agent права на использование агентов creation, deletion

    Ограничения при запуске сервиса Video Agent во внешнем режиме:

    • ресурс /videosdk недоступен;
    • сервисы API и Licenses должны быть доступны и включены.

    Поскольку Video Agent во внешнем режиме может взаимодействовать только с сервисом API, были добавлены следующие запросы:

    • "post agent streams" - позволяет получать потоки по идентификатору агента, обработку которых необходимо начать.
    • "post streams feedback" - позволяет оставить обратную связь об обработке потока.
    • "create analytic" - запрос на создание аналитики.
    • "put analytic" - запрос на обновление существующей аналитики.
    • "register agent" - позволяет зарегистировать аналитику.
    • "remove agent" - запрос на удаление агента по идентификатору.
    • "publish general event" - позволяет отправлять (публиковать) в систему события, созданные пользователем.

Самописные агенты также поддерживают данный функционал. См. руководство разработчика сервиса Video Manager для более подробной информации.

  • В спецификацию сервиса Video Manager:

    • добавлен новый запрос "get stream agent" для получения детальной информации об агенте, обрабатывающем видеопоток. Возвращаемые данные включают: идентификатор агента, статус, количество активных потоков, время создания и др.
    • в запрос "register agent" для регистрации аналитики в сервисе Video Manager добавлено поле host (IP-адрес сервера, на котором запущен агент).
  • Обновлены разрешения, задаваемые в токене:

    Название разрешения Описание разрешения Права
    video_analytic права на использование аналитик creation, view, modification, deletion
    video_agent права на использование агентов creation, deletion

    См. запросы "create token", "replace token", "get tokens", "get token".

  • Добавлена ​​поддержка альтернативного, настраиваемого пользователем подхода к шифрованию дескрипторов на уровне базы данных.

    Теперь пользователю доступна возможность автоматического шифрования/дешифрования дескрипторов в PostgreSQL с помощью триггеров, выполняющих шифрование при вставке и обновлении записей, и функции vlconvert для прозрачного дешифрования при чтении данных.

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

    См. раздел "Descriptors encryption" в руководстве разработчика для получения более подробной информации.

  • Добавлена поддержка 67-ой версии модели нейронной сети извлечения биометрических шаблонов лиц.

    Для получения информации о поддержаных моделях нейросетей для извлечения биометрических шаблонов в текущей сборке LUNA PLATFORM см. раздел Подготовка к смене версии нейронной сети.

  • Версия Python обновлена до 3.13 в контейнерах всех сервисов кроме Video Manager и Video Agent.

    Поддержка более старых версий Python прекращена (в сервисах Video Manager и Video Agent поддерживается версия Python 3.12).

  • Скрипт start_platform.sh по разворачиванию Docker Compose теперь поддерживает новый аргумент --gpu, который позволяет включить использование GPU в сервисах Video Agent и Remote SDK. Может использоваться как самостоятельно, так и в комбинации с флагами --common и --extra.

    Для получения информации о поддержаных аргументах в скрипте start_platform.sh см. раздел Запуск сервисов.

  • В клиент LUNA Python Matcher в Lambda добавлены функции для работы со сравнением по обобщенным событиям.

    См. раздел "Events client" в руководстве разработчика для более подробной информации.

Исправленные ошибки

  • Исправлена ​​ошибка, из-за которой поля даты не проверялись во время выполнения запросов на сравнение.

    Ранее при выполнении запросов "matching faces" и "human body matching" могла возникнуть ошибка типа "Internal server error" с кодом состояния 500 из-за некорректного формата даты в фильтрах (например, "202-08-11T09:11:41.674Z" вместо "2023-08-11T09:11:41.674Z").

  • Исправлено сообщение об ошибке при создании задачи garbage collecting task с таргетом event_descriptor для некорректного descriptor_type.

    Ранее сообщение могло вводить в заблуждение, поскольку указывало на неизвестный тип general. Теперь при неверном значении descriptor_type система четко указывает на допустимые варианты — face или body.

  • Уменьшен итоговый размер собираемого образа для лямбды, которая использует poetry в качестве установки зависимостей.