Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026)

Материал из 0x1.tv

Версия от 17:52, 18 февраля 2026; StasFomin (обсуждение | вклад) (Новая страница: «;{{SpeakerInfo}}: {{Speaker|Дмитрий Кривенко}} <blockquote> Рассматривается интеграция фреймворка нейросе…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Докладчик
Дмитрий Кривенко.jpg
Дмитрий Кривенко

Рассматривается интеграция фреймворка нейросеточного инференса NCNN в ОС реального времени Embox для локального запуска моделей глубокого обучения на встраиваемых устройствах. Цель — получить компактный стек «RTOS + DNN» для задач компьютерного зрения без полнофункционной ОС и без обращения к облаку.

В качестве примера используется семейство YOLO — однопроходные модели детекции объектов с хорошим соотношением точность/скорость, а в качестве бэкенда инференса — лёгкий фреймворк NCNN, рассчитанный на мобильные и embedded-платформы и поддерживающий статическую сборку.

Кратко описывается архитектура интеграции в Embox: сборка NCNN как модулей, размещение весов модели во встроенном образе файловой системы, предобработка изображений и последующая постобработка результатов. Обсуждаются ограничения подхода, связанные с размером прошивки, потреблением оперативной памяти и отсутствием аппаратных ускорителей, и показывается, что несмотря на них связка Embox + NCNN может служить основой для компактных edge-AI решений.

Видео

Презентация

Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026).pdf

Thesis

RTOS, Embox, NCNN, YOLO, детекция.

Необходимость выполнять инференс моделей компьютерного зрения непосредственно «на краю» (edge) возникает в сценариях, где Linux или облачные сервисы нежелательны: в промышленных контроллерах, автономных узлах, встраиваемых камерах. В таких системах критичны детерминированные задержки и ограничения по ресурсам, поэтому представляет интерес стек «RTOS + DNN», позволяющий запускать модели глубокого обучения поверх ОС реального времени. В качестве базовой архитектуры модели используется семейство YOLOv8[1] — однопроходные детекторы объектов с несколькими вариантами разного размера, отличающимися числом параметров и вычислительной сложностью. Младшие варианты (например, v8n) содержат порядка 3 млн параметров и требуют единицы гигафлопс на прогон, старшие — десятки миллионов параметров и сотни гигафлопс. Это позволяет выбирать компромисс между точностью и ресурсными требованиями под конкретную платформу. При подготовке соответствующих моделей в NCNN на той же основе могут быть реализованы также задачи классификации и сегментации.

Фреймворк NCNN ориентирован на мобильные и embedded-платформы: он не зависит от тяжёлых внешних библиотек, поддерживает статическую линковку и работу без полноценного Linux[2]. В Embox NCNN собирается в виде модулей и статически линкуется вместе с ядром ОС и прикладным кодом. В рамках работы подготовлена модель YOLOv8n в формате NCNN, реализовано приложение детекции, использующее системные вызовы Embox для загрузки весов и входного изображения; исходный код примера доступен в составе проекта Embox[3]. Веса и параметры модели размещаются во встроенном образе файловой системы, формируемом на этапе сборки, и в рантайме загружаются через стандартный файловый интерфейс Embox. Подсистема ввода-вывода Embox используется для получения входных изображений (на текущем этапе — файлов во встроенной корневой файловой системе образа прошивки), которые затем проходят предобработку: изменение размера до входного разрешения модели, преобразование формата пикселей и нормализацию. Полученный тензор упаковывается в ncnn::Mat, после чего выполняется инференс и постобработка (NMS, фильтрация по порогу доверия, формирование списка детекций).

Размер демонстрационной сборки для QEMU составляет порядка 26–30 Мбайт, значительную часть которых занимают веса модели YOLO. Существенный вклад в потребление оперативной памяти дают статически выделенные рабочие буферы и пулы ядра, поэтому для комфортной работы прототипа требуется объём RAM, характерный для «толстых» встраиваемых систем. Такая конфигурация реалистична для ARM-плат с внешней NAND/eMMC-памятью или SD-картой и десятками–сотнями мегабайт ОЗУ, но недостижима для классических микроконтроллеров, где флеш-память и RAM измеряются единицами мегабайт и ниже.

В текущей конфигурации стек ориентирован на встраиваемые ARM-системы без аппаратных ускорителей, но с достаточно ёмкими флеш- и RAM-ресурсами, где требуется локальная обработка данных. Полученные результаты показывают, что связка Embox + NCNN позволяет реализовать локальный DNN-инференс для задач компьютерного зрения на RTOS-платформе. В качестве дальнейшего развития планируется использование более компактных моделей (micro-варианты YOLO или специализированные малые сети), отключение неиспользуемых подсистем Embox и сокращение статических буферов и пулов, а также расширение набора демонстрационных приложений.

Литература

Интеграция фреймворка NCNN в RTOS Embox для задач детекции объектов (Дмитрий Кривенко, OSEDUCONF-2026)!.jpg

Примечания и ссылки

[1] [2] [3]

  1. 1,0 1,1 Ultralytics. YOLO Documentation. https://docs.ultralytics.com/
  2. 2,0 2,1 Tencent. NCNN Project. https://github.com/Tencent/ncnn
  3. 3,0 3,1 Embox NCNN YOLO Demo. https://github.com/embox/embox/tree/master/project/ncnn/ncnn_yolo_demo