Capita Selecta Multimedia Presentatie 2

30
GESTURE RECOGNITION & API DESIGN Multi-touch Davy Debacker, Ruben Lagatie, Sven Michiels

description

Over gesture herkenning bij (multi) touch schermen.

Transcript of Capita Selecta Multimedia Presentatie 2

Page 1: Capita Selecta Multimedia Presentatie 2

G E S T U R E R E C O G N I T I O N

&

A P I D E S I G N

Multi-touch

Davy Debacker, Ruben Lagatie, Sven Michiels

Page 2: Capita Selecta Multimedia Presentatie 2

Inhoud

1. Introductie1. Geschiedenis

2. Motivatie

2. Gestures1. Multi-touch UI gestures

2. Template gestures

3. Gesture recognition1. Bepalen positie vingertoppen

2. Herkenningstechnieken

4. Gesture API

Page 3: Capita Selecta Multimedia Presentatie 2

Papers

Visual Tracking of Bare Fingers for Interactive Surfaces

Letessier, Bédard (2004)

Gestures without Libraries, Toolkits or Training: A $1 Recognizer for User Interface Prototypes

Wobbrock, Wilson, Li (2007)

Gesture Analyzing for Multi-Touch Screen Interfaces

Thörnlund (2007)

A Survey of Gesture Recognition Techniques

Watson (1993)

Constructing Finite State Machines for Fast Gesture Recognition

Hong, Turk, Huang (2000)

Implementation of Multi-touch Tabletop Display for HCI

Kim, Kim, Lee (2007)

Programming for Multiple Touches and Multiple Users: A Toolkit for the DiamondTouch Hardware

Diaz-Marino, Tse, Greenberg (2003)

Mouse Gesture Recognition by using Hidden Markov Model

Jang, Ko, Khamidov (2004)

Multi-finger and whole hand gestural interaction techniques for multi-user tabletop displays

Mike Wu, Ravin Balakrishnan(2003)

Page 4: Capita Selecta Multimedia Presentatie 2

1 . G E S C H I E D E N I S

2 . M O T I V A T I E

Introductie

Page 5: Capita Selecta Multimedia Presentatie 2

Geschiedenis

Mouse gestures 1983 Apple: “drag”

>1997 Games

2001 Opera

2004 KDE 3.2

Hand gestures in CS lezen van gebarentaal

robotica

multi-touch

Page 6: Capita Selecta Multimedia Presentatie 2

Motivatie

Intuïtiever

Sneller

26% sneller dan selecteren van knoppen1

1 Dulberg, M.S., Amant, R.S., and Zettlemoyer, L. An Imprecise Mouse Gesture for the Fast Activation of Controls. In Proceedings of INTERACT’99. 1999. 375–382

Page 7: Capita Selecta Multimedia Presentatie 2

1 . M U L T I - T O U C H U I G E S T U R E S

• 1 F I N G E R

• 2 F I N G E R S

• H A N D S

2 . T E M P L A T E G E S T U R E S

Gestures

Page 8: Capita Selecta Multimedia Presentatie 2

Multi-touch UI gestures: 1 finger

Moveverplaatsen van object

Selectselecteren door omcirkelen

Double tap context menu rond vinger (pie chart)

Flicking and catchingeen object gooien/opvangen(snelheid threshold)

Page 9: Capita Selecta Multimedia Presentatie 2

Multi-touch UI gestures: 2 fingers

Rotateroteren a.d.v. 2 punten

Scalevergroten/verkleinen a.d.v. 2 punten

Multiselectselecteren door omcirkelen

Page 10: Capita Selecta Multimedia Presentatie 2

Multi-touch UI gestures: hands

Flat handopenen menu

Vertical handscheiding maken door verticale lijn

2 Vertical handsgroeperen door samenduwen

2 Corner shaped handsselecteren door afbakenen rechthoekig gebied

Page 11: Capita Selecta Multimedia Presentatie 2

Template gestures

Page 12: Capita Selecta Multimedia Presentatie 2

1 . B E P A L E N P O S I T I E V I N G E R T O P P E N

2 . H E R K E N N I N G S T E C H N I E K E N

Gesture recognition

Page 13: Capita Selecta Multimedia Presentatie 2

Bepalen positie vingertoppen

1. voorgrond extractie door IDS grayscale difference map

2. automatische thresholding binary map

3. shape filtering fingertip positions

Page 14: Capita Selecta Multimedia Presentatie 2

1. Voorgrond extractie door IDS

Computer Vision techniek:

Image Differencing Segmentation (IDS)

grayscale difference map

Page 15: Capita Selecta Multimedia Presentatie 2

2. Automatische thresholding

Verwijderen van ruis en omvormen naar binaire map

binaire map

Page 16: Capita Selecta Multimedia Presentatie 2

3. shape filtering

1. Pixel per pixel vergelijking met patroon(vinger, blok, pen, GSM…)

2. Fast Rejection Filters (FRF)3. Mediaan van clusters = posities vingers

Fast Rejection Filters

Patroon vingertop

Page 17: Capita Selecta Multimedia Presentatie 2

1 . B E P A L E N P O S I T I E V I N G E R T O P P E N

2 . H E R K E N N I N G S T E C H N I E K E N

Gesture recognition

Page 18: Capita Selecta Multimedia Presentatie 2

Herkenningstechnieken

Hardcoded

Template Matching

Neural Networks

Statistical classification

Discontinuity Matching

Page 19: Capita Selecta Multimedia Presentatie 2

Hardcoded

Rotate:if((dx(pi) * dx(pj) < 0) && (dy (pi) * dy(pj) < 0))

Scale:if((dx(pi) * dx (pj) < 0) || (dy(pi) * dy(pj) < 0))

Move:if((dx(pi) * dx (pj) > 0) || (dy(pi) * dy(pj) > 0))

Page 20: Capita Selecta Multimedia Presentatie 2

Template Matching

$1 algoritmerotatieonafhankelijk template matching algoritme

Concept

1. registreren van punten op interval

2. minimaliseren gemiddelde afstand tussen punten:

Page 21: Capita Selecta Multimedia Presentatie 2

Template Matching

$1 algoritmerotatieonafhankelijk template matching algoritme

Problemen

1. afstand en locatie punten afhankelijk van snelheid

2. rotatieonafhankelijkheid

Page 22: Capita Selecta Multimedia Presentatie 2

1. Afstand en locatie punten afhankelijk van snelheid

Resample

Page 23: Capita Selecta Multimedia Presentatie 2

2. rotatieonafhankelijkheid

1. roteren volgens indicatieve hoek

2. scalering en translatie

3. zoeken optimale rotatie

Page 24: Capita Selecta Multimedia Presentatie 2

1. roteren volgens indicatieve hoek

startpunt

Probleem:

deze rotatie is meestal niet optimaal

indicatieve hoek

Page 25: Capita Selecta Multimedia Presentatie 2

2. scalering en translatie

Scaleren naar referentie vierkant, zodat:

punten niet beïnvloed worden door ratio

eenvoudig kan roteren rond middelpunt

Nadeel: sommige patronen niet meer te onderscheiden (bv. ovaal - cirkel)

Page 26: Capita Selecta Multimedia Presentatie 2

3. zoek optimale hoek

Hill Climbing Golden Section Search

gelijke patronen verschillende patronen

• trager voor gelijkaardige patronen• sneller voor verschillende patronen

Page 27: Capita Selecta Multimedia Presentatie 2

1 . B I B L I O T H E E K M E T G E S T U R E S

2 . L I S T E N E R M E T H O D E S

Gesture API

Page 28: Capita Selecta Multimedia Presentatie 2

1. Bibliotheek met gestures

SDK zoals DiamondTouch: DTFlash

• Standaard gestures in een bibliotheek bewaren (bv scale, move, rotate…)

• Toevoegen van gestures kan eenvoudig door overerving

Page 29: Capita Selecta Multimedia Presentatie 2

2. Listener methodes

Programma kan zichzelf registreren als listener Listener aangeroepen wanneer gesture wordt herkend

Listener aangeroepen wanneer scherm wordt aangeraakt

Mogelijk om huidige positie vingers op te vragen

Page 30: Capita Selecta Multimedia Presentatie 2

Einde

Vragen?