YOLOv5 против YOLOv9: Подробное техническое сравнение
Эволюция detect объектов в реальном времени была отмечена быстрыми достижениями в точности и эффективности. Двумя важными вехами на этом пути являются Ultralytics YOLOv5, модель, которая установила отраслевой стандарт удобства использования и развертывания, и YOLOv9, архитектура, ориентированная на исследования, расширяющая границы теории глубокого обучения.
Это техническое сравнение анализирует их архитектуры, показатели производительности и идеальные варианты использования, чтобы помочь разработчикам и исследователям выбрать правильный инструмент для своих проектов в области компьютерного зрения.
Ultralytics YOLOv5: Промышленный стандарт универсальности
С момента выпуска YOLOv5 стал одной из самых популярных моделей AI-видения в мире. Разработанный Ultralytics, он уделяет первостепенное внимание инженерному совершенству, простоте использования и производительности в реальном мире. Он балансирует скорость и точность, обеспечивая при этом удобство работы пользователя благодаря надежной экосистеме.
Технические детали:
- Авторы: Гленн Джокер
- Организация:Ultralytics
- Дата: 26.06.2020
- GitHub:https://github.com/ultralytics/yolov5
- Документация:https://docs.ultralytics.com/models/yolov5/
Архитектура и Дизайн
YOLOv5 использует основу CSPDarknet в сочетании с PANet neck для эффективного извлечения и агрегирования признаков. Его основанный на якорях детектор объектов высоко оптимизирован для скорости, что делает его подходящим для широкого спектра оборудования. В отличие от чисто академических моделей, YOLOv5 был разработан с учетом развертывания, предлагая встроенную поддержку для iOS, Android и периферийных устройств.
Ключевые преимущества
- Хорошо поддерживаемая экосистема: YOLOv5 выигрывает от многолетней активной разработки, что выражается в обширной документации, поддержке сообщества и интеграции с такими инструментами, как Ultralytics HUB.
- Эффективность обучения: Она известна быстрым временем обучения и более низкими требованиями к памяти по сравнению с архитектурами на основе трансформеров, что делает ее доступной на стандартных потребительских GPU.
- Универсальность: Помимо detect, YOLOv5 изначально поддерживает instance segmentation и image classification, позволяя разработчикам решать множество задач компьютерного зрения с помощью единого фреймворка.
- Готовность к развертыванию: Благодаря встроенным возможностям экспорта в ONNX, TensorRT, CoreML и TFLite, переход от исследований к производству упрощается.
YOLOv9: Архитектурные инновации для максимальной точности
Выйдет в 2024 году, YOLOv9 нацелена на решение проблемы потери информации в глубоких сетях. В ней представлены новые концепции, улучшающие распространение данных в модели, что позволило достичь передовых результатов в таких бенчмарках, как COCO.
Технические детали:
- Авторы: Чен-Яо Ванг, Хонг-Юань Марк Ляо
- Организация:Институт информатики, Academia Sinica, Тайвань
- Дата: 21.02.2024
- Arxiv:https://arxiv.org/abs/2402.13616
- GitHub:https://github.com/WongKinYiu/yolov9
- Документация:https://docs.ultralytics.com/models/yolov9/
Архитектура и инновации
YOLOv9 представляет два основных архитектурных усовершенствования:
- Программируемая градиентная информация (PGI): Техника, разработанная для смягчения проблемы информационного узкого места, обеспечивающая доступность полной входной информации для вычисления функции потерь.
- Обобщенная эффективная сеть агрегации слоев (GELAN): Легкая архитектура сети, которая оптимизирует эффективность параметров, позволяя модели достигать более высокой точности с меньшим количеством параметров, чем некоторые предшественники.
Ключевые преимущества
- Высокая точность: YOLOv9 устанавливает впечатляющие ориентиры для точности object detection, особенно в своих более крупных конфигурациях (YOLOv9-E).
- Эффективность параметров: Архитектура GELAN гарантирует, что модель эффективно использует параметры, обеспечивая хорошее соотношение точности к весу.
- Теоретический прогресс: Он решает фундаментальные проблемы в глубоком обучении, касающиеся сохранения информации в глубоких слоях.
Сравнение производительности
При сравнении этих двух моделей компромисс обычно заключается между скоростью и абсолютной точностью. YOLOv9 достигает более высоких показателей mAPval на наборе данных COCO, демонстрируя эффективность PGI и GELAN. Однако Ultralytics YOLOv5 остается грозным конкурентом в скорости инференса, особенно на CPU и периферийных устройствах, где сияет ее оптимизированная архитектура.
Баланс производительности
В то время как YOLOv9 возглавляет графики точности, YOLOv5 часто обеспечивает более практичный баланс для приложений реального времени, предлагая значительно более высокую скорость вывода (мс) на стандартном оборудовании, сохраняя при этом надежные возможности detectирования.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Обучение и ресурсы
Для разработчиков эффективность обучения часто так же важна, как и скорость inference. Ultralytics YOLOv5 известен своей простотой «тренируйся и работай». Обычно он требует меньше памяти во время обучения по сравнению с новыми, более сложными архитектурами, особенно моделями на основе трансформеров (такими как RT-DETR). Этот более низкий порог входа позволяет пользователям обучать пользовательские модели на скромных аппаратных конфигурациях.
YOLOv9, хотя и эффективна по параметрам, может потребовать больше ресурсов для обучения из-за сложности вспомогательных ветвей, используемых для PGI, которые удаляются во время логического вывода, но увеличивают накладные расходы во время обучения.
Пример кода: Унифицированный интерфейс
Одним из основных преимуществ экосистемы Ultralytics является унифицированный API python. Вы можете переключаться между YOLOv5 и YOLOv9 с помощью одной строки кода, что невероятно упрощает сравнение обеих моделей на вашем конкретном наборе данных.
from ultralytics import YOLO
# Load an Ultralytics YOLOv5 model (pre-trained on COCO)
model_v5 = YOLO("yolov5su.pt")
# Train the model on your custom data
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a YOLOv9 model for comparison
model_v9 = YOLO("yolov9c.pt")
# Train YOLOv9 using the exact same API
results_v9 = model_v9.train(data="coco8.yaml", epochs=100, imgsz=640)
Идеальные варианты использования
Выбор между этими моделями зависит от приоритетов вашего проекта:
Когда следует выбирать Ultralytics YOLOv5
- Развертывание на периферии: Идеально подходит для Raspberry Pi, мобильных приложений и встроенных систем, где важна каждая миллисекунда задержки.
- Быстрое прототипирование: Простота использования, обширные учебные пособия и поддержка сообщества обеспечивают невероятно быстрые циклы разработки.
- Multi-Task Requirements: Если ваш проект требует segment или классификацию наряду с detect, YOLOv5 предоставляет унифицированное решение.
- Ограничения по ресурсам: Проекты с ограниченным объемом памяти GPU для обучения выиграют от эффективности YOLOv5.
Когда следует выбирать YOLOv9
- Максимальная точность: Критически важна для таких приложений, как медицинская визуализация или высокоточная промышленная инспекция, где пропуск detectирования обходится дорого.
- Академические исследования: Отлично подходит для исследователей, изучающих последние достижения в области потока градиентной информации и проектирования сетевой архитектуры.
- Мощное оборудование: Лучше всего использовать, когда для обучения и инференса доступны достаточные вычислительные ресурсы, чтобы использовать весь его потенциал.
Заключение
Обе модели представляют собой превосходство в области компьютерного зрения. Ultralytics YOLOv5 остается прагматичным выбором для большинства разработчиков, предлагая непревзойденное сочетание скорости, надежности и поддержки экосистемы. Это испытанная рабочая лошадка для реального развертывания. YOLOv9, с другой стороны, предлагает заглянуть в будущее архитектурной эффективности, обеспечивая высочайшую точность для тех, кому это необходимо.
Для тех, кто ищет самые последние достижения в области производительности и универсальности, мы также рекомендуем изучить YOLO11, которая опирается на сильные стороны YOLOv5 и YOLOv8 для достижения самых современных результатов по всем показателям.
Изучите другие модели
Если вам интересно узнать больше, ознакомьтесь с этими связанными моделями в экосистеме Ultralytics:
- YOLO11: Новейшая SOTA модель, обеспечивающая превосходную производительность и универсальность.
- YOLOv8: Мощная модель без привязки к anchor, поддерживающая detect, segment, оценку позы и OBB.
- RT-DETR: Детектор на основе трансформера в реальном времени для приложений, требующих высокой точности.