专利名称:一种基于取样的快速移动对象轨迹聚类方法
技术领域:
本发明涉及一种移动对象轨迹聚类方法,尤其涉及一种适用于大型、低粒度移动对象轨 迹数据快速聚类方法,属于轨迹数据聚类领域。
背景技术:
近几年,随着GPS设备、RFID传感器、卫星和无线通信等技术的快速发展,各种大小的 移动对象都可以在全球范围内被跟踪。这导致海量的移动对象轨迹数据被收集并存储在数据 库中,并迫切需要对这些数据进行有效地分析。 一个典型的数据分析任务是寻找以相同方式 运动的对象,聚类技术可以满足这项任务的需要,这使得移动对象轨迹聚类这一研究方向应 运而生。移动对象轨迹聚类在台风登陆预测、交通堵塞预报和动物移动分析等领域具有十分 广阔的应用。特别地,移动对象轨迹聚类技术的发展为防台抗灾工作带来了契机。
台风是最致命的和最有破坏力的自然灾害之一,每年都给大洋沿岸的国家带来严重的灾 害威胁,这在气象学和灾害学领域已经是一个不争的事实。而气象学家们也一直在研究如何 提高预测台风登陆位置和时间的能力。他们研究表明,通过对靠近海岸线(在登陆时)或海域 内(在登陆前)的历年台风公共子行为进行分析,将有利于提高预测台风登陆位置的精度。因 此,通过引进数据挖掘的能力,对历年台风轨迹数据进行聚类分析,发现尽可能多登陆前的 公共子轨迹,以提高预测台风登陆位置和时间的精度,对防台抗灾工作决策的制定提供帮助, 可大大减轻台风所带来的人员伤亡和经济损失。
目前的轨迹数据分析技术大多将轨迹视为一个整体,没有考虑到公共子轨迹。然而,在 真实世界中, 一条轨迹可能是很长且复杂的路径,即使许多轨迹的一些部分呈现出共同的行 为,但是整条轨迹也许并没有呈现出共同行为。因此,将轨迹作为一个整体进行聚类并不能 发现轨迹的相似部分。而在许多实际应用领域中,特别是需要对感兴趣的区域进行分析(例如 台风轨迹聚类分析),发现公共子轨迹可以提供更多的有用信息,并显得尤为重要。另外,由 于轨迹数据的时间和位置粒度通常都很低,这导致轨迹数据量很大,而目前的轨迹数据分析 技术时间效率和可伸縮性均不高,这严重地制约了它们在大型、低粒度的移动对象轨迹数据 集上的应用。
发明内容
本发明针对目前的轨迹聚类技术需要线性阶的邻域査询操作次数问题而提出一种能高效 分析大型、低粒度的移动对象轨迹数据的方法。
一种基于取样的快速移动对象轨迹聚类方法,包括如下步骤
(1) 用户向移动对象轨迹聚类装置设定输入参数,并由该装置向移动对象轨迹数据发出聚类 分析请求;
(2) 使用最小描述长度原理将每条原始轨迹划分成一个轨迹划分子集合,所有原始轨迹的轨 迹划分子集合构成轨迹划分集合D ;
(3) 根据线段之间的相似性度量,对轨迹划分集合Z)执行基于取样的快速线段聚类方法进行 聚类分析,得到一个轨迹聚类的集合;
(4) 为每个所述轨迹聚类生成一条代表轨迹和一个覆盖区域,然后输出并可视化代表轨迹和 覆盖区域;
(5) 将代表轨迹和覆盖区域这两类轨迹聚类结果返回给用户,然后结束。 本发明是一种适用于大型、低粒度的移动对象轨迹数据的快速聚类方法,该方法在轨迹聚类扩张过程中,根据基于极大连通子图的合并原理,对核心线段的^w邻域以及与该五;w邻 域相重叠的所有轨迹聚类进行合并,形成更大的轨迹聚类,相当于在轨迹聚类分析过程中进 行取样,从而在保持轨迹聚类质量的同时提高了轨迹聚类的时间效率,避免了位于核心线段 五;^邻域内线段的不必要邻域査询操作,解决了目前大多数方法需要对原始轨迹划分后的每 条线段进行邻域查询的问题。
图l是本发明的方法流程图。
图2是本发明中基于取样的快速线段聚类方法流程图。
图3是本发明中根据基于极大连通子图的合并原理进行^w邻域合并过程流程图。
图4是本发明中基于取样的快速线段聚类方法中用于确定输入参数^w的方法流程图。
具体实施例方式
本发明的方法流程如图l所示,这也是移动对象轨迹聚类装置的工作流程图。 图1的步骤10是起始动作,假设GPS设备和RFID传感器等收集到的原始轨迹数据经数 据发送模块发送到计算机,计算机经过数据接收模块接收到这些原始轨迹数据,并对它们进 行预处理后保存到数据库中,得到待进行聚类分析的移动对象轨迹数据对应于轨迹数据集 3T ^(7^,…,ri "叫。),其中77 , =/71;^3.^,.孔 ,(1《""画加),A(l^y^/e",)是一个J维点,
m/wV。是轨迹的总i[目,/ew,是轨迹77 ,的长度,不同轨迹的长度fe",可以不同。
图1的步骤11采用信息论中广泛使用的最小描述长度(Minimum Description Length, MDL)原理对轨迹数据集77 进行近似轨迹划分处理,得到一个轨迹划分(实质为一条线段) 集合Z)。具体地说,步骤11首先根据MDL原理从轨迹中寻找移动对象运动行为迅速改变的点, 即特征点;然后轨迹在每个特征点处被划分,每条轨迹被划分成一个轨迹划分子集合,所有 轨迹对应的轨迹划分子集合组成轨迹划分集合D ,每个轨迹划分由两个连续的特征点表示。 进行轨迹划分有如下两个目的①经过轨迹划分处理后,所述基于取样的快速线段聚类方法 将对划分后的线段而不是整条轨迹进行聚类,这样可保证有效地发现公共子轨迹;②由于轨 迹通常是用带有时间属性的二维点表示,但这种表示方法的时间粒度太低,如果所述基于取 样的快速线段聚类方法直接对轨迹中两个连续时间点之间的线段进行聚类,时间代价太高, 所以要进行轨迹划分。
图1的步骤12根据线段之间的相似性度量,对所述轨迹划分集合Z)执行基于取样的快速 线段聚类方法进行聚类分析,以发现公共子轨迹,其详细说明如图2所示。这里使用对模式 识别教科书中常用的Hausdorff距离进行改编后的距离,共包括垂直距离、水平距离和角距 离这三个要素,来度量线段丄,和线段丄;之间的相似性。
图1的步骤13通过沿与轨迹聚类方向向量相垂直的方向扫描一条直线,计算所有与当前 扫描线相交的线段关于聚类方向向量的平均坐标,来确定代表轨迹中的一个点。继续这一过 程,直到扫描线不再与聚类中的线段相交为止。通过上述方式为每个所述轨迹聚类生成一条 代表轨迹,这相当于模式的表示。同时, 一个轨迹聚类中所有线段的最小外接区域就组成覆 盖区域。轨迹聚类方向向量定义如下设C,'为有向轨迹数据集中的一个轨迹聚类,则C,'中
每条轨迹划分均为有向线段,C,'的轨迹聚类方向向量为C,'中每条线段方向向量之和的单位 向量。输出并可视化代表轨迹和覆盖区域后,移动对象轨迹聚类装置即进入步骤14所示的结 束状态。
图2给出了图1中步骤12的详细描述,具体说明了如何对原始轨迹划分后的轨迹划分集 合D进行聚类分析。图2中的步骤1200是起始状态,步骤1201将线段聚类列表LSC/船&"/W 置为空,步骤1202至步骤1208构成一个循环体,当所有线段都已标号时循环体结束。在循环体的每一轮中,顺序扫描D并从D中选择首次发现的未标号线段Z,对Z进行i:;w邻域査 询,步骤1205判断Z的五;w邻域的势,如果五/w邻域内线段数目少于用户预设的阈值M/"Z/w 例如8,那么暂时将丄视为离群线段或边界线段,否则进入如图3所示的核心线段五jM邻域合 并过程。这里,核心线段^^邻域定义为7V^(丄)-(Sei)I^W(U)2五/w)。当循环体结束 后,步骤1209将线段聚类列表LSC/^fe"W转换为轨迹聚类。最后步骤1210检查每个轨迹 聚类的轨迹势,如果当前轨迹聚类的轨迹势低于给定阈值,基于取样的线段聚类方法将过滤 掉该轨迹聚类。这是因为,所述方法的目的是从轨迹数据中发现公共子轨迹,由于每条轨迹 都经过轨迹划分模块的处理,这使得同一个轨迹聚类中会存在许多来自同一条轨迹的轨迹划 分。当一个轨迹聚类中的轨迹划分来自不同轨迹的数目低于某个阈值时,该轨迹聚类仅表现 少量轨迹的行为或者某一条轨迹的重复行为,这已经与"公共"子轨迹这一目的相违背,所 以在步骤1210中检查每个轨迹聚类的轨迹势很重要。这里,轨迹势定义如下轨迹聚类C,'的
划分轨迹(Participating Trajectories)集合定义为iTi (C,.') = {77 (丄,)| V、 e C;'},其中 7T (丄,)表示轨迹聚类C,'中线段i:,由哪条轨迹被划分得到,l户77 (C,')l称为C,'的轨迹势。步骤
1211是图2的结束状态。
图3给出了图2中步骤1208的详细描述,具体说明了如何将线段集合五;w&e^以及已 发现的与^^S^A相重叠的所有线段聚类进行合并,以达到轨迹聚类扩张操作的目的。步骤 1208是步骤12中所述基于取样的快速线段聚类方法的核心。图3中的步骤120800是起始状 态,步骤120801将6i^^Mwge置为ri [/五,wewC,置为空。步骤120802取线段聚类列表
LSC/MWw"W中的第一个线段聚类q ,步骤120803至步骤120813构成一个循环体,该循环
体实质是一个根据下述基于极大连通子图的合并原理进行轨迹聚类扩张的过程。如果两条核 心线段之间的距离小于等于2x五;^,则这两条核心线段是邻接核心线段。这样就可以用无向
图来描述轨迹聚类分析过程中取样的核心线段,图的顶点是核心线段,邻接核心线段之间有 一条边,处于同一个极大连通子图中的核心线段组成一类,该类中核心线段的^w邻域就组 成了一个轨迹聚类。基于取样的快速线段聚类方法把求上述无向图的极大连通子图融入到发 现轨迹聚类的过程中。另外,由于线段之间的距离函数不满足三角不等式,会存在两个五/w邻 域之间存在重叠而它们的核心线段之间距离却大于2x五/w的情况,这会导致轨迹聚类的分 裂。所以当一条核心线段与一个轨迹聚类中所有5/^邻域的核心线段之间距离都大于2x五戸 时,再判断该核心线段的五;^邻域是否与轨迹聚类中某一条核心线段的^w邻域存在重叠。
在图3中的循环体的每一轮中,对线段聚类列表ZSC/"W^"W中的每个线段聚类q,步 骤120804判断当前线段聚类q与当前线段的五/w邻域之间是否重叠,如果存在重叠,就需要 合并。在首次合并时,步骤120806至步骤120809先将该线段聚类与五;^See^合并,合并的 结果保存到"ewC,.中,同时将核心线段和组成该线段聚类的五/w邻域对应的核心线段都加入到 "ewC,对应的核心线段表中,然后用^wC,代替丄SC/M欲AW中的当前线段聚类C,,最后将 6i^wMwge置为FAL^ 。否则步骤120810至步骤120812将该线段聚类C,添加到wewC,,同 时将该线段聚类对应的核心线段表加入到wewC,对应的核心线段表中,并从聚类列表中删除
该线段聚类。步骤120813取线段聚类列表LSC/船fe"W中的下一个线段聚类,重复上述过程。 对于五jw&eA与当前线段聚类列表中的线段聚类都不存在重叠的情况,步骤120814至步骤 120816将E;w&eA作为一个新线段聚类加入线段聚类列表,并将核心线段加入到线段集合 5;w&e&对应的核心线段表中。步骤120817是图3的结束状态。
图4详细说明了本发明使用的基于取样的快速线段聚类方法中用于确定输入参数五/w的 方法。图4中的步骤200是起始状态。步骤201设定初始温度r、步长W印、每个r值需迭
6代次数C和连续未接受新解次数阈值t/C 。步骤202至步骤212以及步骤214构成一个外循 环体,当已连续未接受新解次数大于连续未接受新解次数阈值t/C时循环体结束。在外循环 体的每一轮中,首先步骤202将每个r值已迭代次数c" 置为0、五/w起始值s置为 和已连 续未接受新解次数ww」cce;^CW置为0,然后步骤203至步骤212以及步骤214构成的内循环 体为每个r值迭代C次,最后步骤213将r重置为A:x:r (A为Boltzmann常数),继续外循环 体。
在图4中的内循环体的每一轮中,步骤204修改模型,即产生新解(状态)?w + s哗, 步骤205计算接受新解?后导致熵值的变化量么,'=//(^)-//(力,如果新解W对应的熵值 /^')小于当前解s对应的熵值//00,则步骤207接受这次状态改变,否则如果熵值/fCO反 而更高,则按照概率e—"'/7"接受这次状态改变。如果已连续未接受新解次数w"^o^^C加大于 连续未接受新解次数阈值f/C,即朋^^声C"Z大于t/C,那么进入图4中步骤214的结束状 态。这里,熵值的定义如下
从以上具体实施方式
可看出,本发明的方法在进行移动对象轨迹数据聚类分析时,首先 进行轨迹划分,然后基于划分后的线段集合进行基于取样的快速线段聚类,最后生成代表轨 迹和覆盖区域。这种独特的基于取样、并将邻域和密度的思想相结合的轨迹数据聚类方法使 得即使在面对大型、低粒度的移动对象轨迹数据时该方法仍可避免不必要的邻域查询操作, 并且根据基于极大连通子图的合并原理进行轨迹聚类扩张,以保证轨迹聚类的有效发现,从 而使本发明的方法可以在保持轨迹聚类效果的同时获得很高的效率。
//(x) = |>(x,)l0g权利要求
1、一种基于取样的快速移动对象轨迹聚类方法,其特征在于包括如下步骤(1)用户向移动对象轨迹聚类装置设定输入参数,并由该装置向移动对象轨迹数据发出聚类分析请求;(2)使用最小描述长度原理将每条原始轨迹划分成一个轨迹划分子集合,所有原始轨迹的轨迹划分子集合构成轨迹划分集合D;(3)根据线段之间的相似性度量,对轨迹划分集合D执行基于取样的快速线段聚类方法进行聚类分析,得到一个轨迹聚类的集合;(4)为每个所述轨迹聚类生成一条代表轨迹和一个覆盖区域,然后输出并可视化代表轨迹和覆盖区域;(5)将代表轨迹和覆盖区域这两类轨迹聚类结果返回给用户,然后结束。
2、 根据权利要求1所述的一种基于取样的快速移动对象轨迹聚类方法,其特征在于所 述步骤(3)中基于取样的快速线段聚类方法是根据基于极大连通子图的合并原理,对核心线 段的5;w邻域以及与该五;w邻域相重叠的所有轨迹聚类进行合并,形成更大的轨迹聚类。
3、 根据权利要求1所述的一种基于取样的快速移动对象轨迹聚类方法,其特征在于所 述步骤(3)中基于取样的快速线段聚类方法包括如下步骤a. 将线段聚类列表ZSC/w他"W置为空;b. 若轨迹划分集合"中还存在未标号的线段,则执行步骤C,否则执行步骤i;c. 顺序扫描轨迹划分集合D并从中选择首次发现的未标号线段丄;d. 对上述未标号线段丄进行五戸邻域査询,得到线段集合五戸5^A ;e. 若线段集合五;w&^fe的势小于用户预设的阈值M/wi:^,则未标号线段Z为非核心线段,执行步骤f,否则未标号线段丄为核心线段,执行步骤g;f. 将上述未标号线段丄暂时视为离群线段或边界线段,执行步骤b;g. 将线段集合五;w&eA中所有未标号线段的标号均设置为已标号;h. 将线段集合Ej^Seofe及已发现的与线段集合五;w&eA相重叠的所有线段聚类进行合并,执 行步骤b;i. 将线段聚类列表LSC/"Ww"W转换为轨迹聚类; j.检査每个轨迹聚类的轨迹势,然后结束。
4、 根据权利要求3所述的一种基于取样的快速移动对象轨迹聚类方法,其特征在于所 述步骤h包括如下步骤k.将W^>WMerge置为77 [/£ , 置为空;l.取线段聚类列表ZSC/MW^"W中的第一个线段聚类C,;m.若该线段聚类C,不为空,则执行步骤n,否则执行步骤x;n.若当前线段的5;w邻域的线段集合i:戸&^fe与上述线段聚类q存在重叠,则执行步骤o, 否则执行步骤w;o.若Z)FzywMefge为77 [/£ ,则执行步骤p,否则执行步骤t;p.将上述线段聚类C,与线段集合五j^&e&合并,其结果保存到wewC,;q.将核心线段和上述线段聚类q对应的核心线段表加入到^wC,对应的核心线段表中;r.用wewC,代替线段聚类列表丄SC/"饰^'W中的上述线段聚类C,;s.将W^^Mwge置为i^4LS五,执行步骤w;t.将上述线段聚类C,添加到^wC,;u.从线段聚类列表LSC/船fe"/W中删除上述线段聚类q ;v.将上述线段聚类C,对应的核心线段表加入到^wC,对应的核心线段表中;w.取线段聚类列表ZSC/船^""W中的下一个线段聚类,同样执行步骤m; x.若W^WMwge为77 [/五,则执行步骤y,否则结束; y.将线段集合5戸&e^作为新线段聚类加入线段聚类列表LSC/"We"/W中; z.将核心线段加入到线段集合i^s&^fe对应的核心线段表中。
全文摘要
本发明公开了一种基于取样的快速移动对象轨迹聚类方法,属于轨迹数据聚类领域。该方法为在用户设定输入参数发出聚类分析请求后,使用最小描述长度原理将每条原始轨迹划分成一个轨迹划分子集合,根据线段间的相似性度量,对轨迹划分集合进行聚类分析,得到一个轨迹聚类集合,最后为每个轨迹聚类生成一条代表轨迹和一个覆盖区域,输出并可视化代表轨迹和覆盖区域,将结果返回给用户。本发明用于大型、低粒度的移动对象轨迹数据的聚类分析,在待分析轨迹数据粒度很低的情况下仍能在保持轨迹聚类效果的同时高效地发现轨迹聚类,从而提高系统效率。
文档编号G01W1/10GK101527000SQ20091002619
公开日2009年9月9日 申请日期2009年4月3日 优先权日2009年4月3日
发明者段安利, 皮德常, 陶运信 申请人:南京航空航天大学