CN116907483A - 样本数据生成方法、模型的训练方法、车辆控制方法 - Google Patents
样本数据生成方法、模型的训练方法、车辆控制方法 Download PDFInfo
- Publication number
- CN116907483A CN116907483A CN202310848508.6A CN202310848508A CN116907483A CN 116907483 A CN116907483 A CN 116907483A CN 202310848508 A CN202310848508 A CN 202310848508A CN 116907483 A CN116907483 A CN 116907483A
- Authority
- CN
- China
- Prior art keywords
- sub
- point cloud
- data
- cloud data
- vehicle
- 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 37
- 238000013136 deep learning model Methods 0.000 claims abstract description 90
- 230000008569 process Effects 0.000 claims abstract description 29
- 238000005070 sampling Methods 0.000 claims description 37
- 230000001133 acceleration Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 13
- 238000000638 solvent extraction Methods 0.000 claims 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 238000013135 deep learning Methods 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000037237 body shape Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/02—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
- B60W40/06—Road conditions
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
- G01B21/30—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring roughness or irregularity of surfaces
-
- 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/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1652—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with ranging devices, e.g. LIDAR or RADAR
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
- 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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
本公开提供了一种样本数据生成方法,涉及人工智能技术领域,尤其涉及自动驾驶、智能交通和深度学习技术领域。具体实现方案为:获取车辆在行驶过程中的点云数据、IMU数据以及定位数据;根据定位数据确定车辆在行驶过程中占用的地面区域的多个子区域;根据IMU数据确定多个子区域各自的平坦程度;将点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与一个子区域相对应;以及将多个子区域各自的子点云数据和平坦程度确定为样本数据。本公开还提供了一种深度学习模型的训练方法、车辆控制方法、装置、电子设备和存储介质。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及自动驾驶、智能交通和深度学习技术领域。更具体地,本公开提供了一种样本数据生成方法、深度学习模型的训练方法、车辆控制方法、装置、电子设备和存储介质。
背景技术
地面平坦程度的检测对于自动驾驶车辆来说具有重要意义。尤其在矿区等非标准道路的场景下,地面平坦程度直接影响自动驾驶车辆的正常行驶。
发明内容
本公开提供了一种样本数据生成方法、深度学习模型的训练方法、车辆控制方法、装置、电子设备和存储介质。
根据第一方面,提供了一种样本数据生成方法,该方法包括:获取车辆在行驶过程中的点云数据、IMU数据以及定位数据;根据定位数据确定车辆在行驶过程中占用的地面区域的多个子区域;根据IMU数据确定多个子区域各自的平坦程度;将点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与一个子区域相对应;以及将多个子区域各自的子点云数据和平坦程度确定为样本数据。
根据第二方面,提供了一种深度学习模型的训练方法,该方法包括:获取利用上述样本数据生成方法生成的样本数据,其中,样本数据包括地面区域的多个子区域各自的子点云数据和平坦程度;将多个子区域各自的子点云数据输入深度学习模型,得到多个子区域各自的输出结果;根据多个子区域各自的输出结果和平坦程度之间的差异,确定深度学习模型的损失;以及根据损失,调整深度学习模型的参数。
根据第三方面,提供了一种车辆控制方法,该方法包括:将车辆在行驶过程中采集的点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与车辆行驶前方的地面区域中的一个子区域相对应;针对每个子点云数据,将子点云数据输入深度学习模型,得到与子点云数据对应的子区域的平坦程度;以及根据地面区域中至少一个子区域各自的平坦程度,控制车辆的运行;其中,深度学习模型是根据上述深度学习模型的训练方法进行训练得到的。
根据第四方面,提供了一种样本数据生成装置,该装置包括:第一数据获取模块,用于获取车辆在行驶过程中的点云数据、IMU数据以及定位数据;区域确定模块,用于根据定位数据确定车辆在行驶过程中占用的地面区域的多个子区域;平坦程度确定模块,用于根据IMU数据确定多个子区域各自的平坦程度;第一数据划分模块,用于将点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与一个子区域相对应;以及样本数据确定模块,用于将多个子区域各自的子点云数据和平坦程度确定为样本数据。
根据第五方面,提供了一种深度学习模型的训练装置,该装置包括:第二数据获取模块,用于获取利用上述样本数据生成装置生成的样本数据,其中,样本数据包括地面区域的多个子区域各自的子点云数据和平坦程度;第一数据处理模块,用于将多个子区域各自的子点云数据输入深度学习模型,得到多个子区域各自的输出结果;损失确定模块,用于根据多个子区域各自的输出结果和平坦程度之间的差异,确定深度学习模型的损失;以及调整模块,用于根据损失,调整深度学习模型的参数。
根据第六方面,提供了一种车辆控制装置,该装置包括:第二数据划分模块,用于将车辆在行驶过程中采集的点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与车辆行驶前方的地面区域中的一个子区域相对应;第二数据处理模块,用于针对每个子点云数据,将子点云数据输入深度学习模型,得到与子点云数据对应的子区域的平坦程度;以及控制模块,用于根据地面区域中至少一个子区域各自的平坦程度,控制车辆的运行;其中,深度学习模型是根据上述深度学习模型的训练装置进行训练得到的。
根据第七方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
根据第八方面,提供了一种自动驾驶车辆,包括根据第七方面提供的电子设备。
根据第九方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
根据第十方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序存储于可读存储介质和电子设备其中至少之一上,所述计算机程序在被处理器执行时实现根据本公开提供的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例的可以应用样本数据生成方法、深度学习模型的训练方法、车辆控制方法中的至少之一的示例性系统架构示意图;
图2是根据本公开的一个实施例的样本数据生成方法的流程图;
图3A是根据本公开的一个实施例的车辆在行驶过程中的IMU数据的波动情况示意图;
图3B是根据本公开的一个实施例的根据IMU数据确定地面区域的平坦程度的方法的示意图;
图4是根据本公开的一个实施例的深度学习模型的训练方法的流程图;
图5是根据本公开的一个实施例的车辆控制方法的流程图;
图6是根据本公开的一个实施例的车辆控制方法的示意图;
图7是根据本公开的一个实施例的样本数据生成装置的框图;
图8是根据本公开的一个实施例的深度学习模型的训练装置的框图;
图9是根据本公开的一个实施例的车辆控制装置的框图;
图10是根据本公开的一个实施例的样本数据生成方法、深度学习模型的训练方法、车辆控制方法中的至少之一的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
与城市场景不同,矿山场景的地面总是存在崎岖不平的情况,在平坦程度(或平整度)较差的地面进行自动驾驶作业,会产生很大的安全隐患。所以对地面平坦程度的检测是非常重要且急迫的。当地面平坦程度稍差时,自动驾驶车辆可以降低作业速度,同时自动通知工程维护机械进行路面维护。当地面平坦程度很差时,自动驾驶车辆可以停止作业,以保障安全性。
相关技术中的平坦程度检测方法,会采取一些统计的方法进行检测。例如将地面划分成若干单元栅格,统计每个栅格内的点的特征分布,例如高度的方差等信息进行平坦程度的判断。该基于统计策略的平坦程度检测方法,在鲁棒性和准确性方面存在着先天的不足。例如在一个场景中调试的比较好的参数,换一个场景可能就不能很好的工作。因此,该方法泛化性较差。
随着人工智能技术的发展,使用深度学习技术进行地面平坦程度的检测方法被提出。然而,深度学习模型效果的好坏,与数据的质量和数量有着很大的关系。地面平坦程度的检测属于一种不常见的需求,在标签数据的产生上存在着很多困难,例如存在以下几方面的困难。
首先,目前对于地面的平整程度没有一定的标准。不同的人员看到相同的一份地面数据(例如地面图像),对该地面的平坦程度的认知可能是不一样的。
其次,对于地面的平坦程度的标注,人工擅于标注一些离散的数值(例如严重、较重、中午、良好等),并不能产生准确而连续性的值。因此,标注准确性较差。
再次,自动驾驶车辆传感器数据有可能比较稀疏,并不能有效的支撑人工进行地面平坦程度的判断。
此外,人工标注成本也很高。
因此,本公开提供一种样本数据生成方法、深度学习模型的训练方法以及车辆控制方法,能够有效解决相关技术中样本数据获取困难的问题,利用深度学习模型进行地面平坦程度的检测,使得检测场景更加广泛以及检测效果更加有效,提高自动驾驶车辆的行驶安全性。
本公开提供的样本数据生成方法、深度学习模型的训练方法以及车辆控制方法可以应用于任何需要进行地面或路面平坦程度检测的场景,例如可以应用于矿区的自动驾驶场景。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
图1是根据本公开一个实施例的可以应用样本数据生成方法、深度学习模型的训练方法、车辆控制方法中的至少之一的示例性系统架构示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括车辆101、电子设备102、服务器103以及网络104。网络104用以在车辆101和电子设备102之间、电子设备102和服务器103之间、以及车辆101和服务器103之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
例如,车辆101可以是自动驾驶车辆,车辆101在行驶过程中采集点云数据、IMU数据以及定位数据,并将采集得到的点云数据、IMU数据以及定位数据通过网络104发送给电子设备102。
电子设备102接收来自车辆101的点云数据、IMU(Inertial Measurement Unit,惯性测量单元)数据以及定位数据,执行本公开提供的样本数据生成方法,生成样本数据。
服务器103通过网络104获取电子设备102生成的样本数据,执行本公开提供的深度学习模型的训练方法,得到经训练的深度学习模型。将经训练的深度学习模型通过网络104发送给车辆101。
车辆101保存来自服务器103的经训练的深度学习模型,并在行驶过程中将采集的点云数据输入该经训练的深度学习模型,得到与点云数据对应的地面区域的平坦程度数据,根据该地面平坦程度数据控制车辆101的运行。
图2是根据本公开的一个实施例的样本数据生成方法的流程图。
如图2所示,该样本数据生成方法200包括操作S210~操作S250。
在操作S210,获取车辆在行驶过程中的点云数据、IMU数据以及定位数据。
车辆在行驶过程中,可以通过点云传感器获取点云数据,通过IMU装置获取IMU数据,通过定位传感器获取定位数据。其中,点云传感器可以包括激光雷达传感器。IMU数据包括加速度和角速度,具体可以包括X方向的加速度的角速度,Y方向的加速度和角速度、以及Z方向的加速度和角速度。Z方向为与地面垂直的方向,X方向或者Y方向可以是车辆行驶方向。定位传感器可以包括GPG定位传感器、北斗定位传感器等,定位数据可以包括坐标信息。
车辆在行驶过程中,可以实时获取点云数据、IMU数据以及定位数据。例如,点云传感器的采集频率为10HZ,即每秒采集10帧点云数据,每0.1s采集一帧点云数据。IMU传感器的工作频率为100HZ,即每秒生成100个IMU数据,每0.01s生成1个IMU数据。定位传感器的工作频率为100HZ,即每秒生成100个定位数据,每0.01s生成一个定位数据。
在操作S220,根据定位数据确定车辆在行驶过程中占用的地面区域的多个子区域。
根据本公开的实施例,确定子区域的操作具体可以包括确定车辆在行驶过程中的多个采样时刻的定位数据;针对每个采样时刻,根据该采样时刻的定位数据以及车身轮廓,确定车辆在该采样时刻占用的地面区域的子区域;将车辆在多个采样时刻占用的多个子区域,确定为车辆在行驶过程中占用的地面区域的多个子区域。
例如,定位传感器每秒生成100个定位数据,车辆在行驶过程中生成定位数据序列,可以按照预设间隔从该定位数据序列中确定多个采样时刻。例如,该预设间隔可以是0.1s,即每间隔0.1s抽取一个定位数据,每个定位数据对应一个采样时刻。
针对每个采样时刻,该采样时刻的定位数据例如是车辆中心在地面上的投影的坐标。根据车身的轮廓,可以计算出车辆占用的地理空间的坐标。例如,车身轮廓包括车身形状和大小,车身形状例如为长方形,车身大小包括车身的长和宽。当前采样时刻的定位数据是车身在地面上的投影的中心,则根据车身的长和宽,可以计算该车身在地面的投影的长方形的四个角点的坐标。该四个角点围成的区域即车辆在当前采样时刻占用的地面区域的子区域。
车辆在多个采样时刻占用的多个子区域,即为车辆在行驶过程中占用的多个子区域。
在操作S230,根据IMU数据确定多个子区域各自的平坦程度。
车辆在比较平坦的地面上行驶时,车辆的IMU装置输出的IMU数据比较平稳。车辆在不平坦的地面上行驶时,车辆的IMU装置输出的IMU数据的波动是比较明显的。因此,在确定多个子区域之后,可以利用IMU数据确定每个子区域的平坦程度。
例如,针对每个子区域,确定与该子区域对应的采样时刻,并确定IMU装置该在该采样时刻生成的IMU数据。该采样时刻的IMU数据可以包括X、Y、Z方向的加速度以及X、Y、Z方向的角速度。可以理解,车辆在不平坦的地面上行驶时,IMU的X、Y、Z方向的加速度以及X、Y、Z方向的角速度均有一定的波动,因此可以将当前采样时刻的X、Y、Z方向的加速度以及X、Y、Z方向的角速度进行融合,得到一个数值,该数值可以作为车辆在当前时刻波动数据。具体融合方式可以采取加权平均的方式。由此,每个子区域的采样时刻都对应一个车辆波动数据。
每个采样时刻的车辆波动数据表征了车辆在该采样时刻的波动状态,车辆在连续多个采样时刻的波动数据的变化情况,可以表征地面的不平整度,进而根据不平整度可以确定地面的平整度或平坦程度。
在操作S240,将点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与一个子区域相对应。
对于车辆在行驶过程中采集的点云数据,需要将点云数据与地面的平坦程度关联起来。首先,需要将点云数据与每个子区域进行关联。
例如,可以将点云数据进行划分,得到多个子点云数据,使得每个子点云数据对应一个子区域。子区域可以理解为地面上的一块平面区域,该平面区域的边界在Z方向的延伸形成空间区域。子点云数据与子区域对应可以理解为子点云数据中的点落入子区域的空间区域内,或者子点云数据中的点在地面上的投影落入该子区域的平面区域内。
因此,可以按照子区域的轮廓将点云数据进行划分,得到与多个子区域一一对应的多个子点云数据。由于子区域的轮廓是由车身轮廓确定的,因此,可以按照车身轮廓将点云划分为与多个子区域一一对应的多个子点云数据。
在操作S250,将多个子区域各自的子点云数据和平坦程度确定为样本数据。
在得到每个子区域的子点云数据之后,可以将每个子区域的子点云数据和该子区域的平坦程度关联起来,形成样本数据。
样本数据中的子点云数据可以作为深度学习模型的输入,与该子点云数据对应的平坦程度信息可以作为该输入的标签,从而可以进行深度学习模型的训练,使得经训练的深度学习模型可以利用新到来的点云数据确定对应的地面平坦程度,进而控制车辆安全行驶。
深度学习模型可以包括卷积神经网路模型、基于Transformer结构的神经网络模型等。
相比于人工确定地面平坦程度的方式,本公开的实施例根据IMU数据以及定位数据确定车辆在行驶过程中占用的地面区域的平坦程度,能够降低成本,提高地面平坦程度作为样本数据的准确性。
本公开的实施例将点云数据与地面平坦程度相关联,形成样本数据,使用样本数据进行深度学习模型的训练,使得经训练的深度学习模型可以用来检测地面的平坦程度,检测效果更加准确,提高自动驾驶车辆行驶的安全性。
图3A是根据本公开的一个实施例的车辆在行驶过程中的IMU数据的波动情况示意图。
车辆在比较平坦的地面上行驶时,车辆的IMU装置输出的IMU数据比较平稳。车辆在不平坦的地面上行驶时,车辆的IMU装置输出的IMU数据的波动是比较明显的。其中,车辆在不平坦的地面上行驶时,IMU数据在Z方向的波动更加明显。
如图3A所示,本实施例的横轴可以是时间,纵轴可以是IMU数据中Z方向的加速度。在1s到6s的时间段内,车辆行驶的地面的平坦程度较差,该时段内Z方向的加速度波动明显。其中,在2s到3.5s左右的时间段内,Z方向的加速度波动尤为明显,可以理解,该时段内车辆所在地面的平坦程度非常差。在6s到8s的时间段内,车辆行驶的地面的平坦程度较好,该时段内Z方向的加速度比较平稳。
根据本公开的实施例,根据IMU数据确定地面区域的平坦程度具体包括:根据车辆占用子区域的时刻确定目标时段;确定车辆在目标时段内的多个目标时刻各自的IMU数据;根据所述多个目标时刻各自的IMU数据之间的差异,确定所述子区域的平坦程度。根据所述多个目标时刻各自的IMU数据之间的差异,确定所述子区域的平坦程度包括:针对每个目标时刻,根据所述目标时刻的多个方向的加速度和所述多个方向的角速度,确定所述目标时刻的车辆波动数据;根据所述多个目标时刻各自的车辆波动数据之间的差异,确定所述子区域的平坦程度。
图3B是根据本公开的一个实施例的根据IMU数据确定地面区域的平坦程度的方法的示意图。
如图3B所示,车辆行驶过程中占用的多个子区域分别对应多个采样时刻,例如采样时刻包括时刻301、时刻302、时刻303等。每个采样时刻具有一个IMU数据,每个采样时刻的IMU数据即为车辆在占用对应子区域的时刻所输出的IMU数据。下面以时刻302为例,对计算该时刻302对应的子区域的平坦程度进行说明。
针对时刻302的IMU数据,包括X、Y、Z方向的加速度以及X、Y、Z方向的角速度。可以将X、Y、Z方向的加速度以及X、Y、Z方向的角速度进行加权平均,得到时刻302的车辆波动数据。其中,车辆在不平坦的地面上行驶时,IMU数据在Z方向的波动更加明显。因此,可以设置Z方向的加速度和角速度的权重高于其他方向的加速度和角速度。
类似地,可以得到时刻301、时刻302等时刻各自的车辆波动数据。
针对时刻302,该时刻的车辆波动数据以及该时刻前后一段时长内的波动数据的变化情况,可以表征与该时刻对应的子区域的平坦程度。因此,可以以该时刻为中心,确定一段目标时长,例如获取该时刻前后0.5s,共1s的时长作为目标时段,该时刻可以包括多个采样时刻,例如时刻301、时刻302、时刻303等共10个采样时刻。每个采样时刻作为一个目标时刻,每个目标时刻具有车辆波动数据。
接下来,可以计算该目标时段内的10个目标时刻的车辆波动数据之间的差异,来确定与时刻302对应的子区域的平坦程度。例如,可以计算该10个车辆波动数据的方差,将该方差进行归一化,得到一个属于[0,1]区间内的数值,该数值可以作为与时刻302对应的子区域的不平整度。可以理解,1减去该不平整度得到的数值可以作为平整度,即子区域的平坦程度。由此,可以得到与时刻302对应的子区域的平坦程度。
相比于人工标注地面(或路面)的平坦程度,本实施例利用IMU数据计算地面(或路面)平坦程度,使得平坦程度数据的获取更加便利和准确。
根据本公开的实施例,操作S240将点云数据进行划分,得到多个子点云数据包括:确定点云数据中的点在世界坐标系中的坐标;以及根据点云数据中的点在世界坐标系中的坐标,按照子区域的轮廓,将点云数据划分为多个子点云数据。
例如,点云传感器采集到点云数据,得到点云数据中各点在点云传感器坐标系中的坐标。点云传感器的坐标系与世界坐标系之间具有转换关系,因此,根据该转换关系,可以将点云数据中的点在点云传感器坐标系中的坐标转换为在世界坐标系中的坐标。
接下来,根据点云数据中的点在世界坐标系中的坐标,按照子区域的轮廓形状和大小,对点云数据进行划分,得到与多个子区域各自对应的多个子点云数据。其中子区域的轮廓形状和大小可以与车身轮廓的形状和大小一致。
本实施例将点云数据划分为多个子点云数据,每个子点云数据对应一个子区域,从而可以通过子区域将子点云数据与平坦程度数据对应起来,进而可以将相对应的子点云数据和平坦程度数据作为样本数据。
图4是根据本公开的一个实施例的深度学习模型的训练方法的流程图。
如图4所示,该深度学习模型的训练方法400包括操作S410~S440。
在操作S410,获取样本数据。
样本数据可以是利用上述样本数据生成方法生成的。样本数据包括多个子区域的子点云数据和平坦程度。每个子区域的子点云数据可以作为深度学习模型的输入,与该子点云数据对应的平坦程度作为该子点云数据的标签。
在操作S420,将多个子区域各自的子点云数据输入深度学习模型,得到多个子区域各自的输出结果。
根据本公开的实施例,深度学习模型可以包括特征提取网络和差异计算子网络。操作S420包括将子点云数据输入特征提取网络进行特征提取,得到子点云数据中点的特征;以及将子点云数据中点的特征输入差异计算网络计算子点云数据中点的特征差异,得到输出结果。
子点云数据中点的特征可以包括点的高度、密度等。深度学习模型的输出结果可以是深度学习模型根据子点云数据中点的特征差异计算出的子区域的平坦程度。
在操作S430,根据多个子区域各自的输出结果和平坦程度之间的差异,确定深度学习模型的损失。
在操作S440,根据损失,调整深度学习模型的参数。
例如,计算深度学习模型输出的子区域的平坦程度与该子区域的平坦程度标签之间的误差,可以得到深度学习模型针对子区域预测的平坦程度的损失。其中误差可以包括均方差或交叉熵等。
根据损失,可以调整深度学习模型的参数,经过多轮训练后,得到经训练的深度学习模型,该经训练的深度学习模型具有检测地面平坦程度的能力。
可以理解,由于模型输出的子区域的平坦程度是根据该子区域的点云特征差异确定的,该子区域的平坦程度标签是根据IMU数据确定的,利用二者的损失调整模型的参数,能够使得模型具备将点云特征差异拟合成基于IMU的平坦程度信息,从而对于新到来的点云数据,输入到经训练的深度学习模型,均可以得到对应的地面平坦程度信息。因此,本实施例能够解决相关技术中利用点云中点的高度差异确定地面平坦程度的方式存在的泛化性差的问题。
本公开的实施例使用样本数据进行深度学习模型的训练,样本数据包括地面区域中多个子区域各自的子点云数据以及平坦程度数据,使得经训练的深度学习模型具备检测地面平坦程度的能力,从而使用新采集的点云数据可以检测对应区域的平坦程度,进而控制车辆的运行,提高自动驾驶的安全性。
图5是根据本公开的一个实施例的车辆控制方法的流程图。
如图5所示,该车辆控制方法500包括操作S510~S530。
在操作S510,将车辆在行驶过程中采集的点云数据进行划分,得到多个子点云数据。
例如,可以将在行驶过程中采集的位于车辆行驶前方的点云数据进行划分,得到多个子点云数据。每个子点云数据与车辆行驶前方的地面区域中的一个子区域相对应。
根据本公开的实施例,可以确定点云数据中的点在世界坐标系中的坐标;以及根据点云数据中的点在世界坐标系中的坐标,按照子区域的轮廓,将点云数据划分为多个子点云数据。
例如,点云传感器采集到点云数据,得到点云数据中各点在点云传感器坐标系中的坐标。点云传感器的坐标系与世界坐标系之间具有转换关系,因此,根据该转换关系,可以将点云数据中的点在点云传感器坐标系中的坐标转换为在世界坐标系中的坐标。
接下来,根据点云数据中的点在世界坐标系中的坐标,按照子区域的轮廓形状和大小,对点云数据进行划分,得到与多个子区域各自对应的多个子点云数据。其中子区域的轮廓形状和大小可以与车身轮廓的形状和大小一致。因此,可以按照车身轮廓将点云数据划分为多个子点云数据。
在操作S520,针对每个子点云数据,将子点云数据输入深度学习模型,得到与子点云数据对应的子区域的平坦程度。
深度学习模型是根据上述深度学习模型的训练方法进行训练得到的。将子点云数据书该深度学习模型可以得到与该子点云数据对应的子区域的平坦程度。
在操作S530,根据地面区域中至少一个子区域各自的平坦程度,控制车辆的运行。
子点云数据是位于车辆行驶前方的点云数据,与子点云数据对应的子区域是车辆行驶前方的区域。利用深度学习模型检测出车辆行驶前方的区域的平坦程度,可以控制车辆的运行。
例如,控制车辆进行路径规划,使得车辆绕过平坦程度较低(例如小于0.5)的区域。或者,在地面平坦程度稍差时(例如平坦程度小于0.7),控制车辆减速。或者,在地面平坦程度很差(例如平坦程度小于0.3)时,停止车辆运行。
本实施例在车辆行驶过程中使用深度学习模型检测车辆行驶前方的道路的平坦程度,进而控制车辆的运行,能够保证自动驾驶车辆的行驶安全性。
图6是根据本公开的一个实施例的车辆控制方法的示意图。
如图6所示。自动驾驶车辆601在场景600的路面中行驶,该场景600例如可以是矿区场景。自动驾驶车辆601在行驶过程中采集车辆前方的点云数据,并将点云数据按照车身轮廓大小划分为多个子点云数据,每个子点云数据对应自动驾驶车辆行驶前方的地面区域的一个子区域。
例如,自动驾驶车辆601的行驶前方的地面区域610包括多个子区域(例如,子区域611~615等)。将每个子区域的子点云数据输入深度学习模型,得到该子区域的平坦程度值。根据该平坦程度值可以对自动驾驶车辆601进行规划控制。
例如,自动驾驶车辆601直行可以到达子区域613,而如果经深度学习模型检测得到该子区域613的平坦程度(例如为0.4)小于预设阈值(例如0.5),可以重新规划自动驾驶车辆601的路径,使自动驾驶车辆绕过该子区域613。具体可以根据子区域613的相邻子区域的平坦程度来进行规划。
例如,子区域612的平坦程度0.3,子区域614的平坦程度为0.8,子区域612的平坦程度相对更差,而子区域614的平坦程度相对较好。因此,可以控制自动驾驶车辆613减速,并将自动驾驶车辆613的路径规划到驶向子区域614。
图7是根据本公开的一个实施例的样本数据生成装置的框图。
如图7所示,该样本数据生成装置700包括第一数据获取模块701、区域确定模块702、平坦程度确定模块703、第一数据划分模块704以及样本数据确定模块705。
第一数据获取模块701用于获取车辆在行驶过程中的点云数据、IMU数据以及定位数据。
区域确定模块702用于根据定位数据确定车辆在行驶过程中占用的地面区域的多个子区域。
平坦程度确定模块703用于根据IMU数据确定多个子区域各自的平坦程度。
第一数据划分模块704用于将点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与一个子区域相对应。
样本数据确定模块705用于将多个子区域各自的子点云数据和平坦程度确定为样本数据。
平坦程度确定模块703包括目标时段确定单元、IMU数据确定单元和平坦程度确定单元。
目标时段确定单元用于根据车辆占用子区域的时刻确定目标时段。
IMU数据确定单元用于确定车辆在目标时段内的多个目标时刻各自的IMU数据。
平坦程度确定单元用于根据所述多个目标时刻各自的IMU数据之间的差异,确定所述子区域的平坦程度。
根据本公开的实施例,IMU数据包括多个方向的加速度和多个方向的角速度。平坦程度确定单元包括波动数据确定子单元和平坦程度确定子单元。
波动数据确定子单元用于根据所述目标时刻的多个方向的加速度和所述多个方向的角速度,确定所述目标时刻的车辆波动数据。
平坦程度确定子单元用于根据所述多个目标时刻各自的车辆波动数据之间的差异,确定所述子区域的平坦程度。
第一数据划分模块704包括第一坐标确定单元和第一数据划分单元。
第一坐标确定单元用于确定点云数据中的点在世界坐标系中的坐标。
第一数据划分单元用于根据点云数据中的点在世界坐标系中的坐标,按照子区域的轮廓,将点云数据划分为多个子点云数据。
区域确定模块702包括定位数据确定单元、子区域确定单元和区域确定单元。
定位数据确定单元用于确定车辆在行驶过程中的多个采样时刻的定位数据。
子区域确定单元用于针对每个采样时刻,根据该采样时刻的定位数据以及车身轮廓,确定车辆在该采样时刻占用的地面区域的子区域。
区域确定单元用于将车辆在多个采样时刻占用的多个子区域,确定为车辆在行驶过程中占用的地面区域的多个子区域。
图8是根据本公开的一个实施例的深度学习模型的训练装置的框图。
如图8所示,该深度学习模型的训练装置800包括第二数据获取模块801、第一数据处理模块802、损失确定模块803和调整模块804。
第二数据获取模块801用于获取利用样本数据生成装置生成的样本数据,其中,样本数据包括地面区域的多个子区域各自的子点云数据和平坦程度。
第一数据处理模块802用于将多个子区域各自的子点云数据输入深度学习模型,得到多个子区域各自的输出结果。
损失确定模块803用于根据多个子区域各自的输出结果和平坦程度之间的差异,确定深度学习模型的损失。
调整模块804用于根据损失,调整深度学习模型的参数。
深度学习模型包括特征提取网络和差异计算网络。第一数据处理模块802包括特征提取单元和差异计算单元。
特征提取单元用于将子点云数据输入特征提取网络进行特征提取,得到子点云数据中点的特征。
差异计算单元用于将子点云数据中点的特征输入差异计算网络计算子点云数据中点的特征差异,得到输出结果。
图9是根据本公开的一个实施例的车辆控制装置的框图。
如图9所示,该车辆控制装置900包括第二数据划分模块901、第二数据处理模块902和控制模块903。
第二数据划分模块901用于将车辆在行驶过程中采集的点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与车辆行驶前方的地面区域中的一个子区域相对应。
第二数据处理模块902用于针对每个子点云数据,将子点云数据输入深度学习模型,得到与子点云数据对应的子区域的平坦程度。
控制模块903用于根据地面区域中至少一个子区域各自的平坦程度,控制车辆的运行。
其中,深度学习模型是根据深度学习模型的训练装置进行训练得到的。
第二数据划分模块901包括第二坐标确定单元和第二数据划分单元。
第二坐标确定单元用于确定点云数据中的点在世界坐标系中的坐标。
第二数据划分单元用于根据点云数据中的点在世界坐标系中的坐标,按照子区域的轮廓,将点云数据划分为多个子点云数据。
子区域的轮廓与车辆的车身轮廓一致。第二数据划分单元用于根据所述点云数据中的点在世界坐标系中的坐标,按照所述车身轮廓,将所述点云数据划分为所述多个子点云数据。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图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,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如样本数据生成方法、深度学习模型的训练方法、车辆控制方法中的至少之一。例如,在一些实施例中,样本数据生成方法、深度学习模型的训练方法、车辆控制方法中的至少之一可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的样本数据生成方法、深度学习模型的训练方法、车辆控制方法中的至少之一的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行样本数据生成方法、深度学习模型的训练方法、车辆控制方法中的至少之一。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (24)
1.一种样本数据生成方法,包括:
获取车辆在行驶过程中的点云数据、IMU数据以及定位数据;
根据所述定位数据确定所述车辆在行驶过程中占用的地面区域的多个子区域;
根据所述IMU数据确定所述多个子区域各自的平坦程度;
将所述点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与一个子区域相对应;以及
将所述多个子区域各自的子点云数据和平坦程度确定为所述样本数据。
2.根据权利要求1所述的方法,其中,所述根据所述IMU数据确定所述多个子区域各自的平坦程度包括:针对每个子区域,
根据所述车辆占用所述子区域的时刻确定目标时段;
确定所述车辆在所述目标时段内的多个目标时刻各自的IMU数据;以及
根据所述多个目标时刻各自的IMU数据之间的差异,确定所述子区域的平坦程度。
3.根据权利要求2所述的方法,其中,所述IMU数据包括多个方向的加速度和多个方向的角速度;所述根据所述多个目标时刻各自的IMU数据之间的差异,确定所述子区域的平坦程度包括:
针对每个目标时刻,根据所述目标时刻的多个方向的加速度和所述多个方向的角速度,确定所述目标时刻的车辆波动数据;以及
根据所述多个目标时刻各自的车辆波动数据之间的差异,确定所述子区域的平坦程度。
4.根据权利要求1至3中任一项所述的方法,其中,所述将所述点云数据进行划分,得到多个子点云数据包括:
确定所述点云数据中的点在世界坐标系中的坐标;以及
根据所述点云数据中的点在世界坐标系中的坐标,按照所述子区域的轮廓,将所述点云数据划分为所述多个子点云数据。
5.根据权利要求1至4中任一项所述的方法,其中,所述根据所述定位数据确定所述车辆在行驶过程中占用的地面区域的多个子区域包括:
确定所述车辆在行驶过程中的多个采样时刻的定位数据;
针对每个采样时刻,根据该采样时刻的定位数据以及车身轮廓,确定所述车辆在该采样时刻占用的所述地面区域的子区域;以及
将所述车辆在所述多个采样时刻占用的多个子区域,确定为所述车辆在行驶过程中占用的地面区域的多个子区域。
6.一种深度学习模型的训练方法,包括:
获取利用权利要求1至5中任一项所述的方法生成的样本数据,其中,所述样本数据包括地面区域的多个子区域各自的子点云数据和平坦程度;
将所述多个子区域各自的子点云数据输入深度学习模型,得到所述多个子区域各自的输出结果;
根据所述多个子区域各自的输出结果和所述平坦程度之间的差异,确定所述深度学习模型的损失;以及
根据所述损失,调整所述深度学习模型的参数。
7.根据权利要求6所述的方法,其中,所述深度学习模型包括特征提取网络和差异计算网络;所述将所述多个子区域各自的子点云数据输入深度学习模型,得到所述多个子区域各自的输出结果包括:针对每个子点云数据,
将所述子点云数据输入所述特征提取网络进行特征提取,得到所述子点云数据中点的特征;以及
将所述子点云数据中点的特征输入所述差异计算网络计算所述子点云数据中点的特征差异,得到所述输出结果。
8.一种车辆控制方法,包括:
将车辆在行驶过程中采集的点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与所述车辆行驶前方的地面区域中的一个子区域相对应;
针对每个子点云数据,将所述子点云数据输入深度学习模型,得到与所述子点云数据对应的子区域的平坦程度;以及
根据所述地面区域中至少一个子区域各自的平坦程度,控制所述车辆的运行;
其中,所述深度学习模型是根据权利要求6或7所述的方法进行训练得到的。
9.根据权利要求8所述的方法,其中,所述将车辆在行驶过程中采集的点云数据进行划分,得到多个子点云数据包括:
确定所述点云数据中的点在世界坐标系中的坐标;以及
根据所述点云数据中的点在世界坐标系中的坐标,按照所述子区域的轮廓,将所述点云数据划分为所述多个子点云数据。
10.根据权利要求8或9所述的方法,其中,所述子区域的轮廓与所述车辆的车身轮廓一致;所述根据所述点云数据中的点在世界坐标系中的坐标,按照所述子区域的轮廓,将所述点云数据划分为所述多个子点云数据包括:
根据所述点云数据中的点在世界坐标系中的坐标,按照所述车身轮廓,将所述点云数据划分为所述多个子点云数据。
11.一种样本数据生成装置,包括:
第一数据获取模块,用于获取车辆在行驶过程中的点云数据、IMU数据以及定位数据;
区域确定模块,用于根据所述定位数据确定所述车辆在行驶过程中占用的地面区域的多个子区域;
平坦程度确定模块,用于根据所述IMU数据确定所述多个子区域各自的平坦程度;
第一数据划分模块,用于将所述点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与一个子区域相对应;以及
样本数据确定模块,用于将所述多个子区域各自的子点云数据和平坦程度确定为所述样本数据。
12.根据权利要求11所述的装置,其中,所述平坦程度确定模块包括:
目标时段确定单元,用于根据所述车辆占用所述子区域的时刻确定目标时段;
IMU数据确定单元,用于确定所述车辆在所述目标时段内的多个目标时刻各自的IMU数据;以及
平坦程度确定单元,用于根据所述多个目标时刻各自的IMU数据之间的差异,确定所述子区域的平坦程度。
13.根据权利要求12所述的装置,其中,所述IMU数据包括多个方向的加速度和多个方向的角速度;所述平坦程度确定单元包括:
波动数据确定子单元,用于根据所述目标时刻的多个方向的加速度和所述多个方向的角速度,确定所述目标时刻的车辆波动数据;以及
平坦程度确定子单元,用于根据所述多个目标时刻各自的车辆波动数据之间的差异,确定所述子区域的平坦程度。
14.根据权利要求11至13中任一项所述的装置,其中,所述第一数据划分模块包括:
第一坐标确定单元,用于确定所述点云数据中的点在世界坐标系中的坐标;以及
第一数据划分单元,用于根据所述点云数据中的点在世界坐标系中的坐标,按照所述子区域的轮廓,将所述点云数据划分为所述多个子点云数据。
15.根据权利要求11至14中任一项所述的装置,其中,所述区域确定模块包括:
定位数据确定单元,用于确定所述车辆在行驶过程中的多个采样时刻的定位数据;
子区域确定单元,用于针对每个采样时刻,根据该采样时刻的定位数据以及车身轮廓,确定所述车辆在该采样时刻占用的所述地面区域的子区域;以及
区域确定单元,用于将所述车辆在所述多个采样时刻占用的多个子区域,确定为所述车辆在行驶过程中占用的地面区域的多个子区域。
16.一种深度学习模型的训练装置,包括:
第二数据获取模块,用于获取利用权利要求11至15中任一项所述的装置生成的样本数据,其中,所述样本数据包括地面区域的多个子区域各自的子点云数据和平坦程度;
第一数据处理模块,用于将所述多个子区域各自的子点云数据输入深度学习模型,得到所述多个子区域各自的输出结果;
损失确定模块,用于根据所述多个子区域各自的输出结果和所述平坦程度之间的差异,确定所述深度学习模型的损失;以及
调整模块,用于根据所述损失,调整所述深度学习模型的参数。
17.根据权利要求16所述的装置,其中,所述深度学习模型包括特征提取网络和差异计算网络;所述第一处理模块包括:
特征提取单元,用于将所述子点云数据输入所述特征提取网络进行特征提取,得到所述子点云数据中点的特征;以及
差异计算单元,用于将所述子点云数据中点的特征输入所述差异计算网络计算所述子点云数据中点的特征差异,得到所述输出结果。
18.一种车辆控制装置,包括:
第二数据划分模块,用于将车辆在行驶过程中采集的点云数据进行划分,得到多个子点云数据,其中,每个子点云数据与所述车辆行驶前方的地面区域中的一个子区域相对应;
第二数据处理模块,用于针对每个子点云数据,将所述子点云数据输入深度学习模型,得到与所述子点云数据对应的子区域的平坦程度;以及
控制模块,用于根据所述地面区域中至少一个子区域各自的平坦程度,控制所述车辆的运行;
其中,所述深度学习模型是根据权利要求16或17所述的装置进行训练得到的。
19.根据权利要求18所述的装置,其中,所述第二数据划分模块包括:
第二坐标确定单元,用于确定所述点云数据中的点在世界坐标系中的坐标;以及
第二数据划分单元,用于根据所述点云数据中的点在世界坐标系中的坐标,按照所述子区域的轮廓,将所述点云数据划分为所述多个子点云数据。
20.根据权利要求18或19所述的装置,其中,所述子区域的轮廓与所述车辆的车身轮廓一致;
所述第二数据划分单元,用于根据所述点云数据中的点在世界坐标系中的坐标,按照所述车身轮廓,将所述点云数据划分为所述多个子点云数据。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至10中任一项所述的方法。
22.一种自动驾驶车辆,包括如权利要求21所述电子设备。
23.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至10中任一项所述的方法。
24.一种计算机程序产品,包括计算机程序,所述计算机程序存储于可读存储介质和电子设备其中至少之一上,所述计算机程序在被处理器执行时实现根据权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310848508.6A CN116907483A (zh) | 2023-07-11 | 2023-07-11 | 样本数据生成方法、模型的训练方法、车辆控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310848508.6A CN116907483A (zh) | 2023-07-11 | 2023-07-11 | 样本数据生成方法、模型的训练方法、车辆控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116907483A true CN116907483A (zh) | 2023-10-20 |
Family
ID=88355769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310848508.6A Pending CN116907483A (zh) | 2023-07-11 | 2023-07-11 | 样本数据生成方法、模型的训练方法、车辆控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116907483A (zh) |
-
2023
- 2023-07-11 CN CN202310848508.6A patent/CN116907483A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021534481A (ja) | 障害物又は地面の認識及び飛行制御方法、装置、機器及び記憶媒体 | |
CN106406320A (zh) | 机器人路径规划方法及规划路线的机器人 | |
CN112526999B (zh) | 速度规划方法、装置、电子设备和存储介质 | |
CN111652952A (zh) | 车道线生成方法、装置、计算机设备和存储介质 | |
US11118913B2 (en) | Vehicle positioning correction method and mobile device | |
CN109031371B (zh) | 一种基于持续定位信息的路线平滑方法及系统 | |
CN112101223B (zh) | 检测方法、装置、设备和计算机存储介质 | |
CN111563450A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN110567467A (zh) | 基于多传感器的地图构建方法、装置及存储介质 | |
CN114987546A (zh) | 轨迹预测模型的训练方法、装置、设备及存储介质 | |
CN114179832A (zh) | 用于自动驾驶车辆的变道方法 | |
CN114815851A (zh) | 机器人跟随方法、装置、电子设备以及存储介质 | |
US20230278587A1 (en) | Method and apparatus for detecting drivable area, mobile device and storage medium | |
CN110617824B (zh) | 确定车辆上下高架道路的方法、装置、设备和介质 | |
CN116499487B (zh) | 一种车辆的路径规划方法、装置、设备及介质 | |
CN113091737A (zh) | 一种车路协同定位方法、装置、自动驾驶车辆及路侧设备 | |
CN113119999A (zh) | 自动驾驶特征的确定方法、装置、设备、介质及程序产品 | |
CN116907483A (zh) | 样本数据生成方法、模型的训练方法、车辆控制方法 | |
EP4083336B1 (en) | Method and apparatus for detecting operating terrain, and engineering equipment for detecting operating terrain | |
CN116533987A (zh) | 泊车路径确定方法、装置、设备和自动驾驶车辆 | |
CN115792985A (zh) | 一种车辆定位方法、装置、电子设备、存储介质及车辆 | |
CN113276888B (zh) | 基于自动驾驶的乘车方法、装置、设备和存储介质 | |
CN116087987A (zh) | 确定目标对象高度的方法、装置、电子设备及存储介质 | |
CN111951552B (zh) | 一种自动驾驶中风险管理的方法以及相关装置 | |
CN110412613A (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 |