Mediapipe Human Pose Estimation Topic (1) Blazeface of Blaze Component Algorithm (с небольшим открытым исходным кодом, которым можно поделиться со всеми)

Mediapipe Human Pose Estimation Topic (1) Blazeface Detector of Blaze Components

Я всегда! И поделюсь с вами небольшим открытым исходным кодом!



предисловие

Слишком много всего происходит в последнее время, поэтому у меня нет времени писать статьи. Собственно, то же самое и сегодня. Уделите немного времени, чтобы написать немного. Что более важно, сегодня я не просто делюсь алгоритм, но поделюсь небольшим проектом mediapipe версии Pytorch, которую я быстро построил.Молча потушить git, как пригласить Star, кратко представить, на основе компонента blaze версии факела mediapipe, добавлено извлечение распознавания радужной оболочки, сглаживание фильтра Калмана модели вождения и т. д., последующая деятельность удобна для исследований и обучения, и она будет постоянно обновляться
вставьте сюда описание изображения
СМОТРЕТЬ три подряд! https://github.com/positive666/mediapipe_PoseEstimation_pytorch.git

Зачем продвигать медиапайп?

  1. Потому что это легко использовать
  2. Ядро медиапайпа на самом деле не с открытым исходным кодом.Если вы используете mp для переключения пакета, вы не испытаете суть! Это включает в себя их точки улучшения и оптимизацию стратегии в медиа-приложениях, даже если некоторые части этой статьи все еще не так важны, как методы оптимизации стратегии, описанные в следующей статье, которая, по моему мнению, будет обновлена ​​​​позже.

1. Блейзфейс

Mediapipe Платформа машинного обучения обработки мультимедиа от Google, ориентированная на мобильные вычисления. Даже центральный процессор может гарантировать чрезвычайно высокую скорость обработки. Сегодня мы представляем базовый детектор компонентов blazeface. В настоящее время основой традиционной мобильной модели по-прежнему является ряд вариантов mobilenet\shufflenet.Мастер, ( статья 2019 ), Google сделал волшебную модификацию на основе SSD-mobilenet, включая структуру сети, механизм привязки и постобработку после замены NMS, чтобы алгоритм мог сохранять высокую точность в задачах распознавания лиц , в то время как мобильный GPU рассуждает Облегченная сеть, больше никакой чепухи, давайте перейдем от структуры к коду и, кстати, разогреемся для улучшения обнаружения регрессии!

1. блочная конструкция

Вышеприведенное изображение представляет собой структурную структуру узкого места, разработанную в статье.Вот вывод непосредственно.Тогда причина дизайна: количество вычислений следует учитывать на мобильной стороне.Свертка 1x1 в свертке с разделением по глубине занимает относительно большие вычислительные ресурсы , особенно потому, что последние несколько слоев должны выражать более богатые семантические функции, они часто генерируют относительно большое количество каналов, что слишком дорого для конечной производительности, но прямое сокращение каналов снизит производительность замаскированной модели, поэтому исследователи считают, что большее рецептивное поле Это ключевой момент. «Увеличение размера первого шага в операции свертки с разделением по глубине является относительно эффективным выбором ». Если размер ядра свертки увеличить до 5X5, накладные расходы на всю структуру будут уменьшены, а ядро ​​свертки будет увеличено.Накладные расходы последнего блока Blaze минимальны, что делает возможным добавление еще одного слоя.

вставьте сюда описание изображения

Поэтому исследователи разработали двойной блок Blaze на основе вышеуказанного модуля. Это не только увеличивает размер рецептивного поля, но и улучшает абстракцию признаков. В конце концов, эта конструкция значительно сжимает размер модели, делая ее быстрее, чем исходный SSD MobileNet. Поэтому blazeface имеет две магистральные структуры (одинарную и double ), в частности, обратитесь к коду git: код структуры

2. дизайн привязки и оптимизация постобработки

Разница между BlazeFace и SSD (SSD использует для регрессии пятислойные карты признаков 1×1, 2×2, 4×4, 8×8 и 16×16, а соотношение сторон лица имеет ограниченные изменения, поэтому авторы обнаружили что Фиксации привязки с соотношением сторон 1:1 достаточно для точного обнаружения лица) содержит только 2 функции масштабирования для обнаружения лица, и только 2 привязки используются для каждой точки под функцией 16x16 и каждой точки под функцией 8x8 Использование 6 якоря, в конце концов, он посвящен сцене обнаружения мобильного терминала с четкой целью, и, кстати, скорость рассуждений улучшена.

Разрешение не снижается ниже 8×8, поэтому количество якорей, перекрывающих данный объект, значительно увеличивается по мере увеличения размера объекта. В типичном сценарии с немаксимальным подавлением только один якорь «выигрывает» и используется как окончательный результат алгоритма. При применении такой модели к последующим видеокадрам прогнозы, как правило, колеблются между разными блоками привязки и демонстрируют временное дрожание.

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

1. Отсортировать от большего к меньшему в соответствии с оценкой BOX
2. Рассчитать IOU текущей BOX и другой BOX
3. Использовать пороговое значение NMS, чтобы определить, есть ли перекрытие
4. Взвесить в соответствии с оценкой достоверности перекрывающихся результатов и в качестве результата взять средние координаты

Авторы говорят, что для задачи распознавания лиц на видео этот твик привел к увеличению точности на 10%.

Кроме того, он отличается от SSD и обычных детекторов: головная часть спроектирована более легкой — Пулирующая пирамидальная сеть, которая использует максимальный пул для замены исходной свертки и обычного предсказания головы разных масштабов, поэтому с помощью пулинга настраивается разрешение, а PPN использует общую конверсию для получения оценок категорий и граничных позиций, в основном для уменьшения количества параметров и расчетов.Целью дизайна является сжатие модели и повышение скорости работы с целью обеспечения производительности.

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

Подведем итог

В следующей части BlazePose много контента и полно галантереи.Сегодня разминка.Кроме того,я надеюсь все поддержат мой новый open source STAR++

Supongo que te gusta

Origin blog.csdn.net/weixin_44119362/article/details/125599545
Recomendado
Clasificación