论文笔记:Deep Trajectory Recovery with Fine-Grained Calibration using Kalman Filter

TKDE 2021

1 intro

1.1 背景

  • 用户轨迹数据对于改进以用户为中心的应用程序很有用
    • POI推荐
    • 城市规划
    • 路线规划
  • 由于设备和环境的限制,许多轨迹以低采样率记录
    • 采样的轨迹无法详细说明物体的实际路线
    • 增加了轨迹中两个连续采样点之间的不确定性
    • ——>开发有效的算法以基于原始低采样数据恢复高质量轨迹非常重要
  • 总的来说,轨迹恢复任务在两种不同的环境中被研究,这取决于地图信息(如道路网络)是否可用
    • 在第一种环境中,轨迹位置通常映射到道路段或POI
    • 在第二种环境中,地图信息作为输入是不可用的,称之为自由空间轨迹恢复
      • 本文关注的是第二种环境

1.2 之前的工作

  • 现有研究中存在两个潜在问题
    • 许多方法依赖于启发式搜索算法或简单的概率模型
      • 主要模拟位置之间的相邻过渡模式
        • 深度优先搜索算法
        • 吸收马尔可夫链
        • 吉布斯抽样
      • 这些方法不能很好地捕获复杂的顺序依赖性或全局数据相关性
    • 为了减少无约束数值坐标的预测复杂性,大多数以前的研究采用了一个常见的预处理策略——将空间映射到离散单元,例如单元格或锚点
      • 然后,他们的焦点变成如何在离散单元上开发有效的恢复算法
      • 使用离散单元可能会带来噪音或不准确的信息
        • 因此,通常需要一个后校准步骤来产生更准确的结果
        • 然而,以前的方法主要采用简单的启发式校准方法,例如识别单元格中的频繁位置或简单地使用单元格的中心坐标
        • 忽视了后校准在细化粗糙单元级预测结果中的重要性
  • 深度学习任务(如RNN)
    • 只专注于局部时间窗口内的下一步或短期位置预测
    • 仍直接产生单元格级的预测,并没有在他们的模型中结合原则性的后校准组件来得出更准确的估计
    • ——>将现有的基于神经网络的轨迹模型直接应用于自由空间轨迹恢复任务是困难的

1.3 本文贡献

  • 提出了一种新颖的深度混合轨迹恢复模型(DHTR)
    • 子序列到序列恢复模型(即subseq2seq)
      • 扩展了seq2seq
    • 为了有效捕获全局时空相关性,采用了空间和时间注意力机制来增强模型性能
      • 通过注意力机制,我们的模型能够表征轨迹点之间的长距离相关性
    • 将subseq2seq组件与卡尔曼滤波器(KF)整合在一起,以校准噪声单元预测为准确坐标
      • 在每一个时间步,来自subseq2seq组件的噪声预测将被送入KF组件进行校准
      • 然后精炼的预测将被转发到subseq2seq组件,用于下一个时间步的计算
  • ——>模型具有两个组件的优点
    • 建模复杂序列数据的能力
    • 降低预测噪声的能力

2 Preliminary

2.1 一些概念

  • 位置
    • 经纬度坐标<x,y>
  • 区域单元
    • 整个地理空间被划分为一组区域单元,用C表示
    • 每个单元c∈C是一个边长为l的正方形空间
    • 区域单元坐标为中心点的坐标<Xc,Yc>
  • 轨迹点
    • 一个移动物体的轨迹点是一个带时间戳的位置
    • 由一个四元组<x;y;s;c>来建模
      • a:x是经度,a:y是纬度,a:s是时间戳,a:c是点a被分配到的单元
  • 采样间隔
    • 一个移动物体两个连续采样点之间的时间差
  • ε-采样轨迹
    • 同一移动物体使用采样间隔"的n个均匀采样点的时间有序序列
    • t=a_1^{(t)} \rightarrow a_2^{(t)} \cdots \rightarrow a_n^{(t)}(后续表述中把上标(t)去掉了)
  • ε采样子轨迹
    • 给定一个ε采样轨迹t,相应的子轨迹t是t的一个m长度的子序列
    • 子轨迹中的位置在时间戳上可能不是均匀分布的

2.2 问题定义

  • 给定一个ε采样轨迹数据集和一个子轨迹t‘,我们希望重建或恢复相应的轨迹t。
  • 也就是说,对于每个缺失的轨迹点ai(即ai属于t但不属于t‘),我们将推断其在时间ai:s时对应的经度ai:x和纬度ai:y。

3 模型

3.1 模型总览

  • 包含三个主要部分
    • 第一部分是精心设计的子序列到序列(subseq2seq)神经网络模型
      • 在seq2seq的基础上开发的
    • 第二部分是一个注意力机制,它用于使subseq2seq能够捕获复杂的时空关联
      • 注意力机制同时考虑了整个轨迹中位置之间的空间和时间影响
      • 为了减少直接建模数值坐标序列的复杂性,subseq2seq组件在单元级捕获序列注意力相关性
    • 第三部分用基于卡尔曼滤波器的新型后校准组件增强了subseq2seq模型
      • 将subseq2seq组件和KF组件整合在一个联合的深度混合模型中

3.2 Subseq2seq

  • 不是直接预测数值坐标值,而是首先推断缺失轨迹点的对应单元
    • 单元ID序列比原始数值序列更可靠且易于建模
  • 主要思想是将恢复任务转化为一个序列到序列的任务
    • 输入序列是子轨迹,输出序列是重建的完整轨迹
    • 输入与相应的输出高度相关

3.3  时空attention

3.4     应用卡尔曼滤波器

【精选】机器学习笔记:卡尔曼滤波_UQI-LIUWJ的博客-CSDN博客

  • 之前的方法应用subseq2seq模型来表征轨迹的单元序列,然后将预测单元的中心坐标视为最终预测
    • 这种方法有两个潜在的缺点
      • 预测模型可能会受到噪声的影响,例如仪器误差
      • 由于我们使用对应的单元坐标作为代理,最终的估计是粗略的
  • ——>提出将上述神经网络模型与卡尔曼滤波器(KF)整合

3.4.1 卡尔曼滤波器

  • 卡尔曼滤波器(KFs)通常在线性和高斯噪声的假设下是最优的状态估计器。
  • 在KF模型中,使用一个状态向量 gi​,它可能包含位置和/或速度,来表示i时刻物体的状态。
    • 物体以高斯噪声 eg​ 线性更新状态gi​ 
      • M是噪声eg的协方差,Φ是状态更新矩阵
  • 在KF模型中,真实值 gi​ 可以通过测量向量 zi​ 来测量
      • φ是测量矩阵
  • 在KF模型中,测量向量 zi​ 是可观察的,真实状态 gi​ 是待估计的未知变量
    • 方程(13)和(14)中的矩阵φ,Φ,M,N被视为先验已知的
  • KF模型使用两个程序,即预测(Prediction)和更新(Update),来迭代估计 g 的真实值并计算一个协方差矩阵,表示为 H,用以表达 g 的不确定性。

3.4.1.1 预测

在预测过程中,卡尔曼滤波器使用以下方程来预测时i时刻的状态 g 和协方差矩阵 H

  • 下标“i−1∣i−1”表示在i-1时刻由更新程序生成的变量,而下标“i∣i−1”表示预测的状态和协方差。

3.4.1.2 更新 

在更新过程中,KF模型使用可观察的测量向量 zi​ 来更新/校正预测的 gi∣i−1​ 和 Hi∣i−1​ :

其中,Ki​ 被称为最优卡尔曼增益,它结合了预测状态和测量状态作为更新状态。

  • 我们可以看到 Ki​ 是估计误差的协方差矩阵 Hi和测量误差的协方差矩阵 Ni​ 之间的权衡系数矩阵。注意,在标准KF中,协方差矩阵 Ni​ 是一个预设常数。这里,我们加入了下标i,以便于我们随后的扩展。
  • 在每个时间步长i,KF接受噪声测量zi​ 及其对应的协方差矩阵 Ni作为输入,并产生“过滤”后的测量值 \hat{z_i}如下:

3.4.2 卡尔曼滤波+subseq2seq

3.5 训练 

4 实验

4.1 实验数据

4.2 实验结果

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

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

相关文章

高频SQL50题(基础班)-4

文章目录 主要内容一.SQL练习题1.1789-员工的直属部门代码如下&#xff08;示例&#xff09;: 2.610-判断三角形代码如下&#xff08;示例&#xff09;: 3.180-连续出现的数字代码如下&#xff08;示例&#xff09;: 4.1164-指定日期的产品价格代码如下&#xff08;示例&#x…

Java实现音频转码,WAV、MP3、AMR互转

1.背景 最近在集成一款产品支持语音双向对讲&#xff0c;首先是采集小程序的音频下发给设备端&#xff0c;然后可以控制设备录音生成音频链路让小程序播放。在这个过程中发现&#xff0c;设备除了AMR格式的音频外&#xff0c;其他的音频都不支持&#xff0c;而微信小程序有不支…

【Linux】虚拟机连不上外网 (ping www.baidu.com不通)

进入linux系统&#xff0c;打开终端&#xff0c;ping www.baidu.com 发现ping不通 首先我连接的是nat模式 查看是否连接上自己本机的网 切换root用户 使用 ifconfig 命令查看是eth0 还是 ens33 vi /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTOstatic ONBOOTyes …

蓝桥杯每日一题2023.11.10

“蓝桥杯”练习系统 (lanqiao.cn) 题目描述 题目分析 对于此题&#xff1a;我们看到题目要求尽可能大&#xff0c;会联想到二分&#xff0c;注意切出的一定为正方形&#xff0c;其能切出的个数为(h[i] / x) * (w[i] / x)&#xff0c;将所有的个数与要求的个数进行对比&#x…

uniapp在IOS手机下解决时间nan-an-nan问题

废话不多说&#xff0c;直接上代码 if (uni.getSystemInfoSync().platform ios) {// 解决ios手机时间格式化NaN问题date date.replace(/-/g, /);}

springcloudalibaba入门详细使用教程

目录标题 一、简介二、SpringCloud Alibaba核心组件2-1、Nacos (配置中心与服务注册与发现)2-2、Sentinel (分布式流控)2-3、RocketMQ (消息队列)/RabbitMq/kafka2-4、Seata (分布式事务)2-5、Dubbo (RPC) 三、为什么大家看好 Spring Cloud Alibaba3-1、阿里巴巴强大的技术输出…

k8s安装ingress-nginx

目录 前言准备helm安装包修改values.yaml安装ingress测试功能 前言 k8s集群搭建参考&#xff1a; https://blog.csdn.net/centrl/article/details/134291473 整合helm参考&#xff1a; https://blog.csdn.net/centrl/article/details/134293363 安装loadbalance参考&#xff1…

(头哥)多表查询与子查询

目录 第1关&#xff1a;查询每个学生的选修的课程信息 第2关&#xff1a;查询选修了“数据结构”课程的学生名单 第3关&#xff1a;查询“数据结构”课程的学生成绩单 第4关&#xff1a;查询每门课程的选课人数 第5关&#xff1a;查询没有选课的学生信息 第6关&#xff1a…

大语言模型的关键技术(二)

一、Transformer 语言模型存在明显的扩展效应&#xff1a; 更大的模型/数据规模和更多的训练计算通常会导致模型能力的提升。 1、扩展效应的原因&#xff1a; 模型规模&#xff1a;增加模型的规模&#xff0c;即增加模型的参数数量和层数&#xff0c;通常会提高模型的表示能力…

ROS基础知识复习

【置顶】感谢参考&#xff1a;https://zhuanlan.zhihu.com/p/662074088 0.背景 工作一年多没有做 ROS 相关的开发了&#xff0c;最近找工作想做回这一块来&#xff0c;根据参考内容&#xff0c;抽时间给这边的基础知识敲一遍复习一下 1.环境检查 打开了之前的笔记本&#x…

mysql讲解2 之事务 索引 以及权限等

系列文章目录 mysql 讲解一 博客链接 点击此处即可 文章目录 系列文章目录一、事务1.1 事务的四个原则1.2 脏读 不可重复读 幻读 二、索引三,数据库用户管理四、mysql备份 一、事务 1.1 事务的四个原则 什么是事务 事务就是将一组SQL语句放在同一批次内去执行 如果一个SQ…

webpack提升构建速度

目录 配置优化减少 resolve 的解析把 loader 应用的文件范围缩小减少 plugin 的消耗选择合适的 devtool 使用工具thread-loaderDLLPlugin 流程优化拆分构建步骤拆分项目代码 版本更新总结 前端项目随着时间推移和业务发展&#xff0c;页面可能会越来越多&#xff0c;或者功能和…

什么是安全平行切面

安全平行切面的定义 通过嵌入在端—管—云内部的各层次切点&#xff0c;使得安全管控与业务逻辑解耦&#xff0c;并通过标准化的接口为安全业务提供内视和干预能力的安全基础设施。安全平行切面是一种创新的安全体系思想&#xff0c;是实现“原生安全”的一条可行路径。 为什…

Excel下载、Excel上传,邮件发送Excel并带Char图表

Excel上传 前段&#xff1a;ExportToExcel、UploadExcel <!-- 模态框 -文件下载上传 --><div class"modal"><div class"modal-content family"><span class"close" onclick"ModalClose(modal)"></span>…

分类预测 | Matlab实现PSO-LSTM粒子群算法优化长短期记忆神经网络的数据多输入分类预测

分类预测 | Matlab实现PSO-LSTM粒子群算法优化长短期记忆神经网络的数据多输入分类预测 目录 分类预测 | Matlab实现PSO-LSTM粒子群算法优化长短期记忆神经网络的数据多输入分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现PSO-LSTM粒子群算法优化长短…

下载并安装DevEco Studio 3.1,初尝鸿蒙编程

摘自华为官网 DevEco Studio 3.1配套支持HarmonyOS 3.1版本及以上的应用及服务开发&#xff0c;提供了代码智能编辑、低代码开发、双向预览等功能&#xff0c;以及轻量构建工具DevEco Hvigor 、本地模拟器&#xff0c;持续提升应用及服务开发效率。 下载 官网下载地址 HUAWEI…

用python将csv表格数据做成热力图

python的开发者为处理表格和画图提供了库的支持&#xff0c;使用pandas库可以轻松完成对csv文件的读写操作&#xff0c;使用matplotlib库提供了画热力图的各种方法。实现这个功能首先需要读出csv数&#xff0c;然后设置自定义色条的各种属性如颜色&#xff0c;位置&#xff0c;…

19、Flink 的Table API 和 SQL 中的自定义函数及示例(3)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

IDEA常用快捷键大全(详解)

如何在IDEA中进行内容全局查找 在idea中进行全局查找&#xff0c;可以使用快捷键“Ctrl Shift F”或者在菜单栏中选择Edit > Find > Find in Path。在弹出的界面中&#xff0c;输入要查找的内容。如果“Ctrl Shift F”这个快捷键无法实现全局查找&#xff0c;可以尝…

CoRL 2023 获奖论文公布,manipulation、强化学习等主题成热门

今年大模型及具身智能领域有了非常多的突破性进展&#xff0c;作为机器人学与机器学习交叉领域的全球顶级学术会议之一&#xff0c;CoRL也得到了更多的关注。 CoRL 是面向机器人学习的顶会&#xff0c;涵盖机器人学、机器学习和控制等多个主题&#xff0c;包括理论与应用。今年…