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

Slides:



Advertisements
Similar presentations
ProgressBook User Start-Up
Advertisements

Create a Simple Game in Scratch
Create a Simple Game in Scratch
XProtect ® Professional Efficient solutions for mid-sized installations.
XProtect ® Express Integration made easy. With support for up to 48 cameras, XProtect Express is easy and affordable IP video surveillance software with.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Chapter 1 - VB 2008 by Schneider1 Chapter 1 - An Introduction to Computers and Problem Solving 1.1 An Introduction to Computers 1.2 Windows, Folders, and.
Chapter 1 - An Introduction to Computers and Problem Solving
Hands On: Configuring Windows XP Home for Networking Chapter 1b Panko’s Business Data Networks and Telecommunications, 6 th edition Copyright 2007 Prentice-Hall.
Advanced Workgroup System. Printer Admin Utility Monitors printers over IP networks Views Sharp and non-Sharp SNMP Devices Provided Standard with Sharp.
ACCESSING HIGHER GROUND 2010 Norman Coombs CEO EASI
-Baljeet Aulakh -Arnold Csok -Jared Shepherd -Amandeep Singh EEC 490 Spring 2012 Kinect Fitness Trainer 1.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
Understand the football simulation source code. Understand the football simulation source code. Learn all the technical specifications of the system components.
1 Model View Controller. 2 Outline Review Definitions of MVC Why do we need it? Administiriva Changing the display Event flow Dragging at interactive.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
7/14/2015EECS 584, Fall MapReduce: Simplied Data Processing on Large Clusters Yunxing Dai, Huan Feng.
Audio Tools for ESL ORTESOL 2006 Tim VanSlyke ESL Instructor Chemeketa Community College.
Fundamentals of Programming in Visual Basic 3.1 Visual basic Objects Visual Basic programs display a Windows style screen (called a form) with boxes into.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
ELecta Live Update What’s new in Version 4.8 What’s New in V. 4.8 February
Kinect Part II Anna Loparev.
GIRLS Robotic Camp. Let’s Begin Meet and Greet – Camp leaders introduce themselves – Students introduce themselves.
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
Founded in 1998 Over 800 Projects Over 300 Customers The leading usability company in Israel Entrepreneur in WPF design and implementation Joined WizMagic.com.
‘Tirgul’ # 7 Enterprise Development Using Visual Basic 6.0 Autumn 2002 Tirgul #7.
Gauge Operation and Software by Scott A. Ager. Computer Recommendations 750 MHz Pentium III 64 Meg SRAM 40 Gig Hard Drive 1024 x 768 graphics CD Writer.
1 Nassau Community CollegeProf. Vincent Costa Acknowledgements: An Introduction to Programming Using Visual Basic 2012, All Rights ReservedAn Introduction.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Overview Do you what to allow your web users to be their own video director? Record the movie using multiple angle cameras and provide your web users.
CMPF124:Basics Skills for Knowledge Workers Overview of other Windows Software.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Marie desJardins University of Maryland, Baltimore County.
WorkPackage1: A Smart Home for Disabled: Occupational Therapy Perspective Smarthome appliance controlling can be turned into occupational therapy.
Human Interaction Development Using the Countess Quanta Robot Brad Pitney Yin Shi.
BIT 142:Programming & Data Structures in C#. What is Unit Testing? 2.
1 Begin the editing process by selecting method of importing video Use the Movie Task Menu to import, edit and save video Follow this menu to complete.
Forms and Server Side Includes. What are Forms? Forms are used to get user input We’ve all used them before. For example, ever had to sign up for courses.
DEBUGGING. BUG A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected.
LEARNING HTML PowerPoint #1 Cyrus Saadat, Webmaster.
1 Chapter Nine Using GUI Objects and the Visual Studio IDE.
Introduction to ArmControl Programming. Help A General Programming Outline a)Start at a home position. b)Move the robot to a point directly above an.
EEC 490 GROUP PRESENTATION: KINECT TASK VALIDATION Scott Kruger Nate Dick Pete Hogrefe James Kulon.
Verification & Validation. Batch processing In a batch processing system, documents such as sales orders are collected into batches of typically 50 documents.
From Vision to Video Clip in Three Easy Sessions: An Introduction to Video Recording and Editing at HGSE January Term Session Dates January 14 – 10-12PM.
CONTENT 1. Introduction to Kinect 2. Some Libraries for Kinect 3. Implement 4. Conclusion & Future works 1.
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington Debugging COMP T1.
Create the Basic Test USINGQTP65-STUDENT-01A. QuickTest Professional Workflow Gather relevant test information What are the test requirements? Where can.
Scratch for Interactivity Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
Creating New Forms Projects can appear more professional when using different windows for different types of information. Select Add Windows Form from.
MICROSOFT WORD PRESENTATION. Word Processing  Software that is designed for the entry, editing, and printing of documents.  Windows Version = Microsoft.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
ALMAJMA'AH UNIVERSITY College of Science and Humanitarians Studies in Alghat Information Technology Section (211Tal course)
Creating a Simple Game in Scratch Barb Ericson Georgia Tech May 2009.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Creating Flexible, Script-Controlled Autonomous Software Example Explanation.
Ocasta: Clustering Configuration Settings for Error Recovery Zhen Huang, David Lie Department of Electrical and Computer Engineering University of Toronto.
CSC 108H: Introduction to Computer Programming
  Computer Fundamentals Training   Windows 8 Intermediate.
Scratch for Interactivity
Getting started in Alice
Designing For Testability
FlowArm PLTW Programming
Core WG Meeting November 16th, 2017.
CIS16 Application Development – Programming with Visual Basic
An Introduction to VEX IQ Programming with Modkit
Visual Attributes in Video
Tutorial 7 – Integrating Access With the Web and With Other Programs
Using Animation and Multimedia
What is a System? A system is a collection of interrelated components that work together to perform a specific task.
Presentation transcript:

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

Implementation Hardware: Microsoft Kinect Software: OpenNI API, executed through Processing  Designed for visual software, communicating with vision sensors

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

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

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

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

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

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

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

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

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!

User Interface Design

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

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

Demo Presentation

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

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