YOLO Vision 2026:
Интеграции

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

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

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

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

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

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

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

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

ONNX enabling a model trained in one framework to run in another

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

ONNX and ONNX Runtime enabling cross-platform model deployment

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

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

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

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

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

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

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

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

Обзор интеграции 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.

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

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

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

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

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

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

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

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

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

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

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

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

Отслеживание инвентаря на складах с помощью Ultralytics YOLO11#

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

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

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

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

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

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

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

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

Using Ultralytics YOLO11 to detect medical instruments

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

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

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

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

Ultralytics YOLO11 detecting crops in aerial drone footage

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

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

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

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

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

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

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

Экспорт 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. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше

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

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