掌桥专利:专业的专利平台
掌桥专利
首页

一种IMU数据处理方法、系统、装置及存储介质

文献发布时间:2023-06-19 12:13:22


一种IMU数据处理方法、系统、装置及存储介质

技术领域

本说明书涉及定位导航数据处理技术领域,尤其涉及一种IMU数据处理的方法、系统、装置及存储介质。

背景技术

随着无人驾驶技术的发展,持续稳定的高精度定位导航能力是无人驾驶车辆的基本要求。基于IMU(惯性测量单元)的定位方式以其更新频率高、可提供实时位置信息的特点被广泛应用。通常来说,IMU设备可以分为高精度IMU和低精度IMU,其中,高精度IMU所采集的数据精度较高,但成本高昂,无法实现广泛应用。因此,有必要提出一个IMU数据处理方法,将低精度IMU采集的数据转换为高精度IMU数据。

发明内容

本说明书一些实施例涉及一种方法,用于处理IMU数据。所述方法包括:获取初始IMU数据;基于转换模型,确定所述初始IMU数据对应的转换的IMU数据;以及基于所述转换的IMU数据,确定目标IMU数据,其中,所述目标IMU数据的精度大于所述初始IMU数据的精度。

本说明书一些实施例涉及一种系统,用于处理IMU数据。所述系统包括:数据获取模块,获取初始IMU数据;数据转换模块,基于转换模型,确定所述初始IMU数据对应的转换的IMU数据;以及数据确定模块,基于所述转换的IMU数据,确定目标IMU数据,其中,所述目标IMU数据的精度大于所述初始IMU数据的精度。

本说明书一些实施例涉及一种装置,用于处理IMU数据。所述装置包括:至少一个存储介质,存储计算机指令;至少一个处理器,执行所述计算机指令,以实现IMU数据转换方法。

本说明书一些实施例涉及一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取所述计算机指令示,所述计算机执行IMU数据转换方法。

附图说明

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。其中:

图1是根据本说明书一些实施例所示的IMU数据处理系统的示例性应用场景图;

图2是根据本说明书一些实施例所示的示例性处理设备的模块图;

图3是根据本说明书一些实施例所示的示例性IMU数据处理方法的示例性流程图;

图4是根据本说明书一些实施例所示的基于场景信息选择转换模型的示例性流程图;

图5是根据本说明书一些实施例所示的基于线性信息选择转换模型的示例性流程图;

图6是根据本说明书一些实施例所示的转换模型的训练过程的示例性流程图;

图7是根据本说明书一些实施例所示的基于转换的IMU数据确定目标IMU数据的示例性流程图;

图8是根据本说明书一些实施例所示的Transformer模型的示例性结构示意图。

具体实施方式

为了更清楚地说明本说明书的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。

如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。

本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

本说明书的实施例可以应用于不同的交通运输系统,不同的交通运输系统包括但不限于陆地、河道、湖泊、海洋、航空等中的一种或几种的组合。例如,汽车(例如,小型车、巴士、大型运输车等)、轨道交通(例如,火车、动车、高铁、地铁等)、船舶、飞机、飞行器、热气球、无人驾驶的交通工具等应用了定位和/或导航功能的交通运输系统等。应当理解的是,本说明书的系统及方法的应用场景仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。例如,其他类似的引导用户停车系统。

图1是根据本说明书一些实施例所示的示例性IMU数据处理系统的示例性应用场景的示意图。在一些实施例中,IMU数据处理系统可以用于处理IMU数据。例如,IMU数据处理系统可以基于初始IMU数据的场景信息、线性信息等进行数据转换,并进一步基于转换的IMU数据确定目标IMU数据,以提升数据精度。在一些实施例中,如图1所示,IMU数据处理系统的应用场景100可以包括交通工具110、处理设备120、用户设备130、存储设备140和网络150。

交通工具110可以是任何类型的交通工具。在一些实施例中,交通工具110可以包括单车110-1、电动车110-2、摩托车110-3、汽车110-4等或其任意组合。在一些实施例中,交通工具110可以包括自动驾驶车辆。在一些实施例中,自动驾驶车辆可以指能够实现一定水平的驾驶自动化的车辆。仅作为示例,驾驶自动化水平可以包括第一级别(即车辆主要由人监督并且具有特定的自主功能(例如,自主转向或加速))、第二级别(即车辆具有一个或以上先进的司机辅助系统(ADAS,例如,自适应巡航控制系统、车道保持系统),其可以控制制动、转向和/或加速车辆)、第三级别(即当满足一个或以上某些条件时车辆能够自动驾驶)、第四级别(即车辆可在没有人为输入或疏忽的情况下操作,但仍然受限于某些限制(例如,限于某一区域))、第五级别(即车辆可以在所有情况下自主操作)等或其任意组合。

在一些实施例中,以汽车110-4为例,交通工具110可以包括传统车辆的结构,例如,车身、车轮、底盘、悬架、转向设备(例如,方向盘)、制动设备(例如,制动踏板)、加速器等。在一些实施例中,车身可以是任何类型的车身,例如,轿跑车、轿车、轻型卡车、旅行车、运动型车辆(SUV)、小型货车等。在一些实施例中,车轮可以配置为全轮驱动(AWD)、前轮驱动(FWR)、后轮驱动(RWD)等。

在一些实施例中,交通工具110可以包括检测单元112或与检测单元112通信。在一些实施例中,检测单元112可以捕获交通工具110在运动/静止状态中自身和/或周围环境的相关数据(例如,速度、加速度、行驶方向等)。在一些实施例中,检测单元112可以包括全球定位系统(GPS)、雷达、相机、IMU等或其任意组合。作为示例,GPS模块可以从GPS卫星接收地理定位和时间信息并确定交通工具110的地理位置;雷达可以被配置为扫描交通工具110的周围并生成相应的扫描数据;相机可以被配置为获取与相机范围内的目标(例如,人、动物、树、路障物、建筑、车辆)相关的一个或以上图像;IMU可以使用各种惯性传感器测量并提供与交通工具110相关的力、角速率、加速度等。

在一些实施例中,检测单元112还可以包括声音传感器、图像传感器、温湿度传感器、位置传感器、压力传感器、距离传感器、速度传感器、加速度传感器、重力传感器、位移传感器、力矩传感器、惯性传感器等或其任意组合。

在一些实施例中,交通工具110通过检测单元112获取数据后,可以通过网络150将数据传输至处理设备120、用户设备130和/或存储设备140。

处理设备120可以处理从交通工具110、用户设备130和/或存储设备140获得的数据和/或信息。例如,处理设备120可以从交通工具110获取由检测单元112捕获的IMU数据,并对IMU数据进行数据转换。又例如,处理设备120可以从存储设备140获取样本IMU数据,并基于样本IMU数据训练转换模型。在一些实施例中,处理设备120可以处理与IMU数据转换相关的信息和/或数据以执行本说明书描述的一个或多个功能。例如,处理设备120可以基于转换模型处理初始IMU数据,以获取精度提升后的目标IMU数据。

在一些实施例中,处理设备120可以是单个的服务器或者服务器群。服务器群可以是集中式的或分布式的(例如,处理设备120可以是分布式系统)。在一些实施例中,处理设备120可以是本地的或远程的。例如,处理设备120可以通过网络150访问存储在交通工具110、用户设备130和/或存储设备140中的信息和/或数据。再例如,处理设备120可以直接连接到交通工具110和/或存储设备140以访问存储的信息和/或数据。在一些实施例中,处理设备120可以通过云平台实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、云之间、多重云等或其任意组合。

在一些实施例中,处理设备120可以包括一个或多个处理设备(例如,单核处理器或多核处理器)。仅作为示例,处理设备120可以包括一个或多个硬件处理器,例如,中央处理器(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图像处理器(GPU)、物理运算处理器(PPU)、数字信号处理器(DSP)、现场可编辑门阵列(FPGA)、可编辑逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。在一些实施例中,处理设备120可以集成在交通工具110中。

用户设备130可以实现用户与交通工具110、处理设备120和/或存储设备140的交互。在一些实施例中,用户可以通过用户设备130发起与交通工具110相关的服务请求。例如,以自动驾驶车辆为例,用户可以通过用户设备130发起车辆使用请求。在一些实施例中,用户设备130可包括移动设备130-1、平板电脑130-2、笔记本电脑130-3、车载设备130-4、可穿戴设备130-5等或其任意组合。在一些实施例中,移动设备130-1可以包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备等或其任意组合。智能移动设备可以包括智能手机、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备等或其任意组合。虚拟现实设备或增强现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等或其任意组合。在一些实施例中,车载设备130-4可以包括车载计算机、车载电视等。在一些实施例中,可穿戴设备130-5可以包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能服装、智能背包、智能配件等或其任意组合。在一些实施例中,用户设备130可以是具有定位技术的设备,用于定位用户设备130的位置。

存储设备140可存储数据和/或指令。在一些实施例中,存储设备140可存储从交通工具110、处理设备120和/或用户设备130等组件获取的数据/信息。例如,存储设备140可以存储由检测单元112采集的初始IMU数据。在一些实施例中,存储设备140可以存储训练好的转换模型、初始模型和/或用于训练初始模型的训练样本。在一些实施例中,存储设备140可以存储由处理设备120执行或使用以完成本说明书中描述的示例性方法的数据和/或指令。

在一些实施例中,存储设备140可以包括大容量存储器、可移动存储器、随机存储器(RAM)、只读存储器(ROM)等或其任意组合。示例性的大容量储存器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性随机存储器可包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、闸流体RAM(T-RAM)、零电容RAM(Z-RAM)等。示例性只读存储器可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(PEROM)、电子可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)、数字通用磁盘ROM等。在一些实施例中,存储设备140可以通过云平台实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。

在一些实施例中,存储设备140可以连接到网络150以与场景100中的一个或以上组件(例如,交通工具110、处理设备120、用户设备130)通信。场景100中的一个或以上组件可以通过网络150访问存储设备140中存储的数据或指令。在一些实施例中,存储设备140可以与场景100中的一个或以上组件(例如,交通工具110、处理设备120、用户设备130)直接连接或通信。在一些实施例中,存储设备140可以是交通工具110或处理设备120的一部分。在一些实施例中,存储设备140可以集成在交通工具110中。

网络150可以用于促进信息和/或数据的交换。在一些实施例中,场景100中的一个或多个组件(例如,交通工具110、处理设备120、用户设备130、存储设备140)、可以通过网络150向/从场景100中的其他组件发送和/或接收信息和/或数据。例如,处理设备120可以通过网络150从交通工具110和/或存储设备140获取IMU数据。在一些实施例中,网络150可以为任意形式的有线或无线网络或其任意组合。仅作为示例,网络150可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络、近场通讯(NFC)网络、全球移动通讯系统(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线服务(GPRS)网络、增强数据速率GSM演进(EDGE)网络、宽带码分多址接入(WCDMA)网络、高速下行分组接入(HSDPA)网络、长期演进(LTE)网络、用户数据报协议(UDP)网络、传输控制协议/互联网协议(TCP/IP)网络、短讯息服务(SMS)网络、无线应用协议(WAP)网络、超宽带(UWB)网络、移动通信(1G、2G、3G、4G、5G)网络、Wi-Fi、Li-Fi、窄带物联网(NB-IoT)等或其任意组合。

在一些实施例中,网络150可以包括一个或以上网络接入点。例如,网络150可以包括有线或无线网络接入点(例如,基站和/或网际网络交换点150-1、150-2、…),通过这些接入点,场景100的一个或以上组件可以通过其连接到网络150以交换数据和/或信息。

需要注意的是,上述对于IMU数据处理系统的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个组件进行任意组合,或者构成子系统与其他组件连接。

图2是根据本说明书一些实施例所示的示例性处理设备的模块图。如图2所示,处理设备120可以包括数据获取模块210、数据转换模块220、数据确定模块230以及模型训练模块240。

数据获取模块210可以获取初始IMU数据。

数据转换模块220可以基于转换模型,确定初始IMU数据对应的转换的IMU数据。在一些实施例中,数据转换模块220可以确定初始IMU数据对应的场景信息;基于场景信息,从多个候选转换模型中选择转换模型,其中,多个候选转换模型分别对应不同的候选场景类别。在一些实施例中,数据转换模块220还可以提取初始IMU数据的线性信息;基于线性信息,从多个候选转换模型中选择转换模型,其中,多个候选转换模型分别对应不同的候选线性类别。

数据确定模块230可以基于转换的IMU数据,确定目标IMU数据,其中,目标IMU数据的精度大于初始IMU数据的精度。在一些实施例中,数据确定模块230可以进一步获取参考参数,参考参数至少包括参考IMU数据的线性相关信息;基于参考参数,调整转换的IMU数据;基于调整后的IMU数据,确定目标IMU数据。

关于数据获取模块210、数据转换模块220和数据确定模块230的更多详细描述可见本说明书其他部分(例如,图3-5及其描述),在此不再赘述。

模型训练模块240可以训练转换模型。具体地,可以获取多个训练样本,多个训练样本中的每一个训练样本包括样本IMU数据,样本IMU数据的精度低于预设精度阈值;对于多个训练样本中的每一个训练样本,获取训练样本对应的标准IMU数据,作为训练样本的标签,其中,标准IMU数据的精度大于样本IMU数据的精度;标准IMU数据与样本IMU数据的时间戳相同;基于多个训练样本,通过至少一次迭代过程训练初始转换模型,确定转换模型。对于至少一次迭代过程中的每一次,基于当前次迭代中的转换模型,确定多个训练样本分别对应的预测IMU数据;基于预测IMU数据与标准IMU数据间的差异,更新当前次迭代中的转换模型的模型参数。关于模型训练模块240的详细描述可见本说明书其他部分(例如,图6及其描述),在此不再赘述。

应当理解,图2所示的处理设备及其模块可以利用各种方式实现。例如,在一些实施例中,处理设备及其模块可以通过硬件、软件或者软件和硬件的结合实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统(例如,微处理器或者专用设计硬件)执行。本领域技术人员可以理解,上述处理设备及其模块可以通过计算机可执行指令实现。本说明书的系统及其模块不仅可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等可编程硬件设备的硬件电路实现,也可以由例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)实现。

需要注意的是,以上对于处理设备120及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图2中数据获取模块210、数据转换模块220、数据确定模块230以及模型训练模块240可以是一个设备中的不同模块,也可以由一个模块实现上述的两个或两个以上模块的功能。又例如,处理设备120中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储单元。又例如,模型训练模块240可以是单独的组件,而不属于处理设备120内部的模块。诸如此类的变形,均在本说明书的保护范围之内。

图3是根据本说明书一些实施例所示的示例性IMU数据处理方法的示例性流程图。在一些实施例中,流程300的一个或以上步骤可以由图1所示的处理设备120执行。例如,流程300中的一个或以上步骤可以以指令的形式存储在处理设备120的存储模块或其他存储设备(例如,存储设备140)中,并被处理设备120调用和/或执行。如图3所示,流程300可以包括以下操作。在一些实施例中,在执行流程300时,可以添加一个或以上未描述的附加操作,和/或删减一个或以上此处所讨论的操作。另外,图3中所示操作的顺序并非限制性的。

步骤310,获取初始IMU数据。在一些实施例中,步骤310可以由数据获取模块210执行。

在一些实施例中,可以从检测单元112获取初始IMU数据。在一些实施例中,可以从存储设备140读取初始IMU数据。在一些实施例中,初始IMU数据的精度可以相对较低(例如,低于预设精度阈值)。例如,初始IMU数据可以是由精度相对较低的IMU采集。在一些实施例中,“精度”可以指测量值与真实值的比值(例如,测量角度与真实角度的比值)。在一些实施例中,初始IMU数据可以包括速度、加速度、角速度、经度、维度、海拔、旋转角(例如,翻滚角、俯仰角、偏航角)等或其任意组合。

在一些实施例中,初始IMU数据可以对应采集时间戳(例如,采集时刻)。例如,检测单元112可以以预定时间间隔(例如,5ms、10ms、20ms)采集IMU数据。相应地,初始IMU数据可以是检测单元112在特定时刻采集的IMU数据。在一些实施例中,初始IMU数据可以对应采集时间段。例如,初始IMU数据可以包括多个采集时刻对应的IMU数据。相应地,初始IMU数据可以理解为对应一系列采集时刻的序列数据。

在一些实施例中,初始IMU数据可以是实时数据。例如,检测单元112可以实时采集数据并实时传输至数据获取模块210。在一些实施例中,初始IMU数据可以是非实时数据。例如,检测单元112采集数据后可以传输至存储设备140以存储。进一步地,数据获取模块210可以访问存储设备140中以读取初始IMU数据。

步骤320,基于转换模型,确定初始IMU数据对应的转换的IMU数据。在一些实施例中,步骤320可以由数据转换模块220执行。

在一些实施例中,基于转换模型,可以改变初始IMU数据的数据精度、数据类型、数据格式、数据维度、数据大小等。在一些实施例中,基于转换模型确定的转换的IMU数据的精度高于初始IMU数据的精度。

在一些实施例中,转换模型可以包括用于序列数据处理的机器学习模型。在一些实施例中,转换模型可以包括用于序列数据处理的非线性模型。

在一些实施例中,转换模型可以包括基于CNN的机器学习模型(例如,CNN、DCNN、GCNN、VDCNN等)、基于RNN的机器学习模型(例如,RNN、LSTM、Bi-LSTM、BI-LSTM+CRF、Seq2Seq等)、基于注意力机制的机器学习模型(例如,AT-Seq2Seq、ATAE-LSTM、ABCNN等)等或其任意组合。在一些实施例中,转换模型可以包括基于Transformer的机器学习模型(例如,Transformer、GPT、BERT、XLM等)。

在一些实施例中,转换模型可以处理任意长度的序列数据,捕捉序列内单独数据(例如,特定采集时刻对应的初始IMU数据)的特征和不同数据(例如,不同采集时刻对应的初始IMU数据)间的关联关系,从而可以使转换后的IMU数据不仅能体现特定采集时刻的IMU数据的特性,还可以体现不同采集时刻的初始IMU数据间的关联关系,处理结果更准确全面。

在一些实施例中,在将初始IMU数据输入转换模型之前,可以对初始IMU数据进行预处理。在一些实施例中,预处理可以包括去除噪音、平滑处理等中的至少一种。

在一些实施例中,转换模型可以包括Transformer模型。作为示例,转换模型(Transformer)可以包括至少一个编码器(Encoder)和至少一个解码器(Decoder)。编码器或解码器可以由多个结构相同的神经网络层(Layer)构成。关于Transformer模型的详细描述可以参见本说明书其他部分(例如,图8及其描述),在此不再赘述。

在一些实施例中,当初始IMU数据为特定采集时刻对应的IMU数据时,可以将初始IMU数据输入至编码器,并将编码器的编码结果输入至解码器,进一步地,将解码器的解码结果输入至一个或多个神经网络层,可以得到转换后的IMU数据。当初始IMU数据为序列数据(即包括多个采集时刻对应的IMU数据)时,可以将多个采集时刻对应的IMU数据分别输入至多个编码器,得到多个编码结果;将第一个编码结果(即第一个采集时刻对应的IMU数据的编码结果)输入至第一个解码器,得到第一个解码结果;将第二个编码结果(即第二个采集时刻对应的IMU数据的编码结果)和第一个解码结果输入至第二个解码器,得到第二个解码结果,以此类推,可以得到最后一个解码结果;进一步可以基于最后一个解码结果得到转换后的IMU数据。

在一些实施例中,转换模型可以包括一维卷积神经网络模型。作为示例,一维卷积神经网络模型可以包括输入层、卷积层、池化层等。在一些实施例中,可以将初始IMU数据输入至输入层,并进一步通过卷积层提取相关特征(例如,不同采集时刻对应的初始IMU数据间的关联关系),以确定特征矩阵,将特征矩阵输入至池化层,最终得到转换后的IMU数据。

在一些实施例中,可以基于初始IMU数据的特征(例如,场景信息、线性信息),从多个候选转换模型中选择转换模型进行数据转换。关于选择转换模型的详细描述可以参见本说明书其他部分(例如,图4、图5及其描述),在此不再赘述。

在一些实施例中,还可以基于交通工具110的行驶信息,从多个候选转换模型中选择转换模型进行数据转换。在一些实施例中,车辆行驶信息可以包括但不限于速度、行驶路线的曲率、方向盘角度等中的至少一种。

在一些实施例中,可以基于多个训练样本训练初始转换模型以确定转换模型。在一些实施例中,每个训练样本可以包括样本IMU数据,其精度低于预设精度阈值。对于每个训练样本,还可以获取其对应的标准IMU数据,其精度大于样本IMU数据的精度且用于作为训练样本的标签。关于训练转换模型的详细描述可以参见本说明书其他部分(例如,图6及其描述),在此不再赘述。

步骤330,基于转换的IMU数据,确定目标IMU数据,其中,目标IMU数据的精度大于初始IMU数据的精度。在一些实施例中,步骤330可以由数据确定模块230执行。

如步骤320所述,转换的IMU数据是基于转换模型处理初始IMU数据所确定的。在一些实施例中,可以直接将转换的IMU数据作为目标IMU数据。在一些实施例中,在一些实施例中,可以进一步处理转换的IMU数据,以确定目标IMU数据。在一些实施例中,可以提取转换的IMU数据的线性相关信息,并基于参考参数调整转换的IMU数据以确定目标IMU数据。关于进一步处理转换的IMU数据的详细描述可见本说明书其他部分(例如,图7及其描述),在此不再赘述。

应当注意的是,上述有关流程300的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。

图4是根据本说明书的一些实施例所示的基于场景信息选择转换模型的示例性流程图。在一些实施例中,流程400的一个或以上步骤可以由图1所示的处理设备120执行。例如,流程400中的一个或以上步骤可以以指令的形式存储在处理设备120的存储模块或其他存储设备(例如,存储设备140)中,并被处理设备120调用和/或执行。如图4所示,流程400可以包括以下操作。在一些实施例中,在执行流程400时,可以添加一个或以上未描述的附加操作,和/或删减一个或以上此处所讨论的操作。另外,图4中所示操作的顺序并非限制性的。

步骤410,确定初始IMU数据对应的场景信息。在一些实施例中,步骤410可以由数据转换模块220执行。

在一些实施例中,场景信息可以包括交通工具110行驶的道路条件、环境信息、路况信息等中的至少一种。

在一些实施例中,道路条件可以包括道路类型(例如,高速公路、城市道路、乡村道路)、路面平整度(例如,平缓、陡峭)、道路宽度、道路限速(例如,最高时速不超过50公里/小时)、路面弯度(例如,曲率)、路面坡度(例如,倾斜角度)等中的至少一种。

在一些实施例中,环境信息可以包括气象情况(例如,晴天、雷雨、多云、雾霾)、温度、湿度、空气质量、能见度、风向、风速等中的至少一种。

在一些实施例中,路况信息可以包括道路拥堵情况(例如,畅通、缓行、拥堵、严重拥堵)、道路拥堵等级、平均行驶速度、预计拥堵时间、预计拥堵距离等中的至少一种。

在一些实施例中,可以通过多种方式确定初始IMU数据对应的场景信息。在一些实施例中,可以基于交通工具110和/或检测单元112的位置信息,确定道路条件。例如,可以基于位置信息,从存储设备140中读取相应位置对应的道路条件。在一些实施例中,可以通过检测单元112所包括的各种传感器(例如,温度传感器、湿度传感器、空气质量传感器)确定环境信息。在一些实施例中,可以从存储设备140中读取环境信息。在一些实施例中,可以从存储设备140中读取路况信息。

在一些实施例中,结合前文,初始IMU数据可以是特定采集时刻对应的IMU数据或多个采集时刻对应的IMU数据。相应地,对于多个采集时刻对应的IMU数据,其对应的场景信息可以相同或不同。在一些实施例中,对于多个采集时刻对应的IMU数据,可以确定平均场景信息。例如,可以对多个采集时刻对应的场景信息取平均作为平均场景信息。又例如,可以将多个采集时刻中处于中间位置附近的时刻对应的场景信息作为平均场景信息。

步骤420,基于场景信息,从多个候选转换模型中选择转换模型,其中,多个候选转换模型分别对应不同的候选场景类别。在一些实施例中,步骤420可以由数据转换模块220执行。

在一些实施例中,多个候选转换模型可以是针对多个不同的候选场景类别分别训练初始转换模型而确定。例如,假设多个候选场景类别包括场景A、场景B、场景C和场景D,可以分别针对场景A、场景B、场景C和场景D,确定对应的训练样本,并基于训练样本训练初始转换模型以确定对应的候选转换模型。

在一些实施例中,可以基于道路条件、环境信息、路况信息等确定候选场景类别。例如,可以将道路条件分类为高速公路、城市道路和乡村道路,将环境信息分类为晴天、多云、雾霾和雨天,将路况信息分类为畅通、一般拥堵和严重拥堵,相应地将上述各个类别进行排列组合以确定候选场景类别。上述示例仅为举例说明,还可以对各项信息进行不同维度或角度的分类,相应确定不同维度或角度的候选场景类别。

在一些实施例中,多个候选场景类别的数量可以是系统默认值,也可以根据不同情况设定。候选场景类别的数量越多,对场景的分类越详细,相应的对初始IMU数据的处理越准确。

在一些实施例中,可以基于初始IMU数据对应的场景信息(或平均场景信息),识别对应的候选场景类别,并将候选场景类别对应的候选转换模型作为转换模型。在一些实施例中,可能不存在与初始IMU数据对应的场景信息(或平均场景信息)完全对应的候选场景类别,在这种情况下,可以选择与场景信息(或平均场景信息)中的一种或多种信息类似或接近的候选场景类别。

由于场景信息(例如,道路条件、环境信息、路况信息)会影响数据采集的特征,因此,针对不同的场景类别训练相应的转换模型,可以在处理或转换IMU数据时针对不同的场景信息选择相应的转换模型,从而使转换或处理结果更准确。

应当注意的是,上述有关流程400的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程400进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。

图5是根据本说明书的一些实施例所示的基于线性信息选择转换模型的示例性流程图。在一些实施例中,流程500的一个或以上步骤可以由图1所示的处理设备120执行。例如,流程500中的一个或以上步骤可以以指令的形式存储在处理设备120的存储模块或其他存储设备(例如,存储设备140)中,并被处理设备120调用和/或执行。如图5所示,流程500可以包括以下操作。在一些实施例中,在执行流程500时,可以添加一个或以上未描述的附加操作,和/或删减一个或以上此处所讨论的操作。另外,图5中所示操作的顺序并非限制性的。

步骤510,提取初始IMU数据的线性信息。在一些实施例中,步骤510可以由数据转换模块220执行。

在一些实施例中,初始IMU数据的线性信息可以包括初始IMU数据对应的线性区间、线性区间的大小、线性区间的分布等中的至少一种。

在一些实施例中,结合前文,初始IMU数据可以是特定采集时刻对应的IMU数据或多个采集时刻对应的IMU数据。相应地,对于多个采集时刻对应的IMU数据,其对应的线性信息可以相同或不同。在一些实施例中,对于多个采集时刻对应的IMU数据,可以确定平均线性信息。例如,可以对多个采集时刻对应的线性信息取平均作为平均线性信息。又例如,可以将多个采集时刻中处于中间位置附近的时刻对应的场景线性作为平均线性信息。

步骤520,基于线性信息,从多个候选转换模型中选择转换模型,其中,多个候选转换模型分别对应不同的候选线性类别。在一些实施例中,步骤520可以由数据转换模块220执行。

在一些实施例中,多个候选转换模型可以是针对多个不同的候选线性类别分别训练初始转换模型而确定。例如,假设多个候选线性类别包括类别A、类别B、类别C和类别D,可以分别针对类别A、类别B、类别C和类别D,确定对应的训练样本,并基于训练样本训练初始转换模型以确定对应的候选转换模型。

在一些实施例中,可以基于线性区间的大小和/或线性区间的分布等确定候选线性类别。例如,可以根据线性区间的大小,分为第一类别、第二类别和第三类别,分别对应线性区间范围a~b、b~c、c~d。上述示例仅为举例说明,还可以针对线性区间进行不同维度或角度的分类,相应确定不同维度或角度的候选线性类别。

在一些实施例中,多个候选线性类别的数量可以是系统默认值,也可以根据不同情况设定。候选线性类别的数量越多,对线性区间的分类越详细,相应的对初始IMU数据的处理越准确。

在一些实施例中,可以基于初始IMU数据对应的线性信息(或平均线性信息),识别对应的候选线性类别,并将候选线性类别对应的候选转换模型作为转换模型。在一些实施例中,可能不存在与初始IMU数据对应的线性信息(或平均线性信息)完全对应的候选线性类别,在这种情况下,可以选择与线性信息(或平均线性信息)中的一种或多种信息类似或接近的候选线性类别。

由于线性信息一定程度上体现了初始IMU数据的精度情况,因此,针对不同的线性类别训练相应的转换模型,可以在处理或转换IMU数据时针对不同的线性信息选择相应的转换模型,从而使转换或处理结果更准确。

应当注意的是,上述有关流程500的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程500进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。

图6是根据本说明书的一些实施例所示的转换模型的训练过程的示例性流程图。在一些实施例中,流程600的一个或以上步骤可以由图1所示的处理设备120执行。例如,流程600中的一个或以上步骤可以以指令的形式存储在处理设备120的存储模块或其他存储设备(例如,存储设备140)中,并被处理设备120调用和/或执行。如图6所示,流程600可以包括以下操作。在一些实施例中,在执行流程600时,可以添加一个或以上未描述的附加操作,和/或删减一个或以上此处所讨论的操作。另外,图6中所示操作的顺序并非限制性的。

步骤610,获取多个训练样本。在一些实施例中,步骤610可以由模型训练模块240执行。

在一些实施例中,多个训练样本中的每一个训练样本可以包括样本IMU数据,样本IMU数据的精度低于预设精度阈值。在一些实施例中,样本IMU数据可以是由相对低精度IMU所采集的数据。在一些实施例中,预设精度阈值可以是系统默认值,也可以根据不同情况不同需求设定。

在一些实施例中,可以从处理设备120的存储模块或存储设备140中获取多个训练样本。

步骤620,对于多个训练样本中的每一个训练样本,获取该训练样本对应的标准IMU数据,作为训练样本的标签,其中,标准IMU数据的精度大于样本IMU数据的精度。在一些实施例中,步骤620可以由模型训练模块240执行。

在一些实施例中,标准IMU数据可以是由相对高精度IMU所采集的数据。在一些实施例中,标准IMU数据与样本IMU数据的时间戳相同。也就是说,标准IMU数据的采集时刻或采集时间段与样本IMU数据的采集时刻或采集时间段相同或大致相同。仅作为示例,可以将安装有低精度IMU和高精度IMU的车辆在城市道路上行驶,低精度IMU和高精度IMU可以在多个时刻同时采集车辆的速度、加速度等数据,每个时刻采集的低精度IMU数据作为样本IMU数据,高精度IMU数据作为标准IMU数据。

步骤630,基于多个训练样本,通过至少一次迭代过程训练初始转换模型,确定转换模型。在一些实施例中,步骤630可以由模型训练模块240执行。

在一些实施例中,初始转换模型可以包括初始模型参数。在一些实施例中,初始模型参数可以是系统默认值,也可以根据不同情况设定。仅作为示例,初始模型可以是Transformer模型,其包括随时初始化的初始模型参数(例如,神经网络层中各个神经元的权重、常数项等)。

在一些实施例中,对于至少一次迭代过程中的每一次,可以基于当前次迭代中的转换模型,确定多个训练样本分别对应的预测IMU数据,并基于预测IMU数据与标准IMU数据间的差异,更新当前次迭代中的转换模型的模型参数。具体地,可以基于预测IMU数据与标准IMU数据间的差异,确定损失函数(例如,交叉上、KL散度)的值,并基于损失函数的值,优化转换模型的模型参数。例如,可以基于下述公式,通过反向传播算法更新当前次迭代中转换模型的模型参数:

w′

其中,m表示神经网络中神经元的数量,w′

在一些实施例中,当满足某一预设条件时(例如,损失函数的值小于某一预设值、迭代过程达到预定次数),整个训练过程结束。

在一些实施例中,可以针对不同的场景类别训练不同的转换模型。具体地,可以获取针对不同场景类别的训练样本,并基于相应的训练样本,训练不同场景类别对应的转换模型。在一些实施例中,可以针对不同的线性类别训练不同的转换模型。具体地,可以获取针对不同线性类别的训练样本,并基于相应的训练样本,训练不同线性类别对应的转换模型。在一些实施例中,可以针对不同的行驶信息训练不同的转换模型。具体地,可以获取针对不同行驶信息的训练样本,并基于相应的训练样本,训练不同行驶信息对应的转换模型。在一些实施例中,还可以针对其他类别训练不同的转换模型,例如,IMU的类型、IMU的使用情况等。

应当注意的是,上述有关流程600的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程600进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。

图7是根据本说明书的一些实施例所示的基于转换的IMU数据确定目标IMU数据的示例性流程图。在一些实施例中,流程700的一个或以上步骤可以由图1所示的处理设备120执行。例如,流程700中的一个或以上步骤可以以指令的形式存储在处理设备120的存储模块或其他存储设备(例如,存储设备140)中,并被处理设备120调用和/或执行。如图7所示,流程700可以包括以下操作。在一些实施例中,在执行流程700时,可以添加一个或以上未描述的附加操作,和/或删减一个或以上此处所讨论的操作。另外,图7中所示操作的顺序并非限制性的。

步骤710,获取参考参数。在一些实施例中,步骤710可以由数据确定模块230执行。

在一些实施例中,参考参数可以至少包括参考IMU数据的线性相关信息。在一些实施例中,参考IMU数据的相关参数与初始IMU数据的相关参数类似或相同。在一些实施例中,参考IMU数据的精度高于初始IMU数据的精度。在一些实施例中,相关参数可以包括IMU类型、场景信息、噪声指标、工作模式等中的至少一种。在一些实施例中,参考IMU数据可以是初始IMU数据对应的高精度的理想IMU数据。

在一些实施例中,参考IMU数据可以由处理设备结合上述相关参数计算确定。在一些实施例中,参考IMU数据可以是由相对高精度的IMU实际采集获取。

在一些实施例中,参考IMU数据的线性相关信息可以包括参考IMU数据对应的线性区间、线性区间的大小、线性区间的分布等中的至少一种。

步骤720,基于参考参数,调整转换的IMU数据。在一些实施例中,步骤720可以由数据确定模块230执行。

在一些实施例中,可以基于参考IMU数据的线性相关信息,对转换的IMU数据进行线性拟合。在一些实施例中,可以基于参考IMU数据的线性相关信息,调整转换的IMU数据的线性信息。例如,可以基于参考IMU数据的线性相关信息,调整(例如,增大)转换的IMU数据的线性区间的大小或线性区间的分布。

步骤730,基于调整后的IMU数据,确定目标IMU数据。在一些实施例中,步骤730可以由数据确定模块230执行。

在一些实施例中,可以直接将调整后的IMU数据作为目标IMU数据。在一些实施例中,可以对调整后的IMU数据进行平滑去躁等后处理以确定目标IMU数据。

在一些实施例中,基于参考IMU数据对经过转换模型处理确定的转换IMU数据进行进一步处理,可以进一步调整IMU数据的线性区间,从而进一步提升数据精度。

在一些实施例中,可以以预设时间间隔调整转换的IMU数据。例如,可以每隔1分钟基于参考参数调整转换的IMU数据,其他时间直接将转换的IMU数据作为目标IMU数据。可以在保证IMU数据精度的同时降低系统运行或计算负荷。

图8是根据本说明书一些实施例所示的Transformer模型的示例性结构示意图。

如图8所示,Transformer模型800可以由多个相同的编码器(Encoder)和多个相同的解码器(Decoder)构成。Transformer模型的输入是初始IMU数据,输出是转换后的IMU数据。

在一些实施例中,当初始IMU数据为特定采集时刻对应的IMU数据时,可以将初始IMU数据输入至编码器,并将编码器的编码结果输入至解码器,进一步地,将解码器的解码结果输入至一个或多个神经网络层,可以得到转换后的IMU数据。

在一些实施例中,当初始IMU数据为序列数据(即包括多个采集时刻对应的IMU数据)时,可以将多个采集时刻对应的IMU数据分别输入至多个编码器,得到多个编码结果;将第一个编码结果(即第一个采集时刻对应的IMU数据的编码结果)输入至第一个解码器,得到第一个解码结果;将第二个编码结果(即第二个采集时刻对应的IMU数据的编码结果)和第一个解码结果输入至第二个解码器,得到第二个解码结果,以此类推,可以得到最后一个解码结果;进一步可以基于最后一个解码结果得到转换后的IMU数据。

在一些实施例中,每个编码器可以包括多层结构(例如,多个神经网络层)。每层结构可以包括两个子层(Sub-layer),分别为基于注意力机制(Multi-head attentionmechanism)的第一子层和全连接前馈网络(Fully connected feed-forward network)第二子层。进一步地,每个子层都添加了残差模块(Residual connection)和标准化模块(Normalization)。

在一些实施例中,每个解码器也可以包括多层结构(例如,多个神经网络层)。与编码器类似,每层结构可以包括两个子层(Sub-layer),分别为基于注意力机制(Multi-headattention mechanism)的第一子层和全连接前馈网络(Fully connected feed-forwardnetwork)第二子层。此外,每层结构还可以包括基于注意力机制(Masked Multi-headattention mechanism)的第三子层。

通过特定的模型结构,可以高效准确地处理序列数据,准确提取不同采集时刻对应的IMU数据间的关联关系,从而使转换结果更准确。

本说明书一些实施例还提供了一种IMU数据处理装置,包括至少一个存储介质以及至少一个处理器。至少一个存储介质用于存储计算机指令;至少一个处理器用于执行计算机指令,以实现如上所述的IMU数据处理方法。

本说明书一些实施例还提供了一种计算机可读存储介质,存储计算机指令。当计算机读取存储介质中的计算机指令时,可以执行如上所述的IMU数据处理方法。

本说明书实施例可能带来的有益效果包括但不限于:(1)通过转换模型,将低精度IMU数据转换为高精度IMU数据,无需更换IMU设备,成本低廉,便于大规模应用;(2)通过非线性转换模型进行数据转换,可以更准确地提取序列数据中的关联关系,转换结果更准确;(3)针对不同的场景或不同的数据线性类别,选择不同的转换模型,转换结果更准确;(4)结合理想数据,对转换后的数据进行进一步处理,进一步提升数据精度。

需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。

以上内容描述了本说明书和/或一些其他的示例。根据上述内容,本说明书还可以做出不同的变形。本说明书披露的主题能够以不同的形式和例子所实现,并且本说明书可以被应用于大量的应用程序中。后文权利要求中所要求保护的所有应用、修饰以及改变都属于本说明书的范围。

同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”、或“一个实施例”、或“一替代性实施例”、或“另一实施例”或“另一个实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

本领域技术人员能够理解,本说明书所披露的内容可以出现多种变型和改进。例如,以上所描述的不同系统组件都是通过硬件设备所实现的,但是也可能只通过软件的解决方案得以实现。例如:在现有的服务器上安装系统。此外,这里所披露的位置信息的提供可能是通过一个固件、固件/软件的组合、固件/硬件的组合或硬件/固件/软件的组合得以实现。

所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信能够将软件从一个计算机设备或处理器加载到另一个。例如:从放射治疗系统的一个管理服务器或主机计算机加载至一个计算机环境的硬件平台,或其他实现系统的计算机环境,或与提供确定轮椅目标结构参数所需要的信息相关的类似功能的系统。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。

本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,例如,局域网(LAN)或广域网(WAN)、或连接至外部计算机(例如通过因特网)、或在云计算环境中、或作为服务使用如软件即服务(SaaS)。

此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

一些实施例中使用了描述属性、数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。

针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档、物件等,特将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。

最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不限于本说明书明确介绍和描述的实施例。

相关技术
  • 一种IMU数据处理方法、系统、装置及存储介质
  • 一种MEMS-IMU模块组合里程计的数据处理方法及系统
技术分类

06120113215071