Target Tracking
Target tracking problem• Problem statement
– A varying number of targets• Arise at random in space and time• Move with continuous motions• Persist for a random time and possibly disappear
– Positions of targets are sampled at random intervals– Measurements are noisy and
• Detection probability < 1.0• False alarms
• Goal: detect, alert, and track for each target
Frisbee model
Issues in Frisbee model
• Power savings with wake-up– Can be waked up by neighbors– Be able to form a “wakeup wavefront” that precedes
the target• Localized algorithm for defining the Frisbee
boundary– Each node autonomously decide if it is in the current
Frisbee– Adaptive fidelity
Sensing model• Sensor detection model
– Object always detected in rage R-e
– Object never detected out of range R+e
– Object possibly detected in range [R-e, R+e]
– e≈ 0.1R
ee R
Comments:• Binary detection model is most simple and reliable.• Location resolution is the sensing range for one sensor,
however, by combining multiple sensors, resolution is improved significantly.
• The sensing range don’t have to be circular.
Sensing modelWe express the general sensing model We express the general sensing model SS at at an arbitrary point an arbitrary point p p for a sensor for a sensor s s as:as:
where where d(s,p)d(s,p) is the Euclidean distance between the is the Euclidean distance between the sensor sensor ss and the point and the point pp, and positive constants , and positive constants and and K K are sensor technology dependent parametersare sensor technology dependent parameters
A Cooperative tracking algorithm• When the object enters the region where multiple
sensors can detect it, its position is within the intersection of the overlapping sensing ranges.
• Algorithm:– Each node records the duration for which the object is in
its range.– Neighboring nodes exchange these times and their
locations.– For each point of time, the object’s estimated position is
computed as the weighted average of the detecting nodes’ locations.
– A line fitting algorithm is run on the resulting set of points.
Weight assignments
Sensors that are closer to the path of the target will stay in sensor range for a longer duration.
Weight assignments• Equal weight• Proportional weight (r)
• Logarithmic weight
22 ))1((25.0
1
ftvRw
i
i
)1ln( ii tw R: sensor radiusv: estimated speedti: detection durationf: sampling frequency
Tracking methods
• One sensor at a time– Each time, only the best sensor conducts tracking
• Minimal sensor (binary) model– 1: target in range– 0: target out of range
• Hierarchical method, clusters– Acoustic sensors (delay-based collaboration)– More than 3 sensors track a target jointly
• Tree-based group collaboration
IDSQ• Information-driven sensor query• Procedures
– Each sensor performs detection by comparing measurement with a threshold (aka, likelihood ratio test)
– Detecting nodes elect a leader– The leader suppresses the other nodes to
prevent multiple tracks for the same target– The leader initializes the belief state and
reports the sensory data to the sink
IDSQDETECTION
message
IDSQ
TimestampLikelihood ratio
IDSQ
SUPPRESSION message
IDSQ
HANDOFF message
New leader reports sensory data to sink
Acoustic target trackingContext
– Delay based sound source locating algorithm, requires large number of redundant sensors for accuracy
– Tiny wireless sensors to real-world acoustic tracking applications
– Tracking only impulsive acoustic signals, such as foot steps, sniper shots, etc. No concept of tracking motion
Acoustic target tracking
• Two subsystems– Acoustic target tracking subsystem– Communication subsystem
System Overview• Acoustic target tracking subsystem
Sensor (mica motes)
Cluster Head (mono-board computer)
Sensors belong to clusters with singular cluster head.
Cluster head knows the locations of its slave sensors. Raw data gathered from sensors are processed in cluster head to generate localization results
Acoustic target tracking subsystem
• Reference-broadcast synchronization (RBS)– Physical layer broadcast
RBS
• Reference broadcasts do not have an explicit timestamp
• Receivers use reference broadcast’s arrival time as a point of reference for comparing nodes’ clocks
• Receivers synchronize with one another using the message’s timestamp (which is different from one receiver to another)
RBS illustration
A
1
3
2
4
Transmitter A broadcasts a reference packet to two receivers (e.g., 1 and 2)
Each receiver records the time that the reference was received, according to its local clock
The receivers (1 and 2) exchange their observations
Cross Correlation (to find out delays)Detect interesting sound
ClusterHead
Broadcast sound signature
Cross-correlation to detect local arrival time
SlaveSensor
Report local arrival time
Locate sound source location
Sensor (mica motes)
Cluster Head (mono-board computer)
Sensors belong to clusters with singular cluster head.
Cluster head knows the locations of its slave sensors. Raw data gathered from sensors are processed in cluster head to generate localization results
Final position fixed
Communication subsystem
• Quality-driven redundancy suppression and contention resolution (QDR)
• Overlapping of clusters’ monitoring areas (redundant areas)
• CSMA MAC
interval: time unitQ: 0 is the highest quality
Sink/Pursuer
Cluster Head
ScenarioSensor
Router
Cluster Head
Sink/Pursuer
Communication Subsystem: route back the reports generated by cluster heads
to sink
Sinkcluster covered area
router (mica motes)
cluster head
Multi-parent sink tree routing
Dynamic convoy tree-based collaboration (DCTC)
• Hierarchical (tree)• Refer to relevant slides for details
references• K. Mechitov, S. Sundresh, Y. Kwon, G. Agha, “Cooperative
Tracking with Binary-Detection Sensor Networks,” Technical Report UIUCDCS-R-2003-2379, Computer Science, UIUC, Sept. 2003
• Juan Liu, Jie Liu, James Reich, Patrick Cheung, Feng Zhao: Distributed Group Management for Track Initiation and Maintenance in Target Localization Applications. IPSN 2003: 113-128
• Qixin Wang, Wei-Peng Chen, Rong Zheng, Kihwal Lee, and Lui Sha, Acoustic Target Tracking Using Wireless Sensor Devices, Proc. of the 2nd Workshop on Information Processing in Sensor Networks (IPSN03), April 2003
• Fine-Grained Network Time Synchronization using Reference Broadcasts, Jeremy Elson, Lewis Girod and Deborah Estrin, In Proceedings of the Fifth Symposium on Operating Systems Design and Implementation (OSDI 2002)
Sensor coverage and sleeping
Assumption• Sensing effectiveness diminishes as
distance increases (monotonic)E.g.,
Homogeneous sensor nodes Non-directional sensing technology Centralized computation model
Coverage FormulationHow well can the field be
observed ?Worst Case Coverage: Maximal Breach Path Best Case Coverage: Maximal Support Path
The “paths” are generally not unique. They quantify the best and worst case observability (coverage) in the sensor field.
Maximal Breach Path (PB)Given: Field A instrumented with sensors; areas I
and F.
Problem: Identify PB, the maximal breach path in S, starting in I and ending in F.
PB is defined as a path with the property that for any point p on the path PB, the distance from p to the closest sensor is maximized.
Voronoi diagram
• The plane is partitioned by assigning every point in the plane to the nearest site
Voronoi diagram
• A Voronoi Line consists of points which are equidistant to two sites in the plane.
Enabling Step: Voronoi Diagram
By construction, each line-segment maximizes distance from the nearest point (sensor).
Consequence: Path of Maximal Breach of Surveillance in the sensor field lies on the Voronoi diagram lines.
Graph-Theoretic FormulationGiven: Voronoi diagram D with
vertex set V and line segment set L and sensors S
Construct graph G(N,E): • Each vertex viV corresponds
to a node ni N
• Each line segment li L
corresponds to an edge ei E
• Each edge eiE, Weight(ei) = Distance of li from closest sensor sk S
Formulation: Is there a path from I to F which uses no edge of weight less than K?
Finding Maximal Breach Path
Algorithm
1. Generate Voronoi Diagram2. Apply Graph-Theoretic
Abstraction3. Search for PB
Check existence of path I --> F using binary search and BFS
Delaunay triangulation• The Delaunay triangulation of a point
set is a collection of edges satisfying an "empty circle" property
• For each edge we can find a circle containing the edge's endpoints but not containing any other points
Delaunay TriangulationThe Delaunay triangulation is a triangulation which is equivalent to the nerve of the cells in a Voronoi diagram
Maximal Support PathGiven: Delaunay Triangulationof the sensor nodesConstruct graph G(N,E): The graph is dual to the Voronoi
graph previously describedFormulation: what is the path
from which the agent can best be observed while moving from I to F? (The path is embedded in the Delaunay graph of the sensors)
Solution: Similar to the max breach algorithm, use BFS and Binary Search to find the shortest path on the Delaunay graph.
I F
PS
PEAS: probing environment and adaptive sleeping
Basic Approach and assumption
• Exploit the redundancy– Keep a necessary subset of nodes working;
turn off others into sleeping– Sleeping nodes replace failed ones as
needed• Assume nodes can control the
transmitting power to reach a given radius– Variable tx power available in Berkeley
motes
Probing Environment• Each node sleeps for
a random time ts– ts follows an
exponential distribution f(ts) = e- ts
• The PROBE message is within a radius Rp (given by applications)– Rp < maximum tx
range Rt• Working nodes send
back REPLY when hearing the PROBE (also within radius Rp)
sleeping probing
working
Broadcast a PROBE within Rp(probing range)
Upon hearing a REPLY(, probing rate, is adjusted)
No REPLY is heard
Design rationale
• Adjacent working nodes keep appropriate distances (at least Rp)– Redundancy in sensing and communicating
function at appropriate levels• Probing avoid per-neighbor state about
topology information maintenance• Randomized sleeping times
– Spread over time to reduce “gap”, avoid prediction of a working node’s active time
Adaptive Sleeping• Goal: keep the aggregate PROBE rate on a
desired level _d (specified by the application)– independent from node densities at different locations,
over time• Probing rate decides how quick a dead node can
be replaced– Unnecessary overhead if too frequent – Long gaps if too slow
• Basic idea– working node measures the aggregate PROBE rate – piggybacks the info in REPLY– probing nodes adjust their rates accordingly.
How it works• A working node keeps
– Counter C– Last measurement time t0
• Increase the counter each time a PROBE is heard
• Calculate aggregate PROBE rate _a and includes it in REPLYs
• Each probing neighbor adjusts its rate accordingly
Ts Time
K wakeups
…
Measure aggregate rate: _a = K / (t - t0)
t0 t
Each probing one adjusts: _new = (_d / _a )
Example: An application wants _d = 6 times/min. Working node A has 5 sleeping neighbors, each probes at =6. Node A measures aggregate _a = 30. Each sleeping one adjusts to _new = 6(6/30)=1.2, thus new _a = 6
Maximum distance between working neighbors
• Working node A puts nodes in cell 4, 5, 6 into sleep
• To put node C in cell 2 into sleep, node B’s maximum distance to A is (1+5)Rp– Otherwise, C will be working
• When there’s at least one node in each cell, distance between working neighbors is bounded
• Theorem 3.1:when Rt > (1+5)Rp, and conditions in Blough’s Theorem 2 hold (mobicom ’02), working nodes are connected asymptotically.
A
Rp
C
BC
1
2
3
4 5
6
references• Seapahn Meguerdichian, Farinaz Koushanfar, Miodrag
Potkonjak, Mani Srivastava. "Coverage Problems in Wireless Ad-Hoc Sensor Networks." IEEE Infocom 2001, Vol. 3, pp. 1380-1387, April 2001.
• Seapahn Meguerdichian, Farinaz Koushanfar, Gang Qu, Miodrag Potkonjak. "Exposure in Wireless Ad Hoc Sensor Networks." Procs. of 7th Annual International Conference on Mobile Computing and Networking, pp. 139-150, July 2001
• Fan Ye, Gary Zhong, Jesse Cheng, Songwu Lu, Lixia Zhang, "PEAS: A Robust Energy Conserving Protocol for Long-lived Sensor Networks", in ICDCS'03, 2003