Бесшовное развертывание Ultralytics YOLO11 с помощью OpenVINO™

Абирами Вина

5 минут чтения

1 июля 2025 года

Узнайте, как экспорт Ultralytics YOLO11 в формат OpenVINO™ позволяет проводить молниеносные выводы на оборудовании Intel®, повышая скорость, масштабируемость и точность.

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

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

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

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

Чтобы сделать компьютерное зрение более доступным, Ultralytics выпустила обновленную интеграцию с инструментарием OpenVINO, который является проектом с открытым исходным кодом для оптимизации и выполнения выводов ИИ на CPU, GPU и NPU. 

Благодаря этой интеграции стало проще экспортировать и развертывать модели YOLO11 с ускоренным до 3× темпом вычислений на CPU и ускоренной производительностью на GPU и NPU Intel. В этой статье мы расскажем, как использовать пакет Ultralytics Python для экспорта моделей YOLO11 в формат OpenVINO и использования их для вычислений. Давайте начнем!

Обзор Ultralytics YOLO11

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

Один из ключевых моментов - эффективность. Например, Ultralytics YOLO11m имеет на 22 % меньше параметров, чем Ultralytics YOLOv8m, но при этом достигает более высокой средней точности (mAP) на наборе данных COCO. Это означает, что он работает быстрее, а также более точно обнаруживает объекты, что делает его идеальным для приложений реального времени, где производительность и быстрота реагирования имеют решающее значение.

Рис. 2. Бенчмарки производительности Ultralytics YOLO11.

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

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

Что такое OpenVINO™?

OpenVINO™ (Open Visual Inference and Neural Network Optimization) - это инструментарий с открытым исходным кодом для оптимизации и развертывания ИИ-интерпретации на широком спектре аппаратных средств. Он позволяет разработчикам эффективно запускать высокопроизводительные приложения для выводов на различных платформах Intel, включая центральные процессоры, интегрированные и дискретные графические процессоры, NPU и полевые программируемые вентильные матрицы (FPGA).

OpenVINO предоставляет единый интерфейс времени выполнения, который абстрагирует аппаратные различия с помощью плагинов для конкретных устройств. Это означает, что разработчики могут написать код один раз и развернуть его на нескольких аппаратных объектах Intel, используя согласованный API. 

Вот некоторые ключевые особенности, которые делают OpenVINO отличным выбором для развертывания:

  • Конвертер моделей: этот инструмент преобразует и подготавливает модели из популярных фреймворков, таких как PyTorch, ONNX, TensorFlow, PaddlePaddle и других, чтобы они могли быть оптимизированы для эффективного вывода на оборудовании Intel.
  • Гетерогенное исполнение: Вам не нужно переписывать свой код для различных аппаратных средств Intel. OpenVINO позволяет легко запускать одну и ту же модель на любом поддерживаемом оборудовании, от CPU до GPU.
  • Поддержка квантования: Инструментарий поддерживает форматы с пониженной точностью, такие как FP16 (по умолчанию) и INT8, которые помогают уменьшить размер модели и ускорить вывод без существенного влияния на точность.
Рис. 3. OpenVINO позволяет использовать различные варианты развертывания.

Изучение интеграции Ultralytics x OpenVINO

Теперь, когда мы выяснили, что такое OpenVINO и каково его значение, давайте обсудим, как экспортировать модели YOLO11 в формат OpenVINO и проводить эффективные вычисления на оборудовании Intel.

Шаг 1: Установите пакет Ultralytics Python

Чтобы экспортировать модель в формат OpenVINO, сначала нужно установить пакет Ultralytics Python. Этот пакет содержит все необходимое для обучения, оценки и экспорта моделей YOLO, включая YOLO11. 

Вы можете установить его, выполнив команду"pip install ultralytics" в терминале или командной строке. Если вы работаете в интерактивной среде, такой как Jupyter Notebook или Google Colab, просто добавьте восклицательный знак перед командой. 

Кроме того, если вы столкнетесь с какими-либо проблемами во время установки или экспорта, документация Ultralytics и руководства по устранению неполадок - отличные ресурсы, которые помогут вам вернуться в нужное русло.

Шаг 2: Экспортируйте модель YOLO11 в формат OpenVINO

После установки пакета Ultralytics следующим шагом будет загрузка вашей модели YOLO11 и преобразование ее в формат, совместимый с OpenVINO. 

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

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="openvino")

Шаг 3: Проведите расчеты с экспортированной моделью

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

Использование пакета Ultralytics Python

Экспортированная модель YOLO11 может быть легко развернута с помощью пакета Ultralytics Python, как показано в приведенном ниже фрагменте кода. Этот метод идеально подходит для быстрых экспериментов и упрощенного развертывания на оборудовании Intel. 

Вы также можете указать, какое устройство использовать для вывода, например "intel:cpu", "intel:gpu" или "intel:npu", в зависимости от имеющегося в вашей системе оборудования Intel.

ov_model = YOLO("yolo11n_openvino_model/")

results = ov_model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")

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

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

Использование родной среды выполнения OpenVINO

Если вы ищете настраиваемый способ выполнения выводов, особенно в производственных средах, OpenVINO Runtime дает вам больше контроля над тем, как выполняется ваша модель. Она поддерживает такие расширенные возможности, как асинхронное выполнение (параллельное выполнение нескольких запросов на вывод) и балансировка нагрузки (эффективное распределение нагрузки на вывод между аппаратными средствами Intel).

Для использования встроенной среды выполнения вам понадобятся экспортированные файлы модели: файл .xml (в нем определена архитектура сети) и файл .bin (в нем хранятся обученные веса модели). Вы также можете настроить дополнительные параметры, такие как размерность входных данных или шаги предварительной обработки, в зависимости от вашего приложения.

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

Почему стоит выбрать интеграцию Ultralytics x OpenVINO?

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

Вот несколько причин, по которым формат экспорта OpenVINO отлично подходит для развертывания моделей на оборудовании Intel:

  • Повышение производительности: Вы можете получить до 3× более быстрый вывод на процессорах Intel, а также дополнительное ускорение на интегрированных GPU и NPU.
  • Нет необходимости в переобучении: Вы можете экспортировать существующие модели YOLO11 непосредственно в формат OpenVINO, не изменяя и не переучивая их.
  • Создана для масштабирования: Одна и та же экспортированная модель может быть развернута на маломощных пограничных устройствах и в крупномасштабной облачной инфраструктуре, что упрощает масштабируемое развертывание ИИ.

Вы также можете оценить бенчмарки производительности модели YOLO11 на различных платформах Intel® в OpenVINO™ Model Hub. OpenVINO Model Hub - это ресурс для разработчиков, позволяющий оценить модели ИИ на оборудовании Intel и узнать о преимуществах производительности OpenVINO на процессорах Intel, встроенных GPU, NPU и дискретной графике. 

Рис. 5. Концентратор моделей OpenVINO™: Бенчмарки производительности для модели YOLO11 на различных платформах Intel®.

Применение YOLO11 и формата экспорта OpenVINO

С помощью интеграции OpenVINO развертывание моделей YOLO11 на оборудовании Intel в реальных условиях становится намного проще. 

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

Аналогичным образом, в "умных" городах YOLO11 можно использовать для мониторинга дорожного движения, подсчитывая количество автомобилей, отслеживая пешеходов и выявляя нарушения проезда на красный свет в режиме реального времени. Эти данные могут помочь оптимизировать транспортные потоки, повысить безопасность дорожного движения и помочь автоматизированным системам правоприменения.

Рис. 6. Подсчет автомобилей с помощью YOLO11.

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

Ключевые факторы, которые необходимо учитывать при использовании инструментария OpenVINO

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

  • Проверьте совместимость оборудования: Убедитесь, что ваше оборудование Intel, будь то CPU, интегрированный GPU или NPU, поддерживается OpenVINO, чтобы модель могла работать эффективно.

  • Установите правильные драйверы: Если вы используете графические процессоры или NPU Intel, дважды проверьте, что все необходимые драйверы установлены правильно и актуальны.

  • Понять точность компромиссы: OpenVINO поддерживает точности моделей FP32, FP16 и INT8. Каждая из них имеет компромисс между скоростью и точностью, поэтому важно выбрать правильный вариант, исходя из ваших целей по производительности и имеющегося оборудования.

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

Экспорт Ultralytics YOLO11 в формат OpenVINO позволяет легко запускать быстрые и эффективные модели Vision AI на оборудовании Intel. Вы можете развертывать модели на CPU, GPU и NPU без необходимости переобучения или изменения кода. Это отличный способ повысить производительность, сохранив при этом простоту и масштабируемость.

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

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

Зарегистрируйтесь на нашем предстоящем вебинаре, чтобы увидеть интеграцию Ultralytics × OpenVINO в действии, и посетите веб-сайт OpenVINO, чтобы изучить инструменты для оптимизации и развертывания ИИ в масштабе.

Давайте вместе построим будущее
искусственного интеллекта!

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

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