Настраивайтесь на YOLO Vision 2025!
25 сентября 2025 г.
10:00 — 18:00 BST
Гибридное мероприятие
Yolo Vision 2024

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

Абирами Вина

4 мин чтения

2 мая 2025 г.

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

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

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

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

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

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

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

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

Что такое 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, что упрощает интеграцию в различные рабочие процессы и развертывание моделей там, где они необходимы.

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

Ключевые особенности ONNX 

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

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

  • Единый стандартный формат: ONNX использует общий способ описания структуры моделей, например, слои и операции (представьте их как строительные блоки). Когда модель преобразуется в ONNX, она следует этому стандарту, чтобы любая система, поддерживающая ONNX, могла ее понимать и запускать.
  • Обратная совместимость: Даже по мере того, как ONNX продолжает совершенствоваться, он гарантирует, что старые модели по-прежнему работают с новыми версиями. Это означает, что вам не нужно переобучать или перестраивать свои модели каждый раз, когда ONNX получает обновление.
  • Проектирование моделей на основе графов: Модели ONNX структурированы как вычислительные графы, где каждый узел представляет собой операцию (например, слой или математическую функцию), а ребра указывают поток данных. Такая конструкция на основе графов облегчает интеграцию с различными системами, которые используют аналогичные структуры вычислительных графов.
  • Удобные для разработчиков инструменты: Он поставляется с широким набором инструментов, которые помогают вам конвертировать, проверять и оптимизировать ваши модели. Эти инструменты упрощают процесс перемещения моделей между различными фреймворками и могут ускорить развертывание, особенно для приложений компьютерного зрения.

Обзор интеграции ONNX

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

Для начала установите пакет Ultralytics Python с помощью менеджера пакетов, такого как 'pip'. Это можно сделать, выполнив команду "pip install ultralytics" в командной строке или терминале, чтобы начать работу.

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

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

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

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

При запуске этого кода следующее выходное изображение будет сохранено в папке runs/detect/predict.

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

В каких случаях следует выбирать интеграцию ONNX?

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

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

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

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

Применение YOLO11 и формата модели ONNX

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

Отслеживание запасов на складах с использованием YOLO11

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

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

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

Управление больничными отходами с помощью YOLO11

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

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

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

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

Мониторинг посевов с помощью YOLO11

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

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

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

Ограничения ONNX, которые следует учитывать

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

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

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

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

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

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

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

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

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