Title: On-Line Discovery of Hot Motion Paths
1On-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, Greece
- 2Boston University, U.S.A.
- 3Singapore Management University, Singapore
2outline
- problem formulation
- example
- motion paths
- definition, example
- system setting
- naïve method
- our approach
- RayTrace algorithm
- SinglePath strategy
- experiments
- conclusions
3problem
- identify hot motion paths followed by moving
objects over a sliding window with guarantees - motion path
- a directed line segment approximating objects
movement - hotness
- number of objects crossing a motion path within
the window - guarantees
- user-defined tolerance e 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
4problemexample
- consider 4 moving objects and their trajectories
- assume tolerance e in approximating positions
- extract motion paths
- calculate hotness
- select hottest (hotness ? 2)
5motion pathdefinition
- given tolerance e a motion path papb is a
directed line segment with the requirement that - the motion path is a bounded piecewise linear
approximation of the objects 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 e to some objects
location at time ta ?(tb-ta) - a motion path fits an objects 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
6motion pathexample
consider the trajectory of a single object moving
in x assume tolerance e consider four motion
paths the red ones are covering
7system setting
- objects
- 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 coordinator
- coordinator
- full processing ability
- communication channel with every object
8finding hot motion paths
- naïve method
- every object sends all its location updates to
the coordinator - too much communication overhead gt 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
9RayTraceoverview
- 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
10RayTraceSSA
- positional updates are timepoints (locations with
timestamps) accompanied with the measurement
inaccuracy ltpi, ti, eigt - for simplicity assume a fixed tolerance e for all
errors - the extension to varying errors is
straightforward - the case of handling uncertainty (e,d) 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
11RayTraceupdating the SSA
- consider an initial timepoint ltp0, t0gt
- timepoint ltp1, t1gt arrives defining a square Q1
of side 2e around it - SSAs end rectangle becomes this square
- next timepoint ltp2, t2gt 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
12SinglePathoverview
- 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
lttW,jgt is en-heaped - the event with the lowest timestamp tlow is
always de-heaped and processed when the current
time is greater than tlow
13SinglePathprocessing 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 gt hotter
motion paths - the problem reduces to
- find a good endpoint inside the end rectangle
- always choose the hottest among candidates
14SinglePathselecting good motion paths
- a range query is issued in the grid for each end
rectangle - two cases may occur
(2) there are some (maybe 0) startpoints inside
the rectangle consider intersections from other
rectangles introduce artificial points
(1) there are motion paths with the same
startpoint and with endpoint inside the rectangle
choose hottest motion path
choose hottest startpoint
15experiments
- 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
16experiments
- competitor
- 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 performs
- measures
- 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
-
17experiments
- index size versus
- number of objects
- tolerance
18experiments
- score of the top-10 hottest segments versus
- number of objects
- tolerance
19experiments
- epoch processing time versus
- number of objects
- tolerance
20conclusions
- 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
21thank you!http//web.dblab.ntua.gr