Post on 29-Jun-2015
description
Outline Introduction Diving in Additional Footage
tagin!Indoor Location Tagging Engine
Primal Pappachan
@primalpop
November 18, 2011
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
Outline Introduction Diving in Additional Footage
TAG YOUR LOCATION!
I Location Tagging
I WiFiI LBSI Open Source
Outline Introduction Diving in Additional Footage
TAG YOUR LOCATION!
I Location TaggingI WiFi
I LBSI Open Source
Outline Introduction Diving in Additional Footage
TAG YOUR LOCATION!
I Location TaggingI WiFiI LBS
I Open Source
Outline Introduction Diving in Additional Footage
TAG YOUR LOCATION!
I Location TaggingI WiFiI LBSI Open Source
Outline Introduction Diving in Additional Footage
TAG YOUR LOCATION!
I Location TaggingI WiFiI LBSI Open Source
Outline Introduction Diving in Additional Footage
SCRATCHING WHERE IT ITCHES
PresentI GPS
I Cellular TriangulationI RFID
Requisties
I Infrastructure ReuseI UbiquitiousI Common standard
Outline Introduction Diving in Additional Footage
SCRATCHING WHERE IT ITCHES
PresentI GPSI Cellular Triangulation
I RFID
Requisties
I Infrastructure ReuseI UbiquitiousI Common standard
Outline Introduction Diving in Additional Footage
SCRATCHING WHERE IT ITCHES
PresentI GPSI Cellular TriangulationI RFID
Requisties
I Infrastructure ReuseI UbiquitiousI Common standard
Outline Introduction Diving in Additional Footage
SCRATCHING WHERE IT ITCHES
PresentI GPSI Cellular TriangulationI RFID
Requisties
I Infrastructure Reuse
I UbiquitiousI Common standard
Outline Introduction Diving in Additional Footage
SCRATCHING WHERE IT ITCHES
PresentI GPSI Cellular TriangulationI RFID
Requisties
I Infrastructure ReuseI Ubiquitious
I Common standard
Outline Introduction Diving in Additional Footage
SCRATCHING WHERE IT ITCHES
PresentI GPSI Cellular TriangulationI RFID
Requisties
I Infrastructure ReuseI UbiquitiousI Common standard
Outline Introduction Diving in Additional Footage
SCRATCHING WHERE IT ITCHES
PresentI GPSI Cellular TriangulationI RFID
Requisties
I Infrastructure ReuseI UbiquitiousI Common standard
Outline Introduction Diving in Additional Footage
SCRATCHING WHERE IT ITCHES
PresentI GPSI Cellular TriangulationI RFID
Requisties
I Infrastructure ReuseI UbiquitiousI Common standard
Outline Introduction Diving in Additional Footage
FOR
What
I
I
I
I
I
Whom
I
I
Outline Introduction Diving in Additional Footage
HOW IT ALL STARTED
Outline Introduction Diving in Additional Footage
HOW IT ALL STARTED
Outline Introduction Diving in Additional Footage
HOW IT ALL STARTED
Outline Introduction Diving in Additional Footage
KEYWORDS
I Fingerprint
I URNI Uniform Resource NameI Rank Distance
Outline Introduction Diving in Additional Footage
KEYWORDS
I Fingerprint
I URNI Uniform Resource Name
I Rank Distance
Outline Introduction Diving in Additional Footage
KEYWORDS
I FingerprintI URNI Uniform Resource Name
I Rank Distance
Outline Introduction Diving in Additional Footage
KEYWORDS
I FingerprintI URN
I Uniform Resource Name
I Rank Distance
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
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
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
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
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
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
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[])
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[])
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[])
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[])
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[])
Outline Introduction Diving in Additional Footage
LOCAL VS GLOBAL
I Location based Preferences
I Indoor mapping and/or Wayfinding
Outline Introduction Diving in Additional Footage
LOCAL VS GLOBAL
I Location based PreferencesI Indoor mapping and/or Wayfinding
Outline Introduction Diving in Additional Footage
LOCAL VS GLOBAL
I Location based PreferencesI Indoor mapping and/or Wayfinding
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
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
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
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
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
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
Outline Introduction Diving in Additional Footage
SIMPLE BUT POWERFUL
I Feature Extraction
I ClassificationI Self-Adaptation/Learning
Outline Introduction Diving in Additional Footage
SIMPLE BUT POWERFUL
I Feature ExtractionI Classification
I Self-Adaptation/Learning
Outline Introduction Diving in Additional Footage
SIMPLE BUT POWERFUL
I Feature ExtractionI ClassificationI Self-Adaptation/Learning
Outline Introduction Diving in Additional Footage
SIMPLE BUT POWERFUL
I Feature ExtractionI ClassificationI Self-Adaptation/Learning
Outline Introduction Diving in Additional Footage
CHALLENGES
I Recursive pushFingerprint procedure
I Using a service and broadcast recieverI Speed vs Accuracy tradeoff
Outline Introduction Diving in Additional Footage
CHALLENGES
I Recursive pushFingerprint procedureI Using a service and broadcast reciever
I Speed vs Accuracy tradeoff
Outline Introduction Diving in Additional Footage
CHALLENGES
I Recursive pushFingerprint procedureI Using a service and broadcast recieverI Speed vs Accuracy tradeoff
Outline Introduction Diving in Additional Footage
LOGGER
I Inplace Benchmarking
I Lower bound on rankdistances
I Stabilizing time
Outline Introduction Diving in Additional Footage
LOGGER
I Inplace BenchmarkingI Lower bound on rank
distances
I Stabilizing time
Outline Introduction Diving in Additional Footage
LOGGER
I Inplace BenchmarkingI Lower bound on rank
distancesI Stabilizing time
Outline Introduction Diving in Additional Footage
LOGGER
I Inplace BenchmarkingI Lower bound on rank
distancesI Stabilizing time
Outline Introduction Diving in Additional Footage
DEMO TIME!
Developed by Sara Khosravi Nasr
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
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
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
Outline Introduction Diving in Additional Footage
Thank you
Outline Introduction Diving in Additional Footage
Thank you
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
@primalpopprimalpop@gmail.com