Ultralytics YOLO27:
Get Started

YOLOv8 и YOLOv7#

Компьютерное зрение постоянно развивается: новые архитектуры расширяют возможности детекции объектов в реальном времени. В этом подробном обзоре сравниваются две модели, оказавшие большое влияние на развитие области: Ultralytics YOLOv8 и YOLOv7. Обе модели существенно повлияли на сообщество разработчиков и академические исследования, предложив собственные подходы к решению сложных задач компьютерного зрения.

Понимание структурных и методологических различий между этими моделями крайне важно для инженеров по машинному обучению, которые стремятся оптимизировать конвейеры развертывания. В YOLOv7 используется эффективный подход «набор бесплатных преимуществ», ориентированный на максимальную пропускную способность, а Ultralytics YOLOv8 предлагает целостную и простую в использовании экосистему, сочетающую высокую точность, низкое потребление памяти и универсальность при решении множества задач.

Ultralytics YOLOv8: универсальный стандарт экосистемы#

Выпущенная Ultralytics в начале 2023 года, YOLOv8 существенно отличается по архитектуре от предшественников. Модель с самого начала разрабатывалась не только для детекции объектов в реальном времени, но и как унифицированная платформа для решения множества задач компьютерного зрения «из коробки».

Архитектурные инновации#

В YOLOv8 появилась инновационная голова детекции без анкерных рамок. Это значительно упрощает обучение: больше не нужно вручную настраивать анкерные рамки с учетом распределения данных в пользовательском наборе. Благодаря такому подходу модель отличается высокой надежностью и лучше адаптируется к разным условиям.

Кроме того, архитектура включает модуль C2f (узкое место с частичным межэтапным соединением и двумя свертками) — структурное усовершенствование, которое улучшает распространение градиента и позволяет нейронной сети изучать более содержательные представления признаков без значительного роста вычислительных затрат. Благодаря этому модель эффективно выполняет инференс с помощью стандартных платформ глубокого обучения, таких как PyTorch.

Эффективное использование памяти

Модели Ultralytics YOLO разработаны для максимально эффективного обучения. Обычно при обучении им требуется значительно меньше памяти CUDA, чем архитектурам на основе Transformer или более крупным CNN. Это позволяет обучать модели с более крупными пакетами на обычном потребительском оборудовании и ускоряет цикл разработки.

YOLOv7: подход «набор бесплатных преимуществ»#

YOLOv7 представили в середине 2022 года, и вскоре она стала популярной базовой моделью в академической среде. Основное внимание уделялось перепараметризации архитектуры и оптимизации путей распространения градиента, чтобы расширить возможности детекции объектов в реальном времени на высокопроизводительных GPU.

  • Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
  • Организация: Институт информатики, Academia Sinica, Тайвань
  • Дата: 2022-07-06
  • arXiv: 2207.02696
  • GitHub: WongKinYiu/yolov7

Архитектурные инновации#

В YOLOv7 используется расширенная эффективная сеть агрегации слоев (E-ELAN), позволяющая модели непрерывно изучать более разнообразные признаки. Модель активно использует подход с анкерными рамками и предлагает обучаемый «набор бесплатных преимуществ» — ряд методов оптимизации, повышающих точность без увеличения затрат на инференс.

YOLOv7 отлично показывает себя на стандартных академических бенчмарках, таких как набор данных MS COCO, но ее архитектура в значительной степени оптимизирована для серверных ускорителей. Экспорт и развертывание таких моделей на периферийных устройствах могут потребовать больше ручной настройки, чем при использовании более современных и простых платформ.

Узнай больше о YOLOv7

Подробное сравнение производительности#

При оценке моделей в первую очередь учитывают компромисс между скоростью, точностью и размером модели. В таблице ниже приведены метрики для обеих моделей.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Как видно из данных, YOLOv8x обеспечивает наивысшую абсолютную точность (53.9 mAP), а нано-вариант (YOLOv8n) отличается высокой скоростью инференса и очень малым размером. Благодаря такому выбору вариантов YOLOv8 гораздо лучше адаптируется к условиям ограниченных ресурсов оборудования.

Преимущества Ultralytics: простота использования и экосистема#

YOLOv7 показывает высокие результаты непосредственно в детекции, но Ultralytics YOLOv8 значительно превосходит ее по удобству для разработчиков, интеграции в экосистему и возможностям решения множества задач.

Непревзойденная универсальность#

YOLOv7 — это в первую очередь модель для детекции, а другие задачи поддерживаются в экспериментальных ветках. В отличие от нее, YOLOv8 изначально поддерживает детекцию объектов, сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB). Благодаря такому унифицированному подходу команде достаточно освоить один API, чтобы решать самые разные проектные задачи.

Упрощенное развертывание и интеграции#

Экспорт модели для промышленной эксплуатации часто становится узким местом. Пакет Ultralytics позволяет разработчикам экспортировать модели в такие форматы, как ONNX, TensorRT и CoreML, одной строкой кода на Python. Это позволяет избежать проблем с поддержкой операторов, которые иногда возникают при экспорте сложных графов с анкерными рамками.

Кроме того, YOLOv8 без проблем интегрируется с инструментами MLOps. Отслеживаешь ли ты эксперименты с помощью Weights & Biases или тестируешь развертывание на Hugging Face Spaces — экосистема Ultralytics берет на себя основную работу.

Пример кода: обучение и экспорт YOLOv8#

В примере ниже показано, насколько прост Python API Ultralytics. Менее чем за десять строк кода можно инициализировать модель, обучить ее и экспортировать для развертывания на периферийном устройстве.

from ultralytics import YOLO

# Загрузи предварительно обученную нано-модель YOLOv8 для быстрого инференса
model = YOLO("yolov8n.pt")

# Обучи модель на датасете COCO8
# API автоматически загружает данные, выполняет аугментацию и ведет журналы
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Запусти инференс на тестовом изображении
predictions = model("https://ultralytics.com/images/bus.jpg")

# Экспортируй обученную модель в формат ONNX для развёртывания
model.export(format="onnx")
Гибкость развертывания

Функция model.export() позволяет сразу подключить высокопроизводительные движки инференса и легко интегрировать YOLOv8 в мобильные приложения, встроенные системы или облачные серверы с высокой пропускной способностью.

Примеры применения в реальных условиях#

Архитектурные различия этих моделей определяют, для каких сценариев развертывания они подходят лучше всего.

Когда стоит выбрать YOLOv8:

  • Периферийный ИИ и IoT-устройства: сверхбыстрые нано- и малые модели делают YOLOv8 идеальным выбором для оборудования с ограниченными вычислительными ресурсами, например умных камер и дронов.
  • Проекты с несколькими задачами: если твой конвейер должен одновременно отслеживать суставы человека (оценка позы) и строить карту препятствий (сегментация), YOLOv8 справится с этим изначально.
  • От быстрого прототипирования до промышленной эксплуатации: подробная документация Ultralytics и удобный Python API помогают командам быстрее выводить продукты на рынок.

Когда стоит рассмотреть YOLOv7:

  • Академические бенчмарки: исследователи, изучающие влияние методов перепараметризации, часто используют YOLOv7 в качестве стандартной базовой модели, о чем свидетельствует ее популярность на Hugging Face Papers.
  • Унаследованные серверные конвейеры: если существующий конвейер с высокими вычислительными требованиями уже строго оптимизирован под конкретные выходные данные анкерных рамок YOLOv7, на коротком промежутке времени может быть практичнее продолжить его использовать.

Что дальше: новое поколение#

YOLOv8 остается универсальной и мощной моделью, но сфера ИИ развивается стремительно. Командам, начинающим новые проекты, мы настоятельно рекомендуем изучить последние новинки линейки Ultralytics.

Новейшее поколение, YOLO26, представляет собой вершину развития ИИ для компьютерного зрения. Модель поддерживает опциональную сквозную архитектуру без NMS (nms=False), которая пропускает постобработку с подавлением немаксимумов и упрощает и ускоряет развертывание. Благодаря удалению Distribution Focal Loss (DFL) и появлению вдохновленного LLM оптимизатора MuSGD YOLO26 обеспечивает более стабильное обучение и до 43% более быстрый инференс на CPU. Продвинутые функции потерь ProgLoss + STAL значительно улучшают распознавание мелких объектов, делая YOLO26 оптимальным выбором для современных периферийных вычислений и аэрофотосъемки.

Пользователи, переходящие со старых систем, могут по-прежнему использовать мощную YOLO11 и классическую YOLOv5 — обе модели полностью поддерживаются в унифицированной экосистеме Ultralytics. Поэтому для любых ограничений оборудования найдется готовая к развертыванию высокопроизводительная модель с оптимизированным процессом.

Комментарии