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

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

Fig 1. Модели в формате NCNN можно развертывать на многих платформах.
Link to this sectionОсновные функции оптимизации производительности NCNN#
Вот некоторые ключевые функции, которые делают NCNN эффективным и широко используемым фреймворком для инференса нейронных сетей:
- Легковесная, аппаратно-независимая среда выполнения: Фреймворк NCNN оптимизирован для запуска моделей на стандартных CPU и не требует специализированного оборудования, такого как GPU (графические процессоры) или NPU (нейронные процессоры).
- Квантование модели: Для приложений, где память и скорость критичны, NCNN поддерживает методы квантования, которые уменьшают размер модели и улучшают время инференса. Это помогает плавно запускать AI-модели на мобильных и встраиваемых устройствах.
- Открытый исходный код и доступность: Будучи фреймворком с открытым исходным кодом, NCNN свободно доступен для использования, изменения и улучшения любым желающим. Это стимулирует инновации и широкое внедрение в различных сценариях использования.
- Активная разработка и сообщество: NCNN активно поддерживается на GitHub компанией Tencent и растущим сообществом разработчиков, получая регулярные обновления и улучшения совместимости с моделями.
Link to this sectionЭкспорт YOLO11 в формат NCNN: краткое руководство#
Теперь, когда мы обсудили, что такое NCNN, давай подробнее рассмотрим, как экспортировать модели YOLO11 в формат NCNN.
Link to this sectionШаг 1: Установка пакета Ultralytics Python#
Перед экспортом модели первым делом необходимо установить пакет Ultralytics Python с помощью установщика пакетов pip. Это можно сделать, выполнив команду "pip install ultralytics" в терминале или командной строке. Если ты работаешь в Jupyter Notebook или Google Colab, добавь восклицательный знак перед командой, вот так: "!pip install ultralytics".
Пакет Ultralytics предоставляет инструменты для обучения, тестирования, тонкой настройки и экспорта моделей компьютерного зрения для различных задач. Если ты столкнешься с какими-либо проблемами во время установки или экспорта модели, официальная документация Ultralytics и руководство по распространенным проблемам станут отличными ресурсами для поиска решений.
Link to this sectionШаг 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. Процесс развертывания также максимально упрощен.
Например, рассмотри фрагмент кода ниже, который показывает, как загрузить экспортированную модель и запустить инференс. Инференс — это процесс использования обученной модели для предсказаний на новых, ранее не виденных данных. В этом примере модель тестируется на изображении человека, едущего на велосипеде, которое получено по общедоступной ссылке.
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".

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

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

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

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






