Перейти к содержанию

YOLOv8 YOLOv7: эволюция архитектуры и анализ производительности

В быстро развивающейся области компьютерного зрения семейство моделей «You Only Look Once» (YOLO) неизменно устанавливает стандарты в области обнаружения объектов в реальном времени. В этом сравнении рассматриваются технические нюансы между Ultralytics YOLOv8 и ориентированной на исследования YOLOv7. Хотя обе модели представляют собой важные вехи в истории искусственного интеллекта, они удовлетворяют потребности разных этапов разработки и внедрения.

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

Сравнение метрик производительности

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

Модельразмер
(пиксели)
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.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Ultralytics YOLOv8: Современный стандарт

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

YOLOv8 Детали:

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

YOLOv8 модуль C2f (Cross-Stage Partial Bottleneck с двумя свертками), который заменяет модуль C3, использовавшийся в предыдущих итерациях. Модуль C2f улучшает поток градиента и позволяет модели обучаться более сложным представлениям признаков, сохраняя при этом легкие характеристики.

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

Узнайте больше о YOLOv8

YOLOv7: веха в научных исследованиях

Выпущенная в середине 2022 года, YOLOv7 большое YOLOv7 оптимизации архитектуры с помощью «Trainable bag-of-freebies». Она расширила границы возможностей детекторов на основе анкоров, существовавших на тот момент.

Детали YOLOv7:

Архитектурный подход

YOLOv7 архитектуру E-ELAN (Extended Efficient Layer Aggregation Network). Эта конструкция ориентирована на управление самыми короткими и самыми длинными градиентными путями, что позволяет сети обучаться более эффективно. Несмотря на высокую точность, архитектура является сложной и зависит от анкерных рамок, которые могут потребовать специальной настройки для оптимальной работы с пользовательскими данными.

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

Техническое сравнение и примеры использования

1. Простота использования и экосистема.

Наиболее значительным отличительным фактором является экосистема. YOLOv8 распространяется через ultralytics пакет pip, предлагающий опыт «от нуля до героя». Разработчики могут получить доступ к предварительно обученные модели и начните тренироваться через несколько минут.

В отличие от этого, YOLOv7 в первую очередь YOLOv7 хранилищем исследований. Несмотря на свою мощность, ему не хватает стандартизированного API, бесшовной интеграции с такими инструментами, как TensorBoard, и обширной документации, которую Ultralytics .

2. Эффективность обучения и память

Ultralytics славятся своей эффективностью обучения. YOLOv8 использование CUDA , что часто позволяет использовать более крупные пакеты данных по сравнению с моделями на основе Transformer или более старой YOLOv7 . Эта эффективность приводит к снижению затрат на облачные вычисления и сокращению времени итерации.

Интегрированный экспорт

Одной из самых больших проблем при развертывании является преобразование моделей. YOLOv8 эту задачу с помощью одной команды для экспорта в ONNX, TensorRT, CoreML и TFLite, обеспечивая работу вашей модели на любом периферийном устройстве.

3. Идеальные варианты использования

  • Выберите YOLOv8, если вам нужно готовое к производству решение, которое легко обслуживать, поддерживает несколько задач компьютерного зрения (таких как отслеживание и сегментация) и легко развертывается на периферийных устройствах, таких как Raspberry Pi.
  • Выберите YOLOv7, если вы проводите академические исследования, специально сравнивающие устаревшие архитектуры на основе анкоров, или вам необходимо воспроизвести результаты тестов 2022 года.

Будущее: YOLO26

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

YOLO26 представляет собой сквозную конструкцию NMS, что устраняет необходимость в постобработке с помощью Non-Maximum Suppression. Это значительно упрощает процессы развертывания и снижает задержку. Кроме того, YOLO26 устраняет Distribution Focal Loss (DFL) и использует MuSGD Optimizer— гибрид SGD Muon, вдохновленный обучением LLM — для обеспечения стабильного обучения и более быстрой конвергенции.

Благодаря ProgLoss и STAL (Soft-Target Anchor Loss) YOLO26 обеспечивает на 43 % более быстрое CPU , что делает его идеальным выбором для пограничных вычислений и аналитики в реальном времени.

Узнайте больше о YOLO26

Примеры кода

Ultralytics унифицирует рабочий процесс. Вы можете обучить современную YOLOv8 или даже загрузить устаревшие конфигурации с минимальным количеством кода.

from ultralytics import YOLO

# Load the recommended model (YOLO26 or YOLOv8)
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
# The unified API handles data augmentation and memory management automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Export to ONNX for deployment
model.export(format="onnx")

Для исследователей, интересующихся другими архитектурами, в Ultralytics также рассматриваются YOLOv5, YOLOv9и YOLO11, что гарантирует вам наличие лучших инструментов для любого сценария.


Комментарии