User-Centric Design of a Vision System for Interactive Applications Stanislaw Borkowski, Julien Letessier, François Bérard, and James L. Crowley ICVS’06.

Slides:



Advertisements
Similar presentations
Steerable Interfaces for Interactive Environments Stanislaw Borkowski thesis director: James L. Crowley Jury: Institut National de Recherche en Informatique.
Advertisements

The Escritoire: a personal projected display for interacting with documents Mark Ashdown Peter Robinson University of.
9.5 Software Architecture
Midterm Several high 90s Average: 91% = A-. Project – Evaluation Plan See doc Exercise: plan for your evaluation now in- class!
UPnP Device Management Andre Bottaro France Telecom Group UPnP DM co-chairman End User Device Management panel Sunday, January 11th, 2009 CCNC'09.
CSE Design Lab – Milestone 2 James Hopkins Dave Festa Dennis O’Flaherty Karl Schwirz.
Background S.A.U.V.I.M. Semi - Autonomous Underwater Vehicle for
AceMedia Personal content management in a mobile environment Jonathan Teh Motorola Labs.
Wednesday, 24 June rd UKIBNET Workshop1 Distributing Cognition in the design of ubiquitous computers Chris Baber Pervasive Computing Group The University.
CS335 Principles of Multimedia Systems Multimedia and Human Computer Interfaces Hao Jiang Computer Science Department Boston College Nov. 20, 2007.
Interpret Application Specifications
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
Object-Oriented Analysis and Design
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
1 User Interface Design CIS 375 Bruce R. Maxim UM-Dearborn.
MACHINE VISION GROUP Multimodal sensing-based camera applications Miguel Bordallo 1, Jari Hannuksela 1, Olli Silvén 1 and Markku Vehviläinen 2 1 University.
What is the problem we are solving? How a conference aware participant manipulates media streams at the mixer The client is a UA (in sip) The server is.
Knowledge Systems Lab JN 8/24/2015 A Method for Temporal Hand Gesture Recognition Joshua R. New Knowledge Systems Laboratory Jacksonville State University.
A Survey on Context-Aware Computing Center for E-Business Technology Seoul National University Seoul, Korea 이상근, 이동주, 강승석, Babar Tareen Intelligent Database.
1. Human – the end-user of a program – the others in the organization Computer – the machine the program runs on – often split between clients & servers.
Chapter 10 Architectural Design
MVC pattern and implementation in java
Marcelo de Paiva Guimarães Bruno Barberi Gnecco Marcelo Knorich Zuffo
Real-Time Human Posture Reconstruction in Wireless Smart Camera Networks Chen Wu, Hamid Aghajan Wireless Sensor Network Lab, Stanford University, USA IPSN.
Multimedia Specification Design and Production 2013 / Semester 2 / week 8 Lecturer: Dr. Nikos Gazepidis
An Introduction to Software Architecture
CSE 303 – Software Design and Architecture
A Lightweight Platform for Integration of Resource Limited Devices into Pervasive Grids Stavros Isaiadis and Vladimir Getov University of Westminster
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Michael Lawo Using Wearable Computing Technology to Empower the Mobile Worker TNC 2009 Malaga Michael Lawo, Otthein Herzog, Peter.
Building Mobile Augmented Reality Services in Pervasive Computing Environment Hiroaki Kimura Eiji Tokunaga
ST01 - Introduction 1 Introduction Lecturer: Smilen Dimitrov Sensors Technology – MED4.
DEVS Namespace for Interoperable DEVS/SOA
material assembled from the web pages at
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Architectures of distributed systems Fundamental Models
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
Real-Time Cyber Physical Systems Application on MobilityFirst Winlab Summer Internship 2015 Karthikeyan Ganesan, Wuyang Zhang, Zihong Zheng.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Microelectronic Systems Institute Leandro Soares Indrusiak Manfred Glesner Ricardo Reis Lookup-based Remote Laboratory for FPGA Digital Design Prototyping.
1 Computing Challenges for the Square Kilometre Array Mathai Joseph & Harrick Vin Tata Research Development & Design Centre Pune, India CHEP Mumbai 16.
A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada INESC-ID.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
1 WS-GIS: Towards a SOA-Based SDI Federation Fábio Luiz Leite Júnior Information System Laboratory University of Campina Grande
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
SILKWeb: A Sketching Tool for Informal Web Page Design Mark Newman, James Landay, Francis Li, Kalpana Joshi July 9, 1998 C&C Research Labs, NEC
Human Factors in Mobile Computing By: Ed Leland EEL
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Outline Introduction Related Work System Overview Methodology Experiment Conclusion and Future Work.
Third International Workshop on Networked Appliance 2001 SONA: Applying Mobile Agent to Networked Appliance Control S.Aoki, S.Makino, T.Okoshi J.Nakazawa.
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
 System Requirement Specification and System Planning.
AMSA TO 4 Advanced Technology for Sensor Clouds 09 May 2012 Anabas Inc. Indiana University.
Papier-Mache: Toolkit Support for Tangible Input HCI Group University of California Scott R. Klemmer Jack Li James Lin DUB Group University of Washington.
A Semi-Automated Digital Preservation System based on Semantic Web Services Jane Hunter Sharmin Choudhury DSTC PTY LTD, Brisbane, Australia Slides by Ananta.
CIRP Annals - Manufacturing Technology 60 (2011) 1–4 Augmented assembly technologies based on 3D bare-hand interaction S.K. Ong (2)*, Z.B. Wang Mechanical.
European Monitoring Platform for Mapping of QoS and QoE
Classifications of Software Requirements
Implementing Localization
Software Design and Architecture
How to Build Smart Appliances?
Overview of AIGA platform
Implementation support
Architectures of distributed systems
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Implementation support
Presentation transcript:

User-Centric Design of a Vision System for Interactive Applications Stanislaw Borkowski, Julien Letessier, François Bérard, and James L. Crowley ICVS’06 New York, NY, USA January 5, 2006

2 Academic context PRIMA group (GRAVIR lab, INRIA) « Perception, Recognition and Integration for Interactive Environments » IIHM group (CLIPS lab, Univ. Grenoble) « Engineering in Human-Computer Interactions »

3 Outline Context: augmented surfaces User-centric approach in vision systems User-centric requirements Implementation SPODs, VEIL, Support services Conclusions & Future Work

4 credit: F. Bérard, J. Letessier Context : augmented surfaces Interacting with projected images... direct manipulation user collaboration mobility... is not realistic today limited, controlled conditions operator requirement software integration issues

5 Objectives Propose a client-centric approach design of perceptive input systems two classes of clients : end users realize an interaction task developers create an interactive application Application : design an input system address simple augmented surfaces feature vision-based, WIMP-like widgets (e.g. press-buttons) acheive the usability of a physical input device

6 Top-down design Determine client requirements consequences of HCI and SOA requirements user-centric / developer-centric functional / non-functional Service-oriented def : a service adds value to information SOA is a collection of communicating services Approach Overview

7 Developer requirements Abstraction : be relevant make computer vision invisible generalize the input Isolation : allow integration permit service distribution support remote access to services offer code reuse Contract : offer quality of service specify usage conditions determine service latency, precision, etc.

8 End-user requirements Typical for "real time" interaction Latency limits upper bound : 50 ms for coupled interaction lower bound : 1 s for monitoring applications Autonomy ideally, no setup or maintenance in practice, minimize task disruption Reliability / predictability either real-time or unusable reproducible user experience

Pragmatic approach Black-box services BIP (Basic Interconnection Protocol) BIP implementation ≈ SOA middleware service/service and service/application comm. goal 1 : performance connection-oriented (TCP-based) low latency (UDP extensions) goal 2 : easy integration service discovery (standards-based) implementations provided (C++, Java, Tcl) interoperability ≤ 100 lines of code

10 Our approach Abstraction, Isolation : use BIP advice to service developers Contract : nothing enforced recommend evaluation of hci-centric criteria Common ground allows to create SOA-based prototypes

11 Interactive widgets projected on a portable display surface

12 Luminance-based button widget S. Borkowski, J. Letessier, and J. L. Crowley. Spatial Control of Interactive Surfaces in an Augmented Environment. In Proceedings of the EHCI’04. Springer, 2004.

13 Touch detection Locate widget in the camera image Calculate mean luminance over the widget Update the state widget state

14 Robustness to clutter

15 Robustness to clutter

16 Assembling occlusion detectors

17 Assembling occlusion detectors

18 Striplet – the occlusion detector Gain x x y

19 Striplet – the occlusion detector x y

20 Striplet – the occlusion detector x y

21 Striplet-based SPOD SPOD – Simple-Pattern Occlusion Detector

22 Striplet-based button

23 Striplet-based slider

24 SPOD software components Camera Client Application Calibration GUI rendering GUI Striplets Engine VEIL SPODSPOD

25 VEIL – Vision Events Interpretation Layer Striplets Engine VEIL SPODSPOD Inputs Widgets coordinates Scale and UI to camera mapping matrix Striplets occlusion events Outputs Interaction events Striplets coordinates

26 VEIL – Vision Events Interpretation Layer Striplets Engine VEIL SPODSPOD Inputs Widgets coordinates Scale and UI to camera mapping matrix Striplets occlusion events Outputs Interaction events Striplets coordinates

27 VEIL – Vision Events Interpretation Layer Striplets Engine VEIL SPODSPOD Inputs Widgets coordinates Scale and UI to camera mapping matrix Striplets occlusion events Outputs Interaction events Striplets coordinates

28 Inputs Striplets UI-coordinates UI to camera mapping matrix Images from camera service Outputs Occlusion events Striplets Engine Service Striplets Engine VEIL SPODSPOD

29 Inputs Striplets UI-coordinates UI to camera mapping matrix Images from camera service Outputs Occlusion events Striplets Engine Service Striplets Engine VEIL SPODSPOD

30 Inputs Striplets UI-coordinates UI to camera mapping matrix Images from camera service Outputs Occlusion events Striplets Engine Service Striplets Engine VEIL SPODSPOD

31 VEIL – Vision Events Interpretation Layer Striplets Engine VEIL SPODSPOD Inputs Widgets coordinates Scale and UI to camera mapping matrix Striplets occlusion events Outputs Interaction events Striplets coordinates

32 SPOD-based calculator Video available at:

33 Conclusions We have presented Service-oriented approach Implementation Future work Different detector types More intelligent VEIL Integration to GML

34 Thank you for your attention

35 Assembling occlusion detectors

36 Striplet – the occlusion detector

37 Striplet – the occlusion detector

38 Striplet – the occlusion detector