-
This repository contains work about my master's thesis: "An evaluation of passive-crowdsourcing methods for large-scale construction of WiFi radio map".
-
Although it was initially intended for passive-crowdsourcing for WiFi radio map construction, this repository contains many useful code for indoor location based on WiFi fingerprinting and inertial sensing.
-
Creating environment and install necessary libraries
- In this work, we use
python3.10
and the built-invenv
for creating a virtual environment. Any environment management tools (i.e.conda
,mamba
,poetry
) are applicable.
# Create a virtual env python3.10 -m venv venv source venv/bin/activate # Install necessary libraries python -m pip install -r requirements.txt
- In this work, we use
-
Downloading the Microsoft Indoor Location 2.0 dataset and extracting into the
data
directory.- The dataset can be downloaded from Kaggle: Indoor Location and Navigation
code
is the root directory for all code in the project, which is organized into subdirectories.experiments
: Contain code for experiments with Zee passive crowdsourcing and motion models.indoor-location-competition-20
: Sample code for theIndoor Location and Navigation
contest, which was cloned from this repository: location-competition/indoor-location-competition-20notebooks
: Various notebooks created while I was exploring the topic. Most of them are trials (and errors :(). This directory contains notebooks implementing WiFi fingerprinting indoor location based on kNN, motion models, passive crowdsourcing (Zee, PiLoc, LiFS).py_indoor_loc
: A library containing many useful code for indoor location based on WiFi fingerprinting and inertial sensing. Notable packages areknn
for implementation of WiFi fingerprinting indoor location using kNN,pdr
for implementation of motion models,zee.py
for Zee implementation.
figures
: This directory contains some figures I used in my thesis.README
: This file contains instruction and description.
-
For running experiment with Zee: Zero-effort crowdsourcing for indoor localization, follow the notebook: Zee
-
For running experiments with motion models, follow the notebook Motion Models and Motion Model Evaluation.