В России создана замена плагину Nvidia для обработки видео нейросетями
Частичная замена DeepStream
Как стало известно CNews, российская ИТ-компания «Криптонит» (входит в «ИКС Холдинг») разработала программное обеспечение для обработки видеоданных при помощи нейросетей на отечественном оборудовании.
ПО выполнено в виде плагина (подключаемого модуля) для популярного свободного фреймворка (инструментария) GStreamer. Плагин, получивший название nminfer, может рассматриваться в качестве российской альтернативы плагинам инференса (использование по назначению предварительно обученной модели машинного обучения) нейросетевых моделей пакета DeepStream корпорации Nvidia, заявляют в «Крипотните».
Плагин позволяет выполнять обработку видеоданных нейросетями на отечественных ускорителях вычислений производства НТЦ «Модуль», в частности NM Card – аналог Nvidia Jetson Nano. По словам представителя «Криптонита», плагин «заточен» на работу со спецвычислителями российской компании. Nminfer выполняет подготовку и конвертацию как нейросетевых моделей, так и самих потоковых данных в формат, поддерживаемый NM Сard.
За созданием nminfer стоит инженер-программист «Криптонита» Антон Подлегаев. В настоящее время все права на плагин принадлежат компании, публикация исходного кода разработки не планируется, рассказали CNews в «Криптоните».
«Развитие nminfer как аналога плагинов инференса в DeepStream упростит дальнейшие разработки приложений нейросетевой обработки потоковых мультимедийных данных, так как сохранит преемственность с этим популярным инструментом, а также внесет вклад в обеспечение технологической независимости и безопасности России», – считает Подлегаев.
Что такое DeepStream и GStreamer
DeepStream – набор инструментов потоковой аналитики для обработки мультисенсорных данных, видео и аудио с использованием нейросетей, разработанный компанией Nvidia. DeepStream, в частности, базируется на наработках проекта GStreamer.
GStreamer – кроссплатформенный фреймворк для разработки приложений, работающих с потоками мультимедиа-данных. Исходный код фреймворка является открытым и распространяется на условиях свободной лицензии LGPL, которая допускает его использование в «закрытых» проектах без обязательного предоставления доступа к коду собственных проприетарных компонентов.
GStreamer имеет модульную архитектуру. В нем работа с видео- и/или аудиопотоком организована в соответствии с принципом конвейера: набор плагинов (подключаемых модулей) последовательно обрабатывает информацию, передавая результат по цепочке. Плагины могут выполнять, к примеру, функции демультиплексора (извлечение данных из медиаконтейнера), декодера (декодирование аудио- или видеосигнала), фильтра (обработка сигнала).
Наиболее очевидный, но далеко не единственный сценарий применения GStreamer – создание универсального медиаплеера, каковым, к примеру, является Totem, входящий в состав графического окружения GNOME, популярного среди пользователей GNU/Linux.
GStreamer также поддерживает популярную библиотеку компьютерного зрения, обработки изображений и численных алгоритмов OpenCV. Развитие проекта с открытым кодом (публикуется под лицензией Apache License 2.0) курирует корпорация Intel.
Сценарии применения nminfer
«Сценарии применения [плагина nminfer] исходят напрямую из задач детекции и классификации потока данных. Это анализ в реальном времени или анализ, не требующий высокой скорости обработки данных», – заявил представитель «Криптонита» в разговоре с CNews.
На практике связка из nminfer, GStreamer и NM Card может применяться для автоматического распознавания лиц, номеров автомобильного транспорта и различных объектов в видеопотоке, а также выполнять другие задачи обработки видео с использованием алгоритмов искусственного интеллекта.
Ускорители НТЦ «Модуль»
Ускоритель NM Card НТЦ «Модуль» изготавливается на основе российской микросхемы К1879ВМ8Я. Она представляют собой процессор цифровой обработки сигналов, который содержит 16 тензорных ядер NeuroMatrixCore (NMC4) с тактовой частотой до 1024 МГц. Помимо них, чип содержит пять ядер ARM Cortex-A5.
NM Card оснащается 5 ГБ памяти DDR3L, интерфейсом Ethernet 100 Мбит/с и четырьмя коммутационными портами с суммарной пропускной способностью до 16 ГБ/с для построения многопроцессорных систем.
Ускоритель поддерживает программный комплекс (C++ API) Neuromatrix Deep Learning (NMDL), предназначенный для запуска заранее обученных глубоких сверточных нейросетей (Deep CNN). Такие нейросети широко применяются в системах компьютерного зрения и видеоаналитики, включая разработанную в «Криптоните» платформу «Чароит».
NM Card, производство которого началось не позднее 2020 г., поставляется в виде модуля, предназначенного для установку в разъем PCIe материнской платы компьютера.
По производительности ближайший аналог NM Card – ускоритель Nvidia Jetson Nano, отмечают в «Криптоните». Устройство американской компании было представлено весной 2019 г. В его основе – четырехъядерный процессор общего назначения (ARM A57 1,43 ГГц), графический ускоритель (128 ядер Maxwell и 4 ГБ памяти LPDDR4. Производителем Jetson Nano позиционируется в первую очередь как платформа для создания мобильных роботов, беспилотных летательных аппаратов (БПЛА) с развитой поддержкой искусственного интеллекта.
При запуске модели Yolo_v3_tiny_coco, предварительно обученной на наборе данных Common Objects для распознавания 80 типов объектов в реальном времени, ускоритель NM Card демонстрирует скорость обработки 24 кадров/с, в то время как у Nvidia Jetson Nano она составляет 25 кадров/с. Размерность ввода у обоих ускорителей в тесте была одинаковой: 416x416x3, отмечают в «Криптоните».
Помимо NM Card, НТЦ «Модуль» с 2023 г. выпускает «продвинутую» версию NM Quad, построенную на тех же микросхемах К1879ВМ8Я. В «Криптоните» утверждают, что mninfer поддерживает NM Quad наравне с NM Card.