YOLOv7 против YOLOv10: Эволюция детектирования объектов в реальном времени

В области компьютерного зрения за последние несколько лет произошли значительные достижения, и семейство моделей YOLO (You Only Look Once) стало лидером в детектировании объектов в реальном времени. Выбор подходящей архитектуры для твоих проектов по компьютерному зрению требует глубокого понимания доступных вариантов. В этом подробном техническом сравнении мы рассмотрим ключевые различия между двумя знаковыми архитектурами: YOLOv7 и YOLOv10.

Знакомство с моделями

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

YOLOv7: первопроходец «набора бесплатных инструментов»

Модель YOLOv7, выпущенная 6 июля 2022 года исследователями Чиен-Яо Вангом, Алексеем Бочковским и Хонг-Юань Марком Ляо из Института информатики Academia Sinica, совершила сдвиг парадигмы в оптимизации нейронных сетей. Оригинальное исследование, подробно описанное в их научной статье и опубликованное в их официальном репозитории GitHub, было сосредоточено на архитектурной репараметризации и обучаемом наборе «бесплатных дополнений» (bag-of-freebies).

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

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

YOLOv10: Детектирование от начала до конца в реальном времени

Разработанная Ао Вангом и его командой в Университете Цинхуа, модель YOLOv10 была выпущена 23 мая 2024 года. Как подробно описано в ее публикации на arxiv и в репозитории GitHub Университета Цинхуа, эта модель устраняет давнее узкое место в детектировании объектов: немаксимальное подавление (NMS).

В YOLOv10 представлены согласованные двойные назначения для обучения без использования NMS, что фундаментально меняет конвейер постобработки. Используя целостную стратегию проектирования моделей, ориентированную на эффективность и точность, YOLOv10 снижает вычислительную избыточность. В результате получается архитектура, специально разработанная для пограничных устройств (edge devices), требующих крайне низкой задержки.

Узнать больше о YOLOv10

Архитектура без NMS

Удаление немаксимального подавления (NMS) в YOLOv10 позволяет экспортировать всю модель как единый вычислительный граф. Это значительно упрощает развертывание с использованием сред выполнения, таких как TensorRT или OpenVINO.

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

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(М)
FLOPs
(Б)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Анализ компромиссов

Приведенные выше метрики выявляют заметный поколенческий разрыв. В то время как YOLOv7x обеспечивает очень высокий показатель mAPval в 53,1%, ей требуется 71,3 млн параметров и 189,9 млрд FLOPs. Напротив, YOLOv10l превосходит эту точность (53,3% mAP), требуя при этом менее половины параметров (29,5 млн) и значительно меньше FLOPs (120,3 млрд). Кроме того, высокооптимизированная модель YOLOv10n обеспечивает поразительную скорость инференса в 1,56 мс, что делает ее идеальной для видеоаналитики в реальном времени и мобильных приложений.

Реальные сценарии использования

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

Когда использовать YOLOv7

Благодаря своему богатому представлению признаков, YOLOv7 превосходно работает в очень сложных условиях. Такие сценарии использования, как мониторинг транспортных потоков в густонаселенных городских районах, анализ спутниковых снимков или выявление дефектов в сложной производственной автоматизации, выигрывают от ее надежной структурной репараметризации. Ее также часто выбирают для устаревших сред, уже глубоко интегрированных со специфическими пайплайнами PyTorch 1.12.

Когда использовать YOLOv10

Легковесная конструкция YOLOv10 без NMS отлично проявляет себя в ограниченных средах. Она настоятельно рекомендуется для пограничных вычислительных устройств, таких как NVIDIA Jetson Nano или Raspberry Pi. Ее производительность с низкой задержкой делает ее идеальной для быстро меняющихся приложений, таких как спортивная аналитика, автономная навигация дронов и высокоскоростная роботизированная сортировка на конвейерных лентах.

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

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

  • Простота использования: Python API от Ultralytics предоставляет единый интерфейс. Ты можешь обучать, проверять и экспортировать модели всего несколькими строками кода, избегая кошмаров с зависимостями, типичных для обычных академических репозиториев.
  • Хорошо поддерживаемая экосистема: Ultralytics гарантирует, что базовый код активно развивается. Пользователи получают преимущества от бесшовной интеграции с популярными инструментами машинного обучения, такими как Weights & Biases для логирования или Hugging Face для быстрых веб-демо.
  • Требования к памяти: Детекторы объектов на основе Transformer часто потребляют огромное количество памяти CUDA во время обучения. Напротив, модели Ultralytics YOLO требуют гораздо меньше памяти, что позволяет использовать гораздо большие размеры пакетов (batch sizes) на потребительском оборудовании.
  • Универсальность: Пайплайн Ultralytics не ограничивается стандартными ограничивающими рамками. Он бесшовно поддерживает оценку позы (pose estimation), сегментацию экземпляров (instance segmentation) и ориентированные ограничивающие рамки во всех поддерживаемых семействах моделей, таких как YOLO11 и YOLOv8.

Пример оптимизированного обучения

Запуск пайплайна обучения с Ultralytics удивительно прост. Независимо от того, используешь ли ты историческую надежность YOLOv7 или скорость YOLOv10 без NMS, синтаксис остается неизменным:

from ultralytics import YOLO

# Load the preferred model (e.g., YOLOv10 Nano)
model = YOLO("yolov10n.pt")

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

# Run an inference prediction on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Export to an edge-friendly format like ONNX
model.export(format="onnx")

Варианты использования и рекомендации

Выбор между YOLOv7 и YOLOv10 зависит от требований твоего конкретного проекта, ограничений развертывания и предпочтений в экосистеме.

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

YOLOv7 — отличный выбор для:

  • Академического бенчмаркинга: воспроизведение результатов SOTA 2022 года или изучение эффектов E-ELAN и методов trainable bag-of-freebies.
  • Исследований репараметризации: изучение запланированных репараметризованных сверток и стратегий масштабирования составных моделей.
  • Существующих пользовательских пайплайнов: проекты с сильно кастомизированными пайплайнами, построенными вокруг специфической архитектуры YOLOv7, которые нелегко рефакторить.

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

YOLOv10 рекомендуется для:

  • Обнаружение в реальном времени без NMS: Приложения, которые выигрывают от комплексного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
  • Сбалансированные компромиссы скорости и точности: Проекты, требующие хорошего баланса между скоростью вывода и точностью обнаружения для моделей различных масштабов.
  • Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.

Когда выбирать Ultralytics (YOLO26)

Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:

  • Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
  • Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
  • Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.

Будущее: Представляем YOLO26

Хотя YOLOv7 и YOLOv10 являются впечатляющими вехами, границы ИИ постоянно расширяются. Выпущенная в январе 2026 года, Ultralytics YOLO26 является бесспорным новым стандартом эффективности и точности для всех сценариев развертывания на периферии (edge) и в облаке.

Если ты начинаешь новый проект по компьютерному зрению сегодня, YOLO26 — рекомендуемая архитектура. Она опирается на наследие своих предшественников, внедряя несколько революционных инноваций:

  • Конструкция End-to-End без NMS: Вдохновляясь YOLOv10, YOLO26 нативно устраняет постобработку NMS, обеспечивая сверхнизкую задержку инференса для детерминированной робототехники реального времени.
  • До 43% быстрее инференс на CPU: Стратегически удалив модуль Distribution Focal Loss (DFL), YOLO26 кардинально ускоряет выполнение на оборудовании без GPU, что делает ее мощным инструментом для устройств IoT.
  • Оптимизатор MuSGD: Вдохновленный недавними инновациями в обучении больших языковых моделей, YOLO26 включает гибрид SGD и Muon, стабилизируя пути обучения и гарантируя более быструю сходимость.
  • ProgLoss + STAL: Эти продвинутые функции потерь обеспечивают заметное улучшение распознавания мелких объектов, преодолевая историческую слабость старых поколений YOLO.
  • Непревзойденная универсальность: YOLO26 отличается нативными оптимизациями, специфичными для задач, такими как Residual Log-Likelihood Estimation (RLE) для отслеживания поз и специализированные угловые потери для точного детектирования OBB на аэрофотоснимках.

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

Комментарии