[0034] 定义4,缺失的轨迹点:车牌为e的车辆的一个轨迹trae={tr1(e,tt1,loc1),tr2(e,tt2,loc2),……,trn(e,ttn,locn)},如果在相邻的轨迹点tri(e,tti,loci)和trj(e,ttj,locj)中存在轨迹点tr(e,tt,loc),满足关系tti
[0035] 定义5,错误的轨迹点:设轨迹trae={tr1(e,tt1,loc1),tr2(e,tt2,loc2),……,trn(e,ttn,locn)},其中的某个轨迹点为tr(e′,tt,loc),实际e′≠e,则轨迹点tr(e′,tt,loc)是一个错误的轨迹点。一个错误的轨迹点不是车辆行驶中的真实轨迹点。
[0036] 定义6,前驱轨迹点和后继轨迹点:设一个轨迹trae={tr1(e,tt1,loc1),tr2(e,tt2,loc2),……,trn(e,ttn,locn)},对于其中的两个轨迹点i和j,1≤i,j≤n,如果在轨迹trae中轨迹点j出现在轨迹点i之后,并且在轨迹trae中轨迹点i和轨迹点j之间不存在其他轨迹点,则轨迹点i是轨迹点j的前驱轨迹点,轨迹点j是轨迹点i的后继轨迹点。
[0037] 步骤1,采用skip-gram模型估计轨迹采集设备的空间相关性,得到设备的分布式向量表示。
[0038] 为了估计传感器之间的空间相关性,本发明将轨迹类比于句子,将轨迹点类比于句子中的单词,采用skip-gram模型来学习轨迹点位置的分布式向量表示。skip-gram模型中将当前轨迹点的位置作为神经网络的输入,并预测当前轨迹点前后一定范围内轨迹点的位置。所得到的轨迹点位置分布式向量表示表征了轨迹采集设备(即交通卡口)的空间关系,分布式向量越相似,设备之间的距离越近。轨迹点位置的分布式向量即相应的设备的分布式向量。设备的分布式向量由若干坐标组成的多维向量,例如维度为50,则是一个设备的分布式向量包含50组坐标。
[0039] 步骤2,利用基于双向LSTM的序列标注模型,对缺失轨迹点和错误的轨迹点进行标注。
[0040] 如图2所示,本发明的基于神经序列的标记模型包含一个分布式表示层、Bi-LSTM层和推理层;分布式表示层用于将轨迹信息转换为分布式向量,Bi-LSTM层用于编码输入的轨迹;推理层生成标注序列。
[0041] 步骤201,设置轨迹点的标记。
[0042] 如图3所示,是对轨迹点生成标注的一个示意图。p2、p9和p11是潜在缺失的轨迹点;p5和p8是错误的轨迹点;为每个轨迹点标注一个标签。标签‘N’表示‘正常’,即相应的轨迹点是正常轨迹点。标签‘M-B’表示‘前丢失’,即缺失的轨迹点是相应轨迹点的前驱轨迹点;标记“M-A”表示“后丢失”,即缺失的轨迹点是相应轨迹点的后继轨迹点。标签‘E’代表‘错误’,即相应的轨迹点是一个错误的轨迹点。标签‘E-M’代表‘错误和缺失’,即相应的轨迹点是一个错误的轨迹点,并且在该轨迹点之前和之后的轨迹点之间有一个缺失的轨迹点。
[0043] 步骤202,分布式表示层将采集的轨迹信息转换为分布式向量。
[0044] 在分布式表示层,即轨迹点表示层(Track Representations)中,通过查找步骤1中设备分布式向量表,将每个输入轨迹点转换为相应设备的分布式向量表示。
[0045] 步骤203,利用Bi-LSTM层编码输入的轨迹。
[0046] 本发明采用了Bi-LSTM层对轨迹进行编码,捕获了各轨迹点的时空信息。轨迹点的分布式表示向量被输入到两个并行的LSTM层:前向LSTM层和后向LSTM层。前向LSTM从左到右捕获轨迹点的序列信息,而向后的LSTM从右到左捕获轨迹点的序列信息。Bi-LSTM网络的
隐藏层将前向LSTM层和后向LSTM层的每个轨迹点的编码信息拼接形成整个轨迹点的全局信息。
[0047] LSTM单元由一组递归连接的子网组成,称为存储块。每个时间步都是一个LSTM存储块。利用Bi-LSTM编码层中的LSTM存储块,基于前一隐藏向量ht-1、前一单元向量ct-1和当前输入的轨迹点trt,此处trt为设备分布式向量表示,计算当前隐藏向量ht。具体计算如下:
[0048] it=σ(Wwitrt+Whiht-1+Wcict-1+bi) (1)
[0049] ft=σ(Wωftrt+Whfht-1+Wcfct-1+bf) (2)
[0050] zt=tanh(Wωctrt+Whcht-1+bc) (3)
[0051] ct=ftct-1+itzt (4)
[0052] ot=σ(Wωotrt+Whoht-1+Wcoct+bo) (5)
[0053] ht=ottanh(ct) (6)
[0054] 其中,ft和ot分别对应t时刻的遗忘
门和输出门,it和zt共同构成输入门。b表示偏置项,bi、bf、bo、bc是相应偏置项,ct是t时刻的细胞状态,ht是t时刻的隐藏状态。W(。)表示相应的权重矩阵。对于每个轨迹点trt,前向LSTM层通过轨迹点tr1到trt-1的轨迹信息来编码trt,,由 表示;同理,后向LSTM层通过trn到trt+1的轨迹信息来编码trt,由 表示;最后,得到当前隐藏向量 表示轨迹点trt的编码信息。σ表示sigmoid激活函数。下角标t表示当前时刻。
[0055] 步骤204,通过推理层生成轨迹点的标注序列。
[0056] 推理层利用上述BiLSTM对轨迹点的编码值预测每个轨迹点的相应标签。此处的推理层采用条件随机场模型CRF来做标注,也可以采用其他模型来做标注,例如Softmax分类器。
[0057] 推理层所用模型先用
训练数据来训练,在训练好之后再应用。
[0058] 步骤3,预测缺失轨迹点的真实位置值。
[0059] 如图4所示,本发明采用端到端的序列预测模型来预测缺失的数据。对于给定的轨迹tra={p1,p2,…,p9},本发明根据轨迹中轨迹点前后的序列来预测轨迹点。例如,本发明根据轨迹点序列{p1,p2,p3,p4}和{p6,p7,p8,p9}预测轨迹点p5。本发明基于LSTM的序列预测模型中,轨迹点的表示方式与步骤2相同。与步骤2标注模型不同的是,本步骤将预测轨迹点前的轨迹点信息反馈给前向LSTM层,将预测轨迹点后的轨迹点信息反馈给后向LSTM层。本发明只保留前向LSTM层和后向LSTM层的最后一个隐藏状态,并将它们
串联成一个向量来表示预测轨迹点的信息。为了计算每个轨迹位置的置信度,将双向LSTM的输出向量 输入到softmax分类器中,n1为LSTM隐藏层的维度。在实际推理过程中,本发明保留了每个缺失轨迹点的前5个预测值。
[0060] o=Wf (7)
[0061] 其中, 是变换矩阵, 是网络的最终输出,其中,n2等于交通卡口系统中的设备数。然后,将每个输出作为相应轨迹点的置信度分数。通过对所有类别进行softmax运算,置信度分数作为条件概率p(i|x,θ),如下:
[0062]
[0063] 上式中,x代表轨迹点,θ表示模型的所有参数,i代表当前类别,oi代表softmax分类器输出向量的第i个分量。
[0064] 本发明使用交叉熵定义目标函数,如下所示:
[0065]
[0066] 其中,N表示轨迹集中轨迹的数量,p(ri|trai,θ)根据公式(8)计算,ri代表类别。本发明采用随机
梯度下降法(SGD)进行目标函数最小化,从训练装置随机选择一个个小批次进行
迭代直到模型收敛。
[0067] 步骤4,利用数据修复模块,对时空错位数据进行校正。
[0068] 通过上面步骤,得到了疑似缺失轨迹点集和错误轨迹点集,并获得了可疑缺失轨迹点的候选值。疑似缺失轨迹点由一个3元组表示:trmissing=(e,tl,tr),其中,e由对应的车辆的牌照号码表示,tl和tr是由丢失的轨迹点发生的时间段获得的其前后的轨迹点时间戳表示。每个缺失轨迹点有一个候选列表,并且缺失轨迹点的每个候选轨迹点由5元组表示:trmc=(e,tl,tr,loc,c),其中,loc为交通卡口的识别码ID, 由步骤3预测缺失的轨迹点过程中的softmax分数获得,表示对应的候选的置信度。错误数据由一个3元组表示:trerror=(e,t,loc),其中e由对应车辆的牌照号码表示,t是当轨迹点发生时的时间戳,并且loc是相应的交通卡口的识别码。
[0069] 数据修复的目的是用缺失的轨迹数据来修复错误数据,即设一个错误轨迹点trierror=(ei,ti,loci),本发明选择一个合适的候选缺失轨迹点trjmc=(ej,tl,tr,locj,cj)error ec来修复tri ,得到一个修正的轨迹点tri =(ej,ti,loci),loci=locj。本发明提出了一个匹配函数来估计trjm c用来修复trierror的置信度,根据公式(11)得到:
[0070] M(trierror,trjmc)=ReLU(cj(ti-tl)(tr-ti)D(ei,ej)) (10)
[0071] 其中,ReLU(·)表示直角线性单元,表示如下:
[0072] ReLU(x)=max(0,x) (11)
[0073] 其中,D(·)表示ei到ej的编辑距离。
[0074] 如图5所示,是本发明提出的完整的修复过程算法的代码示意图。图5中,获得错误轨迹点集合E,缺失的轨迹点集合M,以及预测的缺失轨迹点集合MC,利用MC对E中轨迹点进行修正,然后输出修复的数据集合EC。本发明通过多次迭代来执行本发明的修复程序,在每次迭代过程中,本发明设置了置信度阈值τ。本发明遍历所有错误轨迹点,遍历剩余集合中缺失轨迹的候选轨迹。根据公式(11)计算匹配得分,保留匹配得分最高超过匹配度阈值θ的候选轨迹点,以替换当前错误数据,同时从缺失轨迹集中删除相应的缺失轨迹。一次迭代后,τ将减少5%,即设置图5中的参数α为5%,直到没有新的修复数据停止循环。
[0075] 根据某城市的高清
智能卡口系统所采集的数据,对本发明方法进行验证。高清智能卡口系统每天生成近2000万条记录,每条记录包括车牌号码、时间戳和ETBD识别码。首先对采集的10天内数据根据车牌号码和时间戳进行
整理,形成车辆的行驶轨迹,然后进行实验验证。
[0076] (1)数据集与评价矩阵;
[0077] 地面实况数据;将获得的数据分为两组,对于第一组数据,为期9天,由于夜间收集的数据的故障率相对较高,只提取白天收集的数据。在每条轨迹上执行了一次或两次操作:1、在两条相邻轨迹点之间随机插入一个轨迹点;2、随机选取一条轨迹点并将其车牌号与其时间戳相同的另一条轨迹点上的车牌号交换;3、随机删除一条轨迹点。然后,根据运算自动标注每个轨迹点,将自动标注的数据划分为9:1的训练集和测试集。对于第二组数据,24小时全天候
覆盖,用ETBD手动检查带有相应图像标记的单个轨迹点,并选取错误数据,针对车牌号码识别所造成的错误,标记出正确的车牌号码。最后,根据本发明的标注模式,用相应的情况标记每个轨迹点。将上述标记数据分为三个部分,一个用于训练集,一个用于测试集,另一个用于验证集。
[0078] (2)评价矩阵;
[0079] 采用标准精度(Prec)、召回率(Rec)和F1评分来评价本发明方法中每一步的结果。每个实验运行10次,然后报告平均结果及其标准差。对于缺失数据预测的任务,本发明计算了前N预测轨迹点的精度。
[0080] (3)参数设置;
[0081] 在训练集上使用三重验证来调整本发明的模型。采用网格搜索方法,在SGD{0.1、0.0 1、0.001、0.0001}中选择了学习速率λ、选择轨迹嵌入尺寸n∈{50、100、150、200、200、
200、300}和选择批量尺寸大小{64、128、256、512、1024}之间,确定最优参数,本发明显示了实验中使用的所有参数。
[0082] (4)基线方法;
[0083] 为了评价本发明所提出的方法,选择了以下两种传统方法进行比较。通用报告格式CRF是利用邻接标签信息预测当前标签的一种传统方法。使用CRF的基线方法用于缺失和错误检测。频繁序列模式挖掘是一种传统的序列模式挖掘方法。为了探索神经网络方法在传统方法中的优势,使用ClaSP来获得轨迹中的闭合序列模式。然后使用一个滑动窗口集中在每个轨迹上,检查每个轨迹是否与闭合的顺序模式一致,通过一对一的比较,标记了可疑的缺失轨迹“位置”和“错误轨迹”。本发明使用了频繁的序列模式的基线方法用于缺失和错误检测、缺失预测。
[0084] (5)比较实验结果;
[0085] 本发明对比了不同方法的结果,如表1所示,可以看出,本发明的方法在精度和F1评分方面优于其他所有方法。频繁序列模式方法在召回率方面表现最好,因为它遍历所有可能匹配的闭合频繁序列,并且给出较低置信度的疑似丢失或错误报告,从而导致了相对较差的精度。
[0086] 表1不同方法的实验结果对比
[0087]
[0088] 为了研究各层的工作原理,本发明对各层进行了
消融测试。结果表明,预训练嵌入输入轨迹点是有效的,双向LSTM的性能优于单向LSTM,因为它从轨迹点的前向和后向捕获轨迹点的信息。在推理层中,CRF的性能优于Softmax,因为Softmax是一种贪婪的预测方法,不能考虑标签的直接转换概率,而CRF考虑连续标签之间的传播概率。
[0089] 缺失轨迹点预测。表2显示了在缺失预测任务中比较方法的P@N值。从表中可以看出,本发明提出的方法在所有设置中都取得了最佳的性能。验证了神经网络预测缺失数据的有效性。
[0090] 表2缺失预测任务中的P@N值比较
[0091] P@N(%) 100 300 500 平均值频繁序列模式 88.5 75.2 55.8 73.1
本发明方法 90.6 88.5 84.6 87.9
[0092] 数据修复;为了在不同级别的数据质量上评估本发明的算法性能,本发明选择了错误数据的百分比范围从11%到28%几个批次的数据。如图6所示,结果表明,本发明方法具有较高的数据质量,当错误数据的百分比超过18%时,精度明显下降。可以解释的是,当错误数据百分比增加时,缺失的轨迹点和错误轨迹点的数量都会变大,错误轨迹点可能有几个候选匹配的缺失轨迹点,决定确定最佳匹配缺失轨迹点就会产生混淆。
[0093] 对本发明方法和基于序列模式挖掘(SFP)方法的提高数据精度方面进行比较,如图7所示。结果表明,本发明提出的方法明显优于基于序列模式挖掘的方法,在最佳情况下,数据的准确率达到98%,平均提高了95%,与原始数据相比提高了12.9%。图7中横坐标是时间段,纵坐标表示数据准确率,Origin为原始数据,FSP+R表示采用基于
频率序列模式的检测器、基于频率序列模式的预测器和本发明的修复算法进行的数据治理流
水线方法,Proposed是本发明提出的方法。
[0094] 上述实验结果与人工标注和修复结果进行比较,也证明了本发明方法的有效性,与原始数据相比,提高了12.9%的数据精度,优于基线方法。本发明还测试了本方法是如何随着原始数据质量的下降和错误数据百分比的增加而中断的,当误差数据为20%时,本发明仍然有效。