cancel
Showing results for 
Search instead for 
Did you mean: 

How to create a Yoga pose recognition application using Sensortile.box

LauraCx
ST Employee

How to create a Yoga pose recognition application using Sensortile.box

1 - Introduction

The Yoga Pose recognition algorithm described here is intended for wearable devices, since all the data logs have been acquired with the device placed on the left leg, with the orientation described in section 2. Fourteen different classes are recognized, as described in the comment to this post.

The Machine Learning Core (MLC) is configured to run at 104 Hz, features are extracted using windows of 52 samples, therefore the Decision Tree classifier output is updated two times per second (104 Hz / 52 = 2 Hz).

Only accelerometer data is used. The full-scale is set to 2 g. Three different features are computed:

  • Mean on accelerometer X axis
  • Mean on accelerometer Y axis
  • Mean on accelerometer Z axis

2 - Device orientation

The SensorTile.Box is placed on the left leg (see picture below). Other devices can be used as well, provided that the orientation of sensor axes is correct.

  • X axis parallel to the leg, pointing up.
  • Y axis perpendicular to the leg, pointing to the inside.
  • Z axis pointing forward.

1547.jpg 

3 - Decision Tree output values

The Decision Tree classifiers detects 14 different classes corresponding to 12 different Yoga positions (see comment and picture below) and 2 Non-Yoga position (Standing still and in motion). The output of the Decision Tree classifier is stored in the register MLC0_SRC (address 70h).
 

4 - Interrupts

Whenever the Decision Tree output is updated (MLC0_SRC register at address 70h), an interrupt is generated (pulse on INT1 pin), that is two times per second in this example configuration.
 

5 - Register Values

This is the list of values that the MLC0_SRC register can have and the corresponding class label:

  • 0 = Boat Pose
  • 1 = Bow Pose
  • 2 = Bridge
  • 3 = Child's Pose
  • 4 = Cobra's Pose
  • 5 = Downward-Facing Dog
  • 6 = Meditation Pose
  • 7 = Plank
  • 8 = Seated Forward Bend
  • 9 = Standing in Motion
  • 10 = Standing Still
  • 11 = The Extended Side Angle
  • 12 = The Tree
  • 13 = Upward Plank

1548.jpg

6 - Resources

For examples of Yoga recognition Application configurations and algorithms check our Github folder: HERE.


 

Version history
Last update:
‎2021-11-30 01:56 AM
Updated by: