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

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

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

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

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

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

YOLOv10 Детали

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

Подробности о YOLOv7

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

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

Подход YOLOv7

Выпущенный в 2022 году, YOLOv7 был сфокусирован на интенсивной оптимизации градиентных путей. Он представил расширенную эффективную сеть агрегации слоёв (E-ELAN), которая позволила модели изучать более разнообразные признаки, не разрушая исходный градиентный путь. Кроме того, авторы внедрили методологию "обучаемого набора бесплатных приёмов", используя методы репараметризации во время обучения, которые могли быть объединены во время инференса для поддержания высокой скорости выполнения. Несмотря на эти впечатляющие оптимизации, YOLOv7 всё ещё сильно зависел от NMS для постобработки, что приводило к переменной задержке при анализе плотных сцен.

Прорыв YOLOv10

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

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

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

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

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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 доступны через стандартный пакет Ultralytics Python. Это обеспечивает беспрецедентную простоту использования, заменяя тысячи строк шаблонного кода простым, интуитивно понятным API. Кроме того, модели Ultralytics YOLO требуют значительно меньше памяти CUDA во время обучения по сравнению с тяжелыми трансформерными архитектурами, что позволяет использовать большие размеры пакетов на оборудовании потребительского класса.

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

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

Пример кода: Единообразные рабочие процессы обучения

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

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, что снижает сложность развертывания.
  • Сбалансированный компромисс между скоростью и точностью: Проекты, требующие оптимального баланса между скоростью инференса и точностью обнаружения для моделей различных масштабов.
  • Приложения с предсказуемой задержкой: Сценарии развертывания, где критически важны предсказуемые времена инференса, например, в робототехнике или автономных системах.

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

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

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

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

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

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

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

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

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

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

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

Управление наборами данных и обучением

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

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

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

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

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

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

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

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

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

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


Комментарии