YOLOv10 против YOLOv9: технический разбор современного детектирования объектов
Эволюция компьютерного зрения в реальном времени ознаменовалась постоянными прорывами в скорости, точности и эффективности архитектур. При оценке современных решений для твоего следующего проекта сравнение YOLOv10 и YOLOv9 дает интересную возможность взглянуть на два различных подхода к решению проблем глубокого обучения. В то время как YOLOv9 фокусируется на максимизации потока градиентной информации во время обучения, YOLOv10 предлагает инновационный сквозной дизайн, который полностью устраняет традиционные препятствия при постобработке.
Это подробное руководство анализирует их архитектурные инновации, показатели производительности и идеальные сценарии использования, чтобы помочь разработчикам и исследователям выбрать оптимальную модель для их конкретных задач компьютерного зрения.
YOLOv10: первопроходец в сквозном обучении без NMS
Разработанная для устранения проблем с задержкой, присущих традиционным детекторам объектов, YOLOv10 представляет революционную сквозную архитектуру, которая нативно избавляет от необходимости использования немаксимального подавления (NMS).
Технические детали и происхождение:
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 23 мая 2024 г.
- Ссылки: Публикация на Arxiv, Репозиторий GitHub, Документация Ultralytics
Архитектура и сильные стороны
Самый значительный вклад YOLOv10 в эту область — последовательная стратегия двойного назначения для обучения без NMS. Исключив NMS, модель радикально снижает задержку вывода, особенно на периферийных устройствах (edge devices), где постобработка может стать узким местом всего конвейера. Она оптимизирует различные компоненты с точки зрения как эффективности, так и точности, в результате чего модель демонстрирует впечатляющий баланс между скоростью и количеством параметров. Например, вариант YOLOv10-S исключительно быстр, что делает его отличным выбором для высокоскоростной видеоаналитики и навигации роботов в реальном времени.
Недостатки
Хотя дизайн без NMS является прорывным для обнаружения ограничивающих рамок (bounding boxes), YOLOv10 в первую очередь оптимизирована как чистый детектор объектов. Ей не хватает универсальности новых экосистем, которые нативно поддерживают сегментацию экземпляров или оценку позы. Кроме того, ранние реализации требовали тщательной настройки экспорта, чтобы операции, такие как cv2, были полностью оптимизированы вне графа вывода.
При подготовке YOLOv10 к работе всегда экспортируй модель в оптимизированные форматы, такие как TensorRT или ONNX. Использование «сырых» весов PyTorch при развертывании может привести к более медленному выводу, чем ожидалось, из-за неоптимизированных операций в графе.
YOLOv9: программируемая градиентная информация
До появления YOLOv10, YOLOv9 представила новые архитектурные концепции для решения проблемы «информационного бутылочного горлышка», присущей глубоким нейронным сетям, что позволило добиться высокоэффективного использования параметров.
Технические детали и происхождение:
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Institute of Information Science, Academia Sinica, Тайвань
- Дата: 21 февраля 2024 г.
- Ссылки: Публикация на Arxiv, Репозиторий GitHub, Документация Ultralytics
Архитектура и сильные стороны
YOLOv9 представляет программируемую градиентную информацию (PGI) вместе с Generalized Efficient Layer Aggregation Network (GELAN). PGI гарантирует, что важная информация о цели не теряется при прохождении данных через глубокие слои сети, генерируя надежные градиенты для обновления весов. GELAN максимизирует эффективность параметров сети. Вместе эти инновации позволяют YOLOv9 достигать невероятно высокого среднего значения точности (mAP) на наборе данных MS COCO, часто превосходя более тяжелые модели при меньшем количестве FLOPs. Это исключительная модель для исследователей, сосредоточенных на максимизации теоретических показателей точности.
Недостатки
Несмотря на высокую точность, YOLOv9 по-прежнему полагается на стандартную постобработку NMS. Это означает, что хотя операции нейронной сети выполняются быстро, финальная фильтрация ограничивающих рамок может приводить к переменной задержке в зависимости от плотности объектов на сцене. Кроме того, процесс обучения может быть очень требовательным к памяти по сравнению с более поздними моделями, что требует более мощных ресурсов GPU для дообучения на пользовательских наборах данных.
Сравнение производительности
В таблице ниже показаны основные метрики для обеих моделей. Заметь, что YOLOv10 обычно достигает меньшей задержки с помощью TensorRT, в то время как YOLOv9 расширяет границы точности в своей самой крупной конфигурации.
| Модель | размер (пиксели) | 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Следующее поколение: почему YOLO26 — наша главная рекомендация
Хотя YOLOv9 и YOLOv10 — впечатляющие вехи, область машинного обучения развивается быстро. Для современных производственных сред разработчики все чаще полагаются на интегрированную и хорошо поддерживаемую экосистему Ultralytics Platform. По состоянию на 2026 год, однозначной рекомендацией как для исследований, так и для бизнеса является недавно выпущенная YOLO26.
YOLO26 берет фундаментальные концепции своих предшественников и развивает их благодаря оптимизированному пользовательскому опыту, простому API и значительно меньшим требованиям к памяти во время обучения по сравнению с громоздкими архитектурами на базе трансформеров.
Ключевые инновации в YOLO26
- Сквозной дизайн без NMS: Основываясь на прорывах YOLOv10, YOLO26 является нативно сквозной, полностью исключая постобработку NMS для более простого развертывания и предсказуемой задержки.
- До 43% быстрее при выводе на CPU: Оптимизирована для Edge AI из коробки, что делает её идеальным выбором для встраиваемых систем без выделенных GPU.
- Оптимизатор MuSGD: Инновационный гибрид SGD и Muon (вдохновленный методами оптимизации больших языковых моделей), обеспечивающий высокую стабильность процесса обучения и невероятно быстрое время сходимости.
- Удаление DFL: Удалив Distribution Focal Loss, YOLO26 упрощает процесс экспорта модели, значительно повышая совместимость с маломощными устройствами и различными фреймворками для развертывания на периферии.
- Улучшения для конкретных задач: В отличие от специализированных детекторов, решающих одну задачу, YOLO26 — это универсальный инструмент. Она использует потери семантической сегментации для точной работы на уровне пикселей, Residual Log-Likelihood Estimation (RLE) для безупречной оценки позы и специализированную функцию потерь по углу для решения проблем с границами OBB (Oriented Bounding Box).
Выбор модели Ultralytics, такой как YOLO11 или YOLO26, обеспечивает непревзойденную простоту использования. Ты получаешь доступ к активной разработке, процветающему сообществу и частым обновлениям, которые гарантируют совместимость твоих моделей с новейшими движками вывода, такими как OpenVINO и CoreML.
Практическая реализация
Обучение и развертывание этих моделей выполняется просто с использованием Python SDK. Следующий пример демонстрирует, как использовать высокоэффективные процессы обучения в экосистеме Ultralytics, которая автоматически управляет планированием гиперпараметров и оптимальным распределением памяти.
from ultralytics import YOLO
# Load the recommended state-of-the-art model
model = YOLO("yolo26n.pt") # Also compatible with 'yolov10n.pt' or 'yolov9c.pt'
# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0, batch=16)
# Run ultra-fast inference
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for simplified edge deployment
model.export(format="onnx")Варианты использования и рекомендации
Выбор между YOLOv10 и YOLOv9 зависит от требований твоего проекта, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать YOLOv10
YOLOv10 — хороший выбор для:
- Обнаружение в реальном времени без NMS: Приложения, которые выигрывают от комплексного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированные компромиссы скорости и точности: Проекты, требующие хорошего баланса между скоростью вывода и точностью обнаружения для моделей различных масштабов.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
Когда выбирать YOLOv9
YOLOv9 рекомендуется для:
- Исследований информационных узких мест: академических проектов, изучающих архитектуры PGI (Programmable Gradient Information) и GELAN (Generalized Efficient Layer Aggregation Network).
- Изучения оптимизации градиентного потока: исследований, сфокусированных на понимании и смягчении потери информации в глубоких слоях сети во время обучения.
- Бенчмаркинга высокоточного детектирования: сценариев, где высокая производительность YOLOv9 на бенчмарке COCO нужна как точка отсчета для архитектурных сравнений.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Заключение
И YOLOv9, и YOLOv10 обладают уникальными преимуществами. YOLOv9 — это доказательство эффективности максимизации параметров сети и теоретического потока градиентов, что дает высочайшую точность. Тем временем, YOLOv10 выступает в качестве академического пионера сквозного детектирования ограничивающих рамок без задержек, вызванных NMS.
Однако для разработчиков, которые ищут идеальный баланс производительности, универсальности и простоты использования, переход на новейшие модели является первоочередной задачей. Благодаря современному оптимизатору MuSGD, функциональности ProgLoss + STAL для превосходного обнаружения мелких объектов и комплексной поддержке многозадачности, YOLO26 представляет собой окончательное современное решение для любой задачи компьютерного зрения в реальных условиях.