YOLOv10 против YOLOv7#
Быстрое развитие компьютерного зрения за последние несколько лет привело к созданию все более эффективных архитектур для приложений реального времени. Сравнение YOLOv10 и YOLOv7 подчеркивает важнейший переходный период в этой эволюции. В то время как YOLOv7 внедрила высокоэффективные стратегии обучения и архитектурное масштабирование, YOLOv10 произвела революцию в развертывании, избавившись от многолетней зависимости от подавления немаксимумов (NMS).
Обе модели раздвинули границы обнаружения объектов в момент своего выхода, однако современная экосистема Ultralytics и появление моделей нового поколения, таких как YOLO26, предлагают гораздо более совершенные рабочие процессы для современных специалистов по ИИ.
Профили и происхождение моделей#
Понимание происхождения этих моделей дает ценный контекст относительно их архитектурных решений и академических исследований, стоящих за ними.
Детали YOLOv10#
- Авторы: Ао Ван, Хуэй Чен, Лихао Лю и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- Arxiv: YOLOv10: Real-Time End-to-End Object Detection
- GitHub: THU-MIG/yolov10
- Документация: Документация Ultralytics YOLOv10
Детали YOLOv7#
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Институт информационных наук, Academia Sinica, Тайвань
- Дата: 2022-07-06
- Arxiv: YOLOv7: Trainable bag-of-freebies sets new state-of-the-art
- GitHub: WongKinYiu/yolov7
- Документация: Документация Ultralytics YOLOv7
Архитектурные инновации#
Подход YOLOv7#
Выпущенная в 2022 году, YOLOv7 была в значительной степени сосредоточена на оптимизации градиентных путей. Она представила Extended Efficient Layer Aggregation Network (E-ELAN), что позволило модели изучать более разнообразные признаки, не разрушая исходный градиентный путь. Кроме того, авторы реализовали методологию «trainable bag-of-freebies», используя методы перепараметризации во время обучения, которые могли быть объединены во время вывода для поддержания высокой скорости выполнения. Несмотря на эти впечатляющие оптимизации, YOLOv7 по-прежнему сильно зависела от NMS при постобработке, создавая переменную задержку при анализе сложных сцен.
Прорыв YOLOv10#
YOLOv10 напрямую решила проблему узкого места NMS. Внедрив согласованные двойные назначения во время обучения, команда Университета Цинхуа обеспечила сквозное обнаружение без NMS. Этот подход с двумя ветвями использует одну ветвь с назначениями «один ко многим» для получения богатых сигналов контроля во время обучения и другую ветвь с назначениями «один к одному» для вывода без NMS. Этот архитектурный сдвиг обеспечивает стабильную и сверхнизкую задержку выводов, подходящую для высокоскоростного видеоанализа. Кроме того, YOLOv10 использует комплексный дизайн моделей, ориентированный на эффективность и точность, исключая вычислительную избыточность, присущую предыдущим поколениям.
Удаление постобработки NMS не только ускоряет вывод, но и значительно упрощает развертывание на пограничном AI-оборудовании, таком как AI-ускорители и NPU, где нестандартные операции NMS, как известно, трудно компилировать.
Сравнение производительности#
При сравнении исходных метрик на наборе данных MS COCO поколенческий разрыв становится очевидным. YOLOv10 обеспечивает гораздо более выгодный баланс между количеством параметров, требованиями к вычислениям и точностью.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Как видно выше, YOLOv10x обеспечивает превосходное значение mAP в 54,4% по сравнению с 53,1% у YOLOv7x, используя при этом примерно на 20% меньше параметров. Более того, легковесные модели YOLOv10 (Nano и Small) предлагают исключительную скорость развертывания TensorRT, что делает их очень привлекательными для развертывания на мобильных устройствах.
Преимущества экосистемы Ultralytics#
Хотя изучение архитектурных статей дает много полезного, современная разработка в области компьютерного зрения опирается на надежные, хорошо поддерживаемые фреймворки. Выбор модели, поддерживаемой Ultralytics, дает огромное преимущество разработчикам, стремящимся быстро перейти от прототипа к производству.
Упрощенная разработка#
Доступ как к YOLOv10, так и к YOLOv7 возможен через стандартный пакет Ultralytics Python. Это обеспечивает непревзойденную простоту использования, заменяя тысячи строк шаблонного кода простым и интуитивно понятным API. Более того, модели Ultralytics YOLO требуют значительно меньше памяти CUDA во время обучения по сравнению с тяжелыми архитектурами Transformer, что позволяет использовать большие размеры пакетов (batch sizes) на потребительском оборудовании.
Непревзойденная универсальность#
В то время как старые репозитории часто сосредоточены исключительно на обнаружении ограничивающих рамок, интегрированный фреймворк 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: Приложения, которым полезна сквозная (end-to-end) детекция без использования Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: Проекты, требующие оптимального баланса между скоростью вывода и точностью детекции для различных масштабов моделей.
- Приложения с постоянной задержкой: Сценарии развертывания, где предсказуемое время вывода критически важно, например, в robotics или автономных системах.
Когда выбирать YOLOv7#
YOLOv7 рекомендуется для:
- Академического бенчмаркинга: воспроизведение результатов уровня state-of-the-art 2022 года или изучение эффектов E-ELAN и методов trainable bag-of-freebies.
- Исследований репараметризации: изучение плановых репараметризованных сверток и стратегий составного масштабирования моделей.
- Существующих кастомных конвейеров: проектов с сильно модифицированными конвейерами, построенными вокруг специфической архитектуры YOLOv7, которые нельзя легко переработать.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Новый стандарт: представляем YOLO26#
Хотя YOLOv10 был огромным шагом вперед в 2024 году, ландшафт компьютерного зрения движется невероятно быстро. Для всех новых разработок мы настоятельно рекомендуем модель последнего поколения: Ultralytics YOLO26. Выпущенная в январе 2026 года, она представляет собой абсолютную вершину AI для компьютерного зрения в реальном времени, значительно превосходя как YOLOv7, так и YOLOv10.
YOLO26 предлагает беспрецедентные инновации, разработанные специально для современных сред развертывания:
- Сквозной дизайн без NMS: основываясь на фундаменте, заложенном YOLOv10, YOLO26 нативно устраняет постобработку NMS для более простых конвейеров развертывания и стабильного высокоскоростного вывода.
- До 43% более быстрый вывод на CPU: значительно оптимизирован для пограничных вычислений и устройств без выделенных GPU, обеспечивая огромную экономию на затратах на оборудование.
- Удаление DFL: Distribution Focal Loss была полностью удалена, что радикально упрощает логику экспорта и значительно улучшает совместимость с маломощными пограничными устройствами и микроконтроллерами.
- Оптимизатор MuSGD: Вдохновленный Kimi K2 от Moonshot AI, этот гибрид SGD и Muon переносит инновации в обучении больших языковых моделей (LLM) непосредственно в компьютерное зрение, обеспечивая невероятно стабильную динамику обучения и более быструю сходимость.
- ProgLoss + STAL: Эти продвинутые функции потерь обеспечивают заметные улучшения в распознавании мелких объектов — исторически сложной области, критически важной для дронов, робототехники и мониторинга умного города.
- Улучшения для конкретных задач: YOLO26 — это не просто детектор. Он включает специализированную функцию потерь для семантической сегментации, Residual Log-Likelihood Estimation (RLE) для сверхточного отслеживания позы и специализированные алгоритмы угловых потерь для устранения проблем с границами OBB.
Для получения наилучшего опыта управления наборами данных, обучения YOLO26 и развертывания моделей в облаке изучи платформу Ultralytics. Она предлагает интерфейс без кода, который идеально дополняет Python SDK.
Реальные сценарии использования#
Выбор правильной архитектуры во многом зависит от ограничений твоего оборудования и приложения.
Когда использовать YOLOv7#
YOLOv7 остается надежным выбором для поддержки устаревших конвейеров, которые уже глубоко интегрированы с ее специфическими тензорными структурами, или при воспроизведении академических бенчмарков 2022 и 2023 годов. Она отлично работает на серверных GPU высокого класса.
Когда использовать YOLOv10#
YOLOv10 блистает в сценариях, требующих строгой и неизменной задержки. Поскольку она не использует NMS, она отлично подходит для подсчета людей в условиях высокой плотности или обнаружения дефектов на производстве, где количество объектов сильно колеблется, но время обработки каждого кадра должно оставаться постоянным.
Когда использовать YOLO26#
YOLO26 — это однозначный выбор для любого нового проекта. От развертывания сложных систем охранной сигнализации на базовой плате Raspberry Pi до запуска масштабной облачной видеоаналитики — ее превосходная скорость работы на CPU и продвинутое обнаружение мелких объектов делают ее намного лучше старых поколений.
Для разработчиков, заинтересованных в изучении альтернативных современных архитектур, мы также предоставляем широкую поддержку детекторов на базе трансформеров, таких как RT-DETR, и предыдущих основных моделей поколений, таких как Ultralytics YOLO11.