1© 2016 - Brad Myers Brad Myers 05-440/05-640: Interaction Techniques Spring, 2016 Lecture 22: Past to Future: Gesture Recognition and Its Algorithms.

Slides:



Advertisements
Similar presentations
Working with Profiles in IX1D v 3 – A Tutorial © 2006 Interpex Limited All rights reserved Version 1.0.
Advertisements

Graphical input techniques
In put Devices and Media In order for a computer to do anything it must be told what to do.
Using Journal and Other Tablet PC Tools. Tools Bars in Journal To access all tool bars click on view and select each tool bar to activate each.
Lesson 12 Getting Started with Excel Essentials
Microsoft Excel. Click on “Start,” then “Microsoft Office Excel.”
Windows 8 How to Navigate the Windows 8 Start Screen with Your Mouse and Keyboard Shortcuts Bill James, APCUG, Region 8 Advisor.
Desktop Publishing Lesson 1 — Working with Documents.
Basic iPad Use How to help your students use their iPad in your class!
1© Brad Myers Brad Myers A/05-499A: Interaction Techniques Spring, 2014 Lecture 21: Past to Future: Gesture Recognition and Its Algorithms.
This document guides you through using the common features of the InFocus™ Mondopad™ touchscreen display located in this room. Getting Started Power Display.
A Nose Gesture Interface Device: Extending Virtual Realities.
 INTRODUCTION  STEPS OF GESTURE RECOGNITION  TRACKING TECHNOLOGIES  SPEECH WITH GESTURE  APPLICATIONS.
Learn how to make your drawings come alive…  NEW COURSE: SKETCH RECOGNITION Analysis, implementation, and comparison of sketch recognition algorithms,
DENIM A Brief Tutorial By Philip Luedke. Introduction An Informal Tool For Early Stage Web Site and UI Design Early Stage Web Site and UI Design DENIM.
SIMS 202 Information Organization and Retrieval Prof. Marti Hearst and Prof. Ray Larson UC Berkeley SIMS Tues/Thurs 9:30-11:00am Fall 2000.
Nov Jason Hong and James Landay University of California Berkeley Group for User Interface Research.
1 of 4 To calibrate your digital pen click the Start ( ) button>Control Panel>Mobile PC>Calibrate the screen. On the General tab, tap Calibrate, and then.
People & Devices: (Inputs & Outputs) Startlingly small child using computer History of human-computer interaction Another history video.
1 Lecture 13: Demonstrational Tools Brad Myers Advanced User Interface Software.
Introduction to HCI Marti Hearst (UCB SIMS) SIMS 213, UI Design & Development January 21, 1999.
1 Lecture 4: Output Models, Structured Graphics & Display PostScript Brad Myers Advanced User Interface Software.
This course is designed to give you a basic introduction to the ins and outs of using tablet and smartphone technology. By and large, you will learn the.
1 CGS1060 Mobile UIs Copyright 2012 by Janson Industries.
Text Input to Handheld Devices for People with Physical Disabilities Brad A. Myers and Jacob O. Wobbrock Human Computer Interaction Institute School of.
Chapter 12 Designing Interfaces and Dialogues
SE 313 – Computer Graphics Lecture 11: Projection Painting and Merging Textures Lecturer: Gazihan Alankuş 1.
Using Journal and Other Tablet PC Tools. Outcomes Software  Intro to Sticky Notes  Intro to Ink Desktop  Intro to using Windows Journal Tools and uses.
Chapter 9 Introduction to ActionScript 3.0. Chapter 9 Lessons 1.Understand ActionScript Work with instances of movie clip symbols 3.Use code snippets.
1 Lecture 9: Deep Dive: Selecting and Creating Objects across Different Kinds of Views Brad Myers A/05-499A: Interaction Techniques Spring, 2014.
Brad Myers A/05-499A: Interaction Techniques Spring, 2014 Lecture 25: Past to Future: Artificial Intelligence (AI) in Interaction Techniques 1 ©
1 Lecture 5: Deep Dive: Desktop Metaphors, Icons, Window Managers Brad Myers A/05-499A: Interaction Techniques Spring, 2014 © Brad Myers.
Redefining Disability Mobile Accessibility Testing By Priti Rohra Head Accessibility Testing BarrierBreak Technologies.
Wireless iPhone uses quad-band GSM, the global standard for wireless communications. It also supports Cingular’s EDGE network, b/g Wi-Fi, and Bluetooth.
Google Sketchup Lab Mr. Garner Tech Ed Lime Kiln MS.
11.10 Human Computer Interface www. ICT-Teacher.com.
Tool for Sketching Statecharts (TSS) Shahla Almasri COMP 762B: Modelling and Simulation Based Design April 4 th, 2005 April 4 th,
Interaction Gavin Sim HCI Lecture /111. Aims of this lecture Last week focused on persona and scenario creation. This weeks aims are: ◦ To introduce.
Input Devices. What is Input?  Everything we tell the computer is Input.
Lesson 8 Keyboarding Unit 2—Using the Computer. Computer Concepts BASICS - 2 Objectives Define keyboarding. Identify the parts of the standard keyboard.
GOOGLE GLASS Contents:-  Introduction  Technologies used  How it works?  Advantages  Disadvantages  Future scope  Conclusion.
Sketch­based interface on a handheld augmented reality system Rhys Moyne Honours Minor Thesis Supervisor: Dr. Christian Sandor.
Interaction with Surfaces. Aims Last week focused on looking at interaction with keyboard and mouse This week ◦ Surface Interaction ◦ Gestures.
Getting Started With AutoCAD ENGR 2 Week #1 Laboratory.
© 2011 Delmar, Cengage Learning Chapter 1 Getting to Know Illustrator.
HCI For Pen Based Computing Cont. Richard Anderson CSE 481 B Winter 2007.
USING WORDPRESS TO CREATE A WEBSITE (RATHER THAN A BLOG) STEP-BY-STEP INSTRUCTIONS.
Lecture 15: Demonstrational Tools Brad Myers Advanced User Interface Software 1.
MIT 6.893; SMA 5508 Spring 2004 Larry Rudolph Lecture 4: Graphic User Interface Graphical User Interface Larry Rudolph MIT 6.893; SMA 5508 Spring 2004.
My Presentations Create new presentations and find the ones you’ve worked on before. Your progress is saved automatically as you work. Undo Anything.
Fall 2003Sylnovie Merchant, Ph.D. ACCESS Tutorial Note: The purpose of this tutorial is to provide an introduction to some of the functions of ACCESS in.
Graphics Concepts CS 2302, Fall /17/20142 Drawing in Android.
Gesture Input and Gesture Recognition Algorithms.
Different Types of HCI CLI Menu Driven GUI NLI
Computer Literacy BASICS: A Comprehensive Guide to IC 3, 5 th Edition Lesson 18 Getting Started with Excel Essentials 1 Morrison / Wells / Ruffolo.
Introduction to A+CAD. Objectives Understand fundamental CAD concepts Start A+CAD Tour the A+CAD interface Explore the different A+CAD data input methods.
Pen Based User Interface II CSE 481b January 25, 2005.
SONGONUGA EMILIA ACCOUNTING 12/SMS02/ Introduction One goal of human-computer interaction research is to reduce the demands on users when using.
Desktop Publishing Lesson 1 — Working with Documents.
Gesture Input and Gesture Recognition Algorithms
Human Computer Interaction (HCI)
11.10 Human Computer Interface
Human Computer Interaction (HCI)
Objectives To define terminology associated with Windows operating systems. To examine uses of Windows in business and industry. To explain techniques.
Lesson 1: Buttons and Events – 12/18
NBKeyboard: An Arm-based Word-gesture keyboard
EdgeWrite Cole Gleason
Topic 14: Jacob O. Wobbrock, Andrew D. Wilson, and Yang Li. 2007
Brad Myers : Interaction Techniques Spring, 2019
Presentation transcript:

1© Brad Myers Brad Myers /05-640: Interaction Techniques Spring, 2016 Lecture 22: Past to Future: Gesture Recognition and Its Algorithms

What is a “Gesture” In HCI, an input to a computer where the path or other properties of the input is important to its recognition, not just the end points Regular drag-and-drop just cares about where starts and finishes, so generally does not count as a “gesture” A recognizer is needed to interpret the path – so it may be interpreted incorrectly Can be done with a mouse, a stylus or finger on touchscreen, or hands in the air in front of a camera Can be one or multiple fingers; one or multiple strokes On Smartphones, call “tap” a “gesture” to distinguish between tap, long-press, flick, drag, etc. Depends on properties of the action or of the other actions Location, but also speed, timing, etc. © Brad Myers 2

Advantages of Gesture Recognition Very fast to enter Single gesture can give both parameters and command E.g., cross out gesture tells both what to do and to what Large space of potential gestures Can be “natural” Can fit in easily with event-based programming Assuming gestures simply invoke a command © Brad Myers 3

Disadvantages © Brad Myers 4 No affordance – user has to know they can be done No in-place information on what they look like Can be hard to remember which gesture does what operation (especially if lots) System may recognize them incorrectly Often cannot be entered correctly by users with disabilities, etc. Can be unnatural if designed poorly Hard to provide feedback of what is happening, especially if continuous Implementation challenge: creating a good recognizer Designer must decide if rotation and size invariant

Gestures -> Character Recognition See lecture 12 about text entry using hand-printing and hand-writing Rand tablet (1964) PARC Tab QuickWriting (1989) Go PenPoint (1991) Apple Newton (1993) Palm Graffiti (1996) Windows TabletPC (2002) EdgeWrite (2003) © Brad Myers 5

Also Already Covered: Gestures in 3D Gestures for 3D manipulation See lecture 16 on 3D Mainly pose and path of fingers with datagloves Also elaborate gestures in Teddy Sometimes gestures with joysticks May depend on path and timing Wii controller gestures Kinect Body poses © Brad Myers 6

Gestures for Proofreading Well-known proofreading symbols on paper Many investigated using these gestures COLEMAN, M. L. Text editing on a graphic display device using hand-drawn proofreader's symbols. In Pertinent Concepts in Computer Graphics, Proceedings of the Second University of Illinois Conference on Computer Graphics, M. Faiman and j. Nievergelt, Eds. University of Illinois Press, Urbana, Chicago, London, 1969, pp RHYNE, J. R., AND WOLF, C. G. Gestural interfaces for information processing applications. Tech. Rep. RC12179, IBM T.J. Watson Research Center, Sept © Brad Myers 7

Trainable Gesture Recognizer Applicon (circa 1970). An interactive trainable computer aided circuit design system using hand-drawn shapes to enter data and commands. Applicon. 16 mm film. Video (2:25 min excerpt)Video (2:25 min excerpt) From Bill Buxton Lincoln Labs page. See the Wikipedia entryLincoln Labs page Wikipedia entry © Brad Myers 8

Early Gesture Recognition Buxton, W., Sniderman, R., Reeves, W., Patel, S. & Baecker, R. (1979). The Evolution of the SSSP Score Editing Tools. Computer Music Journal 3(4), [PDF] [video]The Evolution of the SSSP Score Editing Tools.PDFvideo Can draw gestures for the desired notes to enter music Start location determines pitch © Brad Myers 9

Early Graphical Editing Gestures Buxton, W., Fiume, E., Hill, R., Lee, A. and Woo, C. Continuous Hand- Gesture Driven Input. Proceedings of Graphics Interface '83, Edmonton, May 1983, [video] Gestures for move and copy Copy is same except make a “C” gesture along the path after circling and before moving © Brad Myers 10

Go Corp’s “PenPoint” OS Founded 1987, released in 1991 Many gestures for editing, navigation, etc. Flick to scroll and turn pages, circle, insert space, cross-out, insert word, get help, … Press and hold to start moving or selecting Special-purpose recognizer for the built-in gestures Go%20PenPoint%20Getting%20Started.pdf Go%20PenPoint%20Getting%20Started.pdf © Brad Myers 11

Dean Rubine’s System Dean Rubine at CMU (PhD CSD, 1991) created novel gesture interaction techniques Also, a novel “open-source” flexible algorithm, which researchers used for 16 years. Paper: Dean Rubine Specifying gestures by example. In Proceedings of the 18th annual conference on Computer graphics and interactive techniques (SIGGRAPH '91). ACM, Video: Dean Rubine Combining gestures and direct manipulation. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '92), ACM, actual video (10:20) or (ACM Ref for description)actual videoACM Ref for description Powerful and influential system for single-stroke gesture recognition © Brad Myers today

Rubine’s Gesture Innovations “Eager recognition” – can recognize a gesture while mouse button is still down as soon as it is unambiguous Either wait for mouse pause, or immediately when unambiguous Allows user to continue with direct manipulation E.g., “L” gesture for rectangle, continue to drag for size “C” gesture for copy, “curlicue” for rotate and scale Multi-finger gestures also supported Two finger drag and resize local video, up through 6:00, 7:00-end local video © Brad Myers 13

Rubine: Gesture recognition algorithm © Brad Myers 14 Trained with a small number of examples (e.g., 15) Since done by a person, won’t be identical Examples should vary in whatever ways they will for the user E.g., different sizes? Different orientations? Automatically looks for features of all gestures, that differentiates them Uses a Machine Learning algorithm Statistical Single-Stroke Gesture Recognition Computes matrix inversions, discriminant values, and Mahalanobis distances Experimentally picked a set of 13 features that seemed to work well E.g, “cosine and the sine of the initial angle of the gesture, the length and the angle of the bounding box diagonal, …” Implemented in a system called GRANDMA Video, 6:00 through 7:00 Video

Uses of Rubine’s algorithm Many subsequent projects re-implemented and built on his algorithm We implemented it twice, both called “AGATE”: A Gesture- recognizer And Trainer by Example Integrated with the standard “interactor” event handling model James A. Landay and Brad A. Myers. "Extending an Existing User Interface Toolkit to Support Gesture Recognition," Adjunct Proceedings of INTERCHI'93. Amsterdam, The Netherlands, April 24-29, pp (Garnet) Brad A. Myers, Richard G. McDaniel, Robert C. Miller, Alan Ferrency, Ellen Borison, Andrew Faulring, Andy Mickish, Patrick Doane, and Alex Klimovitski, The Amulet User Interface Development Environment. 8 minute video. Technical Video Program of the CHI‘1997 conference. ACM, OpenVideo (local copy) 8:50 total, gestures at 6:15-6:50OpenVideolocal copy © Brad Myers 15

Improving the Gestures Allan Christian Long Jr., Quill: a gesture design tool for pen-based user interfaces, PhD thesis, UC Berkeley, 2001, (307 pages), pdfpdf How to know if the gestures are too similar? Chris Long took the Rubine recognizer and analyzes if gestures are too “confusable” “Quill” tool Similarity in recognition space not necessarily the same as in human perceptual visual space © Brad Myers 16

User Designed Gestures © Brad Myers 17 Jacob O. Wobbrock, Htet Htet Aung, Brandon Rothrock and Brad A. Myers. "Maximizing the Guessability of Symbolic Input" (Short Talk). Extended Abstracts CHI'2005: Human Factors in Computing Systems. Portland, OR, April 2-7, pp pdf. When creating the EdgeWrite gestures, Jake Wobbrock wanted to know what users thought the gestures should be: “Guessability of the EdgeWrite unistroke alphabet was improved by users from 51.0% to 80.1%” Multiple phases Participants told the constraints Participants propose a set of gestures – tricky not to bias answers with prompts Get participants to resolve conflicts since likely to create indistinguishable gestures

Wobbrock’s new recognizers Jacob O. Wobbrock, Andrew D. Wilson, and Yang Li Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes. In Proceedings of the 20th annual ACM symposium on User interface software and technology (UIST '07). ACM, pp or More efficient and simpler than Rubine’s Became the new standard that others use for research Unistroke and multi-stroke versions Match candidate points to remembered templates Default: rotation, size and speed invariant © Brad Myers 18

Wobbrock’s subsequent gesture work AGATe: AGreement Analysis Toolkit - for calculating agreement in gesture-elicitation studies (CHI’2015) AGATe GHoST: Gesture HeatmapS Toolkit - for visualizing variation in gesture articulation (ICMI ’2014) GHoST GREAT: Gesture RElative Accuracy Toolkit - for measuring variation in gesture articulation (ICMI’2013) GREAT GECKo: GEsture Clustering toolKit - for clustering gestures and calculating agreement (GI ‘2013) GECKo $P: Point-cloud multistroke recognizer - for recognizing multistroke gestures as point-clouds (ICMI ‘2012) $P $N: Multistroke recognizer - for recognizing multistroke gestures as strokes (GI ‘2012) $N $1: Unistroke recognizer - for recognizing unistroke gestures as strokes (UIST’2007) $1 © Brad Myers 19

iPhone Gestures Quick flick down / up / left / right New behaviors in iOS7 in various apps (no affordance) New behaviors Left and right in Messages, Safari Up and down in home screens Swipe down from top Swipe up from bottom Press and hold Two finger zoom Also in photo Two finger zoom and rotate Google maps Three finger tap – accessibility Shake left-right = undo (sometimes) … © Brad Myers 20

Google Glass Gestures Small touch pad on right side & Motion sensor Activate Glass: Tap the touchpad to turn the display on Swipe forward and back: affect content being shown Select an item: Tap Tilt head up / down: display on / off © Brad Myers 21

Android Gesture Builder All Smartphones have libraries to support programming apps with gestures Often provided to the code by “events” like “mouse-down”  “swipe-left” Android provides nice tool to define gestures by example builder-create-your-gestures.html builder-create-your-gestures.html on-android-16.html on-android-16.html © Brad Myers 22

Research: Elaborate Gesture / Picture Recognition Alvarado, Christine and Davis, Randall (2001). Resolving ambiguities to create a natural sketch based interface. Proceedings of IJCAI- 2001, August PDFPDF Recognizes shapes & relationships between shapes Attachment points, anchors, etc. Can then run as a physical simulation YouTube video (4:43) YouTube video © Brad Myers 23

Research: Hand Gestures Andrea Colaço Sensor design and interaction techniques for gestural input to smart glasses and mobile devices. In Proceedings of the adjunct publication of the 26th annual ACM symposium on User interface software and technology (UIST '13 Adjunct). Doctoral Consortium. ACM, pp Use multiple sensors mounted on glasses to recognize hand gestures in the air Needs to be very low-power and efficient © Brad Myers 24

Funny Tyson R. Henry, Scott E. Hudson, Andrey K. Yeatts, Brad A. Myers, and Steven Feiner. "A Nose Gesture Interface Device: Extending Virtual Realities," ACM Symposium on User Interface Software and Technology, Hilton Head, SC, Nov , pp ACM DL or local copy and slides.ACM DLlocal copy slides © Brad Myers 25

More references At least 17 gesture papers at upcoming CHI’2016 (full schedule)full schedule At least 10 at CHI’2015, including whole sessions Jake Wobbrock’s pages: © Brad Myers 26

More References From Bill Buxton, The first gesture-related stuff that I did was the single-stroke shorthand that I developed for entering music to the score editor. This was the stepping stone to Unistrokes and that to Grafitti. Buxton, W., Sniderman, R., Reeves, W., Patel, S. & Baecker, R. (1979). The Evolution of the SSSP Score Editing Tools.Computer Music Journal 3(4), [PDF] [video]The Evolution of the SSSP Score Editing Tools.PDFvideo The paper that you referred to as well as the accompanying video can be found here; Buxton, W., Fiume, E., Hill, R., Lee, A. & Woo, C. (1983). Continuous Hand-Gesture Driven Input. Proceedings of Graphics Interface '83, 9th Conference of the Canadian Man-Computer Communications Society, Edmonton, May 1983, [video]Continuous Hand-Gesture Driven Input.video For a review of Marking and Gesture stuff, see the following two draft chapters of the yet-to-be- finished (!) input book: Marking Interfaces Gesture Driven Input IMHO, the most useful thing that I have written that guides me, at least, in terms of gestures, is: Buxton, W. (1986). Chunking and Phrasing and the Design of Human-Computer Dialogues, Proceedings of the IFIP World Computer Congress, Dublin, Ireland, Chunking and Phrasing and the Design of Human-Computer Dialogues The two things that I always discuss when I speak about gestures are: Kreuger’s work & introduction of the pinch gesture, etc.: Richard Bolt’s work combining gesture and speech: There is also some nice examples from Lincoln Lab: Applicon (circa 1970). An interactive trainable computer aided circuit design system using hand-drawn shapes to enter data and commands. Applicon. 16 mm film. 2:25 min excerptAn interactive trainable computer aided circuit design system using hand-drawn shapes to enter data and commands The quick story is this – Applicon was a spin-off from Lincoln Labs, and the recognition stuff was born there. Fontaine Richardson, who was behind the work, was a key person at the lab. There was little published on this stuff, but it was the offspring of Sketchpad, and – I believe – the first commercial system to use these types of gestures – or gestures at all. An old summary which still has some relevance: Buxton, W. (1995). Touch, Gesture & Marking. Chapter 7 in R.M. Baecker, J. Grudin, W. Buxton and S. Greenberg, S. (Eds.)(1995). Readings in Human Computer Interaction: Toward the Year 2000 San Francisco: Morgan Kaufmann Publishers.Touch, Gesture & MarkingReadings in Human Computer Interaction: Toward the Year 2000 © Brad Myers 27