заглушки YOLOv7: самый продвинутый алгоритм обнаружения объектов? - Unite.ИИ
Свяжитесь с нами:

Artificial Intelligence

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

mm

опубликованный

 on

6 июля 2022 года будет отмечено как веха в истории искусственного интеллекта, поскольку именно в этот день был выпущен YOLOv7. С момента своего запуска YOLOv7 стал самой горячей темой в сообществе разработчиков компьютерного зрения, и на это есть веские причины. YOLOv7 уже считается важной вехой в индустрии обнаружения объектов. 

Вскоре после того, была опубликована статья YOLOv7, она оказалась самой быстрой и точной моделью обнаружения возражений в реальном времени. Но как YOLOv7 превосходит своих предшественников? Что делает YOLOv7 настолько эффективным в выполнении задач компьютерного зрения? 

В этой статье мы попытаемся проанализировать модель YOLOv7 и попытаться найти ответ, почему YOLOv7 сейчас становится отраслевым стандартом? Но прежде чем мы сможем ответить на этот вопрос, нам нужно взглянуть на краткую историю обнаружения объектов. 

Что такое обнаружение объектов?

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

Модель обнаружения объектов можно разделить на две разные категории: однократные детекторы, и многократные детекторы. 

Обнаружение объектов в реальном времени

Чтобы по-настоящему понять, как работает YOLOv7, нам важно понять основную цель YOLOv7:Обнаружение объектов в реальном времени». Обнаружение объектов в реальном времени — ключевой компонент современного компьютерного зрения. Модели обнаружения объектов в реальном времени пытаются идентифицировать и находить интересующие объекты в режиме реального времени. Модели обнаружения объектов в реальном времени позволили разработчикам действительно эффективно отслеживать интересующие объекты в движущемся кадре, таком как видео, или в режиме реального времени. 

Модели обнаружения объектов в реальном времени, по сути, на шаг впереди традиционных моделей обнаружения изображений. В то время как первый используется для отслеживания объектов в видеофайлах, последний находит и идентифицирует объекты в стационарном кадре, таком как изображение. 

В результате модели обнаружения объектов в реальном времени действительно эффективны для видеоаналитики, автономных транспортных средств, подсчета объектов, отслеживания нескольких объектов и многого другого. 

Что такое ЙОЛО?

ЙОЛО или “Ты смотришь только один раз” — это семейство моделей обнаружения объектов в реальном времени. Концепция YOLO была впервые представлена ​​в 2016 году Джозефом Редмоном, и о ней почти сразу же заговорили в городе, потому что она была намного быстрее и точнее, чем существующие алгоритмы обнаружения объектов. Вскоре алгоритм YOLO стал стандартом в индустрии компьютерного зрения. 

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

Изменение подхода сработало, так как YOLO вскоре стал отраслевым стандартом, поскольку разрыв в производительности между ним и другими алгоритмами обнаружения объектов в реальном времени был значительным. Но в чем причина того, что YOLO был таким эффективным? 

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

Как работает YOLO?

Есть три шага, которые объясняют, как работает алгоритм YOLO. 

Переосмысление обнаружения объектов как отдельной проблемы регрессии

Ассоциация Алгоритм YOLO пытается переосмыслить обнаружение объектов как единую проблему регрессии, включая пиксели изображения, вероятности классов и координаты ограничивающей рамки. Следовательно, алгоритм должен смотреть на изображение только один раз, чтобы предсказать и найти целевые объекты на изображениях. 

Причины изображения глобально

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

До YOLO Fast R-CNN был одним из самых популярных алгоритмов обнаружения объектов, который не мог видеть более широкий контекст в изображении, потому что он ошибочно принимал фоновые пятна на изображении за объект. По сравнению с алгоритмом Fast R-CNN YOLO на 50% точнее. когда дело доходит до фоновых ошибок. 

Обобщает представление объектов

Наконец, алгоритм YOLO также нацелен на обобщение представлений объектов на изображении. В результате, когда алгоритм YOLO был запущен на наборе данных с естественными изображениями и проверен на результаты, YOLO значительно превзошел существующие модели R-CNN. Это связано с тем, что YOLO очень обобщаем, шансы на то, что он сломается при реализации на неожиданных входных данных или новых доменах, были невелики. 

YOLOv7: Что нового?

Теперь, когда у нас есть общее представление о том, что такое модели обнаружения объектов в реальном времени и что такое алгоритм YOLO, пришло время обсудить алгоритм YOLOv7. 

Оптимизация учебного процесса

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

Назначение меток от грубого до тонкого свинца

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

Повторная параметризация модели

Репараметризация модели является важной концепцией обнаружения объектов, и ее использование обычно сопровождается некоторыми проблемами во время обучения. Алгоритм YOLOv7 планирует использовать концепцию путь распространения градиента для анализа политик перепараметризации модели применимы к разным уровням сети. 

Расширение и составное масштабирование

Алгоритм YOLOv7 также вводит расширенные и составные методы масштабирования использовать и эффективно использовать параметры и вычисления для обнаружения объектов в реальном времени. 

YOLOv7: Связанная работа

Обнаружение объектов в реальном времени

YOLO в настоящее время является отраслевым стандартом, и большинство детекторов объектов в реальном времени используют алгоритмы YOLO и FCOS (полностью сверточное одноэтапное обнаружение объектов). Современный детектор объектов в реальном времени обычно имеет следующие характеристики:

  • Более мощная и быстрая сетевая архитектура. 
  • Эффективный метод интеграции функций. 
  • Точный метод обнаружения объекта. 
  • Надежная функция потерь. 
  • Эффективный метод присвоения меток. 
  • Эффективный метод обучения. 

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

Повторная параметризация модели

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

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

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

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

Масштабирование модели

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

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

Почти каждая модель репараметризации модели анализирует индивидуальные и уникальные коэффициенты масштабирования независимо и, более того, даже оптимизирует эти факторы независимо. Это связано с тем, что архитектура NAS работает с некоррелированными коэффициентами масштабирования. 

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

На приведенном выше рисунке сравнивается расширенные сети агрегации эффективного уровня (Э-ЭЛАН) различных моделей. Предлагаемый метод E-ELAN поддерживает градиентный путь передачи исходной архитектуры, но направлен на увеличение мощности добавленных функций с помощью групповой свертки. Этот процесс может улучшить функции, изученные различными картами, и может сделать использование вычислений и параметров более эффективным. 

Архитектура YOLOv7

Модель YOLOv7 использует в качестве основы модели YOLOv4, YOLO-R и Scaled YOLOv4. YOLOv7 является результатом экспериментов, проведенных с этими моделями для улучшения результатов и повышения точности модели. 

Расширенная сеть агрегации эффективного уровня или E-ELAN

E-ELAN является фундаментальным строительным блоком модели YOLOv7 и является производным от уже существующих моделей эффективности сети, в основном ЭЛАН. 

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

Ассоциация CSPVoNet модель не только учитывает вышеупомянутые параметры, но также анализирует путь градиента, чтобы изучить более разнообразные функции, включая веса разных слоев. Такой подход позволяет интерференциям быть намного быстрее и точнее. ELAN Архитектура направлена ​​​​на проектирование эффективной сети для управления кратчайшим и самым длинным градиентным путем, чтобы сеть могла быть более эффективной в обучении и конвергенции. 

ELAN уже достиг стабильной стадии, независимо от количества стеков вычислительных блоков и длины градиентного пути. Стабильное состояние может быть нарушено, если вычислительные блоки сложены неограниченно, и скорость использования параметра уменьшится. предложенная архитектура E-ELAN может решить проблему, поскольку она использует расширение, перетасовку и слияние мощностей. чтобы постоянно улучшать способность сети к обучению, сохраняя при этом исходный градиентный путь. 

Кроме того, при сравнении архитектуры E-ELAN с ELAN, разница только в вычислительном блоке, а архитектура переходного слоя не изменилась. 

E-ELAN предлагает расширить мощность вычислительных блоков, а также расширить канал за счет использования групповая свертка. Затем карта объектов будет рассчитана и объединена в группы в соответствии с параметром группы, а затем будет объединена вместе. Количество каналов в каждой группе останется таким же, как и в исходной архитектуре. Наконец, группы карт объектов будут добавлены для выполнения кардинальности. 

Масштабирование модели для моделей на основе конкатенации

Масштабирование модели помогает настройка атрибутов моделей это помогает создавать модели в соответствии с требованиями и в разных масштабах для соответствия различным скоростям помех. 

На рисунке показано масштабирование модели для различных моделей на основе конкатенации. Как видно на рисунках (а) и (б), выходная ширина вычислительного блока увеличивается с увеличением глубины масштабирования моделей. В результате входная ширина слоев передачи увеличивается. Если эти методы реализованы в архитектуре, основанной на конкатенации, процесс масштабирования выполняется более подробно, как показано на рисунке (c). 

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

Обучаемый мешок халявы 

Мешок халявы — это термин, который разработчики используют для описания набор методов или техник, которые могут изменить стратегию или стоимость обучения в попытке повысить точность модели. Так что же это за обучаемые пакеты халявы в YOLOv7? Давайте посмотрим. 

Запланированная повторно параметризованная свертка

Алгоритм YOLOv7 использует пути распространения градиентного потока для определения как идеально совместить сеть с перепараметризованной сверткой. Этот подход YOLov7 является попыткой противостоять Алгоритм RepConv который, хотя и безмятежно работает на модели VGG, плохо работает при непосредственном применении к моделям DenseNet и ResNet. 

Чтобы идентифицировать соединения в сверточном слое, Алгоритм RepConv сочетает в себе свертки 3 × 3 и свертки 1 × 1.. Если мы проанализируем алгоритм, его производительность и архитектуру, мы увидим, что RepConv уничтожает конкатенация в DenseNet и остаток в ResNet

На изображении выше показана запланированная перепараметризованная модель. Видно, что алгоритм YOLov7 обнаружил, что слой в сети с конкатенацией или остаточными соединениями не должен иметь идентификационного соединения в алгоритме RepConv. В результате допустимо переключение с помощью RepConvN без идентификационных подключений. 

Грубая для вспомогательного и тонкая для потери свинца

Глубокий надзор — это отрасль компьютерных наук, которая часто находит применение в процессе обучения глубоких сетей. Фундаментальный принцип глубокой супервизии состоит в том, что она добавляет дополнительную вспомогательную головку в средние слои сети наряду с мелкими сетевыми весами с вспомогательной потерей в качестве ориентира. Алгоритм YOLOv7 называет головку, отвечающую за конечный результат, ведущей головкой, а вспомогательная головка — головкой, помогающей в обучении. 

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

Кроме того, новый метод присвоения меток алгоритма YOLOv7 использует предсказания ведущей головки для управления как ведущей, так и вспомогательной головкой. Метод присвоения меток имеет две предлагаемые стратегии. 

Ведущий специалист по назначению этикеток

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

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

Назначатель этикеток с направляющей свинцовой головки от грубого к мелкому

Эта стратегия также выполняет расчеты на основе результатов предсказания ведущего руководителя и истинности, а затем использует оптимизацию для создания программных меток. Однако есть ключевое отличие. В этой стратегии есть два набора мягких меток: грубый уровень, и тонкая этикетка. 

Грубая метка создается путем ослабления ограничений положительного образца.

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

На рисунке выше поясняется использование обучаемого пакета халявы в алгоритме YOLOv7. Он изображает грубое для вспомогательной головки и точное для ведущей головки. Когда мы сравниваем модель с вспомогательной головкой (b) с обычной моделью (a), мы заметим, что схема в (b) имеет вспомогательную головку, а в (a) ее нет. 

На рисунке (c) изображено обычное независимое средство назначения меток, а на рисунке (d) и рисунке (e) соответственно представлены направляющее средство назначения отведений и средство назначения отведений от грубого до точного, используемые YOLOv7.  

Другая обучаемая сумка халявы

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

  • Пакетная нормализация в технологии Conv-Bn-Activation: Эта стратегия используется для прямого подключения сверточного слоя к слою пакетной нормализации. 
  • Неявные знания в YOLOR: YOLOv7 сочетает стратегию со сверточной картой признаков. 
  • Модель ЭМА: Модель EMA используется в качестве окончательной эталонной модели в YOLOv7, хотя ее основное применение должно использоваться в методе среднего учителя. 

YOLOv7: Эксперименты

Экспериментальная установка

Алгоритм YOLOv7 использует Набор данных Microsoft COCO для обучения и проверки их модель обнаружения объектов, и не во всех этих экспериментах используется предварительно обученная модель. Разработчики использовали набор данных поезда 2017 года для обучения и использовали набор данных проверки 2017 года для выбора гиперпараметров. Наконец, производительность результатов обнаружения объектов YOLOv7 сравнивается с современными алгоритмами обнаружения объектов. 

Разработчики разработали базовую модель для пограничный графический процессор (YOLOv7-tiny), обычный графический процессор (YOLOv7) и облачный графический процессор (YOLOv7-W6). Кроме того, алгоритм YOLOv7 также использует базовую модель для масштабирования модели в соответствии с различными требованиями к обслуживанию и получает разные модели. Для алгоритма YOLOv7 масштабирование стека выполняется на шее, а предлагаемые соединения используются для увеличения глубины и ширины модели. 

Исходные условия

Алгоритм YOLOv7 использует предыдущие модели YOLO и алгоритм обнаружения объектов YOLOR в качестве основы.

На приведенном выше рисунке базовый уровень модели YOLOv7 сравнивается с другими моделями обнаружения объектов, и результаты вполне очевидны. По сравнению с Алгоритм YOLOv4, YOLOv7 не только использует на 75% меньше параметров, но также использует на 15% меньше вычислений и имеет на 0.4% более высокую точность. 

Сравнение с современными моделями детекторов объектов

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

Исследование абляции: предлагаемый метод масштабирования соединения

На приведенном выше рисунке сравниваются результаты использования различных стратегий масштабирования модели. Стратегия масштабирования в модели YOLOv7 увеличивает глубину вычислительного блока в 1.5 раза и масштабирует ширину в 1.25 раза. 

По сравнению с моделью, которая увеличивает только глубину, модель YOLOv7 работает лучше на 0.5%, используя меньше параметров и вычислительную мощность. С другой стороны, по сравнению с моделями, которые увеличивают только глубину, точность YOLOv7 повышается на 0.2%, но количество параметров необходимо масштабировать на 2.9%, а вычисления — на 1.2%. 

Предлагаемая запланированная перепараметризованная модель

Чтобы проверить общность предложенной перепараметризованной модели, Алгоритм YOLOv7 использует его для моделей на основе остатков и конкатенации для проверки.. Для процесса проверки алгоритм YOLOv7 использует 3-стековый ЭЛАН для модели на основе конкатенации и CSPDarknet для модели на основе остатков. 

Для модели, основанной на конкатенации, алгоритм заменяет сверточные слои 3 × 3 в ELAN с 3 стопками на RepConv. На рисунке ниже показана подробная конфигурация Planned RepConv и ELAN с тремя стеками. 

Кроме того, при работе с моделью на основе остатков алгоритм YOLOv7 использует перевернутый темный блок, поскольку исходный темный блок не имеет блока свертки 3×3. На рисунке ниже показана архитектура Reversed CSPDarknet, которая меняет местами сверточные слои 3×3 и 1×1. 

Предлагаемая потеря помощника для вспомогательного руководителя

Что касается потери помощника для вспомогательной головки, модель YOLOv7 сравнивает присвоение независимой метки для методов вспомогательной и ведущей головок. 

Рисунок выше содержит результаты исследования предлагаемой вспомогательной головки. Видно, что общая производительность модели увеличивается с увеличением потерь помощника. Кроме того, назначение меток, управляемое лидом, предложенное моделью YOLOv7, работает лучше, чем стратегии независимого назначения лидов. 

Результаты YOLOv7

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

На приведенном выше рисунке модель YOLOv7 сравнивается с другими алгоритмами обнаружения объектов, и можно ясно заметить, что YOLOv7 превосходит другие модели обнаружения возражений с точки зрения Средняя точность (AP) по отношению к пакетным помехам

Кроме того, на приведенном ниже рисунке сравнивается производительность YOLOv7 с другими алгоритмами обнаружения возражений в реальном времени. И снова YOLOv7 превосходит другие модели с точки зрения общей производительности, точности и эффективности. 

Вот некоторые дополнительные наблюдения по результатам и выступлениям YOLOv7. 

  1. YOLOv7-Tiny — самая маленькая модель в семействе YOLO с более чем 6 миллионами параметров. YOLOv7-Tiny имеет среднюю точность 35.2% и превосходит модели YOLOv4-Tiny с сопоставимыми параметрами. 
  2. Модель YOLOv7 имеет более 37 миллионов параметров и превосходит модели с более высокими параметрами, такие как YOLov4. 
  3. Модель YOLOv7 имеет самый высокий показатель mAP и FPS в диапазоне от 5 до 160 FPS. 

Заключение

YOLO или You Only Look Once — это современная модель обнаружения объектов в современном компьютерном зрении. Алгоритм YOLO известен своей высокой точностью и эффективностью, и в результате он находит широкое применение в индустрии обнаружения объектов в реальном времени. С тех пор, как в 2016 году был представлен первый алгоритм YOLO, эксперименты позволили разработчикам постоянно улучшать модель. 

Модель YOLOv7 является последним дополнением к семейству YOLO и самым мощным алгоритмом YOLo на сегодняшний день. В этой статье мы рассказали об основах YOLOv7 и попытались объяснить, что делает YOLOv7 таким эффективным. 

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