Ultralytics YOLO27:
Интеграции

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

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

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

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

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

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

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

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

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

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

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

Что такое ONNX и ONNX Runtime?#

Обмен открытыми нейронными сетями — это проект с открытым исходным кодом, который определяет стандартный формат для моделей машинного обучения. Изначально разработанный 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 обеспечивают гибкое кроссплатформенное развёртывание моделей.

Ключевые возможности ONNX#

Прежде чем обсудить, как экспортировать Ultralytics 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.

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

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

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

Пакет Ultralytics для Python поддерживает экспорт моделей в несколько форматов, включая 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, можно использовать для идентификации и подсчёта товаров в реальном времени с помощью камер и периферийных устройств. Экспортированная модель может сканировать полки или палеты, выявляя уровень запасов, отсутствующие товары или пустые места. Поскольку экспорт в ONNX делает модель компактной и эффективной, она может работать непосредственно на небольших периферийных устройствах, например умных камерах, устраняя необходимость в дорогих серверах или постоянном доступе к облаку.

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

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

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

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

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

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

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

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

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

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

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

Ultralytics YOLO11 обнаруживает посевы на аэрофотосъёмке с дрона

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

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

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

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

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

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

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

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

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

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

Explore solutions

Компьютерное зрение для аэрофотоснимков

Компьютерное зрение для аэрофотоснимков

Превращай кадры с дронов и аэрофотоснимки в аналитику в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Узнать больше
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

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

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

Компьютерное зрение в робототехнике

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

Компьютерное зрение в логистике

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

Компьютерное зрение в розничной торговле

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

Компьютерное зрение в здравоохранении

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

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

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

Компьютерное зрение для аэрофотоснимков

Превращай кадры с дронов и аэрофотоснимки в аналитику в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Узнать больше
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

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

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

Компьютерное зрение в робототехнике

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

Компьютерное зрение в логистике

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

Компьютерное зрение в розничной торговле

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

Компьютерное зрение в здравоохранении

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

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

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

Компьютерное зрение для аэрофотоснимков

Превращай кадры с дронов и аэрофотоснимки в аналитику в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Узнать больше
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

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

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

Компьютерное зрение в робототехнике

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

Компьютерное зрение в логистике

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

Компьютерное зрение в розничной торговле

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

Компьютерное зрение в здравоохранении

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

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше

Давай вместе создавать будущее AI!

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