YOLOv8 и YOLOv6-3.0#
Ландшафт компьютерного зрения в реальном времени постоянно развивается под влиянием спроса на более быстрые, точные и универсальные модели. Две наиболее заметные архитектуры, появившиеся в начале 2023 года, — это Ultralytics YOLOv8 и YOLOv6-3.0 от Meituan. Обе модели устанавливают новые стандарты производительности, но ориентированы на несколько разные подходы к разработке и сценарии развертывания.
Это подробное руководство содержит углубленный анализ их архитектур, показателей производительности и оптимальных вариантов применения, помогая инженерам по машинному обучению и исследователям выбрать подходящий инструмент для следующего проекта по обнаружению объектов.
Происхождение и характеристики моделей#
Прежде чем перейти к техническим нюансам, важно понять происхождение и основные характеристики обеих моделей. В обоих репозиториях активно используется популярный фреймворк PyTorch, но интеграция с экосистемами значительно различается.
Сведения о YOLOv8#
Архитектура Ultralytics YOLOv8 представляет собой унифицированный многозадачный фреймворк, изначально разработанный с учетом исключительного удобства для разработчиков и универсальности. Она основана на результатах многолетних исследований и отзывах сообщества о предыдущих версиях.
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: https://github.com/ultralytics/ultralytics
- Документация: https://docs.ultralytics.com/models/yolov8
Сведения о YOLOv6-3.0#
Изначально представленная для промышленных приложений в Meituan, модель YOLOv6 получила масштабное обновление «Full-Scale Reloading» в версии 3.0. В первую очередь она предназначена для высокооптимизированных сред развертывания и использует такие методы, как самодистилляция и RepOptimizer.
- Авторы: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu и Xiangxiang Chu
- Организация: Meituan
- Дата: 2023-01-13
- Arxiv: https://arxiv.org/abs/2301.05586
- GitHub: https://github.com/meituan/YOLOv6
- Документация: https://docs.ultralytics.com/models/yolov6
Управление наборами данных, сеансами обучения и развертыванием моделей значительно упрощается с помощью Ultralytics Platform. Она предоставляет сквозной интерфейс, сводящий к минимуму шаблонный код, обычно необходимый в рабочих процессах MLOps.
Архитектура и методики обучения#
Архитектура Ultralytics YOLOv8#
В YOLOv8 была представлена тщательно доработанная голова обнаружения без якорей. Отказ от заранее заданных якорных блоков улучшает обобщающую способность модели на разнообразных наборах данных и уменьшает количество эвристик постобработки. Кроме того, YOLOv8 обеспечивает непревзойденный баланс производительности, стабильно находя выгодный компромисс между скоростью и точностью для различных реальных сценариев развертывания — от облачных серверов до периферийных устройств с ограниченными ресурсами.
Одно из главных преимуществ YOLOv8 — это его требования к памяти. Во время обучения модели Ultralytics используют значительно меньше памяти CUDA по сравнению с тяжелыми альтернативами на базе Transformer, такими как RT-DETR. Это позволяет разработчикам использовать большие размеры пакетов на стандартных потребительских GPU, обеспечивая отличную эффективность обучения.
Архитектура YOLOv6-3.0#
В YOLOv6-3.0 используются модуль двунаправленной конкатенации (BiC) и стратегия обучения с поддержкой якорей (AAT). Для небольших моделей (N и S) применяется EfficientRep Backbone, а в более крупных вариантах (M и L) используется CSPStackRep Backbone. Архитектура тщательно оптимизирована для выполнения в NVIDIA TensorRT, что обеспечивает исключительно высокую скорость при развертывании на совместимом оборудовании. Однако тесная связь с оптимизациями для конкретного оборудования иногда делает кроссплатформенное развертывание менее гибким по сравнению с собственными для Ultralytics рабочими процессами экспорта в ONNX.
Сравнение производительности#
При оценке моделей на валидационном наборе данных 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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Хотя YOLOv6-3.0 показывает небольшое преимущество в скорости на отдельных тестах TensorRT, YOLOv8 отличается более эффективной по числу параметров архитектурой в категориях небольших моделей, что обеспечивает лучшую гибкость на различном оборудовании, включая мобильные и встраиваемые CPU.
Экосистема и универсальность#
Наиболее заметное различие между двумя моделями заключается в поддержке экосистемы.
YOLOv6 в основном представляет собой движок обнаружения ограничивающих рамок. В отличие от него, YOLOv8 известна своей универсальностью. В рамках единого унифицированного фреймворка YOLOv8 изначально поддерживает сегментацию экземпляров, классификацию изображений, оценку позы и обнаружение ориентированных ограничивающих рамок (OBB).
Кроме того, простота использования экосистемы Ultralytics не имеет аналогов. С помощью простого API Python исследователи могут запускать обучение, проверять результаты и экспортировать модели во множество форматов без написания сложного шаблонного кода. Хорошо поддерживаемая экосистема обеспечивает активную разработку, частые обновления и бесшовную интеграцию с популярными инструментами отслеживания экспериментов.
Пример кода: обучение YOLOv8#
Для обучения модели YOLOv8 требуется минимальная настройка, что демонстрирует доступность фреймворка:
from ultralytics import YOLO
# Load a pretrained YOLOv8 small model
model = YOLO("yolov8s.pt")
# Train the model on the COCO8 dataset
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device=0, # Utilize GPU for efficient training
batch=32,
)
# Easily export to ONNX for cross-platform deployment
model.export(format="onnx")Варианты применения и рекомендации#
Выбор между YOLOv8 и YOLOv6 зависит от конкретных требований проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда стоит выбрать YOLOv8#
YOLOv8 — отличный выбор для:
- Универсальное развертывание для нескольких задач: проектов, которым нужна проверенная модель для обнаружения, сегментации, классификации и оценки позы в экосистеме Ultralytics.
- Сформировавшиеся промышленные системы: существующих производственных сред, уже построенных на архитектуре YOLOv8 и использующих стабильные, тщательно протестированные конвейеры развертывания.
- Широкая поддержка сообщества и экосистемы: приложений, получающих преимущества от обширных руководств по YOLOv8, сторонних интеграций и активных ресурсов сообщества.
Когда стоит выбрать YOLOv6#
YOLOv6 рекомендуется для:
- Развертывание с учетом промышленного оборудования: сценарии, в которых аппаратно-ориентированный дизайн модели и эффективная репараметризация обеспечивают оптимальную производительность на конкретном целевом оборудовании.
- Быстрое одностадийное обнаружение: приложения, в которых приоритетом является максимальная скорость инференса на GPU для обработки видео в реальном времени в контролируемых средах.
- Интеграция с экосистемой Meituan: команды, уже работающие в технологическом стеке и инфраструктуре развертывания Meituan.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Взгляд в будущее: переход на YOLO26#
Хотя YOLOv8 и YOLOv6-3.0 являются отличным выбором, разработчикам, начинающим новые проекты, настоятельно рекомендуется обратить внимание на модель нового поколения Ultralytics YOLO26. Выпущенная в январе 2026 года, YOLO26 переопределяет стандарт периферийного компьютерного зрения с приоритетом ИИ.
YOLO26 представляет сквозную архитектуру без NMS, полностью устраняя необходимость в подавлении немаксимумов на этапе постобработки. Такой изначально сквозной подход обеспечивает более быструю и простую логику развертывания, особенно в периферийных средах. В сочетании с удалением DFL (Distribution Focal Loss) это значительно облегчает голову модели и обеспечивает ускорение вывода на CPU до 43%.
Стабильность обучения и скорость сходимости также значительно повысились благодаря оптимизатору MuSGD — гибридному оптимизатору на основе SGD и Muon, разработанному под влиянием методик обучения LLM. Кроме того, введение ProgLoss + STAL существенно улучшает распознавание небольших объектов, что особенно важно для изображений с дронов и плотного промышленного контроля.
В зависимости от твоих конкретных ограничений тебе также может быть интересно изучить YOLO11 для хорошо сбалансированных устаревших рабочих процессов или YOLO-World для задач обнаружения объектов с нулевым обучением и открытым словарем без необходимости масштабного дообучения.
Заключение#
В конечном счете выбор между YOLOv8 и YOLOv6-3.0 зависит от приоритетов твоего конвейера развертывания. YOLOv6-3.0 — это весьма производительная модель для сред со строгими требованиями TensorRT, где абсолютным приоритетом является максимальная скорость GPU. Однако для подавляющего большинства команд лучшим выбором будет Ultralytics YOLOv8. Сочетание меньших требований к памяти при обучении, многозадачной универсальности и ведущей в отрасли экосистемы, предоставляемой Ultralytics Platform, значительно сокращает время вывода продукта на рынок.
Разработчикам, которым нужна максимальная эффективность современных решений, плавный переход на YOLO26 обеспечивает непревзойденный опыт работы без NMS и помогает подготовить любое приложение компьютерного зрения к будущим требованиям.