SLIDE 1
Machine ¡Learning ¡ ¡ for ¡ ¡ Ac/vity ¡Recogni/on ¡
Jay ¡Urbain, ¡PhD ¡ Sean ¡MacAveny, ¡Jan ¡Mikes ¡ EECS ¡ Milwaukee ¡School ¡of ¡Engineering ¡
SLIDE 2 Machine ¡Learning ¡
- Algorithms ¡that ¡learn ¡models ¡from ¡data. ¡
- These ¡models ¡can ¡be ¡used ¡to ¡beFer ¡understand ¡the ¡data, ¡or ¡
make ¡predic'ons. ¡ ¡
SLIDE 3 Ac/vity ¡Recogni/on: ¡Interac/ve ¡ Machine ¡Learning ¡
- Recognize ¡the ¡ac/ons ¡or ¡goals ¡of ¡agents/people ¡as ¡they ¡
interact ¡with ¡their ¡environment. ¡
– Sports, ¡gaming, ¡health, ¡industrial ¡
- Our ¡focus: ¡Ac/vity ¡Recogni/on ¡using ¡features ¡derived ¡from ¡
smartphone ¡3-‑axis ¡accelerometer. ¡
SLIDE 4 Physical ¡Therapy ¡
Sean ¡MacAveny ¡
- Machine ¡learning ¡for ¡iden/fying ¡
physical ¡therapy ¡range-‑of-‑mo/on ¡ exercises ¡for ¡post-‑opera/ve ¡rotator ¡ cuff ¡surgery ¡pa/ents. ¡
SLIDE 5 Arm ¡Care ¡Exercise ¡Recogni1on ¡and ¡ Tracking ¡ ¡
Noel ¡Mrowiec ¡
- Recogni/on ¡and ¡tracking ¡of ¡
proper ¡arm ¡care ¡to ¡facilitate ¡ recovery ¡of ¡Tommy ¡John ¡ (baseball ¡pitcher) ¡ligament ¡ surgery ¡with ¡smartphone ¡
SLIDE 6 Physical ¡Ac/vity ¡Recogni/on ¡
Jan ¡Mikes ¡
- Using ¡3-‑axis ¡smartphone ¡
accelerometer ¡for ¡ac/vity ¡recogni/on. ¡
- WISDM ¡data ¡set. ¡~80%+ ¡accuracy. ¡
- Best ¡features ¡to ¡learn ¡consisted ¡of ¡
- verlapping ¡windows ¡using ¡several ¡
sta/s/cal ¡distribu/on ¡measures. ¡
SLIDE 7 Accelerometer ¡
Accelerometer: ¡
- Measures ¡accelera/on ¡force ¡along ¡the ¡x, ¡
y, ¡and ¡z-‑axes ¡(including ¡gravity) ¡in ¡m/s2. ¡
- Forces ¡may ¡be ¡sta/c, ¡like ¡constant ¡force ¡
- f ¡gravity, ¡or ¡dynamic ¡-‑ ¡caused ¡by ¡moving ¡
- r ¡vibra/ng ¡the ¡accelerometer. ¡
Phones ¡have ¡many ¡sensors ¡
SLIDE 8 Smartphone ¡Coordinates ¡
Demo ¡Compass ¡x2 ¡
SLIDE 9 Machine ¡Learning ¡Model ¡ ¡ for ¡Ac/vity ¡Tracking ¡
- Don’t ¡want ¡to ¡write ¡a ¡separate ¡program ¡for ¡each ¡ac/vity ¡we ¡
want ¡to ¡recognize. ¡
- Use ¡algorithm ¡to ¡build ¡a ¡model/classifier/func/on ¡from ¡
sample ¡data ¡to ¡make ¡predic/ons ¡on ¡future ¡samples ¡of ¡data. ¡
SLIDE 10
Can ¡expand ¡to ¡many ¡sensors ¡
SLIDE 11 Training ¡Data ¡Acquisi/on ¡
How ¡to ¡build ¡a ¡model? ¡
SLIDE 12 Data ¡Analysis ¡
Accelerometer ¡data ¡for ¡different ¡ac/vi/es ¡
SLIDE 13 Comparing ¡Accelera/on ¡averages ¡ down ¡over ¡/me ¡
- Walking ¡(leb) ¡and ¡running ¡(right) ¡
SLIDE 14 Features ¡
- x, ¡y, ¡z ¡accelera/on ¡
- Over ¡1-‑second, ¡and ¡3 ¡second ¡windows ¡
– Mean, ¡standard ¡devia/on ¡ – Correla/on ¡of ¡x, ¡y, ¡z ¡
- Frequency ¡domain ¡analysis ¡(FFT) ¡
– Most ¡“frequent” ¡frequencies ¡in ¡the ¡data ¡
SLIDE 15
Feature ¡Selec/on ¡& ¡Evalua/on ¡
SLIDE 16 Building ¡a ¡simple ¡linear ¡model ¡ (func/on) ¡from ¡features ¡
- Main ¡idea: ¡minimize ¡error ¡between ¡what ¡your ¡model ¡predicts ¡
and ¡the ¡labels ¡in ¡your ¡training ¡error. ¡
SLIDE 17
Can ¡build ¡many ¡kinds ¡of ¡models: ¡ Decision ¡Tree ¡
SLIDE 18
Predic/ve ¡Modeling ¡
SLIDE 19
Model ¡ Evalua/on ¡
SLIDE 20
Predic/ve ¡Modeling: ¡simpler ¡model ¡
SLIDE 21
Generate ¡and ¡deploy ¡final ¡model ¡
SLIDE 22
SLIDE 23 MSOE ¡Ac/vity ¡Tracking ¡
Demo ¡MSOE ¡Ac/vity ¡Tracking ¡
SLIDE 24
How ¡is ¡the ¡data ¡distributed? ¡
SLIDE 25
How ¡to ¡features ¡in ¡the ¡data ¡correlate ¡with ¡what ¡ we ¡are ¡trying ¡to ¡predict? ¡With ¡each ¡other? ¡
SLIDE 26 Orienta/on ¡sensing ¡ pitch, ¡yaw, ¡roll ¡
Demo ¡Orienta/on ¡Sensor ¡
SLIDE 27