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

Сравнение моделей: YOLOv7 против YOLOv8 для обнаружения объектов

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

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

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

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

YOLOv7: Эволюция "сумки бесплатных вещей"

Выпущенная в июле 2022 года, YOLOv7 была разработана в основном авторами YOLOv4 и YOLOR. В ней появилось несколько архитектурных новшеств, направленных на оптимизацию процесса обучения без увеличения стоимости выводов - концепция, получившая название "обучаемый мешок бесплатных вещей".

  • Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
  • Организация: Institute of Information Science, Academia Sinica, Taiwan
  • Дата: 06.07.2022
  • Ссылки:Arxiv Paper | GitHub Repository

Основные архитектурные особенности

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

Несмотря на впечатляющие бенчмарки на старте, YOLOv7 в первую очередь ориентирован на обнаружение объектов, а поддержка других задач менее интегрирована по сравнению с более новыми фреймворками.

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

Ultralytics YOLOv8: унифицированный фреймворк и современная архитектура

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

  • Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
  • Организация: Ultralytics
  • Дата: 10.01.2023
  • Ссылки:Ultralytics Docs | GitHub Repository

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

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

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

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

Подробное техническое сравнение

Якорь с привязкой и без привязки

Одно из самых заметных отличий - головка обнаружения. YOLOv7 полагается на якорные коробки - заранее определенные фигуры, которые модель пытается сопоставить с объектами. Несмотря на эффективность, это требует настройки гиперпараметров для пользовательских наборов данных.

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

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

Модели Ultralytics известны своей инженерной эффективностью. В YOLOv8 используется интеллектуальная стратегия дополнения данных, которая отключает дополнения Mosaic в последние эпохи обучения. Эта техника стабилизирует потери при обучении и повышает точность.

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

Значительное преимущество Ultralytics YOLOv8 по сравнению со сложными архитектурами типа трансформаторов (например, RT-DETR) является меньшая потребность в памяти CUDA . Это позволяет пользователям обучать большие объемы партий на графических процессорах потребительского класса, демократизируя доступ к обучению самых современных моделей.

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

В то время как YOLOv7 является мощным хранилищем исследований, Ultralytics YOLOv8 предлагает усовершенствованный продукт. Экосистема Ultralytics обеспечивает:

  1. Оптимизированный API: Единый интерфейс Python для всех задач.
  2. Развертывание: Экспорт в такие форматы, как ONNX, TensorRT, CoreML и TFLite , одним щелчком мыши через режим экспорта.
  3. Поддержка сообщества: Активное сообщество Discord и частые обновления, обеспечивающие совместимость с последними версиями PyTorch .

Сравнение кодов

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

Запуск YOLOv8 с помощью Python

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

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

# Display the results
for result in results:
    result.show()

Реализация CLI

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

# Detect objects in an image using the nano model
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/zidane.jpg' imgsz=640

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

Когда использовать YOLOv7

YOLOv7 остается оптимальным выбором для исследователей, проводящих бенчмаркинг по стандартам 2022/2023 или поддерживающих старые системы, созданные специально для архитектуры в стиле Darknet. Его подход "мешок бесплатных вещей" предлагает интересные идеи для тех, кто изучает стратегии оптимизации нейронных сетей.

Когда использовать YOLOv8

YOLOv8 - это рекомендуемый выбор для подавляющего большинства новых проектов, включая:

  • Приложения реального времени: Модель YOLOv8n (nano) обеспечивает невероятную скорость (около 80 мс на CPU), что делает ее идеальной для мобильных приложений и встраиваемых систем.
  • Многозадачные конвейеры: Проекты, требующие оценки положения или сегментации наряду с обнаружением, могут использовать один API.
  • Коммерческое развертывание: Надежная экспортная совместимость обеспечивает эффективное развертывание моделей, обученных в PyTorch , в производственных средах с использованием TensorRT или OpenVINO.

Заключение

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

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

Дополнительная литература

Для тех, кто заинтересован в изучении последних достижений в области обнаружения объектов, предлагаем ознакомиться с этими смежными моделями:

  • YOLO11: последняя итерация от Ultralytics, в которой усовершенствована архитектура для еще большей эффективности.
  • YOLOv6: еще одна безъякорная модель, ориентированная на промышленное применение.
  • YOLOv9: фокусируется на программируемой градиентной информации (PGI) для обучения глубоких сетей.

Комментарии