v.5.98.0#
Изменения
-
Добавлена поддержка автоматического определения ориентации видео.
Добавлено поле
orientation_strategy
, которое определяет источник данных для коррекции поворота видео:static
– ручная настройка угла (установлено по умолчанию). Пользователь может, как раньше, задать угол поворота видео на 90, 180 и 270 градусов перед его обработкой: в полеangle
(для видеофайла) и вrotation
(для потока).videoinfo
– угол поворота определяется по метаданным видеофайла или потока.
Расположение
orientation_strategy
:- для ресурса "/videosdk" в секции
orientation
; - для операций с потоками ("create stream"/"put stream") в секции
data
.
Примечание. Если в видеофайле встречаются кадры с разными углами поворота, то система использует метаданные последнего кадра.
-
Версия аналитики
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
в качестве установки зависимостей.