YOLOv7 и YOLOv8#
Быстрое развитие компьютерного зрения дало разработчикам и исследователям целый ряд мощных инструментов. При выборе подходящей архитектуры для конвейера обнаружения объектов важно сравнить проверенные модели. В этом техническом руководстве подробно рассматриваются архитектуры, показатели производительности и оптимальные сценарии использования двух весьма влиятельных моделей: YOLOv7 и Ultralytics YOLOv8.
Знакомство с архитектурами#
Обе модели обеспечили значительный прирост производительности, но решают задачу оптимизации глубоких нейронных сетей, опираясь на разные структурные подходы.
YOLOv7: первопроходец среди моделей с бесплатными улучшениями#
Представленная в середине 2022 года YOLOv7 была сосредоточена на оптимизации архитектуры градиентных путей и концепции «обучаемого набора бесплатных улучшений», чтобы расширить возможности обнаружения объектов в реальном времени на мощном оборудовании.
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Институт информатики, Академия Синика, Тайвань
- Дата: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
- Документация: Документация Ultralytics YOLOv7
Основные особенности архитектуры: YOLOv7 в основном использует голову обнаружения на основе якорей (хотя в ней экспериментировали с безъякорными ветвями) и представляет расширенные эффективные сети агрегации слоёв (E-ELAN). Такая архитектура повышает способность сети к обучению, не нарушая исходный путь распространения градиента. Модель исключительно хорошо работает на серверных GPU, что делает её отличным выбором для ресурсоёмкой видеоаналитики.
Сильные и слабые стороны: YOLOv7 обеспечивает отличную задержку на специализированном оборудовании, но её экосистема сильно фрагментирована. Для обучения нужно указывать сложные аргументы командной строки, вручную клонировать репозитории и строго контролировать зависимости в PyTorch. Кроме того, требования к памяти во время обучения могут оказаться слишком высокими для потребительского оборудования.
Ultralytics YOLOv8: универсальный стандарт#
Выпущенная в начале 2023 года YOLOv8 полностью изменила опыт разработчиков: её создали не только для достижения современной точности, но и как унифицированный фреймворк, готовый к производственному использованию.
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: ultralytics/ultralytics
- Платформа: Ultralytics YOLOv8
Основные особенности архитектуры: В YOLOv8 появилась встроенная безъякорная голова обнаружения, благодаря которой не нужно вручную настраивать якорные рамки на основе набора данных MS COCO или распределения пользовательских данных. В модели используется модуль C2f для улучшения распространения градиентов и разделённая голова, которая выполняет классификацию и регрессию отдельно. Это значительно ускоряет сходимость и повышает точность.
Сильные и слабые стороны: YOLOv8 отличается высокой эффективностью использования памяти. Во время обучения ей требуется значительно меньше памяти CUDA, чем YOLOv7 и более тяжёлым моделям Transformer, поэтому разработчики могут использовать более крупные размеры пакета. Главное преимущество модели — универсальность: она изначально поддерживает сегментацию экземпляров, классификацию изображений, оценку позы и обнаружение ориентированных ограничивающих рамок (OBB). Небольшой недостаток: для крайне специализированных устаревших конвейеров, работающих исключительно с тензорами YOLOv7, может потребоваться короткий этап рефакторинга.
Ultralytics YOLOv8 входит в хорошо поддерживаемую экосистему. Благодаря интуитивно понятному Python API, активной разработке и надёжной поддержке сообщества переход от локального тестирования модели к глобальному развёртыванию занимает лишь малую часть времени, необходимого для работы с автономными репозиториями.
Подробное сравнение производительности#
В таблице ниже приведены показатели производительности для моделей разных размеров. Обрати внимание на характерный баланс производительности YOLOv8: модель оптимизирована для быстрого инференса на периферийных устройствах и при этом обеспечивает точность мирового уровня.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Примечание: YOLOv8x показывает наивысшее значение mAP в этой группе, а YOLOv8n лидирует по эффективности использования параметров и скорости инференса, что делает её бесспорным лидером для развёртывания компьютерного зрения на периферийных устройствах с ИИ.
Удобство использования и эффективность обучения#
В вопросе простоты использования Ultralytics YOLOv8 вне конкуренции. Для работы со старыми архитектурами, например YOLOv7, нужно клонировать определённые репозитории и запускать многословные скрипты командной строки для настройки наборов данных и путей.
А пакет YOLOv8 ultralytics делает работу разработчика намного проще. Эффективность обучения повышается благодаря автоматической загрузке данных, готовым предварительно обученным весам и удобному экспорту в такие форматы, как ONNX и TensorRT.
Вот как просто загружать модель, обучать её и запускать инференс через Python API Ultralytics:
from ultralytics import YOLO
# Загрузка предварительно обученной облегчённой модели YOLOv8
model = YOLO("yolov8n.pt")
# Эффективно обучи модель на наборе данных COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Быстрый инференс на тестовом изображении
predictions = model("https://ultralytics.com/images/bus.jpg")
# Отобрази предсказания
predictions[0].show()YOLOv8 изначально интегрируется с популярными инструментами MLOps, такими как Weights & Biases и ClearML, позволяя отслеживать настройку гиперпараметров и метрики обучения в реальном времени.
Оптимальные сценарии применения#
Выбор между этими архитектурами часто определяется конкретными ограничениями среды развёртывания.
Когда выбирать YOLOv7#
- Сравнение с устаревшими эталонами: подходит исследователям, которым нужна фиксированная базовая модель для сравнения с архитектурными стандартами 2022 года.
- Уже имеющаяся мощная инфраструктура: подходит для сред с GPU NVIDIA V100 или A100, где конкретные конфигурации тензоров YOLOv7 глубоко интегрированы в устаревший конвейер на C++.
Когда выбрать YOLOv8#
- Кроссплатформенная эксплуатация: идеально подходит командам, которым нужно беспрепятственно развёртывать модели на облачных GPU, мобильных устройствах и в браузерах.
- Работа с несколькими задачами: подходит, если проекту нужно выйти за рамки ограничивающих рамок и использовать сложные маски сегментации экземпляров или ключевые точки позы.
- Периферийные устройства с ограниченными ресурсами: YOLOv8 Nano (
yolov8n) обеспечивает впечатляющее соотношение точности и скорости для робототехники, дронов и датчиков IoT.
Взгляд в будущее: скачок поколений с YOLO26#
YOLOv8 остаётся надёжным решением, но компьютерное зрение быстро развивается. Для разработчиков, которые только начинают новые высокопроизводительные проекты, Ultralytics недавно представила следующее поколение моделей ИИ. Настоятельно рекомендуем изучить тщательно усовершенствованную YOLO11 и недавно выпущенную YOLO26.
Выпущенная в январе 2026 года YOLO26 расширяет возможности периферийных устройств:
- Сквозная архитектура без NMS: YOLO26 поддерживает встроенный сквозной инференс без постобработки с помощью подавления немаксимумов (NMS), если включена опциональная голова один-к-одному (
nms=False). Это позволяет значительно упростить и ускорить конвейеры развёртывания, устраняя узкие места по задержке, свойственные традиционным моделям с плотным прогнозированием. - Отказ от DFL: отказ от Distribution Focal Loss упрощает варианты развёртывания модели и обеспечивает более широкую совместимость с периферийными устройствами.
- Инференс на CPU до 43% быстрее: модель значительно оптимизирована для сред с ограниченными ресурсами, например Raspberry Pi и встраиваемых систем, и превосходит все предыдущие поколения по пропускной способности CPU.
- Оптимизатор MuSGD: YOLO26 использует гибрид SGD и Muon, основанный на подходах к обучению больших языковых моделей (LLM). Это обеспечивает беспрецедентную стабильность обучения и молниеносную сходимость.
- ProgLoss + STAL: эти усовершенствованные функции потерь заметно повышают качество распознавания мелких объектов — это особенно важно для аэрофотосъёмки, автоматизации сельского хозяйства и робототехники.
Будь то масштабирование видеоаналитики до огромных кластеров на базе YOLOv8 или перенос инференса на компактные периферийные устройства с помощью передовой YOLO26 — платформа Ultralytics предоставляет инструменты для удобного управления всем жизненным циклом ИИ.