droidcon india 2011 talk

61
Outline Introduction Diving in Additional Footage tagin! Indoor Location Tagging Engine Primal Pappachan @primalpop November 18, 2011

Upload: primal-pappachan

Post on 29-Jun-2015

391 views

Category:

Technology


0 download

DESCRIPTION

Indoor Location Tagging Engine in Android

TRANSCRIPT

Page 1: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

tagin!Indoor Location Tagging Engine

Primal Pappachan

@primalpop

November 18, 2011

Page 2: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

IntroductionDefinitionPresent and the FutureUsesStory Time

Diving inBefore jumping inHow it works?Adding it to your LBS application

Additional FootageFeatures of the algorithmChallengesBenchmarking ToolsDemoCredits

Page 3: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

TAG YOUR LOCATION!

I Location Tagging

I WiFiI LBSI Open Source

Page 4: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

TAG YOUR LOCATION!

I Location TaggingI WiFi

I LBSI Open Source

Page 5: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

TAG YOUR LOCATION!

I Location TaggingI WiFiI LBS

I Open Source

Page 6: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

TAG YOUR LOCATION!

I Location TaggingI WiFiI LBSI Open Source

Page 7: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

TAG YOUR LOCATION!

I Location TaggingI WiFiI LBSI Open Source

Page 8: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SCRATCHING WHERE IT ITCHES

PresentI GPS

I Cellular TriangulationI RFID

Requisties

I Infrastructure ReuseI UbiquitiousI Common standard

Page 9: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SCRATCHING WHERE IT ITCHES

PresentI GPSI Cellular Triangulation

I RFID

Requisties

I Infrastructure ReuseI UbiquitiousI Common standard

Page 10: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SCRATCHING WHERE IT ITCHES

PresentI GPSI Cellular TriangulationI RFID

Requisties

I Infrastructure ReuseI UbiquitiousI Common standard

Page 11: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SCRATCHING WHERE IT ITCHES

PresentI GPSI Cellular TriangulationI RFID

Requisties

I Infrastructure Reuse

I UbiquitiousI Common standard

Page 12: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SCRATCHING WHERE IT ITCHES

PresentI GPSI Cellular TriangulationI RFID

Requisties

I Infrastructure ReuseI Ubiquitious

I Common standard

Page 13: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SCRATCHING WHERE IT ITCHES

PresentI GPSI Cellular TriangulationI RFID

Requisties

I Infrastructure ReuseI UbiquitiousI Common standard

Page 14: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SCRATCHING WHERE IT ITCHES

PresentI GPSI Cellular TriangulationI RFID

Requisties

I Infrastructure ReuseI UbiquitiousI Common standard

Page 15: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SCRATCHING WHERE IT ITCHES

PresentI GPSI Cellular TriangulationI RFID

Requisties

I Infrastructure ReuseI UbiquitiousI Common standard

Page 16: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

FOR

What

I

I

I

I

I

Whom

I

I

Page 17: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

HOW IT ALL STARTED

Page 18: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

HOW IT ALL STARTED

Page 19: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

HOW IT ALL STARTED

Page 20: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

KEYWORDS

I Fingerprint

I URNI Uniform Resource NameI Rank Distance

Page 21: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

KEYWORDS

I Fingerprint

I URNI Uniform Resource Name

I Rank Distance

Page 22: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

KEYWORDS

I FingerprintI URNI Uniform Resource Name

I Rank Distance

Page 23: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

KEYWORDS

I FingerprintI URN

I Uniform Resource Name

I Rank Distance

Page 24: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

WORKING PRINCIPLE

Upon an urn request, tagin! engine does the following1. Scan for a fingerprint

2. Check for neighbours3. If found, merge the fingerprint4. If no neighbours, create a new URN5. Return the (merged or newly created) URN

Page 25: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

WORKING PRINCIPLE

Upon an urn request, tagin! engine does the following1. Scan for a fingerprint2. Check for neighbours

3. If found, merge the fingerprint4. If no neighbours, create a new URN5. Return the (merged or newly created) URN

Page 26: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

WORKING PRINCIPLE

Upon an urn request, tagin! engine does the following1. Scan for a fingerprint2. Check for neighbours3. If found, merge the fingerprint

4. If no neighbours, create a new URN5. Return the (merged or newly created) URN

Page 27: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

WORKING PRINCIPLE

Upon an urn request, tagin! engine does the following1. Scan for a fingerprint2. Check for neighbours3. If found, merge the fingerprint4. If no neighbours, create a new URN

5. Return the (merged or newly created) URN

Page 28: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

WORKING PRINCIPLE

Upon an urn request, tagin! engine does the following1. Scan for a fingerprint2. Check for neighbours3. If found, merge the fingerprint4. If no neighbours, create a new URN5. Return the (merged or newly created) URN

Page 29: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

WORKING PRINCIPLE

Upon an urn request, tagin! engine does the following1. Scan for a fingerprint2. Check for neighbours3. If found, merge the fingerprint4. If no neighbours, create a new URN5. Return the (merged or newly created) URN

Page 30: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

IN THE LANGUAGE OF DROID

I getURN()

I getNeighbours(Fingerprint fp)I mergeFingerprint(Fingerprint fp, stored fingerprint id)I pushFingerprint(URN id, changevector[])

Page 31: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

IN THE LANGUAGE OF DROID

I getURN()I getNeighbours(Fingerprint fp)

I mergeFingerprint(Fingerprint fp, stored fingerprint id)I pushFingerprint(URN id, changevector[])

Page 32: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

IN THE LANGUAGE OF DROID

I getURN()I getNeighbours(Fingerprint fp)I mergeFingerprint(Fingerprint fp, stored fingerprint id)

I pushFingerprint(URN id, changevector[])

Page 33: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

IN THE LANGUAGE OF DROID

I getURN()I getNeighbours(Fingerprint fp)I mergeFingerprint(Fingerprint fp, stored fingerprint id)I pushFingerprint(URN id, changevector[])

Page 34: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

IN THE LANGUAGE OF DROID

I getURN()I getNeighbours(Fingerprint fp)I mergeFingerprint(Fingerprint fp, stored fingerprint id)I pushFingerprint(URN id, changevector[])

Page 35: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

LOCAL VS GLOBAL

I Location based Preferences

I Indoor mapping and/or Wayfinding

Page 36: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

LOCAL VS GLOBAL

I Location based PreferencesI Indoor mapping and/or Wayfinding

Page 37: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

LOCAL VS GLOBAL

I Location based PreferencesI Indoor mapping and/or Wayfinding

Page 38: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

GETTING THE FEET WET

1. Download the latest version of tagin! from launchpad

2. Set up the tagin! engine as a library project for your LBSapplication 1

3. Register a Broadcast Reciever for Tagin! URN4. Start the service - Set number of runs and interval between

them5. Get the URN from Broadcast Reciever

1Edit the Android Manifest file of the project

Page 39: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

GETTING THE FEET WET

1. Download the latest version of tagin! from launchpad2. Set up the tagin! engine as a library project for your LBS

application 1

3. Register a Broadcast Reciever for Tagin! URN4. Start the service - Set number of runs and interval between

them5. Get the URN from Broadcast Reciever

1Edit the Android Manifest file of the project

Page 40: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

GETTING THE FEET WET

1. Download the latest version of tagin! from launchpad2. Set up the tagin! engine as a library project for your LBS

application 1

3. Register a Broadcast Reciever for Tagin! URN

4. Start the service - Set number of runs and interval betweenthem

5. Get the URN from Broadcast Reciever

1Edit the Android Manifest file of the project

Page 41: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

GETTING THE FEET WET

1. Download the latest version of tagin! from launchpad2. Set up the tagin! engine as a library project for your LBS

application 1

3. Register a Broadcast Reciever for Tagin! URN4. Start the service - Set number of runs and interval between

them

5. Get the URN from Broadcast Reciever

1Edit the Android Manifest file of the project

Page 42: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

GETTING THE FEET WET

1. Download the latest version of tagin! from launchpad2. Set up the tagin! engine as a library project for your LBS

application 1

3. Register a Broadcast Reciever for Tagin! URN4. Start the service - Set number of runs and interval between

them5. Get the URN from Broadcast Reciever

1Edit the Android Manifest file of the project

Page 43: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

GETTING THE FEET WET

1. Download the latest version of tagin! from launchpad2. Set up the tagin! engine as a library project for your LBS

application 1

3. Register a Broadcast Reciever for Tagin! URN4. Start the service - Set number of runs and interval between

them5. Get the URN from Broadcast Reciever

1Edit the Android Manifest file of the project

Page 44: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SIMPLE BUT POWERFUL

I Feature Extraction

I ClassificationI Self-Adaptation/Learning

Page 45: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SIMPLE BUT POWERFUL

I Feature ExtractionI Classification

I Self-Adaptation/Learning

Page 46: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SIMPLE BUT POWERFUL

I Feature ExtractionI ClassificationI Self-Adaptation/Learning

Page 47: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

SIMPLE BUT POWERFUL

I Feature ExtractionI ClassificationI Self-Adaptation/Learning

Page 48: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

CHALLENGES

I Recursive pushFingerprint procedure

I Using a service and broadcast recieverI Speed vs Accuracy tradeoff

Page 49: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

CHALLENGES

I Recursive pushFingerprint procedureI Using a service and broadcast reciever

I Speed vs Accuracy tradeoff

Page 50: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

CHALLENGES

I Recursive pushFingerprint procedureI Using a service and broadcast recieverI Speed vs Accuracy tradeoff

Page 51: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

LOGGER

I Inplace Benchmarking

I Lower bound on rankdistances

I Stabilizing time

Page 52: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

LOGGER

I Inplace BenchmarkingI Lower bound on rank

distances

I Stabilizing time

Page 53: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

LOGGER

I Inplace BenchmarkingI Lower bound on rank

distancesI Stabilizing time

Page 54: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

LOGGER

I Inplace BenchmarkingI Lower bound on rank

distancesI Stabilizing time

Page 55: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

DEMO TIME!

Developed by Sara Khosravi Nasr

Page 56: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

CREDITS

I Jorge Silva, Co-founder Komodo OpenLab, Full timeresearcher at IDRC, OCAD University

I Sara Khosravi Nasr - PhD. Student, UIUC

I

Page 57: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

CREDITS

I Jorge Silva, Co-founder Komodo OpenLab, Full timeresearcher at IDRC, OCAD University

I Sara Khosravi Nasr - PhD. Student, UIUC

I

Page 58: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

CREDITS

I Jorge Silva, Co-founder Komodo OpenLab, Full timeresearcher at IDRC, OCAD University

I Sara Khosravi Nasr - PhD. Student, UIUC

I

Page 59: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

Thank you

Page 60: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

Thank you

Page 61: Droidcon India 2011 Talk

Outline Introduction Diving in Additional Footage

FOR LATEST STATUS

I IRC - irc.oftc.net:#idrc-mobileI Launchpad - Monitor tagin! in Launchpad and use it to

submit questions or feature requestsI Contact me

@[email protected]