YOLOv7 против YOLOv10: Эволюция обнаружения объектов в реальном времени
За последние несколько лет область компьютерного зрения стала свидетелем значительных достижений, при этом семейство моделей YOLO (You Only Look Once) лидирует в обнаружении объектов в реальном времени. Выбор правильной архитектуры для ваших проектов компьютерного зрения требует глубокого понимания доступных вариантов. В этом всестороннем техническом сравнении мы рассмотрим ключевые различия между двумя знаковыми архитектурами: YOLOv7 и YOLOv10.
Введение в модели
Обе эти модели представляют собой значимые вехи в истории искусственного интеллекта, однако они используют принципиально разные подходы к решению задач обнаружения объектов.
YOLOv7: Пионер «Бесплатных приемов»
Выпущенный 6 июля 2022 года исследователями Чэнь-Яо Ваном, Алексеем Бочковским и Хун-Юань Марком Ляо из Института информационных наук, Academia Sinica, YOLOv7 представил смену парадигмы в оптимизации нейронных сетей. Оригинальное исследование, подробно описанное в их научной статье и размещенное в их официальном репозитории GitHub, было сосредоточено на архитектурной репараметризации и обучаемом «наборе бесплатных приемов».
YOLOv7 использует расширенную эффективную сеть агрегации слоев (E-ELAN) для направления сети в изучении разнообразных признаков без разрушения исходного пути градиента. Это делает его надежным выбором для академических исследовательских бенчмарков и систем, сильно зависящих от стандартных высокопроизводительных GPU.
YOLOv10: Обнаружение в реальном времени End-to-End
Разработанный Ао Ваном и его командой в Университете Цинхуа, YOLOv10 был выпущен 23 мая 2024 года. Как подробно описано в его публикации на arXiv и репозитории GitHub Университета Цинхуа, эта модель устраняет давнее узкое место в обнаружении объектов: Non-Maximum Suppression (NMS).
YOLOv10 представил согласованные двойные назначения для обучения без NMS, что коренным образом изменило конвейер постобработки. Применяя комплексную стратегию проектирования модели, ориентированную на эффективность и точность, YOLOv10 снижает вычислительную избыточность. Это приводит к созданию архитектуры, уникально адаптированной для периферийных устройств, требующих чрезвычайно низкой задержки.
NMS-Free архитектура
Удаление Non-Maximum Suppression (NMS) в YOLOv10 позволяет экспортировать всю модель как единый вычислительный граф. Это значительно упрощает развертывание с использованием сред выполнения, таких как TensorRT или OpenVINO.
Сравнение производительности и метрик
При анализе производительности модели крайне важно оценивать компромиссы между точностью, скоростью и вычислительной нагрузкой. В следующей таблице показано, как различные размеры этих моделей соотносятся друг с другом.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
Анализ компромиссов
Приведенные выше метрики показывают резкий разрыв между поколениями. В то время как YOLOv7x обеспечивает очень сильный mAPval в 53.1%, она требует 71.3M параметров и 189.9B FLOPs. В отличие от этого, YOLOv10l превосходит эту точность (53.3% mAP), требуя при этом менее половины параметров (29.5M) и значительно меньшего количества FLOPs (120.3B). Кроме того, высокооптимизированная YOLOv10n обеспечивает поразительную скорость вывода в 1.56 мс, что делает ее идеальной для анализа видео в реальном времени и мобильных приложений.
Реальные примеры использования
Архитектурные различия между этими моделями определяют их оптимальные сценарии использования.
Когда применять YOLOv7
Благодаря богатому представлению признаков, YOLOv7 превосходно работает в очень сложных условиях. Сценарии использования, такие как мониторинг транспортного потока в густонаселенных городских районах, анализ спутниковых изображений или выявление дефектов в тяжелой производственной автоматизации, выигрывают от его надежной структурной репараметризации. Он также широко используется в устаревших средах, уже глубоко интегрированных со специфическими конвейерами PyTorch 1.12.
Когда применять YOLOv10
Без NMS, легковесная архитектура YOLOv10 отлично проявляет себя в условиях ограниченных ресурсов. Она настоятельно рекомендуется для периферийных вычислительных устройств, таких как NVIDIA Jetson Nano или Raspberry Pi. Низкая задержка делает ее идеальной для быстродействующих приложений, таких как спортивная аналитика, автономная навигация дронов и высокоскоростная роботизированная сортировка на конвейерных лентах.
Преимущество экосистемы Ultralytics
Хотя обе модели имеют прочные академические корни, их истинный потенциал раскрывается при использовании в рамках единой платформы Ultralytics. Разработка моделей компьютерного зрения с нуля, как известно, сложна, но экосистема Ultralytics предоставляет беспрецедентный опыт для инженеров по машинному обучению.
- Простота использования: API Ultralytics Python предоставляет унифицированный интерфейс. Вы можете обучать, валидировать и экспортировать модели всего несколькими строками кода, избегая сложных проблем с зависимостями, характерных для типичных академических репозиториев.
- Хорошо поддерживаемая экосистема: Ultralytics гарантирует активную разработку базового кода. Пользователи получают выгоду от бесшовной интеграции с популярными инструментами машинного обучения, такими как Weights & Biases для логирования или Hugging Face для быстрых веб-демонстраций.
- Требования к памяти: Детекторы объектов на основе трансформеров часто потребляют огромные объемы памяти CUDA во время обучения. В отличие от них, модели Ultralytics YOLO требуют значительно меньше памяти, что позволяет использовать гораздо большие размеры пакетов на потребительском оборудовании.
- Универсальность: Пайплайн Ultralytics не ограничивается стандартными ограничивающими рамками. Он бесшовно поддерживает оценку позы, сегментацию экземпляров и ориентированные ограничивающие рамки для поддерживаемых семейств моделей, таких как 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 является отличным выбором для:
- Академическое сравнительное тестирование: Для воспроизведения передовых результатов 2022 года или изучения эффектов E-ELAN и обучаемых методов «набора бесплатных улучшений».
- Исследования репараметризации: Исследование запланированных репараметризованных сверток и стратегий составного масштабирования моделей.
- Существующие пользовательские конвейеры: Проекты с сильно кастомизированными конвейерами, построенными вокруг специфической архитектуры YOLOv7, которые не могут быть легко рефакторизированы.
Когда выбирать YOLOv10
YOLOv10 рекомендуется для:
- Обнаружение в реальном времени без NMS: Приложения, выигрывающие от сквозного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированный компромисс между скоростью и точностью: Проекты, требующие оптимального баланса между скоростью инференса и точностью обнаружения для моделей различных масштабов.
- Приложения с предсказуемой задержкой: Сценарии развертывания, где критически важны предсказуемые времена инференса, например, в робототехнике или автономных системах.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчиков:
- Развертывание на периферии без NMS: Приложения, требующие стабильного вывода с низкой задержкой без сложности постобработки методом Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного ускорения GPU, где до 43% более быстрая инференция YOLO26 на CPU обеспечивает решающее преимущество.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэрофотосъемка с дронов или анализ данных с IoT-датчиков, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Будущее: Представляем YOLO26
Хотя YOLOv7 и YOLOv10 являются впечатляющими вехами, границы ИИ постоянно расширяются. Выпущенная в январе 2026 года, Ultralytics YOLO26 является бесспорным новым стандартом эффективности и точности во всех сценариях развертывания на периферии и в облаке.
Если вы начинаете новый проект компьютерного зрения сегодня, YOLO26 является рекомендуемой архитектурой. Она основывается на наследии своих предшественников, внедряя несколько новаторских инноваций:
- Сквозная архитектура без NMS: Вдохновленный YOLOv10, YOLO26 изначально исключает постобработку NMS, обеспечивая инференс со сверхнизкой задержкой для детерминированной робототехники реального времени.
- До 43% более быстрая инференция на CPU: За счет стратегического удаления модуля Distribution Focal Loss (DFL), YOLO26 значительно ускоряет выполнение на периферийном оборудовании без GPU, что делает его мощным решением для IoT-устройств.
- Оптимизатор MuSGD: Вдохновленный недавними инновациями в обучении больших языковых моделей, YOLO26 включает гибрид SGD и Muon, стабилизируя пути обучения и гарантируя более быструю сходимость.
- ProgLoss + STAL: Эти усовершенствованные функции потерь обеспечивают заметные улучшения в распознавании мелких объектов, преодолевая историческую слабость в старых поколениях YOLO.
- Непревзойденная универсальность: YOLO26 предлагает нативные, специфичные для задач оптимизации, такие как оценка остаточного логарифмического правдоподобия (RLE) для отслеживания позы и специализированные угловые потери для точного detect OBB на аэрофотоснимках.
Для инженеров, ищущих идеальный баланс скорости, точности и простоты развертывания, переход от устаревших моделей к YOLO26 обеспечивает немедленное и измеримое конкурентное преимущество.