欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2015102175255
申请人: 中国地质大学(武汉)
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-23
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种可扩展快速的轨迹聚类方法,其特征在于包括以下步骤:(1)局部MST计算:

(1-1)已知轨迹Ti由Ni个连续不断的点的位置和时间戳组成,其中zj和tj分别表示轨迹Ti中数据点的位置和时间戳,位置由其x坐标和y坐标组成,j∈[1,Ni];STi为Ti的子集,STi中的点为轨迹Ti中的连续点的一部分,轨迹数据D为N个轨迹的集合{T1,T2,...,TN}或者轨迹的子集的集合{ST1,ST2,...,STN};

首先对轨迹数据D建立STR树索引,STR树索引的每个叶子节点存储近似相等的轨迹;然后根据索引的叶子节点将轨迹数据D划分为V个子集D1、D2、…、DV,V为叶子节点数;

(1-2)寻找邻域内的轨迹:

(1-2-1)将V个子集分别分配给一个CPU线程;

(1-2-2)对于每个CPU线程,该CPU线程扫描该CPU线程中的子集的各个轨迹,在任意时间周期tk到tk+1内的两条轨迹T1和T2,T1和T2均为该CPU线程中的子集中的轨迹,T1和T2是和 在时间标记tk到tk+1内的线性插值;所述时间周期tk到tk+1为设置的采样频率的倒数, 和 是时刻tk的点到时刻tk+1的点组成的两条已知的不同线段;

(1-2-3)利用以下时空距离公式近似计算任意两条轨迹的时空距离:其中,Dist(T1,T2)表示任意两条轨迹T1和T2的时空距离, 是随时间变化的欧氏距离,通过以下公式计算:其中, 和 分别表示数据点 的x坐标和y坐标, 和 分别表示数据点 的x坐标和y坐标, 和 分别表示数据点 的x坐标和y坐标,和 分别表示数据点 的x坐标和y坐标;

(1-2-4)判断两条轨迹之间的时空距离是否小于预设值ε,若是则两条轨迹为邻域ε内的轨迹,将两条轨迹进行聚类;

(1-2-5)重复步骤(1-2-2)至步骤(1-2-4),直到每个CPU线程中子集的任意两条轨迹完成聚类;

(1-3)对于每个CPU线程,计算该CPU线程中的每条轨迹到该轨迹的MBB之间的距离,其中任意一条轨迹Ta到其MBB之间的距离利用以下公式计算:其中,M表示轨迹Ta的MBB,g表示轨迹Ta投影到其MBB的线段数目,i表示轨迹Ta投影到其MBB的线段序号,Ta.linei表示轨迹Ta投影到其MBB的第i条线段;

(1-4)生成局部MST:

(1-4-1)设置一个共享队列Q使其对所有CPU线程共享;

(1-4-2)对于每个轨迹,利用公式(1)分别计算该轨迹与其它各轨迹之间的核心距离ε′,若ε′<ε则其他轨迹为该轨迹邻域ε内的轨迹;

(1-4-3)对于每个轨迹,判断该轨迹Ti在邻域ε内的轨迹数目是否大于预设的一个聚类中最少的轨迹数目minNumofTrs,若是则轨迹Ti为核心轨迹,进入步骤(1-4-4);

(1-4-4)在所有两个轨迹之间的核心距离值中,将最小的核心距离值插入队列Q;

(1-4-5)重复步骤(1-4-2)至步骤(1-4-4)直到对每个轨迹判断其是否为核心轨迹;

(2)生成全局MST:

(2-1)创建一个空的MST;

(2-2)归并步骤(1-4)生成的所有局部MST,得到全局MST;

(3)利用粗粒度并行方法或细粒度并行方法从全局MST提取聚类。

2.根据权利要求1所述的可扩展快速的轨迹聚类方法,其特征在于:步骤(1-2)通过FindNeighbor函数寻找邻域内的轨迹。

3.根据权利要求1所述的可扩展快速的轨迹聚类方法,其特征在于:步骤(3)所述的粗粒度并行方法包括以下步骤:利用Hyper-Q将2个以上CPU线程同时连接一个GPU启动GPU内核,从全局MST提取聚类。

4.根据权利要求1所述的可扩展快速的轨迹聚类方法,其特征在于:步骤(3)所述的细粒度并行方法包括以下步骤:(3-1)MST的并行计算:

(3-1-1)并行计算每条轨迹之间的时空距离,将结果以矩阵形式存储到GPU;

(3-1-2)利用GPU线程获取所有轨迹的核心距离,利用所有轨迹的核心距离构成列表L,列表L中的每条信息记录为边(tri,trj,w),表示任意两条互相可达的轨迹tri和trj之间的可达距离w,轨迹tri和trj之间的可达距离w为邻域ε内最小的核心距离;

(3-1-3)扫描所有MST中的轨迹,如果一个轨迹的祖先节点属于它的孩子节点,则构成环;记录下每个环对应的轨迹,删除MST中的环;

(3-2)MSTs的并行归并:

(3-2-1)每个GPU线程合并一对最小生成树MSTs;

(3-2-2)当两个MSTs根节点之间的时空距离小于ε时,通过将一个的根节点指针指向另一个来合并两个MSTs;

(3-2-3)重复步骤(3-2-1)到(3-2-2),直到生成全局MST;

(3-3)聚类的并行提取:

(3-3-1)各个GPU线程并行地初始化每个轨迹,使各个轨迹具有单独的轨迹ID集群标识;

(3-3-2)从所有GPU线程中选取一组GPU线程,该组GPU线程中的每一个GPU线程检查列表L中的一个边,对于边(ti,tj,wij)检查任意轨迹ti与tj是否属于邻域时空距离内的同一聚类,若是则将两条轨迹ti与tj置为相同的聚类ID。