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

YOLOv7 YOLO: баланс между архитектурными инновациями и скоростью

В 2022 году в области обнаружения объектов в реальном времени произошли значительные изменения с появлением YOLOv7 и YOLO. Обе модели были направлены на повышение точности и снижение задержки, но подходили к решению этой задачи с принципиально разных инженерных точек зрения. YOLOv7 на оптимизации процесса обучения с помощью подхода «bag-of-freebies», в то время какYOLO поиск нейронной архитектуры (NAS) для автоматического обнаружения эффективных структур.

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

YOLOv7: Обучаемый Bag-of-Freebies

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

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

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

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

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

Разработанная Alibaba Group,YOLO позже интегрированная в набор программ DAMO-Academy) уделяла приоритетное внимание скорости и низкой задержке, ориентируясь конкретно на промышленные приложения, где действуют строгие ограничения в миллисекундах.

MAE-NAS и дистилляция

АрхитектураYOLO была разработана с использованием метода MAE-NAS (Method of Automating Efficiency-Neural Architecture Search, метод автоматизации поиска нейронных архитектур с высокой эффективностью). Этот автоматизированный процесс позволил найти базовые структуры, которые максимально повышают эффективность обнаружения при определенных задержках. Также была внедрена сеть RepGFPN (Rep-parameterized Generalized Feature Pyramid Network, сеть с параметризованной пирамидой общих характеристик) для эффективного объединения характеристик и ZeroHead, легкая головка обнаружения.

Отличительной особенностьюYOLO его сильная зависимость от дистилляции. Модели обычно обучаются с помощью более крупной «учительской» модели, которая помогает «ученической» модели лучше усваивать представления. Хотя это дает впечатляющую эффективность, оно значительно усложняет процесс обучения по сравнению со стандартными рабочими процессами обнаружения объектов.

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

В следующей таблице сравниваются характеристикиYOLO YOLOv7 YOLO . YOLOv7 , обеспечивает более высокую точность (mAP), аYOLO чрезвычайно легкие модели, оптимизированные для скорости.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

Анализ компромиссных решений

  • Точность:YOLOv7x лидирует с mAP 53,1%, что делает его подходящим для задач, где пропуск обнаружения обходится дорого.
  • Скорость:DAMO-YOLOt невероятно быстр (2,32 мс на T4 TensorRT), что идеально подходит для понимания видео с высокой частотой кадров или развертывания на ограниченных по мощности периферийных устройствах.
  • Сложность: параметры и FLOP YOLOv7 значительно выше, что отражает его ориентацию на емкость, а не на чистую эффективность.

Примечание о сложности обучения

ХотяYOLO отличный баланс между скоростью и точностью, воспроизведение его результатов на пользовательских наборах данных может быть сложной задачей. Его рецепт обучения часто требует многоэтапного процесса с использованием тяжелой модели-учителя для дистилляции, тогда как YOLOv7 простую методологию «обучения с нуля», которая проще в реализации.

Почему Ultralytics YOLO26 — превосходный выбор

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

Непревзойденная простота использования и экосистема

Ultralytics славится своим удобным дизайном. В отличие от сложных дистилляционных конвейеровYOLO, YOLO26 предлагает оптимизированный Python , который обрабатывает все, от аннотирования данных до развертывания моделей.

Технические прорывы YOLO26

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

  1. Сквозной дизайн NMS: благодаря устранению немаксимального подавления (NMS) YOLO26 сокращает задержку вывода и упрощает логику экспорта, что отсутствует как в YOLOv7 в стандартныхYOLO .
  2. MuSGD Optimizer: вдохновленный обучением LLM (таким как Kimi K2), этот гибридный оптимизатор сочетает в себе SGD Muon для более быстрой конвергенции и стабильного обучения.
  3. Оптимизация краев: устранение Distribution Focal Loss (DFL) и специальные CPU делают YOLO26 на 43 % быстрее при выводах CPU по сравнению с предыдущими поколениями, удовлетворяя потребности в низкой задержке, на которыеYOLO был нацеленYOLO .
  4. ProgLoss + STAL: усовершенствованные функции потери улучшают обнаружение мелких объектов, что является критически важной функцией для дронных изображений и робототехники.

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

Пример кода: Обучение с Ultralytics

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

from ultralytics import YOLO

# Load the latest YOLO26 model (recommended over YOLOv7/DAMO-YOLO)
model = YOLO("yolo26n.pt")

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

# Run inference on an image
results = model("path/to/image.jpg")

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

Заключение

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

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

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


Комментарии