论文部分内容阅读
目前,很多监控应用会在固定位置设置一些捕获设备对运动实体进行追踪,从而产生大量时空轨迹数据。例如在交通管控系统中,安装在道路上的智能摄像头会自动拍摄并对过往车辆进行识别。在这个过程中,对实体ID(如:车牌)的检测往往是很重要的一个环节。然而有时候,由于光照不足或遮挡等各种原因,实体ID可能会被识别错,继而导致后续计算出现误差甚至失败。 考虑到很多情况下,实体的移动会受制于现实场景中与位置关联的一些约束,(如:车辆必须在已有道路上行使)。本文尝试利用相关位置约束对时空轨迹中的错误ID进行检测和修复。通常,此类约束会对实体的运动轨迹模式有所要求,而ID错误将导致实体原有轨迹断裂成多个违反约束的片段,本文将据此实现错误检测。进一步考虑到违反约束的成因,本文还将关注如何通过ID重写和轨迹片段合并,来逆向消除违反位置约束的轨迹片段,从而达到修复错误ID的目的。但事实上,即便违反约束,也无法断定某个ID一定错误,且对于每个错误可能都有多种候选的ID重写及轨迹片段合并方案,因此该问题实际解决起来非常困难。为了更好地应对不同场景下的数据特征,本文针对批量离线处理和流式在线处理两种模式分别设计出相应的解决方案。 在传统的离线处理情况下,本文提出一种名为转移图的位置约束,利用它实现错误ID的检测和修复。由于数据集固定且支持随机访问,该模式下可以利用一个全局优化问题来形式化描述轨迹ID修复过程。为了解决该问题,文章给出了一个包含生成候选修复和选择候选修复的两阶段范式,通过最大化一个有效函数来引导ID修复。虽然在实现两阶段范式的过程中会遇到复杂度非常高的问题,但本文充分利用时空轨迹数据中的本地性和稀疏性特征,提出了高效的修复算法。为了进一步提高修复方法的效率,本文还通过一个索引结构和一个剪枝策略对算法核心步骤进行了优化,随后通过在真实和人工数据集上的大量实验,证明了所提出方法的有效性和高效性。 另一方面,一些在线系统常常会将轨迹数据应用于大量时间敏感的查询或处理任务中,因此有必要对持续生成的轨迹记录流进行实时ID修复。由于流处理具有一过性和只支持顺序访问等特征,因而很难像批处理一样对整体数据实施全局优化。考虑到移动实体会被不断追踪,因而在一段时间内,如果某些ID仅出现过一次,那么它们是错误ID的概率会很高。据此,本文利用另一种形式的位置约束——有效位置序列,对此类呈现单值特性的特殊ID错误进行修复。为了支持该过程,文中提出了一种名为追踪树的数据结构,它可以实时对不同的候选修复项进行全量索引,并能够在判定ID错误后辅助快速选择一个最优修复方案。本文还进一步介绍了如何在Apache Storm上实现一个分布式的在线ID修复系统,并通过相关实验验证了系统的性能及效果。 本文从批处理和流处理两个角度对时空轨迹中基于位置约束的ID修复问题进行了深入研究,文章的主要贡献可概括如下: (1)本文首次定义了时空轨迹中利用转移图约束对ID进行修复的问题,并提出了一个两阶段修复范式以及相应算法。 (2)基于上述方法,本文又提出一个索引结构和一个剪枝策略用以提高ID修复的效率,随后通过在真实和人工数据集上的大量实验,证明了所提出方法的有效性和高效性。 (3)对于流式在线计算场景,本文介绍了利用位置序列约束对单值ID进行修复的问题,并提出一个追踪树索引结构和一个基于Apache Storm的分布式在线ID修复系统。通过在真实和人工数据集上的实验,证明了所提出的方法具有良好的效果及可伸缩性。