1 论文笔记:Efficient Trajectory Similarity Computation with ContrastiveLearning
2022CIKM
1 intro
1.1 背景
- 轨迹相似度计算是轨迹分析任务(相似子轨迹搜索、轨迹预测和轨迹聚类)最基础的组件之一
- 现有的关于轨迹相似度计算的研究主要可以分为两大类:
- 传统方法
- DTW、EDR、EDwP等
- 二次计算复杂度O(n^2)
- 缺乏稳健性
- 会受到非均匀采样、噪点的影响
- 基于学习的方法
- 旨在减少计算复杂度和/或提高稳健性
- 根据它们的目的将它们分为两个方向
- 神经逼近方法
- 利用强大的神经网络在隐藏空间中逼近任何现有的轨迹测量
- 训练一个神经网络g以将轨迹编码到隐藏空间
- 最小化估计的相似性和基准之间的差异
-
- Dh是隐藏空间中的差异(相似性)测量(例如,欧几里得距离)
-
-
- 不需要两个轨迹之间的点对齐,因此计算复杂度在轨迹的长度上是线性的
- 由于要逼近的测量而遭受 稳健性问题
- auto-encoder 方法
- 无监督地学习映射函
- 为了提高潜在表示相对于低质量的鲁棒性,这些方法采用了不同的策略
- t2vec利用去噪顺序自编码器
- Trembr整合了路网信息并设计了多个任务
-
- 在训练编码模型方面 效率低下。
- 这是由于顺序自编码器架构的固有限制,其中解码过程和逐步重构非常耗时
- t2vec 在 Tesla K40 GPU 上训练 2千万轨迹的一个epoch大约需要 14 小时,平均每个轨迹有 60 个样本
-
- 这些方法试图学习相同基础路线轨迹(高采样轨迹)的一致表示以解决质量问题
- 换句话说,即使来自相同基础路线的轨迹具有不同的采样率和噪点,表示应该是相同的
- 论文认为,由于他们的目标是重构轨迹而不是基础路线,顺序自编码器无法实现这一目标
- ——>对于顺序自编码器来说, 获得一致的表示是非常困难的
-
-
- 神经逼近方法
- 传统方法
1.2 论文思路
- 提出了一种基于对比学习的轨迹相似性计算的新型鲁棒模型(CL-TSim)
- 遵循常见的范例,首先学习轨迹的表示,然后使用欧几里得距离在编码空间中计算轨迹之间的相似性
- 对轨迹 Ti 进行预处理,以获得增强轨迹 Tj
- 其中使用下采样和扭曲增强来适应轨迹特征,包括非均匀采样率和噪点
- 同时将它们编码到隐藏空间并最大化它们之间的一致性
- 遵循对比学习架构,CL-TSim 只包含一个编码器和一个投影器
- 编码器用于编码原始轨迹以学习它们的表示
- 投影器用于将表示映射到损失函数的度量空间
- 与顺序自编码器相比,它不需要解码器和逐步重构,这可以显著减少训练时间。
2 Preliminary
2.1 基础路线
- 由移动对象生成的连续空间曲线
- 只存在于理论中,因为配备了 GPS 的设备无法连续记录时空位置
2.2 轨迹
- 移动对象的轨迹,记为 T
- 从基础路线中采样的一系列有限点的序列,形式为 𝑇=((𝑥1,𝑦1,𝑡1),(𝑥2,𝑦2,𝑡2),...,(𝑥𝑛,𝑦𝑛,𝑡𝑛))
- xi,yi 代表在时间戳 𝑡𝑖 的采样位置的经度和纬度信息
- 受采样方法和设备的影响,轨迹通常基于不同的采样率生成,并包含有噪点
2.3 问题定义
给定一组轨迹,我们的问题是设计一个高效且鲁棒的模型,以计算轨迹之间的相似性,目标如下:
1)高效的表示学习:有效地为每个轨迹 T 学习一个表示 t,其中 t 可以反映轨迹 T 的基础路线,用于计算轨迹相似性;
2)模型的鲁棒性:换句话说,两个任意轨迹Ti 和Tj 之间的相似性是一致的,不受非均匀采样率和噪点的影响
3 模型
4 实验
4.1 数据

4.2 评估方法
4.2.1 自相似性
- 给定一组轨迹,随机选择 m 条轨迹和 n 条轨迹,分别记为 Q 和 D
- 对于 Q 中的每条轨迹,通过交替从中取点来创建两个子轨迹(称为双胞胎轨迹),并将第一个子轨迹加入 Q1,而另一个加入 Q2
- 对于 Q1 中的每条轨迹,称为查询轨迹,我们在Q2∪D 中检索最相似的轨迹,称为数据库轨迹
- 显然,Q2 中的轨迹应该排在 D 之前,因为它们是由与 Q1 中相同的轨迹生成的
- 假设 Ti 是 Q1 中的一个查询轨迹,而 Tj 是 Q2 中的相应双胞胎轨迹
- 计算 Ti 与 Q2∪D1 之间轨迹的相似性,根据相似性对轨迹进行排序,并记 Tj 的排名为 ri
- 基于此,采用两个广泛使用的度量标准,即精确度 P 和平均排名 MR
当 ri 等于 0 时,pi 等于 1;否则,pi 等于 0。(只有查询数据集里面Tj是最相似的,才会是1)
更大的 P 或更小的 MR 值意味着更好的自相似性性能。
4.2.2 交叉相似性
一个好的相似性度量应该能够保持两个不同轨迹之间的相似性,而不考虑数据采样策略
交叉距离偏差(CDD)来评估性能

Ta 和 Tb 是具有原始率的两个不同的轨迹,Ta′(rd) 是通过以 d 的速率随机丢弃(或扭曲)样本点获得的Ta 的变体,而 Tb′(rd) 是以与 Ta′(rd) 相同的方式获得的 Tb 的变体。
较小的 CDD 值表明评估的相似性(即,距离)更接近真实值。
4.3 结果





、
相关文章:
1 论文笔记:Efficient Trajectory Similarity Computation with ContrastiveLearning
2022CIKM 1 intro 1.1 背景 轨迹相似度计算是轨迹分析任务(相似子轨迹搜索、轨迹预测和轨迹聚类)最基础的组件之一现有的关于轨迹相似度计算的研究主要可以分为两大类: 传统方法 DTW、EDR、EDwP等二次计算复杂度O(n^2)缺乏稳健性 会受到非…...
如何做一个基于 Python 的搜索引擎?
怎么做一个基于 python 的搜索引擎? 1、确定搜索引擎范围和目标用户 在决定做一个基于Python的搜索引擎之前,首先需要确定搜索引擎的范围和目标用户。搜索引擎的范围可以包括新闻、商品、音乐等,不同的领域需要不同的数据来源和处理方式。同…...
Python报错:KeyError: ‘820‘
Python报错:KeyError: ‘820’ 问题描述 原因 操作的表格列名是数字 NIRdata[820] Rdata[630]以上是出错行,dataframe的这种索引方式不支持用数字。 解决方案 先修改列名为字符 然后将出错行改为对应列名 NIRdata[nir] Rdata[r]...
【kubernetes】kubernetes中的Deployment使用
1 Why need Deployment? K8S中Pod是用户管理工作负载的基本单位,Pod通常通过Service进行暴露,因此,通常需要管理一组Pod,RC和RS主要就实现了一组Pod的管理工作,其中,RC和RS的区别在于,RS提供更…...
百度2024校招机器学习、数据挖掘、自然语言处理方向面试经历
本文介绍2024届秋招中,百度的机器学习/数据挖掘/自然语言处理工程师岗位一面的面试基本情况、提问问题、代码题目等。 8月初参与了百度提前批的机器学习/数据挖掘/自然语言处理工程师岗位面试,所在部门是搜索方向的。一面结束之后就知道凉了,…...
RabbitMQ原理(二):SpringAMQP编程
文章目录 3.SpringAMQP3.1.导入Demo工程3.2.快速入门3.1.1.消息发送3.1.2.消息接收3.1.3.测试3.3.WorkQueues模型3.3.1.消息发送3.3.2.消息接收3.3.3.测试3.3.4.能者多劳3.3.5.总结3.4.交换机类型3.5.Fanout交换机3.5.1.声明队列和交换机3.5.2.消息发送3.5.3.消息接收3.5.4.总结…...
什么是SQL注入(SQL Injection)?如何预防它
什么是 SQL 注入(SQL Injection)?如何预防它? SQL注入(SQL Injection)是一种常见的网络安全漏洞,攻击者通过在应用程序的输入中插入恶意SQL代码来执行未经授权的数据库操作。SQL注入攻击可能导…...
metrology
创建模型:create_metrology_model 设置图像大小:set_metrology_model_image_size 添加测量模型:add_metrology_object_rectangle2_measure 设置对象参数:set_metrology_object_param 设置模型参数:set_metrology_model…...
UE学习记录06----根据Actor大小自适应相机位置
背景: staticMesh 会根据业务需要随时变化,然后通过staticMesh的大小自适应相机位置,捕捉画面用来预览该模型,使模型在画布中不会太大导致显示不全,也不会太小 参考: UE实现相机聚焦物体功能_右弦GISer的…...
Go-Python-Java-C-LeetCode高分解法-第八周合集
前言 本题解Go语言部分基于 LeetCode-Go 其他部分基于本人实践学习 个人题解GitHub连接:LeetCode-Go-Python-Java-C 欢迎订阅CSDN专栏,每日一题,和博主一起进步 LeetCode专栏 本文部分内容来自网上搜集与个人实践。如果任何信息存在错误,欢迎…...
数据结构--并查集
一、并查集的概念 并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。常常在使用中以森林来表示。 最裸并查集: 合并元素a和元素b 所在的集合。查询元素a和元素b 是否属于同一组。是否在一个…...
Leetcode 224. 基本计算器
文章目录 题目代码(10.1 首刷看解析) 题目 Leetcode 224. 基本计算器 代码(10.1 首刷看解析) class Solution { public:int calculate(string s) {stack<int> sk; // 存储正负号sk.push(1);int sign 1;int res 0;int i…...
Linux基础命令汇总
用户管理 su 切换用户:su 用户名 logname 显示当前用户的登录用户名:logname useradd 创建用户:useradd 用户名创建用户时指定用户的主组:useradd -g 组名 用户名 usermod 添加附属组:usermod -G 组…...
JAVA 获得特定格式时间
0 背景 我们有时要获取时间,年月日时分秒周几,有时要以特定的格式出现。这时就要借助 SimpleDateFormat 或者 DateTimeFormatter。有时要某个月份有多少天需要借助 Calendar。所以有必要了解一些知识。 1 SimpleDateFormat simpledateFormat 线程不安全…...
问题: 视频颜色问题,偏绿
参考 什么是杜比视界? - https://www.youtube.com/watch?vldXDQ6VlC7g 【哈士亓说】07:HDR、杜比视界究竟是个啥?为什么这个视频还不是HDR视频? - https://www.youtube.com/watch?vrgb9Xg3cJns 正文 视频应该是 杜比视界 电…...
智能文字识别技术——AI赋能古彝文保护
前言 人工智能在古彝文古籍保护方面具有巨大的潜力和意义。通过数字化、自动化和智能化的手段,可以更好地保护和传承古彝文的文化遗产,促进彝族文化的传承和发展。 文章目录 前言一、古彝文是什么?1.1古彝文的背景1.2古彝文古籍保护背景 二、…...
Linux压缩和解压命令大全:tar、gzip和zip完整教程
文章目录 linux中的压缩和解压命令简介什么是压缩和解压为什么要使用压缩和解压命令压缩命令tar命令创建.tar文件压缩目录压缩多个文件或目录 gzip命令压缩文件压缩后删除原文件压缩整个目录 zip命令创建.zip文件压缩文件或目录设置压缩级别 解压命令tar命令解压.tar文件解压到…...
Vue3 reactive和ref详解
reactive Vue3.0中的reactive reactive 是 Vue3 中提供的实现响应式数据的方法。在 Vue2 中响应式数据是通过 defineProperty 来实现的,在 Vue3 中响应式数据是通过 ES6 的 Proxy来实现的。reactive 参数必须是对象 (json / arr)如果给 reactive 传递了其它对象 默…...
jvs-rules(规则引擎)和jvs智能bi(自助式数据分析)9.22更新内容
规则引擎更新功能 新增: 1.新增节点匹配筛选 用于做多个条件的数据筛选,以便将符合条件的数据传递给下一个节点进行处理,通常用于实现复杂的查询逻辑。 2.复合变量节点新增判断条件选项说明 用户可以根据自己的需求,为复合变量节点添加不…...
Leetcode算法题练习(一)
目录 一、前言 二、移动零 三、复写零 四、快乐数 五、电话号码的字母组合 六、字符串相加 一、前言 大家好,我是dbln,从本篇文章开始我就会记录我在练习算法题时的思路和想法。如果有错误,还请大家指出,帮助我进步。谢谢&…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...


