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

YOLOv6-3.0 против YOLOv7: глубокое погружение в индустриальную скорость и точность

Выбор оптимальной модели для detectирования объектов является критически важным решением, которое зависит от баланса между скоростью inference, точностью и вычислительной эффективностью. В этом техническом сравнении рассматриваются различия между YOLOv6-3.0, фреймворком, ориентированным на промышленность, и YOLOv7, моделью, разработанной для расширения границ точности с использованием обучаемых "мешков с бесплатными дополнениями". Анализируя их архитектуры, эталонные показатели и идеальные варианты использования, разработчики могут определить, какое решение лучше всего соответствует их конкретным ограничениям развертывания.

YOLOv6-3.0: Разработан для промышленной эффективности

YOLOv6-3.0 представляет собой значительную эволюцию в серии YOLO, специально разработанную для промышленных приложений, где скорость в реальном времени и эффективность оборудования являются обязательными условиями. Эта версия, разработанная компанией Meituan, фокусируется на оптимизации компромисса между задержкой и точностью, что делает ее отличным выбором для периферийных вычислений и сред с высокой пропускной способностью.

Авторы: Чуйи Ли, Лулу Ли, Ифэй Генг, Хунлян Цзян, Мэн Чэн, Бо Чжан, Зайдан Ке, Сяомин Сюй и Сянсян Чу
Организация:Meituan
Дата: 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHub:https://github.com/meituan/YOLOv6
Документация:https://docs.ultralytics.com/models/yolov6/

Архитектура и ключевые особенности

Архитектура YOLOv6-3.0 построена вокруг концепции проектирования, ориентированного на аппаратное обеспечение. Она использует re-parameterizable backbone (EfficientRep), который позволяет модели использовать сложные структуры во время обучения для лучшего изучения признаков, при этом сворачиваясь в более простые, быстрые структуры во время вывода. Этот метод значительно снижает затраты на доступ к памяти и улучшает задержку при выводе.

Ключевые архитектурные инновации включают:

  • Двунаправленное объединение (BiC): Этот модуль повышает точность локализации за счет улучшения распространения признаков.
  • Обучение с использованием якорей (AAT): Стратегия, сочетающая преимущества anchor-based и детекторов anchor-free для стабилизации обучения и повышения производительности.
  • Самодистилляция: YOLOv6-3.0 использует методы самодистилляции, где модель-ученик учится на предсказаниях своей собственной модели-учителя, повышая точность без необходимости использования внешних больших моделей.

Сильные и слабые стороны

Основная сила YOLOv6-3.0 заключается в ее скорости вывода. Как показывают тесты, небольшие варианты (например, YOLOv6-3.0n) исключительно быстры на оборудовании GPU, что делает их идеальными для конвейеров видеоаналитики, которые должны обрабатывать высокую частоту кадров. Кроме того, поддержка моделью квантования моделей облегчает развертывание на оборудовании с ограниченными ресурсами.

Однако более ранние версии YOLOv6 были в основном ограничены detectией объектов, не хватало встроенной универсальности, имеющейся в более полных фреймворках, которые поддерживают segmentацию или оценку позы из коробки. Кроме того, хотя поддержка экосистемы и очень эффективна, она не так обширна, как у других проектов, управляемых сообществом.

Идеальные варианты использования

YOLOv6-3.0 превосходен в таких сценариях, как:

  • Производственные линии: Где требуется высокоскоростной detect дефектов на конвейерных лентах.
  • Аналитика розничной торговли: Для управления очередями и отслеживания запасов, где вычислительные ресурсы ограничены.
  • Embedded systems: развертывание на устройствах, таких как серия NVIDIA Jetson.

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

YOLOv7: Оптимизация обучаемого Bag-of-Freebies

YOLOv7 использует другой подход, уделяя большое внимание архитектурным реформам для максимального увеличения точности без увеличения стоимости вывода. Авторы представили «обучаемые бесплатные улучшения» — методы оптимизации, которые улучшают производительность модели во время обучения, но не изменяют архитектуру или скорость вывода.

Авторы: Чен-Яо Ван, Алексей Бочковский и Хун-Юань Марк Ляо
Организация:Институт информатики, Academia Sinica, Тайвань
Дата: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Документация:https://docs.ultralytics.com/models/yolov7/

Архитектура и ключевые особенности

YOLOv7 представляет E-ELAN (Extended Efficient Layer Aggregation Network). Эта архитектура позволяет модели изучать более разнообразные признаки, контролируя кратчайшие и длиннейшие пути градиента, обеспечивая эффективную сходимость сети.

Основные характеристики включают:

  • Масштабирование модели: В отличие от предыдущих методов, которые масштабировали только глубину или ширину, YOLOv7 предлагает составной метод масштабирования, который объединяет слои, а не просто изменяет их размер, сохраняя свойства оптимизации модели.
  • Обучение со вспомогательной головой: Модель использует вспомогательную голову во время обучения, чтобы помочь ведущей голове. Этот метод глубокого контроля улучшает обучение промежуточных слоев, но удаляется во время инференции для поддержания скорости.
  • Запланированная повторно параметризованная свертка: Специализированное применение повторной параметризации, которое позволяет избежать идентичных соединений в определенных слоях, чтобы предотвратить ухудшение производительности.

Сильные и слабые стороны

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

С другой стороны, сложность архитектуры и использование вспомогательных голов могут сделать процесс обучения более требовательным к памяти по сравнению с более простыми архитектурами. Будучи эффективной во время инференса, фаза обучения требует значительного объема памяти GPU, особенно для более крупных вариантов "E6E".

Идеальные варианты использования

YOLOv7 особенно хорошо подходит для:

  • Детальное наблюдение: Идентификация мелких объектов или незначительных действий на сложных кадрах видеонаблюдения.
  • Автономное вождение: Где точность имеет решающее значение для безопасности и навигации.
  • Научные исследования: Приложения, требующие высоких метрик AP, такие как медицинская визуализация или биологические исследования.

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

Сравнение производительности: Метрики и анализ

В следующей таблице сравнивается производительность YOLOv6-3.0 и вариантов YOLOv7 на COCO validation dataset. В ней освещаются компромиссы между размером модели, вычислительной нагрузкой (FLOPs) и скоростью.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Интерпретация сравнительных тестов

В то время как YOLOv7x достигает наивысшей точности (53.1% mAP), он требует значительно больше параметров (71.3M) и FLOPs (189.9B). В отличие от этого, YOLOv6-3.0n оптимизирован для экстремальной скорости, достигая 1.17 ms inference на T4 GPU, что делает его примерно в 10 раз быстрее, чем самый большой вариант YOLOv7, хотя и с меньшей точностью.

Данные показывают четкое различие: YOLOv6-3.0 доминирует в средах с низкой задержкой, тогда как YOLOv7 превосходит, когда приоритетом является максимальное качество обнаружения и аппаратные ресурсы более обильны.

Преимущество Ultralytics: Больше, чем просто метрики

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

Простота использования и экосистема

Одним из наиболее существенных препятствий на пути внедрения передовых моделей ИИ является сложность реализации. Модели Ultralytics известны своим оптимизированным пользовательским интерфейсом. Благодаря простому Python API и CLI пользователи могут обучать, проверять и развертывать модели всего в несколько строк кода. Это контрастирует с репозиториями, ориентированными на исследования, которые часто требуют сложной настройки среды и корректировки конфигурации.

from ultralytics import YOLO

# Load a model (YOLO11n recommended for speed/accuracy balance)
model = YOLO("yolo11n.pt")

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

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

В отличие от более ранних версий YOLO, которые были в основном предназначены исключительно для detect, модели Ultralytics изначально являются мультимодальными. Единый фреймворк поддерживает:

Баланс производительности и эффективность

Модели Ultralytics, такие как YOLO11, разработаны для обеспечения оптимального баланса между скоростью и точностью. Они часто достигают более высокого mAP, чем YOLOv7, сохраняя при этом скорости логического вывода, связанные с эффективными архитектурами, такими как YOLOv6. Кроме того, модели Ultralytics разработаны для эффективности обучения, требуя меньшего использования памяти GPU по сравнению с моделями на основе трансформеров (такими как RT-DETR), что ускоряет циклы экспериментов и снижает затраты на облачные вычисления.

Хорошо поддерживаемая экосистема

Выбор модели Ultralytics означает приобретение поддерживаемой экосистемы. Это включает в себя:

  • Частые обновления: Регулярные улучшения архитектуры и весов.
  • Broad Export Support: Беспроблемный экспорт в ONNX, TensorRT, CoreML и TFLite для развертывания на любом устройстве.
  • Сообщество: Огромное сообщество разработчиков и обширная документация гарантируют, что помощь всегда доступна.

Заключение

И YOLOv6-3.0, и YOLOv7 внесли значительный вклад в область компьютерного зрения. YOLOv6-3.0 — это оптимальный выбор для промышленных приложений, требующих сверхбыстрого вывода и поддержки квантования. YOLOv7 остается сильным претендентом для сценариев, где точность detect имеет первостепенное значение, а аппаратные ограничения являются гибкими.

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

Для дальнейшего чтения рассмотрите наши сравнения по YOLOX или просмотрите возможности RT-DETR для обнаружения на основе трансформеров.


Комментарии