Узнай, как экспортировать модели Ultralytics YOLO , например Ultralytics YOLO11, с помощью интеграции ONNX для кроссплатформенного развертывания на различном оборудовании.
Когда ИИ-решения только начали привлекать к себе внимание, большинство моделей разворачивались на мощных серверах в контролируемой среде. Однако с развитием технологий развертывание вышло далеко за пределы дата-центра.
Сегодня модели ИИ работают на всем: от облачных серверов и настольных компьютеров до смартфонов и пограничных устройств. Этот сдвиг поддерживает более быструю обработку, автономную функциональность и более умные системы, которые работают ближе к месту генерации данных.
Одна из областей, где это особенно ярко проявляется, - компьютерное зрение - направление ИИ, позволяющее машинам интерпретировать визуальные данные. Оно используется для таких приложений, как распознавание лиц, автономное вождение и анализ видео в реальном времени. С ростом числа таких приложений растет и потребность в моделях, которые могут бесперебойно работать на различных аппаратных средствах и платформах.
Но развертывание моделей компьютерного зрения на различных объектах не всегда просто. Устройства различаются по аппаратному обеспечению, операционным системам и поддерживаемым фреймворкам, что делает гибкость и совместимость крайне важными.
Вот почему у тебя есть возможность экспортировать модели компьютерного зрения, например Ultralytics YOLO11 в различные форматы, имеет ключевое значение. Например, интеграция ONNX (Open Neural Network Exchange), поддерживаемая Ultralytics , обеспечивает практический способ преодолеть разрыв между обучением и развертыванием. ONNX - это открытый формат, который делает модели не зависящими от фреймворка и готовыми к развертыванию на разных платформах.
В этой статье мы подробно рассмотрим интеграциюONNX , поддерживаемую Ultralytics , и узнаем, как ты можешь экспортировать свою модель YOLO11 для гибкого кроссплатформенного развертывания.
Open Neural Network Exchange - это проект с открытым исходным кодом, который определяет стандартный формат для моделей машинного обучения. Изначально разработанный Microsoft и Facebook, он позволяет разработчикам обучать модель в одном фреймворке, например PyTorch, и запускать ее в другом, например TensorFlow. Это делает разработку ИИ более гибкой, совместной и доступной, особенно в таких областях, как компьютерное зрение.
ONNX предоставляет общий набор операторов и унифицированный формат файлов, что упрощает перенос моделей между различными инструментами, фреймворками, режимами выполнения и компиляторами. Обычно модель, обученная в одном фреймворке, нелегко совместима с другим - но с ONNX ты можешь экспортировать свою модель один раз и развернуть ее практически везде: на CPU (центральных процессорах), GPU (графических процессорах), мобильных устройствах или граничном оборудовании.
Кроме того, ONNX Runtime - это высокопроизводительный движок вывода, разработанный специально для запуска моделей в формате ONNX . Он предназначен для того, чтобы модели ONNX работали быстрее и эффективнее на широком спектре платформ, включая серверы, мобильные устройства и аппаратное обеспечение для пограничных областей. ONNX Runtime совместим с такими популярными фреймворками, как PyTorch, TensorFlow, TensorFlow Lite и scikit-learn, что позволяет легко интегрировать его в различные рабочие процессы и развертывать модели везде, где они нужны.
Прежде чем мы обсудим, как экспортировать YOLO11 в формат ONNX , давай ознакомимся с некоторыми ключевыми особенностями формата моделей ONNX .
Неважно, переключаешься ли ты между инструментами, разворачиваешь систему на разных устройствах или модернизируешь ее, ONNX поможет сделать все гладко. Вот что делает формат модели ONNX уникальным:
Экспорт моделейUltralytics YOLO , таких как Ultralytics YOLO11 , в формат ONNX очень прост, и сделать это можно в несколько шагов.
Чтобы начать работу, установи пакетUltralytics Python с помощью менеджера пакетов вроде 'pip'. Это можно сделать, выполнив команду "pip install ultralytics" в командной строке или терминале, чтобы начать работу.
С помощью пакета Ultralytics ты сможешь легко обучать, тестировать, настраивать, экспортировать и развертывать модели для различных задач компьютерного зрения, что сделает весь процесс быстрее и эффективнее. В процессе установки, если у тебя возникнут какие-либо трудности, ты можешь обратиться к руководству "Общие проблемы", где ты найдешь решения и советы.
После установки пакета Ultralytics ты можешь загрузить и экспортировать модель YOLO11 в формат ONNX , используя приведенный ниже код. Этот пример загружает предварительно обученную модель YOLO11 (yolo11n.pt) и экспортирует ее в файл ONNX (yolo11nonnx), делая ее готовой к развертыванию на разных платформах и устройствах.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="onnx")
После преобразования твоей модели в формат ONNX ты сможешь развернуть ее на различных платформах.
В примере ниже показано, как загрузить экспортированную модель YOLO11 (yolo11nonnx) и запустить с ней инференцию. Вывод - это просто использование обученной модели для предсказаний на новых данных. В данном случае для проверки модели мы будем использовать URL-адрес изображения автобуса.
onnx_model = YOLO("yolo11n.onnx")
results = onnx_model("https://ultralytics.com/images/bus.jpg",save=True)
Когда ты запустишь этот код, в папке runs/detect/predict будет сохранено следующее выходное изображение.
Пакет Ultralytics Python поддерживает экспорт моделей в несколько форматов, включая TorchScript, CoreML, TensorRT и ONNX. Итак, почему стоит выбрать ONNX?
Отличительной чертой ONNX является то, что это формат, не зависящий от фреймворка. В то время как многие другие форматы экспорта привязаны к конкретным инструментам или средам, ONNX использует стандартизированный формат и общий набор операторов. Это делает его очень портативным, удобным для аппаратного обеспечения и идеальным для кроссплатформенного развертывания - работаешь ли ты с облачными серверами, мобильными приложениями или пограничными устройствами.
Вот несколько причин, по которым интеграция ONNX может стать идеальным выбором для твоих проектов YOLO11 :
Далее давай рассмотрим несколько реальных приложений, в которых YOLO11 можно развернуть с помощью интеграции ONNX .
На загруженных складах сложно постоянно следить за каждым товаром и упаковкой. Системы компьютерного зрения могут помочь работникам находить товары на полках и получать такие сведения, как количество товаров, их тип и т.д. Такие системы могут помочь предприятиям автоматически управлять огромными запасами и сэкономить складским работникам много времени.
В частности, на умных складах модели YOLO11 , экспортированные в ONNX , можно использовать для идентификации и подсчета товаров в режиме реального времени с помощью камер и краевых устройств. Экспортированная модель может помочь просканировать полки или паллеты, чтобы обнаружить уровень запасов, недостающие товары или пустые места. Поскольку экспорт в ONNX делает модель легкой и эффективной, она может работать непосредственно на небольших краевых устройствах, таких как смарт-камеры, устраняя необходимость в дорогостоящих серверах или постоянном доступе к облаку.
В больницах по всему миру ежедневно образуется большое количество отходов, начиная от использованных перчаток и шприцев и заканчивая оборудованием, используемым во время операций (например, одноразовыми или загрязненными хирургическими инструментами, такими как ножницы и скальпели). На самом деле, согласно исследованиям, больницы ежегодно производят около 5 миллионов тонн отходов, что составляет 29 фунтов отходов на одну койку в день.
Правильная сортировка таких отходов важна для соблюдения гигиены, безопасности и соответствия нормам. С помощью моделей YOLO11 , экспортированных в формат ONNX , больницы могут автоматизировать и контролировать утилизацию отходов в режиме реального времени.
Например, камеры, установленные рядом с мусорными баками в таких помещениях, как операционные или коридоры, могут следить за тем, как выбрасываются предметы. Специальная модель YOLO11 , обученная распознавать различные типы медицинских отходов, может проанализировать отснятый материал и определить, что именно выбрасывается. Если какой-то предмет попадает не в ту корзину, например использованный шприц в обычный мусор, система может быть настроена на немедленное оповещение персонала с помощью светового или звукового сигнала, что поможет предотвратить загрязнение и обеспечить соблюдение норм.
Знание правильного времени сбора урожая может оказать большое влияние как на качество продукции, так и на общую производительность фермы. Традиционно фермеры полагаются на опыт и ручные проверки - но с последними достижениями в области технологий ситуация начинает меняться.
Теперь, благодаря инновациям в области компьютерного зрения, таким как YOLO11, экспортируемым в формат ONNX , фермеры могут привнести автоматизацию и точность в поле. Используя беспилотники или камеры, установленные на тракторах или столбах, фермеры могут делать снимки своих культур (например, помидоров, яблок или пшеницы). Затем YOLO11 можно использовать для определения таких ключевых показателей, как цвет, размер и распределение урожая. На основе этой информации фермеры могут определить, готов ли урожай к сбору, еще зреет или уже прошел свой пик.
Хотя ONNX предлагает множество преимуществ, таких как переносимость, кроссплатформенная совместимость и взаимодействие с фреймворками, есть и некоторые ограничения, о которых следует помнить.
Экспорт Ultralytics YOLO11 в ONNX позволяет легко взять обученную модель компьютерного зрения и развернуть ее практически в любом месте - будь то ноутбук, мобильное устройство или даже компактная смарт-камера. Благодаря интеграции с ONNX ты не привязан к какому-то одному фреймворку или платформе, что дает тебе гибкость в запуске модели в той среде, которая лучше всего подходит для твоего приложения.
Это делает переход от обучения к реальному внедрению более быстрым и эффективным. Неважно, отслеживаешь ли ты инвентарь на складе или следишь за правильной утилизацией больничных отходов, такая настройка помогает системам работать более слаженно, уменьшает количество ошибок и экономит драгоценное время.
Хочешь узнать больше о компьютерном зрении и искусственном интеллекте? Изучи наш репозиторий на GitHub, общайся с нашим сообществом и ознакомься с нашими вариантами лицензирования, чтобы начать свой проект по компьютерному зрению. Если ты изучаешь такие инновации, как ИИ в производстве и компьютерное зрение в автомобильной промышленности, посети страницы наших решений, чтобы узнать больше.
Начни свое путешествие с будущим машинного обучения