Link to this sectionYOLOv5 против YOLOv9: подробное техническое сравнение#
За последние несколько лет ландшафт компьютерного зрения и обнаружения объектов в реальном времени претерпел значительные изменения. Выбор между проверенными временем моделями и новыми архитектурами — частая задача для инженеров по машинному обучению. Это руководство предлагает комплексное техническое сравнение двух крайне влиятельных моделей семейства YOLO: YOLOv5 и YOLOv9.
Независимо от того, разворачиваешь ли ты решение на ограниченных по ресурсам пограничных устройствах, занимаешься исследованиями высокоточного извлечения признаков или строишь сложные конвейеры обнаружения объектов, тебе важно понимать архитектурные нюансы, метрики производительности и различия в экосистемах этих моделей.
Link to this sectionОбзор моделей#
Прежде чем погрузиться в архитектурные сравнения, полезно понять происхождение и основные цели каждой модели.
Link to this sectionUltralytics YOLOv5#
Разработанная Гленном Джочером и выпущенная Ultralytics 26 июня 2020 года, YOLOv5 ознаменовала смену парадигмы в том, как разработчики взаимодействуют с моделями компьютерного зрения. Полностью перейдя на фреймворк PyTorch, YOLOv5 заменила сложные этапы компиляции моделей на базе Darknet интуитивно понятным пользовательским интерфейсом, ориентированным на Python.
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: репозиторий YOLOv5
- Документация: документация YOLOv5
YOLOv5 известна своей простотой использования и стабильной производительностью в различных аппаратных средах. Она поддерживает не только обнаружение, но и классификацию изображений, а также сегментацию экземпляров.
Link to this sectionYOLOv9#
Модель YOLOv9, представленная Чien-Yao Wang и Hong-Yuan Mark Liao из Института информатики Academia Sinica (Тайвань), делает упор на архитектурную теорию для устранения проблем «узкого места» (bottleneck) в передаче информации внутри глубоких нейронных сетей.
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Институт информатики, Academia Sinica, Тайвань
- Дата: 2024-02-21
- Arxiv: 2402.13616
- GitHub: репозиторий YOLOv9
- Документация: документация YOLOv9
В основе YOLOv9 лежат две важные теоретические инновации: Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN). Эти концепции помогают модели сохранять критически важные пространственные признаки при прохождении через глубокие слои сети.
Хотя YOLOv5 и YOLOv9 являются мощными инструментами, недавно выпущенная YOLO26 представляет собой идеальный баланс скорости и точности. Благодаря дизайну без NMS и увеличению скорости вывода на CPU до 43%, YOLO26 настоятельно рекомендуется для современных пограничных вычислений и промышленных развертываний.
Link to this sectionАрхитектурные и технические различия#
Понимание того, как работают эти модели, важно для оптимизации стратегий развертывания моделей.
Link to this sectionИзвлечение признаков и сохранение информации#
YOLOv5 использует архитектуру Cross Stage Partial Network (CSPNet) в качестве основы, что эффективно снижает вычислительные затраты, сохраняя точный градиентный поток во время обратного распространения ошибки. Эта архитектура оптимизирована для традиционных операций GPU и обеспечивает более низкие требования к памяти во время обучения по сравнению с тяжелыми архитектурами Transformer.
YOLOv9 внедряет GELAN — общую архитектуру, которая расширяет принципы CSPNet. В сочетании с PGI — вспомогательной обратимой ветвью — YOLOv9 гарантирует, что глубокие слои не теряют семантические данные, необходимые для точных целевых функций. Это позволяет YOLOv9 достигать высокой точности, особенно на мелких объектах, хотя сложная вспомогательная ветвь иногда может усложнять конвейеры экспорта на узкоспециализированное пограничное оборудование.
Link to this sectionТребования к памяти и эффективность обучения#
Что касается эффективности обучения, YOLOv5 остается невероятно надежной. Хорошо поддерживаемая экосистема Ultralytics гарантирует, что модели YOLOv5 потребляют значительно меньше памяти CUDA, позволяя исследователям максимизировать размеры пакетов на потребительских GPU. Хотя YOLOv9 достигает отличной эффективности параметров (высокая точность относительно размера), процесс её обучения может быть более требовательным к ресурсам, если не использовать оптимизированные фреймворки. К счастью, интеграция YOLOv9 в API Ultralytics приближает её по уровню управления ресурсами к эффективности YOLOv5.
Link to this sectionПроизводительность и метрики#
Чтобы объективно оценить эти архитектуры, мы сравниваем их производительность на стандартных наборах данных, таких как COCO. Ниже представлен подробный разбор метрик, таких как mAP (Mean Average Precision), скорость вывода и количество параметров.
| Модель | размер (пиксели) | 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 мс, что подчеркивает её преимущество в высокоскоростных локальных приложениях пограничных вычислений.
Link to this sectionМетодологии обучения и простота использования#
Главное преимущество использования компьютерного зрения сегодня заключается в доступности инструментария.
Link to this sectionПреимущество 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 встроена прямо в цикл обучения.
Link to this sectionИдеальные сценарии использования и реальные приложения#
Выбор между этими архитектурами во многом зависит от ограничений твоего оборудования и требований к точности в твоей прикладной области.
Link to this sectionКогда стоит выбрать YOLOv5#
YOLOv5 — это проверенный в бою ветеран, который отлично подходит для развертываний, где важны стабильность, низкое потребление памяти и широкая совместимость экспорта.
- Мобильные развертывания: Экспорт YOLOv5 в TFLite или CoreML для вывода на устройстве на старых смартфонах невероятно прост.
- Устаревшее пограничное оборудование: Для таких устройств, как Raspberry Pi или NVIDIA Jetson Nano ранних поколений, простые свертки YOLOv5 обеспечивают стабильную частоту кадров для таких приложений, как умное управление парковками.
- Быстрое прототипирование: Широкий выбор руководств от сообщества, пользовательские предобученные веса и совместимость с огромными наборами данных делают это решение самым быстрым способом проверки концепции (proof-of-concept).
Link to this sectionКогда стоит выбрать 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.
Link to this sectionРасширение горизонтов#
Хотя сравнение YOLOv5 и YOLOv9 дает четкое представление о том, как эволюционировали архитектуры с 2020 по 2024 год, область ИИ развивается быстрее, чем когда-либо. Разработчикам, стремящимся к абсолютному пределу производительности, настоятельно рекомендуется изучить новейшие модели YOLO26. Заменяя традиционное подавление немаксимумов (NMS) на нативный дизайн без NMS и используя продвинутый оптимизатор MuSGD, YOLO26 преодолевает разрыв между точностью исследовательского уровня и скоростью промышленного уровня. Благодаря удалению DFL (Distribution Focal Loss удалена для упрощенного экспорта и лучшей совместимости с пограничными/маломощными устройствами), YOLO26 достигает до 43% более быстрого вывода на CPU, что делает его идеальным для пограничных вычислений. Кроме того, ProgLoss + STAL предоставляет улучшенные функции потерь с заметным прогрессом в распознавании мелких объектов, что критически важно для IoT, робототехники и аэросъемки.
Тебе также может быть интересно сравнить эти архитектуры с другими современными моделями, такими как RT-DETR или очень способная YOLO11. Использование единого фреймворка Ultralytics гарантирует, что вне зависимости от выбранной модели твой конвейер разработки останется чистым, эффективным и готовым к масштабированию.