数据处理的方法、装置、设备以及存储介质与流程

文档序号:31147804发布日期:2022-08-17 00:31阅读:61来源:国知局
数据处理的方法、装置、设备以及存储介质与流程

1.本公开涉及计算机技术领域,尤其涉及智能交通、计算机视觉、自动驾驶、云计算等领域。


背景技术:

2.随着智能交通的发展,对人、车、路的有效协同、保证交通安全和提高通行效率都提出了更高的要求。为了达到这些要求,车路协同系统需要利用计算机视觉技术,识别和定位车辆以及其他交通参与者的行动轨迹,并将行动轨迹可视化的输出,以便交通管理者能够基于可视化的各个行动轨迹,快速准确的对交通路况进行协调。


技术实现要素:

3.本公开提供了一种数据处理的方法、装置、设备以及存储介质。
4.根据本公开的一方面,提供了一种数据处理的方法,包括:
5.根据接收的轨迹数据的时间戳,将轨迹数据对应的轨迹点与时间窗口匹配;其中,时间窗口对应待可视化输出的一帧图像;
6.在同一时间窗口内的两个轨迹点的预设外围区域重叠的情况下,根据两个轨迹点的轨迹数据,将两个轨迹点修正为一个第一目标轨迹点;
7.根据第一目标轨迹点的轨迹数据,将第一目标轨迹点转换为交通对象在时间窗口对应的一帧图像上展示,并可视化输出图像。
8.根据本公开的另一方面,提供了一种数据处理的装置,包括
9.匹配模块,用于根据接收的轨迹数据的时间戳,将轨迹数据对应的轨迹点与时间窗口匹配;其中,时间窗口对应待可视化输出的一帧图像;
10.第一修正模块,用于在同一时间窗口内的两个轨迹点的预设外围区域重叠的情况下,根据两个轨迹点的轨迹数据,将两个轨迹点修正为一个第一目标轨迹点;
11.第一展示模块,用于根据第一目标轨迹点的轨迹数据,将第一目标轨迹点转换为交通对象在时间窗口对应的一帧图像上展示,并可视化输出图像。
12.根据本公开的另一方面,提供了一种电子设备,包括:
13.至少一个处理器;以及
14.与至少一个处理器通信连接的存储器;其中,
15.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开任一实施例中的方法。
16.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开任一实施例中的方法。
17.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开任一实施例中的方法。
18.根据本公开的方案,能够使交通对象在视频的各帧图像中更加流畅的播放展示。
19.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.附图用于更好地理解本方案,不构成对本公开的限定。其中:
21.图1是根据本公开实施例的数据处理的方法的示意图;
22.图2是根据本公开实施例的数据处理的方法的应用示意图;
23.图3是根据本公开实施例的数据处理的方法的应用示意图;
24.图4是根据本公开实施例的数据处理的方法的应用示意图;
25.图5是根据本公开实施例的数据处理的方法的应用示意图;
26.图6是根据本公开实施例的数据处理的方法的应用示意图;
27.图7是根据本公开实施例的数据处理的方法的应用示意图;
28.图8是根据本公开实施例的数据处理的方法的示意图;
29.图9是根据本公开实施例的数据处理的方法的示意图;
30.图10是根据本公开实施例的数据处理的装置的示意图;
31.图11是用来实现本公开实施例的数据处理的方法的电子设备的框图。
具体实施方式
32.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
33.本公开的实施方式提供一种数据处理的方法,可以应用于智能交通和车路协同领域中。使得交通管理者和决策者能够可视化的看到道路中不同的交通对象的行动轨迹。
34.如图1所示,其为本实施例的数据处理的方法的流程图,该方法可以包括以下步骤:
35.步骤s101:根据接收的轨迹数据的时间戳,将轨迹数据对应的轨迹点与时间窗口匹配。其中,时间窗口对应待可视化输出的一帧图像。
36.步骤s102:在同一时间窗口内的两个轨迹点的预设外围区域重叠的情况下,根据两个轨迹点的轨迹数据,将两个轨迹点修正为一个第一目标轨迹点。
37.步骤s103:根据第一目标轨迹点的轨迹数据,将第一目标轨迹点转换为交通对象在时间窗口对应的一帧图像上展示,并可视化输出图像。
38.需要说明的是,接收的轨迹数据可以是路测设备采集并实施上报的未经处理的数据。也可以是路测设备采集上报后进行预处理(对轨迹数据的位置信息和角度朝向信息进行预处理)的数据。不同的路测设备可以同时上报采集的轨迹数据,上报的各个轨迹数据可以通过kafka消息队列进行发送。
39.在步骤s101中,本实施例的数据处理的方法可以同时接收多个交通对象(交通对象可以包括车辆、自行车、摩托车、行人、动物等)的轨迹数据。可以同时将多个不同交通对象的轨迹数据对应的轨迹点与时间窗口匹配。同一个时间窗口内可以包含有多个交通对象
的轨迹点,也即是说,当播放这个时间窗口对应的一帧图像时,该图像中会同时出现多个交通对象的行动轨迹。
40.时间戳中可以包含有轨迹数据的采集时间、轨迹数据的上报时间、轨迹数据的接收时间中的一个或多个。
41.时间窗口可以理解为待动态播放(可视化输出)的每一帧图像的时间长短。根据播放的时长和时间顺序,可以设置每个时间窗口的时间长短以及每个时间窗口的排列顺序。每个时间窗口的排列顺序取决于所对应的每帧图像的播放顺序。
42.根据接收的轨迹数据的时间戳,将轨迹数据对应的轨迹点与时间窗口匹配,可以理解为根据时间戳找到与其播放时间对应的一帧图像的时间窗口,然后将轨迹数据对应的轨迹点与该时间窗口关联,也即是说,当可视化播放该时间窗口对应的一帧图像时,基于轨迹数据的信息,该轨迹点会直接或间接的展示在这一帧图像上。直接展示可以理解为该轨迹点显示在这一阵图像上,间接展示可以理解为该轨迹点转换为对应的交通对象然后展示在该一帧图像上。例如,根据实时接收的轨迹数据的时间戳确定该轨迹数据会在未来的第5秒的第一帧图像上播出,则将该轨迹数据对应的轨迹点与未来的第5秒的第一帧图像对应的时间窗口匹配关联。
43.轨迹点的预设外围区域的尺寸大小和形状,可以根据轨迹点对应的交通对象进行调整。通过轨迹点的预设外围区域可以进行碰撞检测,如果两个轨迹点的预设外围区域有重叠(如图2所示,a1、a2为时间窗口,a为时间窗口a2的局部放大区域,b1、b2为两个轨迹点的预设外围区域),则说明同一时间点的同一个交通对象的一个轨迹点出现了两次,这种情况出现的原因可能是轨迹数据的重复上报,也可能是路测设备检测时的位置检测误差所导致的,因此需要对两个轨迹点进行融合、修正。以保证同一个时间窗口内同一个交通对象只有一个轨迹点。
44.将两个轨迹点修正为一个第一目标轨迹点,可以理解为将两个轨迹点中的其中一个舍弃,将另一个作为第一目标轨迹点,此时第一目标轨迹点的轨迹数据为其中一个轨迹点的轨迹数据。
45.将两个轨迹点修正为一个第一目标轨迹点,也可以理解为将两个轨迹点融合成一个新的轨迹点,即第一目标轨迹点,此时第一目标轨迹点的轨迹数据是由两个轨迹点的轨迹数据融合产生的。
46.可视化输出的一帧图像中可以包含有多个不同的交通对象。每个交通对象在一帧图像中的位置、朝向、移动速度、移动轨迹等,依据每个交通对象对应的第一目标轨迹点的轨迹数据确定。由于在接收轨迹数据后,对轨迹数据做了相应的处理,因此可视化输出的一帧图像中的轨迹数据是被延迟播放的,并非在接收到轨迹数据后实时播放的。
47.根据本公开的方案,由于在接收到轨迹数据后,对同一时间窗口内的轨迹点的预设外围区域是否重叠进行了检测,因此可以有效解决轨迹点重复上报、位置信息偏差等导致的轨迹数据重叠问题。减少了因为网络波动、数据上报延迟、数据乱序等问题对轨迹数据可视化展示结果的影响。使得交通对象能够在视频的各帧图像中更加流畅的播放展示,保证了轨迹数据的时效性和准确性的同时,还兼顾了轨迹数据可视化展示的美观性。
48.在一个示例中,本公开的实施方式提供的数据处理的方法,可以应用于如图3所示的场景框架下。在图3中,10表示轨迹数据上报设备,20表示服务器,30表示分布式计算机系
统,40表示能够可视化输出结果的前端设备。本公开的数据处理的方法可以由服务器20或分布式计算机系统30执行,轨迹数据上报设备10用于将轨迹数据上报/发送至服务器20或分布式计算机系统30。服务器20或分布式计算机系统30完成本公开的数据处理的方法后,可以将轨迹数据对应的交通对象在时间窗口对应的一帧图像上显示并可视化的输出到前端设备40,以供前端设备40基于可视化的结果进行后续的处理。
49.在一种实施方式中,本公开的实施方式提供的数据处理的方法包括上述步骤s101至s103,其中,该方法的步骤s102:在同一时间窗口内的两个轨迹点的预设外围区域重叠的情况下,根据两个轨迹点的轨迹数据,将两个轨迹点修正为一个第一目标轨迹点,可以包括步骤:
50.在同一所述时间窗口内的两个轨迹点的预设外围区域重叠的情况下,根据两个轨迹点的轨迹数据,确定两个轨迹点的时间戳。
51.根据两个轨迹点的时间戳的时间先后,将两个轨迹点修正为一个第一目标轨迹点,第一目标轨迹点为两个轨迹点的其中之一。
52.需要说明的是,根据两个轨迹点的时间戳的时间先后,将两个轨迹点修正为一个第一目标轨迹点,可以理解为保留时间戳较早的轨迹点,将时间戳较晚的轨迹点舍弃。也可以理解为保留时间戳较晚的轨迹点,将时间戳较早的轨迹点舍弃。具体的两个轨迹点修正为一个第一目标轨迹点的方式,可以根据需要进行选择和调整。
53.根据本公开的方案,保证了一个交通对象在同一个时间点只出现一次轨迹点,防止重复上报和位置误差造成展示时交通对象的重叠,即同一个交通对象在同一时间的同一个位置重叠出现两个。
54.在一个具体示例中,轨迹点对应的交通对象均为车辆。在轨迹点所在的67毫秒长度的时间窗口内,取出该轨迹点所有的5米范围内的轨迹点,根据轨迹点的车辆类型和尺寸生成预设外围区域,检测5米范围的轨迹点的预设外围区域与该轨迹点的预设外围区域是否出现重叠,如果出现重叠则采取先到先得的策略,丢弃时间戳靠后的轨迹点。
55.在一种实施方式中,本公开的实施方式提供的数据处理的方法包括上述步骤s101至s103,其中,该方法的步骤s102:在同一时间窗口内的两个轨迹点的预设外围区域重叠的情况下,根据两个轨迹点的轨迹数据,将两个轨迹点修正为一个第一目标轨迹点,可以包括步骤:
56.在同一所述时间窗口内的两个轨迹点的预设外围区域重叠的情况下,根据两个轨迹点的轨迹数据,确定两个轨迹点的时间戳和位置信息。
57.根据两个轨迹点的时间戳,确定修正的时间戳。
58.根据两个轨迹点的位置信息,确定修正的位置信息。
59.根据修正的时间戳和修正的位置信息,将两个轨迹点修正为一个第一目标轨迹点。
60.需要说明的是,确定修正的时间戳,可以理解为通过插值的方法,基于两个轨迹点的时间戳,生成一个折中的时间戳,并将折中的时间戳作为修正的时间戳。确定修正的时间戳,还可以理解为通过预设规则,基于两个轨迹点的时间戳生成一个新的时间戳作为修正的时间戳。
61.确定修正的位置信息,可以理解为通过插值的方法,基于两个轨迹点的位置信息,
生成一个折中的位置信息,并将折中的位置信息作为修正的位置信息。确定修正的位置信息,还可以理解为通过预设规则,基于两个轨迹点的位置信息生成一个新的位置信息作为修正的位置信息。
62.根据本公开的方案,保证了一个交通对象在同一个时间点只出现一次轨迹点,防止重复上报和位置误差造成展示时交通对象的重叠,即同一个交通对象在同一时间的同一个位置重叠出现两个。
63.在一种实施方式中,本公开的实施方式提供的数据处理的方法包括上述步骤s101至s103,还可以包括步骤:
64.根据时间窗口的时间长度,确定时间窗口的预设时间点。
65.根据第一目标轨迹点的轨迹数据,确定第一目标轨迹点的时间戳。
66.在第一目标轨迹点的时间戳对应的时间与预设时间点不一致的情况下,根据预设时间点更新第一目标轨迹点的时间戳。
67.需要说明的是,预设时间点可以根据需要进行设置和调整。例如,定义每个时间窗口的时间长度的一半作为预设时间点,也即是说时间窗口的中线为预设时间点位置。又如,定义每个时间窗口的时间长度的三分之一作为预设时间点。
68.第一目标轨迹点的轨迹数据可以是预处理后的轨迹数据(对轨迹数据的位置信息和角度朝向信息进行预处理)。
69.根据预设时间点更新第一目标轨迹点的时间戳,可以理解为将第一目标轨迹点的时间戳对应的时间替换为预设时间点的时间。例如,如图4所示,圆形表示第一目标轨迹点,六边形表示预设时间点,a表示时间窗口,预设时间点为时间窗口a的时间长度的一半。在图4左侧的时间窗口a中,第一目标轨迹点基于时间戳在时间窗口a中显示的位置与时间窗口a的预设时间点的位置是不一致的,因此需要更新第一目标轨迹点的时间戳。更新后,如图4右侧的时间窗口a所示,第一目标轨迹点基于时间戳在时间窗口a中显示的位置与时间窗口a的预设时间点的位置是一致的。
70.根据本公开的方案,将交通对象的各个轨迹点在不同的时间窗口中均设置在同一个预设时间点,可以保证各个轨迹点在转换为交通对象通过各帧图像可视化输出时,交通对象能够始终保持平稳流畅的运动,避免在播放时交通对象出现卡顿、晃动等问题。
71.在一种实施方式中,本公开的实施方式提供的数据处理的方法包括上述步骤s101至s103,还可以包括步骤:
72.根据时间窗口的时间长度,确定时间窗口的预设时间点。
73.根据时间窗口内的轨迹点的轨迹数据,确定轨迹点的时间戳。
74.在轨迹点的时间戳对应的时间与预设时间点不一致的情况下,根据预设时间点更新轨迹点的时间戳。
75.根据轨迹点的轨迹数据和更新的时间戳,将轨迹点转换为交通对象在时间窗口对应的一帧图像上展示,并可视化输出图像。
76.需要说明的是,轨迹点可以理解为接收的同一个交通对象多个轨迹点或全部轨迹点。也即是说,接收到的交通对象的部分或全部的轨迹点都需要执行本公开实例的步骤,已实现将个轨迹点的时间戳更新为预设时间点。
77.轨迹点的轨迹数据可以是预处理后的轨迹数据(对轨迹数据的位置信息和角度朝
向信息进行预处理)。
78.根据本公开的方案,将交通对象的各个轨迹点在不同的时间窗口中均设置在同一个预设时间点,可以保证各个轨迹点在转换为交通对象通过各帧图像可视化输出时,交通对象能够始终保持平稳流畅的运动,避免在播放时交通对象出现卡顿、晃动等问题。
79.在一种实施方式中,本公开的实施方式提供的数据处理的方法包括上述步骤s101至s103,还可以包括步骤:
80.根据接收的第一轨迹数据,确定第一轨迹数据中的角度朝向信息。
81.对角度朝向信息中的角度值做标准化处理。
82.需要说明的是,角度朝向信息可以理解为第一轨迹数据对应的交通对象在移动时,此刻所处的方位朝向,该朝向可以通过角度具体表示。
83.对角度朝向信息中的角度值做标准化处理,可以理解为将角度值的范围保证在0
°‑
360
°
之间。
84.第一轨迹数据可以理解为接收到的任何交通对象的轨迹数据。
85.根据本公开的方案,通过对角度朝向信息中的角度值做标准化处理,避免采用负值的角度范围导致后续处理出现错误,影响第一轨迹数据转换成交通对象后在一帧图像上的展示效果和准确性。
86.在一种实施方式中,本公开的实施方式提供的数据处理的方法包括上述步骤s101至s103,还可以包括步骤:对接收的第一轨迹数据进行预处理。接收到第一轨迹数据之后,首先根据预先定义好的消息协议对传输的第一轨迹数据进行解析,然后对数据的实时性和有效性进行校验,根据第一轨迹数据上报的时间戳,剔除重复数据、过期数据,根据第一轨迹数据的具体数据剔除空数据。通过对轨迹数据的预处理,可以减少因为网络波动、数据上报延迟、数据乱序等问题对后续交通对象的轨迹修正和可视化展示的影响。
87.在一种实施方式中,本公开的实施方式提供的数据处理的方法包括上述步骤s101至s103,还可以包括步骤:
88.根据接收的第一轨迹数据,确定第一轨迹数据对应的轨迹点所处位置的车道信息。
89.从缓存中确定第二轨迹数据,其中,第二轨迹数据为接收第一轨迹数据的上一时刻接收到的轨迹数据,第一轨迹数据和第一轨迹数据属于同一个交通对象。
90.根据第一轨迹数据和第二轨迹数据中的坐标信息以及车道信息,对第一轨迹数据的角度朝向信息进行修正。
91.需要说明的是,缓存可以采用redis(remote dictionary server,远程字典服务)缓存。缓存中可以存储有预设时间长度的交通对象的轨迹数据。通过这些轨迹数据可以为后续接收的轨迹数据进行辅助计算处理。例如,当后续接收的轨迹数据缺少上一个轨迹数据时,可以利用缓存中的同一个交通对象的历史轨迹数据,对缺少的上一个轨迹数据进行补充。
92.车道信息可以通过高精地图服务获取,例如,根据第一轨迹数据中的位置信息,通过gis(geographic information science,地理信息科学)服务获取该第一轨迹数据对应的轨迹点所处位置的车道信息。车道信息可以包含有车道朝向信息、车道类型信息、车道行使方向信息等。
93.第二轨迹数据是进行本公开的一个或多个实施例的数据处理方法后,存入缓存中的。第一轨迹数据的角度朝向信息在修正前,可以根据上述实施了的方法对角度朝向信息中的角度值做标准化处理。
94.根据本公开的方案,可以提升接收到的轨迹数据的准确性,以保证在基于轨迹数据进行交通对象的运动轨迹的可视化展示时保证轨迹展示的真实性和准确性。
95.在一种实施方式中,本公开的实施方式提供的数据处理的方法包括上述步骤s101至s103,还可以包括步骤:
96.根据接收的第一轨迹数据,确定第一轨迹数据对应的轨迹点所处位置的车道信息。
97.从缓存中确定第二轨迹数据,其中,第二轨迹数据为接收第一轨迹数据的上一时刻接收到的轨迹数据,第一轨迹数据和第一轨迹数据属于同一个交通对象。
98.根据第一轨迹数据和第二轨迹数据中的坐标信息以及车道信息,对第一轨迹数据的角度朝向信息进行修正。
99.根据第一轨迹数据和第二轨迹数据中的坐标信息、车道信息和修正的角度朝向信息,对第一轨迹数据的位置信息进行修正。
100.根据本公开的方案,通过第一轨迹点的坐标和第二轨迹点的坐标可以计算出交通对象移动的大致方向,车道信息中车道中心线的方向也指定了交通对象移动的方向,根据车道信息和两个坐标构成的方向角,可以比较准确的修正交通对象的角度朝向信息。同时根据车道方向、车头的朝向、和移动方向也可以修正因为位置识别误差导致的交通对象小范围的位置抖动。
101.在一个示例中,可以在缓存中维护一组时间窗口,将延迟可接受范围内的轨迹数据保存在缓存中,在对后续接收的轨迹数据进行处理时,可以依赖缓存中的历史轨迹数据,实现对接收的轨迹数据逐帧进行处理。对于上报的每一个轨迹数据,可以在缓存中寻找该轨迹数据的上一个轨迹数据,结合两个轨迹数据的时间戳、位置信息等,对各轨迹点进行处理。
102.需要说明的是,本公开的各个实施例处理得到的轨迹数据均可以存储到缓存中作为历史轨迹数据,以供后续轨迹数据能够基于缓存中的历史轨迹数据进行调整。后续轨迹数据和所用到的历史轨迹数据是同一个交通对象所对应的轨迹数据。
103.例如,交通对象a的第一时刻采集的轨迹数据进行本公开实施例的数据处理的方法处理后,可以存入缓存中。当再次接收到交通对象a的第二时刻采集的轨迹数据时,可以从缓存中调取第一时刻采集的轨迹数据作为历史轨迹数据,辅助对第二时刻采集的轨迹数据进行调整。
104.在一种实施方式中,本公开的实施方式提供的数据处理的方法包括上述步骤s101至s103,还可以包括步骤:
105.根据接收的第一轨迹数据,从缓存中确定第二轨迹数据,其中,第二轨迹数据为接收第一轨迹数据的上一时刻接收到的轨迹数据,第一轨迹数据和第一轨迹数据属于同一个交通对象。
106.在第一轨迹数据与第二轨迹数据的时间戳之间的时间差值大于时间窗口的时间长度的情况下,利用插值算法,根据第一轨迹数据与第二轨迹数据,补充交通对象的第三轨
迹数据。
107.根据第三轨迹数据的时间戳,将第三轨迹数据对应的轨迹点与时间窗口匹配。
108.如图5所示,a1、a2、a3为时间窗口,b对应的矩形框表示同一个交通对象的各个轨迹点。第一轨迹数据对应a3中b矩形框内的轨迹点,第二轨迹数据对应a1中b矩形框内的轨迹点,第三轨迹数据对应a2中b矩形框内的轨迹点。在第一轨迹数据与第二轨迹数据的时间戳之间的时间差值大于时间窗口的时间长度的情况下,说明在两者之间的一个时间窗口内缺少了数据,也即是说没有接收到对应a2时间窗口的数据。为了保证交通对象轨迹数据在可视化展示时的流畅度和准确度,需要进行补帧处理,即通过插值方式,根据第一轨迹数据和第二轨迹数据,补充交通对象的第三轨迹数据。插值方式可以采用直线插值方式也可以采用其他的插值方式,根据需要进行选择和调整。
109.根据本公开的方案,可以保证交通对象的各个轨迹点在展示时连续出现,解决缺帧和卡顿等问题。
110.在一个示例中,本公开的实施方式提供的数据处理的方法,还可以包括步骤:
111.根据接收的第一轨迹数据,从缓存中确定第二轨迹数据,其中,第二轨迹数据为接收第一轨迹数据的上一时刻接收到的轨迹数据,第一轨迹数据和第一轨迹数据属于同一个交通对象。
112.在第一轨迹数据与第二轨迹数据的时间戳之间的时间差值大于时间窗口的时间长度的情况下,利用插值算法,根据第一轨迹数据与第二轨迹数据,补充交通对象的第三轨迹数据。
113.根据第三轨迹数据的时间戳,将第三轨迹数据对应的轨迹点与时间窗口匹配。
114.确定第一轨迹数据对应的第一轨迹点所在的时间窗口内是否有与其预设外围区域重叠的轨迹点,在时间窗口内有与第一轨迹点的预设外围区域重叠的轨迹点的情况下,根据两个轨迹点的轨迹数据,将两个轨迹点修正为一个目标轨迹点a;
115.第三轨迹数据对应的第三轨迹点所在的时间窗口内是否有与其预设外围区域重叠的轨迹点,在时间窗口内有与第三轨迹点的预设外围区域重叠的轨迹点的情况下,根据两个轨迹点的轨迹数据,将两个轨迹点修正为一个目标轨迹点b。
116.根据修正后的目标轨迹点a和目标轨迹点b的轨迹数据,将各目标轨迹点分别转换为交通对象,并将交通对象在时间窗口对应的两帧图像上展示,并可视化输出两帧图像。
117.在一个示例中,如图6所示,时间窗口a中存在一个交通对象的预设外围区域重叠的两个轨迹点,时间窗口b中存在一个交通对象的预设外围区域重叠的两个轨迹点,因此需要对时间窗口a和b中的轨迹数据进行处理,修正为时间窗口a和b中仅包含一个轨迹点,如图7所示。
118.如图6所示,时间窗口c、d、e中的轨迹点的时间戳与时间窗口位于中间的预设时间点不一致,因此需要对时间窗口c、d、e中的轨迹点的时间戳进行更新,更新时间戳后的时间窗口c、d、e中的轨迹点如图7所示。
119.如图6所示,时间窗口f、g中缺少上报的轨迹点,因此需要利用插值的方式,通过时间窗口c、d的轨迹点对时间窗口f的轨迹点进行补充,通过时间窗口b、e的轨迹点对时间窗口g的轨迹点进行补充,补充结果如图7所示。
120.在一个示例中,如图8所示,数据处理的方法包括:
121.在接收到第一轨迹数据后,从缓存中寻找第一轨迹数据的前一个轨迹数据;
122.判断两个轨迹数据是否在同一个时间窗口的时间长度范围内;
123.如果在,则利用第一轨迹数据在时间窗口内对应的轨迹点的预设外围区域与同一个时间窗口内的其他轨迹点进行碰撞检测;
124.如果不在,则在两个轨迹数据之间,利用直线插值方式进行补帧,生成补帧轨迹数据;
125.利用补帧轨迹数据在时间窗口内对应的轨迹点的预设外围区域与同一个时间窗口内的其他轨迹点进行碰撞检测;
126.在碰撞检测后,将第一轨迹数据和补侦轨迹数据在对应的一帧图像上可视化输出展示。
127.在一个应用示例中,如图9所示,数据处理的方法包括步骤:
128.轨迹处理服务从消息队列中接收实时的轨迹数据,使用流式计算的方法实时处理接收的轨迹数据,处理后的轨迹数据进行缓存,并将处理后的轨迹数据对应的交通对象展示在一帧图像上,并将一帧图像推送到前端进行可视化展示。本公开的轨迹处理的方法主要可以分为两个阶段:
129.预处理阶段:接收实时轨迹数据之后,根据预先定义好的消息协议对消息进行解析,然后对数据的实时性和有效性进行校验,根据数据轨迹的消息上报的时间戳,剔除重复数据和过期数据,以减少因为网络波动、数据上报延迟、数据乱序等问题对后续轨迹修正和预测的结果的影响。同时在这一阶段,为方便后续的处理,对轨迹数据的角度做标准化处理,保证角度的数据范围在0
°‑
360
°
之间,避免可能因为角度范围的问题而引入错误。在接收到每一个轨迹数据后,首先通过高精地图服务的gis服务去获取当前轨迹点位置的车道信息(车道朝向信息),并将其保存到本地缓存中。
130.轨迹处理阶段:轨迹处理阶段是本方法的主要内容,主要包括轨迹的修正、轨迹点的插值和补帧、轨迹点的碰撞检测三个方面的内容:
131.a)在本方法中,采取了延迟三秒播放的策略,即在redis缓存中保存一个三秒时间窗口长度范围的轨迹数据,以充分利用轨迹数据中的信息,同时保证一定的实时性。同时对每一个接收的第一轨迹数据,从缓存中获取该轨迹数据的前一个轨迹点(即,第二轨迹数据)。通过第一轨迹点的坐标和第二轨迹数据的坐标可以计算出交通对象移动的大致方向,车道信息中车道中心线的方向也指定了交通对象移动的方向,根据车道方向和两个坐标的方向角可以比较准确的修正交通对象的头部朝向(角度朝向信息)。同时根据车道方向、头部朝向、移动方向,也可以修正因为位置识别误差导致的交通对象小范围的位置抖动。
132.b)在对交通对象的位置和朝向进行修正之后,判断是否需要在修正后的第一轨迹数据和第二轨迹数据之间进行补帧。为保证轨迹展示效果,将轨迹数据统一补帧到每秒15帧。若修正之后的两个轨迹点之间的时间戳相差不超过补帧的周期即67毫秒,则说明两帧轨迹数据(第一轨迹数据和第二轨迹数据)之间没有出现丢帧的现象,第一轨迹数据会直接进入流式计算的下一个步骤,进行碰撞检测。如果两帧轨迹数据之间的时间间隔超过67毫秒,则需要根据两帧轨迹数据的速度、位置、时间戳等信息进行补帧,由于补帧的时间间隔比较小,可以近似认为在67毫秒的时间间隔内交通对象的移动速度是匀速状态,使用线性插值的方法对两帧轨迹数据之间进行补帧,并不会影响交通对象的轨迹展示的效果。补帧
完成之后,补帧得到的轨迹点也将一同进入下一个步骤进行碰撞检测。
133.c)为保证同一个时间点同一个轨迹点只出现一次,防止重复上报和位置误差造成展示时车辆出现重叠,对所有接收的轨迹数据和补帧得到的轨迹数据对应的轨迹点进行碰撞处理。具体方法为:在每个轨迹点所在的67毫秒时间窗口内,取出第一轨迹点所有的5米范围内的第二轨迹点,根据轨迹点的交通对象的类型和尺寸生成外包围框,检测5米范围的第二轨迹点的外包围框(预设外围区域)与第一轨迹点的外包围框是否出现重叠,如果出现重叠则仅保留其中一个轨迹点。为保证轨迹点碰撞检测的原子性和一致性,采用redis的lua脚本来执行碰撞检测。在完成碰撞检测之后,修正后的轨迹点都会存入redis缓存,并推送到前端进行展示。
134.本公开的数据处理方法在对交通对象的轨迹数据进行展示时,除了保证轨迹数据的实时性之外,还兼顾了轨迹数据展示的美观性。在可视化展示时,实时轨迹数据的筛选、过滤、处理是可视化展示中的重要的部分。本方法能够有效的解决智能交通领域中,因为交通对象位置、方向识别误差、网络波动、丢包等原因造成的实时交通对象轨迹展示的卡顿、位置抖动等问题。采用流式计算的方法,基于时间窗口充分利用轨迹数据中的信息,对轨迹数据进行修正,在保证实时性的同时大大提高交通对象的轨迹展示的稳定性和可视化效果。该方法至少可以减少交通对象的轨迹展示中70%以上的卡顿、丢帧、重叠等问题。
135.本公开实施例的数据处理的方法,在接收轨迹数据后并没有直接实时的可视化展示,而是在对轨迹数据进行一系列处理后,才进行的可视化展示。本公开实施例的数据处理的方法通过对接收的轨迹数据的延迟可视化输出,解决了现有技术中的实时展示数据所带来的缺陷。在现有技术中,大多数采用的都是对轨迹数据的实时展示,即轨迹数据上报即展示。这种实时展示的轨迹数据有较多问题。由于网络波动、服务后端组件时间不同步、轨迹上报频率波动等原因,会造成轨迹信息的乱序、缺帧、重复等问题,从而影响交通对象的轨迹展示的效果。部分实时轨迹数据由于网络延迟、分布式部署等原因造成播放顺序的混乱的问题,在播放时,如果直接即时的展示当前收到的轨迹数据,会造成后发生的轨迹先播放,在视觉上交通对象的轨迹有前后摆动的问题。轨迹数据本身由于受采集机制、轨迹数据丢失等问题的影响,两次采集到的同一交通对象轨迹的时间间隔并不是均匀的,在车辆轨迹实时展示时,车辆会有忽快忽慢,角度忽然变化等问题,播放不流畅,导致视觉上的卡顿。
136.本公开的实施方式提供一种数据处理的装置,如图10所示,其为本实施例的数据处理的装置的结构框图,该装置可以包括:
137.匹配模块1001,用于根据接收的轨迹数据的时间戳,将轨迹数据对应的轨迹点与时间窗口匹配。其中,时间窗口对应待可视化输出的一帧图像。
138.第一修正模块1002,用于在同一时间窗口内的两个轨迹点的预设外围区域重叠的情况下,根据两个轨迹点的轨迹数据,将两个轨迹点修正为一个第一目标轨迹点。
139.第一展示模块1003,用于根据第一目标轨迹点的轨迹数据,将第一目标轨迹点转换为交通对象在时间窗口对应的一帧图像上展示,并可视化输出图像。
140.在一种实施方式中,修正模块用于在同一时间窗口内的两个轨迹点的预设外围区域重叠的情况下,根据两个轨迹点的轨迹数据,确定两个轨迹点的时间戳。以及,根据两个轨迹点的时间戳的时间先后,将两个轨迹点修正为一个第一目标轨迹点,第一目标轨迹点为两个轨迹点的其中之一。
141.在一种实施方式中,修正模块用于在同一时间窗口内的两个轨迹点的预设外围区域重叠的情况下,根据两个轨迹点的轨迹数据,确定两个轨迹点的时间戳和位置信息。根据两个轨迹点的时间戳,确定修正的时间戳。根据两个轨迹点的位置信息,确定修正的位置信息。以及,根据修正的时间戳和修正的位置信息,将两个轨迹点修正为一个第一目标轨迹点。
142.在一种实施方式中,数据处理的装置还包括:
143.第一确定模块,用于根据时间窗口的时间长度,确定时间窗口的预设时间点。
144.第二确定模块,用于根据第一目标轨迹点的轨迹数据,确定第一目标轨迹点的时间戳。
145.第一更新模块,用于在第一目标轨迹点的时间戳对应的时间与预设时间点不一致的情况下,根据预设时间点更新第一目标轨迹点的时间戳。
146.在一种实施方式中,数据处理的装置还包括:
147.第三确定模块,用于根据时间窗口的时间长度,确定时间窗口的预设时间点。
148.第四确定模块,用于根据时间窗口内的轨迹点的轨迹数据,确定轨迹点的时间戳。
149.第二更新模块,用于在轨迹点的时间戳对应的时间与预设时间点不一致的情况下,根据预设时间点更新轨迹点的时间戳。
150.第二展示模块,用于根据轨迹点的轨迹数据和更新的时间戳,将轨迹点转换为交通对象在时间窗口对应的一帧图像上展示,并可视化输出图像。
151.在一种实施方式中,数据处理的装置还包括:
152.第五确定模块,用于根据接收的第一轨迹数据,确定第一轨迹数据中的角度朝向信息。
153.处理模块,用于对角度朝向信息中的角度值做标准化处理。
154.在一种实施方式中,数据处理的装置还包括:
155.第六确定模块,用于根据接收的第一轨迹数据,确定第一轨迹数据对应的轨迹点所处位置的车道信息。
156.第七确定模块,用于从缓存中确定第二轨迹数据,其中,第二轨迹数据为接收第一轨迹数据的上一时刻接收到的轨迹数据,第一轨迹数据和第一轨迹数据属于同一个交通对象。
157.第二修正模块,用于根据第一轨迹数据和第二轨迹数据中的坐标信息以及车道信息,对第一轨迹数据的角度朝向信息进行修正。
158.在一种实施方式中,数据处理的装置还包括:
159.第三修正模块,用于根据第一轨迹数据和第二轨迹数据中的坐标信息、车道信息和修正的角度朝向信息,对第一轨迹数据的位置信息进行修正。
160.在一种实施方式中,数据处理的装置还包括:
161.第八确定模块,用于根据接收的第一轨迹数据,从缓存中确定第二轨迹数据,其中,第二轨迹数据为接收第一轨迹数据的上一时刻接收到的轨迹数据,第一轨迹数据和第一轨迹数据属于同一个交通对象。
162.补充模块,用于在第一轨迹数据与第二轨迹数据的时间戳之间的时间差值大于时间窗口的时间长度的情况下,利用插值算法,根据第一轨迹数据与第二轨迹数据,补充交通
对象的第三轨迹数据。
163.匹配模块,用于根据第三轨迹数据的时间戳,将第三轨迹数据对应的轨迹点与时间窗口匹配。
164.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
165.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
166.图11示出了可以用来实施本公开的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
167.如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(rom)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(ram)1103中的计算机程序,来执行各种适当的动作和处理。在ram 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
168.设备1100中的多个部件连接至i/o接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
169.计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如数据处理的方法。例如,在一些实施例中,数据处理的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由rom 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到ram 1103并由计算单元1101执行时,可以执行上文描述的数据处理的方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理的方法。
170.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至
少一个输出装置。
171.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
172.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
173.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
174.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
175.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
176.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
177.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1