steerable interfaces for interactive environments

84
Steerable Interfaces for Interactive Environments Stanislaw Borkowski thesis director: James L. Crowley Jury: Institut National de Recherche en Informatique et Automatique INRIA Rhône-Alpes June 26, 2006 Andreas Butz (UM), Joëlle Coutaz (UJF), Alex Pentland (MIT), Pierre Wellner (IDIAP)

Upload: mallory-slater

Post on 03-Jan-2016

35 views

Category:

Documents


2 download

DESCRIPTION

Institut National de Recherche en Informatique et Automatique. Stanislaw Borkowski thesis director: James L. Crowley Jury:. Steerable Interfaces for Interactive Environments. Andreas Butz (UM), Jo ë lle Coutaz (UJF), Alex Pentland (MIT), Pierre Wellner (IDIAP). INRIA Rh ô ne-Alpes - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Steerable Interfaces for Interactive Environments

Steerable Interfaces for Interactive

EnvironmentsStanislaw Borkowski

thesis director: James L. CrowleyJury:

Institut National de Recherche en Informatique et Automatique

INRIA Rhône-AlpesJune 26, 2006

Andreas Butz (UM), Joëlle Coutaz (UJF), Alex Pentland (MIT), Pierre Wellner (IDIAP)

Page 2: Steerable Interfaces for Interactive Environments

2

User Interface (UI): aggregate of physical entities or information bound to these entities

What is a user interface?

A

Page 3: Steerable Interfaces for Interactive Environments

3

Steerable UI:can be relocated in spaceposition is mediated by

the computer system

Portable UI:can be relocatedposition is directly

controlled through physical contact

Mobile UI’s

Mobile UIs

Portable UIs

Steerable UIs

A

Page 4: Steerable Interfaces for Interactive Environments

4

Mobility in current IT Steerable interfaces

Conventional GUI (steerable output) X11 session teleporting [Richardson93]

Portable interfaces Wearable computers Cell phones Personal Digital Assistants Laptops ….

Page 5: Steerable Interfaces for Interactive Environments

5

Mobility in ambient computing Multiple displays embedded in

the environment Large size displays Mobile interaction resources,

both portable and steerable

[Pinhanez01] [Streitz99]

[Arias00]

Page 6: Steerable Interfaces for Interactive Environments

6

Why steerable?

Flexibility in resources usage

New forms of Human-computer interaction

New forms of Human-Human interaction

Page 7: Steerable Interfaces for Interactive Environments

7

Current situation – summary

Problem: Need for steerable UIs No predictive models

Solution: Provide enabling technology Explore interaction techniques Evaluate the value of steerable UIs

Page 8: Steerable Interfaces for Interactive Environments

8

Outline Mobility in IT Steerable UIs Mobile projected UI Mobile UIs for collaborative work Conclusions

Page 9: Steerable Interfaces for Interactive Environments

9

State of the art

EasyLiving [Brumitt00]

Tic-Tac-Toe [Pinhanez05]

Page 10: Steerable Interfaces for Interactive Environments

10

State of the art – limitations

UI is observable at standstill Limited spatial controllability Only predefined locations Planar surfaces only

Requirements for steerable UIs: Continuous observability and

controllability

Page 11: Steerable Interfaces for Interactive Environments

11

Outline Mobility in IT Steerable UIs Mobile projected UI

Prototype implementation[in collaboration with J. Letessier]

Evaluation – latency estimation

Mobile UIs for collaborative work Conclusions

Page 12: Steerable Interfaces for Interactive Environments

12

The Steerable Camera Projector

(2002)

Other steerable projection systems: The Everywhere Display (IBM 2000)

Fluid Beam (Fluidum consortium 2002)

SCP from Karlsruhe (UKA 2004)

Page 13: Steerable Interfaces for Interactive Environments

13

Steerable display (2002)

Page 14: Steerable Interfaces for Interactive Environments

14

User-centric approach

End-users: Latency limits < 50ms Easy setup, no maintenance Reliability / predictability

Developers: Abstraction: be relevant Isolation: allow integration Contract: offer quality of service

Page 15: Steerable Interfaces for Interactive Environments

15

Pragmatic approach

Black-box servicesBIP (Basic Interconnection Protocol)

BIP implementation ≈ SOA middleware

service/service and service/application communication

service discovery (standards-based)

Page 16: Steerable Interfaces for Interactive Environments

16

Interactive system

ApplicationSCP

software

Human and Environmen

t

Interaction events

Display orders

Page 17: Steerable Interfaces for Interactive Environments

17

Interactive system

Application

Human and Environmen

tSCPdisplay

SCPcontroller

Frame grabber

Interaction detector

SCPcalibrator

A

Page 18: Steerable Interfaces for Interactive Environments

18

Interactive system

Application

Human and Environmen

tSCPdisplay

SCPcontroller

Frame grabber

Interaction detector

SCPcalibrator

Page 19: Steerable Interfaces for Interactive Environments

19

Video projector

Light source

Screen

Source image

Projection on arbitrary oriented planar surfaces

User’s perception

Page 20: Steerable Interfaces for Interactive Environments

20

Video projector

Screen

Projection on arbitrary oriented planar surfaces

Light source

Image to project

User’s perception

Source image

SCPdisplay

Page 21: Steerable Interfaces for Interactive Environments

21

Projection on arbitrary oriented planar surfaces

Image to project

User’s view

Page 22: Steerable Interfaces for Interactive Environments

22

Interactive system

Application

Human and Environmen

tSCPdisplay

SCPcontroller

Frame grabber

Interaction detector

SCPcalibrator

Page 23: Steerable Interfaces for Interactive Environments

23

Sensor-centric environment model

1 2

3

123

Page 24: Steerable Interfaces for Interactive Environments

24

Display surface detection

Screen

Page 25: Steerable Interfaces for Interactive Environments

25

The Portable Display Surface

Page 26: Steerable Interfaces for Interactive Environments

26

Interactive system

Application

Human and Environmen

tSCPdisplay

SCPcontroller

Frame grabber

Interaction detector

SCPcalibrator

Page 27: Steerable Interfaces for Interactive Environments

27

Interactive widgets projected on a portable display surface

Page 28: Steerable Interfaces for Interactive Environments

28

Luminance-based button widget

Page 29: Steerable Interfaces for Interactive Environments

29

Locate widget in the camera image

Estimate occlusion

Update widget state

Touch detection

CIH

)()(:)( tLtLtL io

Page 30: Steerable Interfaces for Interactive Environments

30

Robustness to clutter

Page 31: Steerable Interfaces for Interactive Environments

31

Assembling occlusion detectors

Page 32: Steerable Interfaces for Interactive Environments

32

Striplet – the occlusion detector

x

y

0 R

Page 33: Steerable Interfaces for Interactive Environments

33

Striplet-based SPOD

SPOD – Simple-Pattern Occlusion Detector

Page 34: Steerable Interfaces for Interactive Environments

34

Striplet-based button

Page 35: Steerable Interfaces for Interactive Environments

35

SPOD-based calculator

Accelerated video

Page 36: Steerable Interfaces for Interactive Environments

36

Outline Mobility in IT Steerable UIs Mobile projected UI

Prototype implementationEvaluation – latency estimation

Mobile UIs for collaborative work Conclusions

Page 37: Steerable Interfaces for Interactive Environments

37

Latency estimation

0t

pt 0t

PCI A/D converter

Frame Grabber

CPU

Imalab shell

Image processing

Graphic Card

OpenGl render

0ttl p

Page 38: Steerable Interfaces for Interactive Environments

38

Latency estimation

Fan

PCI A/D converter

Frame Grabber

CPU

Imalab shell

Image processing

Graphic Card

OpenGl renderRegulated power

supply

Video sequence capture

Plastic bar

Projection of the bar

Page 39: Steerable Interfaces for Interactive Environments

39

Latency estimation – results

+ up to 51ms!!!

A~17ms

0tPCI A/D converter

Frame Grabber

CPU

Imalab shell

Image processing

Graphic Card

OpenGl render

~70ms

0tPCI A/D converterFrame Grabber

CPU

Imalab shell

Graphic Card~32ms

Page 40: Steerable Interfaces for Interactive Environments

40

Interactive system

Application

Human and Environmen

tSCPdisplay

SCPcontroller

Frame grabber

Interaction detector

SCPcalibrator

Page 41: Steerable Interfaces for Interactive Environments

41

Outline

Mobility in IT Steerable UIs Mobile projected UIs Mobile UIs for collaborative work

ContAct applicationUser study – comparison of different

take-over techniques

Conclusions

Page 42: Steerable Interfaces for Interactive Environments

42

ContAct – a system for authoring presentations

Collaboration through interface mobility

Page 43: Steerable Interfaces for Interactive Environments

43

ContAct application setup Wide angle camera Tabletop camera Steerable Camera Projector Portable Display Surface

Page 44: Steerable Interfaces for Interactive Environments

44

ContAct application GUI

Page 45: Steerable Interfaces for Interactive Environments

45

Outline Mobility in IT Steerable interface prototype Mobile UIs for collaborative work

ContAct applicationTaking control: a comparative user study

[in collaboration with J. Maisonnasse and J. Letessier]

Conclusions

Page 46: Steerable Interfaces for Interactive Environments

46

Evaluation of techniques for taking control

Objectives: Determine the preferred

control taking technique Evaluate the impact on the

task completion performance Evaluate user acceptance of

steerable interfaces

Page 47: Steerable Interfaces for Interactive Environments

47

Experimental setup

GUI

Users

Hardware:

Steerable Camera Projector

Microphone headsets

Portable Display Surface

Software:

Speech detector [D. Vaufreydaz]

Conversation modeling [J. Maisonnaisse]

Finger tracking [J. Letessier]

PDS tracking

Drawing application

Page 48: Steerable Interfaces for Interactive Environments

48

The User Interface

Page 49: Steerable Interfaces for Interactive Environments

49

The task

Collaborative reconstruction of a graph

Page 50: Steerable Interfaces for Interactive Environments

50

The task

Collaborative reconstruction of a graph

User 2 User 3User 1

Page 51: Steerable Interfaces for Interactive Environments

51

Experimental conditions

Proposed techniques for taking control: Baseline: fixed interface Portable: PDS Steerable: touch-based Steerable: voice-based steering

Page 52: Steerable Interfaces for Interactive Environments

52

Fixed interface

GUI

Users

Page 53: Steerable Interfaces for Interactive Environments

53

Explicit direct manipulation

Page 54: Steerable Interfaces for Interactive Environments

54

Explicit touch-based steering

Page 55: Steerable Interfaces for Interactive Environments

55

Implicit voice-based steering

Rules controlling the interface location: Interface is steered toward

the “main speaker” Interruptions are ignored Drawing inhibits vocal steering Conflicts result in loss of interface control

Page 56: Steerable Interfaces for Interactive Environments

56

Subjects

12 groups of 3 people 13 women, 23 men Average age 27.7 19 experts in IT 17 subjects familiar with IT

Page 57: Steerable Interfaces for Interactive Environments

57

1

1.5

2

2.5

3

3.5

fixed button pds voice

experts non-experts

Results – user preference

rank

Rank scale: 1 = most liked 4 = least liked

Page 58: Steerable Interfaces for Interactive Environments

58

Results – PDS

Fun to use Predictable

Less intuitive Less reactive Not well suited

for the task

Experts Non-experts

Page 59: Steerable Interfaces for Interactive Environments

59

Results – Voice-based control

Intimidating Limits

collaboration

Fun to use Enhances

collaboration

Experts Non-expertsModified their behaviour

Least predictable

Page 60: Steerable Interfaces for Interactive Environments

60

Example result

Page 61: Steerable Interfaces for Interactive Environments

61

User performance – ability to duplicate

0

10

20

30

40

50

60

70

80

90

100

fixed button pds voice

experts non-experts

% of remembered elements

Page 62: Steerable Interfaces for Interactive Environments

62

Outline Mobility in IT Steerable UIs Mobile projected UI Mobile UIs for collaborative work Conclusions

Page 63: Steerable Interfaces for Interactive Environments

63

Conclusions 1/2

Steerable camera-projector pair enables mobile UIs

Portable UIs (PDS)

Steerable UIs

Page 64: Steerable Interfaces for Interactive Environments

64

Conclusions 2/2

UI mobility can enhance the collaborative experience

Explicit control is preferred over implicit control

Page 65: Steerable Interfaces for Interactive Environments

65

Future directions 1/2

The SCP: Adapting to display surface texture

The PDS: Tracking and interaction with multiple PDS’ High frame-rate tracking

Vision-based projected widgets: Integration of multiple occlusion detectors

Page 66: Steerable Interfaces for Interactive Environments

66

Steerable interfaces: Other applications for steerable interfaces Alternative methods for controlling the

location Exploring links with plastic interfaces –

dynamic interface adaptation Creation of a “space manager”

Future directions 2/2

Page 67: Steerable Interfaces for Interactive Environments

67

Thank you for your attention

Page 68: Steerable Interfaces for Interactive Environments

68

Page 69: Steerable Interfaces for Interactive Environments

69

ResultsThe preference:#1 the PDS #2 button-based control #3 voice-based control#4 fixed interface

2

3

4

fixed button pds voice

0

2

4

6

8

10

12

14

16

1 2 3 4

Page 70: Steerable Interfaces for Interactive Environments

70

1 2

3

Sensor-centric environment model

Page 71: Steerable Interfaces for Interactive Environments

71

SPOD software components

Frame Grabber

Client Application

Calibration

GUI rendering

GUI

Striplets Engine

VEILS

P

O

D

Page 72: Steerable Interfaces for Interactive Environments

72

Striplet – the occlusion detector

dxdytyxyx t ),,L(),(f)(R gain

Gain

x

x

y

0),(fgain dxdyyx

Page 73: Steerable Interfaces for Interactive Environments

73

VEIL – Vision Events Interpretation Layer

Striplets Engine

VEILS

P

O

D

Inputs Widgets coordinates Scale and UI to camera mapping matrix Striplets occlusion events

Outputs Interaction events Striplets coordinates

Page 74: Steerable Interfaces for Interactive Environments

74

VEIL – Vision Events Interpretation Layer

Striplets Engine

VEILS

P

O

D

Inputs Widgets coordinates Scale and UI to camera mapping matrix Striplets occlusion events

Outputs Interaction events Striplets coordinates

Page 75: Steerable Interfaces for Interactive Environments

75

VEIL – Vision Events Interpretation Layer

Striplets Engine

VEILS

P

O

D

Inputs Widgets coordinates Scale and UI to camera mapping matrix Striplets occlusion events

Outputs Interaction events Striplets coordinates

Page 76: Steerable Interfaces for Interactive Environments

76

Inputs Striplets UI-coordinates UI to camera mapping matrix Images from camera service

Outputs Occlusion events

Striplets Engine Service

Striplets Engine

VEILS

P

O

D

Page 77: Steerable Interfaces for Interactive Environments

77

Inputs Striplets UI-coordinates UI to camera mapping matrix Images from camera service

Outputs Occlusion events

Striplets Engine Service

Striplets Engine

VEILS

P

O

D

Page 78: Steerable Interfaces for Interactive Environments

78

Inputs Striplets UI-coordinates UI to camera mapping matrix Images from camera service

Outputs Occlusion events

Striplets Engine Service

Striplets Engine

VEILS

P

O

D

Page 79: Steerable Interfaces for Interactive Environments

79

VEIL – Vision Events Interpretation Layer

Striplets Engine

VEILS

P

O

D

Inputs Widgets coordinates Scale and UI to camera mapping matrix Striplets occlusion events

Outputs Interaction events Striplets coordinates

Page 80: Steerable Interfaces for Interactive Environments

80

Striplet-based slider

Page 81: Steerable Interfaces for Interactive Environments

81

Tracking the PDS

Tracking edges in the Hough space

+ Naturally robust to partial occlusions

- High computation cost

Line-segments-based tracking

+ Efficient quadrilateral detection

- Difficulties in handling occlusions

Page 82: Steerable Interfaces for Interactive Environments

82

Pushing vs. pulling the UI

Page 83: Steerable Interfaces for Interactive Environments

83

Results

0

0.2

0.4

0.6

0.8

1

1 2 3 4

Time performance:

Trial number

Normalized trial time

sipi XHX

Page 84: Steerable Interfaces for Interactive Environments

84

Performance• +- 180 deg of pan

• 1600 discrete positions (resolution)• 90 deg/s max pan speed reached in 0.75 s

• 90 deg of tilt• 500 discrete positions• 80 deg/s max tilt speed reached in 0.60s

Video Projector

Camera

Pan Stepper-motor

Tilt Stepper-motor

Control and power supply