遇见数据集

Evaluation of underfloor accelerometers through fingerprinting for indoor localization

收藏
Zenodo2025-01-22 更新2026-05-26 收录
官方服务:

资源简介:

# Fingerprinting Code developed to test the effectiveness of an indoor positioning system where multiple accelerometers are placed under the floor and set up to collect data. ## Why? This material complements the work done for the paper "Evaluation of Underfloor Accelerometers for Enabling Location-based Services in Intelligent Environments" and helps readers to reproduce and validate the results presented in that paper. The contributions made by this material are listed below: 1. Data sets as csv and txt files: - u1p1ACC.csv u1p1GT.csv u1p1.txt - u1p2ACC.csv u1p2GT.csv u1p2.txt - u1p3ACC.csv u1p3GT.csv u1p3.txt - u2p1ACC.csv u2p1GT.csv u2p1.txt - u2p2ACC.csv u2p2GT.csv u2p2.txt - u2p3ACC.csv u2p3GT.csv u2p3.txt 2. Implementation of the main code into a Jupyter notebook: - fingerprinting.ipynb 3. Implementation of the code for generating the plots: - plots.ipynb 4. Data for generating the plots into appropriate nested folders: - data_for_plots (folder) 5. Yaml files for the creation of the conda environment with linux and windows: - linux_environment.yml - windows_environment.yml ## Abstract (tentative) Device-free indoor positioning systems can effectively monitor people's movements in their everyday living environments without the constraints of invasive or wearable devices. Such systems are valuable for designing location-based services in intelligent environments, and particularly, they could be key enablers for enhancing the inclusivity of visually impaired individuals. The current work introduces an indoor positioning system composed of underfloor accelerometers. The goal is to implement a non-invasive system that combines hardware and software features to minimize the average positioning error of a person walking in a room. To assess the feasibility of deploying accelerometers in a device-free localization system, a chamber with multiple accelerometers positioned under the floor was set up for data collection and testing. To identify the best-performing algorithm and obtain empirical feedback on the quality of the developed localization system, we applied representative machine-learning strategies to the collected data and evaluated the Euclidean distance between ground-truth and estimated positions. ## What the code does The execution of the main code performs the following: 1. generation of sensor maps through their absolute coordinates; 2. noise reduction on the raw data according to the average of the white noise the accelerometers are subjected at quiet; 3. generation of the fingerprint maps per each data set; 4. generation of the clean ground truth files (deleting coordinates set to zero); 5. computation of the n-dimensional distance between observations at a given time step and the euclidean error between the minimum distance value coordinates and the respective temporally closest ground truth ones; 6. same as in 5 but with intra-user fingerprint maps; 7. same as in 5 but with inter-user fingerprint maps; 8. same as in 5 but with enhanced inter-user fingerprint maps. # Run ## Install To run the code is advised to create a conda environment and install all the dependencies contained in environment.yml file by executing the following steps: ``` cd fingerprinting-main conda env create --file=[linux_environment.yml or windows_environment.yml] conda activate fingerprinting ``` ## Configuration No further configuration is required. ## Launch! To reproduce the experiments, run the fingerprinting.ipynb with Jupyter as follows (remember to activate the conda environment first): ``` jupyter notebook fingerprinting.ipynb ``` To generate the plots, run plots.ipynb with Jupyter as follows (remember to activate the conda environment first): ``` jupyter notebook plots.ipynb ``` Once launched, for both tests, you can run all the cells by taking advantage of the notebook's main menu. ## Results By default the code produces results for k=[1,2,3] and tw=[10,30,60]. In doing so, it generates several files and stores them into the following, nested subfolders: fingerprinting | data - | | | clean_ground_truth | | | csv (already present) | | | data_with_reduced_noise | | | ground_truth (already present) | | | txt (already present) | data_for_plots - | | | images | | | inter (already present) | | | inter_enhanced (already present) | | | intra (already present) | fingerprint_maps | mapping | output - | K1 - | | | distance_and_error | | | inter_user_distance_and_error | | | inter_user_distance_and_error_with_enhanced_FT | | | intra_user_distance_and_error | K2 - | | | distance_and_error | | | inter_user_distance_and_error | | | inter_user_distance_and_error_with_enhanced_FT | | | intra_user_distance_and_error | K3 - | distance_and_error | inter_user_distance_and_error | inter_user_distance_and_error_with_enhanced_FT | intra_user_distance_and_error Main results are saved into the `output` folder. All plots are stored in the `images` folder, subfolder of the `data_for_plots` folder. Note that when you launch a new experiment by changing some parameters, the new results will override the old ones. # Contributing If you find something missing, wrong or you want to suggest an improvement you are welcome to notify it by writing an email to the correspondig author: antonino.crivello@isti.cnr.it. # Authors Dimitri Belli, Antonino Crivello, Davide La Rosa, and Paolo Barsocchi

# 指纹定位法(Fingerprinting) 本代码用于测试室内定位系统的有效性,该系统将多个加速度计铺设于地板下方,用于采集数据。 ## 项目背景 本配套材料用于补充论文《Evaluation of Underfloor Accelerometers for Enabling Location-based Services in Intelligent Environments》(智能环境中支持基于位置服务的地板下加速度计评估)的相关研究工作,助力读者复现并验证该论文中呈现的实验结果。 本配套材料的贡献如下: 1. 提供CSV与TXT格式的数据集: - u1p1ACC.csv、u1p1GT.csv、u1p1.txt - u1p2ACC.csv、u1p2GT.csv、u1p2.txt - u1p3ACC.csv、u1p3GT.csv、u1p3.txt - u2p1ACC.csv、u2p1GT.csv、u2p1.txt - u2p2ACC.csv、u2p2GT.csv、u2p2.txt - u2p3ACC.csv、u2p3GT.csv、u2p3.txt 2. 将核心代码封装为Jupyter Notebook: - fingerprinting.ipynb 3. 提供绘图代码实现: - plots.ipynb 4. 提供绘图所需数据至对应嵌套文件夹: - data_for_plots(文件夹) 5. 提供适用于Linux与Windows系统的Conda环境配置YAML文件: - linux_environment.yml - windows_environment.yml ## 暂定摘要 无设备式室内定位系统可在无需侵入式或可穿戴设备的前提下,有效监测人们在日常居住环境中的移动轨迹。此类系统对于智能环境中的基于位置服务设计具有重要价值,尤其可为视障人群的包容性提升提供关键支撑。本研究提出一种由地板下加速度计组成的室内定位系统,旨在实现一套软硬件结合的非侵入式系统,以最小化室内行走人员的平均定位误差。 为评估在无设备定位系统中部署加速度计的可行性,我们搭建了一个地板下布设多台加速度计的实验舱,用于数据采集与测试。为筛选最优性能算法并获取所开发定位系统质量的实证反馈,我们将代表性机器学习策略应用于采集到的数据,并评估了真实位置(ground-truth)与估计位置之间的欧氏距离。 ## 代码功能 运行核心代码可实现以下功能: 1. 根据传感器的绝对坐标生成传感器分布图; 2. 根据加速度计在静止状态下的白噪声平均值,对原始数据进行降噪处理; 3. 为每个数据集生成指纹定位地图; 4. 生成清理后的真实位置文件(删除坐标值为零的条目); 5. 计算给定时间步下观测值之间的n维距离,并计算最小距离值对应坐标与时间上最接近的真实位置坐标之间的欧氏误差; 6. 与第5项功能一致,但基于用户内指纹地图; 7. 与第5项功能一致,但基于用户间指纹地图; 8. 与第5项功能一致,但基于增强型用户间指纹地图。 ## 运行指南 ### 安装 建议通过以下步骤创建Conda环境并安装依赖文件中列出的所有依赖项,以运行代码: cd fingerprinting-main conda env create --file=[linux_environment.yml 或 windows_environment.yml] conda activate fingerprinting ### 配置 无需额外配置。 ### 启动! 如需复现实验,请通过Jupyter运行fingerprinting.ipynb(请先激活Conda环境): jupyter notebook fingerprinting.ipynb 如需生成绘图结果,请通过Jupyter运行plots.ipynb(请先激活Conda环境): jupyter notebook plots.ipynb 启动后,可通过Notebook的主菜单运行所有单元格,完成两项测试。 ### 运行结果 默认情况下,代码将针对k=[1,2,3]与tw=[10,30,60]生成实验结果,并将各类文件存储至以下嵌套子文件夹中: fingerprinting ├── data │ ├── clean_ground_truth │ ├── csv(已预置) │ ├── data_with_reduced_noise │ ├── ground_truth(已预置) │ └── txt(已预置) ├── data_for_plots │ ├── images │ ├── inter(已预置) │ ├── inter_enhanced(已预置) │ └── intra(已预置) ├── fingerprint_maps ├── mapping └── output ├── K1 │ ├── distance_and_error │ ├── inter_user_distance_and_error │ ├── inter_user_distance_and_error_with_enhanced_FT │ └── intra_user_distance_and_error ├── K2 │ ├── distance_and_error │ ├── inter_user_distance_and_error │ ├── inter_user_distance_and_error_with_enhanced_FT │ └── intra_user_distance_and_error ├── K3 │ ├── distance_and_error │ ├── inter_user_distance_and_error │ ├── inter_user_distance_and_error_with_enhanced_FT │ └── intra_user_distance_and_error ├── distance_and_error ├── inter_user_distance_and_error ├── inter_user_distance_and_error_with_enhanced_FT └── intra_user_distance_and_error 主要实验结果存储于`output`文件夹中。 所有绘图结果存储于`data_for_plots`文件夹下的`images`子文件夹中。 请注意,若修改参数启动新实验,新生成的结果将覆盖原有结果。 ## 贡献指南 若您发现内容缺失、错误或希望提出改进建议,可通过邮件联系通讯作者:antonino.crivello@isti.cnr.it。 ## 作者 Dimitri Belli、Antonino Crivello、Davide La Rosa 与 Paolo Barsocchi

提供机构:
Zenodo
创建时间:
2024-03-19
二维码
社区交流群
二维码
科研交流群
商业服务