YOLO против YOLOv10: глубокое погружение в эволюцию обнаружения объектов
Выбор правильной модели обнаружения объектов - это ключевое решение, которое влияет на все: от стоимости развертывания до удобства использования. В этом техническом сравнении рассматриваются различия между YOLO, исследовательской моделью от Alibaba Group, и YOLOv10новейшим сквозным детектором реального времени, разработанным исследователями из Университета Цинхуа и интегрированным в экосистему Ultralytics .
Хотя обе модели нацелены на оптимизацию компромисса между скоростью и точностью, они используют совершенно разные архитектурные стратегии. В этом анализе рассматриваются их технические характеристики, показатели производительности и идеальные варианты использования, чтобы помочь вам сориентироваться в сложном ландшафте компьютерного зрения.
Метрики производительности
В таблице ниже представлено прямое сравнение эффективности и точности на наборе данныхCOCO . Ключевыми моментами являются эффективность параметров и скорость вывода, где YOLOv10 демонстрирует значительные преимущества благодаря своей конструкции NMS.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
YOLO: инновации, основанные на исследованиях
Выпущенный в конце 2022 года, YOLO представляет собой значительное усилие Alibaba Group, направленное на расширение границ детекторов YOLO с помощью усовершенствованной нейронной архитектуры и новых методов объединения признаков.
Технические подробности:
Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, et al.
Организация:Alibaba Group
Дата: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHubYOLO
Архитектура и ключевые особенности
YOLO объединяет в себе несколько передовых концепций для достижения своей эффективности:
- Поиск нейронной архитектуры (NAS): В отличие от моделей, в которых магистрали проектируются вручную, YOLO использует MAE-NAS для автоматического поиска эффективных сетевых структур, оптимизируя глубину и ширину сети для конкретных аппаратных ограничений.
- RepGFPN Neck: Эта сеть пирамид признаков использует повторную параметризацию для эффективного объединения признаков. Она позволяет создавать сложные структуры во время обучения, которые распадаются на более простые блоки во время вывода, сохраняя точность и увеличивая скорость.
- ZeroHead и AlignedOTA: модель использует конструкцию "ZeroHead" для снижения сложности головки обнаружения и применяет AlignedOTA (Optimal Transport Assignment) для назначения меток во время обучения, решая проблемы с несоответствием между задачами классификации и регрессии.
Учет сложности
Хотя YOLO предлагает впечатляющие инновации, его зависимость от NAS и специализированных компонентов может сделать конвейер обучения более сложным и менее доступным для разработчиков, которым требуется быстрая настройка или развертывание на различном оборудовании без тщательной настройки.
Сильные и слабые стороны
- Сильные стороны: YOLO обеспечивает высокую точность, особенно для времени выпуска, и представляет новые концепции, такие как улучшение дистилляции для небольших моделей.
- Слабые стороны: Экосистема, окружающая YOLO , в основном связана с фреймворком MMDetection, который может оказаться более сложным в освоении по сравнению с дружественной экосистемойUltralytics . Кроме того, она требует традиционной постобработки NMS , что увеличивает время ожидания.
YOLOv10: Эра сквозного обнаружения в режиме реального времени
YOLOv10, выпущенный в мае 2024 года исследователями из Университета Цинхуа, представляет собой смену парадигмы в линейке YOLO . Благодаря отсутствию необходимости в немаксимальном подавленииNMS) она достигает истинной сквозной производительности, значительно сокращая время ожидания вывода.
Технические подробности:
Авторы: Ao Wang, Hui Chen, Lihao Liu, et al.
Organization:Tsinghua University
Date: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics
Архитектура и инновации
YOLOv10 фокусируется на целостной эффективности, ориентируясь как на архитектуру, так и на конвейер постобработки:
- ДизайнNMS: Благодаря стратегии, называемой Consistent Dual Assignments, YOLOv10 обучается с использованием как однократных, так и однократных назначений меток. Это позволяет модели предсказывать один лучший ящик для каждого объекта во время вывода, делая NMS устаревшим. Это критическое преимущество для выводов в реальном времени, где постобработка часто становится узким местом.
- Целостный дизайн эффективности и точности: В архитектуре используется облегченная головка классификации и понижающая дискретизация с развязкой по пространственным каналам. Эти оптимизации уменьшают избыточность вычислений, что приводит к снижению числа FLOP и количества параметров по сравнению с предыдущими поколениями.
- Дизайн блоков, ориентированный на ранг: Модель адаптирует дизайн внутренних блоков в зависимости от избыточности различных этапов, используя компактные инвертированные блоки (CIB) там, где требуется эффективность, и частичное самовнимание (PSA) там, где важно расширение возможностей.
Простота использования Ultralytics
Одним из наиболее значимых преимуществ YOLOv10 является его бесшовная интеграция в экосистемуUltralytics . Разработчики могут обучать, проверять и внедрять YOLOv10 , используя тот же простой API, что и для YOLOv8 и YOLO11.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on your custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Сравнительный анализ
Если сравнивать YOLO и YOLOv10, то разница заключается в их подходе к эффективности и операционной экосистеме.
Скорость и задержка
YOLOv10 имеет явное преимущество по задержке в реальном мире. Стандартные модели YOLO (и YOLO) требуют немаксимального подавления (NMS) для фильтрации перекрывающихся ограничительных блоков. Время выполнения NMS зависит от количества обнаруженных объектов, что приводит к непредсказуемым задержкам. Сплошная конструкция YOLOv10 обеспечивает детерминированную задержку, что делает ее превосходной для приложений, критичных ко времени, таких как автономное вождение или высокоскоростная промышленная робототехника.
Эффективность использования ресурсов
Как видно из таблицы производительности, YOLOv10s достигает более высокого mAP (46,7%), чем YOLO (46,0%), при этом используя меньше половины параметров (7,2M против 16,3M). Такое сокращение объема памяти имеет решающее значение для развертывания на границе. Модели Ultralytics известны своими низкими требованиями к памяти как при обучении, так и при выводе, что позволяет проводить обучение на графических процессорах потребительского класса, где другие архитектуры могут столкнуться с ошибками Out-Of-Memory (OOM).
Экосистема и поддержка
В то время как YOLO является сильным академическим вкладом, YOLOv10 пользуется преимуществами хорошо поддерживаемой экосистемы Ultralytics . Она включает в себя:
- Активная разработка: Частые обновления и исправления ошибок.
- Поддержка сообщества: Массовое сообщество разработчиков на GitHub и Discord.
- Документация: Обширная документация, охватывающая все аспекты - от расширения данных до развертывания.
- Эффективность тренировок: Оптимизированные процедуры, поддерживающие такие функции, как автоматическая смешанная точность (AMP) и обучение на нескольких GPU , уже из коробки.
За пределами обнаружения
Если ваш проект требует универсальности, выходящей за рамки ограничительных рамок, например сегментации объектов, оценки позы или ориентированного обнаружения объектов (OBB), обратите внимание на YOLO11 или YOLOv8. В то время как YOLOv10 превосходит всех в чистом обнаружении, более широкое семейство Ultralytics предлагает самые современные решения для этих сложных многозадачных задач.
Идеальные варианты использования
Когда выбирать YOLOv10
- Edge AI & IoT: Малое количество параметров (например, у YOLOv10n - 2,3 М параметров) делает его идеальным для таких устройств, как Raspberry Pi или NVIDIA Jetson.
- Видеоаналитика в реальном времени: Отказ от NMS обеспечивает стабильную частоту кадров, что очень важно для мониторинга трафика или систем безопасности.
- Быстрое развитие: Команды, которым необходимо быстро перейти от данных к развертыванию, получат преимущества от интуитивно понятного
ultralyticsAPI Python и Ultralytics HUB.
Когда стоит рассмотреть DAMO-YOLO
- Академические исследования: Исследователи, изучающие нейронную архитектуру поиска (NAS) или оптимизацию пирамиды функций, могут найти архитектуру YOLO в качестве ценного справочника.
- Унаследованные конвейеры: Проектам, уже глубоко интегрированным в фреймворк MMDetection, будет проще принять YOLO , чем переходить на другой фреймворк.
Заключение
Обе модели представляют собой значительные вехи в области компьютерного зрения. В 2022 году YOLO продемонстрировала возможности NAS и расширенного объединения признаков. Однако для современных приложений в 2024 году и далее, YOLOv10 предлагает более привлекательный пакет. Его сквозная архитектура NMS решает давнюю проблему обнаружения объектов, а интеграция в экосистему Ultralytics обеспечивает доступность, поддерживаемость и простоту развертывания.
Для разработчиков, ищущих оптимальный баланс скорости, точности и простоты использования, YOLOv10универсальным YOLO11-является лучшим выбором для создания надежных решений в области искусственного интеллекта.