Экспорт моделей Ultralytics YOLO11 в формат моделей NCNN
Экспортируй модели Ultralytics YOLO11 в формат моделей NCNN, чтобы запускать эффективный инференс ИИ с низкой задержкой на периферийных устройствах с ограниченными ресурсами питания и вычислений.

Решения на основе ИИ становятся всё более распространёнными, в том числе в критически важных секторах, таких как управление чрезвычайными ситуациями, управление отходами и пожаротушение. По мере дальнейшего распространения ИИ-модели разворачиваются в самых разных средах — не только на серверах или в облаке, но и непосредственно на устройствах, работающих в полевых условиях.
Например, дроны и оборудование с периферийными компонентами на базе маломощных процессоров могут играть ключевую роль в зонах бедствий. Оснащённые тепловизионными камерами, эти устройства могут собирать и анализировать данные на месте, чтобы обнаруживать людей, оказавшихся под завалами. Это стало возможным благодаря компьютерному зрению — области искусственного интеллекта, которая интерпретирует визуальную информацию на изображениях и видео.
Однако развёртывание моделей ИИ для компьютерного зрения на периферийных устройствах не так просто, как может показаться. Модели ИИ необходимо оптимизировать для эффективной работы на оборудовании с ограниченными вычислительными ресурсами и памятью. Поэтому такие фреймворки ИИ, как NCNN, имеют большое значение. Они помогают преобразовывать и оптимизировать модели для работы в реальном времени на маломощных устройствах без потери точности.
В частности, модели Ultralytics YOLO, такие как Ultralytics YOLO11, можно легко экспортировать в формат моделей NCNN с помощью интеграции NCNN, поддерживаемой Ultralytics. Преобразование YOLO11 в формат моделей NCNN позволяет модели работать быстрее, использовать меньше памяти и стабильно работать на разных устройствах без потери точности.
В этой статье мы рассмотрим интеграцию NCNN, поддерживаемую Ultralytics, и пошагово разберём, как экспортировать твою модель YOLO11 в формат моделей NCNN. Начнём!
Обзор NCNN: лёгкий фреймворк нейронных сетей#
NCNN — это разрабатываемый Tencent фреймворк с открытым исходным кодом для инференса нейронных сетей. Он специально создан для мобильных и периферийных сред и обеспечивает высокопроизводительный инференс при минимальном объёме ресурсов. Благодаря этому он идеально подходит для развёртывания на устройствах с ограниченными ресурсами, таких как смартфоны, дроны и устройства IoT (интернет вещей).
Фреймворк NCNN завоевал популярность в сообществе ИИ и глубокого обучения благодаря эффективности, переносимости и оптимизации для мобильных CPU (центральных процессоров). Он позволяет разработчикам запускать модели нейронных сетей на доступных устройствах с ограниченными объёмом памяти и вычислительной мощностью. NCNN разработан как простой и гибкий фреймворк, поддерживает широкий спектр моделей компьютерного зрения и работает на разных платформах, включая Android, Linux, iOS и macOS.

Рис. 1. Модели в формате NCNN можно разворачивать на разных платформах.
Ключевые особенности оптимизации производительности NCNN#
Вот некоторые ключевые особенности, благодаря которым NCNN стал эффективным и широко используемым фреймворком для инференса нейронных сетей:
- Лёгкая среда выполнения, независимая от оборудования: фреймворк NCNN оптимизирован для запуска моделей на стандартных CPU и не требует специализированного оборудования, такого как GPU (графические процессоры) или NPU (нейронные процессоры).
- Квантизация моделей: для приложений, где критически важны объём памяти и скорость, NCNN поддерживает методы квантизации, которые уменьшают размер модели и сокращают время инференса. Это помогает плавно запускать модели ИИ на мобильных и встраиваемых устройствах.
- Открытый исходный код и доступность: NCNN распространяется как фреймворк с открытым исходным кодом, поэтому любой может свободно использовать, изменять и улучшать его. Это способствует инновациям и широкому внедрению в самых разных сценариях использования.
- Активная разработка и сообщество: Tencent и растущее сообщество разработчиков активно поддерживают NCNN на GitHub, регулярно выпуская обновления и улучшая совместимость с моделями.
Экспорт Ultralytics YOLO11 в формат моделей NCNN: краткое руководство#
Теперь, когда мы разобрались, что такое NCNN, давай подробнее рассмотрим, как экспортировать модели Ultralytics YOLO11 в формат NCNN.
Шаг 1: установи пакет Ultralytics для Python#
Перед экспортом модели сначала установи пакет Ultralytics для Python с помощью установщика пакетов pip. Для этого выполни в терминале или командной строке команду "pip install ultralytics". Если ты работаешь в Jupyter Notebook или Google Colab, добавь перед командой восклицательный знак, например: "!pip install ultralytics".
Пакет Ultralytics предоставляет инструменты для обучения, тестирования, дообучения и экспорта моделей ИИ для компьютерного зрения в различных задачах компьютерного зрения. Если во время установки или экспорта модели возникнут проблемы, официальная документация Ultralytics и руководство по распространённым проблемам помогут найти решение.
Шаг 2: экспортируй Ultralytics YOLO11#
После установки пакета Ultralytics ты можешь загрузить свою модель YOLO11 и экспортировать её в формат NCNN. В приведённом ниже примере используется предварительно обученная модель ("yolo11n.pt"), которая экспортируется в формате NCNN, а результат сохраняется в папке с именем "/yolo11n_ncnn_model".
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")Затем экспортированную модель Ultralytics YOLO11 можно развернуть на различных лёгких устройствах, таких как смартфоны, встраиваемые системы или платформы IoT. Процесс развёртывания также значительно упрощается.
Например, рассмотрим приведённый ниже фрагмент кода, который показывает, как загрузить экспортированную модель и выполнить инференс. Инференс — это процесс использования обученной модели для построения прогнозов на новых, ранее не виденных данных. В этом примере модель тестируется на изображении человека, едущего на велосипеде, полученном по общедоступному URL.
ncnn_model = YOLO("./yolo11n_ncnn_model")
results = ncnn_model("https://images.pexels.com/photos/19431209/pexels-photo-19431209/free-photo-of-a-man-riding-a-bike-on-a-road.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)После выполнения кода ты найдёшь выходное изображение в папке "runs/detect/predict".

Рис. 2. Обнаружение объектов с помощью экспортированной модели Ultralytics YOLO11 в формате NCNN. Изображение предоставлено автором.
Зачем выбирать обнаружение в реальном времени с NCNN#
Изучая различные интеграции, которые поддерживает Ultralytics, ты можешь заметить, что доступно несколько вариантов экспорта. В каких случаях стоит выбрать формат NCNN?
Формат экспорта NCNN — надёжный выбор, когда нужно развернуть модели Ultralytics YOLO11 на устройствах с ограниченными ресурсами. Он особенно полезен для приложений реального времени, которые работают непосредственно на устройстве, например на периферийных устройствах, без подключения к облаку. Это означает, что модель может выполнять такие задачи, как обнаружение объектов, прямо на месте.
Вот несколько распространённых сценариев, для которых NCNN отлично подходит:
-
Развёртывание на мобильных устройствах: формат NCNN оптимизирован для Android и iOS, поэтому модели легко интегрировать в мобильные приложения для быстрого инференса на устройстве с минимальной задержкой.
-
Встраиваемые системы и устройства IoT: если ты разворачиваешь модель на таких устройствах, как Raspberry Pi или NVIDIA Jetson, экспорт в NCNN может повысить производительность и отзывчивость.
-
Развёртывание на настольных компьютерах и серверах: хотя NCNN отлично подходит для маломощных устройств, он также поддерживает Linux, Windows и macOS в настольных и серверных средах. Это даёт разработчикам гибкие варианты развёртывания.

Рис. 3. Варианты развёртывания модели Ultralytics YOLO11 с NCNN. Изображение предоставлено автором.
Сценарии использования развёртывания модели Ultralytics YOLO11 с NCNN#
Далее рассмотрим несколько практических сценариев использования, в которых экспорт моделей Ultralytics YOLO11 в NCNN может существенно изменить ситуацию.
Шлемы с компьютерным зрением для пожаротушения#
Защитные шлемы с камерами и встроенными микрокомпьютерами можно использовать в таких сферах, как строительство и пожаротушение, чтобы повысить безопасность и осведомлённость о ситуации. Модели компьютерного зрения для работы в реальном времени, такие как Ultralytics YOLO11, можно запускать на этих устройствах для обнаружения различных типов объектов и оборудования. Например, такие шлемы могут помогать пожарным обнаруживать людей, препятствия или опасности в условиях плохой видимости.
Однако запуск полноразмерных моделей непосредственно на носимых устройствах может привести к низкой производительности и быстро разрядить аккумулятор. В этом случае разумным выбором будет интеграция NCNN. Она обеспечивает инференс с малой задержкой и высокой энергоэффективностью.
Классификация отходов и умные мусорные контейнеры#
Аналогичным образом, умные мусорные контейнеры можно оснастить камерами и компактными периферийными AI-процессорами, чтобы распознавать и сортировать материалы по мере их выбрасывания. Модели компьютерного зрения, такие как YOLO11, можно дообучить для обнаружения разных видов отходов, например бумаги, пластика, резины и т. д.
После распознавания отходы можно автоматически сортировать по отдельным отсекам в зависимости от возможности их повторного использования. Благодаря периферийному ИИ и экспортированным моделям Ultralytics YOLO11 в формате NCNN такие контейнеры могут обрабатывать данные локально — без подключения к интернету. Это позволяет им работать автономно и принимать решения о сортировке в реальном времени с минимальной задержкой.

Рис. 4. Обнаружение пластиковых отходов с помощью YOLO11.
Мониторинг крупного рогатого скота с помощью дронов и компьютерного зрения#
Иногда сельскохозяйственные районы в удалённых местах не имеют стабильного интернет-соединения или даже постоянного электроснабжения, что ограничивает их возможности по запуску приложений ИИ онлайн. В таких случаях для выполнения различных задач можно использовать периферийные устройства и дроны.
Хороший пример — мониторинг сельскохозяйственных животных, таких как крупный рогатый скот, овцы и птица. Это можно делать с помощью моделей компьютерного зрения, таких как YOLO11, которые позволяют отслеживать движения животных, обнаруживать признаки травм, болезней или аномального поведения и предупреждать фермеров о пропаже животных. Интеграция NCNN также позволяет запускать модели и обрабатывать эти данные непосредственно на периферийных устройствах, что делает её отличным решением для анализа изображений и видео на фермах в удалённых районах или местах без доступа к электросети.

Рис. 5. Пример использования YOLO11 для мониторинга сельскохозяйственных животных.
Основные выводы#
Экспорт моделей YOLO11 с помощью интеграции NCNN, поддерживаемой Ultralytics, — это простой способ внедрить компьютерное зрение на базе ИИ в средах с ограниченным энергопотреблением. Будь то дроны в зонах бедствий, умные контейнеры для сортировки отходов или мониторинг сельскохозяйственных животных на удалённых фермах, YOLO и NCNN обеспечивают быстрый, эффективный и переносимый инференс ИИ в реальном времени. Такой подход помогает сделать системы ИИ более доступными и надёжными в ситуациях, когда это особенно важно.
Хочешь узнать больше об ИИ? Изучи наш репозиторий на GitHub, присоединяйся к нашему сообществу и ознакомься с нашими вариантами лицензирования, чтобы начать свой проект в области компьютерного зрения. Узнай, как такие инновации, как ИИ в розничной торговле и компьютерное зрение в здравоохранении, формируют будущее, на наших страницах с решениями.









