Ultralytics YOLO27:

YOLOv7 против YOLOv5#

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

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

История и происхождение моделей#

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

YOLOv5#

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

YOLOv7#

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

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

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

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

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

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

YOLOv5 использует модифицированную магистральную сеть CSPDarknet53 в сочетании с сетью агрегации путей (PANet). Эта конструкция тщательно оптимизирована для быстрого извлечения признаков и эффективного использования памяти. В отличие от более старых архитектур или тяжелых моделей на базе Transformer, 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, что делает ее особенно конкурентоспособной в сценариях, где максимизация качества обнаружения является главной целью.
  • Скорость и эффективность: 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) исключительно хорошо работают на мобильных телефонах и встраиваемых системах.
  • Требования к нескольким задачам: Если твой проект должен развиваться от простого обнаружения до оценки позы или сегментации в рамках единого фреймворка.
Изучение других архитектур

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

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

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

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

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

Заключение#

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

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

Комментарии