21
On-Line Discovery of Hot Motion Paths D. Sacharidis 1 , K. Patroumpas 1 , M. Terrovitis 1 , V. Kantere 1 , M. Potamias 2 , K. Mouratidis 3 , T. Sellis 1 1 National Technical University of Athens, Greece 2 Boston University, U.S.A. 3 Singapore Management University, Singapore

On-Line Discovery of Hot Motion Paths

Embed Size (px)

DESCRIPTION

On-Line Discovery of Hot Motion Paths. D. Sacharidis 1 , K. Patroumpas 1 , M. Terrovitis 1 , V. Kantere 1 , M. Potamias 2 , K. Mouratidis 3 , T. Sellis 1 1 National Technical University of Athens, Greece 2 Boston University, U.S.A. 3 Singapore Management University, Singapore. outline. - PowerPoint PPT Presentation

Citation preview

On-Line Discovery of Hot Motion Paths

D. Sacharidis1, K. Patroumpas1, M. Terrovitis1,V. Kantere1, M. Potamias2, K. Mouratidis3, T.

Sellis1

1National Technical University of Athens, Greece2Boston University, U.S.A.

3Singapore Management University, Singapore

outline• problem formulation

– example

• motion paths– definition, example

• system setting– naïve method– our approach

• RayTrace algorithm• SinglePath strategy• experiments• conclusions

problemidentify hot motion paths followed by moving objects over a sliding window with guarantees

motion path•a directed line segment approximating object’s movementhotness•number of objects crossing a motion path within the windowguarantees•user-defined tolerance ε for approximating the location of an object at a given time

challenges•line segments are not known in advance, may change over time

– unlike counting frequencies of spatial areas

•find good motion paths: long and hot

problemexample

Trajectory of object 3

Trajectory of object 1

Trajectory of object 2Trajectory of object 4

consider 4 moving objects and their trajectories•assume tolerance ε in approximating positions•extract motion paths•calculate hotness•select hottest (hotness 2)

Tolerance: ε

motion pathsε

ε

(3)

(2)

(1)

(2)

hotness

motion pathsε

ε

(3)

(2)

(1)

(2)

hottestmotion pathsε

ε

motion pathdefinition

given tolerance ε a motion path papb is a directed line segment with the requirement that:

the motion path is a bounded piecewise linear approximation of the object’s movement at some time interval

there exists a time interval [ta, tb] such that for every λ [0, 1] the point p(λ) = pa + λ(pb-pa) is within distance ε to some object’s location at time ta + λ(tb-ta)

a motion path fits an object’s movement and an object crosses a motion path

a set of motion paths is covering for an object if at any time the object crosses exactly one of its paths

motion pathexample

ta th

x

tta th

x

t

εpa

pe

pb

pc

pg

ph

pf

pd

ta te tb=tg tc tf td th

x

t

pa

pe

pb

pc

pg

ph

pf

pd

ta te tb=tg tc tf td th

x

t

consider the trajectory of a single object moving in xassume tolerance εconsider four motion pathsthe red ones are covering

system settingobjects• move freely• have location aware devices (GPS, cell-tower/wifi-antenna

triangulation) with varying degrees of inaccuracy• limited processing ability and scarce battery life• communication channel with central coordinatorcoordinator• full processing ability• communication channel with every object

moving objects

...... ... ...

coordinator

finding hot motion pathsnaïve method•every object sends all its location updates to the coordinator

– too much communication overhead => drains battery life

•the coordinator exhaustively tries to fit the best motion paths– too much processing cost on a single site

our two-tiered approach•RayTrace algorithm

– simple low-cost algorithm that acts as a spatio-temporal filter– only when the object falls outside the filter an update occurs

•SinglePath strategy– motion path discovery algorithm using lightweight indexes– processes objects’ updates– sends feedback to objects at predefined epochs

RayTraceoverview

• executed by each object independently• modest requirements

– one-pass over streaming location updates– constant time (per update) and constant space

• maintains a Spatio-temporal Safe Area (SSA)– SSA guarantees that a valid motion path exists

• when the object falls outside the SSA– a motion path must be assigned for the previous time interval– a message is sent to the coordinator with the current state– feedback is received during the next epoch and RayTraces

starts over with a new SSA• subsequent location updates are buffered

RayTraceSSA

• positional updates are timepoints (locations with timestamps) accompanied with the measurement inaccuracy <pi, ti, εi>– for simplicity assume a fixed tolerance ε for all errors

• the extension to varying errors is straightforward• the case of handling uncertainty (ε,δ) is presented in the paper

• SSA is a spatio-temporal pyramid-like area defined in the xyt space that extends– from an anchored initial timepoint (provided by the coordinator

as feedback)– to a rectangle at the current timestamp

• SSA is updated/redefined at each timepoint

RayTraceupdating the SSA

• consider an initial timepoint <p0, t0>

• timepoint <p1, t1> arrives defining a square Q1 of side 2ε around it

• SSA’s end rectangle becomes this square

• next timepoint <p2, t2> with rectangle Q2 arrives

• SSA is expanded up to timestamp t2

• the end rectangle is produced by the intersection of the old with Q2

• if the intersection is empty a message is sent to the coordinator

xx

yy

tthp0;t0ihp0;t0i

xx

yy

tthp0;t0ihp0;t0i

hp1;t1ihp1;t1i

2²2²

2²2²

xx

yy

tthp0;t0ihp0;t0i

hp1;t1ihp1;t1i

Q1´ SSA jt1Q1´ SSA jt1

SSASSA

xx

yy

tthp0;t0ihp0;t0i

hp1;t1ihp1;t1i

hp2;t2ihp2;t2i

hp0;t0ihp0;t0i

xx

yy

tt

hp1;t1ihp1;t1i

hp2;t2ihp2;t2iQ2Q2

SSA jt2SSA jt2

xx

yy

tt

hp1;t1ihp1;t1i

hp2;t2ihp2;t2i

SSA0jt2 =Q2\ SSA jt2SSA0jt2 =Q2\ SSA jt2

hp0;t0ihp0;t0i

SinglePathoverview

• the coordinator receives updates from objects• executes the SinglePath strategy to extract a motion path for

each reporting object– may choose an already seen motion path or create a new one

• informs each object about the selected motion path

SinglePath uses lightweight indexes• a spatial index for storing the motion paths discovered

– grid indexing motion path edges

• a hash table for storing the hotness of each motion path• an event queue for handling sliding windows evictions

– if an object crosses path j at time t, an event <t+W,j> is en-heaped

– the event with the lowest timestamp tlow is always de-heaped and processed when the current time is greater than tlow

SinglePathprocessing updates

• objects send their states when they fall outside the SSA• state is the last valid SSA

– the initial timepoint– the end rectangle

• coordinator chooses a motion path based on SinglePath– must lie completely inside the SSA– reuse motion paths as much as possible => hotter motion

paths

the problem reduces to: • find a good endpoint inside the end rectangle

– always choose the hottest among candidates

SinglePathselecting good motion paths

a range query is issued in the grid for each end rectangletwo cases may occur:

(1) there are motion paths with the same startpoint and with endpoint inside the rectangle

choose hottest motion path

(2) there are some (maybe 0) startpoints inside the rectangleconsider intersections from other rectanglesintroduce artificial points

choose hottest startpoint

experiments• objects moving on the road network of

Athens– ~1000 nodes, 2000 edges

• objects randomly assigned to a node– objects move with an agility probability

10%– move at equal displacements, 10 meters– follow high traffic roads more frequently– reported positions have fixed error 1 meter

• simulation parameters– total 250 timestamps– window 100 timestamps– epoch 10 timestamps– 10,000 to 100,000 objects– tolerance 1 to 20 meters

experimentscompetitor:• we use an adapted streaming Douglas-Peucker algorithm for

compressing trajectories within tolerance• when the tolerance is exceeded a new motion path is inserted

– try to find few good segments, perform a range query around each endpoint augmented by the tolerance

• this violates the motion path requirements– discovered segments are not motion paths

• an indication of how well our method performsmeasures:• efficiency: we measure the size of the index

– how many motion paths are discovered

• quality: we measure how large and hot paths are– score = hotness * length

experimentsindex size versus

number of objectstolerance

experimentsscore of the top-10 hottest segments versus

number of objectstolerance

experimentsepoch processing time versus

number of objectstolerance

conclusions

• presented a two-tiered approach for discovering interesting movement patterns

• experimentally verified the handling of uncertainty and the discovery of an unknown road network

future work• objects learn more about current motion paths

– coordinator sends spatial information stored to objects

thank you!

http://web.dblab.ntua.gr