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

YOLOv10 vs YOLOv7: Продвижение архитектуры обнаружения объектов в реальном времени

Эволюция семейства YOLO (You Only Look Once) последовательно расширяла границы компьютерного зрения, балансируя скорость и точность для приложений реального времени. В этом сравнении исследуются архитектурные сдвиги и различия в производительности между YOLOv10, современной моделью, выпущенной исследователями из Университета Цинхуа, и YOLOv7, очень влиятельной моделью, разработанной Academia Sinica. Хотя обе модели внесли значительный вклад в область detect объектов, они используют различные стратегии для достижения своих целей производительности.

Эволюция архитектур моделей

Переход от YOLOv7 к YOLOv10 знаменует собой смену парадигмы в том, как нейронные сети обрабатывают постобработку и интеграцию признаков.

YOLOv10: Революция без NMS

YOLOv10, выпущенная 23 мая 2024 года Ао Ваном, Хуэй Ченом и другими сотрудниками из Университета Цинхуа, представляет новаторскую стратегию обучения без NMS. Традиционно детекторы объектов полагаются на Non-Maximum Suppression (NMS) для фильтрации дублирующихся ограничивающих рамок, что может создать узкое место в задержке инференса.

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

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

YOLOv7: оптимизирована для обучаемого Bag-of-Freebies

YOLOv7, выпущенная 6 июля 2022 года Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao из Academia Sinica, фокусируется на оптимизации процесса обучения без увеличения стоимости inference. В ней была представлена Extended Efficient Layer Aggregation Network (E-ELAN), которая повышает способность сети к обучению, контролируя путь градиента.

YOLOv7 в значительной степени использует «Bag-of-Freebies» — методы, которые повышают точность во время обучения, не влияя на скорость вывода, — и методы масштабирования модели, которые эффективно объединяют параметры. Хотя это и очень эффективно, его зависимость от традиционной постобработки NMS означает, что его сквозная задержка часто выше, чем у новых архитектур без NMS.

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

Сравнение технических характеристик

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

В таблице ниже представлены ключевые метрики на наборе данных COCO.

Модельразмер
(пиксели)
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

Анализ эффективности

Данные подчеркивают важное преимущество YOLOv10 в средах с ограниченными ресурсами. YOLOv10m достигает почти идентичной точности (51,3% mAP) по сравнению с YOLOv7l (51,4% mAP), но при этом использует менее половины параметров (15,4M против 36,9M) и значительно меньшее количество FLOPs (59,1B против 104,7B).

Задержка и пропускная способность

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

Случаи использования и приложения

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

Идеальные сценарии для YOLOv10

  • Edge AI: Благодаря низкому количеству параметров и FLOPs, YOLOv10 идеально подходит для таких устройств, как Raspberry Pi или NVIDIA Jetson.
  • Видеоаналитика в реальном времени: Высокая скорость инференса поддерживает обработку с высокой частотой кадров для управления дорожным движением и аналитики розничной торговли.
  • Робототехника: Более низкая задержка означает более быстрое время реакции для задач навигации и манипулирования роботов.

Идеальные сценарии для YOLOv7

  • Устаревшие системы: Проекты, уже интегрированные с кодовой базой YOLOv7, могут счесть ее достаточно стабильной для поддержки без немедленного рефакторинга.
  • Обнаружение общего назначения: Для серверных развертываний, где VRAM в изобилии, более крупные модели YOLOv7 по-прежнему обеспечивают надежные возможности обнаружения, хотя они менее эффективны, чем новые альтернативы, такие как YOLO11.

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

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

Простота использования и эффективность обучения

Одним из основных препятствий в глубоком обучении является сложность конвейеров обучения. Модели Ultralytics, включая YOLOv10 и YOLO11, используют оптимизированный Python API, который автоматически обрабатывает увеличение данных, настройку гиперпараметров и экспорт.

  • Простой API: Обучите модель в несколько строк кода.
  • Эффективность использования памяти: Оптимизации Ultralytics часто приводят к снижению использования памяти CUDA во время обучения по сравнению с «сырыми» реализациями.
  • Предварительно обученные весовые коэффициенты: Доступ к высококачественным предварительно обученным моделям на ImageNet и COCO ускоряет процесс трансферного обучения.

Универсальность в различных задачах

Современные модели Ultralytics выходят за рамки простого detect ограничивающих рамок. Они поддерживают Instance Segmentation, Pose Estimation, Oriented Object Detection (OBB) и Classification в рамках одной и той же структуры. Эта универсальность является ключевым преимуществом перед старыми автономными репозиториями.

Пример кода: Запуск YOLOv10 с Ultralytics

В следующем примере демонстрируется простота использования Ultralytics API для загрузки предварительно обученной модели YOLOv10 и запуска inference. Эта простота использования контрастирует с более сложной ручной настройкой, часто необходимой для старых архитектур, таких как YOLOv7.

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on an image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

Заключение и рекомендации

Для новых проектов рекомендуются YOLOv10 или еще более продвинутый YOLO11. Архитектура YOLOv10 без NMS обеспечивает превосходный баланс скорости и точности, что делает его хорошо адаптируемым для современных нужд периферийных вычислений. Он устраняет узкие места задержки предыдущих поколений, уменьшая при этом вычислительную нагрузку.

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

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


Комментарии