Ultralytics YOLOv8 YOLOv10: эволюция обнаружения в реальном времени
Область компьютерного зрения развивается стремительными темпами, а новые архитектуры постоянно переопределяют современное состояние техники. Двумя важными вехами в этой хронологии являются Ultralytics YOLOv8 и YOLOv10. Хотя обе модели происходят от легендарной линейки YOLO You Only Look Once), они представляют разные философии дизайна и интеграции экосистем.
В данном руководстве представлено подробное техническое сравнение, которое поможет исследователям и разработчикам выбрать подходящий инструмент для своих конкретных нужд, учитывая такие факторы, как зрелость экосистемы, универсальность задач и архитектурные инновации.
Резюме: какую модель выбрать?
Прежде чем углубиться в архитектуру, рассмотрим общие отличия:
- Ultralytics YOLOv8 — это надежный «швейцарский нож» компьютерного зрения. Он является предпочтительным выбором для развертывания в предприятиях благодаря обширной экосистеме, поддержке нескольких задач (обнаружение, сегментация, поза, OBB, классификация) и бесшовной интеграции с Ultralytics .
- YOLOv10 — это специализированная модель обнаружения, которая представила миру обучение NMS. Она отлично подходит для исследований и конкретных сценариев, где основной целью является устранение постобработки.
Новейший стандарт: YOLO26
Хотя сравнение YOLOv8 YOLOv10 ценным, пользователи, которые ищут абсолютную лучшую производительность, должны обратить внимание на YOLO26. Выпущенная в январе 2026 года, YOLO26 объединяет в себе разработанную YOLOv10 конструкцию NMS YOLOv10 надежной экосистемой и многозадачной универсальностью Ultralytics. Она обеспечивает до 43 % более быстрое CPU и улучшенное обнаружение мелких объектов.
Ultralytics YOLOv8: Стандарт экосистемы
Выпущенная в начале 2023 года, YOLOv8 стала отраслевым стандартом для практического компьютерного зрения. Ее основная сила заключается не только в сырых показателях, но и в удобстве использования и универсальности.
Основные характеристики
- Многозадачное обучение: в отличие от многих специализированных моделей, YOLOv8 поддерживает обнаружение объектов, сегментацию экземпляров, оценку позы, ориентированные ограничивающие рамки (OBB) и классификацию изображений.
- Обнаружение без анкеров: используется раздельная головка без анкеров, которая уменьшает количество прогнозов по коробкам и ускоряет не максимальное подавление (NMS).
- Ultralytics : полная интеграция с инструментами для аннотирования данных, обучения моделей и развертывания.
Детали модели
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 2023-01-10
- Документация:Документация YOLOv8
YOLOv10: пионер NMS
Разработанная исследователями из Университета Цинхуа, YOLOv10 особое внимание архитектурной эффективности и устранению узких мест в постобработке.
Основные инновации
- Комплексное обучение: YOLOv10 последовательные двойные назначения, чтобы исключить необходимость в подавлении неактивных пиков (NMS) во время вывода. Это снижает изменчивость задержки в сценах с большим количеством объектов.
- Комплексный дизайн эффективности: архитектура отличается легкими классификационными головками и пространственно-канальным декуплированным понижающим дискретизированием для снижения вычислительных затрат (FLOP).
- Фокус: в первую очередь предназначен для задач обнаружения объектов.
Детали модели
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- Arxiv:2405.14458
- Документация:Документация YOLOv10
Техническое сравнение: метрики и производительность
В следующей таблице сравниваются результаты обеих моделей на наборе COCO .
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Анализ данных
- Точность против эффективности: YOLOv10 достигает более высокогоmAPval с меньшим количеством параметров и FLOP по сравнению с YOLOv8. Эта эффективность достигается за счет оптимизированных архитектурных блоков.
- Скорость вывода: хотя YOLOv10 NMS, YOLOv8 (особенно вариант Nano) остаются невероятно конкурентоспособными по сырой пропускной способности на стандартном оборудовании.
- Память для обучения: Ultralytics YOLOv8 высокоYOLOv8 для эффективности обучения, часто требуя меньше GPU , чем академические реализации, что позволяет использовать более крупные пакеты данных на потребительском оборудовании.
Архитектура и философия проектирования
Основное различие заключается в том, как эти модели обрабатывают окончательные прогнозы.
Архитектура YOLOv8
YOLOv8 Task-Aligned Assigner. Он отдельно прогнозирует границы рамок и оценки классов, но выравнивает их во время обучения. Важно, что он полагается на NMS для фильтрации дубликатов рамок. Это делает модель надежной и универсальной, позволяя легко адаптировать ее для сегментации и оценки позы.
Архитектура YOLOv10
YOLOv10 двойное присвоение меток. Во время обучения он использует головку «один ко многим» (как YOLOv8) для получения богатых сигналов контроля и головку «один к одному» для окончательного вывода. Такая структура позволяет модели научиться выбирать единственную лучшую рамку для объекта, делая NMS .
Последствия развертывания
Удаление NMS значительно NMS процесс развертывания. При экспорте моделей в такие форматы, как TensorRT или OpenVINOинженерам больше не нужно реализовывать сложные NMS , что снижает инженерные затраты.
Простота использования и экосистема
Именно здесь различие становится наиболее важным для разработчиков.
Ultralytics YOLOv8 поддерживается огромным, активным сообществом разработчиков открытого ПО. Его преимущества:
- Частые обновления: регулярные исправления, новые функции и исправления совместимости.
- Ultralytics : бесперебойное обучение в облаке и управление наборами данных.
- Документация: Подробные руководства по всем вопросам, от настройки гиперпараметров до развертывания на периферийных устройствах.
YOLOv10, хотя и доступен через Ultralytics , в первую очередь является академическим вкладом. Он может не получать такое же частое обслуживание или расширение функций (например, отслеживание или поддержка OBB), как основные Ultralytics .
Сравнение кода
Обе модели могут запускаться с помощью унифицированного Ultralytics , что демонстрирует простоту использования, обеспечиваемую экосистемой.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model (Official Ultralytics)
model_v8 = YOLO("yolov8n.pt")
# Load a pretrained YOLOv10 model (Community supported)
model_v10 = YOLO("yolov10n.pt")
# Train YOLOv8 on a custom dataset
model_v8.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference with YOLOv10 on an image
results = model_v10("https://ultralytics.com/images/bus.jpg")
Приложения в реальном мире
Когда использовать YOLOv8
- Сложная робототехника: если вашему роботу необходимо ориентироваться (обнаружение) и манипулировать объектами (поза/сегментация), многозадачные возможности YOLOv8 являются незаменимыми.
- Коммерческие продукты: для продуктов, требующих долгосрочного обслуживания, стабильность Ultralytics гарантирует, что ваша модель будет оставаться жизнеспособной в течение многих лет.
- Спутниковые изображения: Специализированные модели OBB в YOLOv8 идеально YOLOv8 для обнаружения повернутых объектов, таких как корабли или транспортные средства, на аэрофотоснимках.
Когда использовать YOLOv10
- Высокочастотная торговля визуальными данными: в сценариях, где важна каждая микросекунда задержки, исключение NMS обеспечивает детерминированное время вывода.
- Встроенные устройства с ограниченным CPU: для устройств, в которых NMS на CPU узким местом, сквозной дизайн YOLOv10 разгружает процессор.
Заключение
Обе архитектуры являются отличным выбором. YOLOv8 остается универсальным лидером для большинства разработчиков, предлагая безопасный, надежный и многофункциональный путь к производству. YOLOv10 предлагает увлекательный взгляд в будущее обнаружения NMS.
Однако в этой области уже произошли изменения. Для разработчиков, начинающих сегодня новые проекты, YOLO26 является рекомендуемым выбором. Он использует преимущества YOLOv10 , NMS, YOLOv10 усовершенствует их с помощью оптимизатора MuSGD и улучшенных функций потерь (ProgLoss), обеспечивая лучшее из обоих миров: передовую архитектуру академических исследований, подкрепленную промышленной поддержкой Ultralytics.
Дополнительная литература
- Документация YOLO26
- Показатели производительности YOLO: объяснение
- Руководство по обнаружению объектов
- Быстрый старт с Ultralytics Platform