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

YOLOv10 против YOLOv7: усовершенствованная архитектура обнаружения объектов в реальном времени

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

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

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

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

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

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

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

YOLOv7: Оптимизированный для обучения мешок бесплатных вещей

YOLOv7выпущенная 6 июля 2022 года Чиен-Яо Вангом, Алексеем Бочковским и Хонг-Юаном Марком Ляо из Academia Sinica, направлена на оптимизацию процесса обучения без увеличения стоимости вывода. В ней представлена расширенная эффективная сеть агрегирования слоев (E-ELAN), которая повышает способность сети к обучению за счет управления градиентным путем.

В YOLOv7 широко используются "Bag-of-Freebies" - методы, повышающие точность в процессе обучения без ущерба для скорости вывода, и методы масштабирования модели, позволяющие эффективно комбинировать параметры. Несмотря на высокую эффективность, зависимость от традиционной постобработки NMS приводит к тому, что задержки на выходе часто выше, чем в новых архитектурах NMS.

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

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

При оценке этих моделей выявляются различные закономерности в отношении эффективности и возможностей обнаружения. YOLOv10 в целом предлагает более высокую эффективность, достигая аналогичного или лучшего mAP (Mean Average Precision) при значительно меньшем количестве параметров и более быстром времени вывода по сравнению с 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 остается конкурентоспособным по пропускной способности на high-end GPU, но для достижения сопоставимых результатов требуется больше памяти и вычислений.

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

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

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

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

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

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

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

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

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

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

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

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

Современные модели Ultralytics выходят за рамки простого определения ограничительных рамок. Они поддерживают сегментацию объектов, оценку позы, обнаружение ориентированных объектов (OBB) и классификацию в рамках одного фреймворка. Такая универсальность является ключевым преимуществом по сравнению с более старыми отдельными хранилищами.

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

Следующий пример демонстрирует простоту использования API Ultralytics для загрузки предварительно обученной модели YOLOv10 и проведения расчетов. Эта простота использования контрастирует с более ручной настройкой, которая часто требуется для старых архитектур, таких как 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 сее постоянными обновлениями и широкой поддержкой инструментов наиболее продуктивной средой для создания решений ИИ для компьютерного зрения.

Подробнее


Комментарии