Droidcon India 2011 Talk

600 views

Published on

Indoor Location Tagging Engine in Android

Published in: Technology, Sports, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
600
On SlideShare
0
From Embeds
0
Number of Embeds
126
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Droidcon India 2011 Talk

  1. 1. Outline Introduction Diving in Additional Footage tagin! Indoor Location Tagging Engine Primal Pappachan @primalpop November 18, 2011
  2. 2. Outline Introduction Diving in Additional Footage Introduction Definition Present and the Future Uses Story Time Diving in Before jumping in How it works? Adding it to your LBS application Additional Footage Features of the algorithm Challenges Benchmarking Tools Demo Credits
  3. 3. Outline Introduction Diving in Additional FootageTAG YOUR LOCATION ! Location Tagging
  4. 4. Outline Introduction Diving in Additional FootageTAG YOUR LOCATION ! Location Tagging WiFi
  5. 5. Outline Introduction Diving in Additional FootageTAG YOUR LOCATION ! Location Tagging WiFi LBS
  6. 6. Outline Introduction Diving in Additional FootageTAG YOUR LOCATION ! Location Tagging WiFi LBS Open Source
  7. 7. Outline Introduction Diving in Additional FootageTAG YOUR LOCATION ! Location Tagging WiFi LBS Open Source
  8. 8. Outline Introduction Diving in Additional FootageS CRATCHING WHERE IT ITCHES Present GPS
  9. 9. Outline Introduction Diving in Additional FootageS CRATCHING WHERE IT ITCHES Present GPS Cellular Triangulation
  10. 10. Outline Introduction Diving in Additional FootageS CRATCHING WHERE IT ITCHES Present GPS Cellular Triangulation RFID
  11. 11. Outline Introduction Diving in Additional FootageS CRATCHING WHERE IT ITCHES Present Requisties GPS Infrastructure Reuse Cellular Triangulation RFID
  12. 12. Outline Introduction Diving in Additional FootageS CRATCHING WHERE IT ITCHES Present Requisties GPS Infrastructure Reuse Cellular Triangulation Ubiquitious RFID
  13. 13. Outline Introduction Diving in Additional FootageS CRATCHING WHERE IT ITCHES Present Requisties GPS Infrastructure Reuse Cellular Triangulation Ubiquitious RFID Common standard
  14. 14. Outline Introduction Diving in Additional FootageS CRATCHING WHERE IT ITCHES Present Requisties GPS Infrastructure Reuse Cellular Triangulation Ubiquitious RFID Common standard
  15. 15. Outline Introduction Diving in Additional FootageS CRATCHING WHERE IT ITCHES Present Requisties GPS Infrastructure Reuse Cellular Triangulation Ubiquitious RFID Common standard
  16. 16. Outline Introduction Diving in Additional FootageF OR What Whom
  17. 17. Outline Introduction Diving in Additional FootageH OW IT ALL STARTED
  18. 18. Outline Introduction Diving in Additional FootageH OW IT ALL STARTED
  19. 19. Outline Introduction Diving in Additional FootageH OW IT ALL STARTED
  20. 20. Outline Introduction Diving in Additional FootageK EYWORDS Fingerprint
  21. 21. Outline Introduction Diving in Additional FootageK EYWORDS URN Uniform Resource Name
  22. 22. Outline Introduction Diving in Additional FootageK EYWORDS Rank Distance
  23. 23. Outline Introduction Diving in Additional FootageK EYWORDS Fingerprint URN Rank Distance
  24. 24. Outline Introduction Diving in Additional FootageW ORKING P RINCIPLE Upon an urn request, tagin! engine does the following 1. Scan for a fingerprint
  25. 25. Outline Introduction Diving in Additional FootageW ORKING P RINCIPLE Upon an urn request, tagin! engine does the following 1. Scan for a fingerprint 2. Check for neighbours
  26. 26. Outline Introduction Diving in Additional FootageW ORKING P RINCIPLE Upon an urn request, tagin! engine does the following 1. Scan for a fingerprint 2. Check for neighbours 3. If found, merge the fingerprint
  27. 27. Outline Introduction Diving in Additional FootageW ORKING P RINCIPLE Upon an urn request, tagin! engine does the following 1. Scan for a fingerprint 2. Check for neighbours 3. If found, merge the fingerprint 4. If no neighbours, create a new URN
  28. 28. Outline Introduction Diving in Additional FootageW ORKING P RINCIPLE Upon an urn request, tagin! engine does the following 1. Scan for a fingerprint 2. Check for neighbours 3. If found, merge the fingerprint 4. If no neighbours, create a new URN 5. Return the (merged or newly created) URN
  29. 29. Outline Introduction Diving in Additional FootageW ORKING P RINCIPLE Upon an urn request, tagin! engine does the following 1. Scan for a fingerprint 2. Check for neighbours 3. If found, merge the fingerprint 4. If no neighbours, create a new URN 5. Return the (merged or newly created) URN
  30. 30. Outline Introduction Diving in Additional FootageI N THE LANGUAGE OF D ROID getURN()
  31. 31. Outline Introduction Diving in Additional FootageI N THE LANGUAGE OF D ROID getURN() getNeighbours(Fingerprint fp)
  32. 32. Outline Introduction Diving in Additional FootageI N THE LANGUAGE OF D ROID getURN() getNeighbours(Fingerprint fp) mergeFingerprint(Fingerprint fp, stored fingerprint id)
  33. 33. Outline Introduction Diving in Additional FootageI N THE LANGUAGE OF D ROID getURN() getNeighbours(Fingerprint fp) mergeFingerprint(Fingerprint fp, stored fingerprint id) pushFingerprint(URN id, changevector[])
  34. 34. Outline Introduction Diving in Additional FootageI N THE LANGUAGE OF D ROID getURN() getNeighbours(Fingerprint fp) mergeFingerprint(Fingerprint fp, stored fingerprint id) pushFingerprint(URN id, changevector[])
  35. 35. Outline Introduction Diving in Additional FootageL OCAL VS G LOBAL Location based Preferences
  36. 36. Outline Introduction Diving in Additional FootageL OCAL VS G LOBAL Location based Preferences Indoor mapping and/or Wayfinding
  37. 37. Outline Introduction Diving in Additional FootageL OCAL VS G LOBAL Location based Preferences Indoor mapping and/or Wayfinding
  38. 38. Outline Introduction Diving in Additional FootageG ETTING THE FEET WET 1. Download the latest version of tagin! from launchpad 1 Edit the Android Manifest file of the project
  39. 39. Outline Introduction Diving in Additional FootageG ETTING THE FEET WET 1. Download the latest version of tagin! from launchpad 2. Set up the tagin! engine as a library project for your LBS application 1 1 Edit the Android Manifest file of the project
  40. 40. Outline Introduction Diving in Additional FootageG ETTING THE FEET WET 1. Download the latest version of tagin! from launchpad 2. Set up the tagin! engine as a library project for your LBS application 1 3. Register a Broadcast Reciever for Tagin! URN 1 Edit the Android Manifest file of the project
  41. 41. Outline Introduction Diving in Additional FootageG ETTING THE FEET WET 1. Download the latest version of tagin! from launchpad 2. 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 between them 1 Edit the Android Manifest file of the project
  42. 42. Outline Introduction Diving in Additional FootageG ETTING THE FEET WET 1. Download the latest version of tagin! from launchpad 2. 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 between them 5. Get the URN from Broadcast Reciever 1 Edit the Android Manifest file of the project
  43. 43. Outline Introduction Diving in Additional FootageG ETTING THE FEET WET 1. Download the latest version of tagin! from launchpad 2. 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 between them 5. Get the URN from Broadcast Reciever 1 Edit the Android Manifest file of the project
  44. 44. Outline Introduction Diving in Additional FootageS IMPLE BUT P OWERFUL Feature Extraction
  45. 45. Outline Introduction Diving in Additional FootageS IMPLE BUT P OWERFUL Feature Extraction Classification
  46. 46. Outline Introduction Diving in Additional FootageS IMPLE BUT P OWERFUL Feature Extraction Classification Self-Adaptation/Learning
  47. 47. Outline Introduction Diving in Additional FootageS IMPLE BUT P OWERFUL Feature Extraction Classification Self-Adaptation/Learning
  48. 48. Outline Introduction Diving in Additional FootageC HALLENGES Recursive pushFingerprint procedure
  49. 49. Outline Introduction Diving in Additional FootageC HALLENGES Recursive pushFingerprint procedure Using a service and broadcast reciever
  50. 50. Outline Introduction Diving in Additional FootageC HALLENGES Recursive pushFingerprint procedure Using a service and broadcast reciever Speed vs Accuracy tradeoff
  51. 51. Outline Introduction Diving in Additional FootageL OGGER Inplace Benchmarking
  52. 52. Outline Introduction Diving in Additional FootageL OGGER Inplace Benchmarking Lower bound on rank distances
  53. 53. Outline Introduction Diving in Additional FootageL OGGER Inplace Benchmarking Lower bound on rank distances Stabilizing time
  54. 54. Outline Introduction Diving in Additional FootageL OGGER Inplace Benchmarking Lower bound on rank distances Stabilizing time
  55. 55. Outline Introduction Diving in Additional FootageD EMO T IME ! Developed by Sara Khosravi Nasr
  56. 56. Outline Introduction Diving in Additional FootageC REDITS Jorge Silva, Co-founder Komodo OpenLab, Full time researcher at IDRC, OCAD University
  57. 57. Outline Introduction Diving in Additional FootageC REDITS Jorge Silva, Co-founder Komodo OpenLab, Full time researcher at IDRC, OCAD University Sara Khosravi Nasr - PhD. Student, UIUC
  58. 58. Outline Introduction Diving in Additional FootageC REDITS Jorge Silva, Co-founder Komodo OpenLab, Full time researcher at IDRC, OCAD University Sara Khosravi Nasr - PhD. Student, UIUC
  59. 59. Outline Introduction Diving in Additional Footage Thank you
  60. 60. Outline Introduction Diving in Additional Footage Thank you
  61. 61. Outline Introduction Diving in Additional FootageF OR LATEST STATUS IRC - irc.oftc.net:#idrc-mobile Launchpad - Monitor tagin! in Launchpad and use it to submit questions or feature requests Contact me @primalpop primalpop@gmail.com

×