YOLOv5 против YOLOv9: глубокое техническое сравнение
Ландшафт компьютерного зрения и обнаружения объектов в реальном времени претерпел значительные изменения за последние несколько лет. Выбор между проверенными в бою моделями и новыми исследовательскими архитектурами — распространенная проблема для инженеров машинного обучения. Это руководство представляет собой полное техническое сравнение двух крайне влиятельных моделей семейства YOLO: YOLOv5 и YOLOv9.
Независимо от того, развертываешь ли ты модели на ограниченных по ресурсам пограничных устройствах (edge devices), занимаешься исследованиями высокоточного извлечения признаков или создаешь сложные конвейеры обнаружения объектов, понимание архитектурных нюансов, метрик производительности и различий в экосистемах этих моделей имеет решающее значение.
Обзор моделей
Прежде чем погружаться в архитектурные сравнения, полезно понять происхождение и основные цели каждой модели.
Ultralytics YOLOv5
Разработанная Гленном Джочером и выпущенная компанией Ultralytics 26 июня 2020 года, YOLOv5 ознаменовала смену парадигмы в том, как разработчики взаимодействуют с моделями компьютерного зрения. Полностью перейдя на фреймворк PyTorch, YOLOv5 заменила сложные этапы компиляции более ранних моделей на базе Darknet интуитивно понятным, ориентированным на Python пользовательским опытом.
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 26.06.2020
- GitHub: Репозиторий YOLOv5
- Документация: Обзор платформы YOLOv5
YOLOv5 славится своей простотой использования и стабильной производительностью в различных аппаратных средах. Она поддерживает не только обнаружение, но и классификацию изображений, а также сегментацию экземпляров.
YOLOv9
Модель YOLOv9, представленная Чиен-Яо Ваном и Хун-Юань Марком Ляо из Института информатики Академии Синика на Тайване, уделяет большое внимание архитектурной теории для решения проблем узких мест в глубоких нейронных сетях.
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Institute of Information Science, Academia Sinica, Тайвань
- Дата: 2024-02-21
- Arxiv: 2402.13616
- GitHub: Репозиторий YOLOv9
- Документация: Документация YOLOv9
Основа YOLOv9 опирается на две важные теоретические инновации: программируемую градиентную информацию (PGI) и обобщенную сеть агрегации эффективных слоев (GELAN). Эти концепции помогают модели сохранять критические пространственные признаки на глубоких слоях сети.
Хотя YOLOv5 и YOLOv9 являются мощными моделями, недавно выпущенная YOLO26 представляет собой идеальный баланс скорости и точности. Благодаря дизайну без NMS (end-to-end NMS-free) и до 43% более быстрому выводу на CPU, YOLO26 настоятельно рекомендуется для современных периферийных вычислений и производственных развертываний.
Архитектурные и технические различия
Понимание того, что скрывается «под капотом» этих моделей зрения, жизненно важно для оптимизации стратегий развертывания моделей.
Извлечение признаков и сохранение информации
В YOLOv5 используется магистральная сеть на основе Cross Stage Partial Network (CSPNet), которая эффективно снижает вычислительные затраты, поддерживая точный поток градиентов во время обратного распространения ошибки. Этот дизайн хорошо оптимизирован для традиционных операций GPU и обеспечивает меньшие требования к памяти при обучении по сравнению с тяжелыми альтернативами на базе Transformer.
В YOLOv9 представлена GELAN — универсальная архитектура, расширяющая принципы CSPNet. В сочетании с PGI (вспомогательной обратимой ветвью) YOLOv9 гарантирует, что глубокие слои не теряют семантические данные, необходимые для точных целевых функций. Это позволяет YOLOv9 достигать высокой точности, особенно на небольших объектах, хотя сложная вспомогательная ветвь иногда может усложнить конвейеры экспорта для сильно ограниченного по ресурсам периферийного оборудования.
Требования к памяти и эффективность обучения
When it comes to training efficiency, YOLOv5 remains incredibly robust. The well-maintained Ultralytics ecosystem ensures that YOLOv5 models consume significantly less CUDA memory, allowing researchers to maximize batch sizes on consumer-grade GPUs. While YOLOv9 achieves excellent parameter efficiency (high accuracy relative to its size), its training process can be more resource-intensive if not utilizing optimized frameworks. Fortunately, integrating YOLOv9 into the Ultralytics API brings it closer to parity with YOLOv5's streamlined resource management.
Производительность и метрики
Для объективной оценки этих архитектур мы сравниваем их производительность на стандартных наборах данных, таких как COCO. Ниже приведена подробная разбивка метрик, таких как mAP (средняя точность), скорость вывода и количество параметров.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
Как показывает таблица, YOLOv9 достигает более высокой исходной точности на эквивалентных уровнях, что отражает её более новую архитектуру. Однако YOLOv5n поддерживает невероятно низкую задержку TensorRT в 1,12 мс, что подчеркивает её неизменную силу для высокоскоростных локализованных приложений периферийных вычислений.
Методологии обучения и простота использования
Настоящее преимущество использования компьютерного зрения сегодня заключается в доступности инструментария.
Преимущество Ultralytics
Хотя оригинальные исследовательские репозитории для таких моделей, как YOLOv9, являются фундаментальными, они часто поставляются со сложными матрицами зависимостей и стандартными скриптами. Python API от Ultralytics полностью абстрагирует эту сложность. С экосистемой Ultralytics ты можешь обучать, оценивать и экспортировать как YOLOv5, так и YOLOv9 с идентичным унифицированным синтаксисом.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for fast deployment
model_v5 = YOLO("yolov5s.pt")
# Or leverage a YOLOv9 model for high-fidelity accuracy
model_v9 = YOLO("yolov9c.pt")
# Train seamlessly on custom data with automatic MLflow logging
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)
# Export the trained model to ONNX
model_v9.export(format="onnx")Этот подход единого API обеспечивает огромную универсальность, поддерживая не только обнаружение, но и оценку позы и ориентированные ограничивающие рамки (OBB), в зависимости от выбранной модели. Более того, надежные интеграции с такими инструментами, как Comet ML и Weights & Biases, встроены непосредственно в цикл обучения.
Идеальные варианты использования и реальные приложения
Выбор между этими архитектурами во многом зависит от ограничений твоего оборудования и точности, требуемой твоей предметной областью.
Когда выбирать YOLOv5
YOLOv5 — это проверенный в боях ветеран, который отлично подходит для развертываний, где приоритет отдается стабильности, низкому потреблению памяти и исключительной совместимости при экспорте.
- Мобильные развертывания: Экспорт YOLOv5 в TFLite или CoreML для вывода на устройстве на старых смартфонах выполняется невероятно легко.
- Устаревшее периферийное оборудование: Для таких устройств, как Raspberry Pi или ранние поколения NVIDIA Jetson Nano, простые свертки YOLOv5 обеспечивают стабильную частоту кадров для таких приложений, как интеллектуальное управление парковкой.
- Rapid Prototyping: The extensive availability of community tutorials, custom pre-trained weights, and massive dataset compatibility makes it the fastest way to validate a proof-of-concept.
Когда выбирать YOLOv9
YOLOv9 идеально подходит для сценариев, где критически важно улавливать мельчайшие детали и минимизировать ложноотрицательные результаты, даже если это требует немного больших вычислительных затрат.
- Aerial and Satellite Imagery: The PGI framework is highly adept at maintaining the fidelity of small objects, making YOLOv9 excellent for drone-based agricultural monitoring.
- Диагностика в медицинской визуализации: При обнаружении мельчайших аномалий или поражений на снимках высокого разрешения точный поток градиентов GELAN обеспечивает необходимое преимущество в полноте (recall).
- Высокоуровневая розничная аналитика: Отслеживание перекрывающихся товаров на плотных полках значительно выигрывает от превосходных возможностей сохранения признаков модели YOLOv9.
Расширение твоих горизонтов
Хотя сравнение YOLOv5 и YOLOv9 дает четкое представление о том, как развивались архитектуры с 2020 по 2024 год, область ИИ развивается быстрее, чем когда-либо. Разработчикам, стремящимся к абсолютному пределу производительности, настоятельно рекомендуется изучить новейшие модели YOLO26. Заменяя традиционное подавление немаксимумов (NMS) нативный End-to-End NMS-Free дизайн и используя усовершенствованный оптимизатор MuSGD, YOLO26 устраняет разрыв между исследовательской точностью и производственной скоростью. Благодаря удалению DFL (Distribution Focal Loss удален для упрощенного экспорта и лучшей совместимости с периферийными/энергоэффективными устройствами), YOLO26 достигает до 43% более быстрого вывода на CPU, что делает его идеальным для периферийных вычислений. Кроме того, ProgLoss + STAL обеспечивает улучшенные функции потерь с заметными улучшениями в распознавании мелких объектов, что критически важно для IoT, робототехники и аэрофотосъемки.
Тебе также может быть интересно сравнить эти архитектуры с другими современными моделями, такими как RT-DETR или высокопроизводительная YOLO11. Использование унифицированного фреймворка Ultralytics гарантирует, что какую бы модель ты ни выбрал, твой конвейер разработки останется чистым, эффективным и готовым к масштабированию.