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

YOLOv5 против YOLOv7: Баланс экосистемы и архитектуры

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

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

Ultralytics YOLOv5: Инженерный стандарт

Запущенный в 2020 году, YOLOv5 переопределил ожидания от программного обеспечения для detect объектов с открытым исходным кодом. В отличие от предыдущих итераций, которые существовали в основном как исследовательский код, YOLOv5 был разработан как готовый к использованию продукт. Он уделял приоритетное внимание простоте использования, возможности экспорта и скорости, что сделало его предпочтительным выбором для компаний, создающих приложения для вывода в реальном времени.

Авторы: Гленн Джокер
Организация:Ultralytics
Дата: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Документация:https://docs.ultralytics.com/models/yolov5/

Основные преимущества YOLOv5

  • Дизайн, ориентированный на пользователя: YOLOv5 представила оптимизированный API и простой рабочий процесс обучения, который снизил порог входа для обучения пользовательских моделей object detection.
  • Гибкость развертывания: Благодаря встроенной поддержке режимов экспорта, модели YOLOv5 можно легко преобразовать в такие форматы, как ONNX, CoreML, TFLite и TensorRT для развертывания на различном оборудовании.
  • Efficient Resource Usage: Архитектура оптимизирована для низкого потребления памяти, что делает ее идеальной для периферийного AI оборудования, такого как NVIDIA Jetson или Raspberry Pi.

Поддержка экосистемы

YOLOv5 поддерживается всеобъемлющей экосистемой Ultralytics. Это включает в себя простую интеграцию с инструментами отслеживания экспериментов, такими как Comet и MLflow, а также платформами управления наборами данных.

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

YOLOv7: Подход "Bag-of-Freebies"

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

Авторы: Чен-Яо Ван, Алексей Бочковский и Хун-Юань Марк Ляо
Организация: Институт информатики, Academia Sinica, Тайвань
Дата: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Документация:https://docs.ultralytics.com/models/yolov7/

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

YOLOv7 включает расширенные эффективные сети агрегирования слоев (E-ELAN) для улучшения обучаемости сети. Он также использует методы масштабирования модели, которые одновременно изменяют глубину и ширину архитектуры. Хотя это эффективно для повышения показателей mAP, эти сложные архитектурные изменения иногда могут затруднить изменение или развертывание модели по сравнению с более простой магистральной сетью CSP-Darknet, используемой в YOLOv5.

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

Сравнение технических характеристик

При сравнении двух моделей компромисс обычно заключается между абсолютной точностью и практической скоростью развертывания. Модели YOLOv7 (особенно более крупные варианты) обычно достигают более высокого mAP на наборе данных COCO val2017. Однако Ultralytics YOLOv5 сохраняет доминирующее положение в скорости инференса и эффективности параметров, особенно с ее меньшими вариантами (Nano и Small), которые имеют решающее значение для мобильного развертывания.

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Анализ метрик

  • Скорость vs. Точность: YOLOv7x достигает более высокого 53.1% mAP, что делает его подходящим для высококлассной безопасности или медицинского анализа, где важен каждый пиксель. Однако для таких приложений, как видеоаналитика или автономная навигация, время инференса 1.12 мс YOLOv5n на TensorRT предлагает частоту кадров, с которой более тяжелые модели не могут сравниться.
  • Эффективность обучения: Ultralytics YOLOv5 использует стратегии "AutoAnchor" и продвинутую эволюцию гиперпараметров, что часто приводит к более быстрой сходимости во время обучения по сравнению со сложными схемами повторной параметризации, требуемыми YOLOv7.
  • Объем памяти: Обучение transformer или сложных архитектур, таких как YOLOv7, часто требует высокопроизводительных GPU (например, A100s). В отличие от этого, эффективная конструкция YOLOv5 позволяет проводить обучение на оборудовании потребительского класса, демократизируя доступ к разработке ИИ.

Реализация кода

Одним из самых весомых аргументов в пользу Ultralytics YOLOv5 является простота его Python API. Загрузка предварительно обученной модели и запуск инференса требует всего несколько строк кода, что является свидетельством зрелости фреймворка.

import torch

# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image (url, local path, or numpy array)
img = "https://ultralytics.com/images/zidane.jpg"

# Run inference
results = model(img)

# Print results and show the image with bounding boxes
results.print()
results.show()

Этот уровень абстракции позволяет разработчикам сосредоточиться на создании своих бизнес-решений, а не на отладке архитектур моделей.

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

Когда следует выбирать YOLOv7

YOLOv7 — отличный выбор для академических исследований и сценариев, в которых аппаратные ограничения вторичны по отношению к чистой производительности detect.

  • Академические исследования: Для бенчмаркинга современных методов detect.
  • Высокоточная инспекция: Например, контроль качества производства, где обнаружение мельчайших дефектов имеет решающее значение, а задержка менее важна.

Когда следует выбирать Ultralytics YOLOv5

YOLOv5 остается отраслевым стандартом для быстрой разработки и развертывания в производство.

  • Развертывание на периферии: Идеально подходит для запуска на устройствах iOS и Android через экспорты TFLite или CoreML.
  • Робототехника: Низкая задержка имеет решающее значение для контуров обратной связи, необходимых в автономной робототехнике.
  • Универсальность: Помимо detect, репозиторий YOLOv5 поддерживает instance segmentation и image classification, предоставляя унифицированную кодовую базу для множества задач компьютерного зрения.

Вывод: Современный путь вперед

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

Однако, область компьютерного зрения развивается стремительно. Для тех, кто ищет абсолютно лучшую производительность, YOLO11 представляет собой последнюю эволюцию от Ultralytics. YOLO11 основывается на удобстве использования YOLOv5, но включает в себя передовые transformer-based модули и anchor-free дизайны, превосходя как YOLOv5, так и YOLOv7 в точности и эффективности.

Для перспективного решения, поддерживающего Обнаружение Объектов, Оценку Позы и Ориентированные Ограничивающие Прямоугольники (OBB), настоятельно рекомендуется перейти на фреймворк Ultralytics YOLO11.

Узнать больше сравнений

Узнайте, как другие модели соотносятся с семейством Ultralytics YOLO:


Комментарии