SurroundSense: Mobile Phone Localization via Ambience

Download Report

Transcript SurroundSense: Mobile Phone Localization via Ambience

SurroundSense: Mobile Phone
Localization via Ambience
Fingerprinting
MARTIN AZIZYAN, IONUT CONSTANDACHE, ROMIT
ROY CHOUDHURY
Presented by Lingfei Wu
Outline






Introduction
SurroundSense Architecture
System Design
Implementation
Evaluation
Conclusion
Introduction
Notion of location

Application of logical
localization



Physical coordinates(latitude/longitude)
Logical labels(like Starbucks, Mcdonalds)
Many applications based on logical location
Introduction



Physical coordinate can be reversed to logical location.
However, it often causes error !
Why not compute logical location directly?
Relative work

Active RF



Passive RF


Install special hardware
Ultrasound, Bluetooth
GPS, GSM or WIFI based
Behavior Sensing

Imaging matching
1. Lack accuracy
2. Need pre-installed infrastructure
Motivation

Combine effect of ambient sound, light, color, user
motion

Sound (microphone)


Light / Color (camera)


Wal-Mart VS McDonald
Place may not be unique based on any one attribute


Different thematic light, colors and floors.
Human movement (accelerometer)


Starbucks VS Bookstore
The combination can be unique enough for localization
In this paper, we propose SurroundSense for logical
Starbucks
Bookstore
localization.
Wal-Mart
McDonald’s
SurroundSense Architecture
Candidate list
1.Xxx
2.Yyy
3.zzz
1.Xxx
2.Yyy
1.Xxx
2.Yyy
1.Xxx
2.Yyy
1.Xxx
System Design

Fingerprint generation





Fingerprinting sound
Fingerprinting motion using accelerometers
Fingerprinting color/light using cameras
Fingerprinting Wi-Fi
Fingerprint matching




Wi-Fi filter
Sound filter
Motion filter
Color/light Match
Fingerprinting sound
Normalized
occurrence count
Convert signals to time domain
amplitude value

50
0
-50
time


time
Normalized
amplitude value
100 normalized values as feature of sound
Similarity of fingerprints

Compute 100 pair-wise distance between test fingerprint
and all candidate fingerprint
Dim
1
2
3
…
…
100
A
0.1
0.2
0.1
…
…
0.05
B
0.6
0.3
0.2
…
…
0.1
Fingerprinting Sound

Unreliable to be a matching
scheme



Sound from the same place
can vary over time.
Only use as a filter
If distance > threshold τ
then discard from the
candidate list
Fingerprinting Motion

Use support vector machine(SVM) as classifier
Raw data
SVM


1
moving
-1
stationary
Sequence of states as user’s moving pattern
Movement is prone to fluctuation


In a clothing store, Some users browse for a long time
while others purchase clothes in haste.
Only use as a filter
Fingerprinting Motion

Compute motion fingerprint: Ratio = tmoving / tstatic



Bucket 1: 0.0 <= Ratio <= 0.2 Sitting (cafe)
Bucket 2: 0.2 <= Ratio <= 2.0 Browsing (clothing)
Bucket 3: 2.0 <= Ratio <= ∞ Walking (grocery)
Sitting
Browsing
Walking
Fingerprinting Color / Light


Thematic color and lighting in different stores
Where to capture the picture?



random picture of surrounding
floor
Advantages of taking floor pictures




Privacy concern
Less noisy
Rich diversity in floor color
Easy to obtain
too much noise
Fingerprinting Color / Light

How to extract colors and light intensity?



RGB
too much noise
HSL(Hue-Saturation-Lightness)
Find color cluster and its size using K-means
clustering algorithm
k=2
k-mean
clustering
k++
no
sk-sk-1 < t
yes
Bean Trader’s Coffee shop
< c1, c2 …, ck >
sk: the sum of
distance from
all pixels to their
(own cluster’s)
centroid.
t: convergence
threshold
Fingerprinting Color / Light

Similarity of fingerprints

Assume C1 = {c11, c12, …, c1n}; C2 = {c21, c22, …, c2m}
distance of centroid

Total size in C1 or C2
Fingerprint matching

The candidate list with maximum similarity is
declared to the matching fingerprint
Fingerprinting Wi-Fi

Wi-Fi fingerprint

Record MAC address from APs every 5 second
Fingerprint tuple:
<{AP1_MAC_Addr, AP1_fraction_time},
{AP2_MAC_Addr, AP2_fraction_time},
{AP3_MAC_Addr, AP3_fraction_time}>
Fingerprinting Wi-Fi

Similarity of fingerprints
fraction of time
M: union of MAC address of fingerprints f1 and f2

Use as filter/matching module


In the absence of light/color, we use it as matching
module.
Accuracy depend on location of shops.
Implementation

Client and server



Client: Nokia 95 phones using Python as client
Server: Matlab and Python code and some data
mining tools for fingerprinting algorithms.
Fingerprint database


Labor-intensive war-sensing at 51 stores
Store location: 46 business location in
university town, 5 location in India
Implementation
Evaluation

SurroundSense(SS) test environment



War-sensed 51 shops organized in 10 clusters
4 students visited the first nine clusters in university
town, while 2 students visited the tenth cluster in India.
4 localization models:




Wi-Fi only (Wi-Fi)
Sound, Accelerometer, Light and color ( Snd-Acc-Lt-Clr)
Sound, Accelerometer, Wi-Fi (Snd-Acc-Wi-Fi)
SurroundSense (SS)
Evaluation – Per-Cluster Accuracy
Similar hardwood
No Wi-Fi
floor in strip mall Same AP
False negative
Restaurant
Snd and Acc
Best represented
Evaluation – Per-Shop Accuracy

To understand the localization accuracy on a per-shop basis
30% shops
47% shops
SS: 92%
Snd-Acc-WiFi:
92%
Snd-Acc-Lt-Clr:
75%
WiFi: 75%
Evaluation – Per-User Accuracy

Simulate 100 virtual user, each assign 4~8 stores from cluster 1~9
Evaluation – Per-Sensor Accuracy

Hand-picked 6 samples to exhibit the merits and
demerits of each sensor
Number of shops left
after special filter
false negative
Percentage localized
using special sensors
Conclusion



Presented SurroundSense, a non-conventional
approach for logical localization.
Created fingerprints about ambient sound, light,
color, movement and Wi-Fi and match them with
fingerprint database to realize accurate logical
localization.
The evaluation achieved an average location
accuracy of over 85% using all sensors.
Discussion




The GPS 10 m, Wi-Fi and GSM 40m and 400m respectively.
Why not use Wi-Fi to get initial location instead of using
GSM?
Support vector machines (SVM), K-means clustering
algorithm are used in paper, do you have any better
machine learning methods? Such as Kalman filter, Particle
filter, and Wavelet Transform?
Can other sensors help? Such as compass and Bluetooth?
Energy consideration? Non-business location?