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

YOLO YOLOv7: подробное изучение обнаружения объектов в реальном времени

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

YOLO, разработанный Alibaba Group, использует Neural Architecture Search (NAS) и интенсивную перепараметризацию для извлечения максимальной пропускной способности из аппаратного обеспечения. Напротив, YOLOv7, созданный авторами YOLOv4, фокусируется на оптимизации путей распространения градиента и стратегиях обучения «bag-of-freebies» для достижения высочайшей точности.

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

Метрики производительности и тесты

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

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

Как показывают данные, YOLOv7 обычно лидирует по точности, а вариант YOLOv7 достигает впечатляющих 53,1 % mAP. Это делает его сильным кандидатом для сценариев, где точность является обязательным условием, таких как анализ медицинских изображений или экспертиза документов. Однако YOLO выделяется своей эффективностью, особенно его вариант «Tiny», который обеспечивает чрезвычайно низкую задержку (2,32 мс) на аппаратуре, TensorRT, что делает его подходящим для высокоскоростной промышленной сортировки.

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

Основное различие между этими двумя моделями заключается в том, как были задуманы их архитектуры.

YOLO: подход NAS

YOLO Distillation-Augmented MOdel) в значительной степени опирается на поиск нейронной архитектуры (NAS). Вместо того, чтобы вручную создавать каждый блок, авторы использовали метод MAE-NAS для автоматического обнаружения эффективных базовых структур.

  • RepGFPN: Вводит эффективную перепараметризованную обобщенную пирамидальную сеть признаков. Это позволяет осуществлять превосходное многомасштабное слияние признаков, обеспечивая эффективное обнаружение как мелких, так и крупных объектов.
  • ZeroHead: Чтобы снизить вычислительные затраты детектирующей головки,YOLO стратегию «ZeroHead», упрощая конечные слои, чтобы сократить критические миллисекунды во время вывода.
  • Дистилляция: ключевая часть процесса обучения включает в себя интенсивную дистилляцию знаний, при которой более крупная модель-учитель направляет меньшую модель-ученика, повышая точность без увеличения затрат на вывод.

YOLOv7: оптимизация градиентного пути

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

  • E-ELAN: Расширенная сеть агрегации эффективных слоев является основой YOLOv7. Она создает архитектуру, которая позволяет сети обучаться большему количеству функций путем контроля самых коротких и самых длинных путей градиента, обеспечивая эффективную конвергенцию сети.
  • Масштабирование модели: в отличие от предыдущих версий, которые просто расширяли или углубляли сеть, YOLOv7 эти атрибуты масштабирования, сохраняя оптимальный баланс для различных аппаратных ограничений.
  • Вспомогательная головка: в процессе обучения используется вспомогательная головка для обеспечения глубокого контроля, помогающая промежуточным слоям обучаться богатым функциям.

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

Современная альтернатива: Ultralytics

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

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

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

  1. Сквозной дизайн NMS: в отличие от YOLOv7, который требует немаксимального подавления (NMS) для фильтрации дублирующихся обнаружений, YOLO26 изначально является сквозным. Это устраняет разброс задержек, вызванный NMS , что приводит к детерминированной скорости вывода, крайне важной для робототехники в реальном времени.
  2. Оптимизатор MuSGD: Вдохновленный инновациями в области обучения больших языковых моделей (LLM) (в частности, Kimi K2 от Moonshot AI), YOLO26 использует оптимизатор MuSGD. Этот гибрид SGD Muon обеспечивает беспрецедентную стабильность обучения компьютерного зрения, позволяя моделям сходиться быстрее с меньшим количеством эпох.
  3. Эффективность Edge-First: благодаря устранению Distribution Focal Loss (DFL) YOLO26 упрощает график модели для экспорта. Это приводит к ускорению CPU до 43 % по сравнению с предыдущими поколениями, что делает его лучшим выбором для устройств, таких как Raspberry Pi или мобильные телефоны, в которых нет GPU.
  4. ProgLoss + STAL: интеграция Programmable Loss (ProgLoss) и Soft-Target Anchor Labeling (STAL) обеспечивает значительное улучшение в обнаружении мелких объектов, что традиционно является слабым местом более легких моделей, таких какYOLO.

Оптимизированный рабочий процесс с Ultralytics

Переход от исследовательских хранилищ к производству часто сопряжен с трудностями из-за фрагментированности кодовых баз. Ultralytics решает эту проблему, предлагая унифицированный интерфейс. Вы можете обучить модель YOLO26, track и развертывать их в таких форматах, как ONNX или CoreML одним щелчком CoreML резко контрастирует с ручными скриптами экспорта, необходимыми дляYOLO.

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

Удобство использования и экосистема

Архитектура модели — это только половина дела; экосистема определяет, насколько легко вы сможете ее реализовать.

YOLO — это в первую очередь репозиторий для исследований. Хотя код является открытым, в нем отсутствует стандартизированный API для простой интеграции в более крупные Python . Пользователям часто приходится вручную обрабатывать загрузчики данных, файлы конфигурации и скрипты экспорта.

YOLOv7 улучшил это с помощью более качественной документации, но по-прежнему полагается на более традиционный сценарийный рабочий процесс (train.py, detect.py).

Ultralytics модели приоритезируют простоту использования. Библиотека предоставляет Pythonic API, который обрабатывает модели как объекты. Это позволяет легко интегрировать их в существующие программные стеки.

from ultralytics import YOLO

# Load the cutting-edge YOLO26 model
model = YOLO("yolo26n.pt")

# Train on a custom dataset with MuSGD optimizer enabled automatically
results = model.train(data="coco8.yaml", epochs=100)

# Run inference with NMS-free speed
# No post-processing steps required by the user
results = model("https://ultralytics.com/images/bus.jpg")

Кроме того, Ultralytics славятся своей универсальностью. В то время какYOLO исключительно детектором объектов, Ultralytics поддерживает классификацию изображений, сегментацию экземпляров, оценку позы и обнаружение ориентированных ограничивающих прямоугольников (OBB). Это позволяет одной команде решать различные задачи компьютерного зрения с помощью единой, хорошо поддерживаемой библиотеки.

Эффективность обучения и ресурсы

Обучение современных моделей машинного зрения может быть ресурсоемким. YOLOv7 известен своим «мешком бесплатных подарков», что означает, что модель обучается очень эффективно, но процесс обучения может быть очень ресурсоемким для VRAM. Зависимость YOLO от дистилляции означает, что во время обучения вам фактически необходимо запускать две модели (учителя и ученика), что увеличивает нагрузку на память и сложность конвейера обучения.

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

Заключение

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

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

YOLO

YOLOv7


Комментарии