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

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

Итак, простое решение упомянутой проблемы — YogaGuru (это не супергерой/человек, а приложение, которое заботится о нашем внутреннем мире и душе 😉)

Демонстрация YogaGuru

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

Я поделюсь пошаговым подходом к созданию собственного YogaGuru. Этот проект будет состоять из трех частей
A) Сбор данных
B) Подготовка данных и моделирование
C) Интеграция модели с проектом

Этот блог будет посвящен только части сбора данных

Каковы требуемые данные?

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

Зачем использовать ориентир тела, а не обработку изображений?

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

Кроме того, у меня нет особых знаний об обработке изображений 😋

Что такое медиапайп и как он работает

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

Подробнее можно узнать ЗДЕСЬ

Давайте поймем работу проекта из этой блок-схемы:

Как получить необходимые данные:

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

Теперь, чтобы получить углы, нам нужно сначала найти ориентиры тела, а затем мы можем использовать базовую математику, чтобы найти угол между тремя точками. Mediapipe дает нам около 33 ориентиров, но нам нужно несколько из них. Рассмотрим одно из таких соединений — левое локтевое соединение, образованное точкой (11,13,15) см. рис. ниже .Мы должны найти угол и сохранить его в кадре данных для дальнейшей обработки.

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

Ох. . Достаточно теории. Давайте немного кода.

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

Надеюсь тебе понравилось!

Найдите проект на Github по адресу https://github.com/Devendra116/YogaGuru.

Подпишитесь, чтобы получить уведомление о YogaGuru (часть 2): подготовка данных и моделирование.