Перейти к содержимому

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

YOLOv7 - это современный детектор объектов в реальном времени, который превосходит все известные детекторы объектов как по скорости, так и по точности в диапазоне от 5 FPS до 160 FPS. Он обладает самой высокой точностью (56,8% AP) среди всех известных детекторов объектов в реальном времени с частотой 30 FPS и выше на GPU V100. Более того, YOLOv7 превосходит по скорости и точности другие детекторы объектов, такие как YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 и многие другие. Модель обучена на наборе данных MS COCO с нуля, без использования каких-либо других наборов данных или предварительно обученных весов. Исходный код YOLOv7 доступен на GitHub.

Сравнение YOLOv7 с детекторами объектов SOTA Сравнение современных детекторов объектов. Из результатов, приведенных в таблице 2, мы знаем, что предложенный метод имеет наилучший компромисс между скоростью и точностью в целом. Если сравнивать YOLOv7-tiny-SiLU с YOLOv5-N (r6.1), то наш метод на 127 fps быстрее и на 10,7% точнее по AP. Кроме того, YOLOv7 имеет 51,4% AP при частоте кадров 161 fps, в то время как PPYOLOE-L с той же AP имеет только 78 fps частоты кадров. Что касается использования параметров, то YOLOv7 на 41% меньше, чем PPYOLOE-L. Если сравнить YOLOv7-X со скоростью вывода 114 кадров в секунду с YOLOv5-L (r6.1) со скоростью вывода 99 кадров в секунду, то YOLOv7-X может улучшить AP на 3,9%. Если сравнить YOLOv7-X с YOLOv5-X (r6.1) аналогичного масштаба, то скорость умозаключений YOLOv7-X на 31 кадр быстрее. Кроме того, с точки зрения количества параметров и вычислений, YOLOv7-X сокращает 22% параметров и 8% вычислений по сравнению с YOLOv5-X (r6.1), но улучшает AP на 2,2% (Источник).

Обзор

Обнаружение объектов в реальном времени - важный компонент многих систем компьютерного зрения, включая многообъектное слежение, автономное вождение, робототехнику и анализ медицинских изображений. В последние годы разработки в области обнаружения объектов в реальном времени были сосредоточены на создании эффективных архитектур и повышении скорости вычислений на различных CPU, GPU и нейронных процессорах (NPU). YOLOv7 поддерживает как мобильные GPU, так и GPU-устройства, от края до облака.

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

Основные характеристики

YOLOv7 представляет несколько ключевых особенностей:

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

  2. Динамическое присвоение меток: При обучении модели с несколькими выходными слоями возникает новая проблема: "Как назначить динамические цели для выходов разных ветвей?". Чтобы решить эту проблему, в YOLOv7 появился новый метод присвоения меток, который называется грубым и тонким присвоением меток.

  3. Расширенное и составное масштабирование: В YOLOv7 предлагаются методы "расширенного" и "составного масштабирования" для детектора объектов в реальном времени, которые позволяют эффективно использовать параметры и вычисления.

  4. Эффективность: Метод, предложенный YOLOv7, позволяет эффективно сократить около 40 % параметров и 50 % вычислений современного детектора объектов в реальном времени, а также имеет более высокую скорость вывода и точность обнаружения.

Примеры использования

На момент написания статьи Ultralytics не поддерживает модели YOLOv7. Поэтому все пользователи, заинтересованные в использовании YOLOv7, должны будут обратиться непосредственно к репозиторию YOLOv7 на GitHub за инструкциями по установке и использованию.

Вот краткий обзор типичных шагов, которые ты можешь предпринять, чтобы использовать YOLOv7:

  1. Посети репозиторий YOLOv7 на GitHub: https://github.com/WongKinYiu/yolov7.

  2. Для установки следуй инструкциям, приведенным в файле README. Обычно это включает в себя клонирование репозитория, установку необходимых зависимостей и настройку всех необходимых переменных окружения.

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

Обрати внимание, что конкретные шаги могут отличаться в зависимости от твоего конкретного случая использования и текущего состояния репозитория YOLOv7. Поэтому настоятельно рекомендуется обращаться непосредственно к инструкциям, представленным в репозитории YOLOv7 на GitHub.

Мы сожалеем о возможных неудобствах и постараемся обновить этот документ примерами использования Ultralytics, как только поддержка YOLOv7 будет реализована.

Цитаты и благодарности

Мы хотели бы поблагодарить авторов YOLOv7 за их значительный вклад в область обнаружения объектов в реальном времени:

@article{wang2022yolov7,
  title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors},
  author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark},
  journal={arXiv preprint arXiv:2207.02696},
  year={2022}
}

Оригинальную статью YOLOv7 можно найти на arXiv. Авторы сделали свою работу общедоступной, а кодовую базу можно найти на GitHub. Мы ценим их усилия, направленные на развитие области и обеспечение доступности их работы для широкого сообщества.



Создано 2023-11-12, Обновлено 2024-01-07
Авторы: glenn-jocher (5), sergiuwaxmann (1)

Комментарии