Встречай YOLO26: ИИ компьютерного зрения нового поколения.
Ultralytics
Интеграции

Использование интеграции ONNX для экспорта моделей Ultralytics YOLO

Узнай, как экспортировать модели Ultralytics YOLO, например Ultralytics YOLO11, используя интеграцию ONNX для кроссплатформенного развертывания на различном оборудовании.

АБАбирами Вина
4 min read
ONNX позволяет модели, обученной в одном фреймворке, работать в другом

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

Сегодня модели ИИ работают на чем угодно: от облачных серверов и настольных компьютеров до смартфонов и периферийных устройств. Этот сдвиг способствует ускорению обработки, поддержке офлайн-функций и созданию более «умных» систем, которые работают ближе к источнику генерации данных.

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

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

Вот почему возможность экспорта моделей компьютерного зрения, таких как Ultralytics YOLO11, в различные форматы — это ключевой момент. Например, интеграция ONNX (Open Neural Network Exchange), поддерживаемая Ultralytics, предоставляет практичный способ преодолеть разрыв между обучением и развертыванием. ONNX — это открытый формат, который делает модели независимыми от фреймворка и готовыми к развертыванию на различных платформах.

ONNX, позволяющий запускать модель, обученную в одном фреймворке, в другом

Рис. 1. ONNX помогает легко переносить модель, обученную в одном фреймворке, для работы в другом.

В этой статье мы подробнее рассмотрим интеграцию ONNX, поддерживаемую Ultralytics, и разберемся, как экспортировать твою модель YOLO11 для гибкого кроссплатформенного развертывания.

Link to this sectionЧто такое ONNX и ONNX Runtime?#

Open Neural Network Exchange — это проект с открытым исходным кодом, определяющий стандартный формат для моделей машинного обучения. Изначально разработанный Microsoft и Facebook, он позволяет разработчикам обучать модель в одном фреймворке, например PyTorch, и запускать её в другом, таком как TensorFlow. Это делает разработку ИИ более гибкой, совместной и доступной, особенно в таких областях, как компьютерное зрение.

ONNX предоставляет общий набор операторов и унифицированный формат файлов, упрощая перенос моделей между различными инструментами, фреймворками, средами выполнения и компиляторами. Обычно модель, обученная в одном фреймворке, плохо совместима с другим, но с помощью ONNX ты можешь экспортировать модель один раз и развернуть её практически где угодно: на CPU (центральных процессорах), GPU (графических процессорах), мобильных устройствах или периферийном оборудовании.

Кроме того, ONNX Runtime — это высокопроизводительный движок для инференса, разработанный специально для запуска моделей в формате ONNX. Он создан для того, чтобы модели ONNX работали быстрее и эффективнее на широком спектре платформ, включая серверы, мобильные устройства и периферийное оборудование. ONNX Runtime совместим с популярными фреймворками, такими как PyTorch, TensorFlow, TensorFlow Lite и scikit-learn, что облегчает интеграцию в различные рабочие процессы и развертывание моделей там, где это необходимо.

ONNX и ONNX Runtime, обеспечивающие кроссплатформенное развертывание моделей

Рис. 2. ONNX и ONNX Runtime обеспечивают гибкое кроссплатформенное развертывание моделей.

Link to this sectionКлючевые особенности ONNX#

Прежде чем мы обсудим, как экспортировать YOLO11 в формат ONNX, давай ознакомимся с некоторыми ключевыми особенностями формата моделей ONNX.

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

  • Один стандартный формат: ONNX использует общий способ описания того, как строятся модели, включая слои и операции (представь их как строительные блоки). Когда модель конвертируется в ONNX, она следует этому стандарту, поэтому любая система, поддерживающая ONNX, может её понять и запустить.

  • Обратная совместимость: Даже по мере развития ONNX гарантирует, что старые модели будут работать с новыми версиями. Это значит, что тебе не придется переобучать или перестраивать свои модели при каждом обновлении ONNX.

  • Графовый дизайн моделей: Модели ONNX структурированы как вычислительные графы, где каждый узел представляет собой операцию (например, слой или математическую функцию), а связи указывают на поток данных. Такой графовый дизайн облегчает интеграцию с различными системами, использующими схожие структуры вычислительных графов.

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

Link to this sectionОбзор интеграции ONNX#

Экспорт моделей Ultralytics YOLO, таких как Ultralytics YOLO11, в формате ONNX прост и выполняется в несколько шагов.

Для начала установи Python-пакет Ultralytics, используя менеджер пакетов, например pip. Чтобы приступить, выполни команду «pip install ultralytics» в командной строке или терминале.

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

После установки пакета Ultralytics ты можешь загрузить и экспортировать модель YOLO11 в формат ONNX, используя приведенный ниже код. Этот пример загружает предобученную модель YOLO11 (yolo11n.pt) и экспортирует её как файл ONNX (yolo11n.onnx), делая её готовой к развертыванию на различных платформах и устройствах.

После конвертации модели в формат ONNX ты можешь развернуть её на множестве различных платформ.

В примере ниже показано, как загрузить экспортированную модель YOLO11 (yolo11n.onnx) и запустить с ней инференс. Инференс — это просто использование обученной модели для получения предсказаний на новых данных. В данном случае мы используем URL изображения автобуса для тестирования модели.

Когда ты запустишь этот код, полученное выходное изображение будет сохранено в папке runs/detect/predict.

Запуск инференса с использованием экспортированной модели YOLO11 на изображении

Рис. 3. Запуск инференса с использованием экспортированной модели YOLO11 на изображении.

Link to this sectionКогда стоит выбрать интеграцию ONNX?#

Python-пакет Ultralytics поддерживает экспорт моделей в несколько форматов, включая TorchScript, CoreML, TensorRT и ONNX. Так почему же стоит выбрать именно ONNX?

Что выделяет ONNX, так это то, что это формат, независимый от фреймворка. В то время как многие другие форматы экспорта привязаны к конкретным инструментам или средам, ONNX использует стандартизированный формат и общий набор операторов. Это делает его крайне портативным, дружелюбным к аппаратному обеспечению и идеальным для кроссплатформенного развертывания — работаешь ли ты с облачными серверами, мобильными приложениями или периферийными устройствами.

Вот несколько причин, почему интеграция ONNX может стать идеальным выбором для твоих проектов на YOLO11:

  • Портативное развертывание: После экспорта в ONNX твоя модель YOLO11 может быть развернута на различных платформах без изменения кода или переобучения.

  • Отраслевая поддержка: ONNX поддерживается крупнейшими ИИ-компаниями и фреймворками, что делает его надежным и широко признанным форматом. Это обеспечивает долгосрочную совместимость, подобно тому, как PDF работает на разных устройствах.

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

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

Link to this sectionПрименение YOLO11 и формата моделей ONNX#

Далее давай рассмотрим некоторые реальные приложения, где YOLO11 может быть развернута с помощью интеграции ONNX.

Link to this sectionОтслеживание складских запасов с помощью YOLO11#

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

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

Пример использования YOLO11 для обнаружения и подсчета посылок

Рис. 4. Пример использования YOLO11 для обнаружения и подсчета упаковок.

Link to this sectionУтилизация медицинских отходов с помощью YOLO11#

Больницы по всему миру ежедневно создают огромное количество отходов: от использованных перчаток и шприцев до оборудования, применявшегося во время операций (например, одноразовые или загрязненные хирургические инструменты, такие как ножницы и скальпели). Исследования показывают, что больницы ежегодно производят около 5 миллионов тонн отходов, что составляет 29 фунтов отходов на одну койку в день.

Правильная сортировка таких отходов необходима для гигиены, безопасности и соблюдения норм. С моделями YOLO11, экспортированными в формат ONNX, больницы могут автоматизировать и контролировать утилизацию отходов в реальном времени.

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

Использование YOLO11 для обнаружения медицинских инструментов

Рис. 5. Использование YOLO11 для обнаружения медицинских инструментов.

Link to this sectionМониторинг сельскохозяйственных культур с помощью YOLO11#

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

Сегодня, благодаря инновациям в компьютерном зрении, таким как YOLO11, экспортированным в формат ONNX, фермеры могут внедрить автоматизацию и точность в свою работу. Используя дроны или камеры, установленные на тракторах или столбах, фермеры могут получать изображения своих культур (например, томатов, яблок или пшеницы). Затем YOLO11 может использоваться для обнаружения ключевых показателей, таких как цвет, размер и распределение культур. На основе этой информации фермеры могут определить, готовы ли культуры к сбору, продолжают ли они созревать или уже перезрели.

YOLO11 обнаруживает сельскохозяйственные культуры на кадрах с дрона

Рис. 6. YOLO11 может использоваться для обнаружения сельскохозяйственных культур на аэросъемке с дрона.

Link to this sectionОграничения ONNX, которые стоит учитывать#

Хотя ONNX предлагает многочисленные преимущества, такие как портативность, кроссплатформенная совместимость и возможность взаимодействия между фреймворками, есть несколько ограничений, о которых стоит помнить:

  • Размер модели: Конвертация моделей в формат ONNX иногда может приводить к увеличению размера файлов по сравнению с исходными форматами. Такие методы, как квантование и прунинг, могут помочь смягчить эту проблему, уменьшая размер модели без существенного влияния на производительность.

  • Совместимость среды выполнения: Хотя ONNX Runtime разработан для кроссплатформенной совместимости, производительность и поддержка могут различаться в зависимости от оборудования и операционной системы.

  • Сложности отладки: Отладка моделей ONNX может быть более сложной, чем в нативных фреймворках, таких как PyTorch или TensorFlow. Сообщения об ошибках могут быть менее информативными, что затрудняет выявление проблем. Тем не менее инструменты, такие как Netron для визуализации моделей, и возможности логирования ONNX Runtime могут помочь в устранении неполадок.

Link to this sectionОсновные выводы#

Экспорт Ultralytics YOLO11 в ONNX позволяет легко взять обученную модель компьютерного зрения и развернуть её практически где угодно — будь то ноутбук, мобильное устройство или даже компактная умная камера. С интеграцией ONNX ты не привязан к одному фреймворку или платформе, что дает тебе гибкость для запуска модели в той среде, которая лучше всего подходит для твоего приложения.

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

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

Explore solutions

Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

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

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

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

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

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

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше

Давай строить будущее ИИ вместе!

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