YOLOv5 и YOLOv9#
За последние несколько лет область компьютерного зрения и обнаружения объектов в реальном времени значительно продвинулась. Выбор между проверенными временем моделями и новыми исследовательскими архитектурами часто становится непростой задачей для инженеров по машинному обучению. В этом руководстве приведено подробное техническое сравнение двух влиятельных моделей семейства YOLO: YOLOv5 и YOLOv9.
Независимо от того, разворачиваешь ли ты модель на периферийных устройствах с ограниченными ресурсами, исследуешь извлечение высокоточных признаков или создаёшь сложные конвейеры обнаружения объектов, понимание архитектурных особенностей, показателей производительности и различий экосистем этих моделей имеет решающее значение.
Обзор моделей#
Прежде чем перейти к сравнению архитектур, полезно понять происхождение и основные цели каждой модели.
Ultralytics YOLOv5#
Разработанная Glenn Jocher и выпущенная Ultralytics 26 июня 2020 года, YOLOv5 изменила подход разработчиков к работе с моделями компьютерного зрения. Полностью приняв фреймворк PyTorch, YOLOv5 заменила сложные этапы компиляции, характерные для более ранних моделей на основе Darknet, интуитивно понятным подходом с приоритетом Python.
- Автор: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: Репозиторий YOLOv5
- Документация: Документация YOLOv5
YOLOv5 известна своей простотой использования и стабильной производительностью на различном оборудовании. Она поддерживает не только обнаружение объектов, но также классификацию изображений и сегментацию экземпляров.
YOLOv9#
Представленная Chien-Yao Wang и Hong-Yuan Mark Liao из Института информационных наук Академии Синика на Тайване, YOLOv9 уделяет особое внимание архитектурной теории для устранения проблем информационного узкого места в глубоких нейронных сетях.
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Институт информационных наук Academia Sinica, Тайвань
- Дата: 2024-02-21
- Arxiv: 2402.13616
- GitHub: Репозиторий YOLOv9
- Документация: Документация YOLOv9
В основе YOLOv9 лежат два важных теоретических нововведения: информация о программируемом градиенте (PGI) и обобщённая эффективная сеть агрегации слоёв (GELAN). Эти концепции помогают модели сохранять важные пространственные признаки на глубоких уровнях сети.
Хотя YOLOv5 и YOLOv9 обладают широкими возможностями, недавно выпущенная YOLO26 обеспечивает оптимальный баланс скорости и точности. Благодаря сквозной архитектуре без NMS и ускорению вывода на CPU до 43% YOLO26 настоятельно рекомендуется для современных периферийных вычислений и развёртываний в production.
Архитектурные и технические различия#
Чтобы оптимизировать стратегии развёртывания моделей, важно понимать, что происходит внутри этих моделей компьютерного зрения.
Извлечение признаков и сохранение информации#
YOLOv5 использует магистральную сеть с частичным разделением этапов (CSPNet), которая эффективно снижает вычислительные затраты, сохраняя точную передачу градиента во время обратного распространения. Эта архитектура хорошо оптимизирована для традиционных операций на GPU и обеспечивает меньшие требования к памяти во время обучения по сравнению с ресурсоёмкими альтернативами на основе Transformer.
YOLOv9 представляет GELAN — универсальную архитектуру, расширяющую принципы CSPNet. В сочетании с PGI — вспомогательной обратимой ветвью — YOLOv9 гарантирует, что глубокие слои не теряют семантические данные, необходимые для точных целевых функций. Благодаря этому YOLOv9 достигает высокой точности, особенно при работе с небольшими объектами, хотя сложная вспомогательная ветвь иногда может усложнять экспорт на периферийное оборудование с жёсткими ограничениями.
Требования к памяти и эффективность обучения#
Что касается эффективности обучения, YOLOv5 остаётся исключительно надёжной моделью. Хорошо поддерживаемая экосистема Ultralytics гарантирует, что модели YOLOv5 потребляют значительно меньше памяти CUDA, позволяя исследователям увеличивать размеры пакетов на потребительских GPU. Хотя YOLOv9 обеспечивает отличную эффективность параметров (высокую точность относительно своего размера), её обучение может требовать больше ресурсов без оптимизированных фреймворков. К счастью, интеграция YOLOv9 в API Ultralytics приближает её к YOLOv5 по эффективности управления ресурсами.
Производительность и метрики#
Для объективной оценки этих архитектур мы сравниваем их производительность на стандартных наборах данных, таких как COCO. Ниже приведён подробный разбор таких показателей, как mAP (средняя точность), скорость вывода и количество параметров.
| Модель | размер (пиксели) | 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 |
Как показывает таблица, 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 обеспечивают стабильную частоту кадров для таких приложений, как интеллектуальное управление парковкой.
- Быстрое прототипирование: широкая доступность обучающих материалов сообщества, пользовательских предобученных весов и совместимость с огромным количеством наборов данных делают эту модель самым быстрым способом проверить концепцию.
Когда стоит выбрать YOLOv9#
YOLOv9 идеально подходит для сценариев, где крайне важно сохранять сложные детали и минимизировать ложноотрицательные результаты, даже если это требует немного больших вычислительных затрат.
- Аэрофотосъёмка и спутниковые изображения: фреймворк PGI отлично сохраняет детализацию небольших объектов, благодаря чему YOLOv9 прекрасно подходит для сельскохозяйственного мониторинга с помощью дронов.
- Диагностика по медицинским изображениям: при обнаружении мельчайших аномалий или поражений на сканах высокого разрешения точная передача градиента GELAN обеспечивает необходимое преимущество по полноте.
- Аналитика в премиальном ритейле: отслеживание перекрывающихся товаров на плотно заполненных полках значительно выигрывает благодаря превосходной способности YOLOv9 сохранять признаки.
Расширяй свои возможности#
Хотя сравнение YOLOv5 и YOLOv9 наглядно показывает, как архитектуры развивались с 2020 по 2024 год, область ИИ сейчас развивается быстрее, чем когда-либо. Разработчикам, стремящимся к абсолютному переднему краю производительности, настоятельно рекомендуется изучить новейшие модели YOLO26. Заменяя традиционное подавление немаксимумов встроенной сквозной архитектурой без NMS и используя продвинутый оптимизатор MuSGD, YOLO26 устраняет разрыв между точностью исследовательского уровня и скоростью production-уровня. Благодаря удалению DFL (Distribution Focal Loss удалена для упрощения экспорта и повышения совместимости с периферийными устройствами и устройствами с низким энергопотреблением) YOLO26 обеспечивает ускорение вывода на CPU до 43%, что делает её идеальной для периферийных вычислений. Кроме того, ProgLoss + STAL обеспечивают улучшенные функции потерь и заметно повышают качество распознавания небольших объектов, что важно для IoT, робототехники и аэрофотосъёмки.
Тебе также может быть интересно сравнить эти архитектуры с другими современными моделями, такими как RT-DETR или высокоэффективная YOLO11. Унифицированный фреймворк Ultralytics гарантирует, что независимо от выбранной модели твой конвейер разработки останется чистым, эффективным и готовым к масштабированию.