YOLOv10 vs YOLO11: Навигация по рубежам обнаружения объектов в реальном времени
Выбор правильной модели компьютерного зрения имеет решающее значение для успеха любого AI-проекта, балансируя компромиссы между скоростью, точностью и простотой развертывания. В этом руководстве представлено подробное техническое сравнение между YOLOv10, академическим релизом, ориентированным на обучение без NMS, и Ultralytics YOLO11, последней эволюцией в известной серии YOLO, разработанной для производительности и универсальности корпоративного уровня.
В то время как YOLOv10 представляет интересные архитектурные концепции для снижения задержки, YOLO11 совершенствует современный уровень развития благодаря превосходной точности, более широкой поддержке задач и надежной экосистеме, которая упрощает рабочий процесс от аннотации данных до развертывания модели.
YOLOv10: Специалист без NMS
YOLOv10 возникла в результате академических исследований с конкретной целью: оптимизировать конвейер inference, устранив необходимость в Non-Maximum Suppression (NMS). Этот подход нацелен на снижение задержки в конкретных периферийных сценариях.
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация:Университет Цинхуа
- Дата: 2024-05-23
- Arxiv:2405.14458
- GitHub:THU-MIG/yolov10
- Документация:Документация YOLOv10
Архитектура и инновации
Определяющей особенностью YOLOv10 является его последовательная стратегия двойного назначения для обучения без NMS. Традиционные модели YOLO часто предсказывают несколько ограничивающих рамок для одного объекта, требуя постобработки NMS для фильтрации дубликатов. YOLOv10 изменяет функцию потерь при обучении, чтобы побудить модель напрямую выводить одну лучшую рамку для каждого объекта. Кроме того, в нем используется целостный дизайн модели, ориентированный на эффективность и точность, с использованием облегченных классификационных голов для уменьшения FLOPs и количества параметров.
Сильные и слабые стороны
Преимущества:
- Inference без NMS: Удалив шаг NMS, модель снижает задержку постобработки, что может быть полезно на оборудовании с ограниченной мощностью CPU для не матричных операций.
- Эффективность параметров: Архитектура разработана как легкая, достигающая хорошей точности с относительно небольшим количеством параметров.
Слабые стороны:
- Ограниченная универсальность: YOLOv10 фокусируется почти исключительно на object detection. Ему не хватает встроенной поддержки сложных задач, таких как instance segmentation или оценка позы, что ограничивает его полезность в многогранных приложениях ИИ.
- Поддержка, ориентированная на исследования: Поскольку это академический проект, он может не предлагать такого же уровня долгосрочного обслуживания, частоты обновлений или интеграции с инструментами развертывания, как модели, поддерживаемые предприятиями.
Идеальный вариант использования
YOLOv10 лучше всего подходит для узкоспециализированных приложений с одной задачей, где удаление этапа NMS имеет решающее значение для соблюдения строгих ограничений по задержке на конкретном встроенном оборудовании.
Ultralytics YOLO11: Вершина универсальности и производительности
Ultralytics YOLO11 представляет собой передовой край визуального ИИ, опираясь на наследие YOLOv8 и YOLOv5. Он разработан не просто как модель, а как комплексное решение для реальных задач ИИ.
- Авторы: Гленн Джохер, Цзин Цю
- Организация:Ultralytics
- Дата: 2024-09-27
- GitHub:ultralytics/ultralytics
- Документация:Документация YOLO11
Архитектура и экосистема
YOLO11 усовершенствует механизм detect без привязки к anchor с улучшенной архитектурой backbone и neck, включающей модули C3k2 и C2PSA, которые повышают эффективность извлечения признаков. В отличие от своих конкурентов, YOLO11 — это многозадачный центр. Единая платформа поддерживает detect, segment, classify, оценку позы и ориентированные ограничивающие рамки (obb), что позволяет разработчикам консолидировать свой стек ИИ.
Ключевым моментом является то, что YOLO11 поддерживается экосистемой Ultralytics. Это обеспечивает бесшовную интеграцию с инструментами для управления данными, простой экспорт моделей в такие форматы, как ONNX и TensorRT, а также надежную поддержку сообщества.
Основные преимущества
- Превосходный баланс производительности: YOLO11 стабильно достигает более высоких показателей mAP, сохраняя при этом исключительную скорость inference, часто превосходя альтернативы без NMS по реальной пропускной способности на GPU.
- Непревзойденная универсальность: Независимо от того, нужно ли вам отслеживать игроков в спорте, segment медицинские изображения или detect вращающиеся объекты на аэрофотоснимках, YOLO11 справляется со всем этим в рамках одного Python API.
- Простота использования: Интерфейс Ultralytics славится своей простотой. Для обучения современной модели требуется всего несколько строк кода, что демократизирует доступ к передовому ИИ.
- Эффективность обучения: Оптимизированные процедуры обучения и высококачественные предварительно обученные веса обеспечивают более быструю сходимость, экономя время и вычислительные ресурсы.
- Более низкие требования к памяти: По сравнению с архитектурами на основе трансформаторов, такими как RT-DETR, YOLO11 значительно эффективнее использует память во время обучения, что делает его доступным на более широком спектре оборудования.
Преимущества экосистемы
Использование YOLO11 предоставляет доступ к набору интеграций, включая MLFlow для отслеживания экспериментов и OpenVINO для оптимизированного вывода на оборудовании Intel, что обеспечивает плавное масштабирование вашего проекта от прототипа до производства.
Сравнение производительности: Скорость, точность и эффективность
При сравнении YOLOv10 и YOLO11 важно смотреть не только на количество параметров, но и изучать показатели производительности в реальных условиях. В то время как YOLOv10 снижает теоретическую сложность за счет удаления NMS, YOLO11 демонстрирует превосходную скорость инференса на стандартных аппаратных конфигурациях, таких как T4 GPU с TensorRT.
Данные показывают, что YOLO11 предлагает лучший компромисс для большинства приложений. Например, YOLO11n достигает той же точности (39.5 mAP), что и YOLOv10n, но с более надежной архитектурой, поддерживаемой Ultralytics API. По мере увеличения размера модели преимущества YOLO11 в точности становятся более выраженными, при этом YOLO11x достигает 54.7 mAP, устанавливая высокую планку для точности обнаружения.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| 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 обеспечивает более быстрый инференс на GPU (TensorRT) почти для всех размеров моделей. Например, YOLO11l работает со скоростью 6.2 мс по сравнению с 8.33 мс у YOLOv10l, что представляет собой значительное преимущество в пропускной способности для видеоаналитики в реальном времени.
- Точность: YOLO11 стабильно превосходит YOLOv10 по mAP, обеспечивая меньшее количество ложных срабатываний и лучшую локализацию, что имеет решающее значение для критически важных задач, таких как автономная навигация или обнаружение дефектов.
- Вычисления: В то время как YOLOv10 минимизирует параметры, YOLO11 оптимизирует фактический вычислительный граф для обеспечения более быстрого времени выполнения, доказывая, что количество параметров само по себе не определяет скорость.
Применение в реальном мире и пример кода
Истинным испытанием модели является то, насколько легко она интегрируется в производственный процесс. YOLO11 превосходна здесь благодаря своему простому интерфейсу Python. Ниже приведен пример того, как загрузить предварительно обученную модель YOLO11 и запустить inference на изображении.
from ultralytics import YOLO
# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Этот простой фрагмент кода предоставляет доступ к самой современной производительности. Тот же API позволяет вам без труда переключаться на обучение на пользовательских наборах данных, проверку производительности модели или track объектов в видеопотоках.
Вывод: Вердикт
Хотя YOLOv10 предлагает инновационный взгляд на архитектуры без NMS и является достойным выбором для академических исследований или сильно ограниченных периферийных сценариев, Ultralytics YOLO11 выделяется как превосходный выбор для подавляющего большинства разработчиков и предприятий.
Сочетание высокой точности, высокой скорости инференса в реальных условиях и непревзойденной универсальности делает YOLO11 оптимальным решением для современного компьютерного зрения. Поддержка активно развивающейся экосистемы Ultralytics позволяет разработчикам получить не просто модель, а долгосрочного партнера в их AI-проектах, обеспечивая надежность, масштабируемость и передовые возможности их приложений.
Для тех, кто изучает дальше, сравнения с другими моделями, такими как YOLOv9 или RT-DETR, могут предоставить дополнительный контекст о развивающемся ландшафте detect объектов.