YOLOv9 против YOLOv8: техническое сравнение для обнаружения объектов
Выбор оптимальной модели обнаружения объектов предполагает баланс между архитектурными инновациями и практическими потребностями развертывания. В данном техническом сравнении анализируется YOLOv9модель, ориентированную на исследования и использующую новые методы получения градиентной информации, и Ultralytics YOLOv8готовый к производству фреймворк, разработанный для обеспечения универсальности и скорости. Мы рассмотрим их архитектуры, показатели производительности на наборе данныхCOCO и идеальные примеры использования, чтобы помочь вам решить, какая модель подходит для вашего конвейера компьютерного зрения.
YOLOv9: решение проблемы потери информации с помощью новой архитектуры
Выпущенная в начале 2024 года, YOLOv9 направлена на решение фундаментальной проблемы потери информации в глубоких нейронных сетях. По мере углубления сетей важные входные данные могут исчезать, не достигнув последних слоев, что усложняет процесс обучения.
- Авторы: Чен-Яо Ванг, Хонг-Юань Марк Ляо
- Организация:Институт информационных наук, Академия Синика, Тайвань
- Дата: 21.02.2024
- Arxiv:arXiv:2402.13616
- GitHub:РепозиторийYOLOv9
- Документация:ДокументацияUltralytics YOLOv9
Ключевые инновации: PGI и GELAN
В YOLOv9 реализованы два основных архитектурных усовершенствования для борьбы с информационными узкими местами:
- Программируемая градиентная информация (PGI): Вспомогательная система управления, которая генерирует надежные градиенты для обновления весов сети, обеспечивая сохранение ключевых входных корреляций во всех слоях. Это особенно эффективно для обучения очень глубоких моделей.
- Обобщенная эффективная сеть агрегирования уровней (GELAN): Облегченная сетевая архитектура, в которой приоритет отдается эффективности параметров и скорости вычислений (FLOPs). GELAN позволяет YOLOv9 достигать высокой точности при приемлемой скорости вычислений.
Сильные стороны и ограничения
YOLOv9 превосходит всех в академических тестах, при этом YOLOv9-E вариант достижения высшего уровня показатели mAP. Это отличный выбор для исследователей, стремящихся расширить границы точности обнаружения. Однако, будучи моделью, уходящей корнями глубоко в исследования, она не имеет широкой многозадачной поддержки, которая есть в более развитых экосистемах. Ее основная реализация сосредоточена на обнаружении границ, а рабочие процессы обучения могут быть более ресурсоемкими по сравнению с оптимизированными промышленными решениями.
Ultralytics YOLOv8: стандарт для производственного ИИ
Ultralytics YOLOv8 представляет собой целостный подход к Vision AI. YOLOv8 не фокусируется только на одном показателе, а разрабатывается для обеспечения наилучшего пользовательского опыта, универсальности развертывания и баланса производительности. Он является частью обширной экосистемыUltralytics , что позволяет ему оставаться надежным и простым в использовании для разработчиков любого уровня подготовки.
- Авторы: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- Организация:Ultralytics
- Дата: 10.01.2023
- GitHub:РепозиторийUltralytics
- Документация:ДокументацияUltralytics YOLOv8
Архитектура и преимущества экосистемы
В YOLOv8 используется головка обнаружения без якорей и магистраль C2f (Cross-Stage Partial bottleneck with 2 convolutions), которая улучшает градиентный поток, сохраняя при этом малый вес. Помимо архитектуры, его сила заключается в интеграции:
- Простота использования: Благодаря унифицированному APIPython и интерфейсу командной строки (CLI), обучение и развертывание модели занимает всего несколько строк кода.
- Универсальность: В отличие от конкурентов, часто ограничивающихся обнаружением, YOLOv8 поддерживает сегментацию объектов, оценку позы, ориентированные граничные коробки (OBB) и классификацию изображений.
- Баланс производительности: Он предлагает исключительный компромисс между задержкой и точностью, что делает его подходящим для вычислений в реальном времени на пограничных устройствах, таких как NVIDIA Jetson или Raspberry Pi .
- Эффективность использования памяти: YOLOv8 обычно требует меньше памятиCUDA во время обучения по сравнению с архитектурами на основе трансформаторов, что снижает входной барьер для оборудования.
Интегрированные рабочие процессы
Модели Ultralytics легко интегрируются с такими инструментами, как TensorBoard для визуализации и MLflow для отслеживания экспериментов, оптимизируя жизненный цикл MLOps.
Анализ производительности: скорость, точность и эффективность
Выбор между моделями часто сводится к конкретным требованиям проекта, касающимся соотношения скорости и чистой точности. В таблице ниже приведено сравнение стандартных вариантов на проверочном наборе COCO .
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Основные выводы
- Точность высшего класса: Параметр
YOLOv9eМодель достигает замечательных 55,6% mAP, превосходяYOLOv8x. Если ваше приложение требует обнаружения самых сложных объектов, а задержка имеет второстепенное значение, YOLOv9e - сильный соперник. - Скорость в реальном времени: Для применений, зависящих от скорости,
YOLOv8nиYOLOv8sдемонстрируют превосходную производительность.YOLOv8nособенно эффективен для мобильное развертываниеЛегкое решение, невероятно быстрое как на CPU , так и на GPU. - Готовность к развертыванию: В таблице показаны скорости CPU ONNX для YOLOv8- критическая метрика для сред без GPU . Такая прозрачность данных отражает разработку YOLOv8 для широких сценариев развертывания, в то время как YOLOv9 часто тестируется преимущественно на high-end GPU, таких как V100 или T4, в исследовательских контекстах.
Обучение и удобство использования
Одно из самых значительных различий заключается в опыте разработчиков. В Ultralytics приоритетным является подход "батарейки в комплекте".
Простота с Ultralytics
Обучение модели YOLOv8 требует минимальных настроек. Библиотека автоматически справляется с расширением данных, настройкой гиперпараметров и загрузкой предварительно обученных весов.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Сложность исследования
Хотя YOLOv9 интегрирован в кодовую базу Ultralytics для облегчения доступа, оригинальные исследовательские репозитории часто требуют сложной настройки окружения и ручного управления гиперпараметрами. Хорошо поддерживаемая экосистема Ultralytics гарантирует, что независимо от того, используете ли вы YOLOv8 или портированный YOLOv9, вы получите преимущества от стабильных конвейеров CI/CD, обширной документации и поддержки сообщества через Discord.
Идеальные варианты использования
Выбирайте YOLOv9 , если:
- Максимальная точность имеет решающее значение: Такие проекты, как анализ медицинских изображений (например, обнаружение опухолей), где важен каждый процентный пункт mAP .
- Академические исследования: Вы изучаете новые архитектуры, такие как PGI, или проводите сравнительные исследования эффективности нейронных сетей.
- Среды с высокими вычислениями: Цели развертывания - мощные серверы (например, NVIDIA A100), где допустимы более высокие показатели FLOP.
Выберите Ultralytics YOLOv8, если:
- Требуются разнообразные задачи: Вам необходимо выполнить отслеживание объектов, сегментацию или оценку положения в рамках одной структуры проекта.
- Пограничное развертывание: Приложения, работающие на ограниченном аппаратном обеспечении, таком как интеллектуальные камеры или беспилотники, где не хватает памяти и циклов CPU .
- Быстрая разработка: Стартапы и корпоративные команды, которым необходимо быстро перейти от концепции к производству, используя такие форматы экспорта, как ONNX, TensorRT или OpenVINO.
- Стабильность и поддержка: Вам нужна модель, поддерживаемая частыми обновлениями и большим сообществом для эффективного устранения неполадок.
Заключение
Пока YOLOv9 представляет собой впечатляющий теоретический прогресс и достигает высокой точности обнаружения, Ultralytics YOLOv8 остается более практичным выбором для подавляющего большинства реальных приложений. Баланс скорости, точности и универсальности в сочетании с удобным API и эффективным процессом обучения делает его лучшим решением для разработчиков.
Тем, кто ищет абсолютную новинку в линейке Ultralytics , стоит обратить внимание на YOLO11в которой эти атрибуты еще больше усовершенствованы для достижения самой современной производительности. Однако между двумя рассматриваемыми здесь моделями YOLOv8 предлагает отполированный, готовый к производству опыт, который ускоряет путь от данных до развертывания.
Изучите другие модели
Если вас интересуют другие архитектуры, в документации Ultralytics приведены сравнения для нескольких других моделей:
- RT-DETR: Детектор на основе трансформатора, обеспечивающий высокую точность, но имеющий другие требования к ресурсам.
- YOLOv5: Легендарный предшественник, известный своей исключительной стабильностью и широким распространением.
- YOLO11: Последняя итерация от Ultralytics, еще больше повышающая эффективность.