Top Banner
©2015 GlobalLogic Inc. Swimming Tracker: Motion Recognition Orest Hera
27

Swimming Tracker - Motion Recognition

Aug 03, 2015

Download

Engineering

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Swimming Tracker - Motion Recognition

©2015 GlobalLogic Inc.

Swimming Tracker:

Motion Recognition

Orest Hera

Page 2: Swimming Tracker - Motion Recognition

©2015 GlobalLogic Inc.

Introduction

Raw data processing

Swimming data analysis

01

02

03

Page 3: Swimming Tracker - Motion Recognition

Introduction:● Objectives● MEMS sensors● Classification problems● Sensor-based activity recognition

01

Page 4: Swimming Tracker - Motion Recognition

Introduction

Objectives

● Swimming and resting detection● Lap counting● Swim style recognition● Minimal usage of RAM of microcontroller

Page 5: Swimming Tracker - Motion Recognition

Introduction

MEMS (MicroElectroMechanical System) sensors● 3D Accelerometer● 3D Gyroscope● 3D Magnetometer

Page 6: Swimming Tracker - Motion Recognition

Introduction

Applications of MEMS sensors

● Mobile devices (Android, iOS)○ Display/map orientation

○ Step counter, Compass applications

○ Augmented reality

● Small custom devices○ Small vehicle navigation and stabilization (quadcopter)

○ Industrial automation

○ Innovative smart systems

Page 7: Swimming Tracker - Motion Recognition

Introduction

Pattern recognition tools

● Image recognition open source software:○ OpenCV library

○ Many specialized tools (face, poses, hands tracking)

● Speech recognition open source software:○ CMU Sphinx (HMM)

○ Julius (HMM 3-gram)

○ Kaldi (Deep neural network)

● Sensor-based activity recognition:○ Custom classifiers

Page 8: Swimming Tracker - Motion Recognition

Introduction

Sensor-based activity recognition

● Accelerometer“Activity recognition from accelerometer data” / N.Ravi, N.Dandekar, P.Mysore, M.L.Littman, IAAI’05 Proceedings, Vol. 3, 1541-1546, 2005

● Gyroscope and AccelerometerA Public Domain Dataset for Human Activity Recognition Using Smartphones / D.Anguita, A.Ghio, L.Oneto, X.Parra and J.L.Reyes-Ortiz, ESANN 2013. Bruges, Belgium 24-26 April 2013 (UCI Machine Learning Repository)

○ 30 subjects performing activities of daily living

○ 561-feature vector with time and frequency domain variables for fixed-width window

○ 10299 labeled instances

● Techniques of Natural Language Processing

Page 9: Swimming Tracker - Motion Recognition

Introduction

Activity recognition from accelerometer data

Classifiers:● Decision Trees● K-nearest neighbors● SVM● Naive Bayes

Accuracy:● Multiple subjects cross-validated: 92 - 99%● One subject training, same subject another data for testing: 70 - 90%● One subject training, another subject for testing: 46 - 73%

Page 10: Swimming Tracker - Motion Recognition

Raw data processing:● Gravity force detection by accelerometer● Rotation speed by gyroscope● Complementary filter● Compass

02

Page 11: Swimming Tracker - Motion Recognition

Raw data processing

Raw sensor data processing

Page 12: Swimming Tracker - Motion Recognition

Angle by vector of gravity force

Raw data processing

Advantages:● Direct measurement without

error accumulation

Disadvantages:● System own acceleration should

be filtered● Relaxation time due to Low-pass

filter

Page 13: Swimming Tracker - Motion Recognition

Raw data processing

Angle by rotation speed integration

Advantages:● Can be used during accelerated motion

Disadvantages:● Integration error accumulation

Page 14: Swimming Tracker - Motion Recognition

Raw data processing

Complementary filter

Advantages:● High frequency by gyroscope● Low frequency by gravity force vector

Disadvantages:● Cannot compensate error accumulation drift of rotations around vector of

gravity force

Page 15: Swimming Tracker - Motion Recognition

Expected

Magnetometer raw data

Raw data processing

Reality

Page 16: Swimming Tracker - Motion Recognition

Raw data processing

Magnetic distortions

Distortion types:● Hard iron (permanent magnet)● Soft iron (easily magnetized and demagnetized)

Types of compensating methods:● Offline (least squares methods)● Real-time adaptive (Kalman filter, neural networks,...)

Page 17: Swimming Tracker - Motion Recognition

Raw data processing

Magnetometer calibrationEllipsoid equation:

The least-squares problem Pseudo-inverse matrix

Page 18: Swimming Tracker - Motion Recognition

Swimming data analysis:● Device orientation● Chains of motion subactions● Probabilistic classification

04

Page 19: Swimming Tracker - Motion Recognition

Swimming data analysis

X-,Z-axes horizontal direction (yaw)

Page 20: Swimming Tracker - Motion Recognition

Swimming data analysis

X-,Y-,Z-axes vertical direction (pitch)

Page 21: Swimming Tracker - Motion Recognition

Raw data processing

Chains of motion subactions

Dictionary of motion subactions: [A, B, C, D,...]● Typical for swimming: A, B,...● Typical for resting: C, D,...

Temporal chains of moves:● Swimming: AABAAAABABAAABABBAA● Swimming: ACACCACAACCACACCACC● Resting: ADADDADAADDADADDADD● Resting: ACACCCCACCCACCCCACC

Page 22: Swimming Tracker - Motion Recognition

Probabilistic classification

Swimming data analysis

● Input data points

Page 23: Swimming Tracker - Motion Recognition

Probabilistic classification

Swimming data analysis

● Input data points● Expectation-maximization

Page 24: Swimming Tracker - Motion Recognition

Probabilistic classification

Swimming data analysis

● Input data points● Expectation-maximization

Page 25: Swimming Tracker - Motion Recognition

Probabilistic classification

Swimming data analysis

● Input data points● Expectation-maximization● Probability distribution

Page 26: Swimming Tracker - Motion Recognition

Swimming data analysis

Results

Page 27: Swimming Tracker - Motion Recognition

©2015 GlobalLogic Inc.

Thank You