CN109427214A - 使用模拟传感器数据扩增现实传感器记录 - Google Patents
使用模拟传感器数据扩增现实传感器记录 Download PDFInfo
- Publication number
- CN109427214A CN109427214A CN201810966138.5A CN201810966138A CN109427214A CN 109427214 A CN109427214 A CN 109427214A CN 201810966138 A CN201810966138 A CN 201810966138A CN 109427214 A CN109427214 A CN 109427214A
- Authority
- CN
- China
- Prior art keywords
- data
- sensing data
- object model
- vehicle
- region
- 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
- 230000003190 augmentative effect Effects 0.000 title description 3
- 238000012549 training Methods 0.000 claims abstract description 31
- 230000003321 amplification Effects 0.000 claims abstract description 25
- 238000003199 nucleic acid amplification method Methods 0.000 claims abstract description 25
- 238000010801 machine learning Methods 0.000 claims abstract description 20
- 238000004088 simulation Methods 0.000 claims abstract description 20
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 72
- 238000012545 processing Methods 0.000 claims description 26
- 238000001514 detection method Methods 0.000 claims description 25
- 238000012360 testing method Methods 0.000 claims description 19
- 230000004888 barrier function Effects 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000013480 data collection Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 241001269238 Data Species 0.000 description 5
- 230000009471 action Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 238000002310 reflectometry Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010171 animal model Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 208000010877 cognitive disease Diseases 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002352 surface water Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/04—Detecting movement of traffic to be counted or controlled using optical or ultrasonic detectors
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Electromagnetism (AREA)
- Analytical Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Multimedia (AREA)
- Traffic Control Systems (AREA)
Abstract
从车辆的一个或多个传感器接收原始传感器数据。根据传感器数据识别车辆周围的自由空间,例如通过识别其数据点具有低于阈值的高度的区域。从可用空间中选择对象模型的位置。将平面拟合到位置周围的传感器数据,并且对象模型根据平面的取向定向。模拟通过车辆的传感器感测对象模型以获得模拟数据,然后将模拟数据添加到原始传感器数据。从原始传感器数据中移除对应于将被对象模型遮盖的对象的传感器数据。扩增的传感器数据可用于验证控制算法或训练机器学习模型。
Description
技术领域
本发明涉及使用一个或多个电子传感器模拟场景的感测。
背景技术
驾驶员辅助技术和自主车辆的测试和验证面临的挑战来自于大量的测试案例和非常罕见的案例。虽然在现实世界测试中遇到了各种各样的情况,但某些情况在现实世界中非常罕见,并且在试验场上执行风险太大。通常使用详细的模拟来证明这些情况。然而,由于缺乏完美的传感器模型和交通模型,从这些模拟生成的数据非常逼真,但仍然不能模仿现实世界中的所有缺陷。
本文所公开的系统和方法提供了一种改进的方式,用于通过用模拟的传感器数据扩增记录的传感器数据来生成场景。
发明内容
根据本发明,提供一种方法,包括由计算设备执行以下操作:
从车辆的控制器接收传感器数据;
识别所述传感器数据中所述车辆周围的可用空间;
将对象模型放置在相对于所述车辆的位置处;
模拟所述对象模型的感测以获得模拟的传感器数据;以及
将所述模拟的传感器数据添加到所述传感器数据以获得扩增的传感器数据。
根据本发明的一个实施例,包括:
通过所述计算设备识别由于在所述相对位置放置所述对象模型而无法检测到的所述传感器数据的一部分;以及
通过所述计算设备从所述扩增的传感器数据中去除所述传感器数据的所述部分。
根据本发明的一个实施例,还包括:
通过所述计算设备相对于所述车辆上的传感器位置定义所述对象模型的阴影锥体;以及
通过所述计算设备在所述阴影锥体内搜索无法检测到的所述传感器数据的所述部分。
根据本发明的一个实施例,还包括:
通过所述计算设备识别所述相对位置周围的可用空间区域;
通过所述计算设备将平面拟合到所述区域;以及
通过所述计算设备根据所述平面的取向变换所述对象模型。
根据本发明的一个实施例,还包括:
通过所述计算设备将所述区域识别为被所述对象模型覆盖的区域;
通过所述计算设备确定(a)所述区域覆盖所述传感器数据的不足点以定义所述平面的数据点;以及
响应于确定(a),通过所述计算设备扩展所述区域,直到所述区域覆盖足以拟合所述平面的数据点。
根据本发明的一个实施例,其中识别所述传感器数据中的所述车辆周围的可用空间包括:
通过所述计算设备评估与所述传感器数据中的数据点相关联的高度;以及
通过所述计算设备将满足以下条件的区域识别为所述可用空间:与所述区域中的数据点相关联的高度小于阈值高度。
根据本发明的一个实施例,其中评估与所述传感器数据中的数据点相关联的所述高度包括通过所述计算设备相对于所述车辆的水平面定义高度。
根据本发明的一个实施例,其中所述传感器数据包括LIDAR(光检测和测距)、RADAR(无线电检测和测距)和图像数据中的至少一个。
根据本发明的一个实施例,还包括通过所述计算设备根据所述扩增的传感器数据测试检测算法和控制算法之一。
根据本发明的一个实施例,还包括通过所述计算设备根据所述扩增的训练数据训练机器学习模型训练以进行以下中的至少一个:检测障碍物和移除对象。
根据本发明,提供一种系统,包括一个或多个处理设备和可操作地连接到所述一个或多个处理设备的一个或多个存储器设备,所述一个或多个存储器设备存储可执行代码,所述可执行代码有效地使所述一个或多个处理设备执行以下操作:
从车辆控制器接收传感器数据;
识别所述传感器数据中所述车辆周围的可用空间;
将对象模型放置在相对于所述车辆的位置处;
模拟所述对象模型的感测,以获得模拟的传感器数据;以及
将所述模拟的传感器数据添加到所述传感器数据以获得扩增的传感器数据。
根据本发明的一个实施例,其中所述可执行代码进一步有效地使所述一个或多个处理设备执行以下操作:
识别由于所述对象模型放置在所述相对位置处而无法检测到的所述传感器数据的一部分;以及
从所述扩增的传感器数据中移除所述传感器数据的所述部分。
根据本发明的一个实施例,其中所述可执行代码进一步有效地使所述一个或多个处理设备执行以下操作:
相对于所述车辆上的传感器位置定义所述对象模型的阴影锥体;以及
在所述阴影锥体内搜索无法检测到的所述传感器数据的所述部分。
根据本发明的一个实施例,其中所述可执行代码进一步有效地使所述一个或多个处理设备执行以下操作:
识别所述相对位置周围的可用空间区域;
将平面拟合到所述区域;以及
根据所述平面的取向变换所述对象模型。
根据本发明的一个实施例,其中所述可执行代码进一步有效地使所述一个或多个处理设备执行以下操作:
将所述区域识别为被所述对象模型覆盖的区域;
评估是否(a)所述区域覆盖传感器数据的不足以定义平面的数据点;以及
如果(a),扩展所述区域,直到所述区域覆盖足以拟合所述平面的数据点。
根据本发明的一个实施例,其中所述可执行代码进一步有效地使所述一个或多个处理设备执行以下操作:
评估与所述传感器数据中的数据点相关联的高度;以及
将满足以下条件的区域识别为所述可用空间:与区域中的数据点相关联的高度小于阈值高度;
根据本发明的一个实施例,其中可执行代码进一步有效地使一个或多个处理设备通过相对于所述车辆的水平面定义所述高度来评估与所述传感器数据中的数据点相关联的所述高度。
根据本发明的一个实施例,其中所述传感器数据包括LIDAR(光检测和测距)、RADAR(无线电检测和测距)和图像数据中的至少一个。
根据本发明的一个实施例,其中所述可执行代码进一步有效地使所述一个或多个处理设备根据所述扩增传感器数据测试检测算法和控制算法中的至少一个。
根据本发明的一个实施例,其中所述可执行代码进一步有效地使所述一个或多个处理设备根据所述扩增的训练数据训练机器学习模型训练以进行以下中的至少一个:检测障碍物和移除对象。
附图说明
为了易于理解本发明的优点,将通过参考附图中所示的特定实施例来呈现上面简要描述的本发明的更具体的描述。应理解,这些附图仅描绘了本发明的典型实施例,因此不应认为是对其范围的限制,将通过使用附图以附加的特征和细节来描述和解释本发明,其中:
图1A和1B是用于实现本发明实施例的系统的示意性框图;
图2是适合于实现根据本发明实施例的方法的示例计算设备的示意性框图;
图3是根据本发明实施例的用于将对象模型的模拟传感器输出添加到实际传感器数据的方法的过程流程图;
图4A和4B是使用实际传感器感测的场景的示意性框图;
图5A和5B示出了根据本发明实施例的图4A和4B的传感器数据的扩增;
图6是根据本发明的实施例的用于根据对象模型来扩增LIDAR数据的方法的过程流程图;以及
图7A至7C是示出根据图6的方法扩增LIDAR数据的图像。
具体实施方式
参考图1,计算环境100可以包括服务器系统102,服务器系统102可以托管或访问存储数据的数据库104以供根据本文公开的方法使用。特别地,数据库104可以存储在实际环境中驾驶时从车辆的传感器接收的传感器数据106。传感器数据可以包括视觉数据108a(例如一个或多个可见光摄像机或红外摄像机的输出)、由车辆的LIDAR(光检测和测距)传感器输出的LIDAR数据108b、由RADAR(无线电检测和测距)传感器输出的RADAR数据108c中的一个或多个。还可以存储其他类型的传感器数据106,例如麦克风、超声波传感器或其他类型的传感器的输出。每个传感器的传感器数据108a-108c可以包括在车辆穿越路径期间在一段时间内输出的一系列数据集。
数据库104可以进一步存储一个或多个传感器模型110。传感器模型110定义足以使得三维(3D)模型能够模拟实际传感器的感测的数据。例如,摄像机模型112a可以定义数据,该数据定义失真、颜色变换、帧速率、分辨率、缩放、视野、方向或将影响场景感测的摄像机的其他伪像。
LIDAR模型112b可以定义扫描速率、点密度、扫描激光波长、光束特性、检测器灵敏度、视野等。RADAR传感器模型112c可以定义RADAR系统的限制和属性,例如波长、信号幅度、角度扫描速度、天线增益、视野等。在存在其他类型的传感器数据106的情况下,可以为这些类型的传感器定义其他类型的传感器模型110。例如,对于麦克风,传感器模型110可以包括增益、信噪比、灵敏度分布(灵敏度对频率)等。
这些生成的数据可用于多种目的:训练深度神经网络(参见第17段)、测试和验证感测领域的自动驾驶算法、场景理解、对象检测、任务规划、路径规划和控制。这些测试可以设计为开环或闭环测试。
数据库104还可以包括对象模型114。对象模型114可以包括车辆可能遇到的对象(例如其他车辆116a、行人116b以及诸如动物、碎片等的其他对象116c)的3D模型。可以使用本领域中已知的任何3D建模格式来定义对象模型114。在一些实施例中,对象模型114可以表示为点云、三角形网格或对象轮廓的其他表示。对象模型114还可以定义与通过一种或多种类型的传感器检测对象模型的现实世界类似物相关的材料特性。例如,对于摄像机的建模检测,可以为对象模型114的表面上的点指定诸如颜色、纹理、反射率等的属性。对于LIDAR传感器的建模检测,对象模型114可以定义对象模型表面上的点的反射率。对于RADAR传感器的建模检测,特性可以包括根据RADAR传感器的模型112c发射的波长的反射率。
数据库104还可以存储使用根据本文公开的方法生成的模拟传感器数据训练的机器学习模型118。可以出于任何目的训练机器学习模型118。例如,可以训练机器学习模型以检测障碍物,尤其是根据本文公开的方法模拟检测的障碍物。机器学习模型118可以是深度神经网络、贝叶斯网络或其他类型的机器学习模型。
在另一个示例中,可以训练机器学习模型118以在检测场景期间存在对象时估计没有对象的位置的轮廓。例如,可以使用LIDAR检测街道,该街道没有沿其行驶的车辆或停在其旁边的车辆。示例应用可以包括从空的街道获得传感器数据、根据本文描述的方法模拟感测沿着空的街道的车辆的模型、然后训练机器学习模型118以通过移除与添加的车辆相对应的点生成对应于空的街道的点云。
服务器系统102可以执行训练引擎120。训练引擎120可以包括定位器模块122a。定位器模块122a可以被编程为识别包括传感器数据的空间区域中的坐标,该空间区域当前未被障碍物占用。如下所述,这可以包括识别地平面,例如街道、侧墙、停车场或其他表面。
训练引擎120可包括插入模块122b。插入模块122b为由定位器模块122a识别的一个或多个未占用区域内的一个或多个对象模型114选择位置。在一些实施例中,可以由用户手动指定位置以便创建期望的场景。在其他实施例中,插入模块122b可以随机选择一个或多个未占用区域内的位置。也可以是非随机自动选择的位置(例如使用车辆驾驶员的实施模型)。
训练引擎120可以包括模拟模块122c。模拟模块122c模拟插入的对象模型114的检测和对传感器数据的调整以与对象模型114的存在一致。如下所述,这可以包括如果对象模型114的现实世界类似物实际上存在,移除将被遮盖的传感器数据。
训练引擎120可以执行训练模块122d,其使用根据本文公开的方法修改的传感器数据训练机器学习模型118。如本领域所知,需要大量训练数据来训练机器学习模型。因此,可以修改数百或数千组传感器数据并将其用于训练机器学习模型118。
参考图1B,机器学习模型118可以用于在所示系统124中执行障碍物检测,该系统124可以结合到车辆(例如自主或人工操作的车辆)中。例如,系统124可包括容纳在车辆内的控制器126。车辆可以包括本领域已知的任何车辆。车辆可以具有本领域已知的任何车辆的所有结构和特征,包括车轮、连接到车轮的传动系、连接到传动系的发动机、转向系统、制动系统和包含在车辆中的本领域已知的其他系统。
如本文中更详细讨论的,控制器126可以执行自主导航和碰撞避免。特别地,可以分析LIDAR数据、图像数据、RADAR数据和一种或多种类型的传感器数据中的一个或多个以识别障碍物。
控制器126可以从一个或多个成像设备128接收一个或多个图像流。例如,一个或多个摄像机可以安装到车辆并输出由控制器126接收的图像流。控制器126可以从一个或多个麦克风130接收一个或多个音频流。例如,可以将一个或多个麦克风或麦克风阵列安装到车辆并输出由控制器126接收的音频流。麦克风130可以包括具有随角度变化的灵敏度的定向麦克风。
在一些实施例中,系统124可包括连接到控制器126的其他传感器132,例如LIDAR、RADAR、声呐和超声波传感器等中的一个或多个。感测设备128、130、132的位置和取向可以对应于用于训练机器学习模型118的传感器模型110中建模的那些。
控制器126可以执行碰撞避免模块134,碰撞避免模块134接收感测设备128、130、132的输出、检测输出中的障碍物并采取行动以避开障碍物。碰撞避免模块134可以包括或体现为使用根据本文描述的方法生成的修改的传感器数据训练的机器学习模型118。碰撞避免模块134还可以是使用根据本文公开的方法生成的扩增传感器数据来调谐或测试的编程控制系统。
碰撞避免模块134可以包括障碍物识别模块136a,障碍物识别模块136a接收感测设备128、130、132的输出并输出关于障碍物的位置的估计以及可能的障碍物的分类(车辆、行人、建筑物、动物等)。
碰撞避免模块134可以进一步执行碰撞预测模块136b,碰撞预测模块136b基于车辆当前轨迹或当前预期路径,预测哪些障碍物图像可能与车辆碰撞。碰撞预测模块136b可以评估与障碍物识别模块136a识别的对象碰撞的可能性。
然后,决策模块136c可以做出停止、加速、转弯等的决定,以避开障碍物。碰撞预测模块132c预测潜在碰撞的方式和决策模块132d采取行动以避免潜在碰撞的方式可以根据自主车辆领域中已知的任何方法或系统。
决策模块136c可以通过驱动控制车辆的方向和速度的一个或多个驱动器138来控制车辆的轨迹。例如,驱动器138可以包括转向驱动器140a、加速器驱动器140b和制动驱动器140c。驱动器140a-140c的配置可以根据自主车辆领域中已知的这种驱动器的任何实施方式。
图2是示出示例计算设备200的框图。计算设备200可以用于执行各种过程,例如本文所讨论的过程。服务器系统102和控制器126可以具有计算设备200的一些或全部属性。
计算设备200包括一个或多个处理器202、一个或多个存储器设备204、一个或多个接口206、一个或多个大容量存储设备208、一个或多个输入/输出(I/O)设备210和显示设备230,所有这些设备都连接到总线212。处理器202包括执行存储在存储器设备204和/或大容量存储设备208中的指令的一个或多个处理器或控制器。处理器202还可以包括各种类型的计算机可读介质,例如高速缓冲存储器。
存储器设备204包括各种计算机可读介质,诸如易失性存储器(例如随机存取存储器(RAM)214)和/或非易失性存储器(例如只读存储器(ROM)216)。存储器设备204还可以包括可重写ROM,例如闪存。
大容量存储设备208包括各种计算机可读介质,诸如磁带、磁盘、光盘、固态存储器(例如闪存)等。如图2所示,特定大容量存储设备是硬盘驱动器224。各种驱动器也可以包括在大容量存储设备208中,以使得能够从各种计算机可读介质读取和/或写入。大容量存储设备208包括可移动介质226和/或不可移动介质。
I/O设备210包括允许将数据和/或其他信息输入到计算设备200或从计算设备200检索的各种设备。示例I/O设备210包括光标控制设备、键盘、小键盘、麦克风、监视器或其他显示设备、扬声器、打印机、网络接口卡、调制解调器、镜头、CCD(电荷耦合器件)或其他图像捕获设备等。
显示设备230包括能够向计算设备200的一个或多个用户显示信息的任何类型的设备。显示设备230的示例包括监视器、显示终端、视频投影设备等。
接口206包括允许计算设备200与其他系统、设备或计算环境交互的各种接口。示例接口206包括任何数量的不同网络接口220,例如到局域网(LAN)、广域网(WAN)、无线网络和因特网的接口。其他接口包括用户接口218和外围设备接口222。接口206还可以包括一个或多个外围接口,例如用于打印机、指示设备(鼠标、跟踪板等)、键盘等的接口。
总线212允许处理器202、存储器设备204、接口206、大容量存储设备208、I/O设备210和显示设备230彼此通信以及与连接到总线212的其他设备或部件通信。总线212表示几种类型的总线结构中的一种或多种,例如系统总线、PCI(外部控制器接口)总线、IEEE(电气与电子工程师协会)1394总线、USB(通用串行总线)总线等。
出于说明的目的,程序和其它可执行程序部件在本文中显示为离散框,但应理解,此类程序和部件可在不同时间驻留在计算设备200的不同存储部件中,且由处理器202执行。或者,这里描述的系统和过程可以用硬件或硬件、软件和/或固件的组合来实现。例如,可以编程一个或多个专用集成电路(ASIC)以执行这里描述的一个或多个系统和过程。
参考图3,所示出的方法300可以由服务器系统102执行,以便生成用于训练目的的模拟传感器数据。扩增传感器数据还可以用于测试和验证控制算法或其他类型的系统或方法。在另一示例中,扩增传感器数据可用于测试或验证用于使用传感器数据感测对象的检测算法。检测算法可以单独测试或与控制算法组合测试,该控制算法基于检测算法的输出做出决定。方法300可以包括接收302原始传感器数据。原始传感器数据可以包括在车辆穿越轨迹时在一段时间内从车辆的实际传感器接收的一系列传感器输出。因此,传感器数据将包括指示传感器对通常遇到的结构的感测的数据,例如街道、建筑物、其他车辆、行人、动物、碎片等中的一个或多个。
每个传感器的输出将包括一系列数据集,该系列中的每个数据集表示传感器在一个时间点或传感器刷新率的一个周期的输出。在使用多个传感器的情况下,原始传感器数据将包括用于每个可以具有相同或不同的刷新率或采样率的传感器的一系列数据集。
方法300可以包括提取304车辆的驾驶轨迹。这可以包括从原始传感器数据302接收一系列GPS(全球定位系统)坐标。GPS坐标可以被加时间戳或以已知的采样率记录,使得与每个坐标相关联的时间是已知的并且可以同时与另一个传感器的输出关联(即最接近采样/刷新率不相等或未对准的时间)。轨迹的提取还可以通过算法来定义,该算法利用随时间来自一个或多个传感器的数据来定义驾驶轨迹。用于此目的的已知概念是例如测距法(Odometry)、即时定位与地图构建(SLAM)或运动结构(Structure from Motion)。
方法300还可以包括随时间提取306可用空间。这可以包括识别捕获未被占用的原始传感器数据的车辆环境的部分。例如,对于LIDAR数据,点云中的点可以在车辆的取向中或者与车辆的取向相关。因此,已知相对于车辆的垂直轴的点的高度。高于指定阈值高度的那些点可以被确定为潜在高度,但是可以确定低于该阈值的点可能是地平面,例如路面。然后可以识别低于阈值的点的区域。包含不包括任何高于阈值点的区域的连续点的集群可以被确定为未被占用的区域。在其他示例中,自由空间不限于在地面水平面。例如,运动中的鸟、无人机、悬垂的树枝、车辆或人员由于意外或其他结构可以定位在地面上方的自由空间中。因此,可用空间可被识别为没有高于阈值的点的空间体积。阈值可以取决于应用,例如在要添加的对象不在地面上的情况下更高。
注意,水平面上方的点的垂直高度可以参考车辆的水平面而不是垂直于重力方向的平面来定义。以这种方式,当车辆位于山坡上时,山坡上的点将不会被错误地解释为高于阈值。
由于传感器数据包括一系列数据集,因此可以从单个数据集或多个连续数据集中提取可用空间。
在视觉数据的情况下,可以分析图像的颜色和纹理以识别可用空间,例如混凝土、沥青、砾石或其他驾驶表面的颜色和纹理可以被识别为自由空间。可以从可用空间中排除包括可识别为车辆、建筑物、行人、动物等的对象的图像部分。在3D成像系统可以使用来自多个摄像机的图像以从一个或多个2D图像构建3D模型的情况下,可以从3D模型确定这些可用空间的3D位置。在一些实施例中,传感器融合可以用于组合来自LIDAR点的洞察以创建与影像组合的实际3D场景。在这样的实施例中,可以基于3D场景的区域(沥青、混凝土等)的颜色和场景中的点的高度来识别自由空间,如上面关于LIDAR数据所概述的。
方法300可以包括从步骤306中识别的那些中选择308可用空间。例如,轨迹的GPS坐标可以被映射到LIDAR系统或3D成像系统的点云的坐标系。由于位于轨迹上的空间,可以选择可用空间。在许多应用中,步骤308可以手动执行,并且可以简单地包括接收在步骤306识别的可用空间的用户选择。例如,传感器数据可以以图形方式表示,其中可用空间被突出显示并且与可选择的用户界面元素相关联,以便接收用户对可用空间的选择。
方法300还可以包括选择310对象模型。例如,对于在步骤308选择的空间,可以自动选择具有小于或等于空间的覆盖区(footprint)的对象模型。因此,对象模型114可以包括对象模型的覆盖区的大小以实现该比较。对于步骤308,还可以通过从多个对象模型114的集合接收对象模型114的用户选择来手动执行步骤310。
可以针对与不同时间步长相对应的不同数据集重复执行步骤312-318,以便提供可以用于训练机器学习模型的一系列扩增数据集。也可以对多个传感器的输出执行步骤312-318。
方法300还可以包括将对象模型114定向312在原始传感器数据的坐标系内。例如,对于在步骤308选择的区域,可以将平面拟合到识别所选区域的数据集中的点。然后可以定向对象,使得对象模型的基部(例如车辆轮胎的底部、行人或动物模型的脚等)平行于该平面并与该平面共同定位。可以选择对象模型114在所选空间内的位置以位于步骤304的轨迹上,使得如果对象模型114实际存在,则车辆将与对象模型114碰撞。
如上所述,原始传感器数据可以包括多个时间点的多个数据集。因此,可以针对多个数据集执行步骤312,使得对象与静止对象或与其现实世界类似物(例如行人的行走速度、车辆的驾驶速度等)一致地移动的对象保持一致地相对于每个数据集的坐标系定向312。例如,如上所述,每个数据集的坐标系可以与车辆的GPS坐标相关。因此,可以使用在时间上最接近每个数据集的车辆的GPS坐标(或者通过内插对每个数据集近似)来将对象模型的取向从一个数据集变换为下一个数据集以模拟静止对象或根据相对于车辆轨迹的期望轨迹移动的对象。
然后,方法300可以包括从车辆的传感器的角度生成314模拟对象模型的感测的模拟传感器输出。这可以包括使用相应的传感器模型110来模拟来自步骤312的位置和取向处的对象模型的感测。例如,对于LIDAR,可以生成符合对象模型的表面的点云,其中根据LIDAR传感器的传感器模型112b确定点的密度和反射率。
在另一个示例中,可以生成314对象模型在步骤312的其位置和取向处的渲染。执行此操作的技术可以包括使用本领域中已知的任何计算机动画技术,这些通常用于为电影和电视添加计算机生成的图像。特别地,可以近似原始场景的照明以模拟对象模型114的照明并提供逼真的渲染。此外,3D环境(包括局部灯光)可用于创建复杂的阴影。例如,来自LIDAR点云和摄像机数据的3D数据可用于检测结构并计算将由这样的结构以及对象模型投射的阴影。可以从区域的预先存在的3D地图获得可以投射阴影的灯光和结构的位置。
在又一个示例中,可以根据RADAR传感器模型112c在步骤312的位置和取向处针对对象模型模拟来自RADAR传感器的无线电波的反射和检测。
然后,方法300可以包括将模拟的传感器数据添加316到原始传感器数据302以获得扩增的传感器数据。注意,可以将任意数量的对象插入到场景中,并且可以将对应的传感器数据添加到原始传感器数据中。对于LIDAR,这可以包括将对象模型的点云添加到给定数据帧(即在步骤306-312分析的数据帧)的点云。对于RADAR,在步骤314模拟的RADAR信号的反射可以被添加到给定时间步长内的原始传感器输出中的反射。对于图像数据,对象模型的渲染可以叠加在图像上或者添加到给定时间步长内的从图像获得的3D模型中。
方法300可以进一步包括移除318原始传感器数据(如果存在的话,该原始传感器数据将被对象模型阻挡)。RADAR的一个优点是波甚至可以“穿过”对象(例如在地面和汽车的下端之间),因此另一个对象后面的对象对于RADAR设备不一定被隐藏,而对于LIDAR或摄像机其可以被隐藏(尽管车窗可以提供穿过对象的可见性)。因此,对于RADAR数据,可以在确定原始数据是否实际被阻挡时模拟RADAR波的这些属性。在添加多个对象的情况下,可以确定每个对象阻挡的原始数据。还可以计算和移除被其他添加的对象模型阻挡的对象模型的模拟数据的部分。或者,在步骤314,可以利用具有来自步骤308和310的相对取向和定位的多个对象模型来执行对添加的对象模型的感测的模拟。以这种方式,在感测对象模型组的模拟中将考虑任何阻挡。
参考图4A和4B以及图5A和5B可以理解方法300的该过程和其他步骤。然后可以输出具有根据步骤318移除的数据的扩增传感器数据,并将其用于训练目的或其可能有益的任何其他应用。
如图4A所示,典型的驾驶场景包括道路400,道路400具有多个车辆402占据的区域以及未被占用的一个或多个区域404。主车辆406(即感测场景的车辆)位于道路400上并且使用诸如摄像机408a-408c、RADAR传感器410a-410b和LIDAR传感器412之类的传感器来感测场景(包括其他车辆402)。其他传感器也可以使用,诸如麦克风、超声波传感器等。
参考图5A和5B,在所示的示例中,可以将正在钻车缝的摩托车手的对象模型500添加到未占用区域404。其他示例位置包括在主车辆406的前面,使得对象模型500如果真的存在就会被撞击。然后可以基于这些传感器的模型以及这些传感器在主车辆406上的位置来执行由传感器408a-408c、410b、412中的一个或多个对对象模型500的模拟感测。
如图5A和5B中显而易见的,对象模型500插入在一些传感器408a-408c、410b、412和一辆其他车辆402之间。因此,可以以上述方式从传感器输出中移除对应于被阻挡车辆的传感器输出。在一些实施例中,为了减少计算需求,可以在源自传感器(在所示示例中为LIDAR传感器412)的位置并且限定对象模型500的锥体502内评估被阻挡的传感器数据。如图5A所示,锥体可以是圆锥形或截头圆锥形的,并且其尺寸可以使得对象模型500完全位于锥体502内。例如,可以选择锥体502的夹角(included angle),使得锥体502在一个或多个点处与对象模型500相切,而对象模型500的点不在锥体502的外部。
然后可以评估具有锥体502内的坐标并且大致在对象后面的传感器数据,以确定在存在对象模型500的情况下该点是否是可检测的。例如,在一个实施方式中,除了锥体502之外,可以在对象周围限定3D圆柱体。然后仅评估在圆柱体内或相对于车辆在圆柱体后面的那些点以便移除。
如果不是,则发现点不可检测。然后可以从扩增的传感器数据中移除该点。如下所述,对象模型500可以表示为一组三角形。可以评估从传感器位置发射到原始传感器数据中的点的射线以确定射线是否与这些三角形中的一个相交。如果是,则可以从扩增的传感器数据中消除该点。该方法对于LIDAR数据以及用于确定覆盖哪些像素以用于从图像或者一个或多个图像和LIDAR数据的组合生成的3D图像是有用的。对于RADAR数据,可以执行对插入的对象模型周围的RADAR波的传播的模拟,以确定来自原始传感器数据的反射是否将接收发射波以及反射是否仍然可以到达传感器。
参考图6,所示方法600是方法300的更详细的应用,其特别适用于LIDAR传感器数据。可以在一段时间内针对LIDAR数据的每个帧执行方法600。如上所述,可以针对方法600的每次迭代调整对象模型的位置,以模拟静止对象或模拟对象模型的期望轨迹。
方法600可以包括以与方法300的步骤302相同的方式接收602原始LIDAR传感器输出。方法600还可以包括选择增强现实(AR)对象模型的2D位置。在典型的LIDAR系统中,两个坐标轴(X、Y)平行于车辆的水平面,例如,平行于支撑车辆的平坦表面。因此,步骤604包括选择X和Y坐标(dx、dy)以放置AR(增强现实)对象模型。如上面关于步骤308所述,该过程可以是自动的或可以手动执行。例如,坐标dx、dy可以从以上关于步骤304-308描述的方式识别的可用空间中选择。
在AR对象模型未放置在地面上的情况下,可以从用户接收或自动选择其他参数,例如沿Z轴的垂直位置(dz)和方向,例如以模拟空中对象。
方法600可以包括计算606AR对象下方的区域。例如,这可以包括识别矩形的尺寸,在该矩形内AR对象上的点的所有X和Y坐标都适合。然后,方法600可以包括评估608该区域是否包括足以定义平面的点。具体地,在步骤604选择的2D位置为中心的矩形内具有X和Y坐标的LIDAR点云中是否有足够的点。
足以定义平面的点的数量可以是由设计者指定的预定值。足够的数量取决于用于拟合平面的方法。可以使用用于找到近似点阵列的平面的任何方法,诸如最小二乘法、RANSAC(随机样本一致性)算法、霍夫变换或本领域中已知的其他方法。例如,三个点足以定义平面。然而,很多时候可能需要这个数字来提高准确度,例如从6到300的数字。
如果点的数量不足,则可以根据预定义的增量或百分比递增地扩大610区域,直到找到608足以精确地定义该区域的平面的点数。
然后,方法600可以包括旋转612AR对象模型,使得其相对于在步骤606-610中使用上面概述的任何平面定义技术计算的区域近似的平面来正确地定向。特别地,AR对象模型可以定义限定水平平面的局部坐标系。可以应用到AR对象模型的变换,使得水平平面与步骤606-610中的区域的平面平行。AR对象模型可以定义参考点,诸如模型的局部水平平面中的中心点或一些其他预定义点。在步骤612,该点可以位于步骤604的2D位置。
方法600可以进一步包括:当捕获原始LIDAR传感器输出时,定义614位于步骤604的位置和相对于车辆的步骤614的取向处的AR对象的模拟点云。这可以包括使用LIDAR传感器模型112b的点密度、波长和其他属性以及AR对象模型(参见上面对象模型114的描述)的反射率和尺寸来模拟AR对象模型的扫描。步骤614处的点云的点可以被添加616到原始LIDAR传感器输出以获得扩增的传感器输出。
还可以为AR对象模型定义618三角形网格。三角形网格定义顶点在AR对象模型的表面上的三角形。这些点可以是AR对象模型本身的点或来自步骤616的点云的点。该网格可以自动计算,例如贪婪表面三角测量算法或本领域已知的其他方法。
方法600还可以包括计算619AR对象模型的阴影锥体。如上面关于方法300所描述的,这可以包括定义截头圆锥形状,该截头圆锥形状与AR对象模型的点相切,但是使得AR对象模型的点不在截头圆锥形状之外。对于阴影锥体内的原始LIDAR传感器输出602的点,该方法可以包括执行620射线-三角形相交测试。特别地,如果从传感器的位置延伸到点的线穿过AR对象模型的三角形之一,则该点将从扩增的传感器输出中移除622。
图7A至7C示出了方法600的示例使用。图7A示出了原始LIDAR传感器输出。图7B示出了叠加在原始LIDAR传感器输出上的AR对象模型702的阴影锥体700。图7C示出了最终的扩增传感器输出,其中已经添加了用于对象模型702的模拟点云并且已经去除了阴影锥体700中的点。
在以上公开中,已经参考了形成本发明的一部分的附图,并且其中通过图示的方式示出了可以实践本公开的具体实施方式。应当理解,在不脱离本公开的范围的情况下,可以利用其他实施方式并且可以进行结构改变。说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括特定特征、结构或特性。而且,这些短语不一定指的是同一实施例。此外,当结合实施例描述特定特征、结构或特性时,提出无论是否明确描述,结合其他实施例影响这些特征、结构或特性在本领域技术人员的知识范围内。
本文公开的系统、设备和方法的实施方式可以包括或利用包括计算机硬件的专用或通用计算机,例如,如本文所讨论的一个或多个处理器和系统存储器。本公开范围内的实施方式还可以包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这种计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施方式可以包括至少两种截然不同的计算机可读介质:计算机存储介质(设备)和传输介质。
计算机存储介质(设备)包括RAM、ROM、EEPROM(电可擦可编程只读存储器)、CD-ROM(只读光盘驱动器)、固态驱动器(“SSD”)(例如基于RAM)、闪存、相变存储器(“PCM”)、其他存储器类型、其他光盘存储器、磁盘存储器或其他磁存储设备、或可用于存储所需程序代码的形式为计算机可执行指令或数据结构并且可由通用或专用计算机访问的任何其他介质。
本文公开的设备、系统和方法的实施方式可以通过计算机网络进行通信。“网络”被定义为能够在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当通过网络或其他通信连接(硬连线、无线或硬连线或无线的组合)向计算机传输或提供信息时,计算机将连接正确地视为传输介质。传输介质可以包括网络和/或数据链路,该网络和/或数据链路可以用于以计算机可执行指令或数据结构的形式携带期望的程序代码装置并且可以由通用或专用计算机访问。上述的组合也应包括在计算机可读介质的范围内。
计算机可执行指令包括例如指令和数据,该指令和数据当在处理器处执行时,使得通用计算机、专用计算机或专用处理设备执行特定功能或功能组。计算机可执行指令可以是例如二进制文件、诸如汇编语言的中间格式指令或甚至是源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但应理解,所附权利要求书中定义的主题不必限于上述所描述的特征或动作。而是,所描述的特征和动作被公开为实现权利要求的示例形式。
本领域技术人员将理解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实践,包括仪表板内的车辆计算机、个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA(个人数字助理)、平板电脑、寻呼机、路由器、交换机、各种存储设备等。本公开还可以在分布式系统环境中实施,其中通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
此外,在适当的情况下,本文描述的功能可以在以下中的一个或多个中执行:硬件、软件、固件、数字部件或模拟部件。例如,可以编程一个或多个专用集成电路(ASIC)以执行这里描述的一个或多个系统和过程。在整个说明书和权利要求中使用某些术语来指代特定的系统部件。如本领域技术人员将理解的,可以通过不同的名称来引用部件。本文档无意区分名称不同但功能相同的部件。
应注意,上文讨论的传感器实施例可包括计算机硬件、软件、固件或其任何组合以执行其功能的至少一部分。例如,传感器可以包括被配置为在一个或多个处理器中执行的计算机代码,并且可以包括由计算机代码控制的硬件逻辑/电路。这些示例性设备在本文中提供用于说明的目的,而不是限制性的。如相关领域的技术人员将知道的,本公开的实施例可以在其他类型的设备中实现。本公开的至少一些实施例涉及包括存储在任何计算机可用介质上的这种逻辑(例如以软件的形式)的计算机程序产品。当在一个或多个数据处理设备中执行时,这种软件使设备如本文所述进行操作。
用于执行本发明的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,编程语言包括诸如Java、Smalltalk、C++等的面向对象的编程语言和诸如“C”编程语言或类似的编程语言的传统程序编程语言。程序代码可以作为独立的软件包完全在计算机系统上执行、在独立的硬件单元上执行、部分地在与计算机隔开一定距离的远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过包括局域网(LAN)或广域网(WAN)或者可以连接到外部计算机(例如通过使用互联网服务提供商的互联网)的任何类型的网络连接到计算机。
以上参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明。将理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机程序指令或代码实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机的处理器或其他可编程数据处理装置执行的指令创建用于实现流程图和/或框图块中指定的功能/动作的手段。
这些计算机程序指令还可以存储在非暂时性计算机可读介质中,该计算机可读介质可以指示计算机或其他可编程数据处理装置以特定方式起作用,使得存储在计算机可读介质中的指令产生包括指令手段的制品,该指令手段实现在流程图和/或框图块中指定的功能/动作。
还可以将计算机程序指令加载到计算机或其他可编程数据处理装置上,以使得在计算机或其他可编程装置上执行一系列操作步骤,以产生计算机实现的过程,使得载计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图块中指定的功能/动作的过程。
虽然上面已经描述了本公开的各种实施例,但是应该理解,它们仅以示例的方式呈现,而不是限制。对于相关领域的技术人员显而易见的是,在不脱离本公开的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。因此,本公开的广度和范围不应受任何上述示例性实施例的限制,而应仅根据所附权利要求及其等同范围来限定。已经出于说明和描述的目的呈现了前面的描述。其并非旨在穷举或将本公开限制于所公开的精确形式。鉴于上述教导,许多修改和变化都是可能的。此外,应该注意,任何或所有上述替代实施方式可以以期望的任何组合使用,以形成本公开的另外的混合实施方式。
Claims (15)
1.一种方法,包括由计算设备执行以下操作:
从车辆的控制器接收传感器数据;
识别所述传感器数据中所述车辆周围的可用空间;
将对象模型放置在相对于所述车辆的位置处;
模拟所述对象模型的感测以获得模拟的传感器数据;以及
将所述模拟的传感器数据添加到所述传感器数据以获得扩增的传感器数据。
2.根据权利要求1所述的方法,包括:
通过所述计算设备识别由于在所述相对位置放置所述对象模型而无法检测到的所述传感器数据的一部分;以及
通过所述计算设备从所述扩增的传感器数据中去除所述传感器数据的所述部分。
3.根据权利要求2所述的方法,还包括:
通过所述计算设备相对于所述车辆上的传感器位置定义所述对象模型的阴影锥体;以及
通过所述计算设备在所述阴影锥体内搜索无法检测到的所述传感器数据的所述部分。
4.根据权利要求1所述的方法,还包括:
通过所述计算设备识别所述相对位置周围的可用空间区域;
通过所述计算设备将平面拟合到所述区域;以及
通过所述计算设备根据所述平面的取向变换所述对象模型。
5.根据权利要求4所述的方法,还包括:
通过所述计算设备将所述区域识别为被所述对象模型覆盖的区域;
通过所述计算设备确定(a)所述区域覆盖所述传感器数据的不足以定义所述平面的数据点;以及
响应于确定(a),通过所述计算设备扩展所述区域,直到所述区域覆盖足以拟合所述平面的数据点。
6.根据权利要求1所述的方法,其中识别所述传感器数据中的所述车辆周围的所述可用空间包括:
通过所述计算设备评估与所述传感器数据中的数据点相关联的高度;以及
通过所述计算设备将满足以下条件的区域识别为所述可用空间:与所述区域中的数据点相关联的所述高度小于阈值高度;
其中,评估与所述传感器数据中的数据点相关联的所述高度包括通过所述计算设备相对于所述车辆的水平面定义所述高度。
7.根据权利要求1所述的方法,其中所述传感器数据包括LIDAR(光检测和测距)、RADAR(无线电检测和测距)和图像数据中的至少一个。
8.根据权利要求1所述的方法,还包括将扩增的训练数据用于以下中的至少一个:
通过所述计算设备测试检测算法;
通过所述计算设备测试控制算法;
通过所述计算设备训练机器学习模型以检测障碍物;以及
通过所述计算设备训练所述机器学习模型以从传感器输出中移除对象。
9.一种系统,包括一个或多个处理设备和可操作地连接到所述一个或多个处理设备的一个或多个存储器设备,所述一个或多个存储器设备存储可执行代码,所述可执行代码有效地使所述一个或多个处理设备执行以下操作:
从车辆控制器接收传感器数据,所述传感器数据包括LIDAR(光检测和测距)、RADAR(无线电检测和测距)和图像数据中的至少一个;
识别所述传感器数据中所述车辆周围的可用空间;
将对象模型放置在相对于所述车辆的位置处;
模拟所述对象模型的感测,以获得模拟的传感器数据;以及
将所述模拟的传感器数据添加到所述传感器数据以获得扩增的传感器数据。
10.根据权利要求9所述的系统,其中所述可执行代码进一步有效地使所述一个或多个处理设备执行以下操作:
识别由于所述对象模型放置在所述相对位置处而无法检测到的所述传感器数据的一部分;以及
从所述扩增的传感器数据中移除所述传感器数据的所述部分。
11.根据权利要求10所述的系统,其中所述可执行代码进一步有效地使所述一个或多个处理设备执行以下操作:
相对于所述车辆上的传感器位置定义所述对象模型的阴影锥体;以及
在所述阴影锥体内搜索无法检测到的所述传感器数据的所述部分。
12.根据权利要求9所述的系统,其中所述可执行代码进一步有效地使所述一个或多个处理设备执行以下操作:
识别所述相对位置周围的可用空间区域;
将平面拟合到所述区域;以及
根据所述平面的取向变换所述对象模型。
13.根据权利要求12所述的系统,其中所述可执行代码进一步有效地使所述一个或多个处理设备执行以下操作:
将所述区域识别为被所述对象模型覆盖的区域;
评估是否(a)所述区域覆盖所述传感器数据的不足以定义所述平面的数据点;以及
如果(a),扩展所述区域,直到所述区域覆盖足以拟合所述平面的数据点。
14.根据权利要求9所述的系统,其中所述可执行代码进一步有效地使所述一个或多个处理设备执行以下操作:
评估与所述传感器数据中的数据点相关联的高度;以及
将满足以下条件的区域识别为所述可用空间:与所述区域中的数据点相关联的所述高度小于阈值高度;
其中,可执行代码进一步有效地使所述一个或多个处理设备通过相对于所述车辆的水平面定义所述高度来评估与所述传感器数据中的数据点相关联的所述高度。
15.根据权利要求9所述的系统,其中所述可执行代码进一步有效地使所述一个或多个处理设备将所述扩增的传感器数据用于以下中的至少一个:
测试检测算法;
测试控制算法;
训练机器学习模型以检测障碍物;以及
训练所述机器学习模型以从传感器输出中移除对象。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/693,203 | 2017-08-31 | ||
US15/693,203 US11487988B2 (en) | 2017-08-31 | 2017-08-31 | Augmenting real sensor recordings with simulated sensor data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109427214A true CN109427214A (zh) | 2019-03-05 |
Family
ID=65321444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810966138.5A Pending CN109427214A (zh) | 2017-08-31 | 2018-08-23 | 使用模拟传感器数据扩增现实传感器记录 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11487988B2 (zh) |
CN (1) | CN109427214A (zh) |
DE (1) | DE102018121018A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111479234A (zh) * | 2020-03-23 | 2020-07-31 | 南京晓庄学院 | 一种温湿度数据处理传感器网络 |
CN113496290A (zh) * | 2020-04-01 | 2021-10-12 | 辉达公司 | 使用采用模拟对象增强的图像训练机器学习模型 |
CN113677582A (zh) * | 2019-04-10 | 2021-11-19 | 伟摩有限责任公司 | 为自动车辆生成简化对象模型以减少计算资源要求 |
CN116724248A (zh) * | 2021-04-27 | 2023-09-08 | 埃尔构人工智能有限责任公司 | 用于产生非模态长方体的系统和方法 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018111709A1 (de) * | 2017-05-18 | 2018-11-22 | Konrad Gmbh | Simulationsvorrichtung für eine Kraftfahrzeugüberwachung |
US10026209B1 (en) * | 2017-12-21 | 2018-07-17 | Capital One Services, Llc | Ground plane detection for placement of augmented reality objects |
US11042163B2 (en) | 2018-01-07 | 2021-06-22 | Nvidia Corporation | Guiding vehicles through vehicle maneuvers using machine learning models |
DE112019000065T5 (de) | 2018-02-02 | 2020-03-05 | Nvidia Corporation | Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug |
CN111095291B (zh) | 2018-02-27 | 2024-04-09 | 辉达公司 | 由自动驾驶车辆实时检测车道和边界 |
KR101967339B1 (ko) * | 2018-03-06 | 2019-04-09 | 단국대학교 산학협력단 | 심층학습 기반의 adas 센서 고장 진단 및 백업을 위한 장치 및 방법 |
WO2019178548A1 (en) | 2018-03-15 | 2019-09-19 | Nvidia Corporation | Determining drivable free-space for autonomous vehicles |
WO2019182974A2 (en) | 2018-03-21 | 2019-09-26 | Nvidia Corporation | Stereo depth estimation using deep neural networks |
CN111919225B (zh) * | 2018-03-27 | 2024-03-26 | 辉达公司 | 使用模拟环境对自主机器进行培训、测试和验证 |
US11493927B2 (en) | 2018-06-01 | 2022-11-08 | Thales Canada, Inc. | Self learning vehicle control system |
US11966838B2 (en) | 2018-06-19 | 2024-04-23 | Nvidia Corporation | Behavior-guided path planning in autonomous machine applications |
US11610115B2 (en) | 2018-11-16 | 2023-03-21 | Nvidia Corporation | Learning to generate synthetic datasets for training neural networks |
WO2020163390A1 (en) | 2019-02-05 | 2020-08-13 | Nvidia Corporation | Driving lane perception diversity and redundancy in autonomous driving applications |
CN113811886B (zh) | 2019-03-11 | 2024-03-19 | 辉达公司 | 自主机器应用中的路口检测和分类 |
JP2022531092A (ja) * | 2019-04-29 | 2022-07-06 | エヌビディア コーポレーション | 自律マシン・アプリケーションのための変換された現実世界センサ・データから現実的試験データをシミュレーションすること |
DE112020004139T5 (de) | 2019-08-31 | 2022-05-12 | Nvidia Corporation | Erstellung von karten und lokalisierung für anwendungen im bereich des autonomen fahrens |
US11765067B1 (en) * | 2019-12-28 | 2023-09-19 | Waymo Llc | Methods and apparatus for monitoring a sensor validator |
US11893457B2 (en) * | 2020-01-15 | 2024-02-06 | International Business Machines Corporation | Integrating simulated and real-world data to improve machine learning models |
EP4110668A4 (en) * | 2020-02-24 | 2024-06-12 | Ground Transportation Systems Canada Inc. | CONTROL DEVICE, CONTROL SYSTEM AND CONTROL METHOD FOR VEHICLE CONTROL |
US11814080B2 (en) | 2020-02-28 | 2023-11-14 | International Business Machines Corporation | Autonomous driving evaluation using data analysis |
US11644331B2 (en) | 2020-02-28 | 2023-05-09 | International Business Machines Corporation | Probe data generating system for simulator |
US11702101B2 (en) | 2020-02-28 | 2023-07-18 | International Business Machines Corporation | Automatic scenario generator using a computer for autonomous driving |
CN111506104B (zh) * | 2020-04-03 | 2021-10-01 | 北京邮电大学 | 一种规划无人机位置的方法及装置 |
US11676406B2 (en) | 2020-05-20 | 2023-06-13 | Applications Mobiles Overview Inc. | System and method of augmenting a three-dimensional objects training dataset |
CN116583891A (zh) * | 2020-08-28 | 2023-08-11 | 西门子工业软件有限责任公司 | 用于车辆核查和验证的危急场景识别 |
US11978266B2 (en) | 2020-10-21 | 2024-05-07 | Nvidia Corporation | Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications |
CN112256589B (zh) * | 2020-11-11 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 一种仿真模型的训练方法、点云数据的生成方法及装置 |
US20230169805A1 (en) * | 2021-11-29 | 2023-06-01 | Amazon Technologies, Inc. | Fleet data collection using a unified model to collect data from heterogenous vehicles |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040169663A1 (en) * | 2003-03-01 | 2004-09-02 | The Boeing Company | Systems and methods for providing enhanced vision imaging |
US20090185741A1 (en) * | 2008-01-09 | 2009-07-23 | Tiltan Systems Engineering Ltd. | Apparatus and method for automatic airborne LiDAR data processing and mapping using data obtained thereby |
US20140368493A1 (en) * | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Object removal using lidar-based classification |
US20160216377A1 (en) * | 2014-07-01 | 2016-07-28 | Sikorsky Aircraft Corporation | Obstacle data model construction system with range sensor shadows and use in motion planning |
US20170177954A1 (en) * | 2015-12-18 | 2017-06-22 | Ford Global Technologies, Llc | Virtual Sensor Data Generation For Wheel Stop Detection |
CN107031622A (zh) * | 2016-01-26 | 2017-08-11 | 福特全球技术公司 | 用于碰撞避免的训练算法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6619406B1 (en) | 1999-07-14 | 2003-09-16 | Cyra Technologies, Inc. | Advanced applications for 3-D autoscanning LIDAR system |
US8179393B2 (en) | 2009-02-13 | 2012-05-15 | Harris Corporation | Fusion of a 2D electro-optical image and 3D point cloud data for scene interpretation and registration performance assessment |
US8941641B2 (en) | 2009-03-31 | 2015-01-27 | Microsoft Corporation | Annotating or editing three dimensional space |
US8488877B1 (en) | 2009-12-02 | 2013-07-16 | Hrl Laboratories, Llc | System for object recognition in colorized point clouds |
US9129432B2 (en) | 2010-01-28 | 2015-09-08 | The Hong Kong University Of Science And Technology | Image-based procedural remodeling of buildings |
US8488011B2 (en) | 2011-02-08 | 2013-07-16 | Longsand Limited | System to augment a visual data stream based on a combination of geographical and visual information |
US20150040074A1 (en) | 2011-08-18 | 2015-02-05 | Layar B.V. | Methods and systems for enabling creation of augmented reality content |
KR20140045574A (ko) | 2011-09-08 | 2014-04-16 | 인텔 코오퍼레이션 | 이미지화된 오브젝트 특성들에 기초한 증강 현실 |
US9286711B2 (en) | 2011-09-30 | 2016-03-15 | Microsoft Technology Licensing, Llc | Representing a location at a previous time period using an augmented reality display |
US20130178257A1 (en) | 2012-01-06 | 2013-07-11 | Augaroo, Inc. | System and method for interacting with virtual objects in augmented realities |
US9128185B2 (en) | 2012-03-15 | 2015-09-08 | GM Global Technology Operations LLC | Methods and apparatus of fusing radar/camera object data and LiDAR scan points |
US9767606B2 (en) | 2016-01-12 | 2017-09-19 | Lenovo (Singapore) Pte. Ltd. | Automatic modification of augmented reality objects |
US10877152B2 (en) * | 2018-03-27 | 2020-12-29 | The Mathworks, Inc. | Systems and methods for generating synthetic sensor data |
-
2017
- 2017-08-31 US US15/693,203 patent/US11487988B2/en active Active
-
2018
- 2018-08-23 CN CN201810966138.5A patent/CN109427214A/zh active Pending
- 2018-08-28 DE DE102018121018.3A patent/DE102018121018A1/de active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040169663A1 (en) * | 2003-03-01 | 2004-09-02 | The Boeing Company | Systems and methods for providing enhanced vision imaging |
US20090185741A1 (en) * | 2008-01-09 | 2009-07-23 | Tiltan Systems Engineering Ltd. | Apparatus and method for automatic airborne LiDAR data processing and mapping using data obtained thereby |
US20140368493A1 (en) * | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Object removal using lidar-based classification |
US20160216377A1 (en) * | 2014-07-01 | 2016-07-28 | Sikorsky Aircraft Corporation | Obstacle data model construction system with range sensor shadows and use in motion planning |
US20170177954A1 (en) * | 2015-12-18 | 2017-06-22 | Ford Global Technologies, Llc | Virtual Sensor Data Generation For Wheel Stop Detection |
CN107031622A (zh) * | 2016-01-26 | 2017-08-11 | 福特全球技术公司 | 用于碰撞避免的训练算法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113677582A (zh) * | 2019-04-10 | 2021-11-19 | 伟摩有限责任公司 | 为自动车辆生成简化对象模型以减少计算资源要求 |
CN113677582B (zh) * | 2019-04-10 | 2023-04-04 | 伟摩有限责任公司 | 为自动车辆生成简化对象模型以减少计算资源要求 |
CN111479234A (zh) * | 2020-03-23 | 2020-07-31 | 南京晓庄学院 | 一种温湿度数据处理传感器网络 |
CN111479234B (zh) * | 2020-03-23 | 2022-05-24 | 南京晓庄学院 | 一种温湿度数据处理传感器网络 |
CN113496290A (zh) * | 2020-04-01 | 2021-10-12 | 辉达公司 | 使用采用模拟对象增强的图像训练机器学习模型 |
CN113496290B (zh) * | 2020-04-01 | 2024-07-19 | 辉达公司 | 使用采用模拟对象增强的图像训练机器学习模型 |
CN116724248A (zh) * | 2021-04-27 | 2023-09-08 | 埃尔构人工智能有限责任公司 | 用于产生非模态长方体的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US11487988B2 (en) | 2022-11-01 |
US20190065933A1 (en) | 2019-02-28 |
DE102018121018A1 (de) | 2019-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109427214A (zh) | 使用模拟传感器数据扩增现实传感器记录 | |
CN109425855A (zh) | 使用模拟传感器数据扩增现实传感器记录 | |
US12020476B2 (en) | Data synthesis for autonomous control systems | |
US11521009B2 (en) | Automatically generating training data for a lidar using simulated vehicles in virtual space | |
CN110032949B (zh) | 一种基于轻量化卷积神经网络的目标检测与定位方法 | |
US11656620B2 (en) | Generating environmental parameters based on sensor data using machine learning | |
US10534091B2 (en) | Method and apparatus for generating road surface, method and apparatus for processing point cloud data, computer program, and computer readable recording medium | |
US20180188733A1 (en) | Multi-channel sensor simulation for autonomous control systems | |
CN110235026A (zh) | 基于对齐的图像和激光雷达信息的车辆导航 | |
CN108271408A (zh) | 使用被动和主动测量生成场景的三维地图 | |
US20120155744A1 (en) | Image generation method | |
CN106503653A (zh) | 区域标注方法、装置和电子设备 | |
CN101681525A (zh) | 产生多视点全景图的方法及设备 | |
US11755917B2 (en) | Generating depth from camera images and known depth data using neural networks | |
CN110674705A (zh) | 基于多线激光雷达的小型障碍物检测方法及装置 | |
WO2011160672A1 (en) | Method for obtaining drivable road area | |
US20220300681A1 (en) | Devices, systems, methods, and media for point cloud data augmentation using model injection | |
CN117269940B (zh) | 点云数据生成方法、激光雷达的感知能力验证方法 | |
CN115236672A (zh) | 障碍物信息生成方法、装置、设备及计算机可读存储介质 | |
US20230110391A1 (en) | 3d sensing and visibility estimation | |
JP2024037165A (ja) | オブジェクトをモデリングするための方法、機器、記憶媒体及び車両制御方法 | |
WO2021180520A1 (en) | A system, a method and a computer program for generating a digital map of an environment | |
CN117034579A (zh) | 点云数据生成方法、装置、设备及存储介质 | |
CN114913508A (zh) | 基于主被动信息融合的户外环境障碍实时检测方法及系统 | |
CN118387108A (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 |