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

v.5.103.0#

Изменения

  • Добавлена валидация длины дескрипторов при создании обобщённых событий "create new general events".

    Теперь при создании обобщенного события вместе с дескриптором, в БД происходит поиск последнего сохраненного дескриптора с таким же типом и версией, как у переданного в запросе:

    • если найден, сравнивается его длина с длиной переданного дескриптора. При совпадении - успешно создается событие, в противном случае возвращается ответ с кодом состояния 409 и ошибкой 12034 "Descriptor has incorrect length";
    • если не найден, переданный дескриптор становится эталоном для последующих проверок.

    Например, если в БД ранее был сохранен дескриптор с "type_1", "version_1" и "lenght_1" и при попытке создать событие с дексриптором, у которого параметры:

    • "type_1", "version_2", "lenght_1" - событие будет создано (разные версии);
    • "type_2", "version_1", "lenght_1" - событие будет создано (разные типы);
    • "type_1", "version_1", "lenght_2" - событие не будет создано (та же пара тип+версия, но разная длина) и вернется ошибка с кодом состояния 409.

    Примечание. Проверка выполняется только при создании обобщенного события вместе с новым дескриптором. Если дескриптор уже существует в БД или не передаётся в запросе - валидация не применяется.

  • Добавлена ​​поддержка шифрования дескрипторов для обобщенных событий.

    См. раздел "Descriptors encryption" в руководстве разработчика.

  • Добавлена новая настройка LUNA_API_CORS, управляющая списком заголовков, разрешённых к чтению через Access-Control-Expose-Headers в соответствии с CORS.

    По умолчанию разрешены: X-Luna-Meta-Rescale — параметры масштабирования изображений, и X-Luna-Expiry-Date — срок хранения данных.

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

  • Добавлен новый тип лямбды agent.

    Тип Agent-lambda предназначен для создания агентов с пользовательскими видеоаналитиками. Таким образом, это даёт возможность использовать не только стандартные аналитики (отслеживание людей и подсчет количества людей), но и собственные алгоритмы для видеоанализа, написанные на основе различных моделей нейронных сетей.

    Agent-Lambda не может обрабатывать любые пользовательские запросы напрямую и функционирует исключительно в сочетании с сервисом Video Manager, который является обязательным компонентом для его работы. Также во время своей работы может взаимодействовать со следующими сервисами LUNA PLATFORM:

    • Faces
    • Sender
    • Events
    • Image Store

    Примечание. Агенты могут быть внутренними (агенты, взаимодействующие напрямую с сервисами платформы) и внешними (агенты, взаимодействующие только через API и запущенные вне основного контура платформы, см. "внешний режим работы агента"). Agent-lambda на данный момент работает как внутренний агент.

    Для создания лямбды с типом agent нужно предварительно перенести базовый образ dockerhub.visionlabs.ru/luna/lpa-lambda-agent-base:<lambda_version> в свой регистри по аналогии с другими типами лямбд.

    См. подробную информацию и примеры кода для Agent-lambda, в разделе "Agent lambda development" руководства разработчика сервиса Lambda.

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

  • Исправлена ​​проблема, связанная с эстиматором Deepfake, у которого по умолчанию был включен упрощенный режим работы при отправке запросов к ресурсу /sdk. Теперь данный эстиматор по умолчанию использует режим работы 2 (с предварительной проверкой изображения), что соответствует документации.

    Для подробной информации о режимах работы эстиматора см. раздел "Deepfake".

  • Исправлено некорректное поведение при котором завершенным потокам (со статусами done/failure), ошибочно присваивался статус pending после остановки агента, обрабатывающего эти потоки. Теперь система сохраняет исходный статус завершенных потоков.

  • Исправлено поведение, которое приводило к появлению ошибки с кодом состояния 500 при выполнении запроса "create stream", когда функция лицензии analytics streams limit была отключена.

  • Аналитика отслеживания людей human_tracking теперь может корректно работать, если агент был запущен во "внешнем режиме".

    Ранее попытка запустить работу аналитики приводила к ошибке вида "Connect call failed".

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

  • Исправлена ​​ошибка, из-за которой различались ответы в зависимости от типа содержимого (application/msgpack или application/json), при отправке запросов на сравнение ("matching faces", "human body matching", "general events matching").

    Ранее при отправке одного и того же запроса с некорректными полями возвращались разные ошибки:

    • для application/json — ошибка с кодом 12022 и детализированным описанием проблемного поля.
    • для application/msgpack — ошибка с кодом 12047 и общее сообщение без конкретики.

    Теперь в этом случае для обоих типов содержимого возвращается единый код ошибки и одинаково детализированное сообщение (как было для application/json).