论文笔记:TMN: Trajectory Matching Networks for PredictingSimilarity

2022 ICDE

1 intro

1.1 背景

轨迹相似度可以划分为:

  • 非学习度量方法
    • 通常是为一两个特定的轨迹距离度量设计的,因此不能与其他度量一起使用
    • 通常需要二次时间(O(n^2))来计算轨迹之间的精确距离
  • 基于学习的度量方法
    • 利用机器学习技术学习轨迹的适当表示,用于任何一种距离度量
    • 在预处理阶段(训练阶段?)之后,数据库中的每条轨迹都被转换成d维空间中的一个向量
      • 然后,两条轨迹之间的相似性可以通过两个相应向量之间的距离(例如,欧几里得距离)来近似,这只需要O(d)时间
      • 通过这样做,计算轨迹之间的相似性变得高度时间有效
      • 比DTW快了大约6个数量级

1.2 现有基于学习的方法的瓶颈

  • 基于学习的模型将轨迹嵌入为多维点,这些模型计算距离的效率没有区别
  • 几乎所有现有的基于学习的方法都是基于递归神经网络(RNNs)设计的
    • 在这个框架下,每个轨迹的表示几乎都是在训练过程中独立于其他轨迹学习的
      • ——>侧重于每个单独轨迹的内部信息,但忽略了轨迹之间的信息,即轨迹之间的相互作用/相关性
      • 这些相互作用/相关性指的是轨迹之间的信息,具体来说,是点匹配信息

  • 红线和灰线都表示轨迹之间的点匹配
    • 在相似性计算过程中轨迹之间的顶点对应关系
    • 轨迹之间缺乏相关性导致了这些基于学习的模型在近似精度方面的性能有限

1.3 motivation

  • 传统轨迹距离度量首先找到两个轨迹之间的点的匹配,然后累积这些匹配对的信息以获得轨迹相似性分数
    • 如上图的DTW,轨迹距离计算严重依赖于一对轨迹之间的点匹配过程
  • 基于学习的方法都忽略了这个重要的信息,即轨迹之间的点的映射
    • ——>这些模型不能在训练过程中适应地捕捉两个轨迹之间用于相似性计算的相关性,从而限制了近似精度
  • ——>论文使用attention机制,在计算轨迹相似性时捕捉到每个点的匹配点
    • 之前使用attention的轨迹相似度方法主要用于一个轨迹内的点,不能正确捕捉轨迹之间的相关性

1.4 论文方法

  • 论文提出了一种名为TMN的新型基于匹配的模型,用于学习近似轨迹相似性
    • Trajectory Matching Networks

    • 利用一种匹配机制,其目标是将一条轨迹中的点匹配到另一条轨迹中的点

    • 匹配机制本质上依赖于注意机制,它能够计算点之间的相似性,以便点可以跨轨迹匹配

    • 然后将匹配信息与轨迹的空间信息结合起来,并送到一个RNN,用RNN来学习轨迹表征

2 related work

这里就说一点吧,论文提到了GTS框架,其目标是解决空间网络(道路网络)上的轨迹相似性学习问题。

论文的方法是不涉及网络结构(GTS:graph中的一系列节点,本文:轨迹的坐标元组)

本文使用非GTS框架进行实验

3 Preliminary

3.1 轨迹

按时间戳 t 排序的样本点序列。

每个样本点 p 都是二维空间中的一个位置

轨迹 T 由一系列样本点表示,T=(p(1),p(2),…,p(n))

通常,点p(i) 被表示为经度=lon(i) 和纬度=lat(i)。

3.2 轨迹相似性学习

给定一个特定的轨迹相似性度量f(⋅,⋅) 和一对轨迹Ti,Tj,轨迹相似性学习旨在学习一个近似相似性函数g(Ti,Tj) 以最小化∣∣f(Ti,Tj)−g(Ti,Tj)∣∣

3.3 距离度量

  • 已经提出了相当多的轨迹距离度量来测量轨迹之间的(不)相似性
  • 不同的距离度量强调轨迹中包含的不同信息
  • 论文主要使用ERP、EDR和LCSS

H(Ti) 是Ti 中的第一个点(头)

R(Ti) 代表包含 Ti 中除第一个点之外的其余点的子轨迹

4 方法

4.1 方法

4.2 采样方法

  • 在训练过程中需要向TMN提供轨迹对
    • 对训练集中的每条轨迹采样两种类型的轨迹:一种是靠近锚轨迹的轨迹,另一种是远离锚轨迹的轨迹
    • Traj2SimVec将轨迹均匀压缩成相同数量的段,然后构建一个k-d树来存储简化的轨迹
      • 在k-d树的帮助下,Traj2SimVec从k-d树中锚轨迹的k个最近邻中选择近样本
      • 然而,这种方法可能会遇到以下缺点
        • Traj2SimVec的采样方法在所有距离度量下保持不变,因此它可能无法很好地捕获每个距离度量的相似性信息
        • 由于近样本总是从k个最近邻中选取的,其中k在Traj2SimVec中设定为5,该模型只能选择这些数据作为近样本,并忽略k-d树中的所有其他点
  • ——>论文提出了一种不同的采样方法
    • 对于一个锚轨迹Tanc​,论文从训练集中随机选择2k个样本
    • 然后,我们根据这些样本离Tanc​的距离对它们进行排序,并将排序后的样本记录在一个列表中(T1​,T2​,…,T2k​)
    • 使用前k个轨迹形成近训练对,最后k个轨迹作为远训练样本
    • ——>这种策略确保在每个小批量中,近样本总是比远样本更接近锚轨迹
    • ——>与Traj2SimVec相比,可以使用这种方法采样更多的轨迹作为近训练样本,而且不同的轨迹相似性度量下训练样本会有所不同

4.3  训练目标

  • 给定一个特定的距离度量,预计算距离矩阵D以供训练和测试使用
    • 在训练期间,D_{tn \times tn} \in R^{tn \times tn}被用来提供训练对之间的距离,其中 tn 代表训练集中的轨迹数量。
    • 由于轨迹距离度量衡量的是轨迹之间的距离而不是相似性,距离矩阵D被转换为相似性矩阵 S∈Rn×n (这里个人觉得n就是tn?)
    • S=exp(−α⋅D),其中Si,j​∈(0,1) 被用作Ti和Tj之间的相似性
  • 近似轨迹相似性本质上是一个回归问题,因此论文使用均方误差(MSE)作为损失函数
  • 损失函数由两部分组成
    • 第一部分,全局角度
      • 轨迹对的基本真实相似性与预测相似性之间的差异
        • Ta是锚轨迹,Ts是采样轨迹
        • Oa,Os是对应的表征
        • Was是一个权重,和Ta越相似的采样轨迹,Was越大
          • 假设我们为一个锚轨迹抽样 n 个轨迹作为近样本,然后我们根据它们与锚轨迹的相似性按降序排列这些样本,并得到一个样本列表
          • 进一步地,这些排名的样本使用以下列表被分配权重,
        • ——>最接近锚轨迹的轨迹被分配最大的权重,以便 TMN 主要受到更近的轨迹的影响
    • 第二部分:子轨迹角度
      • 每条轨迹都包含许多子轨迹,这些子轨迹之间的距离可以在训练期间预先计算出来
      • 这些额外的训练数据有助于提高 TMN 的学习能力
      • 训练集中的轨迹被划分为几个子轨迹,计算出每一对子轨迹之间的距离。然后,计算子轨迹损失
          • T_a^{(:i)}表示包含了前i个点的Ta,o_a^{(i)}表示对应的向量
          • r是在训练期间使用的子轨迹对的数量
        • 在 TMN 中,通过将第一个点作为起点,每10个点作为一个新的终点来抽取子轨迹。
          • 例如,给定长度为 53 的轨迹 Ta​,抽取五个子轨迹Ta​[1:10],..., Ta​[1:50]
  • ——>总体损失函数

5 实验

5.1 数据集

  • Geolife由北京的182个用户收集,它包含了一系列广泛的人类户外运动,这些运动是用户的GPS位置。总共,Geolife中有17,612条轨迹。
  • Porto包含超过170万辆车辆路线轨迹,主要由葡萄牙波尔图的442辆出租车收集。

  • 遵循以前的工作,过滤掉位于稀疏区域的轨迹,保留位于城市中心区域的轨迹进行训练和测试。
  • 还移除了少于10条记录的轨迹。
    • 这是因为计算较长序列的相似性更困难且耗时。
      • 因此,这些较长的计算时间更明显地显示了模型之间的差异。
    • 此外,轨迹数据集通常以许多GPS错误和其他问题为特征,受影响的短轨迹严重受到这些错误的影响。
  • 经过预处理后,Geolife数据集中大约有8,000条轨迹,Porto数据集中有600,000条轨迹。

5.2 评估标准

在实验中采用了Hausdorff、Fréchet、DTW、ERP、EDR、LCSS距离度量。

  • 遵循之前的工作,进行轨迹相似性搜索,以评估不同模型在两个数据集上的性能。
    • 采用HR-10、HR-50和R10@50作为主要的评估指标。
      • HR-k是前k个命中比率,它检查由学到的前k个结果恢复的基准真实轨迹的重叠百分比,即前k个结果和基准真实值的重叠百分比。
      • Rk@t是对前k个基准真实值的前t个召回,它评估了由不同方法产生的前t个中恢复的前k个基准真实值。更高的召回值表示性能更好。

5.3 实验结果

5.3.1 效果

5.3.2 有效性

5.3.3 不同采样效果(使用or不使用KD树)

5.3.4 不同超参数的影响+是否使用子轨迹loss的影响

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

源码编译tcpreplay,及使用方法

编译步骤: 下载源码 解压 ./configure make sudo make install 使用方法: tcpreplay --loop1 --intf1网卡名 -x1 pcap文件名 实测结果: 左边是输入的tcpreplay命令 右边是tcpdump截获的udp包

[MAUI程序设计] 用Handler实现自定义跨平台控件

今天来谈一谈MAUI跨平台技术的核心概念——跨平台控件。 无论是MAUI,Xamarin.Forms还是其它的跨平台技术,他们是多个不同平台功能的抽象层,利用通用的方法实现所谓“一次开发,处处运行”。 跨平台框架需要考虑通用方法在各平台的兼容,但由于各原生平台(官方将原生称为本…

ffmpeg、ffplay在线安装,离线导出整个程序,移植到其他服务器使用(linux系统)

环境说明 以ubuntu系统作为说明 在线安装 下面命令会同时安装ffplay和ffmpeg sudo apt-get install ffmpeg怎么验证安装成功? 输入ffmpeg命令 ffmpeg,如图则说明安装成功 转储可执行程序和依赖的文件 找到安装路径,一般在/usr/bin目录…

C++标准模板(STL)- 类型支持 (std::size_t,std::ptrdiff_t,std::nullptr_t)

对象、引用、函数&#xff08;包括函数模板特化&#xff09;和表达式具有称为类型的性质&#xff0c;它限制了对这些实体所容许的操作&#xff0c;并给原本寻常的位序列提供了语义含义。 附加性基本类型及宏 sizeof 运算符返回的无符号整数类型 std::size_t 定义于头文件 <…

电脑显示系统错误怎么办?

有时我们在开机时会发现电脑无法开机&#xff0c;并显示系统错误&#xff0c;那么这该怎么办呢&#xff1f;下面我们就一起来了解一下。 方法1. 替换SAM文件解决问题 1. 重启电脑并进入安全模式。 Win8/10系统&#xff1a;在启动电脑看到Windows标志时&#xff0c;长按电源键…

机器人中的数值优化(二十)——函数的光滑化技巧

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考&#xff0c;主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等&#xff0c;本系列文章篇数较多&#xff0c;不定期更新&#xff0c;上半部分介绍无约束优化&#xff0c;…

大数据Flink(九十五):DML:Window TopN

文章目录 DML:Window TopN DML:Window TopN Window TopN 定义(支持 Streaming):Window TopN 是一种特殊的 TopN,它的返回结果是每一个窗口内的 N 个最小值或者最大值。 应用场景

zemax场曲/畸变图与网格畸变图

网格畸变是XY两个方向上的几何畸变&#xff0c;是不同视场实际像高与近轴像高的偏差。 垂轴放大率在整个视场范围内不能保持常数 当一个有畸变的光学系统对一个方形的网状物体成像时,若δy>0&#xff0c;则主光线的交点高度y比理想像高y低,视场越大&#xff0c;低得越多&a…

Apache Derby的使用

Apache Derby是关系型数据库&#xff0c;可以嵌入式方式运行&#xff0c;也可以独立运行&#xff0c;当使用嵌入式方式运行时常用于单元测试&#xff0c;本篇我们就使用单元测试来探索Apache Derby的使用 一、使用IDEA创建Maven项目 打开IDEA创建Maven项目&#xff0c;这里我…

ESP32设备驱动-OLED-SSD1306(I2C)显示屏驱动

OLED-SSD1306(I2C)显示屏驱动 1、OLED介绍 OLED显示屏是指有机电激发光二极管(OrganicLight-EmittingDiode,OLED)由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一…

Vue3切换路由白屏刷新后才显示页面内容

问题所在&#xff1a; 1.首先检查页面路由以及页面路径配置是否配置错误。 2.如果页面刷新可以出来那证明不是配置的问题&#xff0c;其次检查是否在根组件标签最外层包含了个最大的div盒子包裹内容。&#xff08;一般vue3是可以不使用div盒子包裹的&#xff09; 3.最后如果…

无线WIFI工业路由器可用于楼宇自动化

钡铼4G工业路由器支持BACnet MS/TP协议。BACnet MS/TP协议是一种用于工业自动化的开放式通信协议&#xff0c;被广泛应用于楼宇自动化、照明控制、能源管理等领域。通过钡铼4G工业路由器的支持&#xff0c;可以使设备间实现高速、可靠的数据传输&#xff0c;提高自动化水平。 钡…

ARMday2

1~100累加 代码 .text .globl _start _start:mov r0, #1 fun:cmp r0,#100addls r1,r1,r0addls r0,r0,#1b fun .end运行结果

macOS 14 Sonoma 如何删除不需要的 4k 动态壁纸

概览 在升级到 macOS 14&#xff08;Sonoma&#xff09;之后&#xff0c;小伙伴们惊喜发现  提供了诸多高清&#xff08;4k&#xff09;动态壁纸的支持。 现在&#xff0c;从锁屏到解锁进入桌面动态到静态的切换一气呵成、无比丝滑。 壁纸显现可谓是有了“天水相连为一色&…

list(链表)

文章目录 功能迭代器的分类sort函数&#xff08;排序&#xff09;merage&#xff08;归并&#xff09;unique(去重&#xff09;removesplice&#xff08;转移&#xff09; 功能 这里没有“[]"的实现&#xff1b;原因&#xff1a;实现较麻烦&#xff1b;这里使用迭代器来实…

c语言 - 实现每隔1秒向文件中写入当前系统时间

实现思路 主要是通过库函数和结构体获取当前系统时间&#xff08;年月日和时分秒&#xff09;保存到变量里&#xff0c;然后通过格式化输出函数将当前系统时间输出到文件中去。 但是需要注意的是题目要求每隔 1 s对系统时间进行输出&#xff0c;所以需要加入 sleep()函数进行调…

设计模式10、外观模式Facade

解释说明&#xff1a;外观模式&#xff08;Facade Pattern&#xff09;又称为门面模式&#xff0c;属于结构型模式 Faade 为子系统中的一组接口提供了一个统一的高层接口&#xff0c;该接口使得子系统更加容易使用 外观&#xff08;Facade)角色&#xff1a;为多个子系统对外提供…

学信息系统项目管理师第4版系列15_资源管理基础

1. 项目资源 1.1. 实物资源 1.1.1. 着眼于以有效和高效的方式&#xff0c;分配和使用完成项目所需的实物资源 1.1.2. 包括设备、材料、设施和基础设施 1.2. 团队资源 1.2.1. 人力资源 1.2.2. 包含了技能和能力要求 2. 人力资源管理 2.1. 不仅是组织中最重要的资源之一&…

科技资讯|AirPods Pro基于定位控制的自适应音频功能

在接受 TechCrunch 媒体采访时&#xff0c;苹果高管 Ron Huang 和 Eric Treski 谈到了关于 AirPods Pro 自适应音频&#xff08;Adaptive Audio&#xff09;功能的轶事&#xff0c;曾考虑基于 GPS 信号来控制自适应音频级别。 Treski 表示在探索自适应音频功能初期&#xff0…

【C++进阶之路】C++11(上)

文章目录 一、列表初始化1.{}2.initializer_list 二、声明1.auto2.deltype 三、右值与左值1.基本概念2.应用场景1.左值引用2.右值引用3.完美转发4.万能引用 四、新增默认成员函数五、lambda表达式1.基本语法1.1捕捉列表1.2参数列表1.3返回类型1.4函数体 2.底层原理 总结 一、列…