衡量两条轨迹之间的相似度,并且这些轨迹数据是有定位误差和零星采样问题
1 Intro
1.1 background
- 随着物联网设备和定位技术的发展,会产生许多时空相似度很高的轨迹,例如:
- 单个个体被多个定位系统采集
- 比如当用户驾驶汽车在高速上行驶,手机或汽车的GPS、路边的监控摄像头,以及经过的收费站等都会记录用户的位置信息,生成多条轨迹
- 多个个体结伴而行,生成相似度较高的轨迹
- 单个个体被多个定位系统采集
- 本文研究的方向就是设计一种方法来度量两条轨迹之间的相似度
1.2 挑战
- 定位误差问题
- 例如下图(a)中黑和白在现实中处在相同的位置,但二者的定位数据却相差比较远。
- 零星采样问题‘
- 不同的定位系统,它的采样率不尽相同
- 异步(heterogeneous)定位的问题
- 假设黑和白结伴行走,两个定位系统的采样率也相等,但由于两系统的采样时刻不同,导致二人的位置数据并没有时间和位置上的重叠(下图(b))
—》这篇论文希望涉及一种非深度学习的方法,来度量两条轨迹的相似度
2 方法
2.1 整体方法
判断两个轨迹相似于否,就是看在某些时刻(两个轨迹采样时间的并集),两个轨迹都在某一个网格的概率
2.2 S-T Probability Estimation under Location Noise
2.2.1 某一时刻在某一网格的概率(该时刻不在采样点中)
- 首先计算个体在某时刻位于某一位置的概率。
- 为了减小计算成本,将整个空间划分为相同大小的正方形网格,并以网格的中心点来代表该网格的位置
- 之后,计算对于一条轨迹,它在t时刻的位置位于网格ri内的概率
- 此时计算的是t不在采样点的情况
- 比如一条轨迹采样点的时间戳只有t1、t2、t3,想看t1和t2之间某时刻个体所在的位置,就可以通过该方法进行一个预测。
- 实际上就是一个条件概率的形式
- (1)
- 【已知t1时刻在l1,t2时刻在l2,..... ti时刻在li,时刻在,.....tn时刻在ln,那么t1时刻在l1,t2时刻在l2,..... ti时刻在li,t时刻在ri,时刻在,.....tn时刻在ln的概率】
- 通常认为轨迹里的位置符合马尔可夫性质,也就是当前位置只受上一个位置的影响,而不受其他点的影响。
- ——>上述公式可以简化为:(2)
- 只考虑三个时刻
- 此时计算的是t不在采样点的情况
2.2.2 考虑定位误差
- 论文方法要考虑定位误差带来的影响,因此对于采样点的位置l,希望将其表示为概率分布的形式,而不是一个确定的点。
- 论文通过最常用的高斯分布来模拟定位误差的概率分布情况
- 将网格r的位置作为高斯分布的期望值
- f(r, li)代表对于采样点中的位置li,其真实位置位于网格r内的概率。
- li与r的距离越近,对应的概率就越高
- 论文通过最常用的高斯分布来模拟定位误差的概率分布情况
- 将公式(3)融入公式(2)中
由2.3的转移概率得到
2.2.3 任意时刻在某一网格的概率
2.3 Personalized Transition Probability Estimator
- 计算转移概率
- 个体从时刻ti到ti+1,从位置li转移到位置li+1的概率
- 在很多方法中,转移概率都是基于大量的历史数据,通过计数的方式来计算的
- 然而本文中,在没有历史数据做支撑的情况下,通过个体的速度信息来计算转移概率。
- 许多同样基于速度来计算转移概率的工作为了计算简单,会假设物体的速度固定不变,这显然是不合理的。
- 在本文的方法中,会为每条轨迹生成其单独的速度概率分布,并充分考虑移动过程中速度的变化,这也体现了该方法名字中的个性化(personalized)这一含义
- 首先根据两个采样点之间的数据和间隔时间,计算两点间的平均速度,生成一个速度数组S
- 之后通过核密度估计来得到该轨迹速度的概率分布情况
- 本文选择了最常用的高斯核函数,将带宽h设为,来计算速度数组的分布情况
- ——>想计算两个位置间的转移概率时,我们先计算两个位置间的平均速度,代入图像中对应的概率值,就是其转移概率
2.4 Spatial-Temporal Similarity Measure
2.4.1 Co-location Probability Estimation
- 现在知道了如何去计算STP,也就是对于某一条轨迹,在时刻t,个体位于网格r内的概率。
- 那么,对于两条轨迹,他们在同一时刻t位于同一网格r内的概率,就用两条轨迹的STP相乘,然后对每一个可能的网格进行求和就可以了
- 根据时间的情况,STP有三种计算方式(公式5),所以这里的CP也有相应的三种计算方式
-
- 这里为了简化,并不是任意时刻,而是两条轨迹采样点的交集
- 比如说,有两条轨迹Tra1和Tra2,它们各自有三个采样点t1、t2、t3和t4、t5、t6,取它们时间戳的并集。
- 假设只有t3和t4相等,其余各不相同,那么t的范围就是t1、t2、t3、t5、t6
- t3使用的是第一行,其他的四个时刻使用的是第二行
- 这里为了简化,并不是任意时刻,而是两条轨迹采样点的交集
-
2.4.2 Spatial-Temporal Similarity
- 在2.4.1,已经计算了在某一时刻,两条轨迹位于同一网格内的概率,相当于已经在空间维度上做了一次求和
- 那么很自然,再从时间维度上做一次求和,就可以得到两条轨迹整体的相似性
- 用STS来表示:
- 轨迹的绝对值代表轨迹采样点的数量。
2.5 时间复杂度
3 实验
3.1 数据集
- 出租车数据集 DT
- 422辆出租车的轨迹,大约有170万条,采样率为15秒
- 商场数据 DS
- 某大型商场中行人的轨迹,大约是一万两千多条
作者对两个数据集都做了处理,删掉了采样数小于20的轨迹。
3.2 Performance Metrics
3.2.1 生成ground-truth
-
轨迹相似度一直以来存在的问题是没有ground-truth(我只能收集到一条条轨迹,不知道哪条和哪条比较相似)
-
论文将一条轨迹交替采样,分成两条轨迹
-
将这两条轨迹称为同源的轨迹
-
——>这样就相当于手动生成了两条相似度极高的轨迹。
-
因为我们知道这两条轨迹的相似度很高,如果进行轨迹匹配,对方就是匹配的最佳结果,因此也相当于获得了ground-truth。
-
同时这种将一条轨迹分成两条的方式也模拟了异步采样的场景,可以说是一举多得。
-
3.2.2 评估标准
- 通过3.2.1,将数据集D划分成两个同源的数据集D(1)和D(2)
对每一条在Tra(1)中的轨迹,计算其和D(2)中每一条轨迹的相似程度,我们将Tra(1)中这条轨迹对应的在Tra(2)中的轨迹 的相似度排名为ri(也就是同源的轨迹是第ri像的)
- 平均排名
- 平均准确率
- 如果ri=1,那么pi=1;否则=0