Экспорт моделей Ultralytics YOLO11 в формат модели NCNN

Абирами Вина

5 минут чтения

18 июня 2025 г.

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

Решения на основе искусственного интеллекта становятся все более распространенными даже в таких ответственных отраслях, как ликвидация последствий стихийных бедствий, утилизация отходов и пожаротушение. По мере роста внедрения модели ИИ развертываются во все более разнообразных средах - не только на серверах или в облаке, но и непосредственно на устройствах, работающих в полевых условиях.

Например, беспилотники и оборудование с краевыми компонентами, работающее на небольших процессорах, могут сыграть решающую роль в зонах стихийных бедствий. Оснащенные тепловизионными камерами, эти устройства могут собирать и анализировать данные на месте, чтобы обнаружить людей, оказавшихся под завалами. Это стало возможным благодаря компьютерному зрению- отрасли искусственного интеллекта, которая интерпретирует визуальную информацию с изображений и видео.

Однако развертывание моделей искусственного интеллекта Vision на устройствах, расположенных на границе, не так просто, как может показаться. Модели ИИ должны быть оптимизированы для эффективной работы на оборудовании с ограниченной вычислительной мощностью и памятью. Именно поэтому такие фреймворки ИИ, как 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 оптимизирован для запуска моделей на стандартных процессорах и не требует специализированного оборудования, такого как GPU (графические процессоры) или NPU (блоки нейронной обработки).
  • Квантование модели: В приложениях, где важны память и скорость, NCNN поддерживает методы квантования, которые уменьшают размер модели и улучшают время вывода. Это помогает плавно запускать модели ИИ на мобильных и встраиваемых устройствах.
  • Открытый исходный код и доступность: Будучи фреймворком с открытым исходным кодом, NCNN свободно доступен для использования, модификации и улучшения. Это способствует инновациям и широкому внедрению в различных сферах применения.
  • Активная разработка и сообщество: NCNN активно поддерживается на GitHub компанией Tencent и растущим сообществом разработчиков, регулярно обновляясь и улучшая совместимость моделей.

Экспорт YOLO11 в формат модели NCNN: Краткое руководство

Теперь, когда мы обсудили, что такое NCNN, давайте подробнее рассмотрим, как экспортировать модели 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")  

Экспортированная модель 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. Обнаружение объектов с помощью экспортированной модели YOLO11 в формате NCNN. Изображение автора.

Почему стоит выбрать обнаружение в реальном времени с помощью NCNN

Изучая различные интеграции, поддерживаемые Ultralytics, вы можете заметить, что существует несколько вариантов экспорта. Так когда же вам следует выбрать формат NCNN?

Формат экспорта NCNN - это надежный выбор, если вам нужно развернуть модели YOLO11 на устройствах с ограниченными ресурсами. Он особенно полезен для приложений реального времени, которые работают непосредственно на устройстве, например, на пограничных устройствах, не требуя подключения к облаку. Это означает, что модель может решать такие задачи, как обнаружение объектов, прямо на месте.

Вот несколько распространенных сценариев, в которых NCNN отлично подходит:

  • Мобильное развертывание: Формат NCNN оптимизирован для Android и iOS, что позволяет легко интегрировать модели в мобильные приложения для быстрого вывода данных на устройстве с минимальной задержкой.
  • Встраиваемые системы и устройства IoT: Если вы используете такие устройства, как Raspberry Pi или NVIDIA Jetson, экспорт в NCNN поможет повысить производительность и отзывчивость.
  • Развертывание на настольных компьютерах и серверах: Хотя NCNN отлично подходит для маломощных устройств, он также поддерживает Linux, Windows и macOS для настольных и серверных сред. Это дает разработчикам гибкие возможности для развертывания.
Рис. 3. Варианты развертывания модели YOLO11 с помощью NCNN. Изображение автора.

Примеры использования развертывания модели YOLO11 с помощью NCNN

Далее мы рассмотрим несколько практических примеров, в которых экспорт моделей YOLO11 в NCNN может принести реальную пользу.

Шлемы с искусственным интеллектом для пожарных

Защитные шлемы, оснащенные камерами и встроенными микрокомпьютерами, могут использоваться в таких областях, как строительство и пожаротушение, для повышения безопасности и осведомленности. Модели искусственного интеллекта в реальном времени, такие как YOLO11, могут быть запущены на этих устройствах для обнаружения различных типов объектов и оборудования. Например, такие шлемы могут помочь пожарным обнаружить людей, препятствия или опасности в условиях плохой видимости.

Однако запуск полноразмерных моделей непосредственно на носимых устройствах может привести к снижению производительности и быстрому разряду батареи. В этом случае использование интеграции NCNN - разумный выбор. Она позволяет делать выводы с низкой задержкой и энергоэффективностью. 

Классификация отходов и "умные" контейнеры

Аналогичным образом, "умные" мусорные контейнеры могут быть оснащены камерами и компактными процессорами искусственного интеллекта для идентификации и сортировки материалов по мере их выбрасывания. Модели искусственного интеллекта, такие как YOLO11, могут быть настроены на обнаружение различных типов отходов, таких как бумага, пластик, резина и т. д.

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

Рис. 4. Обнаружение пластиковых отходов с помощью YOLO11.

Мониторинг крупного рогатого скота с помощью беспилотников и компьютерного зрения

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

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

Рис. 5. Использование YOLO11 для наблюдения за домашним скотом.

Основные выводы

Экспорт моделей YOLO11 с помощью интеграции NCNN, поддерживаемой Ultralytics, - это простой способ внедрения Vision AI в маломощные среды. Будь то беспилотники в зонах стихийных бедствий, умные контейнеры для сортировки мусора или мониторинг скота на удаленных фермах, YOLO и NCNN обеспечивают быстрые, эффективные и портативные выводы ИИ в реальном времени. Такой подход помогает сделать системы ИИ более доступными и надежными, когда это наиболее важно.

Хотите узнать больше об искусственном интеллекте? Изучите наш репозиторий GitHub, общайтесь с нашим сообществом и ознакомьтесь с нашими вариантами лицензирования, чтобы начать свой проект по компьютерному зрению. Узнайте, как такие инновации, как ИИ в розничной торговле и компьютерное зрение в здравоохранении, формируют будущее на страницах наших решений.

Давайте вместе построим будущее
искусственного интеллекта!

Начните свое путешествие в будущее машинного обучения

Начните бесплатно
Ссылка копируется в буфер обмена
OSZAR »