Перейти к содержанию

YOLOv8 против YOLOv9: техническое сравнение для обнаружения объектов

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

Ultralytics YOLOv8: стандарт универсальности и простоты использования

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

Архитектура и экосистема

YOLOv8 представляет головку обнаружения без якорей и модуль C2f (Cross-Stage Partial with 2 convolutions), который улучшает интеграцию функций, сохраняя при этом легкость исполнения. В отличие от моделей, ориентированных на исследования, YOLOv8 создан с учетом требований развертывания. Она поддерживает классификацию изображений, сегментацию экземпляров, оценку позы и обнаружение ориентированных ограничительных рамок (OBB).

Истинная сила YOLOv8 заключается в экосистемеUltralytics . Разработчики получают преимущества от унифицированного Python API и CLI которые стандартизируют обучение, проверку и развертывание. Такой подход "батарейки в комплекте" значительно сокращает время вывода приложений компьютерного зрения на рынок.

Сильные стороны

  • Непревзойденная универсальность: обнаружение, сегментация, классификация и оценка позы в одной библиотеке.
  • Готовность к развертыванию: Встроенная поддержка экспорта для ONNX, OpenVINO, TensorRTи CoreML упрощает интеграцию в пограничные устройства и облачные серверы.
  • Эффективность использования памяти: Оптимизирован для меньшего использования памяти CUDA во время обучения по сравнению с архитектурами на основе трансформаторов, что делает его доступным на стандартных потребительских GPU.
  • Баланс скорости и точности: Обеспечивает исключительную скорость вычислений в реальном времени, часто превосходя конкурентов на CPU и аппаратном обеспечении.
  • Активная поддержка: Опираясь на обширное сообщество разработчиков с открытым исходным кодом и частые обновления от Ultralytics, обеспечивающие совместимость с новейшими библиотеками и оборудованием.

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

YOLOv9: архитектурные инновации для высокой точности

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

Основные инновации

Архитектура YOLOv9 базируется на двух основных компонентах: Программируемая градиентная информация (PGI) и обобщенная эффективная сеть агрегирования слоев (GELAN). PGI работает для предотвращения потери критической входной информации во время процесса feed-forward в глубоких сетях, обеспечивая надежную генерацию градиентов для обновлений. GELAN разработана для оптимизации эффективности параметров, что позволяет модели достигать высокой точности при значительных вычислительных затратах.

Сильные стороны

  • Высокая точность: Самый крупный вариант, YOLOv9, устанавливает впечатляющие показатели для mAP на наборе данных COCO , демонстрируя превосходство в сценариях, где точность имеет первостепенное значение.
  • Эффективность параметров: Благодаря GELAN модели YOLOv9 среднего размера достигают конкурентоспособной точности при меньшем количестве параметров, чем некоторые старые архитектуры.
  • Теоретический прогресс: Решение фундаментальных проблем обучения глубоких сетей, связанных с сохранением информации.

Слабые стороны

  • Ограниченная универсальность: В первую очередь ориентирован на обнаружение объектов. Несмотря на свои возможности, он не имеет встроенной, оптимизированной поддержки сегментации, позиционирования и классификации, которая есть в основной линейке Ultralytics .
  • Сложное обучение: Введение вспомогательных ветвей для PGI может сделать процесс обучения более ресурсоемким и сложным для настройки по сравнению с оптимизированным конвейером YOLOv8 .
  • Скорость вывода: Несмотря на эффективность, сложность архитектуры может привести к замедлению времени вывода на определенном оборудовании по сравнению с высоко оптимизированными блоками, используемыми в YOLOv8.

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

Прямое сравнение производительности

При сравнении YOLOv8 и YOLOv9 выбор часто сводится к конкретным ограничениям вашей среды развертывания. YOLOv8 доминирует в скорости вывода и гибкости развертывания, в то время как YOLOv9 достигает потолка в метриках обнаружения.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Данные показывают четкое различие: YOLOv8 предлагает более высокую скорость, особенно на GPU TensorRT) и CPU ONNX), что очень важно для приложений краевого ИИ. Например, YOLOv8n значительно быстрее YOLOv9t на графических процессорах T4 (1,47 мс против 2,3 мс). И наоборот, YOLOv9e достигает наивысшего mAP (55,6 %), что делает его подходящим для серверной обработки, где задержка не так важна, как обнаружение мельчайших деталей.

Знаете ли вы?

Ultralytics YOLOv8 имеет встроенную поддержку для все Основные задачи компьютерного зрения. Вы можете переключаться с обнаружения объектов на сегментация экземпляров просто изменив файл веса модели (например, yolov8n.pt в yolov8n-seg.pt), уровень гибкости, недоступный в стандартном репозитории YOLOv9 .

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

Выберите Ultralytics YOLOv8 , если:

  • Вам нужно готовое к производству решение: Обширная документация, поддержка сообщества и готовые интеграции (например, MLFlow и TensorBoard) упрощают путь от прототипа к продукту.
  • Скорость имеет решающее значение: Для видеоаналитики в реальном времени, автономной навигации или мобильных приложений оптимизированная скорость вывода YOLOv8 дает явное преимущество.
  • Вам необходимо решать несколько задач технического зрения: Проекты, включающие оценку положения или сегментацию наряду с обнаружением, лучше всего реализуются с помощью единой структуры YOLOv8.
  • Ограничения по ресурсам существуют: Модели YOLOv8 оптимизированы для различных аппаратных средств, обеспечивая эффективную работу на устройствах от Raspberry Pis до NVIDIA Jetsons.

Выбирайте YOLOv9 , если:

  • Максимальная точность - единственная метрика: Для академических исследований или специализированных инспекционных задач, где каждая доля процента в mAP имеет большее значение, чем скорость или удобство использования.
  • Вы изучаете архитектуру: Концепции PGI и GELAN ценны для исследователей, изучающих градиентный поток в глубоких сетях.

Реализация кода

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

Вот как можно обучить модель YOLOv8 всего за несколько строк кода:

from ultralytics import YOLO

# Load a YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model on your data
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

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

Заключение

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

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

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

Изучите больше сравнений на нашей странице сравнения моделей.


Комментарии