YOLOv9 vs YOLO11: Эволюция архитектуры и анализ производительности
Ландшафт компьютерного зрения определяется быстрыми инновациями, когда модели постоянно расширяют границы точности, скорости и эффективности. В этом сравнении исследуются две важные вехи в object detection: YOLOv9, модель, ориентированная на исследования и представляющая новые архитектурные концепции, и Ultralytics YOLO11, последняя готовая к производству эволюция, разработанная для универсальности в реальном мире.
В то время как YOLOv9 фокусируется на решении проблем узких мест информации глубокого обучения посредством теоретических прорывов, Ultralytics YOLO11 совершенствует современную (SOTA) производительность, уделяя особое внимание удобству использования, эффективности и плавной интеграции в экосистему Ultralytics.
Метрики производительности: Скорость и точность
В следующей таблице представлено прямое сравнение ключевых показателей производительности, оцененных на датасете COCO. При выборе модели важно сбалансировать Mean Average Precision (mAP) со скоростью инференса и вычислительными затратами (FLOPs).
| Модель | размер (пиксели) | 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Как показывают данные, YOLO11 демонстрирует превосходную эффективность. Например, модель YOLO11n достигает более высокого mAP (39.5%), чем YOLOv9t (38.3%), при этом используя меньше FLOPs и работая значительно быстрее на GPU. В то время как самая большая модель YOLOv9e имеет небольшое преимущество в необработанной точности, она требует почти вдвое больше времени вывода, чем YOLO11l, что делает YOLO11 более прагматичным выбором для сценариев вывода в реальном времени.
YOLOv9: Решение проблемы узкого места информации
Выпуск YOLOv9 был осуществлен с конкретной академической целью: решить проблему потери информации при прохождении данных через глубокие нейронные сети. На архитектуру модели сильное влияние оказала необходимость сохранения информации о градиентах во время обучения.
Технические детали:
Авторы: Chien-Yao Wang, Hong-Yuan Mark Liao
Организация:Институт информатики, Academia Sinica, Тайвань
Дата: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Документация:https://docs.ultralytics.com/models/yolov9/
Ключевые архитектурные особенности
Ключевыми инновациями YOLOv9 являются программируемая градиентная информация (PGI) и обобщенная эффективная сеть агрегации слоев (GELAN).
- PGI: Эта вспомогательная структура контроля гарантирует, что глубокие слои получают надежную информацию о градиенте, смягчая «информационное узкое место», которое часто затрудняет сходимость глубоких сетей.
- GELAN: Эта архитектура оптимизирует эффективность параметров, сочетая сильные стороны CSPNet и ELAN, что обеспечивает гибкое масштабирование вычислений.
Академическая направленность
YOLOv9 служит отличным примером для исследователей, интересующихся теорией глубокого обучения, особенно в отношении потока градиентов и сохранения информации в сверточных нейронных сетях.
Ultralytics YOLO11: Универсальность и эффективность
Основываясь на наследии YOLOv8, YOLO11 представляет собой вершину компьютерного зрения, ориентированного на производство. Он разработан не только для достижения высоких показателей в бенчмарках, но и для практического развертывания, простоты использования и многозадачности.
Технические детали:
Авторы: Glenn Jocher, Jing Qiu
Организация:Ultralytics
Дата: 2024-09-27
GitHub:https://github.com/ultralytics/ultralytics
Документация:https://docs.ultralytics.com/models/yolo11/
Ключевые архитектурные особенности
YOLO11 представляет собой усовершенствованную архитектуру, разработанную для максимального извлечения признаков при минимизации вычислительных затрат. В ней используется улучшенная структура backbone и neck, которая улучшает интеграцию признаков в разных масштабах, что имеет решающее значение для обнаружения мелких объектов.
Модель также имеет улучшенные конструкции head для более быстрой сходимости во время обучения. В отличие от моделей, ориентированных на исследования, YOLO11 построена в единой структуре, которая изначально поддерживает Detection, Segmentation, Classification, Pose Estimation и Oriented Bounding Boxes (OBB).
Подробные пункты сравнения
Простота использования и экосистема
Одно из наиболее существенных различий заключается в пользовательском опыте. Ultralytics YOLO11 разработан с учетом принципа "разработчик прежде всего". Он легко интегрируется с более широкой экосистемой Ultralytics, которая включает в себя инструменты для аннотации данных, управления наборами данных и экспорта моделей.
- YOLO11: Может быть обучена, проверена и развернута с помощью нескольких строк кода, используя
ultralyticsPython пакет или CLI. Он выигрывает от частых обновлений, обширной документации и огромного сообщества. - YOLOv9: Хотя она и поддерживается в библиотеке Ultralytics, оригинальная реализация и некоторые расширенные конфигурации могут потребовать более глубокого понимания соответствующей исследовательской работы.
Требования к памяти и эффективность обучения
Эффективное использование ресурсов является отличительной чертой моделей Ultralytics. YOLO11 оптимизирована для снижения потребления памяти CUDA во время обучения по сравнению со многими альтернативами на основе трансформеров или более старыми итерациями YOLO. Это позволяет разработчикам обучать модели с большим размером пакета на оборудовании потребительского класса, ускоряя цикл разработки.
Кроме того, YOLO11 предоставляет легкодоступные, высококачественные предварительно обученные веса для всех задач, обеспечивая быструю и эффективную передачу обучения. Это контрастирует с исследовательскими моделями, которые могут предлагать ограниченные предварительно обученные контрольные точки, ориентированные в первую очередь на detect COCO.
Универсальность задач
В то время как YOLOv9 в первую очередь признана за свои достижения в detectировании объектов, YOLO11 предлагает встроенную поддержку широкого спектра задач компьютерного зрения в рамках единого фреймворка:
- Сегментация экземпляров: Точное маскирование объектов.
- Оценка позы: Обнаружение скелетных ключевых точек (например, для позы человека).
- Классификация: Категоризация целых изображений.
- Ориентированные ограничивающие рамки (obb): Обнаружение вращающихся объектов, что жизненно важно для аэрофотосъемки.
Унифицированный API
Переключение между задачами в YOLO11 так же просто, как изменение файла весов модели (например, с yolo11n.pt для detect к yolo11n-seg.pt для segment).
Пример кода: Сравнение в действии
Следующий код на python демонстрирует, как легко обе модели могут быть загружены и использованы в рамках Ultralytics, подчеркивая унифицированный API, который упрощает тестирование различных архитектур.
from ultralytics import YOLO
# Load the research-focused YOLOv9 model (compact version)
model_v9 = YOLO("yolov9c.pt")
# Load the production-optimized YOLO11 model (medium version)
model_11 = YOLO("yolo11m.pt")
# Run inference on a local image
# YOLO11 provides a balance of speed and accuracy ideal for real-time apps
results_11 = model_11("path/to/image.jpg")
# Display results
results_11[0].show()
Идеальные варианты использования
Когда следует выбирать YOLOv9
YOLOv9 – отличный выбор для академических исследований и сценариев, где максимальная точность на статических изображениях является единственным приоритетом, независимо от вычислительных затрат.
- Исследовательские проекты: Исследование потока градиентов и архитектуры нейронных сетей.
- Бенчмаркинг: Соревнования, где важна каждая доля mAP.
- Развертывания на серверах высокого класса: Где доступны мощные GPU (например, A100), чтобы справиться с более высокими FLOPs варианта 'E'.
Когда стоит выбирать Ultralytics YOLO11
YOLO11 — это рекомендуемый выбор для коммерческих приложений, периферийных вычислений и многозадачных систем.
- Edge AI: Развертывание на таких устройствах, как NVIDIA Jetson или Raspberry Pi, благодаря превосходному соотношению скорости и веса.
- Аналитика в реальном времени: Мониторинг трафика, анализ спортивных соревнований и контроль качества производства, где критически важна задержка.
- Сложные конвейеры: Приложения, требующие одновременного detect, segment и оценки позы.
- Быстрое прототипирование: Стартапы и предприятия, которым необходимо быстро перейти от концепции к развертыванию, используя Ultralytics API.
Другие модели для изучения
В то время как YOLOv9 и YOLO11 являются мощными конкурентами, библиотека Ultralytics поддерживает множество других моделей, разработанных для конкретных нужд:
- YOLOv8: Надежный предшественник YOLO11, все еще широко используемый и поддерживаемый.
- RT-DETR: Детектор на основе трансформера, который отличается высокой точностью, но может потребовать больше памяти.
- YOLOv10: Отличительная архитектура, ориентированная на обучение без NMS для снижения задержки в определенных конфигурациях.
Ознакомьтесь с полным спектром опций в разделе Сравнение моделей.
Заключение
Обе архитектуры представляют собой значительные достижения в области компьютерного зрения. YOLOv9 вносит ценный теоретический вклад в обучение глубоких сетей, а Ultralytics YOLO11 синтезирует эти достижения в надежный, универсальный и высокоэффективный инструмент для всего мира. Для большинства разработчиков и исследователей, стремящихся создавать масштабируемые приложения реального времени, баланс производительности, простоты использования и всесторонней поддержки экосистемы YOLO11 делает его превосходным выбором.