Savant 0.2.4 поставляется с улучшениями функциональности, расширенными вариантами использования и многим другим.

Ученый

каркас Савант

Несколько недель назад мы делимся здесь в блоге немного информации о Savant — фреймворк для анализа видео. это упрощает использование NVIDIA DeepStream для решения задач машинного обучения. Причина разговора об этом в том, что в последнее время объявила о выходе новой версии «Savant 0.2.4“, в котором были интегрированы новые функции и расширены варианты использования этой замечательной платформы.

Для тех, кто не знаком с фреймворком, вы должны знать, что это берет на себя всю работу с GStreamer или FFmpeg, что позволяет сосредоточиться на создании оптимизированных конвейеров вывода с использованием декларативного (YAML) синтаксиса и функций Python.




Ученый скрывает все внутренности Gstreamer от разработчика и предоставляет практические инструменты для реализации приложений потокового ИИ в реальной жизни. Использует стандартную модель Nvidia PeopleNet. обнаруживать людей и их лица и особенно в местах, где действуют правила конфиденциальности, структура позволяет отслеживать и размывать лица.



Что нового в Савант 0.2.4?

Как мы упоминали в начале, этот новый релиз поставляется с новыми функциями, которые расширили варианты использования рамок и о которых упоминается, что, например, сейчас Savant может использоваться для предсказания возраста/пола, демонстрация использования YoloV5-Face, работа с настраиваемой моделью атрибутов, которая предсказывает возраст и пол, а также преобразования с поддержкой графического процессора на основе черт лица с использованием OpenCV-CUDA и Python.

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



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

Что касается добавленных новых функций, то он выделяется условный рендеринг и кодирование для снижения трафика и эффективного использования ресурсов CPU/GPU, а также новый исходный адаптер RTSP на основе FFmpeg который работает намного лучше, чем GStreamer, когда потоки включают B-кадры и новый универсальный адаптер на основе FFmpeg, который может работать со всеми входными данными, совместимыми с FFmpeg.

В дополнение к этому подчеркивается, что выявлена ​​ошибка в реализации функционала NVENC на устройствах Jetson:NVENC, некорректно стримящих закодированные кадры, если фактическая частота кадров в потоке не равна настроенной, что часто происходит при работе с RTSP-потоками или при отбрасывании кадров из-за определенных условий. В Savant проблема решается обходным путем путем переупорядочения кадров при необходимости. Ошибка появляется в DeepStream 6.2, о ней было сообщено NVIDIA, которая признала ошибку и исправит ее в следующем выпуске DeepStream.



Из другие изменения, которые выделяются этой новой версии:

  • Во время разработки была введена практика отслеживания возможных регрессий производительности путем слияния каждого тикета.
  • Миграция внутренних компонентов Savant с Python на Rust продолжается: библиотека основных функций Savant-rs реализована с тщательно протестированным кодом.
  • Компоненты на основе Python постепенно заменяются компонентами на основе Rust, чтобы гарантировать, что Savant по возможности работает без глобальной блокировки (GIL) и что код имеет высокое качество.
  • Документированные адаптеры для работы с данными.

    Добавлены примеры использования предварительной обработки изображений.

    Создан раздел о том, как настроить среду разработки в VS Code.


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

Если вы хотите узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.




2023-07-24T15:01:15
приложений