一种数据处理方法、装置和可读存储介质

文档序号:1906302 发布日期:2021-11-30 浏览:33次 >En<

阅读说明:本技术 一种数据处理方法、装置和可读存储介质 (Data processing method and device and readable storage medium ) 是由 高峻 于 2021-08-26 设计创作,主要内容包括:本申请提供一种数据处理方法、装置和可读存储介质,所述数据处理方法包括:步骤S10、响应于获取包括多个姿态数据点的行车姿态数据,将所述行车姿态数据切割为多个目标数据段;步骤S20、为所述目标数据段选取一个姿态数据点作为基准数据点;步骤S30:根据所述基准数据点,计算所述多个目标数据段中每个姿态数据点的数据变量,以获取压缩后的所述行车姿态数据。本申请提供的数据处理方法、装置和可读存储介质,能够根据需求对行车姿态数据进行有效压缩,有效减小了数据量,更加方便传输和/或存储。(The application provides a data processing method, a device and a readable storage medium, wherein the data processing method comprises the following steps: step S10, in response to the fact that the driving posture data comprising a plurality of posture data points are obtained, the driving posture data are cut into a plurality of target data segments; step S20, selecting a posture data point as a reference data point for the target data segment; step S30: and calculating the data variable of each attitude data point in the target data segments according to the reference data point so as to obtain the compressed driving attitude data. The data processing method, the data processing device and the readable storage medium can effectively compress the driving attitude data according to requirements, effectively reduce the data volume and facilitate transmission and/or storage.)

一种数据处理方法、装置和可读存储介质

技术领域

本申请涉及数据处理技术领域,具体涉及一种数据处理方法、装置和可读存储介质。

背景技术

行车姿态数据一般指车辆的实时位置、行驶轨迹等,根据行车姿态数据可以找到并发现车辆运行中的问题,同时还可以获取用户的驾驶习惯、个人信息等。此外,在汽车发生事故后,还可以根据运行数据来分析事故发生的原因。

行车姿态数据非常重要,在一些传输或存储的应用环境下数据大小受到比较严格的限制,故通常使用无损压缩方法压缩数据。然而由于压缩比的限制,仅使用无损压缩方法是不可能解决图像和数字视频的存储和传输的所有问题。

发明内容

本申请提供一种数据处理方法、装置和可读存储介质,用于解决行车数据应用中数据大小受到严格限制的问题,提升了传输和存储的便捷性。

在一方面,本申请提供一种数据处理方法,具体地,所述数据处理方法包括:步骤S10、响应于获取包括多个姿态数据点的行车姿态数据,将所述行车姿态数据切割为多个目标数据段;步骤S20、为所述目标数据段选取一个姿态数据点作为基准数据点;S30:根据所述基准数据点,计算所述多个目标数据段中每个姿态数据点的数据变量,以获取压缩后的所述行车姿态数据。

可选地,所述数据处理方法中的所述步骤S10包括:步骤S11、根据预设数据精度,采样所述行车姿态数据以获取采样姿态数据;步骤S12、根据所述采样姿态数据,获取切割的所述多个目标数据段。

可选地,所述数据处理方法中的所述步骤S20包括:选取每个目标数据段的第一个姿态数据点作为所述目标数据段对应的基准数据点。

可选地,所述数据处理方法中的所述步骤S10包括:

根据所述行车姿态数据确定数据总量最小的段数,以基于所述段数对所述行车姿态数据进行切割;

所述数据总量根据以下公式计算:

M=x[a+(y-1)×b]

其中,M为所述数据总量,a为每个姿态数据点的比特位数,x为所述目标数据段的段数,y为每个目标数据段包含的姿态数据点个数,b为每个数据变量的比特位数。

可选地,所述数据处理方法中的所述步骤S30之后,还包括:根据所述基准数据点和所述数据变量,逆向计算以还原所述行车姿态数据。

可选地,所述数据处理方法中的所述姿态数据点选自时间戳、位姿、三维特征点中的至少一个;和/或,所述数据变量选自时间戳变量、位姿变量、三维特征点变量中的至少一个。

可选地,若所述位姿变量包括位姿四元数变量和位姿三维向量变量,所述数据处理方法中的所述步骤S30包括:

根据待压缩姿态数据点的四元数和基准数据点的四元数,计算所述待压缩姿态数据点的位姿四元数变量;

根据待压缩姿态数据点的三维向量、基准数据点的四元数对应的旋转矩阵和所述基准数据点的三维向量,计算所述待压缩姿态数据点的位姿三维向量变量。

可选地,若所述数据变量包括三维特征点变量,所述数据处理方法中的所述步骤S30包括:

根据待压缩姿态数据点的三维特征点与所述待压缩姿态数据点所在目标数据段中所有姿态数据点的三维特征点的重心之差,计算所述待压缩姿态数据点的三维特征点变量。

另一方面,本申请提供一种数据处理装置,包括:处理器和存储有计算机程序的存储器,在所述处理器运行所述计算机程序时,实现如上所述的数据处理方法的步骤。

另一方面,本申请提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据处理方法的步骤。

如上所述,本申请提供的数据处理方法、装置和可读存储介质,通过切割行车姿态数据、选定切割后的数据段的基准数据点和计算所述数据段中姿态数据点的数据变量等操作,能够实现对行车姿态数据进行有效压缩,有效减小了数据量,更加方便传输和/或存储。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例提供的数据处理方法的流程示意图;

图2为图1实施例中所示的步骤S10的一种实施例的具体流程示意图;

图3为本申请一实施例提供的数据处理装置的结构示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一方面,本申请提供一种数据处理方法,图1为本申请一实施例提供的数据处理方法的流程示意图。

请参阅图1,在一实施例中,所述数据处理方法包括:

步骤S10:响应于获取包括多个姿态数据点的行车姿态数据,将行车姿态数据切割为多个目标数据段。

可以理解地,把数据切割成一定长度的更小单位的数据段,是数据压缩的基础。若能够对行车姿态数据进行均匀切割,可以更方便的进行压缩计算。

步骤S20:为目标数据段选取一个姿态数据点作为基准数据点。

可选地,基准数据点是指作为基础的用于记录完整精度的数据点,比如可以选取该行车姿态数据的第一个姿态数据点、最后一个姿态数据点或中间任意一个姿态数据点作为基准数据点,也可以选择多个目标数据段共用一个基准数据点。本实施例中,对于每个目标数据段,可以选取每个目标数据段的第一个姿态数据点作为所述目标数据段对应的基准数据点,也可以选取所述行车姿态数据的第一个姿态数据点作为所述目标数据段对应的基准数据点。

步骤S30:根据基准数据点,计算多个目标数据段中每个姿态数据点的数据变量,以获取压缩后的所述行车姿态数据。

对于每个目标数据段而言,若选取第一个姿态数据点作为基准数据点,则后续计算的其他姿态数据点的数据变量为数据增量;若选取最后一个姿态数据点作为基准数据点,则后续计算的其他姿态数据点的数据变量为数据减量;若选取位于第一个姿态数据点与最后一个姿态数据点之间的任意一个姿态数据点作为基准数据点,则在后续计算的其他姿态数据点的数据变量中,既有数据增量,也有数据减量。在计算出多个目标数据段中每个姿态数据点的数据变量后,可基于所述基准数据点和所述目标数据段中每个姿态数据点的数据变量获取压缩后的所述行车姿态数据。

综上所述,本实施例提供的数据处理方法中,通过切割行车姿态数据、选定切割后的数据段的基准数据点和计算所述数据段中姿态数据点的数据变量等操作,能够实现对行车姿态数据进行有效压缩,有效减小了数据量,更加方便传输和/或存储。

在一实施例中,所述数据处理方法中的姿态数据点选自时间戳、位姿、三维特征点中的至少一个。在另一实施例中,数据变量选自时间戳变量、位姿变量、三维特征点变量中的至少一个。

在本实施例中,位姿包括位置和姿态。在三维空间中,旋转有3个自由度,位置有3个自由度。由于旋转比较复杂,所以一般都用超过自由度的冗余表达,文献中用归一化的4个参数即四元数表示,也就是用4参数表示3旋转自由度。因此,位姿变量用6自由度7参数的四元数加三维向量的方式表达。

图2为图1实施例中所示的步骤S10的一种实施例的具体流程示意图。

请参阅图2,在一实施例中,所述数据处理方法中的步骤S10包括:

步骤S11:根据预设数据精度,采样行车姿态数据以获取采样姿态数据。

可选地,对于时间戳、姿态、位置、三维特征点,可分别预设不同数据精度,例如时间戳可以设置为0.1ms的精度,位姿中的姿态可以设置旋转有0.01度的精度,位置可以设置厘米级别的精度,三维特征点可以设置为厘米级别的精度。

需要说明的是,如果位姿要用于坐标系的变换(比如把一个坐标系的点转换到另一个坐标系),那变换过后的点要满足厘米级别的精度的要求。因此,如果位姿作为坐标系的转换,那么还需要结合三维特征点的精度对姿态的精度进行设置。

步骤S12:根据采样姿态数据,获取切割的多个目标数据段。

可选地,将获取的采样姿态数据切割成一定长度的更小单位的数据段,而通过使用规划问题的求解方法求取最优的切割长度,能够使得在满足精度要求的情况下所使用的的比特数数据变量最少。

在一实施例中,所述数据处理方法中的步骤S20包括:

选取每个目标数据段的第一个姿态数据点作为所述目标数据段对应的基准数据点。

可选地,若以第一个姿态数据点作为基准数据点,这样只需要计算数据增量。在这种情况下,如果为每个目标数据段选取一个基准数据点,那么每个目标数据段对应的基准数据点就是每个目标数据段的第一个姿态数据点。若选取中间姿态数据点作为基准数据点,则需要计算数据增量和数据减量。若选取末端姿态数据点作为基准数据点,则只需要计算数据减量。可以理解地,一个姿态数据点距离基准数据点越远,表达该姿态数据点的数据变量所需要的数据就越多。

在一实施例中,所述数据处理方法中的步骤S10包括:

根据行车姿态数据确定数据总量最小的段数,以基于所述段数对所述行车姿态数据进行切割。在其他实施例中,也可以根据需要,选择满足使用要求的数据总量确定所述段数。本实施例中,以每个所述目标数据段包括一个基准数据点为例。

数据总量可以根据以下公式计算:

M=x[a+(y-1)×b]

其中,M为数据总量,a为每个姿态数据点的比特位数,x为目标数据段的段数,y为每个目标数据段包含的姿态数据点个数,b为每个数据变量的比特位数。

例如,假设车辆连续行驶1km后产生了1000个姿态数据点,则行车姿态数据的原始数据量大小为512×103bit,即每个姿态数据点为a=512bit。由于均匀切割可以更加方便进行压缩计算,因此,对于这1km内的1000个姿态数据点,按照以y=100m为一个切割精度要求进行均匀切割,即每100m设置一个基准用原始的精度表达,则切割x=10段数据,所有的10个基准数据点需要5120bit。对于数据变量部分,只考虑每个姿态数据点的信息与基准数据点的信息进行运算获得增量,这些增量在100m的表示范围以及各自的精度要求下,位姿信息最终使用了117bit进行表达,时间戳用21bit进行表达,三维特征点用39bit进行表达,即b=177bit来表示一个姿态数据点的压缩信息。因此,整段1km的行车姿态数据经过计算使用了约180×103bit,即M=10*[512+(100-1)*177]表示,从而实现了数据的压缩,并压缩至原数据512×103bit的35%左右。在其他实施例中,由于应用工程上的约束,选择的一个切割段是72米。

可以理解地,对于压缩后的数据,精度会有损失,而在进行算法原型的开发工程中,可能需要原始真实数据,或者在研究压缩后的数据对于应用结果的影响分析时,也需要参考原始数据,比如在地图开发工作中,可能需要传输高频率的姿态数据点的信息,但是如果我们只用这些数据来做一些地图审查,只要很低的数据密度。所以数据总量的需求要根据具体的应用,从而进一步确定所需切割的段数。

在一实施例中,所述数据处理方法在执行步骤S30之后,还包括:

根据基准数据点和数据变量,逆向计算以还原行车姿态数据。

在本实施例中,将压缩后的数据通过逆运算,即将数据变量与基准数据点进行逆运算就能还原成压缩前的位姿时间戳数据。

在一实施例中,所述数据处理方法中的步骤S30包括:

按照以下公式计算时间戳变量:

δt=tk-t0

其中,δt为时间戳变量,tk为待计算的时刻,t0为基准数据点的时刻。

在另一实施例中,在解压缩时,按照以下公式进行计算时间戳:

tk=δt+t0

通过姿态数据点相对于基准数据点的差值来表达姿态数据点的时间戳信息,可以有效压缩所需的数据量。例如,时间戳精度要求设置为0.1ms时,原始真实数据中时间戳信息以64bit进行表达的信息,压缩后用时间戳变量只需要以21bit进行表达。

在一实施例中,若所述位姿变量包括位姿四元数变量和位姿三维向量变量,所述数据处理方法中的步骤S30包括:

根据待压缩姿态数据点的四元数和基准数据点的四元数,计算所述待压缩姿态数据点的位姿四元数变量;

根据待压缩姿态数据点的三维向量、基准数据点的四元数对应的旋转矩阵和所述基准数据点的三维向量,计算所述待压缩姿态数据点的位姿三维向量变量。

具体地,按照以下公式计算位姿变量:

在另一实施例中,在解压缩时,按照以下公式进行计算位姿:

其中,Tk=(qk,pk),T0=(q0,p0),Tk为待压缩的姿态数据点的位姿,T0为基准姿态数据点的位姿。δq为位姿四元数变量,δp为位姿三维向量变量。q0为基准数据点的四元数,p0为基准数据点的三维向量,qk为待压缩姿态数据点的四元数,pk为待压缩姿态数据点的三维向量。C(q0)为基准数据点的四元数对应的旋转矩阵。

继续参阅上述实施例,通过上述公式计算,原始真实数据中的一个姿态数据点的位姿信息,压缩后可以使用117bit的位姿变量进行表达。

在一实施例中,若所述数据变量包括三维特征点变量,所述数据处理方法中的步骤S30包括:

根据待压缩姿态数据点的三维特征点与所述待压缩姿态数据点所在目标数据段中所有姿态数据点的三维特征点的重心之差,计算所述待压缩姿态数据点的三维特征点变量。

具体地,按照以下公式计算三维特征点变量:

在另一实施例中,在解压缩时,按照以下公式进行计算所述三维特征点:

其中,δpf为三维特征点变量,T为正交变换所计算的正交投影,pf为待压缩姿态数据点的三维特征点,为目标数据段中所有三维特征点的重心。

可以理解地,一个数据段中高度的范围不会太大,例如,100m的数据段中,高度可能只有20m需要表达,因此,可用较少的数据表达高度。这里,先获取原始真实数据中的所有三维特征点信息,然后计算其重心作为基准,接着将其他的三维特征点相对于重心做正交变换就可以计算三维特征点变量。继续参阅上述实施例,通过上述公式,原始真实数据中的一个姿态数据点的三维特征点信息,压缩后可以用39bit的三维特征点变量进行表达。

在本实施例中,由于考虑到实际行车轨迹的特点以及对应重建元素的分布,如100m内的行车距离高度不会发生很大变化,横向的移动以及三维特征点也不会分布得太开,故可通常使用PCA(主成分分析)方法计算一个无压缩的新投影方向,然后分别在三个方向上使用不同的表示范围动态计算所需要的数据数量。

基于前述实施例相同的发明构思,本发明实施例提供了一种数据处理装置,如图3所示,该数据处理装置包括:处理器310和存储有计算机程序的存储器311;其中,图3中示意的处理器310并非用于指代处理器310的个数为一个,而是仅用于指代处理器310相对其他器件的位置关系,在实际应用中,处理器310的个数可以为一个或多个;同样,图3中示意的存储器311也是同样的含义,即仅用于指代存储器311相对其他器件的位置关系,在实际应用中,存储器311的个数可以为一个或多个。在所述处理器310运行所述计算机程序时,实现应用于上述数据处理装置的所述数据处理方法。

该数据处理装置还可包括:至少一个网络接口312。该数据处理装置中的各个组件通过总线系统313耦合在一起。可理解,总线系统313用于实现这些组件之间的连接通信。总线系统313除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统313。

其中,存储器311可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器311旨在包括但不限于这些和任意其它适合类型的存储器。

本发明实施例中的存储器311用于存储各种类型的数据以支持该数据处理装置的操作。这些数据的示例包括:用于在该数据处理装置上操作的任何计算机程序,如操作系统和应用程序;联系人数据;电话簿数据;消息;图片;视频等。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。这里,实现本发明实施例方法的程序可以包含在应用程序中。

基于前述实施例相同的发明构思,本申请还提供一种可读存储介质,具体地,可读存储介质上存储有计算机程序,可读存储介质可以是磁性随机存取存储器(FRAM,ferromagnetic random access memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。所述可读存储介质中存储的计算机程序被处理器运行时,实现如上实施例中的数据处理方法的步骤。所述计算机程序被处理器执行时实现的具体步骤流程请参考图1所示实施例的描述,在此不再赘述。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种前端带有读头的锁具系统及其控制方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!