Background Implementation of Gesture Recognition in the NIST Immersive Visualization Environment Luis D. Catacora Under the guidance of Judith Terrill.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Copyright © 2008 SAS Institute Inc. All rights reserved. SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks.
Implementation of Gesture Recognition in the Immersive Visualization Environment By Danny Catacora Under the guidance of: Judith Terrill and Terence Griffin.
Tailoring Needs Chapter 3. Contents This presentation covers the following: – Design considerations for tailored data-entry screens – Design considerations.
ABSTRACT The goal of this project was to create a more realistic and interactive appliance interface for a Usability Science class here at Union. Usability.
Input to the Computer * Input * Keyboard * Pointing Devices
1 / 31 CS 425/625 Software Engineering User Interface Design Based on Chapter 15 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed.,
Subdue Graph Visualizer by Gayathri Sampath, M.S. (CSE) University of Texas at Arlington.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Guide To UNIX Using Linux Third Edition
Chapter 13: Object-Oriented Programming
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Part two. 3.2 operating system architecture  Software have two categories  Application software  System software  Application software: consists of.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
ECE 533 Final Project SIMPLE FACE RECOGNITION IMPLEMENTATION FOR COMPUTER AUTHENTICATION Josh Easton- Tin-Yau Lo.
C HAPTER 7 Microsoft Windows 7. Part1: Getting Started with Windows7 Fundamentals 7.1 What is Windows 7? It is the latest version of a series of Operating.
PART A Emac Lisp   Emac Lisp is a programming language  Emacs Lisp is a dialect.
Operating system Part two Introduction to computer, 2nd semester, 2010/2011 Mr.Nael Aburas Faculty of Information.
1 Chapter One A First Program Using C#. 2 Objectives Learn about programming tasks Learn object-oriented programming concepts Learn about the C# programming.
Ch 26 & 27 User Interfaces.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Microsoft Visual Basic 2005: Reloaded Second Edition
An Object-Oriented Approach to Programming Logic and Design
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
IE 411/511: Visual Programming for Industrial Applications
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 2 Welcome Application Introducing the Visual Basic 2008 Express Edition IDE.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
Cthru Technical Brief Gary Morris Center of Higher Learning Stennis Space Center.
Grob Systems, Inc., the customer, requires an industrial computer system that will have a function of acquiring raw data, processing the data, presenting.
Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Twelve Access Databases and LINQ.
Data Presentation & Graphing Introduction to Mechanical Engineering The University of Texas-Pan American College of Science and Engineering.
MarkNotes Question 1 The Human Computer Interface (HCI) is an important part of an ICT system. Describe four factors which should be taken.
MULTIMEDIA DEFINITION OF MULTIMEDIA
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
GENESIS OF VIRTUAL REALITY  The term ‘Virtual reality’ (VR) was initially coined by Jaron Lanier, founder of VPL Research (1989)..
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.

Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
Term 2, 2011 Week 1. CONTENTS Problem-solving methodology Programming and scripting languages – Programming languages Programming languages – Scripting.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Chapter 2 Data Manipulation Yonsei University 1 st Semester, 2015 Sanghyun Park.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Data Structures Using C++ 2E
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
Implementation of a Relational Database as an Aid to Automatic Target Recognition Christopher C. Frost Computer Science Mentor: Steven Vanstone.
Data Structure Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
Programming with Microsoft Visual Basic 2008 Fourth Edition Chapter Eight String Manipulation.
Reverse Engineering. Reverse engineering is the general process of analyzing a technology specifically to ascertain how it was designed or how it operates.
Fundamentals of Information Systems, Third Edition 1 Information and Decision Support Systems: Management Information Systems Management information system.
Chapter 11: Advanced Inheritance Concepts. Objectives Create and use abstract classes Use dynamic method binding Create arrays of subclass objects Use.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Function BIRN The ability to find a subject who may have participated in multiple experiments and had multiple assessments done is a critical component.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Banner 6.x Fundamentals: Navigation and Forms. n Name n Organization n Title/function n Job responsibilities n SCT Banner Experience n Expectations Introductions.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
MarkNotes Question 1 The Human Computer Interface (HCI) is an important part of an ICT system. Describe four factors which should be taken.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Microsoft Visual Basic 2010: Reloaded Fourth Edition
Submitted by: Ala Berawi Sujod Makhlof Samah Hanani Supervisor:
About the Presentations
Using Tensorflow to Detect Objects in an Image
The Scientific Method.
Paige Thielen, ME535 Spring 2018
Topology Optimization through Computer Aided Software
Presentation transcript:

Background Implementation of Gesture Recognition in the NIST Immersive Visualization Environment Luis D. Catacora Under the guidance of Judith Terrill and Terence Griffin National Institute of Standards and Technology The purpose of this research project was to study and implement gesture recognition for an immersive environment found at NIST. The Immersive Visualization Environment (IVE) is a virtual room that allows a user to manipulate and visualize 3D objects with a wand controller and a headset respectively. Although the software found at NIST already included flexible and intuitive navigation methods, their use of pointer gestures has been limited. In order to establish a better interaction between the immersive environment and its user, game technology was researched to develop efficient gesture recognition for the RAVE. The procedure followed consisted of a basic four-step plan for each gesture to be implemented in the RAVE. The results gathered dealt with the position, velocity, and acceleration of the RAVE wand while the user performed a specific gesture. The implemented gesture actions were written in specific command scripts that could be easily replaced with any executable method, making the actions completely user definable. Background Results Methods Conclusions Future Research Abstract The IVE (Immersive Visualization Environment) is an environment that enables scientific visualizations of large amounts of data for further analysis and measurement. Data analyzed in the RAVE (Reconfigurable Automatic Virtual Environment) could originate from large parallel computations such as biological, and chemical data sets of interest. The RAVE has various commands and capabilities for the user, such as onscreen menus and displays. But the RAVE lacks the user-friendly connection that the more modern technologies possess in terms of their capabilities in gesture recognition. Thus this virtual room requires the enactment of gesture recognition in order to increase efficiency and compatibility between the user and the technology. As visualizations become increasingly complex, better methods of human interaction are needed; consequently, detailed and accurate gestures should be investigated. Game technology was chosen for research because they contain the most up-to-date expertise in gesture recognition. Predefined gaming gestures are surprisingly very useful in the field that the RAVE uses because of their uses in data manipulation and visualization. This project focuses on the development of gesture recognition (i.e. flicks, stabs, lines, etc.) and the process that was followed to accomplish it. Future works will also include curve fitting the points of the wand for complex gestures leading to quicker interactions between the users and the IVE. This upgrade in gesture recognition could lead to user ability in not only being able to change the action of the gesture, but in terms of how they are recognized in terms of the given variables Advancements in gesture recognition will improve current analysis of data, measurements of data, and interactions between the user and the data within the IVE. In the end, gesture recognition will improve current analysis, measurement, and the interaction between the user and complex data within the IVE. This program will help set the basic blocks for more complex gestures in the future. In the end, this completed program was able to successfully identify a total of 15 gestures. The only data collected was used aid the gesture recognizing algorithms in determining gesture patterns, and to verify if the correct gesture was recognized upon completion. Current work in gesture recognition for the IVE was researched and compared to the other established game technology. The main game console of interest was the Wii because of the similar dependency of a wand controller in 3D space. Steps taken for each gesture: Define the gesture: Specify what happens when the gesture is performed. And define what the gesture will basically look for. Collect data: Determine how each variable changes during the gesture. Analyze data to determine thresholds for calibration. Program implementation of gesture: Use algorithms and data analysis to write recognition code in C++. Write the gesture number to a shared memory file. Test Gesture: Compile and execute code for the gesture, and see if the correct gesture output is performed. Test on both the Desktop version, and the RAVE version. Figure 1: A picture demonstrating the desktop version of the IVE. The resulting program [Figure 2] was able to successfully recognize basic gestures from human movement. Raw data was stored into txt files [Figure 3] and reviewed for analysis and correction of gesture recognition. The gestures performed were identical to gestures recognized by the Wii console [Figure 4].The various algorithms looked for changes in the data similar to those patterns shown [Figures ]. The progress of displaying gesture detection progressed from onscreen terminal messages, to pop-up images to 3Darrows. Images displayed below [Figure ]. Figures : Patterns in the position, velocity, and acceleration (in order) of a gesture that were looked for in the coded algorithms. Examples shown represent the components for a line gesture. Figure 3: Sample raw data stored into txt file labeled “zout.txt” shows the main variables used. The wand’s position in the X, Y, and Z environment are displayed, along with the three Euler angles of the wand: yaw, pitch, and roll. Figure 2: Sample code from the main program that uses algorithms to recognize gestures. Used specific variables to determine changes in position for lines, and acceleration for flicks. Position over TimeSpeed over TimeAcceleration over Time Figure 4: A picture demonstrating a sample of the various gestures that the Wii console recognizes. Figure 6.1 – 6.2: Pictures demonstrating the desktop version of the IVE. Unfortunately, the images [Figures ] were helpful but slightly distracting, obscuring the item that the user was seeing in the IVE, so a constantly changing arrow was created in 3D space that reacted with the user’s gesture [Figures ]. Figure : Sample images of 3d geometry arrows Figure 8: Demonstration of Desktop Version of IVE with final work: pictures, data, and gesture recognition calibration options