YOLOv10 против YOLOv8: Глубокий технический анализ современного обнаружения объектов
Эволюция обнаружения объектов в реальном времени ознаменовалась быстрой сменой новаторских архитектур, каждая из которых стремилась расширить границы точности, скорости инференса и вычислительной эффективности. В этом всеобъемлющем техническом руководстве мы сравниваем две важные вехи в области компьютерного зрения: YOLOv10 и Ultralytics YOLOv8. В то время как YOLOv8 установила высокоуниверсальный и готовый к производству стандарт, YOLOv10 представила архитектурные изменения, специально направленные на устранение узких мест постобработки.
Понимание явных преимуществ, архитектур и метрик производительности этих моделей имеет решающее значение для разработчиков и исследователей, стремящихся развертывать передовые решения в области компьютерного зрения с использованием ИИ в реальных условиях.
Технические характеристики и авторство
Для эффективной оценки этих моделей полезно понимать их происхождение и основные направления работы соответствующих исследовательских групп.
YOLOv10: Сквозная эффективность
Разработанный исследователями из Университета Цинхуа, YOLOv10 был спроектирован для устранения вычислительных издержек, возникающих из-за этапов постобработки в предыдущих поколениях.
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация:Университет Цинхуа
- Дата: 2024-05-23
- Arxiv:2405.14458
- GitHub:THU-MIG/yolov10
- Документация:Документация YOLOv10
Ultralytics YOLOv8: универсальный стандарт
Выпущенный в начале 2023 года, YOLOv8 быстро стал отраслевым стандартом благодаря своей надежной архитектуре и беспрецедентной интеграции в более широкую экосистему машинного обучения.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 2023-01-10
- GitHub:ultralytics/ultralytics
Архитектурные инновации
Обе модели привносят значительные улучшения в традиционную архитектуру YOLO, хотя они нацелены на несколько разные аспекты конвейера.
Архитектура YOLOv10
Выдающейся особенностью YOLOv10 является его стратегия обучения без NMS. Традиционно детекторы объектов полагаются на Non-Maximum Suppression (NMS) во время инференса для отфильтровывания перекрывающихся ограничивающих рамок. Этот шаг может вызывать задержки и усложнять сквозное развертывание. YOLOv10 использует согласованные двойные назначения во время обучения, что позволяет модели естественным образом предсказывать одну точную ограничивающую рамку для каждого объекта. Кроме того, он использует целостный дизайн модели, ориентированный на эффективность и точность, оптимизируя различные компоненты для значительного сокращения FLOPs и количества параметров.
Архитектура YOLOv8
YOLOv8 представил безякорную голову обнаружения, отходя от якорных подходов своих предшественников. Это сокращает количество предсказаний ограничивающих рамок и ускоряет операции NMS. Кроме того, YOLOv8 включает модуль C2f (Cross-Stage Partial bottleneck с двумя свертками), который улучшает поток градиентов и позволяет сети изучать более богатые представления признаков без значительного увеличения вычислительных затрат. Его структура разделенной головы разделяет задачи обнаружения объектов (objectness), классификации и регрессии, что приводит к более быстрой сходимости и более высокой общей точности.
Производительность и сравнительное тестирование
При развертывании моделей на периферийных устройствах или облачных серверах компромисс между скоростью и точностью имеет первостепенное значение. В таблице ниже представлено прямое сравнение двух моделей в различных размерах.
| Модель | размер (пиксели) | 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 |
| 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 |
Примечание: Пустые ячейки указывают на метрики, официально не сообщаемые в идентичных условиях тестирования.
Как показывают данные, YOLOv10 демонстрирует исключительную эффективность использования параметров, часто соответствуя или превосходя mAP своих аналогов YOLOv8, при этом используя меньше параметров и операций FLOPs. Однако YOLOv8 остаётся невероятно конкурентоспособным, предлагая высокооптимизированную интеграцию с TensorRT, которая обеспечивает минимальную задержку вывода на современных GPU.
Аппаратное ускорение
При работе с производственными средами использование форматов, таких как ONNX или TensorRT, может значительно улучшить скорости инференса. Как YOLOv8, так и YOLOv10 поддерживают бесшовный экспорт в эти высокооптимизированные форматы графов.
Экосистема, эффективность обучения и универсальность
Выбор модели выходит за рамки теоретических бенчмарков; опыт разработчика и окружающая экосистема одинаково важны.
Преимущество Ultralytics
Одной из ключевых сильных сторон YOLOv8 является его тесная интеграция в экосистему Ultralytics. Эта среда обеспечивает опыт «от новичка до эксперта», характеризующийся высокоинтуитивным Python API и обширной документацией. В отличие от репозиториев, ориентированных на исследования, которые могут требовать сложной настройки среды, модели Ultralytics известны своей простотой использования.
Кроме того, YOLOv8 по своей природе универсален. В то время как YOLOv10 строго оптимизирован для обнаружения объектов, фреймворк Ultralytics позволяет разработчикам легко переключаться между задачами обнаружения объектов, сегментации экземпляров, классификации изображений, оценки позы и ориентированных ограничивающих рамок (OBB) в рамках одной и той же библиотеки и структуры API.
Требования к памяти и обучение
Модели Ultralytics YOLO разработаны с акцентом на эффективность обучения. Они обычно демонстрируют более низкое потребление памяти во время обучения и инференса по сравнению со сложными моделями-трансформерами, что позволяет разработчикам обучать передовые модели на потребительском оборудовании или стандартных облачных инстансах без исчерпания памяти CUDA. Автоматическая обработка оптимизации гиперпараметров и аугментации данных обеспечивает быструю сходимость.
Вот практический пример того, как просто обучать и валидировать модель с использованием Python API Ultralytics:
from ultralytics import YOLO
# Load a pretrained model (YOLOv8 recommended for general tasks)
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset with automatic memory management
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Run inference on a test image
predictions = model("https://ultralytics.com/images/zidane.jpg")
predictions[0].show()
Следующее поколение: YOLO26
Хотя YOLOv8 и YOLOv10 представляют собой исключительные вехи, область машинного обучения постоянно развивается. Для разработчиков, начинающих новые проекты, мы настоятельно рекомендуем использовать YOLO26, новейшую флагманскую модель от Ultralytics, выпущенную в январе 2026 года.
YOLO26 объединяет лучшие архитектурные достижения последних лет в единую, высокооптимизированную структуру. Он наследует сквозную NMS-Free архитектуру, впервые примененную в таких моделях, как YOLOv10, что упрощает конвейеры развертывания и снижает изменчивость задержки. Кроме того, YOLO26 представляет оптимизатор MuSGD, гибрид, вдохновленный стабильностью обучения LLM, который обеспечивает более быструю и стабильную сходимость.
Ключевые улучшения в YOLO26 включают:
- До 43% более быстрый инференс на CPU: Значительно оптимизированный для периферийных устройств за счет удаления Distribution Focal Loss (DFL).
- ProgLoss + STAL: Передовые функции потерь, которые значительно улучшают распознавание мелких объектов, что критически важно для изображений с дронов и датчиков IoT.
- Специализированные улучшения: Специализированные архитектуры для сегментации, оценки позы и OBB, обеспечивающие первоклассную производительность во всех областях компьютерного зрения.
Идеальные варианты использования и стратегии развертывания
При выборе между этими архитектурами учитывайте специфические потребности вашей среды развертывания:
- Выбирайте YOLOv10, если: Вы работаете над конвейером чистого обнаружения объектов, где критически важна максимальная эффективность параметров, и вы хотите экспериментировать с ранними реализациями NMS-free архитектур.
- Выберите Ultralytics YOLOv8, если: вам нужна высокостабильная, готовая к production модель, поддерживаемая надежной Ultralytics Platform. Это идеальный выбор, если ваш проект требует выполнения нескольких задач (например, detect объектов с последующим их segment) с использованием унифицированной, легко поддерживаемой кодовой базы.
- Выберите YOLO26 (рекомендуется), если: вы хотите получить идеальный баланс современной точности, нативной сквозной NMS-free эффективности и максимально возможной скорости на CPU и граничном оборудовании.
Если вы изучаете более широкий спектр, вас также может заинтересовать сравнение этих моделей с YOLO11 или изучение специфических интеграций для развертывания на периферийных устройствах, таких как Intel OpenVINO, чтобы дополнительно ускорить ваши приложения ИИ для зрения. Используя унифицированные инструменты, предоставляемые Ultralytics, развертывание надежных решений компьютерного зрения стало как никогда доступным.