universidad de deusto.. eside making ubiquitous computing reality diego lz. de ipiña gz. de artaza...

32
Universidad de Deusto . . . . ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto [email protected] http://paginaspesonales.deusto.es/dipina Laboratory for Communications Engineering (LCE) Cambridge University Engineering Department England, UK AT&T Laboratories Cambridge Basque Government Education Department Most of the work presented was carried out with the support of:

Post on 18-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

Making Ubiquitous Computing Reality

Diego Lz. de Ipiña Gz. de ArtazaCátedra de Telefónica Móviles – Universidad de Deusto

[email protected]://paginaspesonales.deusto.es/dipina

Laboratory for Communications Engineering (LCE)Cambridge University Engineering Department

England, UK

AT&T LaboratoriesCambridge

Basque GovernmentEducation Department

Most of the work presented was carried out with the support of:

Page 2: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

IntroductionGoals:

build Sentient Spaces = computerised environments that sense & react

close gap between user and computer by using context make ubiquitous computing reality through Sentient

Computing

Sentient Computing = computers + sensors + rules: distributed sensors capture context, e.g. temperature, identity,

location, etc rules model how computers react to the stimuli provided by

sensors 3 phases: (1) context capture, (2) context interpretation and (3)

action triggering

To make viable widespread adoption of Sentient Computing, we propose:

location sensor deployable everywhere and for everyone middleware support for easier sentient application development:

rule-based monitoring of contextual events and associated reactions user-bound service lifecycle control to assist in action triggering

Page 3: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

TRIP: a Vision-based Location Sensor

TRIP (Target Recognition using Image Processing): identifies and locates tagged objects in the field of view of

a camera Requires:

off-the-shelf technology: cameras+PC+printer specially designed 2-D circular markers use of well-known Image Processing and Computer

Vision algorithms Cheap, easily deployable can tag everything:

e.g. people, computers, books, stapler, etc Provides accurate 3-D pose of objects within 3 cm and

2° error

“Develop an easily-deployable location sensor technology with minimum hardware requirements

and a low price”

Page 4: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

TRIPcode 2-D Marker

2-D barcode with ternary code

Easy to identify bull’s-eye:– invariant with respect to:

rotation perspective

– high contrast

2 16 bit code encoding rings:

– 1 sector synchronisation– 2 for even parity checking– 4 for bull’s-eye radius encoding– 39 = 19,683 valid codes

* 10 2011 221210001 TRIPcode of radius 58mm and ID

18,795

1

2 0

sync sector

radius encoding sectors

even-parity sectors

Page 5: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

Target Recognition ProcessStage 0: Grab Frame Stage 1: Binarization Stage 2: Binary Edge Detection

Stage 3: Edge Following & Filtering Stages 4-7: Ellipse Fitting, Ellipse Concentricity Test, Code Deciphering and POSE_FROM_TRIPTAG method

Ellipse params: x (335.432), y (416.361) pixel coords a (8.9977), b (7.47734) pixel coords (15.91) degreesBull’s-eye radius: 0120 (15 mm)TRIPcode: 002200000 (1,944)Translation Vector (meters): (Tx=0.0329608, Ty=0.043217, Tz=3.06935)Target Plane Orientation angles (degrees): (=-7.9175, =-32.1995, =-8.45592) d2Target: 3.06983 meters

Page 6: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

TRIP Sensor Adaptive Operation

TRIP ProcessingSAVING-MODE

TRIP ProcessingDEFAULT-MODE

TRIP ProcessingREAL-TIME-MODE

X frames withoutTRIPcode sightings

TRIPcodesighting

Z frames withoutTRIPcode sightings /full-image processing

timeout expired

Movement detected

TRIPcode sightingsin last X frames

TRIPcode sightingsin last Z frames

Full-image processing timeout expired

Page 7: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

TRIP Performance and Accuracy Results

Time Stage Decomposition in Time and Cost Percentage

0.540

0.579

5.305

9.193

14.817

34.581

0 10 20 30 40

Sta

ge

ID

time(ms)

Adaptive Thresholding

Edge Detection & Thinning

Edge Following & Filtering

Ellipse Fitting & Concentricity

Code Deciphering

POSE_FROM_TRIPTAG

53.19%

22.79%

14.14%

8.16%

(0.89%)

(0.83%) Total image parsing time:

65.0138 ms 15.4 fps in a 1.4 GHz AMD Athlon with

512 Mbytes.

110 120 130 140 150 160 170 180 190 2000

1

2

3

4

5

6

7

8

distance(cm)

err

or

in d

ista

nc

e (

cm

)

Errors of position

2030405060

slant (deg)

Page 8: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

TRIP Directory Service

Page 9: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

TRIP: a Distributed Sensor System

TRIP C++ library and TRIP Directory Service Java package wrapping the TRIP C++ library CORBA-based TRIParser component:

accepts video frames from distributed frame sources provides synchronous and asynchronous interfaces for video

parsing frame sources push frames using a token-based protocol for

image flow control pushes a TRIPevent per target sighting into a CORBA Notification

Channel:

struct TRIPevent { double timestamp; unsigned long cameraID; string TRIPcode; // code ternary representation TargetPosition position; // (xpos, ypos, zpos) vector TargetOrientation orientation; // (α, β, γ) angles};

Page 10: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

A Token-Based Flow Control Mechanism I

Token Generator

1

Token Generator

N

Frame Parser

parseFrame()

Frame Parser

parseFrame() DEMUX

Frame Source N

Frame Source 1

TRIPsighting Notification

Channel

pushFrame()

pushFrame()

pushEvent()

Frame Sink

pushFrame()

TRIP Parser Factory

1

N

pushFrame()

pushEvent()

TRIParser1

TRIParserN

Frame Source Factory1

Frame Source FactoryN

Page 11: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

A Token-Based Flow Control Mechanism II

TRIP Parser

Factory TRIP Parser Controller

Frame Source Factory

Frame Source

createFrameSource() new FrameSource()

createTRIParser() new TRIParser()

connectFrameSource (source)

getCamConfig()

getFrame (frameFormat)

I N I T I A L T O K E N

pushFrame (Frame)

T O K E N

startPushingFrames (I_TOKEN)

REPEAT

time

Page 12: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

ECA Rule Matching Service Sentient Applications respond to an Event-Condition-

Action (ECA) model: monitor contextual events coming from diverse sources correlate events to determine when a contextual situation

occurs: e.g. IF two or more people in meeting room + sound level

high THEN meeting on ineffective to force every app to handle same behaviour

separately

Solution ECA Rule Matching Service: accepts rules specified by the user in the ECA language

<rule> ::= {<event-pattern-list> => <action-list> } automatically registers with the necessary event sources notifies clients with aggregated or composite events or

executes actions when rules fire: aggregated event = new event summarizing a situation composite event = batch of events corresponding to a situation

Page 13: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

ECA Service Architecture Event Type

Repository

Inference Engine

Rule Registration

Event Reception

Notification Dispatcher

Action Dispatcher

CLIPS rules

Composite/ aggregated event

CLIPS facts

CLIPS facts

Action CLIPS facts

ECAServer

event query

event metadata+ source IOR

CORBA Structured

Events

ECA Rule

CORBA Structured

(Batch) Events

Action Execution

Event Source Registrations

Page 14: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

Building a Sentient Jukebox with ECA Service

within 15000 {/* Enforce events occur in 15 secs time span*/ query PCMonitor$logged_in(user ?userID, host ?hostID) and test(dayofweek = "Monday") and Location$presence(user ?userID) before /* a presence event must occur before following events */ ((PCMonitor$keyboard_activity(host ?hostID, intensity ?i) and test(?i > 0.3)) or (query WeatherMonitor$report(raining ?rainIntensity) and test(?rainIntensity > 0.2)))=> notifyEvent(Jukebox$play_music(?userID, ?hostID, "ROCK"));}

“If it is Monday, a lab member is logged in and either he is working or it is raining outside, then play some cheerful music to raise the

user’s spirits”

Page 15: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

Mapping from ECA language to CLIPS

(assert (rule (ruleID 0) (ruleRegTime 1005472984621)))(defrule rule0 (PCMonitor$logged_in (user ?userID) (host ?hostID) (timestamp ?time0#)) (test (eq (dayofweek) "Monday")) (Location$presence (user ?userID) (timestamp ?time1#)) (test (> ?time1# 1005472984621)) (test (> ?time1# (- (curtime) 15000))) (or (and (and (PCMonitor$keyboard_activity (host ?hostID) (intensity ?i) (timestamp ?time2#)) (test (> ?time2# 1005472984621)) (test (> ?time2# (- (curtime) 15000))) (test (> ?time2# ?time1#))) (test (> ?i 0.3))) (and (WeatherMonitor$report (raining ?rainIntensity) (timestamp ?time3#)) (test (> ?rainIntensity 0.2))))=> (bind ?currentTime# (curtime)) (bind ?factID0# (assert (Jukebox$play_music# 0 ?currentTime# ?userID ?hostID "ROCK"))) (notify-event ?factID0#))

Page 16: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

LocALE Framework Need to provide support for reactive behaviour of sentient

systems: e.g. user-bound service activation after aggregated event arrival

LocALE = CORBA-based solution to object lifecycle & location control:

hybrid of CORBA’s Object LifeCycle Service and Implementation Repository

addresses location-constrained service activation, deactivation and migration

adds mobility, fault-tolerance and load-balancing to objects in a location domain

generates permanent object references (independent of object network location)

undertakes transparent client request redirection upon object’s location change

useful for third-party object location controllers: e.g. “migrate the TRIP parser to another host when the owner of used

host logs in”

Page 17: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

Location-constrained Object Lifecycle Control Why is CORBA location transparency not always desirable?

sometimes want to control where objects are first located and then relocated

e.g. load-balancing or follow-me applications

LocALE provides apps with location-constrained object lifecycle-control:

apps specify on distributed object creation their initial location:

within a host, e.g. hostDN("guinness") any host in an spatial container (room), e.g. roomID("Room_1") in any location domain’s host, e.g. hostDN("ANY") or in one of a given set of hosts, e.g. hostGroup("heineken", "guinness")

… and restrictions under which an object can later be moved and/or recovered:

LC_CONSTRAINT(RECOVERABLE | MOVABLE) any host of location domain

LC_CONSTRAINT(RECOVERABLE_WITHIN_ROOM | MOVABLE_WITHIN_ROOM)

Page 18: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

LocALE Architecture

LocALE 3½-tier architecture

Type A Lifecycle Server

at Host 1

Lifecycle Manager

strongly-typed creation requests

LocALE Client 1

LocALE Client N

Type A Proxy Factory

Type X Proxy Factory

migration, removal & redirection requests

generic creation requests

lifecycle operations delegation … …

Type A Lifecycle Server

at Host N

Type X Lifecycle Server

at Host 1

Type X Lifecycle Server

at Host N

Page 19: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

LocALE Lifecycle Control Flow

Echo Service Client

Lifecycle Manager

Echo LCServer

guinness host

clone Echo_1

1

move_object(echo_1, “guinness”)

2

create_echo_object(“Echo_1”)

reply for 23

Echo LCServer

heineken host

Echo_1

deactivate_object()7

8 reply for 49

reply for 1

10 1st RPC: echo_1->(“Hi again”)

11

redirect message

12 client reissues RPC

transfer_state(clone_echo_1) 5

move_object(echo_1, clone_echo_1) 4

6STATE TRANSFER

Echo_1

Page 20: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

LCE Sentient Library I

Augments a conventional library system with context-awareness Not only can we know where a book is, but

also what other books are next to it and images of them

It works best for locations where not all books lie in the same location but they can be scattered through a building, e.g. research lab

Enables the automatic cataloguing process of books in a library Through video processing the library´s

database is updated, without user intervention

Page 21: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

LCE Sentient Library II

Page 22: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

LCE Sentient Library III

Video Frame Server

Video Capture Program

Video File Repository

TRIP Directory Server Book

JPEGs

Book Locator Agent

TRIP Video Frame Parser

Sentient Library Web Client

TRIPcode Database

Sentient Library

WebPages

Video File

Video File getFrame()

getTRIPcodeDetails()

saveTRIPcodeDetails()

Book Seen Best Frame

Book JPEG file

getTRIPcodeDetails()

processFrame()

Page 23: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

LCE Active TRIPboard Augments a whiteboard with interactive commands issued by placing

special ringcodes in view of a camera observing whiteboard

Activated by LocALE when a person enters the room where the whiteboard is located or through web interface

Registers rules with the ECA Rule Matching Server:

Location$TRIPevent(TRIPcode 52491, cameraID “MeetingRoomCam”) and Location$presence(user ?userID, room “LCE Meeting Room”) => notifyEvent(CaptureSnapshotEvent(“MeetingRoomCam”, ?userID))

By means of LocALE, application’s TRIParser component is: created in a load-balanced way by randomly selecting one host in a

hostGroup fault-tolerance by recreation of failed recogniser in another host

Page 24: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

Follow-Me Jukebox Provides mobile users with music from the nearest set

of speakers

MP3 decoder and player follow the user to his new location.

Uses TRIP as a real-time location and music selection device

Uses ECA Service to register contextual situations to be monitored

Uses LocALE’s migration support

Page 25: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

TRIP-enabled Teleporting I Monitors when a TRIPtag-wearing user

gets closer than one metre to a web-cam placed on top of a computer, not currently used. The service automatically displays the

desktop associated with that user through Virtual Network Computing (VNC)

When the user later moves in front of another terminal, the VNC desktop is automatically deactivated from the previous terminal and activated on the new one.

Page 26: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

TRIP-enabled Teleporting II

Page 27: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

TRIP-enabled Teleporting III/* RULE: notify when a user is spotted within 1 metre distance

of camera 0 and nobody is typing at host "cruzcampo" where the camera is attached. */

{ Location$TRIPevent(cameraID 0, TRIPcode ?userID, d2Target ?distance) and test("002" ~ ?userID) and test(?distance < 1.0) and ((not query PCMonitor$keyboard_activity(host "cruzcampo", intensity ?i, timestamp ?time0)) or (query PCMonitor$keyboard_activity(host "cruzcampo", intensity ?i, timestamp ?time0) and test (?i < 1.0) and test ((curtime - ?time0) > 180000))) /* > 3 min */=> notifyEvent(Sentient$Teleport(?userID, "cruzcampo"));}

Page 28: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

MobileEye Application presented by the University of Deusto CTME

(Cátedra de Telefónica Móviles) at MovilForum Aims to show how mobile communications and services

can be enriched by adding context awareness to them As mobile phones (camera phones) are always with us,

they can act as an eye through which we can obtain an enriched view of the world

Thanks to their increasing computational and sensorial capabilities, mobiles can sense and react to the environment stimuli (images, bluetooth broadcasts) and enable us simpler and more natural interactions with the object that surround us

We could buy a coke through the mobile, switch on the lights in our house, open the front-door, receive information about a painting in a museum, etc.

This application lies within a bigger ongoing project at the CTME named EMI^2 (Environment to Mobile Intelligent Interaction)

Page 29: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

MobileEye Concept

Page 30: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

MobileEye Implementation

MobileEye Server

captured image

<?xml version="1.0"?> <mobileeye> <state code="200"/> <code>61002</code> <descShort>Mobility</descShort> <descLong>Book about Mobile Agents</descLong> <url>http://www.deusto.es/library?book=123</url> </mobileeye>

Parsed image response in XML

Page 31: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

Reference

For more details about the work presented: Check my PhD dissertation: “Visual Sensing

and Middleware Support for Sentient Computing”

The dissertation PDF and source code of the TRIP system are available at:

http://paginaspersonales.deusto.es/dipina/cambridge

Page 32: Universidad de Deusto.. ESIDE Making Ubiquitous Computing Reality Diego Lz. de Ipiña Gz. de Artaza Cátedra de Telefónica Móviles – Universidad de Deusto

Universidad de Deusto

. . . . ESIDE

Conclusions Assortment of technologies to make Sentient

Computing available to everyone: TRIP 3-D location distributed sensor rule-based programming paradigm for sentient

applications LocALE object lifecycle- and location-control

middleware sentient applications developed as ‘proof of concept’Diego Lz. de Ipiña Gz. de Artaza

[email protected]://paginaspesonales.deusto.es/dipina

Laboratory for Communications Engineering (LCE)Cambridge University Engineering Department

England, UK

AT&T LaboratoriesCambridge

Basque GovernmentEducation Department