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

YOLOv9 YOLOv5: эволюция архитектуры и наследие в области обнаружения объектов

Эволюция семейства YOLO You Only Look Once) представляет собой увлекательную хронологию развития компьютерного зрения. YOLOv5, выпущенная Ultralytics 2020 году, установила новый стандарт удобства использования и готовности к производству, став основной платформой для разработчиков по всему миру. YOLOv9, выпущенная в 2024 году исследователями из Academia Sinica, расширяет границы теоретической архитектуры с помощью таких концепций, как Programmable Gradient Information (PGI).

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

Сравнение метрик производительности

В следующей таблице представлены сравнительные характеристики двух моделей для различных размеров. Обратите внимание, что хотя YOLOv9 более высокую теоретическую точность (mAP), YOLOv5 конкурентоспособным по скорости и эффективности использования ресурсов, особенно для устаревших развертываний.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

YOLOv5: стандарт для производственного ИИ

С момента выпуска в 2020 году компанией Ultralytics, YOLOv5 стал синонимом практического внедрения искусственного интеллекта. Это была не просто архитектура модели, а полный сдвиг экосистемы. До появления YOLOv5 для обучения моделей обнаружения объектов часто требовались сложные конфигурационные файлы и неустойчивые фреймворки на основе C. YOLOv5 нативную PyTorch , которая сделала обучение простым, как выполнение одной команды.

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

Ключевые преимущества YOLOv5

  1. Непревзойденная простота использования: отличительной чертой Ultralytics является удобство для пользователя. YOLOv5 бесперебойный рабочий процесс от подготовки набора данных до развертывания.
  2. Широкая поддержка платформ: предлагает встроенную поддержку экспорта для CoreML, TFLiteи ONNX, что делает его невероятно универсальным для мобильных и периферийных приложений.
  3. Низкие системные накладные расходы: в отличие от архитектур с большим количеством трансформаторов, которые требуют огромного GPU , YOLOv5 высокоэффективной системой, позволяющей проводить обучение на потребительском оборудовании или даже на бесплатных облачных ноутбуках, таких как Google .
  4. Стабильность: благодаря многолетнему активному обслуживанию были устранены крайние случаи, что обеспечило стабильную платформу для критически важных приложений в сфере интеллектуального производства и безопасности.

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

Выполнение инференции с помощью YOLOv5 или любой Ultralytics ) стандартизировано и просто:

from ultralytics import YOLO

# Load a pretrained YOLOv5s model
model = YOLO("yolov5s.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Show results
results[0].show()

YOLOv9: архитектурные инновации с PGI

Выпущенный в начале 2024 года, YOLOv9 направлен на решение проблемы информационного «бутылочного горлышка» в глубоких нейронных сетях. По мере углубления сетей важная информация о характеристиках может теряться в процессе прямой передачи. YOLOv9 эту проблему с помощью программируемой градиентной информации (PGI) и обобщенной эффективной сети агрегации слоев (GELAN).

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

Архитектурные прорывы

  • Архитектура GELAN: эта новая архитектура сочетает в себе лучшие черты CSPNet (используемой в YOLOv5) и ELAN (используемой в YOLOv7) для максимальной эффективности параметров. Она позволяет модели достигать более высокой точности с меньшим количеством параметров по сравнению со старыми архитектурами.
  • Программируемая градиентная информация (PGI): PGI генерирует надежные градиенты через вспомогательную ветвь, которая используется только во время обучения. Это гарантирует, что глубокие слои сохраняют семантическую информацию без увеличения затрат на вывод, повышая производительность при выполнении сложных задач, таких как обнаружение мелких объектов.

Сравнительный анализ: когда что использовать?

Выбор между этими двумя моделями зависит от ваших приоритетов: скорость развертывания или максимальная точность.

1. Эффективность обучения и экосистема

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

YOLOv9 полностью поддерживается в Ultralytics , что означает, что пользователи могут использовать те же упрощенные конвейеры обучения. Однако его сложная архитектура (вспомогательные ветви) иногда может замедлять обучение и сделать его немного более ресурсоемким по сравнению с оптимизированным YOLOv5.

2. Развертывание на периферии против точности сервера

Для задач, требующих исключительно высокой точности, таких как автономный анализ медицинских изображений или высокоточный промышленный контроль, YOLOv9e значительно превосходит YOLOv5x, обеспечивая mAP на 5 %.

Однако для периферийных устройств, таких как Raspberry Pi или NVIDIA , YOLOv5 остается фаворитом. Его более простая архитектура хорошо переносится на квантование int8 и часто обеспечивает более высокую скорость вывода на ограниченном оборудовании, хотя новые модели, такие как YOLO26, быстро вытесняют его в этой нише.

3. Универсальность задач

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

Будущее: YOLO26

Хотя YOLOv5 YOLOv9 отличными моделями, эта область быстро развивается. Разработчики, стремящиеся к абсолютному передовому уровню, должны обратить внимание на YOLO26.

Выпущенный в январе 2026 года, YOLO26 представляет собой кульминацию этих архитектурных достижений. Он использует сквозную конструкцию NMS, впервые популяризированную YOLOv10, которая полностью устраняет этап подавления не максимальных значений, сопровождающийся значительной задержкой. Кроме того, она оснащена оптимизатором MuSGD, гибридом SGD Muon, обеспечивающим более быструю конвергенцию и стабильность.

Благодаря таким усовершенствованиям, как ProgLoss + STAL для обнаружения небольших объектов и удаление Distribution Focal Loss (DFL) для упрощения экспорта, YOLO26 обеспечивает на 43 % более быстрое CPU по сравнению с предыдущими поколениями, что делает его лучшим выбором как для исследований, так и для производства.

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

Заключение

  • Выберите YOLOv5, если вам нужна легкая, проверенная в боях модель для устаревших систем или в условиях крайне ограниченных ресурсов, где может отсутствовать поддержка новых операторов (таких как в YOLOv9).
  • Выбирайте YOLOv9, если вам нужна высокая точность на сложных наборах данных и вы можете позволить себе немного более высокие затраты на ресурсы для обучения.
  • Выберите YOLO26, чтобы получить все самое лучшее: скорость NMS, высочайшую точность и функции нового поколения, такие как оптимизатор MuSGD.

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

Начало работы

Вы можете обучить любую из этих моделей с помощьюPython Ultralytics Python . Просто измените название модели в своем скрипте:

from ultralytics import YOLO

# Switch between models easily
model = YOLO("yolov5su.pt")  # YOLOv5
# model = YOLO("yolov9c.pt") # YOLOv9
# model = YOLO("yolo26n.pt") # YOLO26

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

Комментарии