2
$\begingroup$

I am trying to determine in which zone of a building a person is located based solely on the strength of the WiFi signals her cellphone gets. Currently, we are making measures with an Android App, for each measure we are assigning a "zone" such as "corridor", "room1" or "room2".

I intend to build a matrix in which each row represents a measure of various signals and the zone they were measured. There will be a column for each hotspot present in the building (With 0's for all the hotspots which haven't appeared in a measure).

The idea is to have the algorithm classify in which zone you probably are based on the power of the signals you get. Any ideas about what machine learning algorithm can achieve a good classification accuracy with that data? I'm currently thinking about Logistic Regression and Neural Networks.

$\endgroup$
  • 1
    $\begingroup$ You probably want to look at thesis of a fellow student of mine: link $\endgroup$ – Pieter May 18 '16 at 20:06
1
$\begingroup$

(Pieter already mentioned my thesis on "Human SLAM", a more terse version is available as a paper here: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7471364)

To give a direct answer to your question: there are multiple approaches. One of the most simple ones is "fingerprinting". You start by collecting signal strength data in each room and store these in a database (this makes the fingerprint). After this initialisation phase, each time a user wants to know it's location you make a new signal strength fingerprint and compare this with your fingerprint database. Such an algorithm should be easy to implement, but I can't really say anything about the performance.

Personally, I focussed more on SLAM which is a localisation algorithm from the robotics field. Using this technique you can make more precise maps and skip the initialisation phase. This is, however, more difficult to implement and, because it is fully autonomous and starts from zero knowledge, is not yet the most accurate approach.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.