Link to this sectionYOLOv8 против YOLOv9#
Эволюция обнаружения объектов в реальном времени характеризуется постоянным стремлением к повышению точности, снижению задержек и улучшению использования аппаратного обеспечения. Двумя важными вехами на этом пути являются Ultralytics YOLOv8 и YOLOv9. Хотя обе модели представляют передовые возможности в области компьютерного зрения, они ориентированы на разные потребности развертывания, архитектурные философии и экосистемы разработчиков.
Это всеобъемлющее руководство разбирает технические различия, архитектурные инновации и практические аспекты развертывания, чтобы помочь тебе выбрать правильную модель для твоего следующего проекта в области искусственного интеллекта.
Link to this sectionИстория моделей и основные философии#
Прежде чем погружаться в показатели, важно понять происхождение и основные цели проектирования каждой модели.
Link to this sectionUltralytics YOLOv8: Универсальный стандарт экосистемы#
Выпущенная командой Ultralytics, YOLOv8 была спроектирована не просто как отдельный детектор объектов, а как единая многозадачная платформа. Она отдает приоритет удобству разработчика, низким требованиям к памяти и широкой совместимости с оборудованием.
- Авторы: Гленн Джочер, Аюш Чаурасия и Цзин Цю
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: ultralytics/ultralytics
- Документация: YOLOv8 Docs
Link to this sectionYOLOv9: программируемая градиентная информация#
Разработанная независимо исследователями из Academia Sinica, YOLOv9 уделяет значительное внимание архитектурной теории, в частности решению проблемы «бутылочного горлышка» информации в глубоких нейронных сетях.
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Институт информатики, Academia Sinica, Тайвань
- Дата: 2024-02-21
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
Если ты планируешь масштабное коммерческое развертывание, рассмотри возможность использования платформы Ultralytics для упрощенного обучения в облаке, управления наборами данных и работы с API-эндпоинтами в один клик.
Link to this sectionГлубокое изучение архитектуры#
Архитектурные решения в глубоком обучении определяют, насколько эффективно модель обучается и как быстро она работает на целевом оборудовании, например NVIDIA Jetson или Intel CPU.
Link to this sectionАрхитектура YOLOv8: C2f и разделенные головы#
В YOLOv8 был представлен модуль C2f (Cross-Stage Partial bottleneck с двумя свертками), который заменил старый модуль C3. Это изменение улучшает прохождение градиента и позволяет сети изучать более богатые представления признаков, не перегружая память GPU.
Кроме того, YOLOv8 использует anchor-free дизайн с разделенной головой (decoupled head). Обрабатывая объектность, классификацию и регрессию по отдельным путям, модель быстрее сходится во время обучения и лучше обобщается на разнообразных пользовательских наборах данных.
Link to this sectionАрхитектура YOLOv9: PGI и GELAN#
YOLOv9 представляет Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN). PGI гарантирует, что важные данные не теряются при прохождении через слои сети, обеспечивая надежные градиенты для обновления весов. GELAN максимизирует эффективность параметров, позволяя модели достигать высокой точности, стараясь при этом держать FLOPs в разумных пределах.
Хотя математически это впечатляет, зависимость YOLOv9 от специфических вспомогательных обратимых ветвей во время обучения может сделать код обучения более сложным для настройки по сравнению со стандартными конвейерами.
Link to this sectionПоказатели производительности и бенчмарки#
В таблице ниже представлено прямое сравнение моделей разных размеров. Производительность измерена на наборе данных MS COCO, стандартном бенчмарке для обнаружения объектов.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
Примечание: Лучшие значения в каждом столбце выделены жирным шрифтом.
Link to this sectionАнализ компромиссов#
YOLOv9 достигает немного более высокой пиковой точности (mAP), особенно с его более крупным вариантом e. Однако это имеет свою цену. Ultralytics YOLOv8 сохраняет значительное преимущество в скорости вывода, особенно при компиляции в форматы вроде TensorRT или ONNX. Для приложений, требующих высокой частоты кадров (FPS) на ограниченном по ресурсам периферийном оборудовании (например, Raspberry Pi или старых мобильных чипах), варианты n и s модели YOLOv8 предлагают гораздо более практичный баланс производительности.
Link to this sectionЭффективность обучения и интеграция с экосистемой#
Выбор модели — это не только изучение таблиц точности; опыт разработчика имеет первостепенное значение.
Link to this sectionПреимущество Ultralytics: простота использования#
Обучение YOLOv9 часто требует клонирования сложных репозиториев на GitHub, тщательной настройки окружений PyTorch и ручной конфигурации весов вспомогательных функций потерь.
В отличие от этого, Ultralytics YOLOv8 поддерживается невероятно оптимизированным Python API. Созданный для простоты использования, он нативно обрабатывает аугментацию данных, логирование (в такие инструменты, как Weights & Biases и Comet ML) и распределение нагрузки на оборудование.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 small model
model = YOLO("yolov8s.pt")
# Train the model efficiently on custom data
results = model.train(data="custom_dataset.yaml", epochs=100, imgsz=640)
# Export for edge deployment
model.export(format="engine", quantize=16) # TensorRT exportЭтот единый API значительно сокращает время от прототипа до продакшена. Кроме того, YOLOv8 обычно требует меньше памяти CUDA при обучении, что позволяет разработчикам использовать большие размеры пакетов (batch size) на потребительском оборудовании.
Link to this sectionУниверсальность задач#
Хотя YOLOv9 — отличный детектор ограничивающих рамок, реальные задачи зрения ИИ часто требуют большего. YOLOv8 — это универсальный мощный инструмент, нативно поддерживающий сегментацию экземпляров, оценку позы, классификацию изображений и ориентированные ограничивающие рамки (OBB). Использование одной платформы для нескольких задач радикально снижает избыточность ПО и расходы на поддержку.
Если ты начинаешь новый проект, возможно, тебе также стоит оценить Ultralytics YOLO11 или передовую YOLO26, которые нативно предлагают дизайн без NMS.
Link to this sectionРеальные сценарии использования#
Как эти модели показывают себя в продакшене?
Link to this sectionАвтономные дроны и робототехника#
Для робототехники, требующей быстрого предотвращения столкновений, YOLOv8 является предпочтительным выбором. Сверхнизкая задержка YOLOv8n гарантирует, что автономные системы реагируют на окружающую среду в реальном времени, предотвращая столкновения. Нативные возможности экспорта в OpenVINO и CoreML делают развертывание на маломощных чипах, типичных для коммерческих дронов, тривиальной задачей.
Link to this sectionВысокоточное обнаружение дефектов#
В специализированных производственных условиях, где обнаружение микроскопических аномалий критично, а автономная обработка допустима, YOLOv9 может быть весьма эффективен. Архитектура PGI помогает сети сохранять мелкозернистые визуальные детали, необходимые для идентификации микротрещин или ошибок пайки печатных плат.
Link to this sectionУмная розничная торговля и аналитика безопасности#
Для отслеживания клиентов в проходах магазина или управления автоматизированными системами оплаты, YOLOv8 обеспечивает наилучший баланс. Его способность одновременно выполнять обнаружение и отслеживание нескольких объектов с использованием стандартных алгоритмов, таких как BoT-SORT, делает его надежным решением для ритейл-развертываний с несколькими камерами.
Link to this sectionСценарии использования и рекомендации#
Выбор между YOLOv8 и YOLOv9 зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Link to this sectionКогда выбирать YOLOv8#
YOLOv8 — отличный выбор для:
- Универсального развертывания с несколькими задачами: проектов, требующих проверенной модели для обнаружения, сегментации, классификации и оценки позы в рамках экосистемы Ultralytics.
- Устоявшихся производственных систем: существующих производственных сред, уже построенных на архитектуре YOLOv8 со стабильными и хорошо протестированными пайплайнами развертывания.
- Широкой поддержки сообщества и экосистемы: приложений, которым нужны обширные руководства по YOLOv8, сторонние интеграции и активные ресурсы сообщества.
Link to this sectionКогда стоит выбрать YOLOv9#
YOLOv9 рекомендуется для:
- Исследований информационных узких мест: Академические проекты по изучению архитектур Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN).
- Изучения оптимизации потока градиентов: Исследования, направленные на понимание и смягчение потери информации в глубоких слоях сети во время обучения.
- Бенчмаркинга обнаружения высокой точности: Сценарии, где высокие показатели производительности YOLOv9 в бенчмарке COCO необходимы в качестве точки отсчета для архитектурных сравнений.
Link to this sectionКогда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и опыта разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Детектирования мелких объектов: сложных сценариев, таких как аэросъемка с дронов или анализ датчиков IoT, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Link to this sectionСледующая эволюция: YOLO26#
Хотя YOLOv8 и YOLOv9 мощны, ландшафт ИИ быстро меняется. Для команд, требующих абсолютной максимальной производительности, недавно выпущенная YOLO26 основывается на успехах этих предыдущих поколений.
YOLO26 представляет дизайн без NMS, который полностью устраняет сложные узкие места постобработки, делая развертывание проще, а задержки — более предсказуемыми. Благодаря новому оптимизатору MuSGD, улучшенным функциям потерь ProgLoss + STAL, а также удалению DFL (Distribution Focal Loss убран для упрощенного экспорта и лучшей совместимости с периферийными/маломощными устройствами), она обеспечивает до 43% более быстрый вывод на CPU при одновременном улучшении распознавания мелких объектов. Для разработчиков, расширяющих границы периферийных вычислений, настоятельно рекомендуется оценить YOLO26.
Вкратце, хотя YOLOv9 предлагает захватывающие архитектурные исследования и отличную пиковую точность, Ultralytics YOLOv8 остается наиболее практичным, хорошо поддерживаемым и универсальным выбором для подавляющего большинства инженеров по компьютерному зрению, стремящихся быстро выпускать надежное программное обеспечение.