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

YOLOv7 против YOLOv5: Техническое сравнение детекторов реального времени

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

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

Предыстория и происхождение модели

Понимание истоков этих моделей дает контекст для их философии проектирования и целевых сценариев использования.

YOLOv5

Выпущенный Гленном Джочером и командой Ultralytics 26 июня 2020 года, YOLOv5 произвел революцию в области, предоставив нативную реализацию на PyTorch, которая приоритизировала удобство использования без ущерба для производительности. Он быстро стал отраслевым стандартом благодаря своей невероятно оптимизированной экосистеме и надежной динамике обучения. Вы можете изучить исходный код в репозитории YOLOv5 на GitHub или получить доступ к модели напрямую через Ultralytics Platform.

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

YOLOv7

Представленный Чиен-Яо Вангом, Алексеем Бочковским и Хонг-Юань Марком Ляо из Института информатики Academia Sinica, Тайвань, 6 июля 2022 года. YOLOv7 уделял большое внимание архитектурным инновациям, таким как расширенные сети агрегации эффективных слоев (E-ELAN) и обучаемый «набор бесплатных улучшений», чтобы повысить точность до современного уровня. Подробности можно найти в их официальной статье на Arxiv и в репозитории YOLOv7 на GitHub. Для бесшовной интеграции ознакомьтесь с документацией Ultralytics YOLOv7.

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

Бесшовное проведение экспериментов

Обе эти модели полностью интегрированы в пакет Ultralytics python, что позволяет переключаться между ними, просто изменяя строку модели в вашем коде!

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

Ultralytics YOLOv5 Дизайн

YOLOv5 использует модифицированный бэкбон CSPDarknet53 в сочетании с шейкой Path Aggregation Network (PANet). Эта конструкция высоко оптимизирована для быстрого извлечения признаков и эффективного использования памяти. В отличие от старых архитектур или тяжелых трансформерных моделей, YOLOv5 требует значительно меньше памяти CUDA во время обучения, что позволяет использовать большие размеры пакетов на стандартных потребительских GPU. Кроме того, фреймворк Ultralytics изначально поддерживает широкий спектр задач, выходящих за рамки стандартных ограничивающих рамок, включая сегментацию изображений и классификацию изображений.

Дизайн YOLOv7

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

Анализ производительности

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

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

Основные выводы

  • Максимальная точность: YOLOv7x достигает наивысшей общей точности на впечатляющем уровне 53,1 mAPval, что делает ее очень конкурентоспособной для сценариев, где основной целью является максимизация производительности detect.
  • Скорость и эффективность: Ultralytics YOLOv5n — это образец эффективности, предлагающий молниеносную задержку вывода (1,12 мс на T4 TensorRT) с минимальным потреблением памяти, составляющим всего 2,6 млн параметров. Это делает его беспрецедентным выбором для развертываний на периферийных устройствах с жесткими ограничениями.
  • Баланс производительности: Серия YOLOv5 предлагает исключительный градиент моделей. YOLOv5l представляет собой отличный компромисс, немного уступая YOLOv7l по точности, но предлагая высокоразвитый конвейер развертывания.

Преимущество экосистемы Ultralytics

Архитектура модели — это лишь половина уравнения; экосистема, окружающая ее, определяет ее жизнеспособность в реальном мире. Именно здесь модели Ultralytics по-настоящему проявляют себя.

Простота использования: Ultralytics предоставляет унифицированный, высокоинтуитивный Python API. Вы можете обучать, проверять и развертывать модели с минимальным шаблонным кодом, опираясь на обширную официальную документацию. Хорошо поддерживаемая экосистема: Активная разработка обеспечивает постоянные обновления, исправления ошибок и бесшовную интеграцию с современными инструментами отслеживания, такими как Weights & Biases. Эффективность обучения: Использование оптимизированных загрузчиков данных и интеллектуального кэширования позволяет YOLOv5 значительно сократить время обучения. Более того, готовые предварительно обученные веса ускоряют трансферное обучение в различных областях.

Пример кода: Оптимизированное обучение

С пакетом Ultralytics запуск обучения практически идентичен независимо от выбранной архитектуры.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

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

Когда выбирать YOLOv7

  • Академическое сравнительное тестирование: Идеально подходит для исследователей, которым необходимо сравнивать новые методы с хорошо документированной базовой моделью 2022 года.
  • Облачная обработка на высокопроизводительных GPU: При развертывании на мощном серверном оборудовании, где достижение абсолютно наивысшего mAP на плотных сценах перевешивает простоту экспорта.

Когда выбирать YOLOv5

  • Промышленные развертывания: Идеально подходит для коммерческих приложений, требующих высокой стабильности, простых опций развертывания моделей и широкой кроссплатформенной совместимости.
  • Периферийные устройства: Меньшие варианты (YOLOv5n и YOLOv5s) исключительно хорошо работают на мобильных телефонах и встраиваемых системах.
  • Требования к многозадачности: Если ваш проект должен развиваться от простого detect до оценки позы или сегментации с использованием унифицированной среды.

Исследование других архитектур

Ищете более новые итерации? Рекомендуем изучить Ultralytics YOLOv8 или Ultralytics YOLO11 для дальнейших достижений в безъякорном детектировании и возможностях многозадачного обучения.

Следующее поколение: Ultralytics YOLO26

Хотя YOLOv5 и YOLOv7 занимают важное место в истории ИИ для зрения, ландшафт постоянно меняется. Выпущенная в январе 2026 года, Ultralytics YOLO26 представляет собой абсолютный передовой край технологии обнаружения объектов, превосходя предыдущие поколения по всем метрикам.

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

YOLO26 представляет несколько парадигмальных функций:

  • Сквозная архитектура без NMS: Основываясь на концепциях, впервые примененных в предыдущих итерациях, YOLO26 изначально является сквозной (end-to-end) системой. Это полностью исключает постобработку с подавлением немаксимумов (NMS), устраняя узкие места, связанные с задержкой, и существенно упрощая логику развертывания.
  • Оптимизатор MuSGD: Вдохновленный Kimi K2 от Moonshot AI, этот революционный оптимизатор объединяет стабильность стандартного SGD с ускоренным импульсом Muon, привнося передовые инновации в обучение LLM непосредственно в компьютерное зрение.
  • Повышенная скорость CPU: Благодаря стратегическому удалению Distribution Focal Loss (DFL), YOLO26 достигает до 43% более быстрого инференса на CPU, что делает его бесспорным лидером для развертывания на периферийных и маломощных IoT-устройствах.
  • ProgLoss + STAL: Эти усовершенствованные функции потерь обеспечивают колоссальные улучшения в распознавании мелких объектов, что критически важно для аэрофотосъемки и прецизионной робототехники.
  • Специализированные улучшения: Включает функцию потерь семантической сегментации для генерации масок, оценку остаточного логарифмического правдоподобия (RLE) для отслеживания позы и специализированную угловую функцию потерь для решения сложных проблем с границами ориентированных ограничивающих рамок (OBB).

Заключение

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

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


Комментарии