基于智能手机的行人惯性追踪数据集模型与部署

论文总结

这篇《 Smartphone-based Pedestrian Inertial Tracking: Dataset, Model, and Deployment 》论文介绍了一种基于智能手机惯性测量单元(IMU)的行人追踪和定位系统。主要内容和贡献如下:

  1. 数据集和实验设计:作者开发了一个智能手机惯性测量数据集(SIMD),包含超过4500条步行轨迹,涵盖了约190小时的行走时间和700多公里的总行程。数据集覆盖了4个城市、12种室内外场景、7种手机姿态,并由150多名志愿者使用他们的智能手机收集数据。
  2. 实时追踪模型:论文采用了一种轻量级的深度神经网络(DNN)框架——时间卷积网络(TCN),有效地建模长期序列数据,并且容易在边缘设备上部署。作者从原始IMU读数中提取运动特征,包括四个时域特征(最大值、最小值、平均值和标准差)和六个频域特征(平均值、标准差、信息熵、能量、偏度和峰度)。TCN模型由七层全连接层和三个TCN残差块组成,使用因果卷积和扩张因子来增加模型的感受野。
  3. 方向估计:为了估计行人的朝向变化,论文通过将三轴陀螺仪的读数投影到平面姿态上,并积分z轴的角速率,来生成表示行人朝向变化的平面表示。
  4. 轨迹校正:由于长期积分陀螺仪读数可能导致较大的累积误差,论文探索了一种线性拟合算法来校正轨迹。这包括识别转角、将轨迹分割为段落,并对每个段落进行最小二乘法拟合以平滑轨迹点和去除离群点。
  5. 模型定制:为了适应不同用户的使用习惯、传感器类型和不同的环境,论文提出了一种模型定制机制。这包括在云服务器上训练通用惯性追踪模型,然后在智能手机上对模型进行个人化微调,以提高模型在边缘设备上的性能。
  6. 实验验证:论文进行了一系列实验来验证提出的方法。这包括使用外部收集的数据训练通用模型,以及使用特定数据进行定制训练和离线推断。实验结果表明,该方法在多种评估指标上优于现有技术。

总体而言,这项研究通过智能手机IMU数据和深度学习技术,提出了一种有效的行人追踪和定位系统,并通过大规模数据收集和模型定制,提高了系统的精度和适用性。

新技术点

如何在智能手机上本地执行模型的微调和部署?

在论文《基于智能手机的行人惯性追踪:数据集、模型和部署》中,模型在用户的智能手机上进行本地训练和部署是通过以下方式实现的:

  1. 使用Deeplearning4j框架:模型训练和部署是通过Deeplearning4j(DL4J)实现的。DL4J是一个适用于Java的开源深度学习库,支持从主流框架(如PyTorch、TensorFlow和Keras)导入和重新训练模型,同时也支持在物联网(IoT)设备上部署模型,包括智能手机和手环等。DL4J提供轻量级子模块,如Nd4j、Libnd4j和Datavec等,这些模块提高了数据处理效率并提供了类似Python的操作。
  2. 网络迁移:通过DL4J将服务器端网络迁移到安卓智能手机上,以定制通用模型。这一过程涉及将在云端训练好的模型适应到特定用户的智能手机环境中。
  3. 模型构建:使用DL4J中的ComputationGraph类构建模型,并在ComputationGraphConfiguration类中配置网络的详细信息。

总之,论文中的模型是通过在智能手机上本地执行DL4J框架来实现的,这种方法使得模型能够适应用户的个性化需求,同时在资源受限的边缘设备上实现有效的深度学习模型训练和部署。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/588567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

logback中的logger和root

1. logger和root的区别 在logback中,logger和root logger都是日志记录器(logger)的实例,用于控制日志的输出级别。它们之间的区别在于它们的作用范围和默认配置。 logger是应用程序中的具体组件或类的日志记录器。每个logger都可…

鸿蒙 DevEco Studio 3.1 入门指南

本文主要记录开发者入门,从软件安装到项目运行,以及后续的学习 1,配置开发环境 1.1 下载安装包 官网下载链接 点击立即下载找到对应版版本 下载完成,按照提示默认安装即可 1.2 下载SDK及工具链 运行已安装的DevEco Studio&…

SPI机制原理+使用

一、概述 SPI全称(Service Provider Interface),是JDK内置的一种服务提供发现机制;SPI机制提供了组件发现和注册方式,可以为应用程序提供灵活的插件机制, 主要原理:接口 反射 配置文件。 二、…

Rust学习笔记002: 猜字游戏

version0.1 // 导入标准库中的 io 模块,它包含了输入输出相关的功能 use std::io;// 程序的入口点 fn main() {println!("Guess the number!");println!("Please input your guess.");// 创建一个可变的字符串变量 guess,用于存储用…

【Spring Security】快速入门之案例实操

目录 一、简介 1、什么是安全框架 2、主流的安全框架 3、为什么使用Spring Security 二、引言 1、什么是Spring Security 2、Spring Security工作原理 3、特点 三、快速入门 1、引入依赖 2、配置 3、启动测试 4、配置自定义账号密码 四、Web安全配置类 1.HttpSe…

一步一步写线程之三多线程设计开发

一、多线程开发 多线程开发在实际应用中是非常多的。正如前面分析所说,只要写一个线程,就可以认为是多线程开发。多线程开发没有最优,只有在指定场景下的最合适。没有任何一个模型可以包打所有的场景,所以在网上经常可以看到一些…

智安网络|实现安全与网络功能一体化:SASE的全新安全策略

随着企业信息化和数字化程度的不断提升,网络安全面临着前所未有的挑战。传统的网络安全模式已经无法满足日益复杂的安全需求。在这一背景下,安全访问服务边缘(SASE)崭露头角,并逐渐成为新一代网络安全架构的关键概念。…

云上安全责任共担模型

对于传统自建物理服务器模式,用户需要承担所有的安全责任,负责从物理基础设施到上层应用的所有层面的安全体系构建。 云服务器的安全责任确实与物理服务器不同,云上的安全性是一种责任共担模式,其中云服务器ECS的安全责任需要你&…

Hive中支持毫秒级别的时间精度

实际上,Hive 在较新的版本中已经支持毫秒级别的时间精度。你可以通过设置 hive.exec.default.serialization.format 和 mapred.output.value.format 属性为 1,启用 Hive 的时间精度为毫秒级。可以使用以下命令进行设置: set hive.exec.defau…

分布式技术之故障恢复技术

文章目录 分布式故障基础知识故障类型故障检测故障恢复 分布式故障检测原理故障恢复策略 分布式故障基础知识 故障类型 在任何一个分布式系统中,故障都是不可避免的。这里的故障,通常包括两类: 一类是物理故障,比如硬盘损坏、断电…

异常检测 | Matlab基于GNN图神经网络的数据异常数据检测

异常检测 | Matlab基于GNN图神经网络的数据异常数据检测 目录 异常检测 | Matlab基于GNN图神经网络的数据异常数据检测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 Matlab基于GNN图神经网络的数据异常数据检测。其核心思想是学习一个函数映射。本次使用人类活…

浅谈数字孪生的应用与发展

1、数字孪生概念 ”数字孪生是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。数字孪生是一种超越现实的概念,可以被视为一个或多个重要的、彼此依赖的装…

elasticsearch系列五:集群的备份与恢复

概述 前几篇咱们讲了es的语法、存储的优化、常规运维等等,今天咱们看下如何备份数据和恢复数据。 在传统的关系型数据库中我们有多种备份方式,常见有热备、冷备、全量定时增量备份、通过开发程序备份等等,其实在es中是一样的。 官方建议采用s…

easyrecovery软件2024免费版电脑文件数据恢复工具

easyrecovery怎么恢复文件?大家可以参考下文easyrecovery恢复文件步骤来操作,easyrecovery是一款很强大的数据恢复软件,那么我们该如何使用这款软件呢?一起来了解吧! 一:EasyRecovery Professional 是一款非常不错的数据恢复软件…

在Django5中使用Websocket进行通信

Docker安装Redis docker run --restartalways -p 6379:6379 --name redis -d redis:7.0.12 --requirepass zhangdapeng520安装依赖 参考文档:https://channels.readthedocs.io/en/latest/installation.html pip install "channels[daphne]"展示聊天页…

js 常用方法举例说明50个

js 常用方法举例说明50个 JavaScript是一门广泛应用于Web开发的编程语言,它提供了丰富的方法来操作数据、处理事件、操作DOM等。以下是50个常用的JavaScript方法,每个方法都附有简单的说明和示例: getElementById: 通过元素的ID获…

【链表OJ—链表的回文结构】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:…

前端基础:Vue搞笑白话文(工作之余瞎写)

1、data:{}与data(){return{}}这两个是个什么鬼? vue实例 new Vue({el:#app,data:{name:李四}}) 组件实例 const aaa Vue.extent({data(){return {name:}} }) 为什么Vue实例可以那么写而组件实例就不行了?原因就是因为在底层原理上,组件…

华为电脑的IP地址:如何找到并管理?

​在现代科技的高速发展中,华为电脑已经成为了人们生活和工作中必不可少的重要工具。然而,对于很多用户来说,IP地址却是一个颇具挑战性的问题。在本文中,我们将会详细探讨华为电脑的IP地址在哪里找,并提供一些建议和技…

k8s集群通过helm部署skywalking

1、安装helm 下载脚本安装 ~# curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 ~# chmod 700 get_helm.sh ~# ./get_helm.sh或者下载包进行安装 ~# wget https://get.helm.sh/helm-canary-linux-amd64.tar.gz ~# mv helm …