Microsoft Developer Blog: IoT Sports Sensor Machine Learning Helps Amateurs Up Their Game
Recently, Microsoft partnered with the Professional Ski Instructors of America and the American Association of Snowboard Instructors, (PSIA-AASI) to use wearable IoT sensors in order to develop a machine learning model of skiing skills and expertise levels. PSIA-AASI continually evaluates new technology and methods for nurturing learning experiences for developing skiers and snowboarders.
IoT Human Sensor Data Enables Skill Measurement
Watching a professional skier practicing drills, it’s easy to recognize their expertise level. Our challenge was to create data to help characterize this expertise level. With wearable IoT sensors, we can collect positional and motion data that allow us to measure this expertise level distinction between professionals and amateurs with high precision and accuracy. In our analysis, we discovered the sensor data from just nine body positions provides ample signal to generate distinct activity signatures for the professional skiers when compared with the amateurs.
Examining the sensor data, one can see the pros’ tight adherence to proper form throughout the skill, lack of erratic movement, and precision in execution. These distinct differences in absolute and relative measures of these nine body positions allow us to construct a powerful and simple classification model to categorize skiers into different expertise levels.
We think this type of classification model can be used by the amateur to help them understand differences between their performance and that of the pro, and allow them to improve overall form and skill execution. Ski and snowboard instructors can customize training strategies for each trainee, based on the insights provided by the model and the quantitative data analysis. As a result, training can become more efficient. Over time, and with more data, more models can be created to differentiate finer-grained expertise and skill execution levels.
Data Gathering to Sports Activity Machine Learning
With PSIA-AASI, we wanted to allow amateurs to compare their own skiing data to the pros’ and classify their skill level, as well as to examine specific positional and gestural differences in their skill performance. The Microsoft and PSIA-AASI teams worked together at the Snowbird ski resort to gather the field data and build the concrete data model that would give aspiring amateurs guidance on how to improve. In this code story, we’ll describe the steps we took to gather the data and develop the model. We’ll also provide links to the R script and data set that you can use to recreate this solution.
IoT Device and Raw Sensor Data
Each of the wearable IoT sensors measures position, acceleration, and rotation individually, and records it with a time stamp. The variables emitted include positional variables x, y and z that represent position in three-dimensional space; rotational matrix variables qW, qX, qY, qZ that represent 3D rotation; and aX, aY and aZ that represent coordinate acceleration.
While the sample rate of sensors varies, we found 100 Hz to be a minimum rate for modeling. There are a number of IoT sensors that capture these data at this sample rate (more details on hardware options).
Continue reading the article on the Microsoft Developer Blog.