CN116678424A - 高精度车辆定位、矢量化地图构建及定位模型训练方法 - Google Patents
高精度车辆定位、矢量化地图构建及定位模型训练方法 Download PDFInfo
- Publication number
- CN116678424A CN116678424A CN202310628522.5A CN202310628522A CN116678424A CN 116678424 A CN116678424 A CN 116678424A CN 202310628522 A CN202310628522 A CN 202310628522A CN 116678424 A CN116678424 A CN 116678424A
- Authority
- CN
- China
- Prior art keywords
- map
- pose
- point cloud
- feature
- elements
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 123
- 238000012549 training Methods 0.000 title claims abstract description 32
- 238000010276 construction Methods 0.000 title claims abstract description 24
- 239000013598 vector Substances 0.000 claims description 131
- 238000010586 diagram Methods 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 29
- 238000005070 sampling Methods 0.000 claims description 23
- 238000009826 distribution Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 19
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 11
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000000354 decomposition reaction Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000004927 fusion Effects 0.000 claims description 4
- 230000004438 eyesight Effects 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000013135 deep learning Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 15
- 230000004807 localization Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 229910052698 phosphorus Inorganic materials 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 229910052799 carbon Inorganic materials 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000004973 liquid crystal related substance Substances 0.000 description 5
- 239000000047 product Substances 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 229910052757 nitrogen Inorganic materials 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004297 night vision Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; 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/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3841—Data obtained from two or more sources, e.g. probe vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems 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/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems 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/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
- G01S13/865—Combination of radar systems with lidar systems
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems 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/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
- G01S13/867—Combination of radar systems with cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems 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/88—Radar or analogous systems specially adapted for specific applications
- G01S13/89—Radar or analogous systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle 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)
- Navigation (AREA)
Abstract
本公开提供了一种高精度车辆定位、矢量化地图构建及定位模型训练方法,涉及人工智能技术领域,尤其涉及自动驾驶、深度学习、计算机视觉等技术领域。实现方案为:获取车辆的初始位姿、部署于车辆上的雷达采集的点云和用于定位车辆的多个地图元素;对点云进行编码,以得到点云特征;对多个地图元素进行编码,以得到地图特征;基于点云特征和地图特征,确定用于修正初始位姿的目标位姿偏移量;以及将初始位姿与目标位姿偏移量进行叠加,以得到车辆的修正后的位姿。本公开可以提高自动驾驶车辆的定位精度。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及自动驾驶、深度学习、计算机视觉等技术领域,具体涉及一种高精度车辆定位方法及装置、矢量化地图构建方法及装置、定位模型的训练方法及装置、电子设备、计算机可读存储介质、计算机程序产品和自动驾驶车辆。
背景技术
自动驾驶技术涉及环境感知、行为决策、轨迹规划以及运动控制等多个方面。依赖于传感器、视觉计算系统和定位系统的协同合作,具有自动驾驶功能的车辆可以在无需驾驶员进行操作或仅需驾驶员进行少量操作的情况下自动地运行。对自动驾驶车辆进行准确定位是保证自动驾驶车辆安全平稳运行的重要前提。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种高精度车辆定位方法及装置、矢量化地图构建方法及装置、定位模型的训练方法及装置、电子设备、计算机可读存储介质、计算机程序产品和自动驾驶车辆。
根据本公开的一方面,提供了一种车辆定位方法,包括:获取所述车辆的初始位姿、部署于所述车辆上的雷达采集的点云和用于定位所述车辆的多个地图元素;对所述点云进行编码,以得到点云特征;对所述多个地图元素进行编码,以得到地图特征;基于所述点云特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量;以及将所述初始位姿与所述目标位姿偏移量进行叠加,以得到所述车辆的修正后的位姿。
根据本公开的一方面,提供了一种矢量化地图构建方法,包括:获取点云式地图中的点云;将所述点云式地图的投影平面划分为第一单位尺寸的多个二维栅格;对于所述多个二维栅格中的任一二维栅格:基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面;以及将所述平面存储为所述矢量化地图中的面元素。
根据本公开的一方面,提供了一种定位模型的训练方法,所述定位模型包括点云编码器、地图编码器和位姿求解器,所述方法包括:获取样本车辆的初始位姿、所述初始位姿对应的位姿真值、部署于所述样本车辆上的雷达采集的点云和用于定位所述样本车辆的多个地图元素;将所述点云输入所述点云编码器,以得到目标三维空间中的点云特征图;将所述多个地图元素的类别信息输入所述地图编码器,以便所述地图编码器:基于多种类别信息与多个语义编码的对应关系,确定所述多个地图元素中的每个地图元素的类别信息对应的语义编码,其中,所述多个语义编码是所述定位模型的参数;以及基于所述语义编码,确定所述地图元素的编码向量,其中,所述地图特征包括所述多个地图元素各自的编码向量;将所述多个地图元素中的属于目标类别的目标地图元素投影至所述目标三维空间中,以得到所述目标三维空间中的语义分割的真值图,其中,所述真值图中的第一像素的值指示该第一像素是否被所述目标地图元素所占据;基于所述点云特征图,确定语义分割的预测图,其中,所述预测图中的第二像素的值指示相应的特征向量与所述目标类别的语义编码的相似度,所述相应的特征向量为所述点云特征图中的与所述第二像素的位置相对应的像素的特征向量;将所述点云特征图、所述地图特征和所述初始位姿输入所述位姿求解器,以得到所述位姿求解器输出的预测位姿偏移量;基于所述预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,所述位姿偏移量真值为所述位姿真值与所述初始位姿的差;基于所述真值图和所述预测图,确定第二损失;至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失;以及基于所述整体损失,调整所述定位模型的参数。
根据本公开的一方面,提供了一种车辆定位装置,包括:获取模块,被配置为获取所述车辆的初始位姿、部署于所述车辆上的雷达采集的点云和用于定位所述车辆的多个地图元素;点云编码模块,被配置为对所述点云进行编码,以得到点云特征;地图编码模块,被配置为对所述多个地图元素进行编码,以得到地图特征;确定模块,被配置为基于所述点云特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量;以及叠加模块,被配置为将所述初始位姿与所述目标位姿偏移量进行叠加,以得到所述车辆的修正后的位姿。
根据本公开的一方面,提供了一种矢量化地图构建装置,包括:获取模块,被配置为获取点云式地图中的点云;划分模块,被配置为将所述点云式地图的投影平面划分为第一单位尺寸的多个二维栅格;提取模块,被配置为对于所述多个二维栅格中的任一二维栅格,基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面;以及存储模块,被配置为将所述平面存储为所述矢量化地图中的面元素。
根据本公开的一方面,提供了一种定位模型的训练装置,所述定位模型包括点云编码器、地图编码器和位姿求解器,所述装置包括:获取模块,被配置为获取样本车辆的初始位姿、所述初始位姿对应的位姿真值、部署于所述样本车辆上的雷达采集的点云和用于定位所述样本车辆的多个地图元素;第一输入模块,被配置为将所述点云输入所述点云编码器,以得到目标三维空间中的点云特征图;第二输入模块,被配置为将所述多个地图元素的类别信息输入所述地图编码器,以便所述地图编码器:基于多种类别信息与多个语义编码的对应关系,确定所述多个地图元素中的每个地图元素的类别信息对应的语义编码,其中,所述多个语义编码是所述定位模型的参数;以及基于所述语义编码,确定所述地图元素的编码向量,其中,所述地图特征包括所述多个地图元素各自的编码向量;语义投影模块,被配置为将所述多个地图元素中的属于目标类别的目标地图元素投影至所述目标三维空间中,以得到所述目标三维空间中的语义分割的真值图,其中,所述真值图中的第一像素的值指示该第一像素是否被所述目标地图元素所占据;语义预测模块,被配置为基于所述点云特征图,确定语义分割的预测图,其中,所述预测图中的第二像素的值指示相应的特征向量与所述目标类别的语义编码的相似度,所述相应的特征向量为所述点云特征图中的与所述第二像素的位置相对应的像素的特征向量;第三输入模块,被配置为将所述点云特征图、所述地图特征和所述初始位姿输入所述位姿求解器,以得到所述位姿求解器输出的预测位姿偏移量;第一确定模块,被配置为基于所述预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,所述位姿偏移量真值为所述位姿真值与所述初始位姿的差;第二确定模块,被配置为基于所述真值图和所述预测图,确定第二损失;确定模块,被配置为至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失;以及调整模块,被配置为基于所述整体损失,调整所述定位模型的参数。
根据本公开的一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一方面的方法。
根据本公开的一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行上述任一方面的方法。
根据本公开的一方面,提供了一种计算机程序产品,包括计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现上述任一方面的方法。
根据本公开的一方面,提供了一种自动驾驶车辆,包括上述电子设备。
根据本公开的一个或多个实施例,能够提高自动驾驶车辆的定位精度。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开一些实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
图2示出了根据本公开一些实施例的车辆定位方法的流程图;
图3示出了根据本公开一些实施例的基于经训练的定位模型的车辆定位过程的示意图;
图4示出了根据本公开一些实施例的矢量化地图构建方法的流程图;
图5示出了根据本公开一些实施例的定位模型的训练方法的流程图;
图6示出了根据本公开一些实施例的车辆定位装置的结构框图;
图7示出了根据本公开一些实施例的矢量化地图构建装置的结构框图;
图8示出了根据本公开一些实施例的定位模型的训练装置的结构框图;以及
图9示出了能够用于实现本公开实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个要素与另一要素区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
相关技术中,通常采用组合定位系统来对自动驾驶车辆进行定位。组合定位系统通常包括全球导航卫星系统(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被表示为 其中,表示实数域,/>是该面元素上的一点(例如中心点)的横纵坐标,/>是该面元的法向量在x-y平面的投影。面元素的提取方式将于下文的矢量化地图构建方法400中进行详述。
根据一些实施例,步骤S210中的用于进行车辆定位的多个地图元素可以通过基于初始位姿对矢量化地图中的多个地理元素进行筛选而得到。根据一些实施例,可以将位于初始位姿附近(即,到初始位姿的距离小于阈值)的地理元素作为用于车辆定位的地图元素。例如,将初始位姿附近100米范围内(即,到初始位姿的距离小于100米)的地理元素作为用于车辆定位的地图元素。
根据一些实施例,为了平衡计算效率和定位结果的可靠性,可以将到初始位姿的距离小于阈值的预设数量的地理元素作为用于车辆定位的地图元素。预设数量可以根据需要设定。例如,可以将预设数量设置为100、500、1000等。若初始位姿附近的地理元素的数量多于预设数量,则可以对附近的地理元素进行采样,以得到预设数量的地图元素。进一步地,对于道路元素,可以按照距离初始位姿由近到远的顺序采样。对于面元素,可以随机采样。面元素可能对应于物理世界中的不同类型的实体,例如建筑物的外表面、交通标识牌等。不同类型的面元素可以对车辆施加不同方向的定位约束。例如,建筑物的外表面(与车道线平行)可以约束车辆的左右方向的定位,交通标识牌可以约束车俩的前进方向的定位。对面元素进行随机采样可以使采样结果较为均匀地覆盖各种类型的面元素,从而保证车辆定位的准确性。若初始位姿附近的地理元素的数量少于预设数量,则可以通过复制已有的地理元素的方式将地理元素扩展至预设数量。
根据一些实施例,可以对步骤S210所获取的多个地图元素进行预处理,以提高后续车辆定位的计算效率和精度。
如上所述,从矢量化地图中获取的多个地图元素包括车道线、路沿、停止线、人行横道、交通标识牌、杆和面元素。根据一些实施例,对于车道线、路沿和停止线,可以将其打断成相同长度的线段,每个线段表示为一个四维向量向量中四个值分别为线段起点和终点的xy坐标。交通标识牌和杆表示为/>向量中的前两个值为交通标识牌的中心或杆的xy坐标,向量中的最后一个值表示交通标识牌的中心或杆相对于地面的高度。对于面元素,可以不进行预处理。即,面元素的表示方式可以与矢量化地图中的表示方式相同。
根据上述实施例,基于车辆的初始位姿,可以从矢量化地图中提取出位于车辆附近的多个矢量化的地图元素,形成地图元素集合M={(mi,si)|i=1,2,…K}。其中,K为地图元素的数量。例如,K=500。 为第i个地图元素的位置信息,其中,/>是地图元素的端点。/>是地图元素的额外几何信息,根据不同地图元素的类别具有不同含义:对于车道线、路沿、人行横道、停止线来说,(ai,bi)表示另一个端点;对于杆、牌来说,(ai,bi)表示高度;对于面元素来说,(ai,bi)表示法向量在xy平面的投影。si∈{1,2,…,Ns}表示第i个地图元素的类别信息,即语义信息。Ns为类别信息的数量。如上文所述,地图元素包括车道线、路沿、停止线、人行横道、交通标识牌、杆和面元素七种类型,因此Ns=7。
在步骤S220中,对点云进行编码,以得到点云特征。
根据一些实施例,可以在目标三维空间中完成对点云的编码。目标三维空间例如可以是车辆的鸟瞰视角(Bird’s Eye View,BEV)空间。鸟瞰视角指的是俯视视角。鸟瞰视角空间指的是以车辆的位置(即初始位姿)为原点的右手直角笛卡尔坐标系下的空间。在一些实施例中,鸟瞰视角空间可以以车辆的位置为原点,以车辆的右向为x轴正方向,以车辆的前进方向为y轴正方向,以车辆的垂直上方为z轴正方向。在另一些实施例中,鸟瞰视角空间也可以以车辆的位置为原点,以车辆的前进方向为x轴正方向,以车辆的左向为y轴正方向,以车辆的垂直上方为z轴正方向。
根据一些实施例,步骤S220包括步骤S221-S223。
在步骤S221中,基于初始位姿,确定用于提取点云特征的空间范围。
在步骤S222中,将上述空间范围划分为单位尺寸的多个网格。
在步骤S223中,对于上述多个网格中的任一网格,提取该网格中的点云的特征向量,由此得到点云特征。点云特征包括由所述多个网格各自的特征向量所组成的点云特征图,点云特征图中的多个像素与多个网格分别对应(即,每个像素对应于一个网格),多个像素中的任一像素的通道数等于特征向量的维度。
根据上述实施例,基于车辆的初始位姿对点云进行筛选和编码,能够提高编码效率和定位精度。
根据一些实施例,在步骤S221中,可以以初始位姿为原点的局部空间确定为用于提取点云特征的空间范围,并利用该空间范围内的点云来生成点云特征。该空间范围例如可以是以初始位姿为原点,车辆前进方向(x轴正方向)[-80m,80m]、车辆左向(y轴正方向)[-80m,80m],车辆上方(z轴正方向)[-10m,10m]的空间范围。
在步骤S222中,将上述空间范围划分为单位尺寸的多个网格。例如,可以将上述空间范围划分为截面(平行于xy平面)为正方形(例如0.5m*0.5m)的多个柱状空间。每个柱状空间即是一个网格。经过上述划分,车辆附近的点云将落入相应的网格中。每个网格对应于点云特征图中的一个像素。点云特征图可以是BEV空间中的特征图。点云特征图的分辨率(即,BEV空间的分辨率)指的是单个像素(即,BEV空间中的一个网格)对应的物理世界中的长度,即上述柱状空间的截面的边长,例如0.5m每像素。
可以理解,不同网格所包括的点的数量不同。根据一些实施例,为了提高计算效率,可以对各网格的点云进行预处理,以使各网格包括相同数量的点。将网格所包括的点的数量记为N。若某个网格的点的数量大于N,则采用随机采样的方式从中选取N个点;若某个网格的点的数量小于N,则通过补零的方式填充至N个点。
根据一些实施例,在步骤S223中,对于每个网格,提取该网格中的点云的特征向量。
根据一些实施例,可以将每个点初始化为一个D维向量。例如,D=9,每个点的初始化向量为(x,y,z,r,xc,yc,zc,xp,yp),其中x,y,z,r分别表示该点的三维坐标和反射强度;xc,yc,zc表示该点到其所在的网格中的所有点的算术平均值点的距离,xp,yp表示该点到其所在的网格的x,y中心的偏移值。根据上述实施例,可以将点云编码为维度为(D,P,N)的稠密张量。其中,D为单个点的初始化向量的维度,P为网格的数量,N为每个网格所包括的点的数量。
根据一些实施例,可以利用经训练的初始编码网络对每个D维向量进行线性映射,得到一个C维向量(例如,C=128),从而将张量(D,P,N)映射为张量(C,P,N)。进一步地,对(C,P,N)进行池化操作,得到张量(C,P)。
进一步地,可以将张量(C,P)映射为尺寸为H*W*C的点云特征图 每个网格p对应于点云特征图中的一个像素(h,w)。其中,H、W、C分别为点云特征图的高、宽和通道数。具体地,H为x轴的点云范围与点云特征图的分辨率的商;W为y轴的点云范围与点云特征图的分辨率的商;C为每个像素对应的特征向量的维度。例如,在上文的实施例中,x轴、y轴的点云范围均为160m(即,[-80m,80m]),点云特征图的分辨率为0.5m每像素,C=128,相应地,点云特征图的H=W=160/0.5=320,点云特征图的尺寸为320*320*128。
根据一些实施例,可以将点云特征图FL作为点云特征。
根据另一些实施例,也可以将点云特征图FL输入经训练的残差网络,以对点云特征图FL进行进一步编码,得到点云特征图将点云特征图FB作为点云特征。
根据一些实施例,上述初始编码网络和残差网络可以组成点云编码器。相应地,在步骤S223中,将各网格的点云输入经训练的点云编码器,可以得到点云编码器输出的点云特征。点云编码器可以是定位模型中的一个模块。定位模型的训练方法将于下文的方法500中进行详述。
在步骤S230中,对多个地图元素进行编码,以得到地图特征。
如上文所述,多个地图元素通过基于初始位姿对矢量化地图中的多个地理元素进行筛选得到。矢量化地图中的地理元素包括道路元素和几何元素,相应地,经筛选所得到的多个地图元素也包括至少一个道路元素和至少一个几何元素。其中,至少一个道路元素包括车道线、路沿、人行横道、停止线、交通标识牌或杆中的任一项,至少一个几何元素包括面元素。
根据一些实施例,面元素通过提取点云式地图中的平面而得到。面元素的提取方式将于下文的矢量化地图构建方法400中进行详述。
根据一些实施例,步骤S230可以包括步骤S231-S234。
对于多个地图元素中的任一地图元素,执行步骤S231-S233。
在步骤S231中,对地图元素的位置信息进行编码,以得到位置编码。
在步骤S232中,对地图元素的类别信息进行编码,以得到语义编码。
在步骤S233中,对位置编码和语义编码进行融合,以得到地图元素的编码向量。
在步骤S234中,基于多个地图元素各自的编码向量,生成地图特征。
根据上述实施例,对地图元素的位置信息和类别信息分别进行编码,并将编码结果进行融合,能够提高对地图元素的表达能力。
根据一些实施例,如上文所述,地图元素包括道路元素和面元素。第i个地图元素的位置信息mi被表示为一个四维向量。由于地图元素的位置信息mi通常表示在全局坐标系(例如UTM坐标系)下,因此需要根据下式对其进行归一化,以将其表示在以车辆为原点的局部坐标系下:
式(1)中,为归一化后的位置信息,Oxy=[xo yo]T为初始位姿在全局坐标系下的xy坐标,Rxy=[xr yr]T为点云的xy方向的范围。
根据一些实施例,在步骤S231中,可以采用经训练的位置编码器对归一化后的位置信息进行编码。位置编码器例如可以实现为多层感知机(Multi-Layer Perceptron,MLP)。位置编码器的编码过程例如可以表示为下式(2):
其中,为第i个地图元素的位置编码,h()为经训练的位置编码器。C为位置编码的维度。例如,C=128。
根据一些实施例,在步骤S232中,可以基于多种类别信息与多个语义编码的对应关系,确定地图元素的语义编码。其中,多个语义编码是定位模型的参数并且通过对定位模型进行训练而得到。
根据上述实施例,语义编码可训练,由此能够提升语义编码对地图元素类别信息的表达能力,从而提高定位精度。语义编码的训练方式将于下文实施例的定位模型训练方法500中进行详述。
语义编码的集合可以表示为其中,Ns为语义编码的数量,即,类别信息的数量。如上文所述,地图元素包括车道线、路沿、人行横道、停止线、交通标识牌、杆和面元素,共七种,相应地,Ns=7,类别信息的编号1~7分别对应于上述七种地图元素。
将第i个地图元素的类别信息记为si,则第i个地图元素的语义编码为C为语义编码的维度(与位置编码的维度相同),例如,C=128。
在通过步骤S231和S232得到地图元素的位置编码和语义编码后,在步骤S233中,通过对位置编码和语义编码进行融合,可以得到地图元素的编码向量。
根据一些实施例,可以将位置编码与语义编码的和作为地图元素的编码向量。即:
其中,ei为第i个地图元素的编码向量。
根据另一些实施例,也可以将位置编码与语义编码的加权和作为地图元素的编码向量。
在通过步骤S233得到各地图元素的编码向量后,在步骤S234中,可以基于多个地图元素各自的编码向量,生成地图特征。
根据一些实施例,可以将多个地图元素各自的编码向量进行组合以生成地图特征,即,地图特征为各地图元素的编码向量的集合:
根据另一些实施例,对于多个地图元素中的任一地图元素,可以基于注意力机制,利用点云特征对该地图元素的编码向量进行更新,将各地图元素的更新后的编码向量组合为地图特征。即,地图特征为各地图元素的更新后的编码向量的集合。
注意力机制能够捕捉特征之间的相关性。利用注意力机制更新地图元素的编码向量,能够提高编码向量对地图元素的表达能力和准确性。
根据一些实施例,可以以每个地图元素的编码向量为查询向量(Query),基于注意力机制,得到该地图元素与点云特征图中的各特征向量的相关度(即,注意力权重)。然后基于该地图元素与点云特征图中的各特征向量的相关度,将该地图元素的编码向量与各特征向量进行融合,以得到该地图元素的更新后的编码向量。
根据一些实施例,地图元素的编码向量的更新可以利用经训练的变换解码器(Transformer Decoder)实现。具体地,可以将点云特征和各地图元素的编码向量输入经训练的变换解码器,以得到变换解码器输出的各地图元素更新后的编码向量。变换解码器可以作为定位模型中的一个模块,根据下文所述的方法500训练得出。
在分别通过步骤S220和S230得到点云特征和地图特征后,在步骤S240中,基于点云特征和地图特征,确定用于修正初始位姿的位姿偏移量。
根据一些实施例,可以通过将点云特征与地图特征进行匹配来确定目标位姿偏移量。根据该实施例,通过将在线的点云特征与离线的地图特征进行匹配来估计目标位姿偏移量,可解释性强,能够提高定位精度。
根据一些实施例,步骤S240可以包括步骤S241-S243。
在步骤S241中,在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量。
在步骤S242中,对于多个候选位姿偏移量中的任一候选位姿偏移量,确定在该候选位姿偏移量下点云特征与地图特征的匹配度。
在步骤S243中,基于多个候选位姿偏移量各自对应的匹配度,对多个候选位姿偏移量进行融合,以得到目标位姿偏移量。
根据上述实施例,根据点云特征与地图特征的匹配度来对各候选位姿偏移量进行融合,可解释性强,容易分析定位失败的原因以及探索可能进一步提高定位精度的方向。
根据一些实施例,针对步骤S241,可以在偏移量采样范围内按照一定的采样间隔均匀采样,以得到多个候选位姿偏移量。
例如,可以以初始位姿为中心,沿着x、y和偏航角(yaw)方向按照采样间隔d进行均匀采样,以得到多个候选位姿偏移量,记为 其中NH是每个方向采样的值的数量。例如,NH=7,相应地,可以采样得到343个候选位姿偏移量。对于x和y方向,d例如可以取0.5m;对于yaw方向,d例如可以取0.5°。
根据一些实施例,如上文所述,点云特征包括目标三维空间的点云特征图,地图特征包括多个地图元素各自的编码向量。相应地,步骤S242可以包括步骤S2421-S2424。
在步骤S2421中,将初始位姿与候选位姿偏移量进行叠加,以得到候选位姿。
对于多个地图元素中的任一地图元素,执行步骤S2422和S2423。
在步骤S2422中,基于候选位姿,将地图元素投影至目标三维空间(BEV空间)中,以得到地图元素对应的点云特征图中的特征向量。
在步骤S2423中,计算地图元素的编码向量与相应的特征向量的相似度。
在步骤S2424中,基于多个地图元素各自对应的相似度,确定在上述候选位姿偏移量下点云特征与地图特征的匹配度。
针对步骤S2421,例如,初始位姿为其中/>表示特殊欧氏群。候选位姿偏移量为ΔTpqr,则候选位姿Tpqr为/>其中,/>表示位姿之间广义的加法运算,即特殊欧氏群/>与实数域/>之间的加法运算,将/>空间中x、y和yaw方向的位姿偏移量加到/>空间中。
根据一些实施例,在步骤S2422中,可以利用候选位姿Tpqr,将第i个地图元素的坐标投影至BEV空间中,以得到第i个地图元素在BEV空间的投影坐标进一步地,通过插值算法(例如双线性插值算法)对点云特征图/>进行插值,可以得到点云特征图在该投影坐标/>处的特征向量/>
具体地,对于第i个地图元素的端点(xi,yi),首先通过端点(xi,yi)和BEV空间的垂直线相交来找到该地图元素的端点在BEV空间的z坐标。记端点(xi,yi)和BEV空间的交点为pi=(xi,yi,zi),则pi满足下述等式:
(pi-tpqr)⊙n=0 (5)
其中,⊙表示点积,Rpqr和tpqr分别是候选位姿Tpqr中的旋转矩阵和平移向量,基于等式(5),可以计算出交点pi的z坐标如下:
随后,基于候选位姿,将交点pi由全局坐标系投影至雷达坐标系中,得到第i个地图元素的端点(xi,yi)在雷达坐标系下的坐标
随后,对进行归一化,以得到端点(xi,yi)在BEV空间的坐标:
其中,xmin、ymin分别为参与编码的点云的x坐标、y坐标的最小值(即,BEV空间在x、y方向上的最小边界),R为BEV空间的分辨率。
在获得端点在BEV空间的投影坐标/>后,通过在BEV空间的点云特征图/>上进行双线性插值,得到第i个地图元素对应的BEV特征向量
根据一些实施例,在步骤S2423中,地图元素的编码向量与相应的特征向量的相似度可以基于二者的点积计算得出。例如,第i个地图元素的编码向量ei与相应的特征向量的相似度Si(Tpqr)可以根据下式(9)计算:
其中,⊙表示点积,g()表示一个可学习的多层感知机(MLP)。
根据一些实施例,在步骤S2424中,可以将各地图元素的相似度的和或平均值确定为在候选位姿偏移量下点云特征与地图特征的匹配度。
例如,在候选位姿偏移量ΔTpqr下(即,在候选位姿Tpqr下)点云特征与地图特征的匹配度可以根据下式(10)计算。
其中,K为地图元素的数量。
根据上述步骤S242,可以得到在每个候选位姿偏移量下点云特征与地图特征的匹配度。随后,在步骤S243中,可以基于多个候选位姿偏移量各自对应的匹配度,对多个候选位姿偏移量进行融合,以得到目标位姿偏移量。
根据一些实施例,步骤S243可以包括步骤S2431和步骤S2432。
在步骤S2431中,对于多个候选位姿偏移量中的任一候选位姿偏移量,基于该候选位姿偏移量的匹配度与多个候选位姿偏移量的匹配度之和的比值,确定该候选位姿偏移量的概率。
在步骤S2432中,将多个候选位姿偏移量的期望确定为目标位姿偏移量。
根据上述实施例,基于匹配度计算各候选位姿偏移量的概率(后验概率),按照后验概率对各候选位姿偏移量进行融合,可解释性强,容易分析定位失败的原因以及探索可能进一步提高定位精度的方向。
根据一些实施例,候选位姿偏移量在当前定位条件X下的概率P(Tpqr|X)可以根据下式(11)计算:
其中,X={M,FB,E}。
相应地,目标位姿偏移量ΔTest及其协方差Σest分别根据下式(12)和(13)计算:
/>
上式中,E和Var分别表示期望和方差。
根据一些实施例,步骤S240可以通过经训练的位姿求解器来实现。具体地,可以将点云特征、地图特征和初始位姿输入经训练的位姿求解器,以得到位姿求解器输出的目标位姿偏移量。
在通过步骤S240得到目标位姿偏移量后,在步骤S250中,可以基于目标位姿偏移量ΔTest对初始位姿Tinit进行修正,得到修正后的位姿Test:
本公开实施例的车辆定位方法200可以利用经训练的定位模型来实施。图3示出了根据本公开一些实施例的基于经训练的定位模型300的车辆定位过程的示意图。
如图3所示,定位模型300包括点云编码器310、地图编码器320和位姿求解器330。定位模型300例如可以采用下文所述的定位模型的训练方法500训练得出。
在图3所示的车辆定位过程中,首先,获取雷达采集的点云341、车辆的六自由度初始位姿342(包括三维坐标和三个姿态角)和用于定位车辆的矢量化地图343。初始位姿342可以是当前时刻组合定位系统输出的位姿,也可以是上一时刻的修正后的位姿。
基于初始位姿342对点云341进行筛选,仅保留初始位姿342附近的点云。例如,可以仅保留以初始位姿342为原点,车辆前进方向(x轴正方向)[-80m,80m]、车辆左向(y轴正方向)[-80m,80m],车辆上方(z轴正方向)[-10m,10m]的范围内的点云。进一步地,可以将点云体素化,即,将空间划分为互不相交的多个块,每个块内最多保留N个点。例如,N=32。
从矢量化地图343中筛选出位于初始位姿342附近的地图元素,并获取地图元素的位置信息和语义信息(即,类别信息)。
将筛选后的点云341输入点云编码器310,以得到点云编码器310输出的点云特征351。点云特征351可以是BEV空间下的点云特征图。
将基于初始位姿342从矢量化地图343中筛选出的各地图元素的位置信息和语义信息输入地图编码器320,以得到地图编码器320输出的地图特征352。
地图编码器320可以进一步包括位置编码器和语义编码器。位置编码器用于对各地图元素的位置信息进行编码,得到位置编码。语义编码器用于对各地图元素的语义信息进行编码,以得到语义编码。将位置编码和语义编码相加,可以得到各地图元素的编码向量,从而得到地图特征352。
位姿求解器330基于点云特征351和地图特征352,确定用于修正初始位姿342的目标位姿偏移量361。
将初始位姿342与目标位姿偏移量361进行叠加,即可得到车辆的修正后的位姿。
根据本公开的实施例,还提供了一种矢量化地图构建方法。根据该方法构建的矢量化地图可以被应用于上述车辆定位方法200中。
图4示出了根据本公开实施例的矢量化地图构建方法400的流程图。方法400的执行主体通常是服务器(例如图1中所示的服务器120)。在一些情况下,方法400的执行主体也可以是自动驾驶车辆(例如图1中所示的机动车辆110)。如图4所示,方法400包括步骤S410-S440。
在步骤S410中,获取点云式地图中的点云。
在步骤S420中,将点云式地图的投影平面划分为第一单位尺寸的多个二维栅格。
对于多个二维栅格中的任一二维栅格,执行步骤S430和S440。
在步骤S430中,基于二维栅格对应的三维空间内的点云,提取该二维栅格中的平面。
在步骤S440中,将该平面存储为矢量化地图中的面元素。
根据本公开的实施例,从点云式地图中提取平面,并将所提取的平面存储为矢量化地图中的面元素,由此能够提高矢量化地图中的地理元素的丰富度和稠密度,从而提高车辆的定位精度。
矢量化地图由于仅包含稀疏的矢量信息,相较于包含稠密点云的点云式地图来说,数据量大大减小,且便于更新。将矢量化地图(而不是点云式地图)存储至车端,能够大大降低车端的存储成本,提高车辆定位方法的可用性,满足有限存储资源下的大范围定位需求。经实验验证,矢量化地图的体积大小约为0.35M/km。相较于点云式地图来说,体积减小了97.5%。
以下详细介绍方法400的各个步骤。
在步骤S410中,获取点云式地图中的点云。
点云式地图以稠密点云来表示地理元素。矢量化地图则以标识、名称、位置、属性以及相互之间的拓扑关系等信息来表示地理元素。
在步骤S420中,将点云式地图的投影平面划分为第一单位尺寸的多个二维栅格。
点云式地图的投影平面指的是xy平面。第一单位尺寸可以根据需要进行设置。例如,可以将第一单位尺寸设置为1m*1m、2m*2m等。
在步骤S430中,基于二维栅格对应的三维空间内的点云,提取该二维栅格中的平面。二维栅格对应的三维空间指的是以该二维栅格为截面的柱状空间。
根据一些实施例,步骤S430可以包括步骤S431-S434。
在步骤S431中,沿高度方向将三维空间划分为第二单位尺寸的多个三维栅格。第二单位尺寸可以根据需要进行设置。例如,可以将第二单位尺寸设置为1m*1m*1m、2m*2m*2m等。
对于多个三维栅格中的任一三维栅格,执行步骤S432和S433。
在步骤S432中,基于三维栅格中的点云,计算三维栅格中包括平面的置信度。
在步骤S433中,响应于置信度大于阈值,提取三维栅格中的平面。阈值可以根据需要进行设置。例如,可以将阈值设置为10、15等。
在步骤S434中,将多个三维栅格中的置信度最大的平面确定为二维栅格对应的平面。
根据一些实施例,针对步骤S432,三维栅格中包括平面的置信度可以根据以下步骤计算:对三维栅格中的点云的协方差矩阵进行奇异值分解,以得到第一奇异值λ1、第二奇异值λ2和第三奇异值λ3,其中,第一奇异值小于或等于第二奇异值,第二奇异值小于或等于第三奇异值,即,λ1≤λ2≤λ3。将第二奇异值与第一奇异值的比值λ2/λ1确定为置信度s,即,s=λ2/λ1。
根据上述实施例,如果λ2/λ1很大,可以认为点云数据沿λ1对应的特征向量方向的变化(方差)相对于其他方向来说很小,可以忽略不计,因此点云能够近似为一个平面。λ2/λ1能够指示三维栅格中包括平面的可能性,因此,可以将其作为三维栅格中包括平面的置信度。
在步骤S440中,将该平面存储为矢量化地图中的面元素。根据一些实施例,可以确定平面对应的面元素的标识,将平面上的一点的坐标和平面的单位法向量与该标识关联存储。
根据一些实施例,面元素的标识可以是按照预设规则生成的。可以理解,矢量化地图中的各面元素的标识各不相同。
根据一些实施例,可以将平面所属的三维栅格内的点云的重心作为平面的中心点,并存储其坐标。平面的单位法向量通过对第一奇异值λ1对应的特征向量进行单位化得到。
在矢量化地图中,面元素P例如可以被表示为其中,/>表示实数域,/>是该面元素上的一点(例如中心点)的横纵坐标,/>是该面元的法向量在x-y平面的投影。
根据一些实施例,除了面元素之外,矢量化地图中还以矢量的形式存储有其他地理元素。这些地理元素包括道路元素,例如车道线、路沿、人行横道、停止线、交通标识牌和杆等。
在矢量化地图中,车道线、路沿、停止线以线段的形式表示,线段的端点为UTM坐标系下的二维xy坐标。人行横道表示为一个多边形,多边形的顶点用UTM坐标系下的二维xy坐标表示。交通标识牌表示为与xy平面垂直的长方形,顶点为三维UTM坐标,其中z坐标采用相对于地面的高度表示。杆用UTM坐标系下的二维xy坐标和杆的高度表示。
根据本公开的实施例,还提供了一种定位模型的训练方法。根据该方法训练得到的定位模型可以被应用于上述车辆定位方法200中。
图5示出了根据本公开实施例的定位模型的训练方法500的流程图。方法500的执行主体通常是服务器(例如图1中所示的服务器120)。在一些情况下,方法500的执行主体也可以是自动驾驶车辆(例如图1中所示的机动车辆110)。本公开实施例的定位模型包括点云编码器、地图编码器和位姿求解器。定位模型的一个示例性结构可以参见图3。
如图5所示,方法500包括步骤S501-S510。
在步骤S501中,获取样本车辆的初始位姿、初始位姿对应的位姿真值、部署于样本车辆上的雷达采集的点云和用于定位样本车辆的多个地图元素。
在步骤S502中,将点云输入点云编码器,以得到目标三维空间中的点云特征图。
在步骤S503中,将多个地图元素各自的类别信息输入地图编码器,以便地图编码器:
基于多种类别信息与多个语义编码的对应关系,确定多个地图元素中的每个地图元素的类别信息对应的语义编码,其中,多个语义编码是定位模型的参数;
基于语义编码,确定地图元素的编码向量;以及
基于多个地图元素各自的编码向量,生成地图特征。
在步骤S504中,将多个地图元素中的属于目标类别的目标地图元素投影至目标三维空间中,以得到目标三维空间中的语义分割的真值图。其中,真值图中的第一像素的值指示该第一像素是否被目标地图元素所占据。
在步骤S505中,基于点云特征图,确定语义分割的预测图。其中,预测图中的第二像素的值指示相应的特征向量与目标类别的语义编码的相似度,相应的特征向量为点云特征图中的与第二像素的位置相对应的像素的特征向量。
在步骤S506中,将点云特征图、地图特征和初始位姿输入位姿求解器,以得到位姿求解器输出的预测位姿偏移量。
在步骤S507中,基于预测位姿偏移量和位姿偏移量真值,确定第一损失。其中,位姿偏移量真值为位姿真值与初始位姿的差。
在步骤S508中,基于语义分割的真值图和预测图,确定第二损失。
在步骤S509中,至少基于第一损失和第二损失,确定定位模型的整体损失。
在步骤S510中,基于整体损失,调整定位模型的参数。
根据本公开的实施例,第一损失能够引导定位模型输出更加准确的预测位姿偏移量。第二损失能够提升语义编码对地图元素类别信息的表达能力。基于第一损失和第二损失确定定位模型的整体损失并据此调整定位模型的参数,能够提高定位模型的定位精度。
此外,综合考虑第一损失和第二损失,有助于使定位模型更快收敛。
根据一些实施例,初始位姿可以是当前时刻样本车辆的组合定位系统输出的位姿,也可以是上一时刻的修正后的位姿。
根据一些实施例,用于定位样本车辆的多个地图元素可以是从矢量化地图中筛选出来的位于初始位姿附近的地理元素。多个地图元素例如包括道路元素(车道线、路沿、人行横道、停止线、交通标识牌、杆等)和面元素。
步骤S502、S503与上文描述的步骤S220、S230分别对应。步骤S502、S503中的点云编码器和地图编码器分别用于执行步骤S220和S230。点云编码器和地图编码器的内部处理逻辑参见上文对步骤S220、S230的相关描述,此处不再赘述。
根据一些实施例,针对步骤S504,目标类别可以是任一类别。
例如,对于目标类别j,将属于类别j的目标地图元素投影到BEV空间中,得到类别j在点云特征图中的语义分割的真值图其中,/>表示真值图中的第一像素(h,w)被属于类别j的目标地图元素所占据,/>表示真值图中的第一像素(h,w)未被属于类别j的目标地图元素所占据。
语义编码的训练目标是使第j种类别的语义编码和BEV语义分割的真值图中/>处的BEV特征向量/>尽可能接近。
根据一些实施例,类别j在点云特征图中的语义分割的预测图Sj根据下式构建:
其中,Sj(h,w)表示类别j的预测图Sj中的坐标为(h,w)的第二像素的值,FB(h,w)为点云特征图FB中的坐标为(h,w)的像素对应的特征向量,为类别j的语义编码,⊙表示点积。sigmoid()是一个数学函数,其将实数域的值映射到(0,1)范围内。FB(h,w)和/>的相似度越高,Sj(h,w)的值越大,越接近1。定位模型的一个训练目标是最小化各类别j的语义分割的真值图/>和预测图Sj的差异,从而使定位模型学习到语义编码集合Esem和点云特征图FB之间的对应关系。
步骤S506中的位姿求解器用于执行上文所描述的步骤S240。位姿求解器的内部处理逻辑参见上文对步骤S240的相关描述,此处不再赘述。
步骤S507中的第一损失为位姿偏移量的均方误差损失。根据一些实施例,第一损失Lrmse可以根据以下公式计算:
其中,矩阵U可以由SVD分解协方差Σest=USUT得到,是一个对角矩阵,矩阵的对角元素值通过对对角矩阵S-1的对角元素进行归一化得到,ΔTest为预测位姿偏移量,ΔTgt为位姿偏移量真值,即位姿真值与初始位姿的差。
需要说明的是,如果直接将ΔTest与ΔTgt的二范数作为第一损失,那么每个方向对定位的影响都相同。但是在实际情况中,不同方向对定位的作用是不同的。例如在横向退化(比如隧道,缺少x轴的横向约束)的场景中,横向的定位误差会比较大,也难以通过优化来提高其精度。因此在这种情况下,希望降低横向的权重,从而降低横向的不确定性对定位精度的影响。方向的权重通过协方差来确定。根据式(16),某个方向的协方差越大,不确定性越大,该方向的权重设置得越小,对第一损失的影响越小。
步骤S508中的第二损失为语义监督损失。根据一些实施例,语义监督损失可以根据下式计算:
α=0.8,γ=2.0 (21)
其中,NS为类别信息的数量。
根据第二损失语义编码可训练,由此能够提升语义编码对地图元素类别信息的表达能力,从而提高定位精度。
根据一些实施例,在步骤S509中,可以将第一损失Lrmse与第二损失的加权和作为定位模型的整体损失。
根据一些实施例,步骤S506进一步包括:将点云特征图、地图特征和初始位姿输入位姿求解器,以便位姿求解器:在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量;对于多个候选位姿偏移量中的任一候选位姿偏移量,确定在该候选位姿偏移量下点云特征图与地图特征的匹配度;以及基于多个候选位姿偏移量各自对应的匹配度,对多个候选位姿偏移量进行融合,以得到并输出预测位姿偏移量。位姿求解器的上述处理逻辑可以参考上文对步骤S241-S243的描述,此处不再赘述。
相应地,方法500还包括:基于多个候选位姿偏移量各自对应的匹配度,确定第三损失。其中,第三损失指示位姿真值的预测概率分布与位姿真值的真实概率分布的差异。
第三损失为位姿的KL(Kullback-Leibler)散度损失,该损失来自于KL散度DKL(t(T)||P(T|X)),其中t(T)表示位姿的真实概率分布。该损失函数的目标是指导后验概率P(T|X)的分布接近真实概率分布t(T),从而避免多峰分布。在丢掉KL散度的常数项后,KL散度损失函数定义如下:
其中,P(X|T)是位姿的似然函数,满足P(X|T)∝P(T|X),可以通过式(11)计算得到。进一步定义t(T)=δ(T-Tgt),其中δ(·)表示Dirac delta函数,从而式(22)简化为:
利用蒙特卡洛积分,可以得到位姿的KL散度损失的最终表达式:
其中,S(Tgt)表示在位姿真值下点云特征图与地图特征的匹配度,可以参考上式(10)进行计算。
第三损失能够指示位姿真值的预测概率分布与位姿真值的真实概率分布的差异。位姿真值的预测概率分布为多个候选位姿偏移量的概率分布,即上式(11)所计算出的概率分布。位姿真值的真实概率分布为在位姿真值处的概率为1的Dirac分布(尖峰分布)。
根据一些实施例,定位模型的整体损失可以是第一损失Lrmse、第二损失和第三损失/>的加权和。即:
其中,α1~α3分别为第一损失~第三损失的权重。
在确定了定位模型的整体损失后,根据整体损失,利用误差的反向传播方法来调整定位模型的参数。定位模型的参数包括语义编码、多层感知机中的权重、卷积核中的权重等。
可以理解,步骤S501-S510可以循环执行多次,直至达到预设的终止条件为止。终止条件例如可以是整体损失小于损失阈值、循环次数达到次数阈值、整体损失收敛等。
根据本公开实施例的定位模型是一种端到端的模型,参数量不高,易于训练和部署,无需针对不同的环境修改算法的超参数,可扩展性较强。该定位模型能够应用于量产自动驾驶的解决方案中,实现仅依赖轻量的矢量化地图的车辆高精度定位。
本公开实施例的车辆定位方法、矢量化地图以及定位模型能够为自动驾驶车辆提供自主定位功能。具体应用领域包括自主泊车、辅助驾驶、清洁环卫、自动配送、自动驾驶出租车、自动驾驶卡车、自动驾驶公交车等。
根据本公开的实施例,还提供了一种车辆定位装置。图6示出了根据本公开实施例的车辆定位装置600的结构框图。如图6所示,装置600包括获取模块610、点云编码模块620、地图编码模块630、确定模块640和叠加模块650。
获取模块610被配置为获取所述车辆的初始位姿、部署于所述车辆上的雷达采集的点云和用于定位所述车辆的多个地图元素。
点云编码模块620被配置为对所述点云进行编码,以得到点云特征。
地图编码模块630被配置为对所述多个地图元素进行编码,以得到地图特征。
确定模块640被配置为基于所述点云特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量。
叠加模块650被配置为将所述初始位姿与所述目标位姿偏移量进行叠加,以得到所述车辆的修正后的位姿。
根据本公开的实施例,点云包含准确的深度信息,因此能够用于实现高精度定位。基于点云特征和地图特征确定目标位姿偏移量,并基于目标位姿偏移量对初始位姿进行修正,能够提高车辆的定位精度,即使在复杂环境中仍能实现车辆的准确定位。
根据一些实施例,所述点云编码模块包括:第一确定单元,被配置为基于所述初始位姿,确定用于提取所述点云特征的空间范围;划分单元,被配置为将所述空间范围划分为单位尺寸的多个网格;提取单元,被配置为对于所述多个网格中的任一网格,提取所述网格中的点云的特征向量,其中,所述点云特征包括由所述多个网格各自的特征向量所组成的点云特征图,所述点云特征图中的多个像素与所述多个网格分别对应,所述多个像素中的任一像素的通道数等于所述特征向量的维度。
根据一些实施例,所述地图编码模块包括:编码单元,被配置为对于所述多个地图元素中的任一地图元素:对所述地图元素的位置信息进行编码,以得到位置编码;对所述地图元素的类别信息进行编码,以得到语义编码;以及对所述位置编码和所述语义编码进行融合,以得到所述地图元素的编码向量;以及生成单元,被配置为基于所述多个地图元素各自的编码向量,生成所述地图特征。
根据一些实施例,所述编码单元进一步被配置为:基于多种类别信息与多个语义编码的对应关系,确定所述地图元素的所述语义编码,其中,所述多个语义编码是定位模型的参数并且通过对所述定位模型进行训练而得到。
根据一些实施例,所述生成单元进一步被配置为:对于所述多个地图元素中的任一地图元素,基于注意力机制,利用所述点云特征对所述地图元素的编码向量进行更新,其中,所述地图特征包括所述多个地图元素各自的更新后的编码向量。
根据一些实施例,所述确定模块进一步被配置为:通过将所述点云特征与所述地图特征进行匹配,确定所述目标位姿偏移量。
根据一些实施例,所述确定模块包括:采样单元,被配置为在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量;第二确定单元,被配置为对于所述多个候选位姿偏移量中的任一候选位姿偏移量,确定在所述候选位姿偏移量下所述点云特征与所述地图特征的匹配度;以及融合单元,被配置为基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到所述目标位姿偏移量。
根据一些实施例,所述点云特征包括目标三维空间的点云特征图,所述地图特征包括所述多个地图元素各自的编码向量,并且其中,所述第二确定单元进一步被配置为:将所述初始位姿与所述候选位姿偏移量进行叠加,以得到候选位姿;对于所述多个地图元素中的任一地图元素:基于所述候选位姿,将所述地图元素投影至所述目标三维空间中,以得到所述地图元素对应的所述点云特征图中的特征向量;以及计算所述地图元素的编码向量与所述特征向量的相似度;以及基于所述多个地图元素各自对应的相似度,确定在所述候选位姿偏移量下所述点云特征与所述地图特征的匹配度。
根据一些实施例,所述目标三维空间为所述车辆的鸟瞰视角空间。
根据一些实施例,所述融合单元进一步被配置为:对于所述多个候选位姿偏移量中的任一候选位姿偏移量,基于所述候选位姿偏移量的匹配度与所述多个候选位姿偏移量的匹配度之和的比值,确定所述候选位姿偏移量的概率;以及将所述多个候选位姿偏移量的期望确定为所述目标位姿偏移量。
根据一些实施例,所述确定模块进一步被配置为:将所述点云特征、所述地图特征和所述初始位姿输入经训练的位姿求解器,以得到所述位姿求解器输出的所述目标位姿偏移量。
根据一些实施例,所述多个地图元素通过基于所述初始位姿对矢量化地图中的多个地理元素进行筛选而得到。
根据一些实施例,所述多个地图元素包括至少一个道路元素和至少一个几何元素;所述至少一个道路元素包括以下至少一项:车道线、路沿、人行横道、停止线、交通标识牌或杆;所述至少一个几何元素包括面元素。
根据一些实施例,所述面元素通过提取点云式地图中的平面而得到。
根据一些实施例,所述初始位姿为所述车辆的组合定位系统输出的位姿。
应当理解,图6中所示的装置600的各个模块或单元可以与图2所描述的方法200中的各个步骤相对应。由此,上述方法200中所描述的操作、特征和优点同样适用于装置600及其包括的各个模块以及单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
根据本公开的实施例,还提供了一种矢量化地图构建装置。图7示出了根据本公开实施例的矢量化地图构建装置700的结构框图。如图7所示,装置700包括获取模块710、划分模块720、提取模块730和存储模块740。
获取模块710被配置为获取点云式地图中的点云。
划分模块720被配置为将所述点云式地图的投影平面划分为第一单位尺寸的多个二维栅格。
提取模块730被配置为对于所述多个二维栅格中的任一二维栅格,基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面。
存储模块740被配置为将所述平面存储为所述矢量化地图中的面元素。
根据本公开的实施例,从点云式地图中提取平面,并将所提取的平面存储为矢量化地图中的面元素,由此能够提高矢量化地图中的地理元素的丰富度和稠密度,从而提高车辆的定位精度。
矢量化地图相较于点云式地图来说体积大大减小、便于更新。将矢量化地图(而不是点云式地图)存储至车端,能够大大降低车端的存储成本,提高车辆定位方法的可用性,能够满足量产需求。经实验验证,矢量化地图的体积大小约为0.35M/km。相较于点云式地图来说,体积减小97.5%。
根据一些实施例,所述提取模块包括:划分单元,被配置为沿高度方向将所述三维空间划分为第二单位尺寸的多个三维栅格;提取单元,被配置为对于所述多个三维栅格中的任一三维栅格:基于所述三维栅格中的点云,计算所述三维栅格中包括平面的置信度;以及响应于所述置信度大于阈值,提取所述三维栅格中的平面;以及第一确定单元,被配置为将所述多个三维栅格中的置信度最大的平面确定为所述二维栅格对应的平面。
根据一些实施例,所述提取单元包括:分解子单元,被配置为对所述三维栅格中的点云的协方差矩阵进行奇异值分解,以得到第一奇异值、第二奇异值和第三奇异值,其中,所述第一奇异值小于或等于所述第二奇异值,所述第二奇异值小于或等于所述第三奇异值;以及确定子单元,被配置为将所述第二奇异值与所述第一奇异值的比值确定为所述置信度。
根据一些实施例,所述存储模块包括:第二确定单元,被配置为确定所述平面对应的面元素的标识;以及存储单元,被配置为将所述平面上的一点的坐标和所述平面的单位法向量与所述标识关联存储。
根据一些实施例,所述矢量化地图还包括多个道路元素,所述多个道路元素中的任一道路元素为:车道线、路沿、人行横道、停止线、交通标识牌或杆。
应当理解,图7中所示的装置700的各个模块或单元可以与图4所描述的方法400中的各个步骤相对应。由此,上述方法400中所描述的操作、特征和优点同样适用于装置700及其包括的各个模块以及单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
根据本公开的实施例,还提供了一种定位模型的训练装置。图8示出了根据本公开实施例的定位模型的训练装置800的结构框图。定位模型包括点云编码器、地图编码器和位姿求解器。
如图8所示,装置800包括获取模块801、第一输入模块802、第二输入模块803、语义投影模块804、语义预测模块805、第三输入模块806、第一确定模块807、第二确定模块808、确定模块809和调整模块810。
获取模块801被配置为获取样本车辆的初始位姿、所述初始位姿对应的位姿真值、部署于所述样本车辆上的雷达采集的点云和用于定位所述样本车辆的多个地图元素。
第一输入模块802被配置为将所述点云输入所述点云编码器,以得到目标三维空间中的点云特征图。
第二输入模块803被配置为将所述多个地图元素的类别信息输入所述地图编码器,以便所述地图编码器:基于多种类别信息与多个语义编码的对应关系,确定所述多个地图元素中的每个地图元素的类别信息对应的语义编码,其中,所述多个语义编码是所述定位模型的参数;基于所述语义编码,确定所述地图元素的编码向量;以及基于所述多个地图元素各自的编码向量,生成地图特征。
语义投影模块804被配置为将所述多个地图元素中的属于目标类别的目标地图元素投影至所述目标三维空间中,以得到所述目标三维空间中的语义分割的真值图,其中,所述真值图中的第一像素的值指示该第一像素是否被所述目标地图元素所占据。
语义预测模块805被配置为基于所述点云特征图,确定语义分割的预测图,其中,所述预测图中的第二像素的值指示相应的特征向量与所述目标类别的语义编码的相似度,所述相应的特征向量为所述点云特征图中的与所述第二像素的位置相对应的像素的特征向量。
第三输入模块806被配置为将所述点云特征图、所述地图特征和所述初始位姿输入所述位姿求解器,以得到所述位姿求解器输出的预测位姿偏移量。
第一确定模块807被配置为基于所述预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,所述位姿偏移量真值为所述位姿真值与所述初始位姿的差。
第二确定模块808被配置为基于所述真值图和所述预测图,确定第二损失。
确定模块809被配置为至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失。
调整模块810被配置为基于所述整体损失,调整所述定位模型的参数。
根据本公开的实施例,第一损失能够引导定位模型输出更加准确的预测位姿偏移量。第二损失能够提升语义编码对地图元素类别信息的表达能力。基于第一损失和第二损失确定定位模型的整体损失并据此调整定位模型的参数,能够提高定位模型的定位精度。
根据一些实施例,第三输入模块进一步被配置为:将所述点云特征图、所述地图特征和所述初始位姿输入所述位姿求解器,以便所述位姿求解器:在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量;对于所述多个候选位姿偏移量中的任一候选位姿偏移量,确定在所述候选位姿偏移量下所述点云特征图与所述地图特征的匹配度;以及基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到并输出所述预测位姿偏移量。
所述装置还包括:第三确定模块,被配置为基于所述多个候选位姿偏移量各自对应的匹配度,确定第三损失,其中,所述第三损失指示所述位姿真值的预测概率分布与所述位姿真值的真实概率分布的差异。
所述确定模块进一步被配置为:基于所述第一损失、所述第二损失和所述第三损失,确定所述整体损失。
应当理解,图8中所示的装置800的各个模块或单元可以与图5所描述的方法500中的各个步骤相对应。由此,上述方法500中所描述的操作、特征和优点同样适用于装置800及其包括的各个模块以及单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图6-图8描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,模块610-810中的一个或多个可以一起被实现在片上系统(System on Chip,SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(Central Processing Unit,CPU)、微控制器、微处理器、数字信号处理器(Digital Signal Processor,DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
根据本公开的实施例,还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例的车辆定位方法、矢量化地图构建方法、定位模型的训练方法中的任一者。
根据本公开的实施例,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据本公开实施例的车辆定位方法、矢量化地图构建方法、定位模型的训练方法中的任一者。
根据本公开的实施例,还提供了一种计算机程序产品,包括计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现根据本公开实施例的车辆定位方法、矢量化地图构建方法、定位模型的训练方法中的任一者。
根据本公开的实施例,还提供了一种自动驾驶车辆,包括上述电子设备。
参考图9,现将描述可以作为本公开的服务器或客户端的电子设备900的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储电子设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元908可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、802.11设备、Wi-Fi设备、WiMAX设备、蜂窝通信设备和/或类似物。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如方法200、400和500。例如,在一些实施例中,方法200、400和500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200、400和500。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本公开的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (48)
1.一种车辆定位方法,包括:
获取所述车辆的初始位姿、部署于所述车辆上的雷达采集的点云和用于定位所述车辆的多个地图元素;
对所述点云进行编码,以得到点云特征;
对所述多个地图元素进行编码,以得到地图特征;
基于所述点云特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量;以及
将所述初始位姿与所述目标位姿偏移量进行叠加,以得到所述车辆的修正后的位姿。
2.根据权利要求1所述的方法,其中,所述对所述点云进行编码,以得到点云特征包括:
基于所述初始位姿,确定用于提取所述点云特征的空间范围;
将所述空间范围划分为单位尺寸的多个网格;
对于所述多个网格中的任一网格,提取所述网格中的点云的特征向量,
其中,所述点云特征包括由所述多个网格各自的特征向量所组成的点云特征图,所述点云特征图中的多个像素与所述多个网格分别对应,所述多个像素中的任一像素的通道数等于所述特征向量的维度。
3.根据权利要求1或2所述的方法,其中,所述对所述多个地图元素进行编码,以得到地图特征包括:
对于所述多个地图元素中的任一地图元素:
对所述地图元素的位置信息进行编码,以得到位置编码;
对所述地图元素的类别信息进行编码,以得到语义编码;以及
对所述位置编码和所述语义编码进行融合,以得到所述地图元素的编码向量;
以及
基于所述多个地图元素各自的编码向量,生成所述地图特征。
4.根据权利要求3所述的方法,其中,所述对所述地图元素的类别信息进行编码,以得到语义编码包括:
基于多种类别信息与多个语义编码的对应关系,确定所述地图元素的所述语义编码,其中,所述多个语义编码是定位模型的参数并且通过对所述定位模型进行训练而得到。
5.根据权利要求3或4所述的方法,其中,所述基于所述多个地图元素各自的编码向量,生成所述地图特征包括:
对于所述多个地图元素中的任一地图元素,基于注意力机制,利用所述点云特征对所述地图元素的编码向量进行更新,
其中,所述地图特征包括所述多个地图元素各自的更新后的编码向量。
6.根据权利要求1-5中任一项所述的方法,其中,所述基于所述点云特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量包括:
通过将所述点云特征与所述地图特征进行匹配,确定所述目标位姿偏移量。
7.根据权利要求6所述的方法,其中,所述通过将所述点云特征与所述地图特征进行匹配,确定所述目标位姿偏移量包括:
在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量;
对于所述多个候选位姿偏移量中的任一候选位姿偏移量,确定在所述候选位姿偏移量下所述点云特征与所述地图特征的匹配度;以及
基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到所述目标位姿偏移量。
8.根据权利要求7所述的方法,其中,所述点云特征包括目标三维空间的点云特征图,所述地图特征包括所述多个地图元素各自的编码向量,并且其中,所述确定在所述候选位姿偏移量下所述点云特征与所述地图特征的匹配度包括:
将所述初始位姿与所述候选位姿偏移量进行叠加,以得到候选位姿;
对于所述多个地图元素中的任一地图元素:
基于所述候选位姿,将所述地图元素投影至所述目标三维空间中,以得到所述地图元素对应的所述点云特征图中的特征向量;以及
计算所述地图元素的编码向量与所述特征向量的相似度;
以及
基于所述多个地图元素各自对应的相似度,确定在所述候选位姿偏移量下所述点云特征与所述地图特征的匹配度。
9.根据权利要求8所述的方法,其中,所述目标三维空间为所述车辆的鸟瞰视角空间。
10.根据权利要求7-9中任一项所述的方法,其中,所述基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到所述目标位姿偏移量包括:
对于所述多个候选位姿偏移量中的任一候选位姿偏移量,基于所述候选位姿偏移量的匹配度与所述多个候选位姿偏移量的匹配度之和的比值,确定所述候选位姿偏移量的概率;以及
将所述多个候选位姿偏移量的期望确定为所述目标位姿偏移量。
11.根据权利要求1-10中任一项所述的方法,其中,所述基于所述点云特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量包括:
将所述点云特征、所述地图特征和所述初始位姿输入经训练的位姿求解器,以得到所述位姿求解器输出的所述目标位姿偏移量。
12.根据权利要求1-11中任一项所述的方法,其中,所述多个地图元素通过基于所述初始位姿对矢量化地图中的多个地理元素进行筛选而得到。
13.根据权利要求1-12中任一项所述的方法,其中,所述多个地图元素包括至少一个道路元素和至少一个几何元素;
所述至少一个道路元素包括以下至少一项:车道线、路沿、人行横道、停止线、交通标识牌或杆;
所述至少一个几何元素包括面元素。
14.根据权利要求13所述的方法,其中,所述面元素通过提取点云式地图中的平面而得到。
15.根据权利要求1-14中任一项所述的方法,其中,所述初始位姿为所述车辆的组合定位系统输出的位姿。
16.一种矢量化地图构建方法,包括:
获取点云式地图中的点云;
将所述点云式地图的投影平面划分为第一单位尺寸的多个二维栅格;
对于所述多个二维栅格中的任一二维栅格:
基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面;以及
将所述平面存储为所述矢量化地图中的面元素。
17.根据权利要求16所述的方法,其中,所述基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面包括:
沿高度方向将所述三维空间划分为第二单位尺寸的多个三维栅格;
对于所述多个三维栅格中的任一三维栅格:
基于所述三维栅格中的点云,计算所述三维栅格中包括平面的置信度;以及
响应于所述置信度大于阈值,提取所述三维栅格中的平面;
以及
将所述多个三维栅格中的置信度最大的平面确定为所述二维栅格对应的平面。
18.根据权利要求17所述的方法,其中,所述基于所述三维栅格中的点云,计算所述三维栅格中包括平面的置信度包括:
对所述三维栅格中的点云的协方差矩阵进行奇异值分解,以得到第一奇异值、第二奇异值和第三奇异值,其中,所述第一奇异值小于或等于所述第二奇异值,所述第二奇异值小于或等于所述第三奇异值;以及
将所述第二奇异值与所述第一奇异值的比值确定为所述置信度。
19.根据权利要求16-18中任一项所述的方法,其中,所述将所述平面存储为所述矢量化地图中的面元素包括:
确定所述平面对应的面元素的标识;以及
将所述平面上的一点的坐标和所述平面的单位法向量与所述标识关联存储。
20.根据权利要求16-19中任一项所述的方法,其中,所述矢量化地图还包括多个道路元素,所述多个道路元素中的任一道路元素为:车道线、路沿、人行横道、停止线、交通标识牌或杆。
21.一种定位模型的训练方法,其中,所述定位模型包括点云编码器、地图编码器和位姿求解器,所述方法包括:
获取样本车辆的初始位姿、所述初始位姿对应的位姿真值、部署于所述样本车辆上的雷达采集的点云和用于定位所述样本车辆的多个地图元素;
将所述点云输入所述点云编码器,以得到目标三维空间中的点云特征图;
将所述多个地图元素各自的类别信息输入所述地图编码器,以便所述地图编码器:
基于多种类别信息与多个语义编码的对应关系,确定所述多个地图元素中的每个地图元素的类别信息对应的语义编码,其中,所述多个语义编码是所述定位模型的参数;
基于所述语义编码,确定所述地图元素的编码向量;以及
基于所述多个地图元素各自的编码向量,生成地图特征;
将所述多个地图元素中的属于目标类别的目标地图元素投影至所述目标三维空间中,以得到所述目标三维空间中的语义分割的真值图,其中,所述真值图中的第一像素的值指示该第一像素是否被所述目标地图元素所占据;
基于所述点云特征图,确定语义分割的预测图,其中,所述预测图中的第二像素的值指示相应的特征向量与所述目标类别的语义编码的相似度,所述相应的特征向量为所述点云特征图中的与所述第二像素的位置相对应的像素的特征向量;
将所述点云特征图、所述地图特征和所述初始位姿输入所述位姿求解器,以得到所述位姿求解器输出的预测位姿偏移量;
基于所述预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,所述位姿偏移量真值为所述位姿真值与所述初始位姿的差;
基于所述真值图和所述预测图,确定第二损失;
至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失;以及
基于所述整体损失,调整所述定位模型的参数。
22.根据权利要求21所述的方法,其中,所述将所述点云特征图、所述地图特征和所述初始位姿输入所述位姿求解器,以得到所述位姿求解器输出的预测位姿偏移量包括:
将所述点云特征图、所述地图特征和所述初始位姿输入所述位姿求解器,以便所述位姿求解器:
在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量;
对于所述多个候选位姿偏移量中的任一候选位姿偏移量,确定在所述候选位姿偏移量下所述点云特征图与所述地图特征的匹配度;以及
基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到并输出所述预测位姿偏移量;
所述方法还包括:
基于所述多个候选位姿偏移量各自对应的匹配度,确定第三损失,其中,所述第三损失指示所述位姿真值的预测概率分布与所述位姿真值的真实概率分布的差异;
其中,所述至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失包括:
基于所述第一损失、所述第二损失和所述第三损失,确定所述整体损失。
23.一种车辆定位装置,包括:
获取模块,被配置为获取所述车辆的初始位姿、部署于所述车辆上的雷达采集的点云和用于定位所述车辆的多个地图元素;
点云编码模块,被配置为对所述点云进行编码,以得到点云特征;
地图编码模块,被配置为对所述多个地图元素进行编码,以得到地图特征;
确定模块,被配置为基于所述点云特征和所述地图特征,确定用于修正所述初始位姿的目标位姿偏移量;以及
叠加模块,被配置为将所述初始位姿与所述目标位姿偏移量进行叠加,以得到所述车辆的修正后的位姿。
24.根据权利要求23所述的装置,其中,所述点云编码模块包括:
第一确定单元,被配置为基于所述初始位姿,确定用于提取所述点云特征的空间范围;
划分单元,被配置为将所述空间范围划分为单位尺寸的多个网格;
提取单元,被配置为对于所述多个网格中的任一网格,提取所述网格中的点云的特征向量,
其中,所述点云特征包括由所述多个网格各自的特征向量所组成的点云特征图,所述点云特征图中的多个像素与所述多个网格分别对应,所述多个像素中的任一像素的通道数等于所述特征向量的维度。
25.根据权利要求23或24所述的装置,其中,所述地图编码模块包括:
编码单元,被配置为对于所述多个地图元素中的任一地图元素:
对所述地图元素的位置信息进行编码,以得到位置编码;
对所述地图元素的类别信息进行编码,以得到语义编码;以及
对所述位置编码和所述语义编码进行融合,以得到所述地图元素的编码向量;
以及
生成单元,被配置为基于所述多个地图元素各自的编码向量,生成所述地图特征。
26.根据权利要求25所述的装置,其中,所述编码单元进一步被配置为:
基于多种类别信息与多个语义编码的对应关系,确定所述地图元素的所述语义编码,其中,所述多个语义编码是定位模型的参数并且通过对所述定位模型进行训练而得到。
27.根据权利要求25或26所述的装置,其中,所述生成单元进一步被配置为:
对于所述多个地图元素中的任一地图元素,基于注意力机制,利用所述点云特征对所述地图元素的编码向量进行更新,
其中,所述地图特征包括所述多个地图元素各自的更新后的编码向量。
28.根据权利要求23-27中任一项所述的装置,其中,所述确定模块进一步被配置为:
通过将所述点云特征与所述地图特征进行匹配,确定所述目标位姿偏移量。
29.根据权利要求28所述的装置,其中,所述确定模块包括:
采样单元,被配置为在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量;
第二确定单元,被配置为对于所述多个候选位姿偏移量中的任一候选位姿偏移量,确定在所述候选位姿偏移量下所述点云特征与所述地图特征的匹配度;以及
融合单元,被配置为基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到所述目标位姿偏移量。
30.根据权利要求29所述的装置,其中,所述点云特征包括目标三维空间的点云特征图,所述地图特征包括所述多个地图元素各自的编码向量,并且其中,所述第二确定单元进一步被配置为:
将所述初始位姿与所述候选位姿偏移量进行叠加,以得到候选位姿;
对于所述多个地图元素中的任一地图元素:
基于所述候选位姿,将所述地图元素投影至所述目标三维空间中,以得到所述地图元素对应的所述点云特征图中的特征向量;以及
计算所述地图元素的编码向量与所述特征向量的相似度;
以及
基于所述多个地图元素各自对应的相似度,确定在所述候选位姿偏移量下所述点云特征与所述地图特征的匹配度。
31.根据权利要求30所述的装置,其中,所述目标三维空间为所述车辆的鸟瞰视角空间。
32.根据权利要求29-31中任一项所述的装置,其中,所述融合单元进一步被配置为:
对于所述多个候选位姿偏移量中的任一候选位姿偏移量,基于所述候选位姿偏移量的匹配度与所述多个候选位姿偏移量的匹配度之和的比值,确定所述候选位姿偏移量的概率;以及
将所述多个候选位姿偏移量的期望确定为所述目标位姿偏移量。
33.根据权利要求23-32中任一项所述的装置,其中,所述确定模块进一步被配置为:
将所述点云特征、所述地图特征和所述初始位姿输入经训练的位姿求解器,以得到所述位姿求解器输出的所述目标位姿偏移量。
34.根据权利要求23-33中任一项所述的装置,其中,所述多个地图元素通过基于所述初始位姿对矢量化地图中的多个地理元素进行筛选而得到。
35.根据权利要求23-34中任一项所述的装置,其中,所述多个地图元素包括至少一个道路元素和至少一个几何元素;
所述至少一个道路元素包括以下至少一项:车道线、路沿、人行横道、停止线、交通标识牌或杆;
所述至少一个几何元素包括面元素。
36.根据权利要求35所述的装置,其中,所述面元素通过提取点云式地图中的平面而得到。
37.根据权利要求23-36中任一项所述的装置,其中,所述初始位姿为所述车辆的组合定位系统输出的位姿。
38.一种矢量化地图构建装置,包括:
获取模块,被配置为获取点云式地图中的点云;
划分模块,被配置为将所述点云式地图的投影平面划分为第一单位尺寸的多个二维栅格;
提取模块,被配置为对于所述多个二维栅格中的任一二维栅格,基于所述二维栅格对应的三维空间内的点云,提取所述二维栅格中的平面;以及
存储模块,被配置为将所述平面存储为所述矢量化地图中的面元素。
39.根据权利要求38所述的装置,其中,所述提取模块包括:
划分单元,被配置为沿高度方向将所述三维空间划分为第二单位尺寸的多个三维栅格;
提取单元,被配置为对于所述多个三维栅格中的任一三维栅格:
基于所述三维栅格中的点云,计算所述三维栅格中包括平面的置信度;以及
响应于所述置信度大于阈值,提取所述三维栅格中的平面;
以及
第一确定单元,被配置为将所述多个三维栅格中的置信度最大的平面确定为所述二维栅格对应的平面。
40.根据权利要求39所述的装置,其中,所述提取单元包括:
分解子单元,被配置为对所述三维栅格中的点云的协方差矩阵进行奇异值分解,以得到第一奇异值、第二奇异值和第三奇异值,其中,所述第一奇异值小于或等于所述第二奇异值,所述第二奇异值小于或等于所述第三奇异值;以及
确定子单元,被配置为将所述第二奇异值与所述第一奇异值的比值确定为所述置信度。
41.根据权利要求38-40中任一项所述的装置,其中,所述存储模块包括:
第二确定单元,被配置为确定所述平面对应的面元素的标识;以及
存储单元,被配置为将所述平面上的一点的坐标和所述平面的单位法向量与所述标识关联存储。
42.根据权利要求38-41中任一项所述的装置,其中,所述矢量化地图还包括多个道路元素,所述多个道路元素中的任一道路元素为:车道线、路沿、人行横道、停止线、交通标识牌或杆。
43.一种定位模型的训练装置,其中,所述定位模型包括点云编码器、地图编码器和位姿求解器,所述装置包括:
获取模块,被配置为获取样本车辆的初始位姿、所述初始位姿对应的位姿真值、部署于所述样本车辆上的雷达采集的点云和用于定位所述样本车辆的多个地图元素;
第一输入模块,被配置为将所述点云输入所述点云编码器,以得到目标三维空间中的点云特征图;
第二输入模块,被配置为将所述多个地图元素的类别信息输入所述地图编码器,以便所述地图编码器:
基于多种类别信息与多个语义编码的对应关系,确定所述多个地图元素中的每个地图元素的类别信息对应的语义编码,其中,所述多个语义编码是所述定位模型的参数;
基于所述语义编码,确定所述地图元素的编码向量;以及
基于所述多个地图元素各自的编码向量,生成地图特征;
语义投影模块,被配置为将所述多个地图元素中的属于目标类别的目标地图元素投影至所述目标三维空间中,以得到所述目标三维空间中的语义分割的真值图,其中,所述真值图中的第一像素的值指示该第一像素是否被所述目标地图元素所占据;
语义预测模块,被配置为基于所述点云特征图,确定语义分割的预测图,其中,所述预测图中的第二像素的值指示相应的特征向量与所述目标类别的语义编码的相似度,所述相应的特征向量为所述点云特征图中的与所述第二像素的位置相对应的像素的特征向量;
第三输入模块,被配置为将所述点云特征图、所述地图特征和所述初始位姿输入所述位姿求解器,以得到所述位姿求解器输出的预测位姿偏移量;第一确定模块,被配置为基于所述预测位姿偏移量和位姿偏移量真值,确定第一损失,其中,所述位姿偏移量真值为所述位姿真值与所述初始位姿的差;
第二确定模块,被配置为基于所述真值图和所述预测图,确定第二损失;确定模块,被配置为至少基于所述第一损失和所述第二损失,确定所述定位模型的整体损失;以及
调整模块,被配置为基于所述整体损失,调整所述定位模型的参数。
44.根据权利要求43所述的装置,其中,所述第三输入模块进一步被配置为:
将所述点云特征图、所述地图特征和所述初始位姿输入所述位姿求解器,以便所述位姿求解器:
在预设的偏移量采样范围内进行采样,以得到多个候选位姿偏移量;
对于所述多个候选位姿偏移量中的任一候选位姿偏移量,确定在所述候选位姿偏移量下所述点云特征图与所述地图特征的匹配度;以及
基于所述多个候选位姿偏移量各自对应的匹配度,对所述多个候选位姿偏移量进行融合,以得到并输出所述预测位姿偏移量;
所述装置还包括:
第三确定模块,被配置为基于所述多个候选位姿偏移量各自对应的匹配度,确定第三损失,其中,所述第三损失指示所述位姿真值的预测概率分布与所述位姿真值的真实概率分布的差异;
其中,所述确定模块进一步被配置为:
基于所述第一损失、所述第二损失和所述第三损失,确定所述整体损失。
45.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-22中任一项所述的方法。
46.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-22中任一项所述的方法。
47.一种计算机程序产品,包括计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现权利要求1-22中任一项所述的方法。
48.一种自动驾驶车辆,包括根据权利要求45所述的电子设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310628522.5A CN116678424A (zh) | 2023-05-30 | 2023-05-30 | 高精度车辆定位、矢量化地图构建及定位模型训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310628522.5A CN116678424A (zh) | 2023-05-30 | 2023-05-30 | 高精度车辆定位、矢量化地图构建及定位模型训练方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116678424A true CN116678424A (zh) | 2023-09-01 |
Family
ID=87790212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310628522.5A Pending CN116678424A (zh) | 2023-05-30 | 2023-05-30 | 高精度车辆定位、矢量化地图构建及定位模型训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116678424A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117745956A (zh) * | 2024-02-20 | 2024-03-22 | 之江实验室 | 一种基于位姿引导的图像生成方法、装置、介质及设备 |
CN118053052A (zh) * | 2024-04-16 | 2024-05-17 | 之江实验室 | 一种无监督的高精矢量地图元素异常检测方法 |
-
2023
- 2023-05-30 CN CN202310628522.5A patent/CN116678424A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117745956A (zh) * | 2024-02-20 | 2024-03-22 | 之江实验室 | 一种基于位姿引导的图像生成方法、装置、介质及设备 |
CN118053052A (zh) * | 2024-04-16 | 2024-05-17 | 之江实验室 | 一种无监督的高精矢量地图元素异常检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11145073B2 (en) | Computer vision systems and methods for detecting and modeling features of structures in images | |
EP3714290B1 (en) | Lidar localization using 3d cnn network for solution inference in autonomous driving vehicles | |
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 | |
US11364931B2 (en) | Lidar localization using RNN and LSTM for temporal smoothness in autonomous driving vehicles | |
WO2020154970A1 (en) | Deep learning–based feature extraction for lidar localization of autonomous driving vehicles | |
KR20220004607A (ko) | 목표 검출방법, 전자장치, 노변장치와 클라우드 컨트롤 플랫폼 | |
JP2019527832A (ja) | 正確な位置特定およびマッピングのためのシステムおよび方法 | |
CN113887400B (zh) | 障碍物检测方法、模型训练方法、装置及自动驾驶车辆 | |
CN114179832A (zh) | 用于自动驾驶车辆的变道方法 | |
CN116678424A (zh) | 高精度车辆定位、矢量化地图构建及定位模型训练方法 | |
CN114092660A (zh) | 高精地图生成方法、装置及用于生成地图的车辆 | |
CN117115414B (zh) | 基于深度学习的无gps无人机定位方法及装置 | |
CN115082690B (zh) | 目标识别方法、目标识别模型训练方法及装置 | |
CN116776151A (zh) | 可与车外人员进行自主交互的自动驾驶模型和训练方法 | |
CN116880462A (zh) | 自动驾驶模型、训练方法和自动驾驶方法和车辆 | |
CN115019060A (zh) | 目标识别方法、目标识别模型的训练方法及装置 | |
CN113920174A (zh) | 点云配准方法、装置、设备、介质和自动驾驶车辆 | |
US20240221215A1 (en) | High-precision vehicle positioning | |
CN116698051A (zh) | 高精度车辆定位、矢量化地图构建及定位模型训练方法 | |
CN116859724B (zh) | 时序自回归同时决策和预测的自动驾驶模型及其训练方法 | |
Al Baghdadi et al. | Unmanned aerial vehicles and machine learning for detecting objects in real time | |
CN117315402A (zh) | 三维对象检测模型的训练方法及三维对象检测方法 | |
Danylova et al. | AUTOMATED NAVIGATION FOR UNMANNED GROUND VEHICLES IN LOGISTICS. | |
CN115019278A (zh) | 一种车道线拟合方法、装置、电子设备和介质 |
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 |