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

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

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

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

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

YOLOv5

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

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

YOLOv7

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

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

Бесшовная работа с экспериментами

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

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

Архитектура Ultralytics YOLOv5

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

Архитектура YOLOv7

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

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

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(М)
FLOPs
(Б)
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, что делает её очень конкурентоспособной для сценариев, где максимизация производительности детектирования является главной целью.
  • Скорость и эффективность: Ultralytics YOLOv5n — это чудо эффективности, предлагающее молниеносную задержку вывода (1.12 мс на T4 TensorRT) с крошечным объемом памяти всего в 2.6 млн параметров. Это делает её непревзойденным выбором для сильно ограниченных граничных развертываний.
  • Баланс производительности: Серия YOLOv5 предоставляет исключительный выбор моделей. YOLOv5l предлагает фантастическую золотую середину, немного уступая YOLOv7l по точности, но предлагая очень зрелый конвейер развертывания.

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

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

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

Пример кода: Упрощенное обучение

С пакетом 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

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

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

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

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

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

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

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

Заключение

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

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

Комментарии