CN116698051A - 高精度车辆定位、矢量化地图构建及定位模型训练方法 - Google Patents

高精度车辆定位、矢量化地图构建及定位模型训练方法 Download PDF

Info

Publication number
CN116698051A
CN116698051A CN202310628177.5A CN202310628177A CN116698051A CN 116698051 A CN116698051 A CN 116698051A CN 202310628177 A CN202310628177 A CN 202310628177A CN 116698051 A CN116698051 A CN 116698051A
Authority
CN
China
Prior art keywords
map
pose
environmental
feature map
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310628177.5A
Other languages
English (en)
Inventor
何宇喆
梁爽
芮晓飞
蔡程颖
万国伟
张晔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202310628177.5A priority Critical patent/CN116698051A/zh
Publication of CN116698051A publication Critical patent/CN116698051A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/865Combination of radar systems with lidar systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/867Combination of radar systems with cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/89Radar or analogous systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了一种高精度车辆定位、矢量化地图构建及定位模型训练方法,涉及人工智能技术领域,尤其涉及自动驾驶、深度学习、计算机视觉等技术领域。实现方案为:获取车辆的初始位姿、车辆的多模态传感器数据和用于定位车辆的多个地图元素;对多模态传感器数据进行编码,以得到环境特征;对多个地图元素进行编码,以得到地图特征;基于环境特征和地图特征,确定用于修正初始位姿的目标位姿偏移量;以及将初始位姿与目标位姿偏移量进行叠加,以得到车辆的修正后的位姿。本公开可以提高自动驾驶车辆的定位精度。

Description

高精度车辆定位、矢量化地图构建及定位模型训练方法
技术领域
本公开涉及人工智能技术领域,尤其涉及自动驾驶、深度学习、计算机视觉等技术领域,具体涉及一种高精度车辆定位方法及装置、矢量化地图构建方法及装置、定位模型的训练方法及装置、电子设备、计算机可读存储介质、计算机程序产品和自动驾驶车辆。
背景技术
自动驾驶技术涉及环境感知、行为决策、轨迹规划以及运动控制等多个方面。依赖于传感器、视觉计算系统和定位系统的协同合作,具有自动驾驶功能的车辆可以在无需驾驶员进行操作或仅需驾驶员进行少量操作的情况下自动地运行。对自动驾驶车辆进行准确定位是保证自动驾驶车辆安全平稳运行的重要前提。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种高精度车辆定位方法及装置、矢量化地图构建方法及装置、定位模型的训练方法及装置、电子设备、计算机可读存储介质、计算机程序产品和自动驾驶车辆。
根据本公开的一方面,提供了一种车辆定位方法,包括:获取所述车辆的初始位姿、所述车辆的多模态传感器数据和用于定位所述车辆的多个地图元素;对所述多模态传感器数据进行编码,以得到环境特征;对所述多个地图元素进行编码,以得到地图特征;基于所述环境特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量;以及将所述初始位姿与所述目标位姿偏移量进行叠加,以得到所述车辆的修正后的位姿。
根据本公开的一方面,提供了一种矢量化地图构建方法,包括:获取点云式地图中的点云;将所述点云式地图的投影平面划分为第一单位尺寸的多个二维栅格;对于所述多个二维栅格中的任一二维栅格:基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面;以及将所述平面存储为所述矢量化地图中的面元素。
根据本公开的一方面,提供了一种定位模型的训练方法,其中,所述定位模型包括环境编码器、地图编码器和位姿求解器,所述方法包括:获取样本车辆的初始位姿、所述初始位姿对应的位姿真值、所述样本车辆的多模态传感器数据和用于定位所述样本车辆的多个地图元素;将所述多模态传感器数据输入所述环境编码器,以得到环境特征;将所述多个地图元素的元素信息输入所述地图编码器,以得到地图特征;将所述环境特征、所述地图特征和所述初始位姿输入所述位姿求解器,以便所述位姿求解器:在第一偏移量采样范围内进行采样,以得到多个第一候选位姿偏移量;对于所述多个第一候选位姿偏移量中的任一第一候选位姿偏移量,确定在所述第一候选位姿偏移量下所述环境特征与所述地图特征的第一匹配度;以及基于所述多个第一候选位姿偏移量各自对应的第一匹配度,确定并输出预测位姿偏移量;基于所述预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,所述位姿偏移量真值为所述位姿真值与所述初始位姿的差;基于所述多个第一候选位姿偏移量各自对应的第一匹配度,确定第二损失,其中,所述第二损失指示所述位姿真值的预测概率分布与所述位姿真值的真实概率分布的差异;至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失;以及基于所述整体损失,调整所述定位模型的参数。
根据本公开的一方面,提供了一种车辆定位装置,包括:获取模块,被配置为获取所述车辆的初始位姿、所述车辆的多模态传感器数据和用于定位所述车辆的多个地图元素;环境编码模块,被配置为对所述多模态传感器数据进行编码,以得到环境特征;地图编码模块,被配置为对所述多个地图元素进行编码,以得到地图特征;确定模块,被配置为基于所述环境特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量;以及叠加模块,将所述初始位姿与所述目标位姿偏移量进行叠加,以得到所述车辆的修正后的位姿。
根据本公开的一方面,提供了一种矢量化地图构建装置,包括:获取模块,被配置为获取点云式地图中的点云;划分模块,被配置为将所述点云式地图的投影平面划分为第一单位尺寸的多个二维栅格;提取模块,被配置为对于所述多个二维栅格中的任一二维栅格,基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面;以及存储模块,被配置为将所述平面存储为所述矢量化地图中的面元素。
根据本公开的一方面,提供了一种定位模型的训练装置,其中,所述定位模型包括环境编码器、地图编码器和位姿求解器,所述装置包括:获取模块,被配置为获取样本车辆的初始位姿、所述初始位姿对应的位姿真值、所述样本车辆的多模态传感器数据和用于定位所述样本车辆的多个地图元素;第一输入模块,被配置为将所述多模态传感器数据输入所述环境编码器,以得到环境特征;第二输入模块,被配置为将所述多个地图元素的元素信息输入所述地图编码器,以得到地图特征;第三输入模块,被配置为将所述环境特征、所述地图特征和所述初始位姿输入所述位姿求解器,以便所述位姿求解器:在第一偏移量采样范围内进行采样,以得到多个第一候选位姿偏移量;对于所述多个第一候选位姿偏移量中的任一第一候选位姿偏移量,确定在所述第一候选位姿偏移量下所述环境特征与所述地图特征的第一匹配度;以及基于所述多个第一候选位姿偏移量各自对应的第一匹配度,确定并输出预测位姿偏移量;第一确定模块,被配置为基于所述预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,所述位姿偏移量真值为所述位姿真值与所述初始位姿的差;第二确定模块,被配置为基于所述多个第一候选位姿偏移量各自对应的第一匹配度,确定第二损失,其中,所述第二损失指示所述位姿真值的预测概率分布与所述位姿真值的真实概率分布的差异;确定模块,被配置为至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失;以及调整模块,被配置为基于所述整体损失,调整所述定位模型的参数。
根据本公开的一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一方面的方法。
根据本公开的一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行上述任一方面的方法。
根据本公开的一方面,提供了一种计算机程序产品,包括计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现上述任一方面的方法。
根据本公开的一方面,提供了一种自动驾驶车辆,包括上述电子设备。
根据本公开的一个或多个实施例,能够提高自动驾驶车辆的定位精度。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开一些实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
图2示出了根据本公开一些实施例的车辆定位方法的流程图;
图3示出了根据本公开一些实施例的目标位姿偏移量的求解流程图;
图4示出了根据本公开一些实施例的基于经训练的定位模型的车辆定位过程的示意图;
图5示出了根据本公开一些实施例的矢量化地图构建方法的流程图;
图6示出了根据本公开一些实施例的定位模型的训练方法的流程图;
图7示出了根据本公开一些实施例的车辆定位装置的结构框图;
图8示出了根据本公开一些实施例的矢量化地图构建装置的结构框图;
图9示出了根据本公开一些实施例的定位模型的训练装置的结构框图;以及
图10示出了能够用于实现本公开实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个要素与另一要素区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
相关技术中,通常采用组合定位系统来对自动驾驶车辆进行定位。组合定位系统通常包括全球导航卫星系统(Global Navigation Satellite Systems,GNSS)和惯性导航系统(Inertial Navigation System,INS)。通过GNSS接收卫星信号实现全局定位,通过IMU实现定位信息的校准。但是,在复杂的道路环境中,例如隧道、立交桥、高楼林立的城市道路等,常常出现卫星信号丢失或误差较大的情况,导致组合定位系统的定位精度较低,无法提供连续、可靠的定位服务。
针对上述问题,本公开提供了一种车辆定位方法,能够提高自动驾驶车辆的定位精度。
本公开还提供了一种矢量化地图构建方法和定位模型的训练方法。所构建的矢量化地图和经训练的定位模型可以被用于车辆定位,以提高自动驾驶车辆的定位精度。
下面将结合附图详细描述本公开的实施例。
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括机动车辆110、服务器120以及将机动车辆110耦接到服务器120的一个或多个通信网络130。
在本公开的实施例中,机动车辆110可以包括根据本公开实施例的电子设备和/或被配置以用于执行根据本公开实施例的方法。
服务器120可以运行使得能够执行本公开实施例的矢量化地图构建方法或定位模型的训练方法的一个或多个服务或软件应用。在某些实施例中,服务器120还可以提供其他服务或软件应用,这些服务或软件应用可以包括非虚拟环境和虚拟环境。在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。机动车辆110的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。
服务器120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从机动车辆110接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由机动车辆110的一个或多个显示设备来显示数据馈送和/或实时事件。
网络130可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络130可以是卫星通信网络、局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、区块链网络、公共交换电话网(PSTN)、红外网络、无线网络(包括例如蓝牙、Wi-Fi)和/或这些与其他网络的任意组合。
系统100还可以包括一个或多个数据库150。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库150中的一个或多个可用于存储诸如音频文件和视频文件的信息。数据存储库150可以驻留在各种位置。例如,由服务器120使用的数据存储库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据存储库150可以是不同的类型。在某些实施例中,由服务器120使用的数据存储库可以是数据库,例如关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。
在某些实施例中,数据库150中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。
机动车辆110可以包括传感器111用于感知周围环境。传感器111可以包括下列传感器中的一个或多个:视觉摄像头、红外摄像头、超声波传感器、毫米波雷达以及激光雷达(LiDAR)。不同的传感器可以提供不同的检测精度和范围。摄像头可以安装在车辆的前方、后方或其他位置。视觉摄像头可以实时捕获车辆内外的情况并呈现给驾驶员和/或乘客。此外,通过对视觉摄像头捕获的画面进行分析,可以获取诸如交通信号灯指示、交叉路口情况、其他车辆运行状态等信息。红外摄像头可以在夜视情况下捕捉物体。超声波传感器可以安装在车辆的四周,用于利用超声波方向性强等特点来测量车外物体距车辆的距离。毫米波雷达可以安装在车辆的前方、后方或其他位置,用于利用电磁波的特性测量车外物体距车辆的距离。激光雷达可以安装在车辆的前方、后方或其他位置,用于检测物体边缘、形状信息,从而进行物体识别和追踪。由于多普勒效应,雷达装置还可以测量车辆与移动物体的速度变化。
机动车辆110还可以包括通信装置112。通信装置112可以包括能够从卫星141接收卫星定位信号(例如,北斗、GPS、GLONASS以及GALILEO)并且基于这些信号产生坐标的卫星定位模块。通信装置112还可以包括与移动通信基站142进行通信的模块,移动通信网络可以实施任何适合的通信技术,例如GSM/GPRS、CDMA、LTE等当前或正在不断发展的无线通信技术(例如5G技术)。通信装置112还可以具有车联网或车联万物(Vehicle-to-Everything,V2X)模块,被配置用于实现例如与其它车辆143进行车对车(Vehicle-to-Vehicle,V2V)通信和与基础设施144进行车辆到基础设施(Vehicle-to-Infrastructure,V2I)通信的车与外界的通信。此外,通信装置112还可以具有被配置为例如通过使用IEEE 802.11标准的无线局域网或蓝牙与用户终端145(包括但不限于智能手机、平板电脑或诸如手表等可佩戴装置)进行通信的模块。利用通信装置112,机动车辆110还可以经由网络130接入服务器120。
机动车辆110还可以包括惯性导航模块。惯性导航模块与卫星定位模块可以组合成组合定位系统,用以实现机动车辆110的初始定位。
机动车辆110还可以包括控制装置113。控制装置113可以包括与各种类型的计算机可读存储装置或介质通信的处理器,例如中央处理单元(CPU)或图形处理单元(GPU),或者其他的专用处理器等。控制装置113可以包括用于自动控制车辆中的各种致动器的自动驾驶系统,相应地,机动车辆110为自动驾驶车辆。自动驾驶系统被配置为经由多个致动器响应来自多个传感器111或者其他输入设备的输入而控制机动车辆110(未示出的)动力总成、转向系统以及制动系统等以分别控制加速、转向和制动,而无需人为干预或者有限的人为干预。控制装置113的部分处理功能可以通过云计算实现。例如,可以使用车载处理器执行某一些处理,而同时可以利用云端的计算资源执行其他一些处理。控制装置113可以被配置以执行根据本公开的方法。此外,控制装置113可以被实现为根据本公开的机动车辆侧(客户端)的电子设备的一个示例。
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
根据一些实施例,服务器120可以通过执行本公开实施例的矢量化地图构建方法来构建矢量化地图,以及通过执行本公开实施例的定位模型的训练方法来训练定位模型。所构建的矢量化地图和经训练的定位模型可以被传输给机动车辆110。机动车辆110可以利用矢量化地图和定位模型执行本公开实施例的车辆定位方法,实现自身的准确定位。
根据另一些实施例,矢量化地图构建方法和定位模型的训练方法也可以由机动车辆110执行。这通常要求机动车辆110具有较高的硬件配置和较强的计算能力。
根据一些实施例,车辆定位方法也可以由服务器120执行。在这种情况下,机动车辆110将相关数据(包括初始位姿、多模态传感器数据)上传至服务器120。相应地,服务器120获取机动车辆110上传的数据,并通过执行车辆定位方法对这些数据进行处理,从而对机动车辆110进行准确定位。
通过执行本公开实施例的车辆定位方法所得到的高精度的定位信息可以被应用于机动车辆110的轨迹规划、行为决策、运动控制等任务中。
图2示出了根据本公开实施例的车辆定位方法200的流程图。如上文所述,方法200的执行主体可以是自动驾驶车辆(例如图1中所示的机动车辆110),也可以是服务器(例如图1中所示的服务器120)。如图2所示,方法200包括步骤S210-S250。
在步骤S210中,获取车辆的初始位姿、车辆的多模态传感器数据和用于定位车辆的多个地图元素。
在步骤S220中,对多模态传感器数据进行编码,以得到环境特征。
在步骤S230中,对多个地图元素进行编码,以得到地图特征。
在步骤S240中,基于环境特征和地图特征,确定用于修正初始位姿的目标位姿偏移量。
在步骤S250中,将初始位姿与目标位姿偏移量进行叠加,以得到车辆的修正后的位姿。
根据本公开的实施例,对多模态传感器数据进行编码,能够充分利用各传感器的数据,减少信息丢失,使环境特征能够全面、准确地表达车辆的周围环境。基于环境特征和地图特征确定目标位姿偏移量,并基于目标位姿偏移量对初始位姿进行修正,能够提高车辆的定位精度,即使在复杂环境中仍能实现车辆的准确定位。
以下详细介绍方法200的各个步骤。
在步骤S210中,获取车辆的初始位姿、车辆的多模态传感器数据和用于定位车辆的多个地图元素。
步骤S210中的车辆可以是具有自动驾驶功能的车辆,即自动驾驶车辆。
在本公开的实施例中,初始位姿指的是未经修正的位姿。
根据一些实施例,车辆的初始位姿可以是车辆的组合定位系统输出的位姿。组合定位系统通常包括卫星定位系统和惯性导航系统。
根据一些实施例,可以按照预设的频率(例如,1Hz)对车辆进行定位。当前时刻的初始位姿可以是上一时刻的修正后的位姿。
车辆的位姿(包括未经修正的初始位姿和修正后的位姿)用于指示车辆的位置和姿态。车辆的位置例如可以采用形如(x,y,z)的三维坐标来表示。车辆的姿态例如可以采用姿态角来表示。姿态角进一步包括翻滚角(roll或φ)、俯仰角(pitch或θ)和偏航角(yaw或ψ)。
由于车辆在行驶过程中通常不会离开地面,并且不会发生翻滚或俯仰,因此在实践中,通常不关注z坐标、翻滚角和俯仰角三者的准确性。相应地,在本公开的实施例中,可以仅对初始位姿中的x坐标、y坐标和偏航角yaw进行修正,而不对z坐标、翻滚角roll和俯仰角pitch进行修正。换言之,修正后的位姿的z坐标、翻滚角roll和俯仰角pitch与初始位姿相同,但x坐标、y坐标和偏航角yaw可能与初始位姿不同。
车辆上通常部署有用于环境感知的多种传感器,例如视觉摄像头、激光雷达、毫米波雷达等。模态指的是数据的存在形式。不同的传感器采集的数据的形式通常不同,因此不同的传感器采集的数据通常对应于不同的数据模态。例如,视觉摄像头采集到的数据是图像。车辆上可以部署有不同视角方向的多个视觉摄像头,相应地,利用这些视觉摄像头,可以获取不同视角的多个图像。激光雷达采集到的数据是点云。可以理解,点云通常包括多个三维空间点的位置坐标和反射强度值。
车辆的多模态传感器数据能够以不同的形式表达车辆的周围环境,实现对周围环境的全面感知。
根据一些实施例,车辆本地或服务器处可以存储有矢量化地图。
矢量化地图是用标识、名称、位置、属性以及相互之间的拓扑关系等信息来表示地理元素的数据集合。矢量化地图包括多个地理元素,每个元素以矢量数据结构存储。矢量数据结构是利用几何学中的点、线、面及其组合体来表示地理元素空间分布的一种数据组织方式,其通过记录元素的坐标及其空间关系来表达元素的位置。
根据一些实施例,矢量化地图中的地理元素包括道路元素和几何元素。道路元素指的是道路中的具有特定语义的元素,包括车道线、路沿、停止线、人行横道、交通标识牌和杆等。其中,杆进一步包括树干、交通标识牌的立柱和路灯杆等。几何元素指的是具有一定形状的元素,包括面元素(surfel)、线元素等。面元素表示物理世界中的平面,例如建筑物的外表面、交通信号灯的表面、交通标识牌等。需要说明的是,面元素可以与道路元素有一定的重叠。例如,有些面元素同时也是道路元素。
道路元素通常比较稀疏。有些路段的道路元素很少、甚至不存在道路元素。在道路元素较少或不存在道路元素的路段,难以通过道路元素实现车辆的准确定位。根据上述实施例,矢量化地图还包括面元素等几何元素。几何元素作为道路元素的补充,能够提高矢量化地图中的地理元素的丰富度和稠密度,从而能够实现车辆的准确定位。
根据本公开的实施例,利用矢量化地图进行车辆定位。矢量化地图体积小、便于更新,降低了存储成本,从而提高了车辆定位方法的可用性,能够满足量产需求。
根据一些实施例,在矢量化地图中,车道线、路沿、停止线以线段的形式表示,线段的端点为全局坐标系,例如UTM(Universal Transverse Mercator)坐标系下的二维xy坐标。人行横道表示为一个多边形,多边形的顶点用UTM坐标系下的二维xy坐标表示。交通标识牌表示为与xy平面垂直的长方形,顶点为三维UTM坐标,其中z坐标采用相对于地面的高度表示。杆用UTM坐标系下的二维xy坐标和杆的高度表示。
根据一些实施例,在矢量化地图中,面元素P被表示为 其中,/>表示实数域,/>表示面元素P在UTM坐标系的xy坐标,表示面元素的单位法向量,/>λ1≤λ2≤λ3为面元素协方差矩阵的奇异值。面元素的提取方式将于下文的矢量化地图构建方法500中进行详述。
根据一些实施例,步骤S210中的用于进行车辆定位的多个地图元素可以通过基于初始位姿对矢量化地图中的多个地理元素进行筛选而得到。根据一些实施例,可以将位于初始位姿附近(即,到初始位姿的距离小于阈值)的地理元素作为用于车辆定位的地图元素。例如,将初始位姿附近100米范围内(即,到初始位姿的距离小于100米)的地理元素作为用于车辆定位的地图元素。
根据一些实施例,为了平衡计算效率和定位结果的可靠性,可以将到初始位姿的距离小于阈值的预设数量的地理元素作为用于车辆定位的地图元素。预设数量可以根据需要设定。例如,可以将预设数量设置为100、500、1000等。若初始位姿附近的地理元素的数量多于预设数量,则可以对附近的地理元素进行采样,以得到预设数量的地图元素。进一步地,对于道路元素,可以按照距离初始位姿由近到远的顺序采样。对于面元素,可以随机采样。面元素可能对应于物理世界中的不同类型的实体,例如建筑物的外表面、交通标识牌等。不同类型的面元素可以对车辆施加不同方向的定位约束。例如,建筑物的外表面(与车道线平行)可以约束车辆的左右方向的定位,交通标识牌可以约束车俩的前进方向的定位。对面元素进行随机采样可以使采样结果较为均匀地覆盖各种类型的面元素,从而保证车辆定位的准确性。若初始位姿附近的地理元素的数量少于预设数量,则可以通过复制已有的地理元素的方式将地理元素扩展至预设数量。
根据一些实施例,可以对步骤S210所获取的多模态传感器数据和多个地图元素进行预处理,以提高后续车辆定位的精度。
多模态传感器数据可以包括图像和点云。根据一些实施例,可以对图像进行去畸变、缩放为预设尺寸、标准化等预处理操作。根据一些实施例,可以基于初始位姿对点云进行筛选,仅保留初始位姿附近的点云。例如,可以仅保留以初始位姿为原点,车辆前进方向(x轴正方向)[-40m,40m]、车辆左向(y轴正方向)[-40m,40m],车辆上方(z轴正方向)[-3m,5m]范围内的点云。进一步地,可以将点云体素化,即,将空间划分为互不相交的多个块,每个块内最多保留32个点。
如上所述,从矢量化地图中获取的多个地图元素包括车道线、路沿、停止线、人行横道、交通标识牌、杆和面元素。根据一些实施例,对于车道线、路沿和停止线,可以将其打断成相同长度的线段,每个线段表示为一个四维向量向量中四个值分别为线段起点和终点的xy坐标。交通标识牌表示为/>向量中的前两个值为牌的中心的xy坐标,向量中的最后一个值表示牌的中心相对于地面的高度。杆表示为/>向量中的前两个值为杆的xy坐标,向量中的最后一个值表示杆相对于地面的高度。对于面元素,可以不进行预处理。即,面元素的表示方式可以与矢量化地图中的表示方式相同。
在步骤S220中,对多模态传感器数据进行编码,以得到环境特征。
根据一些实施例,如上文所述,多模态传感器数据可以包括点云和图像。相应地,步骤S220可以包括步骤S221-S223。
在步骤S221中,对点云进行编码,以得到点云特征图。
在步骤S222中,对图像进行编码,以得到图像特征图。
在步骤S223中,将点云特征图和图像特征图进行融合,以得到环境特征。
根据上述实施例,对不同模态的传感器数据分别编码,并对各传感器的编码结果进行融合,能够在充分保留不同传感器的原始数据信息、减少信息损失的同时,实现对环境的全面表达。
根据一些实施例,针对步骤S221,可以将点云编码为目标三维空间中的点云特征图。目标三维空间例如可以是车辆的鸟瞰视角(Bird’s Eye View,BEV)空间。鸟瞰视角指的是俯视视角。鸟瞰视角空间指的是以车辆的位置(即初始位姿)为原点的右手直角笛卡尔坐标系下的空间。在一些实施例中,鸟瞰视角空间可以以车辆的位置为原点,以车辆的右向为x轴正方向,以车辆的前进方向为y轴正方向,以车辆的垂直上方为z轴正方向。在另一些实施例中,鸟瞰视角空间也可以以车辆的位置为原点,以车辆的前进方向为x轴正方向,以车辆的左向为y轴正方向,以车辆的垂直上方为z轴正方向。点云特征图可以是目标三维空间中的特征图。
根据一些实施例,可以采用经训练的点云编码器来对点云进行编码。点云编码器可以实现为神经网络。
根据一些实施例,可以将车辆附近的点云划分至截面(平行于xy平面)为正方形(例如0.5m*0.5m)的多个柱状空间中。车辆附近的点云例如可以是车辆前进方向(x轴正方向)[-40m,40m]、车辆左向(y轴正方向)[-40m,40m],车辆上方(z轴正方向)[-3m,5m]范围内的点云。经过划分,车辆附近的点云将落入相应的柱状空间中。每个柱状空间是BEV空间中的一个网格,并且对应于BEV空间下的点云特征图中的一个像素。点云特征图的分辨率(即,BEV空间的分辨率)指的是单个像素(即,BEV空间中的一个网格)对应的物理世界中的长度,即上述柱状空间的截面的边长,例如0.5m每像素。
点云中的每个点例如可以被编码成一个D(D=9)维的向量:(x,y,z,r,xc,yc,zc,xp,yp),其中x,y,z,r分别表示该点的三维坐标和反射强度;xc,yc,zc表示该点到其所在的柱状空间中的所有点的算术平均值点的距离,xp,yp表示该点到其所在的柱状空间的x,y中心的偏移值。由于点云数据的稀疏性,可能很多柱状空间都不含点云或者包含的点云数量比较少,考虑到计算复杂度的问题,设定每个柱状空间中最多包含N个点云特征向量,如果点云数大于N,则采用随机采样的方法从中选取N个;反之,如果点云的数量少于N,则用零填充的方法填充到N个。根据上述实施例,将点云编码为维度为(D,P,N)的稠密张量。其中,P表示柱状空间的数量。
对每个D维向量进行线性映射,得到一个C维向量(例如,C=256),从而将张量(D,P,N)映射为张量(C,P,N)。进一步地,通过对(C,P,N)进行池化操作,得到张量(C,P)。
每个柱状空间对应于点云特征图中的一个像素。点云特征图的尺寸为H*W*C。其中,H、W、C分别为点云特征图的高、宽和通道数。具体地,H为x轴的点云范围与点云特征图的分辨率的商;W为y轴的点云范围与点云特征图的分辨率的商;C为每个像素对应的特征向量的维度。例如,在上文的实施例中,x轴、y轴的点云范围均为80m(即,[-40m,40m]),点云特征图的分辨率为0.5m每像素,C=256,相应地,点云特征图的H=W=80/0.5=160,点云特征图的尺寸为160*160*256。
根据一些实施例,针对步骤S222,可以采用经训练的图像编码器来对图像进行编码。图像编码器可以实现为神经网络。
根据一些实施例,图像编码器可以包括骨干模块Backbone和多层特征金字塔融合模块。骨干模块Backbone例如可以采用VoVNet-19、VGG,ResNet,EfficientNet等网络。多层特征金字塔融合模块可以采用基础的从上到下的融合方式,例如特征金字塔网络(FeaturePyramid Networks,FPN),也可以采用BiFPN、Recursive Feature Pyramid(RFP)等网络。图像编码器接收不同视角(例如,6个视角)的图像,生成多尺度的特征图。图像的尺寸为Hc×Wc×3。例如,可以设置图像的尺寸为Hc=448,Wc=640。多尺度特征图的最后两层大小例如分别为将多尺度特征图的最后两层输入到多层特征金字塔融合模块中得到融合了多尺度信息的图像特征图。图像特征图的大小例如可以是
根据一些实施例,步骤S223可以包括步骤S2231-S2233。
在步骤S2231中,基于点云特征图,确定目标三维空间中的初始环境特征图。
在步骤S2232中,将初始环境特征图与图像特征图进行融合,以得到目标三维空间中的第一环境特征图。
在步骤S2233中,基于第一环境特征图,确定环境特征。
根据上述实施例,在目标三维空间中进行多模态特征融合,能够消除不同传感器的坐标系差异,提高环境表达的准确性。
如上所述,目标三维空间可以是车辆的鸟瞰视角空间。
根据一些实施例,针对步骤S2231,可以将点云特征图作为初始环境特征图,也可以通过对点云特征图进行一定的处理(例如卷积处理),将处理结果作为初始环境特征图。
根据一些实施例,在步骤S2232中,可以基于注意力机制,将初始环境特征图与图像特征图进行至少一次融合,以得到目标三维空间中的第一环境特征图。注意力机制能够捕捉特征之间的相关性。根据该实施例,利用注意力机制进行特征融合,能够提高特征融合的准确性。
根据一些实施例,在上述至少一次融合的每一次融合中,执行以下步骤S22321和S22322。
在步骤S22321中,基于自注意力机制,对当前环境特征图进行更新,以得到更新后的环境特征图。
在步骤S22322中,基于交叉注意力机制,将步骤S22321所得到的更新后的环境特征图与图像特征图进行融合,以得到融合后的环境特征图。
需要说明的是,第一次融合中的当前环境特征图为步骤S2231所得到的初始环境特征图。第二次及后续每次融合中的当前环境特征图为上一次融合后的环境特征图。例如,第二次融合中的步骤S22321中的当前环境特征图为第一次融合中的步骤S22322所得到的融合后的环境特征图。将最后一次融合后的环境特征图作为目标三维空间中的第一环境特征图。
根据一些实施例,针对步骤S22321,当前环境特征图的尺寸为H*W*C。其中,H、W、C分别为当前环境特征图的高、宽和通道数。在步骤S22321中,基于自注意力机制,对当前环境特征图中的每个像素(i,j)的特征向量进行更新,以得到各像素的更新后的特征向量。其中,1≤i≤H,1≤j≤W。各像素的更新后的特征向量组成更新后的环境特征图。可以理解,更新后的环境特征图的尺寸仍为H*W*C。
具体地,针对当前环境特征图中的任一像素,可以以该像素的特征向量为查询向量(Query),基于自注意力机制,得到该像素与其他像素的相关度(即,注意力权重)。然后基于该像素与其他像素的相关度,将该像素的特征向量与其他像素的特征向量进行融合,以得到该像素的更新后的特征向量。
根据一些实施例,在步骤S22321中,可以采用可变形的注意力机制(DeformableAttention,DA)来实现当前环境特征图的更新。在该实施例中,对于当前环境特征图中的每个像素(i,j),将该像素作为参考点。基于可变形的注意力机制,确定该像素与参考点附近的多个近邻像素的相关度(即,注意力权重)。然后基于该像素与近邻像素的相关度,将该像素的特征向量与近邻像素的特征向量进行融合,以得到该像素的更新后的特征向量。
如上所述,经过步骤S22321,可以得到更新后的环境特征图。更新后的环境特征图包括各像素的更新后的特征向量。
根据一些实施例,在步骤S22322中,基于交叉注意力机制,将步骤S22321所得到各像素的更新后的特征向量与图像特征图进行融合,以得到融合后的环境特征图。需要说明的是,融合后的环境特征图的尺寸仍为H*W*C。
具体地,针对更新后的环境特征图中的任一像素,可以以该像素的更新后的特征向量为查询向量,基于交叉注意力机制,得到该像素与图像特征图中的各像素的相关度(即,注意力权重)。然后基于该像素与图像特征图中的各像素的相关度,将该像素的更新后的特征向量与图像特征图中的各像素的特征向量进行融合,以得到该像素的融合后的特征向量。
根据一些实施例,在步骤S22322中,可以采用可变形的注意力机制来实现特征图的融合。在该实施例中,对于更新后的环境特征图中的每个像素(i,j),基于车辆的初始位姿,确定该像素在全局坐标系(例如UTM坐标系)下的xy坐标。在xy坐标处的高度方向等间距采样一定数量(例如4个)的空间点,利用视觉摄像头的位姿和内参,将这些空间点映射至图像特征图中,将所得到的投影点作为参考点。基于可变形的注意力机制,确定该像素与参考点附近的多个近邻像素的相关度(即,注意力权重)。然后基于该像素与近邻像素的相关度,将该像素的特征向量与近邻像素的特征向量进行融合,以得到该像素的融合后的特征向量,从而得到融合后的环境特征图。
根据一些实施例,步骤S2232可以通过经训练的第一变换解码器(TransformerDecoder)实现。具体地,可以将初始环境特征图和图像特征图输入经训练的第一变换解码器,以得到第一变换解码器输出的第一环境特征图。
根据一些实施例,第一变换解码器包括至少一个变换层(Transformer Layer),每个变换层用于对环境特征图和图像特征图进行一次融合。
进一步地,每个变换层可以包括一个自注意力模块和一个交叉注意力模块。其中,自注意力模块用于对当前环境特征图进行更新,以得到更新后的环境特征图,即,用于实现上述步骤S22321。交叉注意力模块用于将更新后的环境特征图与图像特征图进行融合,以得到融合后的环境特征图,即,用于实现上述步骤S22322。
在通过步骤S2232得到目标三维空间中的第一环境特征图之后,在步骤S2233中,可以基于第一环境特征图,确定环境特征。
根据一些实施例,可以将第一环境特征图作为环境特征。
根据另一些实施例,可以对第一环境特征图进行至少一次上采样,以得到与至少一次上采样分别对应的至少一个第二环境特征图;以及将第一环境特征图和至少一个第二环境特征图确定为环境特征。例如,第一环境特征图的尺寸为160*160*256,其分辨率为0.5m每像素。通过对第一环境特征图进行上采样,得到第一个第二环境特征图,其尺寸为320*320*128,分辨率为0.25m每像素。对第一个第二环境特征图进行上采样,得到第二个第二环境特征图,其尺寸为640*640*64,分辨率为0.125m每像素。
第一环境特征图的分辨率通常较低,仅将第一环境特征图作为环境特征并据此确定目标位姿偏移量,可能导致目标位姿偏移量不够准确。根据上述实施例,通过对第一环境特征图进行上采样,得到了更高分辨率的第二环境特征图。将第一环境特征图和第二环境特征图作为环境特征,提高了环境特征的精细度,从而提高了后续基于环境特征所确定的目标位姿偏移量的准确度。
为了便于叙述,将第一环境特征图记为第0层环境特征图,将第l(l=1,2,3,…)次上采样所得到的第二环境特征图记为第l层环境特征图。可以理解,环境特征图的编号越大,其尺寸和分辨率越大。
在步骤S230中,对多个地图元素进行编码,以得到地图特征。
如上文所述,多个地图元素通过基于初始位姿对矢量化地图中的多个地理元素进行筛选得到。矢量化地图中的地理元素包括道路元素和几何元素,相应地,经筛选所得到的多个地图元素也包括至少一个道路元素和至少一个几何元素。其中,至少一个道路元素包括车道线、路沿、人行横道、停止线、交通标识牌或杆中的任一项,至少一个几何元素包括面元素。
根据一些实施例,面元素通过提取点云式地图中的平面而得到。面元素的提取方式将于下文的矢量化地图构建方法500中进行详述。
根据一些实施例,步骤S230可以包括步骤S231和S232。
在步骤S231中,对于多个地图元素中的任一地图元素,对地图元素的元素信息进行编码,以得到该地图元素的初始编码向量。
在步骤S232中,基于环境特征,对初始编码向量进行更新,以得到地图元素的目标编码向量。其中,地图特征包括多个地图元素各自的目标编码向量。
根据一些实施例,地图元素的元素信息包括位置信息和类别信息(即语义信息)。相应地,步骤S231可以包括步骤S2311-S2313。
在步骤S2311中,对位置信息进行编码,以得到位置编码。
在步骤S2312中,对类别信息进行编码,以得到语义编码。
在步骤S2313中,对位置编码和语义编码进行融合,以得到初始编码向量。
根据上述实施例,对地图元素的位置信息和类别信息分别进行编码,并将编码结果进行融合,能够提高对地图元素的表达能力。
根据一些实施例,在步骤S2311中,可以采用经训练的位置编码器对位置信息进行编码。位置编码器例如可以实现为神经网络。
根据一些实施例,如上文所述,地图元素包括道路元素和面元素。道路元素的位置信息被表示为四维向量,面元素的位置信息被表示为七维向量。为了达到更好的编码效果,可以采用不同的位置编码器对道路元素和面元素分别进行编码。
根据一些实施例,可以采用第一位置编码器对道路元素的位置信息进行编码。道路元素包括车道线、路沿、人行横道、停止线、交通标识牌和杆。将第i个道路元素的位置信息表示为其中Khd为用于定位车辆的道路元素的数量。基于初始位姿在UTM坐标系下的xy坐标Oxy=[xo yo]T和点云的xy方向的范围Rxy=[xr yr]T,根据下式(1)对道路元素的位置信息/>进行归一化:
式(1)中,为归一化后的位置信息。
采用第一位置编码器对归一化后的位置信息进行编码,得到位置编码其中,C为位置编码的维度,其通常等于环境特征图的通道的数量,即,等于环境特征图中的每个像素的特征向量的维度。第一位置编码器可以实现为多层感知机(Multi-Layer Perceptron,MLP)。第一位置编码器例如可以由一组一维卷积层,批标准化层和激活函数层组成,顺序为Conv1D(4,32,1),BN(32),ReLU,Conv1D(32,64,1),BN(64),ReLU,Conv1D(64,128,1),BN(128),ReLU,Conv1D(128,256,1),BN(256),ReLU,Conv1D(256,256,1)。
根据一些实施例,可以采用第二位置编码器对面元素的位置信息进行编码。将第i个面元素的位置信息表示为 其中,px、py分别为面元素在UTM坐标系下的xy坐标,n为面元素的单位法向量,/>λ1≤λ2≤λ3为面元素协方差矩阵的奇异值,Ksurfel为用于定位车辆的面元素的数量。基于初始位姿在UTM坐标系下的xy坐标Oxy=[xo yo]T和点云的xy方向的范围Rxy=[xr yr]T,根据下式(2)对面元素的位置信息/>进行归一化:/>
式(2)中,为归一化后的位置信息。
采用第二位置编码器对归一化后的位置信息进行编码,得到位置编码其中,C为位置编码的维度,其通常等于环境特征图的通道的数量,即,等于环境特征图中的每个像素的特征向量的维度。与第一位置编码器类似地,第二位置编码器也可以实现为多层感知机。第二位置编码器例如可以由一组一维卷积层,批标准化层和激活函数层组成,顺序为Conv1D(7,32,1),BN(32),ReLU,Conv1D(32,64,1),BN(64),ReLU,Conv1D(64,128,1),BN(128),ReLU,Conv1D(128,256,1),BN(256),ReLU,Conv1D(256,256,1)。
所有地图元素的位置编码具有相同的维度C。C例如可以设置为256。地图元素的位置编码统一表示为其中,K为用于定位车辆的地图元素的数量。可以理解,K=Ksurfel+Khd
根据一些实施例,在步骤S2312中,可以基于多种类别信息与多种语义编码的对应关系,确定地图元素的语义编码。其中,多种语义编码是定位模型的参数并且通过对定位模型进行训练而得到。
根据上述实施例,语义编码可训练,由此能够提升语义编码对地图元素类别信息的表达能力,从而提高定位精度。语义编码的训练方式将于下文实施例的定位模型训练方法600中进行详述。
第j种类别信息的语义编码可以根据下式(3)确定:
其中,f()表示类别信息与语义编码的映射关系,j为类别信息的编号,Ne为类别信息的数量。C为语义编码的维度(与位置编码的维度相同)。根据一些实施例,如上所述,地图元素包括车道线、路沿、人行横道、停止线、交通标识牌、杆和面元素,共七种,相应地,Ne=7,类别信息的编号1~7分别对应于上述七种地图元素。
将地图元素集合记为{Mi|i=1,2,…,K},其中,K为地图元素的数量。将每个地图元素的类别信息记为si,根据上式(3),可以得到每个地图元素的语义编码为
在通过步骤S2311和S2312得到地图元素的位置编码和语义编码后,在步骤S2313中,通过对位置编码和语义编码进行融合,可以得到地图元素的初始编码向量。
根据一些实施例,可以将位置编码与语义编码的和作为地图元素的初始编码向量。
根据另一些实施例,也可以将位置编码与语义编码的加权和作为地图元素的初始编码向量。
在通过步骤S231得到地图元素的初始编码向量后,在步骤S232中,基于环境特征对初始编码向量进行更新,以得到地图元素的目标编码向量。各地图元素的目标编码向量的集合即为地图特征。
根据一些实施例,在环境特征包括目标三维空间中的尺寸各不相同的多个环境特征图的情况下,在步骤S232中,可以仅基于多个环境特征图中的尺寸最小的环境特征图,对初始编码向量进行更新。由此能够提高计算效率。
例如,在上文针对步骤S2233所描述的例子中,环境特征包括尺寸为160*160*256的第一环境特征图和尺寸分别为320*320*128、640*640*64的两个第二环境特征图。仅基于其中尺寸最小的环境特征图,即第一环境特征图来更新地图元素的初始编码向量。
根据一些实施例,在步骤S232中,可以基于注意力机制,利用环境特征对地图元素的初始编码向量进行至少一次更新,以得到目标编码向量。
环境特征位于目标三维空间(BEV空间)中。根据上述实施例,利用环境特征对地图元素的初始编码向量进行至少一次更新,能够将地图元素的编码向量转换至目标三维空间中,以得到目标三维空间中的目标编码向量。同时,注意力机制能够捕捉特征之间的相关性。根据上述实施例,利用注意力机制进行地图元素的编码向量的更新,能够提高目标编码向量的准确性。
根据一些实施例,在上述至少一次更新的每一次更新中,执行以下步骤S2321和S2322。
在步骤S2321中,基于自注意力机制,对当前编码向量进行更新,以得到更新后的编码向量。
在步骤S2322中,基于交叉注意力机制,将更新后的编码向量与环境特征进行融合,以得到融合后的编码向量。
需要说明的是,第一次更新中的当前编码向量为步骤S231所得到的初始编码向量。即,在第一次更新中,可以将第i个地图元素的当前编码向量Qi初始化为:
第二次及后续每次更新中的当前编码向量为上一次融合后的编码向量。例如,第二次更新中的步骤S2321中的当前编码向量为第一次更新中的步骤S2322所得到的融合后的编码向量。
将最后一次融合后的编码向量作为地图元素在目标三维空间中的目标编码向量。
地图特征为各地图元素的目标编码向量的集合,即,地图特征 其中,/>为第i个地图元素的目标编码向量,C为目标编码向量的维度,K为地图元素的数量。
根据一些实施例,针对步骤S2321,可以以每个地图元素的当前编码向量为查询向量(Query),基于自注意力机制,得到该地图元素与其他地图元素的相关度(即,注意力权重)。然后基于该地图元素与其他地图元素的相关度,将该地图元素的当前编码向量与其他地图元素的当前编码向量进行融合,以得到该地图元素的更新后的编码向量。
根据一些实施例,步骤S2321中的自注意力机制可以是多头注意力机制,用来在地图元素的查询向量间收集信息。根据一些实施例,可以根据下式(5)来实现地图元素的当前编码向量的更新:
其中,SA(Qi)表示基于自注意力机制(SA)更新后的编码向量,M表示注意力头的数量,Wm和W′m表示可学习的投影矩阵(是定位模型的可训练的参数),Am(Qi,Qj)表示编码向量Qi和编码向量Qj之间的注意力权重且满足
根据一些实施例,步骤S2322可以采用可变形的注意力机制,根据下式(6),利用尺寸最小的环境特征图来实现地图编码向量与环境特征的融合:
其中,表示基于交叉注意力机制(CA)将编码向量Qi与目标三维空间(BEV空间)中的第0层环境特征图(即尺寸最小的环境特征图)/>融合后所得到的编码向量,DA表示可变形的注意力机制,/>表示参考点位置,参考点的初始化值为地图元素投影到目标三维空间下的位置坐标,/>表示第0层的环境特征图的位置编码。
根据一些实施例,步骤S232可以通过经训练的第二变换解码器(TransformerDecoder)实现。具体地,可以将各地图元素的初始编码向量和环境特征输入经训练的第二变换解码器,以得到第二变换解码器输出的各地图元素的目标编码向量,即,地图特征。
根据一些实施例,第二变换解码器包括至少一个变换层(Transformer Layer),每个变换层用于对地图元素的编码向量进行一次更新。
进一步地,每个变换层可以包括一个自注意力模块和一个交叉注意力模块。其中,自注意力模块用于对地图元素的当前编码向量进行更新,以得到更新后的编码向量,即,用于实现上述步骤S2321。交叉注意力模块用于将更新后的编码向量与环境特征进行融合,以得到融合后的编码向量,即,用于实现上述步骤S2322。
在分别通过步骤S220和S230得到环境特征和地图特征后,在步骤S240中,基于环境特征和地图特征,确定用于修正初始位姿的位姿偏移量。
根据一些实施例,可以通过将环境特征与地图特征进行匹配来确定目标位姿偏移量。
根据一些实施例,环境特征包括目标三维空间中的至少一个环境特征图,该至少一个特征图的尺寸各不相同。相应地,步骤S240可以包括步骤S241-S243。
在步骤S241中,将至少一个环境特征图按照尺寸由小到大的顺序排列。即,将至少一个环境特征图按照层级编号由小到大的顺序进行排列。排列结果例如可以是第0层环境特征图、第1层环境特征图、第2层环境特征图…
对于所述至少一个环境特征图中的任一环境特征图,执行以下步骤S242和S243。
在步骤S242中,通过将环境特征图与地图特征进行匹配,确定第一位姿偏移量。
在步骤S243中,将当前位姿偏移量与第一位姿偏移量进行叠加,以得到更新后的位姿偏移量。
其中,第一个环境特征图对应的当前位姿偏移量为全零向量,第二个及后续每个环境特征图对应的当前位姿偏移量为上一个环境特征图对应的更新后的位姿偏移量,目标位姿偏移量为最后一个环境特征图对应的更新后的位姿偏移量。
根据上述实施例,按照环境特征图的尺寸由小到大的顺序,针对各个环境特征图依次求解位姿偏移量,能够逐步提高位姿偏移量估计的精细度和准确度,从而提高目标位姿偏移量的准确性。
根据一些实施例,步骤S242进一步包括步骤S2421-S2423。
在步骤S2421中,在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量。
在步骤S2422中,对于多个候选位姿偏移量中的任一候选位姿偏移量,确定在该候选位姿偏移量下环境特征图与地图特征的匹配度。
在步骤S2423中,基于多个候选位姿偏移量各自对应的匹配度,对多个候选位姿偏移量进行融合,以得到第一位姿偏移量。
根据一些实施例,针对步骤S2421,可以在偏移量采样范围内按照一定的采样间隔均匀采样,以得到多个候选位姿偏移量。
根据一些实施例,偏移量采样范围的大小与环境特征图的尺寸负相关。并且,针对不同尺寸的环境特征图,采样相同数量的候选位姿偏移量。根据该实施例,环境特征图的尺寸和分辨率越大,偏移量采样范围和采样间隔越小,采样的精细度越高。由此能够提高候选位姿偏移量的采样精细度,从而提高位姿偏移量的估计精度。
以环境特征包括l(l∈{0,1,2})层环境特征图为例,针对第l层环境特征图,在x、y、yaw方向进行等间距采样所得到的三自由度的候选位姿偏移量为:
其中,rx表示x方向的偏移量采样范围,ry表示y方向的偏移量采样范围,ryaw表示yaw方向(偏航角)的偏移量采样范围,Ns为每个方向的最大采样数量。例如,可以设置rx=3m,ry=3m,ryaw=3°,Ns=7,相应地,对于每层环境特征图,可以采样得到343个候选位姿偏移量。
根据一些实施例,如上文所述,地图特征包括多个地图元素各自的目标编码向量。相应地,步骤S2422可以包括步骤S24221-S24224。
在步骤S24221中,将当前位姿与候选位姿偏移量进行叠加,以得到候选位姿。
例如,第l层环境特征图的当前位姿为Test,候选位姿偏移量为则候选位姿为/>其中,/>表示位姿之间广义的加法运算。
需要说明的是,当前位姿为初始位姿与位于当前环境特征图之前的每个环境特征图的第一位姿偏移量的和。
例如,第0层环境特征图的当前位姿为初始位姿,第1层环境特征图的当前位姿为初始位姿与第0层环境特征图的第一位姿偏移量的和,第2层环境特征图的当前位姿为初始位姿与第0层环境特征图和第1层环境特征图各自的第一位姿偏移量的和。
对于多个地图元素中的任一地图元素,执行步骤S24222和S24223。
在步骤S24222中,基于候选位姿,将地图元素投影至目标三维空间(BEV空间)中,以得到地图元素对应的环境特征图中的环境特征向量。
根据一些实施例,为了统一地图元素的目标编码向量与环境特征向量的维度,可以分别采用一个一维卷积层和一个二维卷积层分别对目标编码向量和第l层环境特征图进行投影,以将二者转换成相同的维度C例如可以是256。投影后的目标编码向量为投影后的环境特征图为/>
根据一些实施例,可以利用候选位姿将地图元素的坐标投影至BEV空间中,以得到地图元素在BEV空间的投影坐标/>进一步地,通过插值算法(例如双线性插值算法)对环境特征图/>进行插值,可以得到环境特征图在该投影坐标/>处的特征向量,即环境特征向量/>
在步骤S24223中,计算地图元素的目标编码向量与相应的环境特征向量的相似度。
根据一些实施例,目标编码向量与环境特征向量的相似度可以基于二者的点积计算得出。例如,第i个地图元素的目标编码向量与相应的环境特征向量的相似度/>可以根据下式(8)计算:
其中,⊙表示点积,h()表示一个可学习的多层感知机(MLP)。该多层感知机可以由一组一维卷积层、标准化层和激活层构成,顺序例如可以是Conv1D(1,8,1),BN(8),LeakyReLU(0.1),Conv1D(8,8,1),BN(8),LeakyReLU(0.1),Conv1D(8,1,1)。
在步骤S24224中,基于多个地图元素各自对应的相似度,确定在候选位姿偏移量下环境特征图与地图特征的匹配度。
根据一些实施例,可以将各地图元素的相似度的和或平均值确定为在候选位姿偏移量下环境特征图与地图特征的匹配度。
例如,在候选位姿偏移量下第l层环境特征图与地图特征的匹配度可以根据下式(9)计算。
其中,K为地图元素的数量。
根据上述步骤S2422,可以得到在每个候选位姿偏移量下环境特征图与地图特征的匹配度。随后,在步骤S2423中,可以基于多个候选位姿偏移量各自对应的匹配度,对多个候选位姿偏移量进行融合,以得到第一位姿偏移量。
根据一些实施例,步骤S2423可以包括步骤S24231和步骤S24232。
在步骤S24231中,对于多个候选位姿偏移量中的任一候选位姿偏移量,基于该候选位姿偏移量的匹配度与多个候选位姿偏移量的匹配度之和的比值,确定该候选位姿偏移量的概率。
在步骤S24232中,将多个候选位姿偏移量的期望确定为第一位姿偏移量。
根据上述实施例,基于匹配度计算各候选位姿偏移量的概率(后验概率),按照后验概率对各候选位姿偏移量进行融合,可解释性强,容易分析定位失败的原因以及探索可能进一步提高定位精度的方向。
根据一些实施例,候选位姿偏移量在当前定位条件X下的概率可以根据下式(10)计算:
相应地,第l层环境特征图的第一位姿偏移量和协方差∑l分别根据下式(11)和(12)计算:
进而可以基于第一位姿偏移量更新当前位姿Test和当前位姿偏移量ΔTest,即:
其中,箭头←表示将箭头右侧的计算结果赋值给变量Test
图3示出了根据本公开实施例的目标位姿偏移量的求解的过程300的流程图。在图3所示的实施例中,环境特征包括BEV空间中的3层环境特征图,即,l=0,1,2。
如图3所示,在步骤S310中,将当前位姿Test初始化为初始位姿Tinit,将当前位姿偏移量ΔTest初始化为全零向量,将环境特征图的层级编号l初始化为0。
在步骤S320中,对于第l层环境特征图,首先将地图元素i的目标编码向量和环境特征图投影至相同的维度,得到投影后的环境特征图和投影后的目标编码向量将地图元素映射值BEV空间中,得到该地图元素对应的环境特征向量根据各地图元素的目标编码向量与环境特征向量,按照上式(9)确定在候选位姿/>下(即,在候选位姿偏移量/>下)第l层环境特征图与地图特征的匹配度
在步骤S330中,根据上式(10)-(12),计算各候选位姿偏移量的概率第一位姿偏移量/>和协方差∑l
在步骤S340中,根据上式(13),更新当前位姿Test和当前位姿偏移量ΔTest
在步骤S350中,将l的值加一。
在步骤S360中,判断l是否小于3。若是,则执行步骤S320;若否,则执行步骤S370,输出当前位姿Test、当前位姿偏移量ΔTest和各层的协方差{∑l|l∈{0,1,2}}。
步骤S370所输出的当前位姿偏移量ΔTest即为用于修正初始位姿的目标位姿偏移量。
根据一些实施例,步骤S240可以通过经训练的位姿求解器来实现。具体地,可以将环境特征、地图特征和初始位姿输入经训练的位姿求解器,以得到位姿求解器输出的目标位姿偏移量。
与环境特征包括至少一个环境特征图相应地,位姿求解器也可以包括至少一个求解层。至少一个求解层与至少一个环境特征图分别对应。每个求解层用于对相应的环境特征图进行处理,以对当前位姿偏移量进行更新。最后一个求解层所输出的更新后的位姿偏移量即为用于修正车辆的初始位姿的目标位姿偏移量。
在步骤S250中,将初始位姿与位姿偏移量进行叠加,以得到车辆的修正后的位姿。
本公开实施例的车辆定位方法200可以利用经训练的定位模型来实施。图4示出了根据本公开一些实施例的基于经训练的定位模型400的车辆定位过程的示意图。
在图4所示的车辆定位过程中,首先,获取车辆定位系统的输入。系统输入包括用于定位车辆的矢量化地图441、车辆的六自由度的初始位姿442(包括三维坐标和三个姿态角)、沿环视方向部署的六个相机采集到的图像443和激光雷达采集到的点云444。初始位姿442可以是当前时刻组合定位系统输出的位姿,也可以是上一时刻的修正后的位姿。
在获取到系统输入之后,对输入进行预处理。如图4所示,预处理包括步骤S451-S453。
在步骤S451中,从矢量化地图中441中筛选出位于初始位姿442附近的地图元素,并获取地图元素的位置信息461和语义信息(即,类别信息)462。
在步骤S452中,对图像443进行预处理,以得到预处理后的图像463。图像的预处理操作可以包括去畸变、缩放为预设尺寸、标准化等。
在步骤S453中,对点云444进行预处理,以得到预处理后的点云464。点云的预处理操作可以包括基于初始位姿对点云进行筛选,仅保留初始位姿附近的点云。例如,可以仅保留以初始位姿442为原点,车辆前进方向(x轴正方向)[-40m,40m]、车辆左向(y轴正方向)[-40m,40m],车辆上方(z轴正方向)[-3m,5m]范围内的点云。进一步地,可以将点云体素化,即,将空间划分为互不相交的多个块,每个块内最多保留32个点。
经过预处理操作后,利用定位模型400来实现特征提取和位姿求解。如图4所示,定位模型400包括环境编码器410、地图编码器420和位姿求解器430。
环境编码器410用于对多模态传感器数据进行编码。环境编码器410包括图像编码器411、点云编码器412和第一变换解码器413。图像编码器411用于对预处理后的图像463进行编码,以得到图像特征图472。点云编码器412用于对预处理后的点云464进行编码,以得到BEV空间下的点云特征图473。第一变换解码器413用于在BEV空间下将图像特征图472和点云特征图473进行融合,以得到BEV空间下的环境特征481。
地图编码器420用于对各个地图元素进行编码。地图编码器420包括位置编码器421、语义编码器422和第二变换解码器423。位置编码器421用于对地图元素的位置信息461进行编码,以得到位置编码。语义编码器422用于对地图元素的语义信息462进行编码,以得到语义编码。将位置编码和语义编码相加,得到地图元素的初始编码向量471。第二变换解码器423基于环境特征481对各地图元素的初始编码向量471进行更新,以将初始编码向量471映射至BEV空间,得到各地图元素在BEV空间下的目标编码向量482,即,地图特征。
位姿求解器430以环境特征481、地图特征482和初始位姿442为输入,经过一系列处理(上文步骤S240的处理),输出目标位姿偏移量491、当前位姿492(即利用目标位姿偏移量491对初始位姿442进行修正所得到的修正后的位姿)和位姿的协方差493。
根据本公开的实施例,还提供了一种矢量化地图构建方法。根据该方法构建的矢量化地图可以被应用于上述车辆定位方法200中。
图5示出了根据本公开实施例的矢量化地图构建方法500的流程图。方法500的执行主体通常是服务器(例如图1中所示的服务器120)。在一些情况下,方法500的执行主体也可以是自动驾驶车辆(例如图1中所示的机动车辆110)。如图5所示,方法500包括步骤S510-S540。
在步骤S510中,获取点云式地图中的点云。
在步骤S520中,将点云式地图的投影平面划分为第一单位尺寸的多个二维栅格。
对于多个二维栅格中的任一二维栅格,执行步骤S530和S540。
在步骤S530中,基于二维栅格对应的三维空间内的点云,提取该二维栅格中的平面。
在步骤S540中,将该平面存储为矢量化地图中的面元素。
根据本公开的实施例,从点云式地图中提取平面,并将所提取的平面存储为矢量化地图中的面元素,由此能够提高矢量化地图中的地理元素的丰富度和稠密度,从而提高车辆的定位精度。
矢量化地图相较于点云式地图来说体积大大减小、便于更新。将矢量化地图(而不是点云式地图)存储至车端,能够大大降低车端的存储成本,提高车辆定位方法的可用性,能够满足量产需求。经实验验证,矢量化地图的体积大小约为0.35M/km。相较于点云式地图来说,体积减小97.5%。
以下详细介绍方法500的各个步骤。
在步骤S510中,获取点云式地图中的点云。
点云式地图以稠密点云来表示地理元素。矢量化地图则以标识、名称、位置、属性以及相互之间的拓扑关系等信息来表示地理元素。
在步骤S520中,将点云式地图的投影平面划分为第一单位尺寸的多个二维栅格。
点云式地图的投影平面指的是xy平面。第一单位尺寸可以根据需要进行设置。例如,可以将第一单位尺寸设置为1m*1m、2m*2m等。
在步骤S530中,基于二维栅格对应的三维空间内的点云,提取该二维栅格中的平面。二维栅格对应的三维空间指的是以该二维栅格为截面的柱状空间。
根据一些实施例,步骤S530可以包括步骤S531-S534。
在步骤S531中,沿高度方向将三维空间划分为第二单位尺寸的多个三维栅格。第二单位尺寸可以根据需要进行设置。例如,可以将第二单位尺寸设置为1m*1m*1m、2m*2m*2m等。
对于多个三维栅格中的任一三维栅格,执行步骤S532和S533。
在步骤S532中,基于三维栅格中的点云,计算三维栅格中包括平面的置信度。
在步骤S533中,响应于置信度大于阈值,提取三维栅格中的平面。阈值可以根据需要进行设置。例如,可以将阈值设置为10、15等。
在步骤S534中,将多个三维栅格中的置信度最大的平面确定为二维栅格对应的平面。
根据一些实施例,针对步骤S532,三维栅格中包括平面的置信度可以根据以下步骤计算:对三维栅格中的点云的协方差矩阵进行奇异值分解,以得到第一奇异值λ1、第二奇异值λ2和第三奇异值λ3,其中,第一奇异值小于或等于第二奇异值,第二奇异值小于或等于第三奇异值,即,λ1≤λ2≤λ3。将第二奇异值与第一奇异值的比值λ21确定为置信度s,即,s=λ21
根据上述实施例,如果λ21很大,可以认为点云数据沿λ1对应的特征向量方向的变化(方差)相对于其他方向来说很小,可以忽略不计,因此点云能够近似为一个平面。λ21能够指示三维栅格中包括平面的可能性,因此,可以将其作为三维栅格中包括平面的置信度。
在步骤S540中,将该平面存储为矢量化地图中的面元素。根据一些实施例,可以确定平面对应的面元素的标识,将平面上的一点的坐标和平面的单位法向量与该标识关联存储。
根据一些实施例,面元素的标识可以是按照预设规则生成的。可以理解,矢量化地图中的各面元素的标识各不相同。
根据一些实施例,可以将平面所属的三维栅格内的点云的重心作为平面上的一点,并存储其坐标。平面的单位法向量通过对第一奇异值λ1对应的特征向量进行单位化得到。
在矢量化地图中,面元素P例如可以被表示为
其中,表示实数域,/>表示面元素P上的一点在UTM坐标系的xy坐标,表示面元素的单位法向量,/>λ1≤λ2≤λ3为面元素协方差矩阵的奇异值。
根据一些实施例,除了面元素之外,矢量化地图中还以矢量的形式存储有其他地理元素。这些地理元素包括道路元素,例如车道线、路沿、人行横道、停止线、交通标识牌和杆等。
在矢量化地图中,车道线、路沿、停止线以线段的形式表示,线段的端点为UTM坐标系下的二维xy坐标。人行横道表示为一个多边形,多边形的顶点用UTM坐标系下的二维xy坐标表示。交通标识牌表示为与xy平面垂直的长方形,顶点为三维UTM坐标,其中z坐标采用相对于地面的高度表示。杆用UTM坐标系下的二维xy坐标和杆的高度表示。
根据本公开的实施例,还提供了一种定位模型的训练方法。根据该方法训练得到的定位模型可以被应用于上述车辆定位方法200中。
图6示出了根据本公开实施例的定位模型的训练方法600的流程图。方法600的执行主体通常是服务器(例如图1中所示的服务器120)。在一些情况下,方法600的执行主体也可以是自动驾驶车辆(例如图1中所示的机动车辆110)。本公开实施例的定位模型包括环境编码器、地图编码器和位姿求解器。定位模型的一个示例性结构可以参见图4。
如图6所示,方法600包括步骤S610-S680。
在步骤S610中,获取样本车辆的初始位姿、初始位姿对应的位姿真值、样本车辆的多模态传感器数据和用于定位样本车辆的多个地图元素。
在步骤S620中,将多模态传感器数据输入环境编码器,以得到环境特征。
在步骤S630中,将多个地图元素的元素信息输入地图编码器,以得到地图特征。
在步骤S640中,将环境特征、地图特征和初始位姿输入位姿求解器,以便位姿求解器:在第一偏移量采样范围内进行采样,以得到多个第一候选位姿偏移量;对于多个第一候选位姿偏移量中的任一第一候选位姿偏移量,确定在该第一候选位姿偏移量下环境特征与地图特征的第一匹配度;以及基于多个第一候选位姿偏移量各自对应的第一匹配度,确定并输出预测位姿偏移量;
在步骤S650中,基于预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,位姿偏移量真值为位姿真值与初始位姿的差。
在步骤S660中,基于多个第一候选位姿偏移量各自对应的第一匹配度,确定第二损失,其中,第二损失指示位姿真值的预测概率分布与位姿真值的真实概率分布的差异。
在步骤S670中,至少基于第一损失和第二损失,确定定位模型的整体损失。
在步骤S680中,基于整体损失,调整定位模型的参数。
根据本公开的实施例,第一损失能够引导定位模型输出更加准确的预测位姿偏移量。第二损失能够引导位姿真值的预测概率分布接近其真实概率分布,从而避免多峰分布。基于第一损失和第二损失确定定位模型的整体损失并据此调整定位模型的参数,能够提高定位模型的定位精度。
根据一些实施例,初始位姿可以是当前时刻样本车辆的组合定位系统输出的位姿,也可以是上一时刻的修正后的位姿。
根据一些实施例,多模态传感器数据包括图像和点云。用于定位样本车辆的多个地图元素可以是从矢量化地图中筛选出来的位于初始位姿附近的地理元素。多个地图元素例如包括道路元素(车道线、路沿、人行横道、停止线、交通标识牌、杆等)和面元素。
步骤S620、S630与上文描述的步骤S220、S230分别对应。步骤S620、S630中的环境编码器和地图编码器分别用于执行步骤S220和S230。环境编码器和地图编码器的内部处理逻辑参见上文对步骤S220、S230的相关描述,此处不再赘述。
步骤S640中的位姿求解器用于执行上文所描述的步骤S240。位姿求解器的内部处理逻辑参见上文对步骤S240的相关描述,此处不再赘述。
第一损失为位姿均方误差损失。根据一些实施例,第一损失Lrmse可以根据以下公式计算:
其中,l为环境特征图的层级编号(即,位姿求解器的求解层的编号),矩阵Ul可以由SVD分解协方差得到,/>是一个对角矩阵,矩阵的对角元素值为对角矩阵S-1的对角元素经过归一化的值,/>为第l个求解层输出的预测位姿偏移量(即,方法200中所描述的第一位姿偏移量),/>为第l个求解层的位姿偏移量真值,即位姿真值与初始位姿的差。可以理解,各求解层的位姿偏移量真值相同。/>
需要说明的是,如果直接将与/>的二范数作为第一损失,那么每个方向对定位的影响都相同。但是在实际情况中,不同方向对定位的作用是不同的。例如在横向退化(比如隧道,缺少x轴的横向约束)的场景中,横向的定位误差会比较大,也难以通过优化来提高其精度。因此在这种情况下,希望降低横向的权重,从而降低横向的不确定性对定位精度的影响。方向的权重通过协方差来确定。根据式(14),某个方向的协方差越大,不确定性越大,该方向的权重/>设置得越小,对第一损失的影响越小。
第二损失为位姿分布KL散度损失。根据一些实施例,第二损失可以根据以下公式计算:
其中,表示第l个求解层的位姿真值。可以理解,各求解层的位姿真值相同。表示在位姿真值下第l层环境特征图与地图特征的匹配度,可以参考上式(9)进行计算。/>表示在候选位姿/>下(即,在第一候选位姿偏移量/>下)第l层环境特征图与地图特征的第一匹配度,可以根据上式(9)进行计算。
式(15)-(17)由KL散度公式导出,能够指示位姿真值的预测概率分布与位姿真值的真实概率分布的差异。位姿真值的预测概率分布为多个第一候选位姿偏移量的概率分布,即上式(10)所计算出的概率分布。位姿真值的真实概率分布为在位姿真值处的概率为1的Dirac分布(尖峰分布)。
根据一些实施例,定位模型的整体损失可以是第一损失Lrmse与第二损失的加权和。
根据一些实施例,位姿求解器进一步被配置为:在第二偏移量采样范围内进行采样,以得到多个第二候选位姿偏移量;以及对于多个第二候选位姿偏移量中的任一第二候选位姿偏移量,确定在该第二候选位姿偏移量下环境特征与地图特征的第二匹配度。
相应地,方法600还包括:基于多个第二候选位姿偏移量各自对应的第二匹配度,确定第三损失,其中,所述第三损失指示多个候选位姿的预测概率分布与所述多个候选位姿的真实概率分布的差异,所述多个候选位姿通过将所述多个第二候选位姿偏移量分别与当前位姿进行叠加得到。
需要说明的是,第二偏移量采样范围通常大于第一偏移量采样范围。第一偏移量采样范围通过上文所描述的步骤S2421确定。
第二匹配度可以参考上式(9)进行计算。
当前位姿为初始位姿与位于当前求解层之前的每个求解层的预测位姿偏移量的和。
第三损失为采样位姿分布KL散度损失。根据一些实施例,第三损失可以根据以下公式计算:
其中,表示第l个求解层的位姿真值。可以理解,各求解层的位姿真值相同。q(·)表示位姿的采样提议分布的概率密度函数,其中xy的采样分布为多元t分布(multivariate t distribution),yaw方向的采样分布为冯·米塞斯分布(von Misesdistribution)和均匀分布的混合分布。/>为采样的候选位姿,Nr为采样的候选位姿的数量。/>表示在位姿真值下第l层环境特征图与地图特征的匹配度,可以参考上式(9)进行计算。/>表示在候选位姿/>下(即,在第二候选位姿偏移量/>下)第l层环境特征图与地图特征的第二匹配度,可以参考上式(9)进行计算。
式(18)-(20)由KL散度公式导出,能够指示多个候选位姿的预测概率分布与其真实概率分布的差异。
第三损失能够使特征学习更加充分,作为监督信号提高特征学习效果。
根据一些实施例,定位模型的整体损失可以是第一损失Lrmse、第二损失第三损失/>的加权和。
根据一些实施例,环境特征包括目标空间(例如BEV空间)中的环境特征图。地图元素的元素信息包括类别信息(即,语义信息)。地图编码器进一步被配置为基于多种类别信息与多种语义编码的对应关系,确定地图元素的类别信息所对应的语义编码。其中,所述多种语义编码是定位模型的可训练的参数。
相应地,方法600还包括:将多个地图元素中的属于目标类别的目标地图元素投影至目标三维空间中,以得到目标三维空间中的语义分割的真值图。其中,真值图中的第一像素的值指示该第一像素是否被目标地图元素所占据。基于环境特征图,确定语义分割的预测图,其中,预测图中的第二像素的值指示相应的环境特征向量与目标类别的语义编码的相似度,相应的环境特征向量为环境特征图中的与第二像素的位置相对应的像素的特征向量。基于真值图和预测图,可以确定第四损失。
例如,对于目标类别j,将属于类别j的目标地图元素投影到BEV空间中,得到类别j在第l层环境特征图中的语义分割的真值图其中,/>表示真值图中的第一像素(h,w)被属于类别j的目标地图元素所占据,/>表示真值图中的第一像素(h,w)未被属于类别j的目标地图元素所占据。
语义编码的训练目标是使第j种类别的语义编码和BEV语义分割的真值图中/>处的BEV环境特征向量/>尽可能接近。类别j在第l层环境特征图中的语义分割的预测图/>根据下式构建:
其中,表示类别j的预测图/>中的坐标为(h,w)的第二像素的值,为第l层环境特征图/>中的坐标为(h,w)的像素对应的环境特征向量,Wl为可学习的模型参数,/>为类别j的语义编码,⊙表示点积。
第四损失为语义分割损失。根据一些实施例,第四损失Lss可以根据下式计算:
α=0.8,γ=2.0 (26)
其中,Ne为类别信息的数量。
根据第四损失Lss,语义编码可训练,由此能够提升语义编码对地图元素类别信息的表达能力,从而提高定位精度。
根据一些实施例,定位模型的整体损失可以是第一损失Lrmse、第二损失第四损失Lss的加权和。
根据一些实施例,定位模型的整体损失Lsum可以是第一损失Lrmse、第二损失第三损失/>和第四损失Lss的加权和,即:
其中,α1~α4分别为第一损失~第四损失的权重。
在确定了定位模型的整体损失后,根据整体损失,利用误差的反向传播方法来调整定位模型的参数。定位模型的参数包括语义编码、多层感知机中的权重、卷积核中的权重、注意力模块中的投影矩阵等。
可以理解,步骤S610-S680可以循环执行多次,直至达到预设的终止条件为止。终止条件例如可以是整体损失小于损失阈值、循环次数达到次数阈值、整体损失收敛等。
根据一些实施例,在训练定位模型时,可以对训练数据进行数据增强处理,以提升定位模型的泛化性和鲁棒性。数据增强处理例如包括对图像的色彩、对比度、亮度进行增强,随机去除部分图像区域、按照一定概率随机去除某一帧的某种地图元素(例如杆元素)、对地图元素的坐标和全局坐标系做旋转变换、对相机和激光雷达的外参做旋转变换等。
根据本公开的实施例,还提供了一种车辆定位装置。图7示出了根据本公开实施例的车辆定位装置700的结构框图。如图7所示,装置700包括获取模块710、环境编码模块720、地图编码模块730、确定模块740和叠加模块750。
获取模块710被配置为获取所述车辆的初始位姿、所述车辆的多模态传感器数据和用于定位所述车辆的多个地图元素。
环境编码模块720被配置为对所述多模态传感器数据进行编码,以得到环境特征。
地图编码模块730被配置为对所述多个地图元素进行编码,以得到地图特征。
确定模块740被配置为基于所述环境特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量。
叠加模块750将所述初始位姿与所述目标位姿偏移量进行叠加,以得到所述车辆的修正后的位姿。
根据本公开的实施例,对多模态传感器数据进行编码,能够充分利用各传感器的数据,减少信息丢失,使环境特征能够全面、准确地表达车辆的周围环境。基于环境特征和地图特征确定目标位姿偏移量,并基于目标位姿偏移量对初始位姿进行修正,能够提高车辆的定位精度,即使在复杂环境中仍能实现车辆的准确定位。
根据一些实施例,所述初始位姿为所述车辆的组合定位系统输出的位姿。
根据一些实施例,所述多模态传感器数据包括点云和图像,并且其中,所述环境编码模块包括:点云编码单元,被配置为对所述点云进行编码,以得到目标三维空间中的点云特征图;图像编码单元,被配置为对所述图像进行编码,以得到图像特征图;以及融合单元,被配置为融合将所述点云特征图和所述图像特征图进行融合,以得到所述环境特征。
根据一些实施例,所述目标三维空间为所述车辆的鸟瞰视角空间。
根据一些实施例,所述融合单元包括:初始化子单元,被配置为基于所述点云特征图,确定所述目标三维空间中的初始环境特征图;第一融合子单元,被配置为将所述初始环境特征图与所述图像特征图进行融合,以得到所述目标三维空间中的第一环境特征图;以及确定子单元,被配置为基于所述第一环境特征图,确定所述环境特征。
根据一些实施例,所述第一融合子单元进一步被配置为:基于注意力机制,将所述初始环境特征图与所述图像特征图进行至少一次融合,以得到所述第一环境特征图。
根据一些实施例,所述第一融合子单元进一步被配置为:在所述至少一次融合的每一次融合中:基于自注意力机制,对当前环境特征图进行更新,以得到更新后的环境特征图;以及基于交叉注意力机制,将所述更新后的环境特征图与所述图像特征图进行融合,以得到融合后的环境特征图,其中,第一次融合中的当前环境特征图为所述初始环境特征图,第二次及后续每次融合中的当前环境特征图为上一次融合后的环境特征图,所述第一环境特征图为最后一次融合后的环境特征图。
根据一些实施例,所述第一融合子单元进一步被配置为:将所述初始环境特征图和所述图像特征图输入经训练的第一变换解码器,以得到所述第一变换解码器输出的所述第一环境特征图。
根据一些实施例,所述确定子单元进一步被配置为:对所述第一环境特征图进行至少一次上采样,以得到与所述至少一次上采样分别对应的至少一个第二环境特征图;以及将所述第一环境特征图和所述至少一个第二环境特征图确定为所述环境特征。
根据一些实施例,所述多个地图元素通过基于所述初始位姿对矢量化地图中的多个地理元素进行筛选而得到。
根据一些实施例,所述多个地图元素包括至少一个道路元素和至少一个几何元素;所述至少一个道路元素包括以下至少一项:车道线、路沿、人行横道、停止线、交通标识牌或杆;所述至少一个几何元素包括面元素。
根据一些实施例,所述面元素通过提取点云式地图中的平面而得到。
根据一些实施例,所述地图编码模块包括:初始化单元,被配置为对于所述多个地图元素中的任一地图元素,对所述地图元素的元素信息进行编码,以得到所述地图元素的初始编码向量;以及更新单元,被配置为基于所述环境特征,对所述初始编码向量进行更新,以得到所述地图元素的目标编码向量,其中,所述地图特征包括所述多个地图元素各自的目标编码向量。
根据一些实施例,所述元素信息包括位置信息和类别信息,并且其中,所述初始化单元包括:第一编码子单元,被配置为对所述位置信息进行编码,以得到位置编码;第二编码子单元,被配置为对所述类别信息进行编码,以得到语义编码;以及第二融合子单元,被配置为对所述位置编码和所述语义编码进行融合,以得到所述初始编码向量。
根据一些实施例,所述第二编码子单元进一步被配置为:基于多种类别信息与多种语义编码的对应关系,确定所述地图元素的所述语义编码,其中,所述多种语义编码是定位模型的参数并且通过对所述定位模型进行训练而得到。
根据一些实施例,所述更新单元进一步被配置为:基于注意力机制,利用所述环境特征对所述初始编码向量进行至少一次更新,以得到所述目标编码向量。
根据一些实施例,所述更新单元进一步被配置为:在所述至少一次更新的每一次更新中:基于自注意力机制,对当前编码向量进行更新,以得到更新后的编码向量;以及基于交叉注意力机制,将所述更新后的编码向量与所述环境特征进行融合,以得到融合后的编码向量,其中,第一次更新中的当前编码向量为所述初始编码向量,第二次及后续每次更新中的当前编码向量为上一次融合后的编码向量,所述目标编码向量为最后一次融合后的编码向量。
根据一些实施例,所述环境特征包括目标三维空间中的多个环境特征图,所述多个环境特征图的尺寸各不相同,并且其中,所述更新单元进一步被配置为:基于所述多个环境特征图中的尺寸最小的环境特征图,对所述初始编码向量进行更新。
根据一些实施例,所述更新单元进一步被配置为:将所述初始编码向量和所述环境特征输入经训练的第二变换解码器,以得到所述第二变换解码器输出的所述目标编码向量。
根据一些实施例,所述确定模块进一步被配置为:通过将所述环境特征与所述地图特征进行匹配,确定所述目标位姿偏移量。
根据一些实施例,所述环境特征包括目标三维空间中的至少一个环境特征图,所述至少一个环境特征图的尺寸各不相同,并且其中,所述确定模块包括:排序单元,被配置为将所述至少一个环境特征图按照尺寸由小到大的顺序排列;以及确定单元,被配置为对于所述至少一个环境特征图中的任一环境特征图:通过将所述环境特征图与所述地图特征进行匹配,确定第一位姿偏移量;以及将当前位姿偏移量与所述第一位姿偏移量进行叠加,以得到更新后的位姿偏移量,其中,第一个环境特征图对应的当前位姿偏移量为全零向量,第二个及后续每个环境特征图对应的当前位姿偏移量为上一个环境特征图对应的更新后的位姿偏移量,所述目标位姿偏移量为最后一个环境特征图对应的更新后的位姿偏移量。
根据一些实施例,所述确定单元包括:采样子单元,被配置为在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量;确定子单元,被配置为对于所述多个候选位姿偏移量中的任一候选位姿偏移量,确定在所述候选位姿偏移量下所述环境特征图与所述地图特征的匹配度;以及第三融合子单元,被配置为基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到所述第一位姿偏移量。
根据一些实施例,所述偏移量采样范围的大小与所述环境特征图的尺寸负相关。
根据一些实施例,所述地图特征包括所述多个地图元素各自的目标编码向量,并且其中,所述确定子单元进一步被配置为:将当前位姿与所述候选位姿偏移量进行叠加,以得到候选位姿,其中,所述当前位姿为所述初始位姿与位于所述环境特征图之前的每个环境特征图的第一位姿偏移量的和;对于所述多个地图元素中的任一地图元素:基于所述候选位姿,将所述地图元素投影至所述目标三维空间中,以得到所述地图元素对应的所述环境特征图中的环境特征向量;以及计算所述地图元素的目标编码向量与所述环境特征向量的相似度;以及基于所述多个地图元素各自对应的相似度,确定在所述候选位姿偏移量下所述环境特征图与所述地图特征的匹配度。
根据一些实施例,所述第三融合子单元进一步被配置为:对于所述多个候选位姿偏移量中的任一候选位姿偏移量,基于所述候选位姿偏移量的匹配度与所述多个候选位姿偏移量的匹配度之和的比值,确定所述候选位姿偏移量的概率;以及将所述多个候选位姿偏移量的期望确定为所述第一位姿偏移量。
根据一些实施例,所述确定模块进一步被配置为:将所述环境特征、所述地图特征和所述初始位姿输入经训练的位姿求解器,以得到所述位姿求解器输出的所述目标位姿偏移量。
应当理解,图7中所示的装置700的各个模块或单元可以与图2所描述的方法200中的各个步骤相对应。由此,上述方法200中所描述的操作、特征和优点同样适用于装置700及其包括的各个模块以及单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
根据本公开的实施例,还提供了一种矢量化地图构建装置。图8示出了根据本公开实施例的矢量化地图构建装置800的结构框图。如图8所示,装置800包括获取模块810、划分模块820、提取模块830和存储模块840。
获取模块810被配置为获取点云式地图中的点云。
划分模块820被配置为将所述点云式地图的投影平面划分为第一单位尺寸的多个二维栅格。
提取模块830被配置为对于所述多个二维栅格中的任一二维栅格,基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面。
存储模块840被配置为将所述平面存储为所述矢量化地图中的面元素。
根据本公开的实施例,从点云式地图中提取平面,并将所提取的平面存储为矢量化地图中的面元素,由此能够提高矢量化地图中的地理元素的丰富度和稠密度,从而提高车辆的定位精度。
矢量化地图相较于点云式地图来说体积大大减小、便于更新。将矢量化地图(而不是点云式地图)存储至车端,能够大大降低车端的存储成本,提高车辆定位方法的可用性,能够满足量产需求。经实验验证,矢量化地图的体积大小约为0.35M/km。相较于点云式地图来说,体积减小97.5%。
根据一些实施例,所述提取模块包括:划分单元,被配置为沿高度方向将所述三维空间划分为第二单位尺寸的多个三维栅格;提取单元,被配置为对于所述多个三维栅格中的任一三维栅格:基于所述三维栅格中的点云,计算所述三维栅格中包括平面的置信度;以及响应于所述置信度大于阈值,提取所述三维栅格中的平面;以及第一确定单元,被配置为将所述多个三维栅格中的置信度最大的平面确定为所述二维栅格对应的平面。
根据一些实施例,所述提取单元包括:分解子单元,被配置为对所述三维栅格中的点云的协方差矩阵进行奇异值分解,以得到第一奇异值、第二奇异值和第三奇异值,其中,所述第一奇异值小于或等于所述第二奇异值,所述第二奇异值小于或等于所述第三奇异值;以及确定子单元,被配置为将所述第二奇异值与所述第一奇异值的比值确定为所述置信度。
根据一些实施例,所述存储模块包括:第二确定单元,被配置为确定所述平面对应的面元素的标识;以及存储单元,被配置为将所述平面上的一点的坐标和所述平面的单位法向量与所述标识关联存储。
根据一些实施例,所述矢量化地图还包括多个道路元素,所述多个道路元素中的任一道路元素为:车道线、路沿、人行横道、停止线、交通标识牌或杆。
应当理解,图8中所示的装置800的各个模块或单元可以与图5所描述的方法500中的各个步骤相对应。由此,上述方法500中所描述的操作、特征和优点同样适用于装置800及其包括的各个模块以及单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
根据本公开的实施例,还提供了一种定位模型的训练装置。图9示出了根据本公开实施例的定位模型的训练装置900的结构框图。定位模型包括环境编码器、地图编码器和位姿求解器。
如图9所示,装置900包括获取模块910、第一输入模块920、第二输入模块930、第三输入模块940、第一确定模块950、第二确定模块960、确定模块970和调整模块980。
获取模块910被配置为获取样本车辆的初始位姿、所述初始位姿对应的位姿真值、所述样本车辆的多模态传感器数据和用于定位所述样本车辆的多个地图元素。
第一输入模块920被配置为将所述多模态传感器数据输入所述环境编码器,以得到环境特征。
第二输入模块930被配置为将所述多个地图元素的元素信息输入所述地图编码器,以得到地图特征。
第三输入模块940被配置为将所述环境特征、所述地图特征和所述初始位姿输入所述位姿求解器,以便所述位姿求解器:在第一偏移量采样范围内进行采样,以得到多个第一候选位姿偏移量;对于所述多个第一候选位姿偏移量中的任一第一候选位姿偏移量,确定在所述第一候选位姿偏移量下所述环境特征与所述地图特征的第一匹配度;以及基于所述多个第一候选位姿偏移量各自对应的第一匹配度,确定并输出预测位姿偏移量。
第一确定模块950被配置为基于所述预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,所述位姿偏移量真值为所述位姿真值与所述初始位姿的差。
第二确定模块960被配置为基于所述多个第一候选位姿偏移量各自对应的第一匹配度,确定第二损失,其中,所述第二损失指示所述位姿真值的预测概率分布与所述位姿真值的真实概率分布的差异。
确定模块970被配置为至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失。
调整模块980被配置为基于所述整体损失,调整所述定位模型的参数。
根据本公开的实施例,第一损失能够引导定位模型输出更加准确的预测位姿偏移量。第二损失能够引导位姿真值的预测概率分布接近其真实概率分布,从而避免多峰分布。基于第一损失和第二损失确定定位模型的整体损失并据此调整定位模型的参数,能够提高定位模型的定位精度。
根据一些实施例,所述位姿求解器被配置为:在第二偏移量采样范围内进行采样,以得到多个第二候选位姿偏移量;以及对于所述多个第二候选位姿偏移量中的任一第二候选位姿偏移量,确定在所述第二候选位姿偏移量下所述环境特征与所述地图特征的第二匹配度。
所述装置还包括:第三确定模块,被配置为基于所述多个第二候选位姿偏移量各自对应的第二匹配度,确定第三损失,其中,所述第三损失指示多个候选位姿的预测概率分布与所述多个候选位姿的真实概率分布的差异,所述多个候选位姿通过将所述多个第二候选位姿偏移量分别与所述初始位姿进行叠加得到。
所述确定模块进一步被配置为:至少基于所述第一损失、所述第二损失和所述第三损失,确定所述整体损失。
根据一些实施例,所述环境特征包括目标三维空间中的环境特征图,所述元素信息包括类别信息,所述地图编码器被配置为:基于多种类别信息与多种语义编码的对应关系,确定所述类别信息对应的语义编码,其中,所述多种语义编码是所述定位模型的参数。
所述装置还包括:投影模块,被配置为将所述多个地图元素中的属于目标类别的目标地图元素投影至所述目标三维空间中,以得到所述目标三维空间中的语义分割的真值图,其中,所述真值图中的第一像素的值指示该第一像素是否被所述目标地图元素所占据;预测模块,被配置为基于所述环境特征图,确定语义分割的预测图,其中,所述预测图中的第二像素的值指示相应的环境特征向量与所述目标类别的语义编码的相似度,所述相应的环境特征向量为所述环境特征图中的与所述第二像素的位置相对应的像素的特征向量;以及第四确定模块,被配置为基于所述真值图和所述预测图,确定第四损失。
所述确定模块进一步被配置为:至少基于所述第一损失、所述第二损失和所述第四损失,确定所述整体损失。
应当理解,图9中所示的装置900的各个模块或单元可以与图6所描述的方法600中的各个步骤相对应。由此,上述方法600中所描述的操作、特征和优点同样适用于装置900及其包括的各个模块以及单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图7-图9描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,模块710-980中的一个或多个可以一起被实现在片上系统(System on Chip,SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(Central Processing Unit,CPU)、微控制器、微处理器、数字信号处理器(Digital Signal Processor,DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
根据本公开的实施例,还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例的车辆定位方法、矢量化地图构建方法、定位模型的训练方法中任一者。
根据本公开的实施例,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据本公开实施例的车辆定位方法、矢量化地图构建方法、定位模型的训练方法中任一者。
根据本公开的实施例,还提供了一种计算机程序产品,包括计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现根据本公开实施例的车辆定位方法、矢量化地图构建方法、定位模型的训练方法中任一者。
根据本公开的实施例,还提供了一种自动驾驶车辆,包括上述电子设备。
参考图10,现将描述可以作为本公开的服务器或客户端的电子设备1000的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,电子设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储电子设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
电子设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006、输出单元1007、存储单元1008以及通信单元1009。输入单元1006可以是能向电子设备1000输入信息的任何类型的设备,输入单元1006可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元1007可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元1008可以包括但不限于磁盘、光盘。通信单元1009允许电子设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、802.11设备、Wi-Fi设备、WiMAX设备、蜂窝通信设备和/或类似物。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如方法200、500和600。例如,在一些实施例中,方法200、500和600可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到电子设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200、500和600。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本公开的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (72)

1.一种车辆定位方法,包括:
获取所述车辆的初始位姿、所述车辆的多模态传感器数据和用于定位所述车辆的多个地图元素;
对所述多模态传感器数据进行编码,以得到环境特征;
对所述多个地图元素进行编码,以得到地图特征;
基于所述环境特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量;以及
将所述初始位姿与所述目标位姿偏移量进行叠加,以得到所述车辆的修正后的位姿。
2.根据权利要求1所述的方法,其中,所述初始位姿为所述车辆的组合定位系统输出的位姿。
3.根据权利要求1或2所述的方法,其中,所述多模态传感器数据包括点云和图像,并且其中,所述对所述多模态传感器数据进行编码,以得到环境特征包括:
对所述点云进行编码,以得到点云特征图;
对所述图像进行编码,以得到图像特征图;以及
将所述点云特征图和所述图像特征图进行融合,以得到所述环境特征。
4.根据权利要求3所述的方法,其中,所述将所述点云特征图和所述图像特征图进行融合,以得到所述环境特征包括:
基于所述点云特征图,确定目标三维空间中的初始环境特征图;
将所述初始环境特征图与所述图像特征图进行融合,以得到所述目标三维空间中的第一环境特征图;以及
基于所述第一环境特征图,确定所述环境特征。
5.根据权利要求4所述的方法,其中,所述目标三维空间为所述车辆的鸟瞰视角空间。
6.根据权利要求4或5所述的方法,其中,所述将所述初始环境特征图与所述图像特征图进行融合,以得到所述目标三维空间中的第一环境特征图包括:
基于注意力机制,将所述初始环境特征图与所述图像特征图进行至少一次融合,以得到所述第一环境特征图。
7.根据权利要求6所述的方法,其中,所述基于注意力机制,将所述初始环境特征图与所述图像特征图进行至少一次融合,以得到所述第一环境特征图包括:
在所述至少一次融合的每一次融合中:
基于自注意力机制,对当前环境特征图进行更新,以得到更新后的环境特征图;以及
基于交叉注意力机制,将所述更新后的环境特征图与所述图像特征图进行融合,以得到融合后的环境特征图,
其中,第一次融合中的当前环境特征图为所述初始环境特征图,第二次及后续每次融合中的当前环境特征图为上一次融合后的环境特征图,所述第一环境特征图为最后一次融合后的环境特征图。
8.根据权利要求4-7中任一项所述的方法,其中,所述将所述初始环境特征图与所述图像特征图进行融合,以得到所述目标三维空间中的第一环境特征图包括:
将所述初始环境特征图和所述图像特征图输入经训练的第一变换解码器,以得到所述第一变换解码器输出的所述第一环境特征图。
9.根据权利要求4-8中任一项所述的方法,其中,所述基于所述第一环境特征图,确定所述环境特征包括:
对所述第一环境特征图进行至少一次上采样,以得到与所述至少一次上采样分别对应的至少一个第二环境特征图;以及
将所述第一环境特征图和所述至少一个第二环境特征图确定为所述环境特征。
10.根据权利要求1-9中任一项所述的方法,其中,所述多个地图元素通过基于所述初始位姿对矢量化地图中的多个地理元素进行筛选而得到。
11.根据权利要求1-10中任一项所述的方法,其中,所述多个地图元素包括至少一个道路元素和至少一个几何元素;
所述至少一个道路元素包括以下至少一项:车道线、路沿、人行横道、停止线、交通标识牌或杆;
所述至少一个几何元素包括面元素。
12.根据权利要求11所述的方法,其中,所述面元素通过提取点云式地图中的平面而得到。
13.根据权利要求1-12中任一项所述的方法,其中,所述对所述多个地图元素进行编码,以得到地图特征包括:
对于所述多个地图元素中的任一地图元素,对所述地图元素的元素信息进行编码,以得到所述地图元素的初始编码向量;以及
基于所述环境特征,对所述初始编码向量进行更新,以得到所述地图元素的目标编码向量,其中,所述地图特征包括所述多个地图元素各自的目标编码向量。
14.根据权利要求13所述的方法,其中,所述元素信息包括位置信息和类别信息,并且其中,所述对所述地图元素的元素信息进行编码,以得到所述地图元素的初始编码向量包括:
对所述位置信息进行编码,以得到位置编码;
对所述类别信息进行编码,以得到语义编码;以及
对所述位置编码和所述语义编码进行融合,以得到所述初始编码向量。
15.根据权利要求14所述的方法,其中,所述对所述类别信息进行编码,以得到语义编码包括:
基于多种类别信息与多种语义编码的对应关系,确定所述地图元素的所述语义编码,其中,所述多种语义编码是定位模型的参数并且通过对所述定位模型进行训练而得到。
16.根据权利要求13-15中任一项所述的方法,其中,所述基于所述环境特征,对所述初始编码向量进行更新,以得到所述地图元素的目标编码向量包括:
基于注意力机制,利用所述环境特征对所述初始编码向量进行至少一次更新,以得到所述目标编码向量。
17.根据权利要求16所述的方法,其中,所述基于注意力机制,利用所述环境特征对所述初始编码向量进行至少一次更新,以得到所述目标编码向量包括:
在所述至少一次更新的每一次更新中:
基于自注意力机制,对当前编码向量进行更新,以得到更新后的编码向量;以及
基于交叉注意力机制,将所述更新后的编码向量与所述环境特征进行融合,以得到融合后的编码向量,
其中,第一次更新中的当前编码向量为所述初始编码向量,第二次及后续每次更新中的当前编码向量为上一次融合后的编码向量,所述目标编码向量为最后一次融合后的编码向量。
18.根据权利要求13-17中任一项所述的方法,其中,所述环境特征包括目标三维空间中的多个环境特征图,所述多个环境特征图的尺寸各不相同,并且其中,所述基于所述环境特征,对所述初始编码向量进行更新包括:
基于所述多个环境特征图中的尺寸最小的环境特征图,对所述初始编码向量进行更新。
19.根据权利要求13-18中任一项所述的方法,其中,所述基于所述环境特征,对所述初始编码向量进行更新,以得到所述地图元素的目标编码向量包括:
将所述初始编码向量和所述环境特征输入经训练的第二变换解码器,以得到所述第二变换解码器输出的所述目标编码向量。
20.根据权利要求1-19中任一项所述的方法,其中,所述基于所述环境特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量包括:
通过将所述环境特征与所述地图特征进行匹配,确定所述目标位姿偏移量。
21.根据权利要求20所述的方法,其中,所述环境特征包括目标三维空间中的至少一个环境特征图,所述至少一个环境特征图的尺寸各不相同,并且其中,所述通过将所述环境特征与所述地图特征进行匹配,确定所述目标位姿偏移量包括:
将所述至少一个环境特征图按照尺寸由小到大的顺序排列;
对于所述至少一个环境特征图中的任一环境特征图:
通过将所述环境特征图与所述地图特征进行匹配,确定第一位姿偏移量;以及
将当前位姿偏移量与所述第一位姿偏移量进行叠加,以得到更新后的位姿偏移量,
其中,第一个环境特征图对应的当前位姿偏移量为全零向量,第二个及后续每个环境特征图对应的当前位姿偏移量为上一个环境特征图对应的更新后的位姿偏移量,所述目标位姿偏移量为最后一个环境特征图对应的更新后的位姿偏移量。
22.根据权利要求21所述的方法,其中,所述通过将所述环境特征图与所述地图特征进行匹配,确定第一位姿偏移量包括:
在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量;
对于所述多个候选位姿偏移量中的任一候选位姿偏移量,确定在所述候选位姿偏移量下所述环境特征图与所述地图特征的匹配度;以及
基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到所述第一位姿偏移量。
23.根据权利要求22所述的方法,其中,所述偏移量采样范围的大小与所述环境特征图的尺寸负相关。
24.根据权利要求22或23所述的方法,其中,所述地图特征包括所述多个地图元素各自的目标编码向量,并且其中,所述确定在所述候选位姿偏移量下所述环境特征图与所述地图特征的匹配度包括:
将当前位姿与所述候选位姿偏移量进行叠加,以得到候选位姿,其中,所述当前位姿为所述初始位姿与位于所述环境特征图之前的每个环境特征图的第一位姿偏移量的和;
对于所述多个地图元素中的任一地图元素:
基于所述候选位姿,将所述地图元素投影至所述目标三维空间中,以得到所述地图元素对应的所述环境特征图中的环境特征向量;以及
计算所述地图元素的目标编码向量与所述环境特征向量的相似度;以及
基于所述多个地图元素各自对应的相似度,确定在所述候选位姿偏移量下所述环境特征图与所述地图特征的匹配度。
25.根据权利要求22-24中任一项所述的方法,其中,所述基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到所述第一位姿偏移量包括:
对于所述多个候选位姿偏移量中的任一候选位姿偏移量,基于所述候选位姿偏移量的匹配度与所述多个候选位姿偏移量的匹配度之和的比值,确定所述候选位姿偏移量的概率;以及
将所述多个候选位姿偏移量的期望确定为所述第一位姿偏移量。
26.根据权利要求1-25中任一项所述的方法,其中,所述基于所述环境特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量包括:
将所述环境特征、所述地图特征和所述初始位姿输入经训练的位姿求解器,以得到所述位姿求解器输出的所述目标位姿偏移量。
27.一种矢量化地图构建方法,包括:
获取点云式地图中的点云;
将所述点云式地图的投影平面划分为第一单位尺寸的多个二维栅格;
对于所述多个二维栅格中的任一二维栅格:
基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面;以及
将所述平面存储为所述矢量化地图中的面元素。
28.根据权利要求27所述的方法,其中,所述基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面包括:
沿高度方向将所述三维空间划分为第二单位尺寸的多个三维栅格;
对于所述多个三维栅格中的任一三维栅格:
基于所述三维栅格中的点云,计算所述三维栅格中包括平面的置信度;以及
响应于所述置信度大于阈值,提取所述三维栅格中的平面;
以及
将所述多个三维栅格中的置信度最大的平面确定为所述二维栅格对应的平面。
29.根据权利要求28所述的方法,其中,所述基于所述三维栅格中的点云,计算所述三维栅格中包括平面的置信度包括:
对所述三维栅格中的点云的协方差矩阵进行奇异值分解,以得到第一奇异值、第二奇异值和第三奇异值,其中,所述第一奇异值小于或等于所述第二奇异值,所述第二奇异值小于或等于所述第三奇异值;以及
将所述第二奇异值与所述第一奇异值的比值确定为所述置信度。
30.根据权利要求27-29中任一项所述的方法,其中,所述将所述平面存储为所述矢量化地图中的面元素包括:
确定所述平面对应的面元素的标识;以及
将所述平面上的一点的坐标和所述平面的单位法向量与所述标识关联存储。
31.根据权利要求27-30中任一项所述的方法,其中,所述矢量化地图还包括多个道路元素,所述多个道路元素中的任一道路元素为:车道线、路沿、人行横道、停止线、交通标识牌或杆。
32.一种定位模型的训练方法,其中,所述定位模型包括环境编码器、地图编码器和位姿求解器,所述方法包括:
获取样本车辆的初始位姿、所述初始位姿对应的位姿真值、所述样本车辆的多模态传感器数据和用于定位所述样本车辆的多个地图元素;
将所述多模态传感器数据输入所述环境编码器,以得到环境特征;
将所述多个地图元素的元素信息输入所述地图编码器,以得到地图特征;
将所述环境特征、所述地图特征和所述初始位姿输入所述位姿求解器,以便所述位姿求解器:
在第一偏移量采样范围内进行采样,以得到多个第一候选位姿偏移量;
对于所述多个第一候选位姿偏移量中的任一第一候选位姿偏移量,确定在所述第一候选位姿偏移量下所述环境特征与所述地图特征的第一匹配度;以及
基于所述多个第一候选位姿偏移量各自对应的第一匹配度,确定并输出预测位姿偏移量;
基于所述预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,所述位姿偏移量真值为所述位姿真值与所述初始位姿的差;
基于所述多个第一候选位姿偏移量各自对应的第一匹配度,确定第二损失,其中,所述第二损失指示所述位姿真值的预测概率分布与所述位姿真值的真实概率分布的差异;
至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失;以及
基于所述整体损失,调整所述定位模型的参数。
33.根据权利要求32所述的方法,其中,所述位姿求解器被配置为:
在第二偏移量采样范围内进行采样,以得到多个第二候选位姿偏移量;以及
对于所述多个第二候选位姿偏移量中的任一第二候选位姿偏移量,确定在所述第二候选位姿偏移量下所述环境特征与所述地图特征的第二匹配度;
所述方法还包括:
基于所述多个第二候选位姿偏移量各自对应的第二匹配度,确定第三损失,其中,所述第三损失指示多个候选位姿的预测概率分布与所述多个候选位姿的真实概率分布的差异,所述多个候选位姿通过将所述多个第二候选位姿偏移量分别与当前位姿进行叠加得到;
其中,所述至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失包括:
至少基于所述第一损失、所述第二损失和所述第三损失,确定所述整体损失。
34.根据权利要求32或33所述的方法,其中,所述环境特征包括目标三维空间中的环境特征图,所述元素信息包括类别信息,所述地图编码器被配置为:
基于多种类别信息与多种语义编码的对应关系,确定所述类别信息对应的语义编码,其中,所述多种语义编码是所述定位模型的参数;
所述方法还包括:
将所述多个地图元素中的属于目标类别的目标地图元素投影至所述目标三维空间中,以得到所述目标三维空间中的语义分割的真值图,其中,所述真值图中的第一像素的值指示该第一像素是否被所述目标地图元素所占据;
基于所述环境特征图,确定语义分割的预测图,其中,所述预测图中的第二像素的值指示相应的环境特征向量与所述目标类别的语义编码的相似度,所述相应的环境特征向量为所述环境特征图中的与所述第二像素的位置相对应的像素的特征向量;以及
基于所述真值图和所述预测图,确定第四损失;
其中,所述至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失包括:
至少基于所述第一损失、所述第二损失和所述第四损失,确定所述整体损失。
35.一种车辆定位装置,包括:
获取模块,被配置为获取所述车辆的初始位姿、所述车辆的多模态传感器数据和用于定位所述车辆的多个地图元素;
环境编码模块,被配置为对所述多模态传感器数据进行编码,以得到环境特征;
地图编码模块,被配置为对所述多个地图元素进行编码,以得到地图特征;
确定模块,被配置为基于所述环境特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量;以及
叠加模块,将所述初始位姿与所述目标位姿偏移量进行叠加,以得到所述车辆的修正后的位姿。
36.根据权利要求35所述的装置,其中,所述初始位姿为所述车辆的组合定位系统输出的位姿。
37.根据权利要求35或36所述的装置,其中,所述多模态传感器数据包括点云和图像,并且其中,所述环境编码模块包括:
点云编码单元,被配置为对所述点云进行编码,以得到目标三维空间中的点云特征图;
图像编码单元,被配置为对所述图像进行编码,以得到图像特征图;以及
融合单元,被配置为融合将所述点云特征图和所述图像特征图进行融合,以得到所述环境特征。
38.根据权利要求37所述的装置,其中,所述目标三维空间为所述车辆的鸟瞰视角空间。
39.根据权利要求37或38所述的装置,其中,所述融合单元包括:
初始化子单元,被配置为基于所述点云特征图,确定所述目标三维空间中的初始环境特征图;
第一融合子单元,被配置为将所述初始环境特征图与所述图像特征图进行融合,以得到所述目标三维空间中的第一环境特征图;以及
确定子单元,被配置为基于所述第一环境特征图,确定所述环境特征。
40.根据权利要求39所述的装置,其中,所述第一融合子单元进一步被配置为:
基于注意力机制,将所述初始环境特征图与所述图像特征图进行至少一次融合,以得到所述第一环境特征图。
41.根据权利要求40所述的装置,其中,所述第一融合子单元进一步被配置为:
在所述至少一次融合的每一次融合中:
基于自注意力机制,对当前环境特征图进行更新,以得到更新后的环境特征图;以及
基于交叉注意力机制,将所述更新后的环境特征图与所述图像特征图进行融合,以得到融合后的环境特征图,
其中,第一次融合中的当前环境特征图为所述初始环境特征图,第二次及后续每次融合中的当前环境特征图为上一次融合后的环境特征图,所述第一环境特征图为最后一次融合后的环境特征图。
42.根据权利要求39-41中任一项所述的装置,其中,所述第一融合子单元进一步被配置为:
将所述初始环境特征图和所述图像特征图输入经训练的第一变换解码器,以得到所述第一变换解码器输出的所述第一环境特征图。
43.根据权利要求39-42中任一项所述的装置,其中,所述确定子单元进一步被配置为:
对所述第一环境特征图进行至少一次上采样,以得到与所述至少一次上采样分别对应的至少一个第二环境特征图;以及
将所述第一环境特征图和所述至少一个第二环境特征图确定为所述环境特征。
44.根据权利要求35-43中任一项所述的装置,其中,所述多个地图元素通过基于所述初始位姿对矢量化地图中的多个地理元素进行筛选而得到。
45.根据权利要求35-44中任一项所述的装置,其中,所述多个地图元素包括至少一个道路元素和至少一个几何元素;
所述至少一个道路元素包括以下至少一项:车道线、路沿、人行横道、停止线、交通标识牌或杆;
所述至少一个几何元素包括面元素。
46.根据权利要求45所述的装置,其中,所述面元素通过提取点云式地图中的平面而得到。
47.根据权利要求35-46中任一项所述的装置,其中,所述地图编码模块包括:
初始化单元,被配置为对于所述多个地图元素中的任一地图元素,对所述地图元素的元素信息进行编码,以得到所述地图元素的初始编码向量;以及
更新单元,被配置为基于所述环境特征,对所述初始编码向量进行更新,以得到所述地图元素的目标编码向量,其中,所述地图特征包括所述多个地图元素各自的目标编码向量。
48.根据权利要求47所述的装置,其中,所述元素信息包括位置信息和类别信息,并且其中,所述初始化单元包括:
第一编码子单元,被配置为对所述位置信息进行编码,以得到位置编码;
第二编码子单元,被配置为对所述类别信息进行编码,以得到语义编码;以及
第二融合子单元,被配置为对所述位置编码和所述语义编码进行融合,以得到所述初始编码向量。
49.根据权利要求48所述的装置,其中,所述第二编码子单元进一步被配置为:
基于多种类别信息与多种语义编码的对应关系,确定所述地图元素的所述语义编码,其中,所述多种语义编码是定位模型的参数并且通过对所述定位模型进行训练而得到。
50.根据权利要求47-49中任一项所述的装置,其中,所述更新单元进一步被配置为:
基于注意力机制,利用所述环境特征对所述初始编码向量进行至少一次更新,以得到所述目标编码向量。
51.根据权利要求50所述的装置,其中,所述更新单元进一步被配置为:
在所述至少一次更新的每一次更新中:
基于自注意力机制,对当前编码向量进行更新,以得到更新后的编码向量;以及
基于交叉注意力机制,将所述更新后的编码向量与所述环境特征进行融合,以得到融合后的编码向量,
其中,第一次更新中的当前编码向量为所述初始编码向量,第二次及后续每次更新中的当前编码向量为上一次融合后的编码向量,所述目标编码向量为最后一次融合后的编码向量。
52.根据权利要求47-51中任一项所述的装置,其中,所述环境特征包括目标三维空间中的多个环境特征图,所述多个环境特征图的尺寸各不相同,并且其中,所述更新单元进一步被配置为:
基于所述多个环境特征图中的尺寸最小的环境特征图,对所述初始编码向量进行更新。
53.根据权利要求47-52中任一项所述的装置,其中,所述更新单元进一步被配置为:
将所述初始编码向量和所述环境特征输入经训练的第二变换解码器,以得到所述第二变换解码器输出的所述目标编码向量。
54.根据权利要求35-53中任一项所述的装置,其中,所述确定模块进一步被配置为:
通过将所述环境特征与所述地图特征进行匹配,确定所述目标位姿偏移量。
55.根据权利要求54所述的装置,其中,所述环境特征包括目标三维空间中的至少一个环境特征图,所述至少一个环境特征图的尺寸各不相同,并且其中,所述确定模块包括:
排序单元,被配置为将所述至少一个环境特征图按照尺寸由小到大的顺序排列;以及
确定单元,被配置为对于所述至少一个环境特征图中的任一环境特征图:
通过将所述环境特征图与所述地图特征进行匹配,确定第一位姿偏移量;以及
将当前位姿偏移量与所述第一位姿偏移量进行叠加,以得到更新后的位姿偏移量,
其中,第一个环境特征图对应的当前位姿偏移量为全零向量,第二个及后续每个环境特征图对应的当前位姿偏移量为上一个环境特征图对应的更新后的位姿偏移量,所述目标位姿偏移量为最后一个环境特征图对应的更新后的位姿偏移量。
56.根据权利要求55所述的装置,其中,所述确定单元包括:
采样子单元,被配置为在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量;
确定子单元,被配置为对于所述多个候选位姿偏移量中的任一候选位姿偏移量,确定在所述候选位姿偏移量下所述环境特征图与所述地图特征的匹配度;以及
第三融合子单元,被配置为基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到所述第一位姿偏移量。
57.根据权利要求56所述的装置,其中,所述偏移量采样范围的大小与所述环境特征图的尺寸负相关。
58.根据权利要求56或57所述的装置,其中,所述地图特征包括所述多个地图元素各自的目标编码向量,并且其中,所述确定子单元进一步被配置为:
将当前位姿与所述候选位姿偏移量进行叠加,以得到候选位姿,其中,所述当前位姿为所述初始位姿与位于所述环境特征图之前的每个环境特征图的第一位姿偏移量的和;
对于所述多个地图元素中的任一地图元素:
基于所述候选位姿,将所述地图元素投影至所述目标三维空间中,以得到所述地图元素对应的所述环境特征图中的环境特征向量;以及
计算所述地图元素的目标编码向量与所述环境特征向量的相似度;以及
基于所述多个地图元素各自对应的相似度,确定在所述候选位姿偏移量下所述环境特征图与所述地图特征的匹配度。
59.根据权利要求56-58中任一项所述的装置,其中,所述第三融合子单元进一步被配置为:
对于所述多个候选位姿偏移量中的任一候选位姿偏移量,基于所述候选位姿偏移量的匹配度与所述多个候选位姿偏移量的匹配度之和的比值,确定所述候选位姿偏移量的概率;以及
将所述多个候选位姿偏移量的期望确定为所述第一位姿偏移量。
60.根据权利要求35-59中任一项所述的装置,其中,所述确定模块进一步被配置为:
将所述环境特征、所述地图特征和所述初始位姿输入经训练的位姿求解器,以得到所述位姿求解器输出的所述目标位姿偏移量。
61.一种矢量化地图构建装置,包括:
获取模块,被配置为获取点云式地图中的点云;
划分模块,被配置为将所述点云式地图的投影平面划分为第一单位尺寸的多个二维栅格;
提取模块,被配置为对于所述多个二维栅格中的任一二维栅格,基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面;以及
存储模块,被配置为将所述平面存储为所述矢量化地图中的面元素。
62.根据权利要求61所述的装置,其中,所述提取模块包括:
划分单元,被配置为沿高度方向将所述三维空间划分为第二单位尺寸的多个三维栅格;
提取单元,被配置为对于所述多个三维栅格中的任一三维栅格:
基于所述三维栅格中的点云,计算所述三维栅格中包括平面的置信度;以及
响应于所述置信度大于阈值,提取所述三维栅格中的平面;
以及
第一确定单元,被配置为将所述多个三维栅格中的置信度最大的平面确定为所述二维栅格对应的平面。
63.根据权利要求62所述的装置,其中,所述提取单元包括:
分解子单元,被配置为对所述三维栅格中的点云的协方差矩阵进行奇异值分解,以得到第一奇异值、第二奇异值和第三奇异值,其中,所述第一奇异值小于或等于所述第二奇异值,所述第二奇异值小于或等于所述第三奇异值;以及
确定子单元,被配置为将所述第二奇异值与所述第一奇异值的比值确定为所述置信度。
64.根据权利要求61-63中任一项所述的装置,其中,所述存储模块包括:
第二确定单元,被配置为确定所述平面对应的面元素的标识;以及
存储单元,被配置为将所述平面上的一点的坐标和所述平面的单位法向量与所述标识关联存储。
65.根据权利要求61-64中任一项所述的装置,其中,所述矢量化地图还包括多个道路元素,所述多个道路元素中的任一道路元素为:车道线、路沿、人行横道、停止线、交通标识牌或杆。
66.一种定位模型的训练装置,其中,所述定位模型包括环境编码器、地图编码器和位姿求解器,所述装置包括:
获取模块,被配置为获取样本车辆的初始位姿、所述初始位姿对应的位姿真值、所述样本车辆的多模态传感器数据和用于定位所述样本车辆的多个地图元素;
第一输入模块,被配置为将所述多模态传感器数据输入所述环境编码器,以得到环境特征;
第二输入模块,被配置为将所述多个地图元素的元素信息输入所述地图编码器,以得到地图特征;
第三输入模块,被配置为将所述环境特征、所述地图特征和所述初始位姿输入所述位姿求解器,以便所述位姿求解器:
在第一偏移量采样范围内进行采样,以得到多个第一候选位姿偏移量;
对于所述多个第一候选位姿偏移量中的任一第一候选位姿偏移量,确定在所述第一候选位姿偏移量下所述环境特征与所述地图特征的第一匹配度;以及
基于所述多个第一候选位姿偏移量各自对应的第一匹配度,确定并输出预测位姿偏移量;
第一确定模块,被配置为基于所述预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,所述位姿偏移量真值为所述位姿真值与所述初始位姿的差;
第二确定模块,被配置为基于所述多个第一候选位姿偏移量各自对应的第一匹配度,确定第二损失,其中,所述第二损失指示所述位姿真值的预测概率分布与所述位姿真值的真实概率分布的差异;
确定模块,被配置为至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失;以及
调整模块,被配置为基于所述整体损失,调整所述定位模型的参数。
67.根据权利要求66所述的装置,其中,所述位姿求解器被配置为:
在第二偏移量采样范围内进行采样,以得到多个第二候选位姿偏移量;以及
对于所述多个第二候选位姿偏移量中的任一第二候选位姿偏移量,确定在所述第二候选位姿偏移量下所述环境特征与所述地图特征的第二匹配度;
所述装置还包括:
第三确定模块,被配置为基于所述多个第二候选位姿偏移量各自对应的第二匹配度,确定第三损失,其中,所述第三损失指示多个候选位姿的预测概率分布与所述多个候选位姿的真实概率分布的差异,所述多个候选位姿通过将所述多个第二候选位姿偏移量分别与所述初始位姿进行叠加得到;
其中,所述确定模块进一步被配置为:
至少基于所述第一损失、所述第二损失和所述第三损失,确定所述整体损失。
68.根据权利要求66或67所述的装置,其中,所述环境特征包括目标三维空间中的环境特征图,所述元素信息包括类别信息,所述地图编码器被配置为:
基于多种类别信息与多种语义编码的对应关系,确定所述类别信息对应的语义编码,其中,所述多种语义编码是所述定位模型的参数;
所述装置还包括:
投影模块,被配置为将所述多个地图元素中的属于目标类别的目标地图元素投影至所述目标三维空间中,以得到所述目标三维空间中的语义分割的真值图,其中,所述真值图中的第一像素的值指示该第一像素是否被所述目标地图元素所占据;
预测模块,被配置为基于所述环境特征图,确定语义分割的预测图,其中,所述预测图中的第二像素的值指示相应的环境特征向量与所述目标类别的语义编码的相似度,所述相应的环境特征向量为所述环境特征图中的与所述第二像素的位置相对应的像素的特征向量;以及
第四确定模块,被配置为基于所述真值图和所述预测图,确定第四损失;
其中,所述确定模块进一步被配置为:
至少基于所述第一损失、所述第二损失和所述第四损失,确定所述整体损失。
69.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-34中任一项所述的方法。
70.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-34中任一项所述的方法。
71.一种计算机程序产品,包括计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现权利要求1-34中任一项所述的方法。
72.一种自动驾驶车辆,包括根据权利要求69所述的电子设备。
CN202310628177.5A 2023-05-30 2023-05-30 高精度车辆定位、矢量化地图构建及定位模型训练方法 Pending CN116698051A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310628177.5A CN116698051A (zh) 2023-05-30 2023-05-30 高精度车辆定位、矢量化地图构建及定位模型训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310628177.5A CN116698051A (zh) 2023-05-30 2023-05-30 高精度车辆定位、矢量化地图构建及定位模型训练方法

Publications (1)

Publication Number Publication Date
CN116698051A true CN116698051A (zh) 2023-09-05

Family

ID=87833327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310628177.5A Pending CN116698051A (zh) 2023-05-30 2023-05-30 高精度车辆定位、矢量化地图构建及定位模型训练方法

Country Status (1)

Country Link
CN (1) CN116698051A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019133658A (ja) * 2018-01-31 2019-08-08 株式会社リコー 測位方法、測位装置及び読取り可能な記憶媒体
CN111142116A (zh) * 2019-09-27 2020-05-12 广东亿嘉和科技有限公司 一种基于三维激光的道路检测与建模方法
CN111220154A (zh) * 2020-01-22 2020-06-02 北京百度网讯科技有限公司 车辆定位方法、装置、设备和介质
CN115775379A (zh) * 2022-10-19 2023-03-10 纵目科技(上海)股份有限公司 三维目标检测方法及系统
CN115952248A (zh) * 2022-12-20 2023-04-11 阿波罗智联(北京)科技有限公司 终端设备的位姿处理方法、装置、设备、介质及产品

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019133658A (ja) * 2018-01-31 2019-08-08 株式会社リコー 測位方法、測位装置及び読取り可能な記憶媒体
CN111142116A (zh) * 2019-09-27 2020-05-12 广东亿嘉和科技有限公司 一种基于三维激光的道路检测与建模方法
CN111220154A (zh) * 2020-01-22 2020-06-02 北京百度网讯科技有限公司 车辆定位方法、装置、设备和介质
CN115775379A (zh) * 2022-10-19 2023-03-10 纵目科技(上海)股份有限公司 三维目标检测方法及系统
CN115952248A (zh) * 2022-12-20 2023-04-11 阿波罗智联(北京)科技有限公司 终端设备的位姿处理方法、装置、设备、介质及产品

Similar Documents

Publication Publication Date Title
US10437252B1 (en) High-precision multi-layer visual and semantic map for autonomous driving
US10794710B1 (en) High-precision multi-layer visual and semantic map by autonomous units
US20230228880A1 (en) Method for creating occupancy grid map and processing apparatus
CN113994390A (zh) 针对自主驾驶应用的使用曲线拟合的地标检测
JP2019527832A (ja) 正確な位置特定およびマッピングのためのシステムおよび方法
CN112740268B (zh) 目标检测方法和装置
US11443522B2 (en) Processing sensor information for object detection
CN113887400B (zh) 障碍物检测方法、模型训练方法、装置及自动驾驶车辆
WO2024001969A1 (zh) 一种图像处理方法、装置、存储介质及计算机程序产品
US11842440B2 (en) Landmark location reconstruction in autonomous machine applications
CN115019060A (zh) 目标识别方法、目标识别模型的训练方法及装置
CN114782785A (zh) 多传感器信息融合方法及装置
CN116048060A (zh) 用于自主系统和应用的使用神经网络基于真实世界数据的3d表面结构估计
CN116051780A (zh) 用于自主系统和应用的使用人工智能利用点云致密化的3d表面重建
CN116678424A (zh) 高精度车辆定位、矢量化地图构建及定位模型训练方法
CN115082690B (zh) 目标识别方法、目标识别模型训练方法及装置
CN116823884A (zh) 多目标跟踪方法、系统、计算机设备及存储介质
CN116776151A (zh) 可与车外人员进行自主交互的自动驾驶模型和训练方法
US20240151855A1 (en) Lidar-based object tracking
CN116698051A (zh) 高精度车辆定位、矢量化地图构建及定位模型训练方法
CN116859724B (zh) 时序自回归同时决策和预测的自动驾驶模型及其训练方法
CN115019278B (zh) 一种车道线拟合方法、装置、电子设备和介质
US20230105331A1 (en) Methods and systems for semantic scene completion for sparse 3d data
CN117315402A (zh) 三维对象检测模型的训练方法及三维对象检测方法
US20220292290A1 (en) Distributed computing network to perform simultaneous localization and mapping

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination