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

Быстрое развитие компьютерного зрения за последние несколько лет привело к появлению все более эффективных архитектур для приложений реального времени. Сравнение YOLOv10 и YOLOv7 подчеркивает критический переходный период в этой эволюции. В то время как YOLOv7 представила высокоэффективные стратегии обучения и масштабирования архитектуры, YOLOv10 совершила революцию в развертывании, устранив давнюю зависимость от Non-Maximum Suppression (NMS).

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

Профили моделей и их происхождение

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

Детали YOLOv10

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

Детали YOLOv7

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

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

Подход YOLOv7

Выпущенная в 2022 году, YOLOv7 в значительной степени сфокусировалась на оптимизации путей градиента. Она представила Extended Efficient Layer Aggregation Network (E-ELAN), что позволило модели изучать более разнообразные признаки, не разрушая исходный путь градиента. Кроме того, авторы реализовали методологию «trainable bag-of-freebies», используя методы репараметризации во время обучения, которые можно «слить» (fuse) при инференсе для поддержания высокой скорости выполнения. Несмотря на эти впечатляющие оптимизации, YOLOv7 по-прежнему сильно зависела от NMS для постобработки, создавая переменную задержку при анализе плотных сцен.

Прорыв YOLOv10

YOLOv10 напрямую устранила «бутылочное горлышко» NMS. Введя последовательные двойные назначения (consistent dual assignments) во время обучения, команда Университета Цинхуа обеспечила NMS-free end-to-end детектирование. Этот подход с двумя «головами» (dual-head) использует одну ветку с назначениями «один-ко-многим» для богатых сигналов контроля во время обучения, и другую ветку с назначениями «один-к-одному» для NMS-free инференса. Этот архитектурный сдвиг обеспечивает стабильную, ультранизкую задержку инференса, подходящую для высокоскоростной видеоаналитики. Кроме того, YOLOv10 использует дизайн модели, ориентированный на целостную эффективность и точность, устраняя вычислительную избыточность, характерную для предыдущих поколений.

Влияние на постобработку

Удаление постобработки NMS не только ускоряет инференс, но и значительно упрощает развертывание на edge AI-оборудовании, таком как AI-ускорители и NPU, где пользовательские операции NMS, как известно, трудно компилировать.

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

При сравнении «сырых» метрик на датасете MS COCO, разрыв между поколениями становится очевидным. YOLOv10 достигает гораздо более выгодного компромисса между параметрами, вычислительными требованиями и точностью.

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

Как видно выше, YOLOv10x обеспечивает превосходный mAP 54,4% по сравнению с 53,1% у YOLOv7x, при этом используя примерно на 20% меньше параметров. Более того, облегченные модели YOLOv10 (Nano и Small) предлагают исключительную скорость развертывания TensorRT, что делает их весьма привлекательными для мобильного развертывания.

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

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

Оптимизация разработки

Обе модели, YOLOv10 и YOLOv7, доступны через стандартный Python-пакет Ultralytics. Это обеспечивает непревзойденную простоту использования, заменяя тысячи строк шаблонного кода простым и интуитивно понятным API. Кроме того, модели Ultralytics YOLO требуют значительно меньше памяти CUDA во время обучения по сравнению с тяжелыми архитектурами Transformer, что позволяет использовать большие размеры батчей на потребительском оборудовании.

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

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

Пример кода: Последовательные рабочие процессы обучения

Следующий фрагмент кода демонстрирует бесшовный процесс обучения, который автоматически обрабатывает аугментацию данных и планирование скорости обучения (learning rate scheduling):

from ultralytics import YOLO

# Load the desired model (YOLOv10, YOLOv7, or the recommended YOLO26)
model = YOLO("yolo26n.pt")

# Train the model effortlessly on your dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)

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

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

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

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

YOLOv10 — хороший выбор для:

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

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

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

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

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

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

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

Новый стандарт: Представляем YOLO26

Хотя YOLOv10 стала огромным шагом вперед в 2024 году, сфера компьютерного зрения развивается невероятно быстро. Для всех новых разработок мы настоятельно рекомендуем модель последнего поколения: Ultralytics YOLO26. Выпущенная в январе 2026 года, она представляет собой абсолютную вершину AI для компьютерного зрения в реальном времени, значительно превосходя как YOLOv7, так и YOLOv10.

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

YOLO26 привносит беспрецедентные инновации, разработанные специально для современных сред развертывания:

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

Для получения наилучшего опыта в управлении своими датасетами, обучении YOLO26 и развертывании моделей в облаке, изучи платформу Ultralytics. Она предлагает no-code интерфейс, который идеально дополняет Python SDK.

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

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

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

YOLOv7 остается надежным выбором для поддержания устаревших пайплайнов, которые уже глубоко интегрированы с её специфическими тензорными структурами, или при воспроизведении академических бенчмарков 2022 и 2023 годов. Она отлично работает на мощных серверных GPU.

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

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

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

YOLO26 — это окончательный выбор для любого нового проекта (greenfield project). От развертывания сложных систем охранной сигнализации на обычном Raspberry Pi до запуска масштабной облачной видеоаналитики — её превосходная скорость работы на CPU и продвинутое детектирование мелких объектов делают её намного лучше предыдущих поколений.

Разработчикам, заинтересованным в изучении альтернативных современных архитектур, мы также предоставляем обширную поддержку детекторов на базе Transformer, таких как RT-DETR, и предыдущих поколений, таких как Ultralytics YOLO11.

Комментарии