repetition counting with microsoft kinect presented by: jonathan gurary dai jun

19
Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Upload: marcia-stevens

Post on 30-Dec-2015

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Repetition Counting With Microsoft Kinect

Presented by:Jonathan Gurary

Dai Jun

Page 2: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Proposal

Design a Kinect-based system for physical therapy activities

Usable by the end-user in their home No professional staff or facility needed Simple UI anyone can use Similar in performance to expensive 8-

camera setups

Identify and count a variety of motions

Page 3: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Implementation

Hardware: Microsoft Kinect

Software: OpenNI API, executed through Processing

Designed for visual software, communicating with vision sensors

Page 4: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

OpenNI

Cross-platform support

-Linux, Mac, Windows Older mod community

-Less updates = more working samples

-Issues are better documented And there's books

-First Kinect SDK books just hit shelves

-OpenNI has a couple books already

Page 5: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Limiting Kinect Problems

Bad guesses Lost a limb? It must be straight at your

side! Mismatched limbs

Crossed legs or arms can “swap” Jitter

Shaky and unstable reads These can happen with no effect on

Confidence

Page 6: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Effects on Repetition Counting

Angles and positions will be collected in error Almost certainly out-of-bounds for the

exercise Best case: Happens during non-critical

portion of motion, no effect Worst case: miss flag, false count,

reset the motion

Page 7: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Our Solution to Erroneous data

Make sure the user knows what the Kinect is seeing

Jerky skeletons, mismatched or lost limbs, all very obvious. Just stop and try again.

Stop looking at data when confidence drops Allows for the split-second guessing

errors common in some motions. Use a tolerance

Mitigate the effects of jittery reads

Page 8: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Flag-Based Motion Identification

Each motion or exercise is broken down and split into five intermediate steps

Example: waving your hand Change in elbow angle of about 50

degrees Step 1: elbow angle reduces 10

degrees Step 2: elbow angle reduces 10 more

degrees

Page 9: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Flag-Based Motion Identification

Every step becomes a flag to be passed Must be passed in order All flags reset (exercise failed) if a body

part goes out of bounds If every flag is passed correctly, count

the action

Page 10: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

How Are Flags Determined

Flags are manually input by the coder Can use angles of all major limbs, height of

torso, and distance of hands and feet Potentially (future feature) scale to

user's height

Page 11: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Recording and Playback

Main program records user's entire session automatically

Saved during execution to a .onni file Separate program available for playback of

session. Skeleton filtered out Can pause, fast forward, slow down, or

seek through recording

Page 12: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

User Interface Design

User Friendly, easy to use -no programming knowledge required -motion icons to choose -works like a button, but beautiful!

Replay mode -control bar -works like a real media player!

Page 13: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

User Interface Design

Page 14: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

User Interface Design

Page 15: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Dynamic Flag Setup

Identifying flags by examining Kinect output is tedious

Dynamic program allows the user to “input” flags with their body

Allows any almost any motion to be input on the fly

Data is output to a text file, allowing coder to turn the input into a featured exercise easily

Page 16: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Dynamic Flag Limitations

Impossible to tell what tolerance will be needed

Whole body is captured All limbs must be visible and not

guessed. Exercise is limited to the position

(distance wise) that it was started at Counting isn't always accurate,

especially for small or complex motions

Page 17: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Demo Presentation

Page 18: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Summary

Developed a relatively accurate, user friendly physical therapy program

Count repetitions of exercises Exercises can be set by a professional, added

to the code Dynamic flag setter to identify motion,

then potentially added to exercises by coder

User can view raw footage of exercises

Page 19: Repetition Counting With Microsoft Kinect Presented by: Jonathan Gurary Dai Jun

Future Features

Allow the dynamic flag set to ignore some parts of the body

Adjust for big height differences between users

Allow a health professional to easily add a dynamically created exercise to code