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

车辆移动轨迹的修正方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:26:00


车辆移动轨迹的修正方法、装置、电子设备及存储介质

技术领域

本申请涉及导航技术领域,尤其涉及一种车辆移动轨迹的修正方法、装置、电子设备及存储介质。

背景技术

定位系统例如GPS(Global Positioning System,全球定位系统)、RTK(Real -time kinematic,实时动态)等由于具有精度高、性能好等特点,被广泛应用于车辆的定位和轨迹跟踪中来。然而,在实际应用中发现,有时候定位系统测得的定位高度会出现不合理的跳变,尤其是在桥下、涵洞、隧道或密集楼宇之间等定位信号不好的位置,测得的定位高度偏差会更大,使得车辆的定位高度测量结果精度差。

SLAM(Simultaneous Localization And Mapping,即时定位与地图构建)主要用于解决移动设备在未知环境中运行时进行定位导航与地图构建的问题,其定位精度较高。然而,通过SLAM进行定位导航得到的移动轨迹是相对的,并不是真实移动轨迹。因此,要想得到高精度的移动轨迹,需要对相对轨迹进行修正。

发明内容

为解决或部分解决相关技术中存在的问题,本申请提供一种车辆移动轨迹的修正方法、装置、电子设备及存储介质,能够提高车辆移动轨迹的精度。

本申请第一方面提供一种车辆移动轨迹的修正方法,包括:

获取车辆在行驶过程中拍摄的图片序列,以及获取所述图片序列中每一帧图片的拍摄时间;

利用所述图片序列构建所述车辆的SLAM移动轨迹,其中,所述SLAM移动轨迹包括拍摄所述每一帧图片时所述车辆的预测位置的组合,所述预测位置包括预测经度、预测纬度和预测高度;

利用所述SLAM移动轨迹中的拍摄至少两帧第一目标图片时所述车辆的预测经度和预测纬度,以及在所述至少两帧第一目标图片的拍摄时间所述车辆的定位系统对应测得的定位经度和定位纬度,计算第一尺度因子;

根据所述第一尺度因子对所述SLAM移动轨迹中拍摄所述每一帧图片时所述车辆的预测高度进行尺度变换,得到SLAM轨迹高度;

利用所述SLAM轨迹高度对所述定位系统测得的轨迹高度进行修正,得到修正后的所述定位系统的轨迹高度;

利用所述SLAM移动轨迹上的拍摄至少两帧第二目标图片时所述车辆的预测经度、预测纬度和预测高度,以及在所述至少两帧第二目标图片的拍摄时间所述定位系统对应测得的定位经度、定位纬度和修正定位高度,计算所述SLAM移动轨迹的修正参数,所述修正参数包括第二尺度因子、旋转矩阵和平移矩阵中的至少一项,所述修正定位高度为修正后的所述定位系统的轨迹高度中该拍摄时间对应的定位高度;

根据所述修正参数对所述SLAM移动轨迹进行修正,得到修正后的移动轨迹。

优选的,所述利用所述SLAM轨迹高度对所述定位系统测得的轨迹高度进行修正,得到修正后的所述定位系统的轨迹高度,包括:

分别获取各拍摄时间下所述SLAM轨迹高度中所述车辆的位置高度的加权系数和所述定位系统测得的定位高度的加权系数;其中,所述车辆的位置高度为所述车辆的预测高度利用所述第一尺度因子通过尺度变换得到的;

利用加权系数对各拍摄时间下的所述车辆的位置高度和所述定位高度进行加权处理,得到修正后的所述定位系统的轨迹高度。

优选的,所述分别获取各拍摄时间下所述SLAM轨迹高度中所述车辆的位置高度的加权系数和所述定位系统测得的定位高度的加权系数,包括:

对各拍摄时间下获取的图片进行识别,分别获得所述车辆所处位置环境;

当有图片识别出的所述车辆所处位置环境满足预设条件时,获取该图片的拍摄时间下所述车辆的位置高度的第一加权系数和所述定位系统测得的定位高度的第二加权系数,其中,所述第一加权系数大于所述第二加权系数;

当有图片识别出的所述车辆所处位置环境不满足所述预设条件时,获取该图片的拍摄时间下所述车辆的位置高度的第三加权系数和所述定位系统测得的定位高度的第四加权系数,其中,所述第三加权系数与所述第一加权系数不同,所述第四加权系数与所述第二加权系数不同。

优选的,所述分别获取各拍摄时间下所述SLAM轨迹高度中所述车辆的位置高度的加权系数和所述定位系统测得的定位高度的加权系数,包括:

获取所述定位系统测得的初始定位高度;

计算各拍摄时间下所述定位系统测得的定位高度与所述初始定位高度的高度差值;

当有拍摄时间下所述定位系统测得的定位高度与所述初始定位高度的高度差值大于预设值时,获取该拍摄时间下所述车辆的位置高度的第一加权系数和所述定位系统测得的定位高度的第二加权系数,其中,所述第一加权系数大于所述第二加权系数;

当有拍摄时间下所述定位系统测得的定位高度与所述初始定位高度的高度差值小于或等于所述预设值时,获取该拍摄时间下所述车辆的位置高度的第三加权系数和所述定位系统测得的定位高度的第四加权系数,其中,所述第三加权系数与所述第一加权系数不同,所述第四加权系数与所述第二加权系数不同。

优选的,所述至少两帧第二目标图片的数量大于所述至少两帧第一目标图片的数量,所述利用所述SLAM移动轨迹上的拍摄至少两帧第二目标图片时所述车辆的预测经度、预测纬度和预测高度,以及在所述至少两帧第二目标图片的拍摄时间所述定位系统对应测得的定位经度、定位纬度和修正定位高度,计算所述SLAM移动轨迹的修正参数,包括:

根据所述SLAM移动轨迹上的拍摄至少两帧第二目标图片时所述车辆的预测经度、预测纬度和预测高度,以及在所述至少两帧第二目标图片的拍摄时间所述定位系统对应测得的定位经度、定位纬度和修正定位高度,利用最小二乘优化算法计算得到所述SLAM移动轨迹的修正参数。

优选的,所述修正参数包括第二尺度因子、旋转矩阵和平移矩阵,所述根据所述修正参数对所述SLAM移动轨迹进行修正,得到修正后的移动轨迹,包括:

利用所述第二尺度因子对所述SLAM移动轨迹进行尺度变换,得到新的SLAM移动轨迹;

将所述新的SLAM移动轨迹按照所述旋转矩阵和所述平移矩阵进行旋转和平移,得到修正后的移动轨迹。

本申请第二方面提供一种车辆移动轨迹的修正装置,包括:

图片获取单元,用于获取车辆在行驶过程中拍摄的图片序列,以及获取所述图片序列中每一帧图片的拍摄时间;

轨迹构建单元,用于利用所述图片序列构建所述车辆的SLAM移动轨迹,其中,所述SLAM移动轨迹包括拍摄所述每一帧图片时所述车辆的预测位置的组合,所述预测位置包括预测经度、预测纬度和预测高度;

第一计算单元,用于利用所述SLAM移动轨迹中的拍摄至少两帧第一目标图片时所述车辆的预测经度和预测纬度,以及在所述至少两帧第一目标图片的拍摄时间所述车辆的定位系统对应测得的定位经度和定位纬度,计算第一尺度因子;

尺度变换单元,用于根据所述第一尺度因子对所述SLAM移动轨迹中拍摄所述每一帧图片时所述车辆的预测高度进行尺度变换,得到SLAM轨迹高度;

高度修正单元,用于利用所述SLAM轨迹高度对所述定位系统测得的轨迹高度进行修正,得到修正后的所述定位系统的轨迹高度;

第二计算单元,用于利用所述SLAM移动轨迹上的拍摄至少两帧第二目标图片时所述车辆的预测经度、预测纬度和预测高度,以及在所述至少两帧第二目标图片的拍摄时间所述定位系统对应测得的定位经度、定位纬度和修正定位高度,计算所述SLAM移动轨迹的修正参数,所述修正参数包括第二尺度因子、旋转矩阵和平移矩阵中的至少一项,所述修正定位高度为修正后的所述定位系统的轨迹高度中该拍摄时间对应的定位高度;

轨迹修正单元,用于根据所述修正参数对所述SLAM移动轨迹进行修正,得到修正后的移动轨迹。

优选的,所述高度修正单元利用所述SLAM轨迹高度对所述定位系统测得的轨迹高度进行修正,得到修正后的所述定位系统的轨迹高度的方式包括:

所述高度修正单元分别获取各拍摄时间下所述SLAM轨迹高度中所述车辆的位置高度的加权系数和所述定位系统测得的定位高度的加权系数,利用加权系数对各拍摄时间下的所述车辆的位置高度和所述定位高度进行加权处理,得到修正后的所述定位系统的轨迹高度,其中,所述车辆的位置高度为所述车辆的预测高度利用所述第一尺度因子通过尺度变换得到的。

本申请第三方面提供一种电子设备,包括:

处理器;以及

存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。

本申请第四方面提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。

本申请提供的技术方案,考虑到定位系统测得的移动轨迹高度时常会发生跳变,在利用定位系统测得的移动轨迹对图片构建的车辆相对SLAM移动轨迹进行修正时,可以先对定位系统测得的轨迹高度进行修正,能够消除定位高度的影响,避免因定位高度偏差而造成最终轨迹修正不准确的结果。进一步地,利用修正定位高度后的定位系统的移动轨迹来作为修正相对SLAM移动轨迹的依据,以将相对SLAM移动轨迹往真实移动轨迹上进行修正,从而能够提升车辆移动轨迹的精度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。

图1是本申请实施例示出的一种车辆移动轨迹的修正方法的流程示意图;

图2a是本申请实施例示出的同一路段上SLAM轨迹高度和GPS轨迹高度的波动曲线图;

图2b是本申请实施例示出的同一路段上GPS移动轨迹与修正后的SLAM移动轨迹的比较示意图;

图3是本申请实施例示出的一种车辆移动轨迹的修正装置的结构示意图;

图4是本申请实施例示出的一种电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。以下结合附图详细描述本申请实施例的技术方案。

请参阅图1,本申请实施例提供了一种车辆移动轨迹的修正方法。入图1所示,该方法可以包括以下步骤:

110、获取车辆在行驶过程中拍摄的图片序列,以及获取图片序列中每一帧图片的拍摄时间。

本申请实施例中,可以通过摄像装置来采集行车过程中的视频数据,其中,摄像装置可以包括但不限于安装于车辆上的行车记录仪、摄像头或司机的手机等具有摄像功能的装置。摄像装置可以设置于车辆的首部以采集其前方的视频,也可以设置于车辆的尾部以采集其后方的视频,这里不作限定。为了获得图片,需要对摄像装置获取的视频数据进行抽帧。通常,视频的帧率为每秒30帧,可以按照预置的规则对视频进行抽帧,例如,每秒抽10帧、15帧、20帧、30帧或其他值,从而获得拍摄的多帧图片,上述多帧图片可以组成图片序列。其中,图片序列中的任意相邻两帧图片的时间间隔为抽帧时间间隔。此外,摄像装置在拍摄图片的同时,还可以记录下图片的拍摄时间。

本申请实施例提供的方法可以应用于车机,也可以应用于其他具备计算和处理功能的设备,如计算机、电脑、手机等。这里以车机为例,摄像装置和定位系统可以内置于车机,也可以设置于车机外,且与车机之间建立通信连接。

120、利用图片序列构建车辆的SLAM移动轨迹。

本申请实施例中,利用采集到的图片序列进行SLAM定位,可以得到拍摄每一帧图片时车辆的SLAM定位位置,这里将SLAM定位位置看作为预测位置。通过拍摄每一帧图片时车辆的预测位置可以绘制出车辆的SLAM移动轨迹,即SLAM移动轨迹包括拍摄每一帧图片时车辆的预测位置的组合,该预测位置可以包括预测经度、预测纬度和预测高度。车辆的SLAM移动轨迹为车辆的相对轨迹,而不是车辆的真实移动轨迹,因此,要想得到车辆的真实移动轨迹,需要对车辆的SLAM移动轨迹进行修正。

可以理解的是,通过SLAM得到的拍摄每一帧图片时车辆的预测位置一般是用UTM(Universal Transverse Mercator Grid System,通用横墨卡托格网系统)坐标来表示,这里将UTM坐标转换为经纬度坐标,其目的是方便与定位系统测得的经纬度坐标统一在同一坐标系下。如果定位系统测得的定位坐标为UTM坐标系下的坐标,则SLAM得到的预测位置则无需转换成经纬度坐标。

在一可选的实施方式中,步骤120利用图片序列构建车辆的SLAM移动轨迹的具体实施方式可以包括以下步骤:

11)确定滑动窗口大小,该滑动窗口内可以包括图片序列中拍摄时间相邻的至少两帧图片;

12)根据上述至少两帧图片构建三维空间坐标;

13)获取图片序列中位于上述至少两帧图片之后的下一帧图片;

14)根据该下一帧图片和三维空间坐标,确定拍摄该下一帧图片时单目摄像装置的位姿;

15)根据拍摄该下一帧图片时单目摄像装置的位姿,获得拍摄该下一帧图片时车辆的预测位置;

16)将该滑动窗口以预设步长在图片序列中滑动,重复执行步骤11)至步骤15),分别得到拍摄各帧图片时车辆的预测位置;

17)根据拍摄各帧图片时车辆的预测位置,生成车辆的SLAM移动轨迹。

其中,步骤12)根据上述至少两帧图片构建三维空间坐标的具体实施方式可以包括:获取上述至少两帧图片中每一帧图片的特征点;将上述至少两帧图片的特征点进行匹配,得到上述至少两帧图片中匹配成功的目标特征点集;根据目标特征点集构建三维空间坐标。

可选的,图片采集时往往会在图片上显示时间水印,还可能因为摄像装置拍摄角度的问题将所在车辆的部分车身也拍摄进来,甚至还可能因天气或光线等原因使图片中出现反光、光圈等影响因素。这些因素在车辆向前行驶过程中几乎没什么变化,当进行图片特征点匹配时,这些因素将会被大量匹配到。这样对于后续利用特征点进行三维空间坐标构建时,不仅大大增加了计算量,而且会使得结果不准确。因此,需要对上述因素进行去除,以排除上述因素对结果的影响。具体的,假设是利用两帧图片来构建三维空间坐标,两帧图片中匹配成功的目标特征点集可以看作为目标特征点对。可以获取所有目标特征点对分别在两张图片中的像素坐标,计算每一个目标特征点对中的两个像素坐标之间的距离,将像素坐标之间的距离小于预设距离的目标特征点对进行删除,利用剩余的目标特征点对构建三维空间坐标。

130、利用SLAM移动轨迹中的拍摄至少两帧第一目标图片时车辆的预测经度和预测纬度,以及在上述至少两帧第一目标图片的拍摄时间车辆的定位系统对应测得的定位经度和定位纬度,计算第一尺度因子。

由于定位系统的定位高度会经常出现不合理的跳变,尤其是在桥下、涵洞、隧道或密集楼宇之间等定位信号不好的位置,跳变幅度更大。如果直接利用定位系统测得的移动轨迹来修正SLAM移动轨迹,会使得SLAM移动轨迹中的轨迹高度不准确,因此,需要先对定位系统的轨迹高度进行修正。而利用图片构建的SLAM移动轨迹中的轨迹高度较为平稳,准确性较高,因此,可以利用SLAM轨迹高度来修正定位系统的轨迹高度。然而,SLAM移动轨迹中的轨迹高度为相对高度,因此,需要先对其进行尺度变换,以变换为实际高度。

具体的,要想对车辆的SLAM移动轨迹高度进行尺度变换,可以获取SLAM移动轨迹上的拍摄至少两帧第一目标图片时车辆的预测经度和预测纬度。并且,可以获取定位系统在上述至少两帧目标图片的拍摄时间测得的车辆的定位位置,该定位位置可以包括定位经度、定位纬度和定位高度。其中,该定位系统可以包括但不限于GPS、北斗卫星定位系统、RTK定位系统等中的至少一种。

其中,定位系统在上述至少两帧第一目标图片的拍摄时间测得的车辆的定位位置默认为是定位系统处于信号较好时测得的定位位置,即该定位位置为准确的定位位置。当定位系统在起始导航时刻和结束导航时刻的定位较准确时,定位系统获取的可以是起始至少两点的车辆定位位置,相应地,上述至少两帧第一目标图片为在上述至少两点拍摄的图片;或者,定位系统获取的可以是结尾至少两点的车辆定位位置,相应的,上述至少两帧第一目标图片为在上述至少两点拍摄的图片;或者,定位系统获取的可以是起始一点或几点的车辆定位位置和结尾一点或几点的车辆定位位置,相应地,上述至少两帧第一目标图片为在这些点拍摄的图片;或者,定位系统获取的可以是其他信号较好的点的车辆定位位置,相应地,上述至少两帧第一目标图片为在这些点拍摄的图片。

由于定位系统测得的定位高度不准确,因此在计算第一尺度因子时可以排除定位高度的影响,使得计算结果更准确。

在一可选的实施方式中,当上述至少两帧第一目标图片仅包括两帧第一目标图片时,步骤130利用SLAM移动轨迹中的拍摄至少两帧第一目标图片时车辆的预测经度和预测纬度,以及在上述至少两帧第一目标图片的拍摄时间车辆的定位系统对应测得的定位经度和定位纬度,计算第一尺度因子的具体实施方式可以包括以下步骤:

13a)根据SLAM移动轨迹中的拍摄上述两帧第一目标图片时车辆的预测经度和预测纬度,得到车辆的第一移动距离;

13b)根据拍摄上述两帧第一目标图片时定位系统对应测得的定位经度和定位纬度,得到车辆的第二移动距离;

13c)计算第二移动距离与第一移动距离的比值,将该比值确定为SLAM移动轨迹的第一尺度因子。

举例来说,假设上述两帧第一目标图片分别为起始帧图片p1和结尾帧图片p2,且拍摄图片p1时车辆的预测经纬度坐标为P1

在一可选的实施方式中,当上述至少两帧第一目标图片包括多于两帧第一目标图片时,步骤130利用SLAM移动轨迹中的拍摄至少两帧第一目标图片时车辆的预测经度和预测纬度,以及在上述至少两帧第一目标图片的拍摄时间车辆的定位系统对应测得的定位经度和定位纬度,计算第一尺度因子的具体实施方式可以包括以下步骤:

13d)根据SLAM移动轨迹中的拍摄上述多于两帧第一目标图片时车辆的预测经度和预测纬度,以及定位系统对应测得的定位经度和定位纬度,利用最小二乘优化算法计算得到SLAM移动轨迹的第一尺度因子。

举例来说,当上述多于两帧第一目标图片为三帧第一目标图片时,假设上述三帧第一目标图片分别为图片p1、图片p2和图片p3,且拍摄图片p1时车辆的预测经纬度坐标为P1

error = s1 * Pi

其中,Pi

可以理解的是,上述多于两帧第一目标图片是以三帧为例进行举例说明的,但不局限于此,上述多于两帧第一目标图片可以是多于三帧图片,如4帧、5帧、6帧或其他值,这里不作限定。

140、根据第一尺度因子对SLAM移动轨迹中拍摄每一帧图片时车辆的预测高度进行尺度变换,得到SLAM轨迹高度。

150、利用SLAM轨迹高度对定位系统测得的轨迹高度进行修正,得到修正后的定位系统的轨迹高度。

本申请实施例中,在求得第一尺度因子s1后,可以将SLAM移动轨迹中拍摄每一帧图片时车辆的预测高度按照第一尺度因子s1进行伸缩,当第一尺度因子s1为大于1的数时,可以将预测高度的尺寸拉伸为原来的s1倍;当第一尺度因子s1为小于1的数时,可以将预测高度的尺寸缩小为原来的s1倍。每一帧图片对应的预测高度按照上述方式进行伸缩,伸缩后的预测高度组合成SLAM轨迹高度。

进一步地,可以利用经过尺度变换得到的SLAM轨迹高度来修正定位系统测得的轨迹高度。以GPS定位系统测得的轨迹高度为例进行说明。图2a示出的是在同一时间段内的同一较平坦路段上由GPS测得的轨迹高度和SLAM轨迹高度,其中,横坐标为时间,单位毫秒(ms),纵坐标为高度,单位米(m)。图中虚线条表示的波形曲线为GPS测得的轨迹高度,实线条表示的波形曲线为SLAM轨迹高度。从图2a可以看出,GPS轨迹高度的波动较大,波动高度差值甚至可达30m,测量结果不稳定,准确性差。而SLAM轨迹高度的波动较小,整个波形曲线近乎趋近于直线,测量结果较稳定。需要说明的是,图2a示出的仅是截取的其中一段时间的测量结果,并不是整个行驶过程的测量结果。

利用SLAM轨迹高度来修正定位系统测得的轨迹高度的方式可以有多种。例如,可以将SLAM轨迹高度直接替换掉定位系统测得的轨迹高度,即将SLAM轨迹高度作为修正后的定位系统的轨迹高度。又如,也可以将SLAM轨迹高度和定位系统测得的轨迹高度取平均值,得到的平均轨迹高度作为修正后的定位系统的轨迹高度。

在一可选的实施方式中,步骤150利用SLAM轨迹高度对定位系统测得的轨迹高度进行修正,得到修正后的定位系统的轨迹高度的具体实施方式可以包括以下步骤:

15a)分别获取各拍摄时间下SLAM轨迹高度中车辆的位置高度的加权系数和定位系统测得的定位高度的加权系数;其中,车辆的位置高度为车辆的预测高度利用第一尺度因子通过尺度变换得到的;

15b)利用加权系数对各拍摄时间下的车辆的位置高度和定位高度进行加权处理,得到修正后的定位系统的轨迹高度。

具体的,某一拍摄时间下车辆的预测高度通过第一尺度因子进行伸缩后,得到该拍摄时间下车辆的位置高度。不同拍摄时间下车辆的位置高度的加权系数可以全部相同或部分相同或全部不同,同理的,不同拍摄时间下定位系统的定位高度的加权系数可以全部相同或部分相同或全部不同。同一拍摄时间下车辆的位置高度的加权系数与定位高度的加权系数可以相同也可以不同。其中,加权系数的取值范围可以为大于等于0且小于等于1。

举例来说,假设不同拍摄时间下车辆的位置高度的加权系数均相同,不同拍摄时间下车辆的定位高度的加权系数也均相同。如果车辆的位置高度的加权系数为1,车辆的定位高度的加权系数为0,则可以看作为将每一拍摄时间下车辆的位置高度取代车辆的定位高度,即将SLAM轨迹高度直接替换掉定位系统测得的轨迹高度,以将SLAM轨迹高度作为修正后的定位系统的轨迹高度。如果车辆的位置高度的加权系数为0.5,车辆的定位高度的加权系数也为0.5,则可以看作为对每一拍摄时间下车辆的位置高度和定位高度取平均值,即将SLAM轨迹高度和定位系统测得的轨迹高度取平均值,得到的平均轨迹高度作为修正后的定位系统的轨迹高度。如果车辆的位置高度的加权系数为0.8,车辆的定位高度的加权系数为0.2,则可以对每一拍摄时间下车辆的位置高度和定位高度按照自身对应的加权系数进行加权处理,得到修正后的定位系统的轨迹高度。

可选的,步骤15a)中可以通过获取各拍摄时间下的目标参数来确定SLAM轨迹高度中车辆的位置高度的加权系数和定位系统测得的定位高度的加权系数,其中,各拍摄时间下的目标参数可以包括各拍摄时间下车辆所处位置环境、各拍摄时间下定位系统测得的定位高度大小、各拍摄时间下定位系统的信号强度大小等中的至少一个。

在一可选的实施方式中,步骤15a)分别获取各拍摄时间下SLAM轨迹高度中车辆的位置高度的加权系数和定位系统测得的定位高度的加权系数的具体实施方式可以包括以下步骤:

对各拍摄时间下获取的图片进行识别,分别获得车辆所处位置环境;

当有图片识别出的车辆所处位置环境满足预设条件时,获取该图片的拍摄时间下车辆的位置高度的第一加权系数和定位系统测得的定位高度的第二加权系数,其中,第一加权系数大于第二加权系数;

当有图片识别出的车辆所处位置环境不满足预设条件时,获取该图片的拍摄时间下车辆的位置高度的第三加权系数和定位系统测得的定位高度的第四加权系数,其中,第三加权系数与第一加权系数不同,第四加权系数与第二加权系数不同。

具体的,可以对采集到的各帧图片进行场景识别,以识别车辆当前所处位置环境。其中,车辆所处位置环境满足预设条件可以包括车辆所处位置环境为高楼密集处、隧道、涵洞、立交桥下或附近等等情况。在这些环境下一般定位系统的定位信号不太好,从而影响定位高度的测量结果。

举例来说,在t1时刻至t2时刻(包含t2时刻)采集到的图片识别出车辆处于立交桥下,而t2时刻(不包含t2时刻)至t3时刻采集到的图片识别出车辆处于空旷的道路上。假设t1时刻至t2时刻车辆的位置高度的第一加权系数为1,定位系统测得的定位高度的第二加权系数为0,可以看作为在t1时刻至t2时刻将车辆的位置高度替换掉定位系统测得的定位高度。t2时刻至t3时刻车辆的位置高度的第三加权系数为0,定位系统测得的定位高度的第四加权系数为1,可以看作为在t2时刻至t3时刻保留定位系统测得的定位高度,即不对该时间段的定位系统的轨迹高度进行修正。或者,t2时刻至t3时刻车辆的位置高度的第三加权系数为0.5,定位系统测得的定位高度的第四加权系数为0.5,可以看作为在t2时刻至t3时刻对车辆的位置高度和定位高度取平均值,得到的平均轨迹高度作为该时间段的定位系统的轨迹高度。再结合t1时刻至t2时刻修正的轨迹高度,即可得到t1时刻至t3时刻修正后的定位系统的轨迹高度。

在一可选的实施方式中,步骤15a)分别获取各拍摄时间下SLAM轨迹高度中车辆的位置高度的加权系数和定位系统测得的定位高度的加权系数的具体实施方式可以包括以下步骤:

获取定位系统测得的初始定位高度;

计算各拍摄时间下定位系统测得的定位高度与初始定位高度的高度差值;

当有拍摄时间下定位系统测得的定位高度与初始定位高度的高度差值大于预设值时,获取该拍摄时间下车辆的位置高度的第一加权系数和定位系统测得的定位高度的第二加权系数,其中,第一加权系数大于第二加权系数;

当有拍摄时间下定位系统测得的定位高度与初始定位高度的高度差值小于或等于预设值时,获取该拍摄时间下车辆的位置高度的第三加权系数和定位系统测得的定位高度的第四加权系数,其中,第三加权系数与第一加权系数不同,第四加权系数与第二加权系数不同。

具体的,由于定位系统的初始定位高度较为准确,因此可以用来作为高度判断的依据。如果车辆在一较平坦的路段上行驶,理论上车辆的定位高度差距应该较小。当某一时刻下测得的定位高度与初始定位高度之间的高度差值大于预设值,可以认为该时刻下测量结果发生较大跳动,结果不准确,需要进行修正。当某一时刻下测得的定位高度与初始定位高度之间的高度差值小于或等于预设值,可以认为该时刻下测量结果较为准确,可以进行适当修正或不修正。其中,预设值可以根据实际场景需求进行设定,如预设值为1米、1.5米、2米、3米、5米或其他值等。

举例来说,在t1时刻至t2时刻(包含t2时刻)定位系统测得的定位高度与初始定位高度的高度差值大于预设值,而t2时刻(不包含t2时刻)至t3时刻测得的定位高度与初始定位高度的高度差值小于预设值。假设t1时刻至t2时刻车辆的位置高度的第一加权系数为1,定位系统测得的定位高度的第二加权系数为0,可以看作为在t1时刻至t2时刻将车辆的位置高度替换掉定位系统测得的定位高度。t2时刻至t3时刻车辆的位置高度的第三加权系数为0,定位系统测得的定位高度的第四加权系数为1,可以看作为在t2时刻至t3时刻保留定位系统测得的定位高度,即不对该时间段的定位系统的轨迹高度进行修正。或者,t2时刻至t3时刻车辆的位置高度的第三加权系数为0.5,定位系统测得的定位高度的第四加权系数为0.5,可以看作为在t2时刻至t3时刻对车辆的位置高度和定位高度取平均值,得到的平均轨迹高度作为该时间段的定位系统的轨迹高度。再结合t1时刻至t2时刻修正的轨迹高度,即可得到t1时刻至t3时刻修正后的定位系统的轨迹高度。

160、利用SLAM移动轨迹上的拍摄至少两帧第二目标图片时车辆的预测经度、预测纬度和预测高度,以及在上述至少两帧第二目标图片的拍摄时间定位系统对应测得的定位经度、定位纬度和修正定位高度,计算SLAM移动轨迹的修正参数。

其中,SLAM移动轨迹的修正参数可以包括第二尺度因子、旋转矩阵和平移矩阵中的至少一项。修正定位高度为修正后的定位系统的轨迹高度中该拍摄时间对应的定位高度。

本申请实施例中,在对定位系统测得的轨迹高度进行修正后,进一步可以利用修正过的三维定位系统的移动轨迹来对三维的SLAM移动轨迹进行修正。其中,选取的第二目标图片可以与第一目标图片相同或不同。优选的,第二目标图片的数量大于第一目标图片的数量。以更多的图片作为参考点,其结果准确性会更好。如果定位系统在整个行驶路段信号较好,定位较准确,可以以定位系统的所有定位点作为依据来确定SLAM移动轨迹的修正参数;如果定位系统在某些路段定位较准确(如起始路段、结束路段等),某些路段定位不准确,则可以以定位较准确的定位点作为依据来确定SLAM移动轨迹的修正参数,而排除定位不准确的点。

在一可选的实施方式中,当上述至少两帧第二目标图片的数量大于上述至少两帧第一目标图片的数量,步骤160利用SLAM移动轨迹上的拍摄至少两帧第二目标图片时车辆的预测经度、预测纬度和预测高度,以及在上述至少两帧第二目标图片的拍摄时间定位系统对应测得的定位经度、定位纬度和修正定位高度,计算SLAM移动轨迹的修正参数的具体实施方式可以包括以下步骤:

16a)根据SLAM移动轨迹上的拍摄至少两帧第二目标图片时车辆的预测经度、预测纬度和预测高度,以及在上述至少两帧第二目标图片的拍摄时间定位系统对应测得的定位经度、定位纬度和修正定位高度,利用最小二乘优化算法计算得到SLAM移动轨迹的修正参数。

举例来说,假设上述至少两帧第二目标图片的数量为三帧,分别为图片p1、图片p2和图片p3,且拍摄图片p1时车辆的预测位置为P1

error=R(s2*Pi

其中,s2为第二尺度因子,R为旋转矩阵,t为平移矩阵,Pi

170、根据该修正参数对SLAM移动轨迹进行修正,得到修正后的移动轨迹。

本申请实施例中,当修正参数仅包含第二尺度因子s2时,可以将SLAM移动轨迹在经度、纬度和高度上按照第二尺度因子s2进行尺度伸缩。当修正参数包括第二尺度因子s2和旋转矩阵R时,可以将SLAM移动轨迹在经度、纬度和高度上按照第二尺度因子s2进行尺度伸缩,再按照旋转矩阵R进行轨迹旋转。当修正参数包括第二尺度因子s2和平移矩阵t时,可以将SLAM移动轨迹在经度、纬度和高度上按照第二尺度因子s2进行尺度伸缩,再按照平移矩阵t进行轨迹平移。

在一可选的实施方式中,步骤170根据该修正参数对SLAM移动轨迹进行修正,得到修正后的移动轨迹的具体实施方式可以包括以下步骤:

17a)利用第二尺度因子对SLAM移动轨迹进行尺度变换,得到新的SLAM移动轨迹;

17b)将新的SLAM移动轨迹按照旋转矩阵和平移矩阵进行旋转和平移,得到修正后的移动轨迹。

具体的,在求得第二尺度因子s2后,可以将SLAM移动轨迹按照第二尺度因子s2进行伸缩,当第二尺度因子s2大于1时,可以将SLAM移动轨迹的长度拉伸为原来的s2倍;当第二尺度因子s2小于1时,可以将SLAM移动轨迹的长度缩小为原来的s2倍。在进行完尺度变换后,可以将尺度变化后的SLAM移动轨迹按照旋转矩阵R和平移矩阵t进行旋转和平移,使得SLAM移动轨迹向真实移动轨迹进行修正。图2b示出的是同一路段上GPS移动轨迹与修正后的SLAM移动轨迹的比较示意图。如图2b所示,颜色较深的轨迹为修正后的SLAM移动轨迹,颜色较浅的轨迹为GPS移动轨迹。从图中可以看出,GPS移动轨迹在起始路段和结束路段定位较准确,在中间路段有部分定位不好,漂移较严重。而修正后的SLAM移动轨迹整体上要比GPS移动轨迹的精度更高,更能反映车辆的真实移动轨迹。

综上,本申请实施例考虑到定位系统测得的移动轨迹高度时常会发生跳变,在利用定位系统测得的移动轨迹对图片构建的车辆相对SLAM移动轨迹进行修正时,可以先对定位系统测得的轨迹高度进行修正,能够消除定位高度的影响,避免因定位高度偏差而造成最终轨迹修正不准确的结果。进一步地,利用修正定位高度后的定位系统的移动轨迹来作为修正相对SLAM移动轨迹的依据,以将相对SLAM移动轨迹往真实移动轨迹上进行修正,从而能够提升车辆移动轨迹的精度。

请参阅图3,本申请实施例提供了一种车辆移动轨迹的修正装置,可以用于执行前述实施例提供的车辆移动轨迹的修正方法。如图3所示,该装置可以包括:

图片获取单元310,用于获取车辆在行驶过程中拍摄的图片序列,以及获取图片序列中每一帧图片的拍摄时间;

轨迹构建单元320,用于利用图片序列构建车辆的SLAM移动轨迹,其中,SLAM移动轨迹可以包括拍摄每一帧图片时车辆的预测位置的组合,该预测位置可以包括预测经度、预测纬度和预测高度;

第一计算单元330,用于利用SLAM移动轨迹中的拍摄至少两帧第一目标图片时车辆的预测经度和预测纬度,以及在上述至少两帧第一目标图片的拍摄时间车辆的定位系统对应测得的定位经度和定位纬度,计算第一尺度因子;

尺度变换单元340,用于根据第一尺度因子对SLAM移动轨迹中拍摄每一帧图片时车辆的预测高度进行尺度变换,得到SLAM轨迹高度;

高度修正单元350,用于利用SLAM轨迹高度对定位系统测得的轨迹高度进行修正,得到修正后的定位系统的轨迹高度;

第二计算单元360,用于利用SLAM移动轨迹上的拍摄至少两帧第二目标图片时车辆的预测经度、预测纬度和预测高度,以及在上述至少两帧第二目标图片的拍摄时间定位系统对应测得的定位经度、定位纬度和修正定位高度,计算SLAM移动轨迹的修正参数,该修正参数可以包括第二尺度因子、旋转矩阵和平移矩阵中的至少一项,修正定位高度为修正后的定位系统的轨迹高度中该拍摄时间对应的定位高度;

轨迹修正单元370,用于根据该修正参数对SLAM移动轨迹进行修正,得到修正后的移动轨迹。

可选的,高度修正单元350利用SLAM轨迹高度对定位系统测得的轨迹高度进行修正,得到修正后的定位系统的轨迹高度的具体实施方式可以包括:

高度修正单元350分别获取各拍摄时间下SLAM轨迹高度中车辆的位置高度的加权系数和定位系统测得的定位高度的加权系数,利用加权系数对各拍摄时间下的车辆的位置高度和定位高度进行加权处理,得到修正后的定位系统的轨迹高度,其中,车辆的位置高度为车辆的预测高度利用第一尺度因子通过尺度变换得到的。

其中,不同拍摄时间下车辆的位置高度的加权系数可以全部相同或部分相同或全部不同,同理的,不同拍摄时间下定位系统的定位高度的加权系数可以全部相同或部分相同或全部不同。同一拍摄时间下车辆的位置高度的加权系数与定位高度的加权系数可以相同也可以不同。

可选的,高度修正单元350分别获取各拍摄时间下SLAM轨迹高度中车辆的位置高度的加权系数和定位系统测得的定位高度的加权系数的具体实施方式可以包括:

高度修正单元350对各拍摄时间下获取的图片进行识别,分别获得车辆所处位置环境;当有图片识别出的车辆所处位置环境满足预设条件时,获取该图片的拍摄时间下车辆的位置高度的第一加权系数和定位系统测得的定位高度的第二加权系数;当有图片识别出的车辆所处位置环境不满足预设条件时,获取该图片的拍摄时间下车辆的位置高度的第三加权系数和定位系统测得的定位高度的第四加权系数,其中,第一加权系数大于第二加权系数,第三加权系数与第一加权系数不同,第四加权系数与第二加权系数不同。

可选的,高度修正单元350分别获取各拍摄时间下SLAM轨迹高度中车辆的位置高度的加权系数和定位系统测得的定位高度的加权系数的具体实施方式可以包括:

高度修正单元350获取定位系统测得的初始定位高度,计算各拍摄时间下定位系统测得的定位高度与初始定位高度的高度差值,当有拍摄时间下定位系统测得的定位高度与初始定位高度的高度差值大于预设值时,获取该拍摄时间下车辆的位置高度的第一加权系数和定位系统测得的定位高度的第二加权系数;当有拍摄时间下定位系统测得的定位高度与初始定位高度的高度差值小于或等于预设值时,获取该拍摄时间下车辆的位置高度的第三加权系数和定位系统测得的定位高度的第四加权系数其中,其中,第一加权系数大于第二加权系数,第三加权系数与第一加权系数不同,第四加权系数与第二加权系数不同。

可选的,上述至少两帧第二目标图片的数量大于上述至少两帧第一目标图片的数量,第二计算单元360利用SLAM移动轨迹上的拍摄至少两帧第二目标图片时车辆的预测经度、预测纬度和预测高度,以及在上述至少两帧第二目标图片的拍摄时间定位系统对应测得的定位经度、定位纬度和修正定位高度,计算SLAM移动轨迹的修正参数的具体实施方式可以包括:

第二计算单元360根据SLAM移动轨迹上的拍摄至少两帧第二目标图片时车辆的预测经度、预测纬度和预测高度,以及在上述至少两帧第二目标图片的拍摄时间定位系统对应测得的定位经度、定位纬度和修正定位高度,利用最小二乘优化算法计算得到SLAM移动轨迹的修正参数。

可选的,该修正参数包括第二尺度因子、旋转矩阵和平移矩阵,轨迹修正单元370根据该修正参数对SLAM移动轨迹进行修正,得到修正后的移动轨迹的具体实施方式可以包括:

轨迹修正单元370利用第二尺度因子对SLAM移动轨迹进行尺度变换,得到新的SLAM移动轨迹;将新的SLAM移动轨迹按照旋转矩阵和平移矩阵进行旋转和平移,得到修正后的移动轨迹。

关于上述实施例中的装置,其中各个单元模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。

实施图3所示的装置,在利用定位系统测得的移动轨迹对图片构建的车辆相对SLAM移动轨迹进行修正时,可以先对定位系统测得的轨迹高度进行修正,能够消除定位高度的影响,避免因定位高度偏差而造成最终轨迹修正不准确的结果。进一步地,利用修正定位高度后的定位系统的移动轨迹来作为修正相对SLAM移动轨迹的依据,以将相对SLAM移动轨迹往真实移动轨迹上进行修正,从而能够提升车辆移动轨迹的精度。

请参阅图4,本申请实施例提供了一种电子设备,可以用于执行前述实施例提供的车辆移动轨迹的修正方法。如图4所示,该电子设备400可以包括:处理器410和存储器420。其中,处理器410和存储器420通信连接。可以理解的是,图4中示出的电子设备400的结构并不构成对本申请实施例的限定,它可以包括比图示更多的部件,如通信接口(如蓝牙模块、WIFI模块等)、输入输出接口(如按键、触摸屏、扬声器、麦克风等)、传感器等等。其中:

处理器410可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器420可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器410或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器420可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器420可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器420上存储有可执行代码,当可执行代码被处理器410处理时,可以使处理器410执行上文述及的方法中的部分或全部步骤。

此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。

或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。

以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

相关技术
  • 车辆移动轨迹的修正方法、装置、电子设备及存储介质
  • 一种车辆移动轨迹的高度修正方法及相关装置
技术分类

06120112921847