Design Implementation of a Wireless Video Surveillance System
Transcript of Design Implementation of a Wireless Video Surveillance System
Design & Implementation of a Wireless Design & Implementation of a Wireless Video Surveillance Systemy
Aakanksha Chowdhery*, Tan Zhang†, Victor Bahl*, Kyle Jamieson‡, Suman Banerjee†
*Microsoft Research ‡UCL/Princeton †UWisconsin Madison
Video Surveillance: Pervasive and UsefulVideo Surveillance: Pervasive and Useful
London & Beijing: 1 million cameras deployed
Intrusion detection – campus, airport, train stationCustomer analytics store toll booth parking garageCustomer analytics – store, toll booth, parking garageTraffic monitoring – cities, freeways
2
Wireless surveillance camerasWireless surveillance cameras
Easy to install
No need for wired backhaul to camera
Comprehensive coverage
How do we build a large‐scale wireless video
3
How do we build a large scale wireless video surveillance network?
Video Cameras overwhelm wireless capacity quicklydeo Ca e as o e e e ess capac ty qu c y
Wireless is a shared medium in scarce spectrum
Today’s wirelessSupports 20 cameras@1 Mbps streams
Wireless Coverage Area: 10,000 sq ft, q
Complete Surveillance coverage p gRequires 400 cameras@10 ft camera range 100 sq ft
Vigil: Wireless Video Surveillance SystemVigil: Wireless Video Surveillance System
Goals:Goals:
1. Maximize surveillance application accuracy1. Maximize surveillance application accuracy
2. Minimize wireless capacity usage
Techniques:Techniques:
Edge Redundancy Content-awareEdge Computing
Redundancy Suppression
Content-aware Traffic Scheduling
5
Vigil: Wireless Video Surveillance SystemVigil: Wireless Video Surveillance System
Goals:Goals:
1. Maximize surveillance application accuracy1. Maximize surveillance application accuracy
2. Minimize wireless capacity usage
Techniques:Techniques:
Edge Redundancy Content-awareEdge Computing
Redundancy Suppression
Content-aware Traffic Scheduling
6
Useful video content is sparse
Example: find a person of interest by face
Useful video content is sparse
Example: find a person of interest by face250 hours of video feed in busy office halls
1 f
2 faces, 3% >=3 faces, 1%
1 face, 16%
No faces, 80%
7
Less than 20% feed has people
Edge Computing NodeEdge Computing Node
Edge Computing Node detects queried objectsg p g q j
ControllerController
Edge ComputingNode
8
Vigil Architecture with Edge ComputingVigil Architecture with Edge Computing
F IDU l d!
ControllerQuery
Frame ID, Person Count
Upload!
ControllerQ y
9Frame ID,
Person CountFrame ID,
Person Count
Vigil only uploads relevant frames!
Vigil: Wireless Video Surveillance SystemVigil: Wireless Video Surveillance System
Goals:Goals:
1. Maximize surveillance application accuracy1. Maximize surveillance application accuracy
2. Minimize wireless capacity usage
Techniques:Techniques:
Edge Redundancy Content-awareEdge Computing
Redundancy Suppression
Content-aware Traffic Scheduling
10
Video Codecs compress frames temporallyVideo Codecs compress frames temporally
Motion suppressed by difference coding (H.264)
How can we compress frames from multiple cameras?
11
Compressing frames across camerasCompressing frames across cameras
Camera 1 Camera 2
Camera Cluster
How do we suppress redundant images between cameras in a cluster?
12
between cameras in a cluster?
Vigil’s Redundancy Suppression AlgorithmVigil s Redundancy Suppression Algorithm
Camera 1 Camera 2
Camera 2 hasFrame Index 1 2 3 4 5
Camera 1 0 0 0 0 0
Camera 2 has higher utility
Step 1: Frame Utility = Number of queried objects in frameCamera 2 3 3 3 3 3
p y q jStep 2: Select frames from camera 2
13
Vigil’s Redundancy Suppression AlgorithmVigil s Redundancy Suppression Algorithm
Camera 1 Camera 2
Camera 1 hasFrame Index 1 2 3 4 5
Camera 1 3 3 3 3 3
Camera 1 has higher utility
Step 1: Frame Utility = Number of queried objects in frameCamera 2 0 0 0 0 0
p y q jStep 2: Select frames from camera 1
14
Vigil’s Redundancy Suppression AlgorithmVigil s Redundancy Suppression Algorithm
Camera 1 Camera 2
Camera 1 hasFrame Index 1 2 3 4 5
Camera 1 3 3 3 3 3
Camera 1 has higher utility
Step 1: Frame Utility = Number of queried objects in frame
Camera 2 2 2 2 2 2
Step 1: Frame Utility Number of queried objects in frameStep 2: Re-identify objects from camera 2 in camera 1
15
Vigil’s Redundancy Suppression Algorithm: R id tifi tiRe-identification
Camera 1 Camera 2
Pixels of 2nd face Pixels of
Check if pixels
2nd face
Frame Index 1 2 3 4 5
Camera 1 3 3 3 3 3
Check if pixels map to same
physical location?
Step 1: Frame Utility = Number of queried objects in frame
Camera 2 2 2 2 2 2
Step 1: Frame Utility Number of queried objects in frameStep 2: Re-identify objects from camera 2 in camera 1
16
Vigil’s Redundancy Suppression AlgorithmVigil s Redundancy Suppression Algorithm
Camera 1 Camera 2
Upload onlyFrame Index 1 2 3 4 5
Camera 1 3 3 3 3 3
Upload only change frames
Step 1: Frame Utility = Number of queried objects in frameCamera 2 2 2 2 2 2
p y q jStep 2: Re-identify objects from camera 2 in camera 1Step 3: Upload frames from camera 1 17
Vigil’s Redundancy Suppression AlgorithmVigil s Redundancy Suppression Algorithm
Step 3: Upload only change frames
Frame Utility= Number of faces detected
1 1 2 2 3
Upload! Upload! Upload!Upload! Upload! Upload!
18
Vigil increases surveillance accuracy h i l it t twhen wireless capacity saturatesSingle cluster, 3 cameras, Medium activity of people
80%
100% Without Vigil Vigil
60%A
40%Accuracy
0%
20%
0%50 kbps 100 kbps 200 kbps 300 kbps
Available Wireless Capacity (kbps)
19100% accuracy = Upload all change framesVigil provides 1.7x accuracy for same wireless capacity!
Vigil increases surveillance accuracy when wireless capacity saturateswhen wireless capacity saturates
100%Single cluster, 3 cameras, High activity of people
80%
100%Without Vigil With Vigil
60%
40%Accuracy
20%
0%50 kbps 100 kbps 200 kbps 300 kbps
Available Wireless Capacity (kbps)
20
Available Wireless Capacity (kbps)
Vigil provides ≈1.7x accuracy for same wireless capacity!
Vigil: Wireless Video Surveillance SystemVigil: Wireless Video Surveillance System
Goals:Goals:
1. Maximize surveillance application accuracy1. Maximize surveillance application accuracy
2. Minimize wireless capacity usage
Techniques:Techniques:
Edge Redundancy Content-awareEdge Computing
Redundancy Suppression
Content-aware Traffic Scheduling
I ill li ti h21
Increases surveillance application accuracy when available wireless capacity is limited in camera clusters
Vigil: Wireless Video Surveillance SystemVigil: Wireless Video Surveillance System
Goals:Goals:
1. Maximize surveillance application accuracy1. Maximize surveillance application accuracy
2. Minimize wireless capacity usage
Techniques:Techniques:
Edge Redundancy Content-awareEdge Computing
Redundancy Suppression
Content-aware Traffic Scheduling
P i iti l t ith bj t22
Prioritizes camera clusters with objects relevant to query
Hybrid surveillance-access networkHybrid surveillance access network
Reuse bandwidth savings to provide Wi-Fi access
F ID
g p& recoup the surveillance network cost
Controller
Frame ID, Person Count
Controller WiFi traffic
WiFi AP
WiFi traffic
WiFi t ffi
23Frame ID,
Person CountFrame ID,
Person Count
WiFi traffic
System DeploymentSystem Deployment
Whitespaces in MSR UWisconsin; Wi-Fi in UCLWhitespaces in MSR, UWisconsin; Wi Fi in UCL- Using a 802.11 baseband protocol- Integrated frequency translator to operate at UHF bandg q y p
24
System Deployment at Microsoft ResearchSystem Deployment at Microsoft Research
25
Related workRelated work
CloudletsCloudletsVM-based Cloudlets (Pervasive Computing ’09)Dynamic offloading of mobile apps – Maui (MobiSys’10),Gabriel (MobiSys’14)
Cloud-based video surveillance systemsWired - IBM’s Smart Surveillance System (’05)Wireless Dropcam ships video to cloudWireless - Dropcam ships video to cloud
Video Compression algorithmsMPEG-4 H 264 eliminate redundancy across framesMPEG-4, H.264 eliminate redundancy across framesImage similarity - Re-identification, Perceptual hashing
Vision analytic algorithms on MobileVision analytic algorithms on MobileHarr Cascade based face detection – Glimpse (MobiSys’14)SIFT based object detection- CarSafe (MobiSys’13)
26
ConclusionsConclusions
Vigil’s edge computing provides at least 5x reduction in frames to be uploaded
Vigil’s redundancy suppression provides 1.7xVigil s redundancy suppression provides 1.7x surveillance accuracy when available wireless capacity is limitedcapacity is limited
Vigil’s content a are traffic sched ling ploadsVigil’s content-aware traffic scheduling uploads 25% more objects relevant to the user’s query
27