Встречай YOLO26: ИИ компьютерного зрения нового поколения.
Ultralytics
Интеграции

Оптимизация моделей Ultralytics YOLO с интеграцией TensorRT

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

АБАбирами Вина
5 min read
Оптимизация моделей Ultralytics YOLO с интеграцией TensorRT

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

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

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

Однако запуск модели на GPU «как есть» не всегда гарантирует оптимальную производительность. Моделям Vision AI обычно требуется оптимизация, чтобы полностью раскрыть возможности аппаратных устройств. Чтобы добиться максимальной производительности на конкретном оборудовании, нам нужно скомпилировать модель так, чтобы она использовала специфический набор инструкций этого оборудования.

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

NVIDIA TensorRT позволяет моделям работать оптимально на устройствах NVIDIA

Рис 1. NVIDIA TensorRT позволяет моделям оптимально работать на различных устройствах NVIDIA.

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

Link to this sectionОбзор TensorRT#

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

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

Интеграция TensorRT, поддерживаемая Ultralytics, работает путем оптимизации твоей модели YOLO для более эффективной работы на GPU с использованием таких методов, как снижение точности. Это означает использование форматов с меньшим количеством бит, например 16-битных чисел с плавающей запятой (FP16) или 8-битных целых чисел (INT8), для представления данных модели, что снижает использование памяти и ускоряет вычисления с минимальным влиянием на точность.

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

Взгляд на технику слияния слоев в TensorRT

Рис 2. Взгляд на технику слияния слоев TensorRT.

Link to this sectionКлючевые особенности формата экспорта TensorRT#

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

  • Простая интеграция с фреймворками: TensorRT поддерживает прямую интеграцию с популярными ИИ-фреймворками, такими как PyTorch, Hugging Face и ONNX, предлагая до 6 раз более высокую производительность. Он также поддерживает MATLAB, позволяя разрабатывать высокоскоростные ИИ-движки на таких платформах, как Jetson, NVIDIA DRIVE и дата-центры.

  • Масштабируемое развертывание с Triton: Модели, оптимизированные в формате TensorRT, могут быть развернуты в масштабе с использованием NVIDIA Triton Inference Server, который повышает эффективность благодаря таким функциям, как пакетная обработка входных данных, одновременное выполнение моделей, поддержка ансамблей моделей и потоковая передача аудио/видео в реальном времени.

  • Гибкость в использовании устройств: От небольших пограничных устройств до мощных серверов, TensorRT работает во всей экосистеме NVIDIA, поддерживая такие инструменты, как DeepStream для видео, Riva для голосового ИИ и другие — для кибербезопасности, рекомендательных систем и многого другого.

Link to this sectionКак работает интеграция TensorRT?#

Экспорт моделей Ultralytics YOLO, таких как Ultralytics YOLO11, в формат модели TensorRT прост. Давай пройдемся по этапам этого процесса.

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

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

Для следующего шага тебе понадобится устройство NVIDIA. Используй фрагмент кода ниже, чтобы загрузить и экспортировать YOLO11 в формат модели TensorRT. Он загружает предобученный nano-вариант модели YOLO11 (yolo11n.pt) и экспортирует его как файл движка TensorRT (yolo11n.engine), подготавливая его к развертыванию на устройствах NVIDIA.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="engine")

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

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

tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)

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

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

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

Link to this sectionКогда стоит использовать интеграцию TensorRT#

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

Вот несколько факторов, которые отличают формат модели TensorRT от других вариантов интеграции экспорта:

  • Меньший размер модели: Экспорт модели YOLO в формат TensorRT с точностью INT8 может значительно уменьшить размер модели. Квантование из FP32 в INT8 может привести к 4-кратному сокращению размера модели, что обеспечивает более быструю загрузку, меньшие требования к хранилищу и уменьшенное потребление памяти при развертывании.

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

  • Более высокая производительность: Сочетание эффективной архитектуры YOLO с оптимизацией INT8 в TensorRT может повысить скорость вывода.

Link to this sectionПрименение YOLO11 и формата модели TensorRT#

Модели Ultralytics YOLO, экспортированные в формат TensorRT, могут быть развернуты в широком спектре реальных сценариев. Эти оптимизированные модели особенно полезны там, где быстрая и эффективная работа ИИ имеет ключевое значение. Давай рассмотрим несколько интересных примеров того, как их можно использовать.

Link to this sectionУмные кассы самообслуживания в розничных магазинах#

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

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

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

Пример умной кассы самообслуживания

Рис 4. Пример умной кассы самообслуживания.

Link to this sectionАвтоматизированное обнаружение дефектов в производстве#

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

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

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

Использование YOLO для обнаружения дефектов в фармацевтической промышленности

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

Link to this sectionЧто следует учитывать при использовании TensorRT#

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

  • Незначительное снижение точности: Когда ты экспортируешь свою модель в формате TensorRT, твоя экспортированная модель может быть не такой точной, как оригинал. Метрики производительности, такие как точность (precision), полнота (recall) и то, насколько хорошо модель обнаруживает объекты (показатели mAP), могут немного снизиться. Это можно смягчить, используя репрезентативный набор данных во время квантования.

  • Повышенная сложность отладки: Оптимизации, выполненные TensorRT, могут затруднить отслеживание ошибок или понимание неожиданного поведения, особенно при сравнении результатов с оригинальной моделью.

  • Чувствительность к размеру пакета: Прирост производительности TensorRT более выражен при больших размерах пакетов. Для приложений, обрабатывающих одиночные изображения или небольшие пакеты, улучшения производительности могут быть менее значительными.

Link to this sectionОсновные выводы#

Экспорт моделей Ultralytics YOLO в формат TensorRT заставляет их работать значительно быстрее и эффективнее, что делает их идеальными для задач в реальном времени, таких как обнаружение дефектов на заводах, поддержка умных кассовых систем или мониторинг оживленных городских районов.

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

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

Узнать больше

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

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