CN112639888B - 程序世界生成 - Google Patents
程序世界生成 Download PDFInfo
- Publication number
- CN112639888B CN112639888B CN201980053514.4A CN201980053514A CN112639888B CN 112639888 B CN112639888 B CN 112639888B CN 201980053514 A CN201980053514 A CN 201980053514A CN 112639888 B CN112639888 B CN 112639888B
- Authority
- CN
- China
- Prior art keywords
- data
- road
- grid
- environment
- simulation environment
- 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.)
- Active
Links
- 238000004088 simulation Methods 0.000 claims abstract description 285
- 238000012549 training Methods 0.000 claims abstract description 46
- 238000012360 testing method Methods 0.000 claims abstract description 35
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 230000000153 supplemental effect Effects 0.000 claims description 116
- 238000000034 method Methods 0.000 claims description 108
- 238000009877 rendering Methods 0.000 claims description 38
- 238000013480 data collection Methods 0.000 claims description 29
- 238000005259 measurement Methods 0.000 claims description 19
- 238000002156 mixing Methods 0.000 claims description 17
- 239000013589 supplement Substances 0.000 claims description 16
- 238000013500 data storage Methods 0.000 claims description 8
- 238000011157 data evaluation Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 230000007547 defect Effects 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 2
- 238000009499 grossing Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 20
- 230000008447 perception Effects 0.000 description 19
- 238000011156 evaluation Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 230000015654 memory Effects 0.000 description 16
- 238000013499 data model Methods 0.000 description 14
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 238000001994 activation Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000011524 similarity measure Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000002708 enhancing effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 239000000428 dust Substances 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000002604 ultrasonography Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000002845 discoloration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- 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/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- 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
- 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
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- 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/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/758—Involving statistics of pixels or of feature values, e.g. histogram matching
-
- 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/862—Combination of radar systems with sonar 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/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
- G01S15/00—Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
- G01S15/88—Sonar systems specially adapted for specific applications
- G01S15/89—Sonar 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
- G01S15/00—Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
- G01S15/88—Sonar systems specially adapted for specific applications
- G01S15/93—Sonar systems specially adapted for specific applications for anti-collision purposes
- G01S15/931—Sonar systems specially adapted for specific applications for anti-collision purposes of land 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
- 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
- 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/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land 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/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
- G01S2013/9318—Controlling the steering
-
- 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/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
- G01S2013/9322—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles using additional data, e.g. driver condition, road state or weather data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/06—Curved planar reformation of 3D line structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Remote Sensing (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Radar, Positioning & Navigation (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Architecture (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Traffic Control Systems (AREA)
- Processing Or Creating Images (AREA)
- Instructional Devices (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
本文描述了仿真环境的程序生成。在示例中,计算设备可以访问与真实环境相关联的道路网络数据。此外,计算设备可以基于传感器数据来生成与真实环境相关联的道路网格。计算设备可以将道路网络数据与道路网格相关联以生成仿真环境,并且可以至少部分地基于至少一个规则来将至少一个对象程序地渲染到仿真环境中。计算设备可以输出仿真环境,以用于对算法进行测试、验证或训练中的至少一项,该算法由自主车辆用于导航、规划或决策制定中的至少一项。
Description
优先权申请
本PCT国际申请是2018年10月17日提交的美国专利申请第16/163,478号的继续并要求享有其优先权,该美国专利申请要求于2018年8月9日提交的题为“Procedural Worldand Agent Generation”的美国临时专利申请第62/716,839号的优先权。该PCT国际申请还是2018年10月17日提交的美国专利申请第16/163,466号的继续并要求享有其优先权。所有上述申请的全部内容通过引用合并于此。
背景技术
仿真世界环境(“仿真环境”)包括各种环境的渲染。这样的渲染可以包括例如道路、车辆、行人等。仿真环境对于增强训练、测试和/或验证***可能是有用的。用于生成仿真环境的现有技术要求人工生成,这是计算密集且耗时的。
附图说明
参照附图描述具体实施方式。在图中,附图标记的最左边的数字标识该附图标记首次出现的附图。在不同图中使用相同的附图标记表示相似或相同的组件或特征。
图1示出了如本文描述的程序地渲染仿真环境的示例。
图2A-2F示出了如本文描述的仿真环境的程序渲染的各个方面的非限制性示例。
图3是示出如本文描述的用于程序地渲染仿真环境的示例***的框图。
图4示出了如本文描述的程序地渲染仿真环境的示例过程。
图5示出了如本文描述的将补充数据与道路网格整合的示例过程。
图6示出了如本文描述的用于将对象渲染到仿真环境中的示例过程。
具体实施方式
本文描述的技术针对程序世界生成的各个方面。也就是说,本文描述的技术针对程序地生成仿真世界,以用于测试、验证或训练由车辆用于导航、规划和/或决策制定的***和/或组件。在本文描述的至少一些示例中,可以生成这样生成的仿真世界,以呈现真实世界环境,并且至少在一些示例中,尽可能精确地生成这样生成的仿真世界。本文描述的技术描述了如何可以生成这样的仿真环境。
在示例中,本文描述的技术针对在真实环境中从各种传感器***接收传感器数据。传感器***可以包括但不限于光检测和测距(LIDAR)传感器,无线电检测和测距(RADAR)传感器,超声换能器,声音导航和测距(SONAR)传感器,飞行时间(ToF)传感器,位置传感器(例如,全球定位***(GPS)、指南针等),惯性传感器(例如,惯性测量单元、加速度计、磁力计、陀螺仪等),相机(例如,RGB、IR、强度、深度等),轮编码器,麦克风,环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等),等等。使用传感器数据,本文描述的技术可以生成、接收和/或以其他方式访问与真实环境相关联的道路网络数据以及与真实环境相关联的道路网格。本文描述的技术可以将道路网络数据与道路网格相关联以生成仿真环境。也就是说,代表真实环境的数据可以用于生成仿真环境。在一些示例中,可以用第三数据(例如,来自第三方的数据)补充仿真环境,该第三数据在本文中可以被称为“补充数据”。本文描述的技术进一步针对将对象和表面细节程序地渲染到仿真环境中。所得到的仿真环境可以用于测试、验证和/或训练由自主机器人计算设备(例如,自主车辆)用于导航、规划和/或决策制定的***和/或组件。
仿真环境可以用于增强训练、测试和/或验证自主车辆车载(onboard)的***(例如,人工智能(AI)栈的一个或多个组件)。例如,在至少一个示例中,例如当真实数据不容易获得时,当测试在真实环境中不安全时,以及为了生成比其他方式可用的数量级更大的数据,仿真环境对于训练自主车辆要车载使用的***(例如,这种***使用的模型)可能是有用的。在至少一个示例中,仿真环境可以用于生成用于罕见或不频繁发生的场景和/或对象的训练数据。此外,例如当真实环境不可用或不安全,或者地面真值以其他方式不可用时,仿真环境对于测试自主车辆(例如,在其上运行的模型和/或***)的性能可能是有用的。此外,在一些示例中,与仿真环境相关联的传感器数据可能比与真实环境相关联的传感器数据更准确(例如,由于遮挡、噪声、漂移等),并且因此,仿真环境可以用于验证与真实环境相关联地进行的观察。在一些示例中,仿真环境可以用于(例如,自主车辆车载的一个或多个传感器***的)校准。如上面描述的,本文描述的技术针对生成仿真环境并在各种场景中使用仿真环境。
本文描述的技术提供了各种计算效率。例如,通过利用本文描述的程序渲染技术,计算设备要求更少的计算资源,并且与经由常规技术可用的相比,可以更快地生成仿真世界。常规技术是不可扩展的。例如,使用常规技术,针对新地理位置生成仿真环境可能花费几天甚至几个月。生成数十个、数百个以及数千个新仿真环境——这与(例如,在这种自主车辆被部署在对应的新的真实环境中之前)训练、测试和/或验证自主车辆车载的***(例如,AI栈的一个或多个组件)所需的一样多——将花费数月甚至数年,由此限制了在进入新的真实环境之前训练、测试和/或验证自主车辆车载的这种***(例如,AI栈的一个或多个组件)的能力。本文描述的技术是非常规的,因为它们利用从真实环境收集到的传感器数据并且用第三数据补充该数据,以比利用常规技术可用的更高效地生成实质上准确的仿真环境(例如,相对于对应的真实环境)。此外,本文描述的技术——例如,通过对对象和/或表面细节的添加进行随机化和/或参数化来自定义仿真环境的外观——使得能够以比利用常规技术可用的更少的时间和更少的计算资源生成大型、可扩展的仿真环境。
此外,本文描述的技术针对安全性的改进。也就是说,由本文描述的生成技术产生的仿真环境可以用于测试、训练和验证自主车辆车载的***,以确保这种***当被部署在真实环境中时可以安全地操作自主车辆。也就是说,由本文描述的生成技术产生的仿真环境可以用于测试、训练和验证规划者***,该规划者***可以由自主车辆用来在真实环境中沿着轨迹导航自主车辆。因此,本文描述的技术所实现的这种训练、测试和验证可以提供确保自主车辆能够在真实世界环境中安全地操作的机会。这样,本文描述的技术改进了安全性和撞击导航。
图1示出了表示如本文描述的程序世界生成的示意图100。在示例中,一个或多个计算设备可以程序地渲染仿真环境,如本文描述的。
在至少一个示例中,数据收集设备102可以利用传感器***104来收集与真实环境相关联的传感器数据106。如上面描述的,传感器***104可以包括但不限于LIDAR传感器,RADAR传感器,超声换能器,SONAR传感器,ToF传感器,位置传感器(例如,GPS、指南针等),惯性传感器(例如,惯性测量单元、加速度计、磁力计、陀螺仪等),相机(例如,RGB、IR、强度、深度等),轮编码器,麦克风,环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等),等等。传感器***104可以输出传感器数据106,该传感器数据106可以被计算设备接收。在一些示例中,数据收集设备102可以是横穿真实环境的自主车辆,如图1所示。然而,数据收集设备102可以是能够在真实环境中收集传感器数据106的任何计算设备。
计算设备可以接收、生成和/或以其他方式访问道路网络数据108和/或道路网格110,其可以至少部分地基于传感器数据106。在至少一个示例中,道路网络数据108例如可以是指示以下中的一个或多个的二维(2D)或三维(3D)表示:驾驶车道元素、自行车车道元素、停车车道元素、人行横道元素、交叉路口元素、车道分隔线元素、交通灯元素、停止标志元素、停止线元素、让行标志元素、让行线元素、行驶道元素、减速带元素、违规穿越区域(例如,虚拟人行横道)、轨迹航点(例如,已知轨迹)、乘客接送点、标志位置元素、地理围栏元素等。在一些示例中,道路网络数据108可以用指示道路网络数据的特定部分的属性的信息来编码。例如,道路网络数据108中的道路线可以用指示该道路线与自行车车道元素、停车车道元素或人行横道元素相关联的信息来编码。
道路网格110可以包括3D图块(tile)(其可以由定位***输出,如下面描述的)。与这种道路网络数据108和/或道路网格110相关联的附加细节在2018年3月21日提交的美国专利申请第15/927,806号和2018年3月6日提交的美国专利申请第15/913,647号中描述,该两个申请的全部内容通过引用合并于此。计算设备可以将道路网络数据108与道路网格110相关联以生成仿真环境112。在至少一些情况下,这种整合可以包括将道路网络数据108(作为2D或3D数据)投影到道路网格110中。也就是说,本文描述的技术针对基于真实世界数据(例如,传感器数据106)生成仿真环境(例如,仿真环境112)。
所得到的仿真环境112可以包括准确的高度和表面细节(例如,鉴于对应的真实环境)。然而,在一些示例中,例如,由于在构造道路网格110时的遮挡(例如,停放的汽车、狭窄的小巷等),在仿真环境中可能存在孔(例如,不完整的数据)。在至少一个示例中,计算设备可以访问第二替代数据源,以补充现有的仿真环境(例如,并且填充孔)。例如,在至少一个示例中,计算设备可以访问来自第三方源和/或***114的数据,并且可以利用这种补充数据116来补充现有的仿真环境112。补充数据116可以超出当前数据集(例如,道路网络数据108和道路网格110),使得补充数据116提供与真实环境相关联的信息,否则由于与数据收集技术相关联的遮挡和/或其他缺陷,该信息对于数据收集设备102不可用。在至少一个示例中,补充数据116可以包括美国地质调查局(USGS)数据评估模型(DEM)数据等。USGS DEM数据可以包括具有栅格高程数据的数据集(例如,数字高程地图)。USGS DEM数据可能不如关联数据(例如,道路网络数据和道路网格)那样准确;但是,USGS DEM数据通常更完整。也就是说,USGS DEM数据可能没有孔,并且因此,此类数据可以用于补充缺少数据(例如,由于数据收集中的遮挡或其他缺陷)的数据集。在附加或替代示例中,补充数据116可以包括与真实环境相关联的树图数据,与真实环境相关联的彩色图像数据,与环境相关联的地图数据等。
此外,计算设备可以利用与环境中的对象的特性相关联的数据来进一步补充仿真环境112。在至少一个示例中,计算设备可以访问存储对象覆盖区(footprint)数据存储装置118,其存储代表建筑或其他静止对象的覆盖区的存储对象数据120。在一些示例中,这样的覆盖区可以与关于高度、分类(例如,住宅、商业等)等的注释相关联。计算设备可以利用覆盖区和相关联的注释(例如,存储对象数据120)作为用于生成立面块(facade piece)和规则集的引导网格。例如,在示例中,计算设备可以将规则集与单独的存储对象覆盖区相关联。规则集可以指示哪些表面细节和/或纹理与对象的各个部分相关联。这样的规则集可以随机地或基于一个或多个参数(例如,高度、分类等)与单独的存储对象覆盖区相关联。这样的规则集可以指示如何针对与存储对象覆盖区对应的对象生成立面块。例如,规则集可以包括对可以用于生成立面块的纹理的引用。作为非限制性示例,规则集可以指示针对商业办公建筑的第一层使用特定的网格、纹理等(例如,建筑分类),针对这种建筑的第二(以及随后的)层使用不同的网格、纹理等。这样,规则集的执行可以向仿真环境中的对象添加表面细节(例如,立面)。添加这样的细节使得能够程序地生成逼真的仿真环境。例如,立面细节可能会影响阴影投射和/或窗户的反射,这可能会增加仿真环境的复杂度来使其代表真实世界状况。
在至少一个示例中,可以随机地定义建筑覆盖区、高度、纹理化和分类。在与这种覆盖区相关联的数据不具有对地图内的定位的指示的那些示例中(例如,其中随机确定覆盖区,从与地图无关的覆盖区的数据存储装置中取回覆盖区等),这种覆盖区可以对齐或以其他方式定位,使得至少一个立面与道路网络中的街道对齐,根据一条或多条规则间隔(例如,这样放置:距街道一定距离,并且基于分类,距其他建筑最小或最大距离,以特定取向来定向等),等等。当应用这样的规则集时,可以在仿真环境112中自动生成看起来合理的建筑(例如,无需人工建模)。利用这样的规则使得能够在不在设计人员时间和/或计算资源上花费大量投资的情况下程序地生成看起来不同的仿真环境。也就是说,利用这样的规则提高了能够生成复杂的仿真环境的效率(例如,经由相对简单的规则)。
在一些示例中,例如,在实时渲染期间,计算设备可以利用纹理化数据向仿真环境112添加表面细节。在这样的示例中,计算设备可以访问表面细节数据存储装置122,该表面细节数据存储装置122存储表面细节数据106。表面细节数据106(也可以称为“纹理化数据”)可以包括细节(例如,缺陷、补丁、标记等),这样的细节可以被添加到仿真环境112中的对象,以使此类对象看起来唯一(而不会显著增加艺术家工作负荷,或者以其他方式要求附加计算以进行算法自定义)。在至少一个示例中,计算设备可以利用稀疏虚拟纹理来在单个绘制中渲染仿真环境112,这提高了性能并且减少了计算资源。在这样的示例中,每个面元(surfel)(例如,表面元素)可以与唯一数据(例如,标识)相关联,使得可以对单独的面元进行分配、寻址和指派。此外,在一些示例中,计算设备可以在要在仿真环境112中渲染的对象的每个表面上添加多个类似于笔触的(brush-stroke-like)贴标。在至少一些示例中,可以将各种贴标应用于结构的各种区域和分类(例如,逼真的灰尘和污垢、涂鸦、垃圾等可以应用于例如在小巷中的建筑立面),以便修改任何基于程序的纹理化(例如,在给出关联分类的情况下在表面上应用纹理的图案)。本文描述的技术使设计人员能够对可以在整个仿真环境112中使用的一些不同纹理进行建模。向仿真环境112添加表面细节可以增加仿真环境112内以及在仿真环境112与其他仿真环境之间的多样性。
可以输出得到的仿真环境134以供仿真计算***使用。在至少一个示例中,仿真环境134可以用于增强训练、测试和/或验证自主车辆车载的***(例如,AI栈的一个或多个组件)。例如,在至少一个示例中,例如,当真实数据不容易获得时,当测试在真实环境中不安全时,以及为了生成比其他方式可用的数量级更大的数据,仿真环境134对于训练自主车辆要车载使用的***(例如,这种***使用的模型)可能是有用的。在至少一个示例中,仿真环境134可以用于生成针对罕见或不频繁发生的场景和/或对象的训练数据。此外,例如当真实环境不可用或不安全,或者地面真值以其他方式不可用时,仿真环境134对于测试自主车辆(例如,在其上运行的模型和/或***)的性能可能是有用的。通过具有仿真环境,可以针对此类验证确定确切的地面真值测量,而无需基于人工的数据注释。此外,在一些示例中,与仿真环境134相关联的传感器数据可以比与真实环境相关联的传感器数据更准确(例如,由于遮挡、噪声、漂移等),并且因此,仿真环境134可以用于验证与真实环境相关联地进行的观察。在一些示例中,仿真环境134可以用于(例如,自主车辆车载的一个或多个传感器***的)校准。
图2A-2F示出了如本文描述的仿真环境的程序渲染的各个方面的非限制性示例。
如上面描述的,数据收集设备102可以经由传感器***104生成与真实环境相关联的传感器数据106。计算设备可以接收传感器数据106,并且接收、生成和/或以其他方式访问道路网络数据108,如图2A所示。在至少一个示例中,道路网络数据108例如可以是指示以下中的一个或多个的真实环境(或其一部分)的2D或3D表示:驾驶车道元素、自行车车道元素、停车车道元素、人行横道元素、交叉路口元素、车道分隔线元素、交通灯元素、停止标志元素、停止线元素、让行标志元素、让行线元素、行驶道元素、减速带元素、违规穿越区域(例如,虚拟人行横道)、轨迹航点(例如,已知轨迹)、乘客接送点、标志位置元素、地理围栏元素等。另外,计算设备可以生成道路网格110。在至少一个示例中,传感器数据106可以包括LIDAR数据,其可以用于生成代表真实环境的3D点云,如图2B所示。在至少一个示例中,计算设备可以基于3D点云来生成道路网格110。道路网格110可以包括3D图块(其可以由定位***输出,如下面描述的)。计算设备可以将道路网络数据108与道路网格110相关联以生成仿真环境112。在至少一些实例中,这种整合可以包括将道路网络数据108(作为2D或3D数据)投影在道路网格110上。
如上面描述的,所得到的仿真环境112可以包括准确的高度和表面细节(例如,鉴于对应的真实环境)。然而,在一些示例中,例如,由于在构造道路网格110时的遮挡(例如,停放的汽车、狭窄的小巷等),在仿真环境中可能存在孔(例如,不完整的数据)。在至少一个示例中,计算设备可以访问第二替代数据源,以补充现有的仿真环境(例如,并且填充孔)。图2C示出了与图2A和图2B中所示的真实环境的相同的部分对应的补充数据116的非限制性示例。例如,在至少一个示例中,计算设备可以访问来自第三方源和/或***114的数据,并且可以利用这种补充数据116来补充现有的仿真环境112(例如,通过将道路网络数据108和/或道路网格110与补充数据116整合在一起)。如上面描述的,补充数据116可以包括与真实环境相关联的USGS DEM数据,与真实环境相关联的树图数据,与真实环境相关联的彩色图像数据,与环境相关联的地图数据等。
此外,计算设备可以利用与环境中的对象的特性相关联的数据来进一步补充仿真环境112。在至少一个示例中,计算设备可以访问存储对象覆盖区数据存储装置118,其存储代表建筑或其他静止对象的覆盖区的存储对象数据120。在一些示例中,这样的覆盖区可以与关于高度、分类(例如,住宅、商业等)、规则集等的注释相关联。计算设备可以利用覆盖区和相关联的注释(例如,存储对象数据120)作为用于生成立面块的引导网格,如上面描述的。在至少一个示例中,可以随机地定义建筑覆盖区、高度、纹理化、规则集和/或分类。在与这种覆盖区相关联的数据不具有对地图内的定位的指示的那些示例中(例如,其中随机确定覆盖区,从与地图无关的覆盖区的数据存储装置中取回覆盖区等),这种覆盖区可以对齐或以其他方式定位,使得至少一个立面与道路网络中的街道对齐,根据一条或多条规则间隔(例如,这样放置:距街道一定距离,并且基于分类,距其他建筑最小或最大距离,以特定取向来定向等),基于一条或多条规则定向,等等。当应用这样的规则集时,可以在仿真环境112中自动生成看起来合理的建筑,如图2D所示。
在一些示例中,例如,在实时渲染期间,计算设备可以利用纹理化数据向仿真环境112添加表面细节。在这样的示例中,计算设备可以访问表面细节数据存储装置130,该表面细节数据存储装置130存储表面细节数据132。表面细节数据132(也可以称为“纹理化数据”)可以包括细节(例如,缺陷、补丁、标记等),这种细节可以被添加到仿真环境112中的对象,以使此类对象看起来唯一(而不会显著增加艺术家工作负荷)。在至少一个示例中,计算设备可以利用稀疏虚拟纹理(如图2E所示)来在单个绘制中渲染仿真环境112,这提高了性能并且减少了计算资源。在这样的示例中,每个面元可以与唯一数据(例如,标识)相关联,使得可以对单独的面元进行分配、寻址和指派。虽然在图2E中为了图示目的被描绘为单个字母数字符号,但这种标识并不表示限制性的。此外,在一些示例中,计算设备可以在要在仿真环境112中渲染的对象的每个表面上添加多个类似于笔触的贴标。在至少一些示例中,可以将各种贴标应用于结构的各种区域和分类(例如,逼真的灰尘和污垢、涂鸦、垃圾等可以应用于例如在小巷中的建筑立面),以便修改任何基于程序的纹理化(例如,在给出关联分类的情况下在表面上应用纹理的图案)。
图2F示出了所得到的仿真环境134的非限制性示例,其可以用于增强训练、测试和/或验证自主车辆车载的***(例如,AI栈的一个或多个组件),如本文描述的。也就是说,在一些示例中,所得到的仿真环境134可以用于训练、测试和/或验证由自主车辆的车载***使用的算法,该算法可以由自主车辆用来控制自主车辆。
图3是示出用于程序地渲染仿真环境的示例***300的框图。
在至少一个示例中,车辆302可以包括一个或多个车辆计算设备304,一个或多个传感器***306,一个或多个发射器308,一个或多个通信连接310,至少一个直接连接312,以及一个或多个驱动***314。出于说明的目的,车辆302可以是被配置为根据美国国家高速公路交通安全管理局发布的5级分类运行的自主车辆,该分类描述了能够针对整个行程执行所有安全性关键功能的车辆,其中驾驶员(或乘员)在任何时候不被期望控制车辆。在这样的示例中,由于车辆302可以被配置为控制从开始到停止的所有功能,包括所有停车功能,所以它可以无人的。这仅是示例,并且本文描述的***和方法可以被并入到任何地面、空中或水运交通工具中,包括从需要始终由驾驶员手动控制的交通工具到部分或完全自主控制的交通工具变动的那些交通工具。也就是说,在所示的示例中,车辆302是自主车辆;然而,车辆302可以是任何其他类型的车辆。
在至少一个示例中,车辆302可以是(例如,数据收集设备102中的)数据收集设备。在另外的或替代的示例中,上述AI栈的一个或多个组件可以与车辆302相关联。也就是说,本文描述的仿真环境可以用于训练、测试和/或验证以下参考车辆302描述的组件中的一个或多个组件。
车辆计算设备304可以包括处理器316以及与处理器316通信耦合的存储器318。在所示的示例中,车辆计算设备304的存储器318存储定位***320,感知***322,预测***324,规划***326以及一个或多个***控制器328。另外,存储器318可以包括存储装置230,该存储装置230可以存储地图、模型等。地图可以是在二维、三维或N维中建模的任意数量的数据结构,这些数据结构能够提供关于环境的信息,例如但不限于拓扑(例如,交叉路口)、街道、山脉、道路、地形和一般环境。地图可以与真实环境或仿真环境相关联。模型可以包括机器训练的模型,如下面描述的。
在至少一个示例中,定位***320可以至少部分地基于从传感器***306接收到的传感器数据和/或与(例如,地图中的)地图相关联的地图数据来确定车辆302相对于本地和/或全局地图的姿势(例如,位置和取向)。在至少一个示例中,定位***320可以包括校准***或与校准***相关联,该校准***能够执行用于实质上同时地进行校准(确定与传感器***306中的任何一个或多个相关联的各种固有和非固有参数)、定位和映射的操作。与这样的***相关联的附加细节在2017年8月11日提交的美国专利申请第15/675,487号中进行了描述,其与2017年8月11日提交的美国专利申请第15/674,853号相关,这两个申请的全部内容通过引用并入本文。如上面描述的,定位***320可以基于由传感器***306接收到的传感器数据来输出道路网络数据和/或道路网格。
在至少一个示例中,感知***322可以至少部分地基于从传感器***306接收到的传感器数据来执行对象检测、分段和/或分类。在至少一个示例中,感知***322可以(例如,从传感器***306)接收原始传感器数据。在其他示例中,感知***322可以(例如,从传感器***306)接收处理后的传感器数据。例如,在至少一个示例中,感知***322可以从视觉***接收数据,该视觉***接收并处理相机数据(例如,图像)。在至少一个示例中,视觉***可以利用一个或多个图像处理算法来关于图像中识别出的对象执行对象检测、分段和/或分类。在一些示例中,视觉***可以将边界框(或其他语义信息,例如,实例分段)与识别出的对象相关联,并且可以关联与识别出的对象的分类相关联的置信度分数。在一些示例中,当对象经由显示器渲染时,可以基于对象的感知到的类别对其进行着色。在至少其他示例中,感知***322可以针对一个或多个其他模态(例如,LIDAR、RADAR、ToF传感器等)执行类似的过程(检测、分类、分段等)。
预测***324可以访问来自传感器***306的传感器数据,与(例如,可以在存储装置230中的地图中的)地图相关联的地图数据和/或从感知***322输出的感知数据(例如,处理后的传感器数据),并且可以输出与车辆302的环境内的一个或多个对象相关联的预测。在至少一个示例中,规划***326可以确定路线和/或轨迹以用于至少部分地基于从传感器***306接收到的传感器数据和/或感知***322做出的任何确定来控制车辆302。******、感知***、预测***和/或规划***的可用的附加细节在2017年4月4日公告的美国专利第9,612,123号和2017年6月23日提交的美国专利申请第15/632,208号中可以找到,这两个专利的全部内容通过引用并入本文。在一些示例中(例如,在车辆302不是自主车辆的情况下),可以从车辆302中省略前述***和/或组件中的一个或多个。虽然上述***被示为车辆302“车载的”,但在其他实现方式中,***可以位于车辆302远程处和/或对于车辆302可访问。
在至少一个示例中,定位***320、感知***322、预测***324和/或规划***326可以如上面描述地处理传感器数据,并且可以通过网络332将它们的相应输出发送给计算设备334。在至少一个示例中,定位***320、感知***322、预测***324和/或规划***326可以这样将它们的相应输出发送给计算设备334:以特定频率,在经过预定时间段后,接近实时地,等等。
在至少一个示例中,车辆计算设备304可以包括一个或多个***控制器328,其可以被配置为控制车辆302的转向、推进、制动、安全、发射器、通信和其他***。这些***控制器328可以与驱动***314的对应***和/或车辆302的其他组件通信和/或对其进行控制。
在至少一个示例中,可以对应于传感器***104的传感器***306可以包括LIDAR传感器,RADAR传感器,ToF传感器,超声换能器,SONAR传感器,位置传感器(例如,GPS、指南针等),惯性传感器(例如,惯性测量单元、加速度计、磁力计、陀螺仪等),相机(例如,RGB、IR、强度、深度等),麦克风,轮编码器,环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等),等等。传感器***306可以包括这些或其他类型的传感器中的每一个传感器的多个实例。例如,LIDAR传感器可以包括位于车辆302的角落、前、后、侧面和/或顶部的单独的LIDAR传感器。作为另一示例,相机传感器可以包括多个相机,这些相机设置在围绕车辆302的外部和内部的各个位置。传感器***306可以向车辆计算设备304提供输入。在一些示例中,传感器***306可以在将传感器数据发送给车辆计算设备304之前预处理传感器数据中的至少一些。在至少一个示例中,传感器***306可以经由网络332这样将传感器数据发送给计算设备334:以特定频率,在经过预定时间段后,接近实时地,等等。
如上面描述的,车辆302还可以包括用于发射光和/或声音的一个或多个发射器308。在该示例中,发射器308包括内部音频和视觉发射器以与车辆302的乘客进行通信。通过示例而非限制的方式,内部发射器可以包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如,振动和/或力反馈)、机械致动器(例如,安全带拉紧器、座椅***、头枕***等),等等。在该示例中,发射器308还包括外部发射器。通过示例而非限制的方式,该示例中的外部发射器包括:光发射器(例如,指示器灯、标志、灯阵列等),以与行人、其他驾驶员、其他附近车辆等进行视觉通信;一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等),以与行人、其他驾驶员、其他附近车辆等进行听觉通信。在至少一个示例中,发射器308可以设置在围绕车辆302的外部和/或内部的各个位置处。
车辆302还可以包括实现在车辆302与其他本地或远程计算设备之间进行通信的通信连接310。例如,通信连接310可以促进与车辆302和/或驱动***314上的其他本地计算设备的通信。而且,通信连接310可以允许车辆与其他附近计算设备(例如,其他附近车辆、交通灯等)进行通信。通信连接310还使车辆302能够与远程遥控操作计算设备或其他远程服务进行通信。
通信连接310可以包括物理和/或逻辑接口,用于将车辆计算设备304连接到另一计算设备或网络,例如,网络332。例如,通信连接310可以实现基于Wi-Fi的通信,例如,经由由IEEE 802.11标准定义的频率,短距离无线频率(例如,),或使相应计算设备能够与其他计算设备相接合的任何合适的有线或无线通信协议。
直接连接312可以直接连接驱动***314和车辆302的其他组件。
在至少一个示例中,车辆302可以包括驱动***314。在一些示例中,车辆302可以具有单个驱动***314。在至少一个示例中,如果车辆302具有多个驱动***314,则单独的驱动***314可以定位在车辆302的相对端(例如,前部和后部等)。在至少一个示例中,驱动***314可以包括传感器***,以检测驱动***314和/或车辆302的周围环境的状况。通过示例而非限制的方式,传感器***可以包括:轮编码器(例如,旋转编码器),用于感测驱动模块的轮子的旋转;惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等),用于测量驱动模块的位置和加速度;相机或其他图像传感器;超声传感器,用于声学检测驱动模块的周围环境中的对象;LIDAR传感器;RADAR传感器;等等。一些传感器(例如,轮编码器)对于驱动***314可以是唯一的。在一些情况下,驱动***314上的传感器***可以与车辆302的对应***(例如,传感器***306)重叠或对其进行补充。
驱动***314可以包括车辆***中的许多***,包括:高压电池,用于推进车辆302的电动机,用于将来自电池的直流电转换成交流电以供其他车辆***使用的转换器,包括转向电动机和转向齿条(可以是电动的)的转向***,包括液压或电动致动器的制动***,包括液压和/或气动组件的悬架***,用于分布制动力以减轻牵引损失并维持控制的稳定性控制***,HVAC***,照明设备(例如,照亮车辆的外部环境的诸如前/尾灯的照明设备),以及一个或多个其他***(例如,冷却***、安全***、车载充电***、诸如DC/DC转换器的其他电气组件、高压结、高压电缆、充电***、充电端口等)。另外,驱动***314可以包括驱动模块控制器,该驱动模块控制器可以接收并预处理来自传感器***的数据并控制各种车辆***的操作。在一些示例中,驱动模块控制器可以包括处理器以及与处理器通信耦合的存储器。存储器可以存储一个或多个模块以执行驱动***314的各种功能。此外,驱动***314还包括通信连接,该通信连接使得相应的驱动模块能够与其他本地或远程计算设备进行通信。
在一些示例中,车辆计算设备304、传感器***306、发射器308和通信连接310可以在实际车辆的外部实现,例如,作为仿真车辆或作为仿真***,用于“遍历”仿真环境。也就是说,车辆计算设备304、传感器***306、发射器308和通信连接310可以用作仿真自主车辆,以用于如上面描述的仿真目的。
如上面描述的,车辆302可以经由网络332将传感器数据发送给计算设备334。也就是说,在一些示例中,车辆302可以是如上面参考图1描述的数据收集设备102。为了该讨论的目的,上面参考图1描述的计算设备可以指车辆计算设备304和/或计算设备334。在一些示例中,车辆302可以将原始传感器数据发送给计算设备334。在其他示例中,车辆302可以将处理后的传感器数据和/或传感器数据的表示发送给计算设备334(例如,从定位***320、感知***322、预测***324和/或规划***326输出的数据)。在一些示例中,车辆302可以这样将传感器数据发送给计算设备334:以特定频率,在经过预定时间段后,接近实时地,等等。
计算设备334可以从车辆302和/或一个或多个数据收集设备336(其可以包括其他车辆,如车辆302)接收(原始的或处理后的)传感器数据,以及从一个或多个第三方源和/或***338接收数据。在至少一个示例中,计算设备334可以包括处理器340以及与处理器340通信耦合的存储器342。在图示示例中,计算设备334的存储器342存储仿真***344,训练***346,评估***348,地图存储装置350(例如,存储一个或多个地图、道路网络数据、道路网格等),训练数据存储装置352(例如,存储训练***346可访问的训练数据),模型存储装置354(例如,由训练***346输出的模型),存储对象覆盖区数据存储装置356,以及表面细节数据存储装置358。在一些示例中,代替或除了与计算设备334的存储器342相关联,***和/或存储库中的一个或多个可以与车辆302相关联。
仿真***344可以生成仿真环境。在至少一个示例中,仿真***344可以如以上参考图1-2G描述地经由程序生成(例如,以算法方式创建数据)来生成仿真环境。附加细节也在下面描述。在至少一个示例中,仿真***344可以访问存储对象覆盖区数据存储装置356和/或表面细节数据存储装置358以程序地渲染仿真环境。在示例中,存储对象覆盖区数据存储装置356可以对应于以上参考图1描述的存储对象覆盖区数据存储装置118,并且表面细节数据存储装置358可以对应于以上参考图1描述的表面细节数据存储装置130。在一些示例中,存储对象覆盖区数据存储装置356和/或表面细节数据存储装置358可以存储于存储器342中,如图3所示。在附加或替代示例中,存储对象覆盖区数据存储装置356和/或表面细节数据存储装置358可以被远程存储并且对于计算设备334可访问和/或存储于其中的数据可以从第三方源和/或***338提供给计算设备334。在一些示例中,可以接近实时地生成存储对象数据和/或表面纹理数据。
在至少一个示例中,如下面描述的,仿真***344可以在仿真环境中程序地渲染对象。也就是说,在一些示例中,当与对应的真实环境相比时,上述数据(例如,3D图块、道路网络数据、补充数据等)仍然具有缺陷。在这样的示例中,仿真***344可以利用各种启发法来在仿真环境中渲染对象。此类对象的非限制性示例包括:灯柱和/或用于将灯柱连接至交通灯的灯杆,停车标志(例如,可以基于根据道路网络数据确定出的停车车道来渲染),停车收费表(例如,可以基于根据道路网络数据确定出的停车车道来渲染),停车标志(例如,可以基于根据道路网络数据确定出的停止线来渲染),等等。下面参考图6描述附加细节。
在至少一个示例中,评估***348可以使用感知***322(或将数据输入到感知***322中的另一***(例如,视觉***、LINDAR***等))来评估仿真环境或其一部分相对于对应的真实环境的真实程度。在一些示例中,两个环境(例如,真实的相对于仿真的)对于人类而言可以看起来不同,但是对于例如本文中定义的机器人***(例如,自主车辆)可以被感知为是相同的(例如,基于神经网络的激活)。在至少一个示例中,评估***348可以使用机器训练的模型来分析数据,以评估仿真环境的真实性。例如,在至少一个示例中,评估***348可以分析与***(例如,视觉***、LIDAR***等)相关联的神经网络的第一中间输出(例如,基于仿真环境)与神经网络的第二中间输出(例如,基于对应的真实环境),并且可以确定相似性度量(例如,差异),该相似性度量可以表示当与对应的真实环境相关联的神经网络激活相比时与仿真环境相关联的神经网络激活的相似程度。
在至少一些示例中,可以通过将输入空间的区域离散化到对应的格子并且在相关联的格子中针对输入数据和比较数据建立激活的直方图来比较这种激活。一旦被确定,就可以例如通过支持向量机(SVM)来分析直方图,其中使用距离(例如,统计距离)来确定两个数据集的相似程度。在一些示例中,不同的传感器数据类型可以与不同的感兴趣参数(例如,被调整以提高仿真环境的真实性的不同参数)相关联。例如,在视觉***的情况下,感兴趣参数可以是亮度、曝光等;并且在LIDAR***的情况下,感兴趣参数可以是角度、距离、强度、传感器模态等。
在至少一个示例中,训练***346可以训练数据模型以学习哪些参数对感知***322重要(例如,哪些参数重要使得感知***322可以感知仿真环境,就像其感知到真实环境一样)。也就是说,在至少一个示例中,训练***346可以基于一个或多个所识别的参数来训练数据模型以评估真实性。在2018年10月17日与此同时提交的美国申请第16/163,435号中描述了与训练和/或使用此类模型相关联的附加细节,该申请的全部内容通过引用合并于此。
如上面描述的,在至少一个示例中,评估***348可以使用机器训练的模型(例如,如上面描述的)来分析数据,以评估仿真环境的真实性。也就是说,评估***348可以分析仿真环境以确定这种仿真环境是否类似于对应的真实环境如何激活神经网络来激活神经网络。在至少一个示例中,评估***348可以利用机器训练的模型来比较与真实环境相关联的第一中间输出和与对应的仿真环境相关联的第二中间输出,以确定代表在第一中间输出与第二中间输出之间的相似性的相似性度量(例如,差异、距离等)。在一些示例中,第一中间输出和第二中间输出可以从图像、数据部分(例如,对应于与数据相关联的单独的对象)等导出。例如,在至少一个示例中,第一中间输出可以与在与真实环境相关联的图像中的第一感知对象相关联,并且第二中间输出可以与在与仿真环境相关联的图像中的第二感知对象相关联。如果相似性度量(例如,差异、距离等)未达到阈值(例如,第一中间输出和第二中间输出相似),则评估***348可以确定仿真环境真实地代表了真实环境(例如,神经网络激活是相似的)。然而,如果相似性度量(例如,差异、距离等)达到或超过阈值,则评估***348可以调整一个或多个参数以观察对一个或多个度量的改变。例如,评估***348可以调整诸如亮度、曝光等的参数以用于改进照片真实感。
如上面描述的,仿真环境对于增强训练、测试和/或验证自主车辆(例如,车辆302)车载的***(例如,AI栈的一个或多个组件)可能是有用的。在至少一个示例中,仿真环境对于训练其中来自真实环境的训练数据不足(例如,罕见对象、罕见场景等的情况)的数据模型可能是有用的。在这样的示例中,可以将所得到的数据模型提供给车辆302或可由车辆302访问,并且车辆302可以利用该数据模型实时地对对象进行分类(例如,在真实环境中驾驶或以其他方式操作时)。也就是说,感知***322可以接近实时地利用车载的数据模型(该数据模型是基于与仿真环境相关联的仿真数据进行训练的)来对对象进行分类。
作为非限制性示例,来自真实环境的训练数据不足以训练车辆302以识别罕见事件/对象(例如,不经常看到的交通灯类型)。在至少一个示例中,通过将仿真环境与真实环境进行比较,数据模型可以学习到特定参数对于训练交通灯分类器很重要。例如,这样的参数可以包括:灯泡变色,阴影,透镜变形,灯上的污垢,烧坏的灯丝,亮度变化,灯泡旋转,灯泡强度等。基于识别参数,训练***346可以调整与交通灯相关联的仿真环境,并且可以基于调整后的仿真环境来训练交通灯分类器。这种分类器可以被提供给车辆302或可由车辆302访问,并且车辆302可以实时地利用数据模型来对交通灯进行分类。例如,感知***322可以接近实时地利用车载的分类器(该分类器是基于用于生成仿真环境的仿真数据进行训练的)来对交通灯进行分类。也就是说,如上面描述的,在至少一个示例中,可以在仿真数据上训练分类器并将该分类器用于评估真实数据。在一些示例中,可以在真实数据上训练分类器并使用仿真数据对该分类器进行验证。在这样的示例中,识别出的差异可以用于改进分类器。在至少一些实例中,可以通过例如基于仿真图像数据训练交通灯检测器,在真实数据上运行检测器,以及确定错过检测的位置,来识别这种罕见的示例。类似地,确定仿真参数不正确可以包括在真实数据上训练算法(例如,与上述相同的检测器),在仿真数据上运行这种检测器,以及检测错过的对象。
此外,仿真环境对于验证和/或更新由定位***320使用的定位算法可能是有用的。例如,在真实环境中,GPS传感器会经历位置漂移,并且因此可能会累积误差。因此,为了验证用于对车辆302进行定位的定位算法,评估***348可以使用仿真环境,其中车辆302的姿态在各个时间(包括在所有时间)都是已知的,并且评估与对应的真实环境相关联的传感器数据以验证定位算法(例如,通过依赖于仿真姿势作为位置和/或取向地面真值)。在这样的示例中,传感器***306可以生成与仿真环境相关联的传感器数据,并且传感器数据可以由感知***322进行分析。感知***322的输出(例如,与真实环境中的位置相关联)可以鉴于与仿真环境中对应位置相关联的传感器数据来验证。也就是说,与仿真环境中的位置相关联的传感器数据可以用作真实环境中对应位置的地面真值。作为示例,可以将与仿真环境(例如,其中车辆302的姿态已知)相关联地记录的LIDAR数据和与真实环境中的对应位置相关联地记录的LIDAR数据进行比较,并且可以适当地更新定位算法。此外,仿真环境对于验证RADAR或传感器***306的其他传感器可能是有用的。在一些示例中,仿真环境可以提供用于校准(例如,传感器***106的)传感器的地面真值数据。其他示例包括但不限于在各种传感器的(例如,固有或非固有中的一个或多个的)仿真、校准中验证卷帘快门。如将理解的,本文描述的技术可以用于各种其他***、子***等的验证、校准、训练等。
车辆302的处理器316和计算设备334的处理器340可以是能够执行指令以处理数据并执行如本文描述的操作的任何合适的处理器。通过示例而非限制的方式,处理器316和340可以包括一个或多个中央处理单元(CPU),图形处理单元(GPU),或处理电子数据以将该电子数据转换为可以存储于寄存器和/或存储器中的其他电子数据的任何其他设备或设备的一部分。在一些示例中,只要关联的电路(例如,ASIC等)、门阵列(例如,FPGA等)以及其他硬件设备被配置为实现编码的指令,则它们也可以被视为处理器。
存储器318和342是非暂时性计算机可读介质的示例。存储器318和342可以存储操作***和一个或多个软件应用、指令、程序和/或数据,以实现本文描述的方法以及归于各种***的功能。在各种实现方式中,可以使用任何适当的存储器技术来实现存储器,例如,静态随机存取存储器(SRAM),同步动态RAM(SDRAM),非易失性/闪存类型的存储器,或能够存储信息的任何其他类型的存储器。本文描述的架构、***和单独的元件可以包括许多其他逻辑、程序和物理组件,其中附图中示出的那些仅仅是与本文的讨论有关的示例。
应该注意的是,虽然图3示出为分布式***,但在替代示例中,车辆302的组件可以与计算设备334相关联和/或计算设备334的组件可以与车辆302相关联。也就是说,车辆302可以执行与计算设备334相关联的功能中的一个或多个功能,反之亦然。
图4-6是示出涉及如本文描述的技术的示例方法的流程图。为了方便和易于理解,参考图3所示的***300描述图4-6中所示的方法。然而,图4-6中所示的方法不限于使用***300来执行。此外,本文描述的***300不限于执行图4-6所示的方法。
方法400-600被示为逻辑流程图中的框的集合,其表示可以以硬件、软件或其组合来实现的操作序列。在软件的上下文中,框代表存储在一种或多种计算机可读存储介质上的计算机可执行指令,该计算机可执行指令在由处理器执行时执行所引述的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的次序不旨在被解释为限制,并且可以以任何次序和/或并行地组合任意数量的所描述的框以实现过程。在一些实施例中,可以完全省略过程的一个或多个框。此外,方法400-600可以整体或部分地彼此组合或与其他方法组合。
图4示出了用于生成仿真环境和/或将仿真环境用于训练、测试、验证等的示例过程400。
框402示出了访问道路网络数据。车辆计算设备304可以接收、生成和/或以其他方式访问道路网络数据。在一些示例中,道路网络数据可以至少部分地基于传感器数据。在至少一个示例中,道路网络数据可以例如是指示以下中的一个或多个的2D或3D表示:驾驶车道元素、自行车车道元素、停车车道元素、人行横道元素、交叉路口元素、车道分隔线元素、交通灯元素、停止标志元素、停止线元素、让行标志元素、让行线元素、行驶道元素、减速带元素、违规穿越区域(例如,虚拟人行横道)、轨迹航点(例如,已知轨迹)、乘客接送点、标志位置元素、地理围栏元素等。在一些示例中,如上面描述的,可以用指示道路网络数据的特定部分的属性的信息来对道路网络数据进行编码。在至少一个示例中,仿真***344可以访问道路网络数据。如上面描述的,在一些示例中,道路网络数据可以存储在地图数据存储装置350中。
框404示出了访问道路网格。在至少一个示例中,车辆计算设备304可以生成道路网格110。在至少一个示例中,车辆计算设备304可以接收LIDAR数据,该LIDAR数据可以用于生成代表真实环境的3D点云。在至少一个示例中,车辆计算设备304可以基于3D点云来生成道路网格110。如上面描述的,道路网格110可以包括3D图块。仿真***344可以访问3D图块,在一些示例中,其可以存储在地图存储装置350中。
框406示出了合并道路网络数据和道路网格以生成仿真环境。仿真***344可以将道路网络数据与道路网格相关联以生成仿真环境。在至少一些实例中,这种关联可以包括将道路网络数据(作为2D或3D数据)投影到道路网格中。这可以通过确定道路分段的中间并在投影时将分段与来自道路网格的对应区域实质上对齐来完成。可以确定任何异常值(例如,在投影后与道路网格不对齐的表面(例如,由于对齐或生成地图的误差而导致人行道投影到树上)),并且根据需要进行平滑。所得到的仿真环境可以包括准确的高度和表面细节(例如,鉴于对应的真实环境)。
框408示出了从替代数据源访问补充数据。在一些示例中,例如,由于在构建道路网格时的遮挡(例如,停放的汽车、狭窄的小巷等),在仿真环境中可能存在孔(例如,不完整的数据)。在至少一个示例中,仿真***344可以访问第二替代数据源以补充现有的仿真环境(例如,并且填充孔)。例如,在至少一个示例中,仿真***344可以访问来自第三方源和/或***338的数据,并且可以利用这样的数据通过将补充数据合并到仿真环境中来补充现有的仿真环境,如框410所示。在至少一个示例中,补充数据可以包括与真实环境相关联的USGS DEM数据,与真实环境相关联的树图数据,与真实环境相关联的彩色图像数据,与环境相关联的地图数据等,如上面描述的。在一些示例中,补充数据不是自然地与用于生成仿真环境的3D图块对齐的。下面参考图5描述与对齐道路网格和补充数据相关联的细节。
框412示出了在仿真环境中渲染对象。仿真***344可以利用与环境中的对象的特性相关联的数据来进一步补充仿真环境。在至少一个示例中,仿真***344可以访问代表建筑或其他静止对象的覆盖区的数据,该数据可以存储于存储对象覆盖区数据存储装置356中。在一些示例中,这种覆盖区可以与关于高度、分类(例如,住宅、商业等)、规则集(例如,用于纹理化)等的注释相关联。仿真***344可以利用覆盖区和相关联的注释作为用于生成立面块的引导网格。在至少一个示例中,可以随机地定义建筑覆盖区、高度、纹理化和分类。在一些示例中,可以定义纹理、高度或覆盖区的预先定义的集合。所得到的纹理、高度、覆盖区等中的一个或多个的随机置换的集合进而可以用作填充仿真环境的建筑的集合。在与这种覆盖区相关联的数据不具有对地图内的定位的指示的那些示例中(例如,其中随机确定覆盖区,从与地图无关的覆盖区的数据存储装置中取回覆盖区等),这种覆盖区可以对齐或以其他方式定位,使得至少一个立面与道路网络中的街道对齐,根据一条或多条规则间隔(例如,这样放置:距街道一定距离,并且基于分类,距其他建筑最小或最大距离,以特定取向来定向等),等等。当应用这样的规则集时,可以自动生成看起来合理的建筑(例如,无需人工建模)以生成包括建筑的仿真环境。
框414示出了在仿真环境中渲染与对象相关联的表面细节。在一些示例中,例如,在实时渲染期间,仿真***344可以利用纹理化数据来将表面细节添加到仿真环境中。这种纹理化将细节(例如,缺陷、补丁、标记等)添加到仿真环境中的对象,以使此类对象看起来唯一(而不会显著增加艺术家工作负荷)。在至少一个示例中,仿真***344可以利用稀疏虚拟纹理来在单个绘制中渲染仿真环境,这提高了性能并且减少了计算资源。在这样的示例中,每个面元可以与唯一数据(例如,标识)相关联,使得可以对单独的面元进行分配、寻址和指派。此外,在一些示例中,仿真***344可以在要在仿真环境中渲染的对象的每个表面上添加多个类似于笔触的贴标。在至少一些示例中,可以将各种贴标应用于结构的各种区域和分类(例如,逼真的灰尘和污垢、涂鸦、垃圾等可以应用于例如在小巷中的建筑立面),以便修改任何基于程序的纹理化(例如,在给出相关联的分类的情况下在表面上应用纹理的图案)。
在至少一个示例中,仿真***344可以参数化仿真环境的表面以创建唯一的纹理坐标空间。在这样的示例中,每个面元可以与单独参考纹理的像素集合相关联,该像素集合可以存储在表面细节数据存储装置358中。因此,在运行时,仿真***344可以利用单个绘制调用(例如,阴影***),其渲染与可以经由仿真计算设备的视口看到的仿真环境的部分相关联的细节(例如,纹理)。在一些示例中,仿真环境可以与一个以上的纹理相关联(例如,与材料的不同属性相关联),并且每个纹理可以在运行时经由单独的绘制调用来渲染。这样的技术减少了处理器340上的工作负荷,由此在运行时提供了计算效率。在至少一个示例中,如果改变了纹理的属性,则可以将这些改变与纹理相关联地存储在表面细节数据存储装置358中,并且在运行时,这些改变可以反映在渲染的纹理中。也就是说,脚本可以更新与表面细节数据存储装置358中的纹理相关联的纹理数据,由此影响对运行时在仿真环境中渲染的纹理的更新,而不必重新审视所有现有技术。
框416示出了输出仿真环境。在至少一个示例中,仿真***344可以输出仿真环境。如上面描述的,仿真环境对于增强训练、测试和/或验证自主车辆(例如,车辆302)车载的***(例如,AI栈的一个或多个组件)可能是有用的。在至少一个示例中,仿真环境对于训练其中来自真实环境的训练数据不足(例如,罕见对象、罕见场景等的情况)的数据模型可能是有用的。在这样的示例中,可以将所得到的数据模型提供给车辆302或可由车辆302访问,并且车辆302可以利用该数据模型实时地对对象进行分类(例如,在真实环境中驾驶或以其他方式操作时)。也就是说,感知***322可以接近实时地利用车载的数据模型(基于与仿真环境相关联的仿真数据进行训练的)来对对象进行分类。在至少一些示例中,使用与仿真环境相关联的数据训练的这种数据模型可以基于真实传感器数据在真实环境中输出对象。然后可以至少部分地基于在仿真数据上训练的这种数据模型的输出来确定自主车辆用于安全地导航真实环境的轨迹(和对应的控制)。
如上面描述的,在至少一个示例中,评估***348可以使用机器训练的模型(例如,如上面描述的)来分析感知数据,以评估仿真环境的真实性。在至少一个示例中,评估***348可以利用机器训练的模型来比较与真实环境相关联的第一中间输出(例如,与神经网络的层相关联)和与对应的仿真环境相关联的第二中间输出(例如,与神经网络的相同层相关联),以确定代表在第一中间输出与第二中间输出之间的相似性的相似性度量(例如,差异、距离等)。在一些示例中,第一中间输出和第二中间输出可以对应于图像、数据的部分(例如,对应于与数据相关联的单独的对象)等。如果相似性度量(例如,差异、距离等)未达到阈值(例如,第一中间输出和第二中间输出相似),则评估***348可以确定仿真环境真实地表示真实环境,并且可以输出仿真环境,如上面描述的。然而,如果相似性度量(例如,差异、距离等)达到或超过阈值,则评估***348可以调整一个或多个参数以观察对一个或多个度量的改变。例如,评估***348可以调整诸如亮度、曝光等的参数以改进照片真实感。当相似性度量(例如,差异、距离等)低于阈值(例如,第一中间输出和第二中间输出相似)时,评估***348可以确定仿真环境真实地表示真实环境。
图5示出了用于将补充数据与仿真环境合并的示例过程500。
框502示出了对齐补充数据和与仿真环境相关联的道路网格。如上面描述的,在一些示例中,仿真***344可以用补充数据来补充道路网格(例如,3D图块)。最初,仿真***344可以将补充数据和道路网格粗略地对齐。补充数据可能不是自然地与用于生成仿真环境的道路网格的3D图块对齐的。
框504示出了确定在补充数据和与仿真环境相关联的道路网格之间的误差。在至少一个示例中,仿真***344可以周期性地测量在补充数据与道路网格之间的误差。在至少一个示例中,可以在期望补充数据准确的区域中进行这种测量,这种区域例如为大的平坦空间(例如,停车场、大的交叉路口等)。这样的空间可以对应于真实环境中的达到或超过阈值区域(例如,“大的”)和/或跨低于阈值的(例如,“平坦的”)区域与最大仰角变化相关联的区域。在至少一个示例中,这样的测量可以在道路网格和补充数据中可见的和/或没有障碍和/或以其他方式没有诸如树木、建筑等的对象(例如,从USGS进行空中扫描等)的区域中进行。在至少一个示例中,可以从道路网格内的指定位置测量误差。在一些示例中,指定位置可以是中心线,该中心线可以从道路网络数据和/或道路网格导出。例如,可以将道路网格中指示的行驶线的中心指定为可以从其测量误差的中心线。在至少一些示例中,可以从这样的区域的确定的中心点测量误差。也就是说,可以将道路网格确定为权威值(authority),并且可以从该权威值测量误差。作为非限制性示例,误差可以与道路网格与补充数据之间的差异(例如,欧几里得距离)相关联。在一些示例中,误差可以是高度误差,其测量在道路网格与补充数据之间的垂直距离。误差可以是单次测量,多次测量的平均值,区域内的最大值,区域内的最小值,总误差,或代表在补充数据与道路网格之间的差异和/或距离的另一统计上重要的测量。
框506示出了确定误差是否达到或超过阈值。在至少一个示例中,仿真***344可以将误差与阈值进行比较,并且基于确定误差未达到或超过阈值,仿真***344可以执行混合技术,例如但不限于全局混合技术,局部混合技术,线性混合技术,平滑曲线混合技术(具有特定半径)等,以将补充数据与道路网格混合,如框508所示。在至少一个示例中,这种混合技术可能涉及衰减,使得随着仿真***344远离所选区域,误差越来越不重要。也就是说,在道路网格的中心线处,可以如下面描述地校正或减轻误差,但是可以混合仿真环境的相继远离中心线的其他部分以校正或以其他方式减轻误差。
基于确定误差达到或超过阈值,在混合之前,仿真***344可以应用变形晶格以将补充数据与道路网格实质上对齐,如框510所示。可以对来自映射***的第三方源的数据或地图进行调整,以在用于确定误差的区域(例如,大的区域、平坦的区域)中驱动此类误差,并且在仿真环境的其余区域中传播。在至少一个示例中,仿真***344可以对补充数据进行调整,以使补充数据与道路网格局部对齐。在附加或替代示例中,仿真***344可以对道路网格进行调整,以使道路网格与补充数据局部对齐。例如,在至少一个示例中,仿真***344可以应用重心加权以减小误差(或数据中的其他插值)。因此,仿真***344可以基于补充数据输出细化的仿真环境,该细化的仿真环境比通过整合道路网络数据和道路网格得到的仿真环境更完整。也就是说,可以填充仿真环境中的孔,由此用补充数据来增强仿真环境。
在一些示例中,流程可以首先从框506进行到框508。在框508处,可以基于大的、平坦的区域(例如,交叉路口)处的误差来局部应用变形。可以在从第一交叉路口(或区域等)到所有相邻交叉路口的误差之间应用差值。在至少一些示例中,这种插值可以是线性的,但是可以考虑所有其他插值(例如,多项式、双三次等)。对于道路网格中的远离此类所选区域的中心点的那些区域,可以应用重心坐标(或一些其他双三次等插值)以将道路网格调整为补充数据。
在流程首先进行到框508的那些示例中,流程随后可以进行到框510。在这样的示例中,虽然将道路网格调整为补充数据,但可能在网格与补充数据之间发现附加误差。在这样的示例中,框510可以包括进一步变形(或以其他方式调整网格或补充数据中的一个或多个)。这样的变形可以根据局部变形来执行(例如,道路网格数据包括在所选区域的中心处的高度信息的源的100%和从中心经过一定半径的高度信息的0%,遵循S曲线,或其他方式)。通过局部变形数据(网格数据或补充数据),可以在网格数据与补充数据的边界之间具有平滑过渡。
图6示出了用于在本文描述的仿真环境中程序地渲染诸如交通灯柱的对象的示例过程600。在至少一个示例中,仿真***344可以在仿真环境中程序地渲染对象。也就是说,在一些示例中,当与对应的真实环境相比时,上述数据(例如,3D图块、道路网络数据、补充数据等)仍然具有缺陷。在这样的示例中,仿真***344可以利用各种启发法来在仿真环境中渲染对象。过程600示出了这种过程的示例。
框602示出了在仿真环境中确定交通信号灯的位置。在至少一些示例中,可以例如与道路网络数据和/或道路网格相关联地提供或以其他方式确定关于交通信号灯位置的数据。在至少一个示例中,仿真***344可以基于这样的数据来确定交通信号灯的位置。然而,这样的数据可能没有交通灯杆信息。
框604示出了生成穿过交通信号灯的至少一个平面。在至少一个示例中,仿真***344可以生成穿过交通信号灯的一个或多个平面(例如,至少具有指向光源的照明方向的表面法线的平面)。在一些示例中,仿真***344可以生成两个或更多个平面(例如,与交通信号灯下的道路平行的第一平面和与交通灯信号下的道路垂直的第二平面)。
框606示出了根据道路网络数据确定邻近交通信号灯的人行道。在至少一个示例中,仿真***344可以例如基于上述道路网络数据来识别邻近交通信号灯的人行道。
框608示出了确定相对人行道最接近的点。在至少一个示例中,仿真***344可以确定相对周围人行道最接近的点。这样的***可以包含各种路径规划算法(例如,A*、D*等,包含Manhattan约束(强制执行90度约束),和/或最小化灯杆的弯曲数量),以便找到从交通信号灯的位置到最接近的人行道点的最短路径。
框610示出了在仿真环境中渲染灯柱和将灯柱连接到交通信号灯的灯杆。仿真***344可以利用这种确定出的路径来渲染灯柱,该灯柱可以与用于将灯柱连接到交通信号灯的灯杆相关联。在至少一个示例中,仿真***344可以访问来自第三方源和/或***338的数据,该数据指示用于灯柱和灯杆的位置、取向、样式等的规则。例如,作为非限制性示例,此类数据可以指示灯柱应位于交通信号灯右侧约20英尺处。
虽然过程600针对渲染灯柱和将灯柱连接到交通灯的灯杆,但在附加或替代示例中,过程600可以针对将其他对象添加到仿真环境中。非限制性示例包括停车标志(例如,可以基于根据道路网络数据确定出的停车车道来渲染),停车收费表(例如,可以基于根据道路网络数据确定出的停车车道来渲染),停止标志(例如,可以基于根据道路网络数据确定出的停止线来渲染),等等。在这种示例中,仿真***344可以访问来自第三方源和/或***338的数据,该数据指示用于对象的位置、取向、样式等的规则。在至少一个示例中,可以对在仿真环境中渲染此类对象进行参数化,使得仿真***344可以遵守由第三方源和/或***338所指示的规则。
示例条款
A.一种计算机实现的方法,包括:在真实环境中从多个数据收集设备接收传感器数据;访问与真实环境相关联的道路网络数据,该道路网络数与真实环境相关联;至少部分地基于传感器数据,生成与真实环境相关联的道路网格;将道路网络数据与道路网格整合以生成仿真环境;访问存储对象覆盖区的数据存储装置;从存储对象覆盖区的数据存储装置中选择存储对象覆盖区;将对应于存储对象覆盖区的至少一个对象渲染到仿真环境中;渲染与至少一个对象相关联的表面细节;以及输出仿真环境,以用于对算法进行测试、验证或训练中的至少一项,该算法由自主机器人计算设备用于导航、规划或决策制定中的至少一项。
B.根据段落A所述的计算机实现的方法,其中,道路网络数据包括真实环境的二维表示,并且包括对行驶车道元素、自行车车道元素、停车车道元素或人行横道元素的至少一个指示。
C.根据段落A-B中任一项所述的计算机实现的方法,其中,道路网格包括从映射***输出的多个三维图块。
D.根据段落A-C中任一项所述的计算机实现的方法,其中,将道路网络数据和道路网格整合包括:将道路网络数据中的道路分段与道路网格的对应区域对齐;并且将道路分段的至少一部分投影到道路网格中。
E.根据段落A-D中任一项所述的计算机实现的方法,其中,存储对象覆盖区与指示高度、分类或规则集的至少一个注释相关联,该规则集指示与对象相关联的纹理;并且该计算机实现的方法还包括:至少部分地基于注释将与存储对象覆盖区对应的至少一个对象渲染到仿真环境中。
F.根据段落A-E中任一项所述的计算机实现的方法,其中,表面细节包括缺陷纹理、补丁纹理或标记纹理中的至少一个。
G.根据段落A-F中任一项所述的计算机实现的方法,其中,在单个绘制中使用稀疏虚拟纹理来添加表面细节。
H.一种***,包括:至少一个处理器;以及计算机可读指令,该计算机可读指令当由至少一个处理器执行时,使至少一个处理器执行包括以下各项的动作:访问与真实环境相关联的道路网络数据;生成与真实环境相关联的道路网格;将道路网络数据与道路网格相关联以生成仿真环境;至少部分地基于至少一个规则,将至少一个对象程序地渲染到仿真环境中;以及输出仿真环境以用于对算法进行测试、验证或训练中的至少一项,该算法由自主机器人计算设备用于控制自主机器人计算设备。
I.根据段落H所述的***,动作还包括:访问包括至少一个存储对象覆盖区的数据存储装置;从数据存储装置选择存储对象覆盖区;以及至少部分地基于至少一个规则,将与存储对象覆盖区对应的至少一个对象渲染到仿真环境中。
J.根据段落I所述的***,其中,规则包括:对在单独的对象与道路网络数据中的街道之间的距离的指示,对在多个对象中的单独的对象之间的距离或多个对象中的单独的对象的取向的指示。
K.根据段落I所述的***,其中,至少一个存储对象覆盖区与指示对象的特性的注释相关联,该特性包括高度或分类。
L.根据段落K所述的***,其中,至少一个存储对象覆盖区与用于纹理化对象的规则集相关联,该规则集基于特性与至少一个存储对象覆盖区相关联。
M.根据段落H-L中任一项所述的***,动作还包括:使用稀疏虚拟纹理渲染与至少一个对象相关联的表面细节。
N.根据段落H-M中任一项所述的***,动作还包括:至少部分地基于道路网络数据,确定交通信号灯的位置;生成穿过交通信号灯的至少一个平面;根据道路网络数据,确定邻近交通信号灯的人行道;使用规划算法确定相对人行道最接近的点;以及在仿真环境中渲染灯柱和将灯柱连接到交通信号灯的灯杆。
O.一种存储指令的非暂时性计算机可读介质,该指令在被执行时使一个或多个处理器执行包括以下各项的操作:访问与真实环境相关联的道路网络数据;生成与真实环境相关联的道路网格;将道路网络数据与道路网格整合以生成仿真环境;至少部分地基于至少一个规则,将至少一个对象程序地渲染到仿真环境中;并且经由计算设备输出仿真环境。
P.根据段落O所述的非暂时性计算机可读介质,其中,输出仿真环境包括:经由仿真计算设备输出仿真环境,以用于对算法进行测试、验证或训练中的至少一项,该算法由自主车辆用于控制自主车辆;并且操作还包括在真实环境中经由算法控制自主车辆。
Q.根据段落O-P中任一项所述的非暂时性计算机可读介质,操作还包括:访问包括至少一个存储对象覆盖区的数据存储装置,该至少一个存储对象覆盖区与指示对应对象的高度或分类的至少一个注释相关联;从数据存储装置中选择存储对象覆盖区;以及至少部分地基于对在单独的对象与道路网络数据中的街道之间的距离的指示,对在多个对象中的单独的对象之间的距离的指示,或对多个对象中的单独的对象的取向的指示,将与存储对象覆盖区对应的至少一个对象渲染到仿真环境中。
R.根据段落Q所述的非暂时性计算机可读介质,操作还包括:至少部分地基于至少一个注释将规则集与存储对象覆盖区相关联;以及至少部分地基于规则集来与对象相关联地渲染纹理。
S.根据段落O-R中任一项所述的非暂时性计算机可读介质,操作还包括:访问包括多个存储对象覆盖区的数据存储装置,其中,单独的存储对象覆盖区与相应的注释相关联;以及组合地渲染与多个存储对象覆盖区中的一个或多个存储对象对应的一个或多个对象。
T.根据段落O-S中任一项所述的非暂时性计算机可读介质,操作还包括:至少部分地基于道路网络数据,确定交通信号灯的位置;生成穿过交通信号灯的至少一个平面;根据道路网络数据,确定邻近交通信号灯的人行道;使用规划算法来确定相对人行道最接近的点;以及在仿真环境中渲染灯柱和将灯柱连接到交通信号灯的灯杆。
U.一种计算机实现的方法,包括:在真实环境中从多个数据收集设备接收传感器数据;访问与真实环境相关联的道路网络数据,该道路网络数据至少部分地基于环境;至少部分地基于传感器数据,确定与真实环境相关联的道路网格;将道路网络数据与道路网格相关联以生成仿真环境,其中,仿真环境相对于真实环境是不完整的;访问与真实环境相关联的补充数据,其中补充数据提供与真实环境相关联的信息,该信息对于多个数据收集设备不可用;将补充数据与仿真环境相关联,以将仿真环境补充为修改后的补充环境;以及输出修改后的仿真环境,以用于对算法进行测试、验证或训练中的至少一项,该算法由自主机器人计算设备用于导航、规划或决策制定中的至少一项。
V.根据段落U所述的计算机实现的方法,其中,补充数据包括存储基于栅格的数字高程模型的地理空间文件格式。
W.根据段落V所述的计算机实现的方法,其中,地理空间文件格式与美国地质调查局(USGS)数据评估模型(DEM)标准相关联。
X.根据段落U-W中任一项所述的计算机实现的方法,其中,由于与停放的汽车或小巷相关联的传感器数据中的遮挡,仿真环境是不完整的。
Y.根据段落U-X中任一项所述的计算机实现的方法,还包括:确定在补充数据的第一部分与道路网格的第二部分之间的误差,该第一部分和第二部分与真实环境的相同区域相关联;确定误差达到或超过阈值误差量;以及调整补充数据或道路网格中的至少一个以减小误差。
Z.根据段落Y所述的计算机实现的方法,其中,误差包括与真实环境的相同区域相关联的平均误差中的至少一个。
AA.根据段落Y所述的计算机实现的方法,还包括:将变形晶格应用于补充数据的至少一部分或道路网格的对应部分中的一个或多个,以使补充数据和道路网格实质上对齐来减小误差。
AB.一种***,包括:至少一个处理器;以及一或多个计算机可读指令,该计算机可读指令当由至少一个处理器执行时,使至少一个处理器执行包括以下各项的动作:在真实环境中从至少一个数据收集设备接收传感器数据;访问与真实环境相关联的道路网络数据或与真实环境相关联的道路网格中的至少一个,该道路网格与传感器数据相关联;基于道路网络数据或道路网格中的至少一个来生成仿真环境;将补充数据与仿真环境相关联以生成修改后的仿真环境;以及输出修改后的仿真环境,以用于对算法进行测试、验证或训练中的至少一项,该算法由自主机器人计算设备用于控制自主机器人计算设备。
AC.根据段落AB所述的***,其中,由于真实环境中的至少一个遮挡,仿真环境是不完整的。
AD.根据段落AB-AC中任一项所述的***,其中,补充数据提供与真实环境相关联的信息,否则由于至少一个遮挡,该信息对于至少一个数据收集设备不可用。
AE.根据段落AB-AD中任一项所述的***,其中,道路网络数据包括真实环境的二维表示,并且包括对行驶车道元素、自行车车道元素、停车车道元素或人行横道元素的至少一个指示。
AF.根据段落AB-AE中任一项所述的***,其中,道路网格包括从映射***输出的多个三维图块。
AG.根据段落AB-AF中任一项所述的***,其中,操作还包括:访问道路网络数据和道路网格,以及至少部分地基于将道路网络数据投影到道路网格中,将道路网络数据与道路网格相关联。
AH.根据段落AB-AG中任一项所述的***,其中,补充数据包括由第三方源或***收集的高程数据。
AI.根据段落AB-AH中任一项所述的***,动作还包括:测量在补充数据的第一部分与道路网格的第二部分之间的高度误差;确定该高度误差达到或超过阈值误差量;以及将变形晶格应用于第一部分或第二部分中的一个或多个以减小高度误差。
AJ.一种非暂时性计算机可读介质,其存储指令,该指令在被执行时使一个或多个处理器执行包括以下各项的操作:访问与真实环境相关联的道路网络数据或与真实环境相关联的道路网格中的至少一个;基于道路网络数据或道路网格中的至少一个来生成仿真环境;将补充数据与仿真环境相关联以生成修改后的仿真环境;并且输出修改后的仿真环境,以用于对算法进行测试、验证或训练中的至少一项,该算法由自主机器人计算设备用于控制自主机器人计算设备中的至少一项。
AK.根据段落AJ所述的非暂时性计算机可读介质,其中,补充数据包括由第三方源或***收集的高程数据。
AL.根据段落AJ-AK中任一项所述的非暂时性计算机可读介质,其中,补充数据包括与美国地质调查局(USGS)数据评估模型(DEM)标准相关联的地理空间文件格式。
AM.根据段落AJ-AL中任一项所述的非暂时性计算机可读介质,操作还包括:测量在补充数据的第一部分与道路网格的第二部分之间的高度差异,该第一部分和第二部分与真实环境中没有对象的相同区域相关联;确定差异达到或超过阈值差异;以及将变形晶格应用于第一部分或第二部分中的一个或多个以减小误差。
AN.根据段落AJ-AM中任一项所述的非暂时性计算机可读介质,其中,补充数据提供与真实环境相关联的信息,否则由于至少一个遮挡,该信息对于至少一个数据收集设备不可用。
虽然关于一个特定实现方式描述了上述示例条款,但是应当理解,在本文档的上下文中,示例条款的内容也可以经由方法、设备、***、计算机可读介质和/或另一种实现方式实现。
结论
虽然已经描述了本文描述的技术的一个或多个示例,但是其各种变更、添加、置换和等同物也包含于本文描述的技术的范围内。
在示例的描述中,参考形成其一部分的附图,附图通过图示的方式示出了所要求保护的主题的特定示例。应该理解,可以使用其他示例,并且可以进行诸如结构改变的改变或变更。这样的示例、改变或变更不一定脱离相对于预期的要求保护的主题的范围。虽然本文的步骤可以按一定次序呈现,但在一些情况下,可以改变排序,使得在不改变所描述的***和方法的功能的情况下,在不同时间或以不同次序提供特定输入。所公开的过程也可以以不同的次序执行。另外,不一定以所公开的次序执行本文的各种计算,并且可以容易地实现使用计算的替代排序的其他示例。除了重新排序外,这些计算还可以分解为具有相同结果的子计算。
Claims (73)
1.一种计算机实现的方法,包括:
在真实环境中从多个数据收集设备接收传感器数据;
访问与所述真实环境相关联的道路网络数据,所述道路网络数据至少部分地基于环境;
至少部分地基于所述传感器数据,确定与所述真实环境相关联的网格;
将所述道路网络数据与所述网格相关联以生成仿真环境,其中,所述仿真环境相对于所述真实环境是不完整的;
访问与所述真实环境相关联的补充数据,其中,所述补充数据提供与所述真实环境相关联的信息,所述信息不同于由所述多个数据收集设备提供的信息;
确定在所述补充数据的第一部分与所述网格的第二部分之间的误差,所述第一部分和所述第二部分与所述真实环境的相同区域相关联;
确定所述误差达到或超过阈值误差量来作为确定;
至少部分地基于所述确定来调整所述补充数据或所述网格中的至少一个以减小所述误差;
将所述补充数据与所述仿真环境相关联,以将所述仿真环境补充为修改后的仿真环境;以及
输出所述修改后的仿真环境,以用于对算法进行测试、验证或训练中的至少一项,所述算法由自主机器人计算设备用于导航、规划或决策制定中的至少一项。
2.根据权利要求1所述的计算机实现的方法,其中,所述补充数据包括存储基于栅格的数字高程模型的地理空间文件格式。
3.根据权利要求2所述的计算机实现的方法,其中,所述地理空间文件格式与美国地质调查局数据评估模型标准相关联。
4.根据权利要求1所述的计算机实现的方法,其中,由于与环境中的对象或地形中的一个或多个相关联的所述传感器数据中的遮挡,所述仿真环境是不完整的。
5.根据权利要求1所述的计算机实现的方法,其中,所述误差包括与所述真实环境的相同区域相关联的平均误差中的至少一个。
6.根据权利要求1所述的计算机实现的方法,还包括:将变形晶格应用于所述补充数据的至少一部分或所述网格的对应部分中的一个或多个,以使所述补充数据和所述网格实质上对齐来减小所述误差。
7.根据权利要求1-6中的任一项所述的计算机实现的方法,其中,所述补充数据包括以下各项中的至少一项:存储对象覆盖区,与所述对象相关联的高度,与所述对象相关联的分类,或指示与所述对象相关联的纹理的规则集。
8.一种或多种计算机可读介质,其存储被配置为实现根据前述权利要求中的任一项所述的方法的指令。
9.一种用于输出修改后的仿真环境的***,所述***包括:
至少一个处理器;以及
一个或多个计算机可读指令,所述计算机可读指令当由所述至少一个处理器执行时,使所述至少一个处理器执行包括以下各项的动作:
在真实环境中从至少一个数据收集设备接收传感器数据;
访问与所述真实环境相关联的道路网络数据或与所述真实环境相关联的网格中的至少一个,所述网格是至少部分地基于传感器数据确定的;
基于所述道路网络数据或所述网格中的至少一个来生成仿真环境;
将补充数据与所述仿真环境相关联,以生成修改后的仿真环境;
输出所述修改后的仿真环境,以用于对算法进行测试、验证或训练中的至少一项,所述算法由自主机器人计算设备用于控制所述自主机器人计算设备中的至少一项;
测量在所述补充数据的第一部分与所述网格的第二部分之间的高度误差;
确定所述高度误差达到或超过阈值误差量来作为确定;以及
至少部分地基于所述确定将变形晶格应用于所述第一部分或所述第二部分中的一个或多个以减小所述高度误差。
10.根据权利要求9所述的***,其中,由于所述真实环境中的至少一个遮挡,所述仿真环境是不完整的。
11.根据权利要求9或10所述的***,其中,所述补充数据提供与所述真实环境相关联的信息,否则由于至少一个遮挡,所述信息对于所述至少一个数据收集设备不可用。
12.根据权利要求9或10所述的***,其中,所述道路网络数据包括所述真实环境的二维表示,并且包括对行驶车道元素、自行车车道元素、停车车道元素或人行横道元素的至少一个指示。
13.根据权利要求9或10所述的***,其中,操作还包括:访问所述道路网络数据和所述网格,以及至少部分地基于将所述道路网络数据投影到所述网格中,将所述道路网络数据与所述网格相关联。
14.一种计算机实现的方法,包括:
在真实环境中从多个数据收集设备接收传感器数据;
访问与所述真实环境相关联的道路网络数据,所述道路网络数据与所述真实环境相关联;
至少部分地基于所述传感器数据生成与所述真实环境相关联的道路网格;
将所述道路网络数据与所述道路网格进行整合以生成仿真环境,所述整合包括:
将所述道路网络数据中的道路分段与所述道路网格的对应区域对齐;以及
将所述道路分段的至少一部分投影到所述道路网格中;
访问存储对象覆盖区的数据存储装置;
从所述存储对象覆盖区的数据存储装置中选择存储对象覆盖区;
将与所述存储对象覆盖区相对应的至少一个对象渲染到所述仿真环境中;
渲染与所述至少一个对象相关联的表面细节;以及
输出所述仿真环境,以用于对算法进行测试、验证或训练中的至少一项,所述算法由自主机器人计算设备用于导航、规划或决策制定中的至少一项。
15.根据权利要求14所述的计算机实现的方法,其中,所述道路网络数据包括所述真实环境的二维表示,并且包括对行驶车道元素、自行车车道元素、停车车道元素或人行横道元素的至少一个指示。
16.根据权利要求14所述的计算机实现的方法,其中,所述道路网格包括从映射***输出的多个三维图块。
17.根据权利要求14所述的计算机实现的方法,其中,所述存储对象覆盖区与指示高度、分类或规则集的至少一个注释相关联,所述规则集指示与所述对象相关联的纹理;并且
所述计算机实现的方法还包括至少部分地基于所述注释将与所述存储对象覆盖区相对应的所述至少一个对象渲染到所述仿真环境中。
18.根据权利要求14所述的计算机实现的方法,其中,所述表面细节包括缺陷纹理、补丁纹理或标记纹理中的至少一个。
19.根据权利要求14所述的计算机实现的方法,其中,在单个绘制中使用稀疏虚拟纹理添加所述表面细节。
20.一种用于输出仿真环境的***,所述***包括:
至少一个处理器;以及
计算机可读指令,其在由所述至少一个处理器执行时,使所述至少一个处理器执行包括以下各项的动作:
接收与传感器相关联的传感器数据;
访问与真实环境相关联的道路网络数据;
至少部分地基于所述传感器数据生成与所述真实环境相关联的道路网格;
将所述道路网络数据中的道路分段与所述道路网格的对应区域对齐;
将所述道路分段的至少一部分投影到所述道路网格中;至少部分地基于所述对齐和所述投影生成仿真环境;
至少部分地基于至少一个规则将至少一个对象程序地渲染到所述仿真环境中;
渲染与所述至少一个对象相关联的表面细节;以及
输出所述仿真环境,以用于对算法进行测试、验证或训练中的至少一项,所述算法由自主机器人计算设备用于控制所述自主机器人计算设备。
21.根据权利要求20所述的***,所述动作还包括:
访问包括至少一个存储对象覆盖区的数据存储装置;
从所述数据存储装置中选择存储对象覆盖区;以及
至少部分地基于所述至少一个规则,将与所述存储对象覆盖区相对应的至少一个对象渲染到所述仿真环境中。
22.根据权利要求21所述的***,其中,所述规则包括对单独的对象与所述道路网络数据中的街道之间的距离的指示,对多个对象中的单独的对象之间的距离或所述多个对象中的单独的对象的取向的指示。
23.根据权利要求21所述的***,其中,所述至少一个存储对象覆盖区与指示所述对象的特性的注释相关联,所述特性包括高度或分类。
24.根据权利要求23所述的***,其中,所述至少一个存储对象覆盖区与用于纹理化所述对象的规则集相关联,所述规则集至少部分地基于所述特性与所述至少一个存储对象覆盖区相关联。
25.根据权利要求20所述的***,所述动作还包括至少部分地基于稀疏虚拟纹理来渲染与所述至少一个对象相关联的所述表面细节。
26.根据权利要求20所述的***,所述动作还包括:
至少部分地基于所述道路网络数据确定交通信号灯的位置;
生成穿过所述交通信号灯的至少一个平面;
根据所述道路网络数据确定邻近所述交通信号灯的人行道;
使用规划算法确定相对所述人行道最接近的点;以及
在所述仿真环境中渲染灯柱和用于将所述灯柱连接到所述交通信号灯的灯杆。
27.一种存储指令的非暂时性计算机可读介质,所述指令在被执行时,使得一个或多个处理器执行包括以下各项的操作:
接收与传感器相关联的传感器数据;
访问与真实环境相关联的道路网络数据;
至少部分地基于所述传感器数据生成与所述真实环境相关联的道路网格;
将所述道路网络数据与所述道路网格进行整合以生成仿真环境,所述整合包括:
将所述道路网络数据中的道路分段与所述道路网格的对应区域对齐;以及
将所述道路分段的至少一部分投影到所述道路网格中;
至少部分地基于至少一个规则将至少一个对象程序地渲染到所述仿真环境中;
渲染与所述至少一个对象相关联的表面细节;以及
经由计算设备输出所述仿真环境。
28.根据权利要求27所述的非暂时性计算机可读介质,其中,输出所述仿真环境包括经由仿真计算设备输出所述仿真环境,以用于对算法进行测试、验证或训练中的至少一项,所述算法由自主车辆用于控制所述自主车辆;并且
所述操作还包括在所述真实环境中经由所述算法控制所述自主车辆。
29.根据权利要求27所述的非暂时性计算机可读介质,所述操作还包括:
访问包括至少一个存储对象覆盖区的数据存储装置,所述至少一个存储对象覆盖区与指示对应对象的高度或分类的至少一个注释相关联;
从所述数据存储装置中选择存储对象覆盖区;以及
至少部分地基于对单独的对象与所述道路网络数据中的街道之间的距离的指示,对多个对象中的单独的对象之间的距离的指示,或对所述多个对象中的单独的对象的取向的指示,将与所述存储对象覆盖区相对应的至少一个对象渲染到所述仿真环境中。
30.根据权利要求29所述的非暂时性计算机可读介质,所述操作还包括:
至少部分地基于所述至少一个注释将规则集与所述存储对象覆盖区相关联;以及
至少部分地基于所述规则集与所述对象相关联地渲染纹理。
31.根据权利要求27所述的非暂时性计算机可读介质,所述操作还包括:
访问包括多个存储对象覆盖区的数据存储装置,其中,单独的存储对象覆盖区与相应的注释相关联;以及
组合地渲染与所述多个存储对象覆盖区的一个或多个存储对象相对应的一个或多个对象。
32.根据权利要求28所述的非暂时性计算机可读介质,所述操作还包括:
至少部分地基于所述道路网络数据确定交通信号灯的位置;
生成穿过所述交通信号灯的至少一个平面;
根据所述道路网络数据确定邻近所述交通信号灯的人行道;
使用规划算法确定相对所述人行道最接近的点;以及
在所述仿真环境中渲染灯柱和用于将所述灯柱连接到所述交通信号灯的灯杆。
33.根据权利要求27所述的非暂时性计算机可读介质,其中,所述道路网络数据包括所述真实环境的二维表示,并且包括对行驶车道元素、自行车车道元素、停车车道元素或人行横道元素的至少一个指示。
34.一种计算机实现的方法,包括:
在真实环境中从多个数据收集设备接收传感器数据;
访问与所述真实环境相关联的道路网络数据,所述道路网络数据至少部分地基于所述真实环境;
至少部分地基于所述传感器数据,确定与所述真实环境相关联的道路网格;
将所述道路网络数据与所述道路网格相关联以生成仿真环境,其中,所述仿真环境相对于所述真实环境是不完整的;
访问与所述真实环境相关联的补充数据,其中,所述补充数据提供与所述真实环境相关联的信息,所述信息对于所述多个数据收集设备不可用;
确定所述补充数据的第一部分与所述道路网格的第二部分之间的误差,所述第一部分和所述第二部分与所述真实环境的相同区域相关联;
确定所述误差达到或超过阈值误差量来作为确定;
至少部分地基于所述确定调整所述补充数据或所述道路网格中的至少一个以减小所述误差;
将所述补充数据与所述仿真环境相关联,以将所述仿真环境补充为修改后的仿真环境;以及
输出所述修改后的仿真环境,以用于对算法进行测试、验证或训练中的至少一项,所述算法由自主机器人计算设备用于导航、规划或决策制定中的至少一项。
35.根据权利要求34所述的计算机实现的方法,其中,所述补充数据包括存储基于栅格的数字高程模型的地理空间文件格式。
36.根据权利要求35所述的计算机实现的方法,其中,所述地理空间文件格式与美国地质调查局数据评估模型标准相关联。
37.根据权利要求34所述的计算机实现的方法,其中,由于与停放的汽车或小巷相关联的所述传感器数据中的遮挡,所述仿真环境是不完整的。
38.根据权利要求34所述的计算机实现的方法,其中,所述误差包括与所述真实环境的相同区域相关联的平均误差中的至少一个。
39.根据权利要求34所述的计算机实现的方法,还包括:将变形晶格应用于所述补充数据的至少一部分或所述道路网格的对应部分中的一个或多个,以使所述补充数据和所述道路网格实质上对齐来减小所述误差。
40.根据权利要求34所述的计算机实现的方法,其中,所述误差包括以下各项中的至少一项:单次测量,多次测量的平均值,区域内的最大值,区域内的最小值,或代表所述补充数据的第一部分与所述道路网格的第二部分之间的差异的总误差。
41.一种用于输出修改后的仿真环境的***,所述***包括:
至少一个处理器;以及
一个或多个计算机可读指令,其在由所述至少一个处理器执行时,使所述至少一个处理器执行包括以下各项的动作:
在真实环境中从至少一个数据收集设备接收传感器数据;
访问与所述真实环境相关联的道路网络数据或与所述真实环境相关联的道路网格中的至少一个,所述道路网格与所述传感器数据相关联;
基于所述道路网络数据或所述道路网格中的所述至少一个来生成仿真环境;
将补充数据与所述仿真环境相关联,以生成修改后的仿真环境;
输出所述修改后的仿真环境,以用于对算法进行测试、验证或训练中的至少一项,所述算法由自主机器人计算设备用于控制所述自主机器人计算设备中的至少一项;
测量所述补充数据的第一部分与所述道路网格的第二部分之间的误差;
确定所述误差达到或超过阈值误差量来作为确定;以及
至少部分地基于所述确定将变形晶格应用于所述第一部分或所述第二部分中的一个或多个,以减小所述误差。
42.根据权利要求41所述的***,其中,由于所述真实环境中的至少一个遮挡,所述仿真环境是不完整的。
43.根据权利要求41所述的***,其中,所述补充数据提供与所述真实环境相关联的信息,否则由于至少一个遮挡,所述信息对于所述至少一个数据收集设备不可用。
44.根据权利要求41所述的***,其中,所述道路网络数据包括所述真实环境的二维表示,并且包括对行驶车道元素、自行车车道元素、停车车道元素或人行横道元素的至少一个指示。
45.根据权利要求41所述的***,其中,所述道路网格包括从映射***输出的多个三维图块。
46.根据权利要求41所述的***,其中,所述动作还包括:访问所述道路网络数据和所述道路网格,以及至少部分地基于将所述道路网络数据投影到所述道路网格中,将所述道路网络数据与所述道路网格相关联。
47.根据权利要求41所述的***,其中,所述补充数据包括由第三方源或***收集的高程数据。
48.根据权利要求41所述的***,其中,所述误差包括以下各项中的至少一项:单次测量,多次测量的平均值,区域内的最大值,区域内的最小值,或代表所述补充数据的第一部分与所述道路网格的第二部分之间的差异的总误差。
49.一种存储指令的非暂时性计算机可读介质,所述指令在被执行时,使得一个或多个处理器执行包括以下各项的操作:
访问与真实环境相关联的道路网络数据或与所述真实环境相关联的道路网格中的至少一个;
基于所述道路网络数据或所述道路网格中的所述至少一个来生成仿真环境;
将补充数据与所述仿真环境相关联,以生成修改后的仿真环境;
输出所述修改后的仿真环境,以用于对算法进行测试、验证或训练中的至少一项,所述算法由自主机器人计算设备用于控制所述自主机器人计算设备中的至少一项;
测量所述补充数据的第一部分与所述道路网格的第二部分之间的差异,所述第一部分和所述第二部分与所述真实环境中没有对象的相同区域相关联;
确定所述差异达到或超过阈值差异来作为确定;以及
至少部分地基于所述确定将变形晶格应用于所述第一部分或所述第二部分中的一个或多个,以减小所述差异。
50.根据权利要求49所述的非暂时性计算机可读介质,其中,所述补充数据包括由第三方源或***收集的高程数据。
51.根据权利要求49所述的非暂时性计算机可读介质,其中,所述补充数据包括地理空间文件格式,所述地理空间文件格式与美国地质调查局数据评估模型标准相关联。
52.根据权利要求49所述的非暂时性计算机可读介质,其中,所述补充数据提供与所述真实环境相关联的信息,否则由于至少一个遮挡,所述信息对于至少一个数据收集设备不可用。
53.根据权利要求49所述的非暂时性计算机可读介质,其中,所述差异包括以下各项中的至少一项:单次测量,多次测量的平均值,区域内的最大值,区域内的最小值,或代表所述补充数据的第一部分与所述道路网格的第二部分之间的所述差异的总误差。
54.一种用于输出修改后的仿真环境的***,所述***包括:
一个或多个处理器;以及
存储计算机可执行指令的一种或多种非暂时性计算机可读介质,所述计算机可执行指令在被执行时,使得所述一个或多个处理器执行包括以下各项的操作:
将道路网格和与仿真环境相关联的补充数据对齐来作为第一对齐;
确定所述道路网格与所述补充数据之间的误差;
将所述误差与阈值误差量进行比较;以及
执行以下各项中的至少一项:
至少部分地基于所述误差不超过所述阈值误差量,将所述道路网格和所述补充数据混合以生成混合数据;或者
至少部分地基于所述误差达到或超过所述阈值误差量,应用变形晶格以将所述道路网格与所述补充数据实质上对齐来作为第二对齐。
55.根据权利要求54所述的***,其中,所述补充数据包括存储基于栅格的数字高程模型的地理空间文件格式。
56.根据权利要求54所述的***,其中,所述误差包括以下各项中的至少一项:单次测量,多次测量的平均值,区域内的最大值,区域内的最小值,或代表所述道路网格的第一部分与所述补充数据的第二部分之间的差异的总误差。
57.根据权利要求54所述的***,其中,所述误差包括所述道路网格的第一部分与所述补充数据的第二部分之间的误差。
58.根据权利要求54所述的***,其中,所述操作还包括至少部分地基于所述混合或所述应用来生成修改后的仿真环境。
59.根据权利要求54所述的***,其中,所述误差是垂直距离误差或水平距离误差。
60.一种计算机实现的方法,包括:
将道路网格和与仿真环境相关联的补充数据对齐来作为第一对齐;
确定所述道路网格与所述补充数据之间的误差;
将所述误差与阈值误差量进行比较;以及
执行以下各项中的至少一项:
至少部分地基于所述误差不超过所述阈值误差量,将所述道路网格和所述补充数据混合以生成混合数据;或者
至少部分地基于所述误差达到或超过所述阈值误差量,应用变形晶格以将所述道路网格与所述补充数据实质上对齐来作为第二对齐。
61.根据权利要求60所述的计算机实现的方法,其中,所述补充数据包括存储基于栅格的数字高程模型的地理空间文件格式。
62.根据权利要求60所述的计算机实现的方法,其中,所述仿真环境与根据来自至少一个数据收集设备的传感器数据确定的真实环境相关联。
63.根据权利要求60所述的计算机实现的方法,其中,所述道路网格包括从映射***输出的多个三维图块。
64.根据权利要求60所述的计算机实现的方法,其中,所述补充数据包括由第三方源或***收集的高程数据。
65.根据权利要求60所述的计算机实现的方法,其中,确定所述道路网格与所述补充数据之间的所述误差包括周期性地测量所述道路网格与所述补充数据之间的所述误差以确定多次测量的平均值,区域内的最大值,或区域内的最小值。
66.根据权利要求60所述的计算机实现的方法,其中:
测量所述误差包括测量所述道路网格内的指定位置中的所述误差,并且
所述指定位置包括道路中心线。
67.根据权利要求60所述的计算机实现的方法,其中,所述混合包括以下各项中的至少一项:全局混合、局部混合、线性混合、平滑曲线混合,以将所述道路网格和所述补充数据混合。
68.根据权利要求60所述的计算机实现的方法,其中,混合的水平至少部分地基于所述道路网格的中心线与所述补充数据的区域之间的距离。
69.根据权利要求60所述的计算机实现的方法,还包括使所述道路网格的边界与所述补充数据的边界之间的过渡平滑。
70.一种或多种存储指令的非暂时性计算机可读介质,所述指令在被执行时,使得一个或多个处理器执行包括以下各项的操作:
将道路网格和与仿真环境相关联的补充数据对齐来作为第一对齐;
确定所述道路网格与所述补充数据之间的误差;
将所述误差与阈值误差量进行比较;以及
执行以下各项中的至少一项:
至少部分地基于所述误差不超过所述阈值误差量,将所述道路网格和所述补充数据混合以生成混合数据;或者
至少部分地基于所述误差达到或超过所述阈值误差量,应用变形晶格以将所述道路网格与所述补充数据实质上对齐来作为第二对齐。
71.根据权利要求70所述的非暂时性计算机可读介质,其中,所述补充数据包括由第三方源或***收集的高程数据。
72.根据权利要求70所述的非暂时性计算机可读介质,其中,所述补充数据包括地理空间文件格式,所述地理空间文件格式与美国地质调查局数据评估模型标准相关联。
73.根据权利要求70所述的非暂时性计算机可读介质,其中,所述补充数据提供与真实环境相关联的信息,否则由于至少一个遮挡,所述信息对于至少一个数据收集设备不可用。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862716839P | 2018-08-09 | 2018-08-09 | |
US62/716,839 | 2018-08-09 | ||
US16/163,466 | 2018-10-17 | ||
US16/163,466 US11138350B2 (en) | 2018-08-09 | 2018-10-17 | Procedural world generation using tertiary data |
US16/163,478 US11068627B2 (en) | 2018-08-09 | 2018-10-17 | Procedural world generation |
US16/163,478 | 2018-10-17 | ||
PCT/US2019/045805 WO2020033767A1 (en) | 2018-08-09 | 2019-08-08 | Procedural world generation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112639888A CN112639888A (zh) | 2021-04-09 |
CN112639888B true CN112639888B (zh) | 2024-07-05 |
Family
ID=69406006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980053514.4A Active CN112639888B (zh) | 2018-08-09 | 2019-08-08 | 程序世界生成 |
Country Status (5)
Country | Link |
---|---|
US (5) | US11068627B2 (zh) |
EP (1) | EP3834178A1 (zh) |
JP (2) | JP7440490B2 (zh) |
CN (1) | CN112639888B (zh) |
WO (1) | WO2020033767A1 (zh) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489972B2 (en) * | 2016-06-28 | 2019-11-26 | Cognata Ltd. | Realistic 3D virtual world creation and simulation for training automated driving systems |
WO2018176000A1 (en) | 2017-03-23 | 2018-09-27 | DeepScale, Inc. | Data synthesis for autonomous control systems |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US11599751B2 (en) * | 2017-12-28 | 2023-03-07 | Intel Corporation | Methods and apparatus to simulate sensor data |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11068627B2 (en) | 2018-08-09 | 2021-07-20 | Zoox, Inc. | Procedural world generation |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
WO2020055767A1 (en) * | 2018-09-10 | 2020-03-19 | Mapbox, Inc. | Mapping objects detected in images to geographic positions |
US11030364B2 (en) * | 2018-09-12 | 2021-06-08 | Ford Global Technologies, Llc | Evaluating autonomous vehicle algorithms |
JP7040374B2 (ja) * | 2018-09-14 | 2022-03-23 | トヨタ自動車株式会社 | 物体検出装置、車両制御システム、物体検出方法及び物体検出用コンピュータプログラム |
US11132211B1 (en) * | 2018-09-24 | 2021-09-28 | Apple Inc. | Neural finite state machines |
CN115512173A (zh) | 2018-10-11 | 2022-12-23 | 特斯拉公司 | 用于使用增广数据训练机器模型的***和方法 |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
JP7272533B2 (ja) * | 2018-11-05 | 2023-05-12 | エッジ ケース リサーチ,インコーポレイテッド | 知覚システムを評価するシステム及び方法 |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US11238370B2 (en) * | 2018-12-31 | 2022-02-01 | Woven Planet North America, Inc. | Approaches for determining sensor calibration |
US11150664B2 (en) | 2019-02-01 | 2021-10-19 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
JP7115402B2 (ja) * | 2019-04-10 | 2022-08-09 | 株式会社デンソー | レーダ装置 |
DE102019205962A1 (de) * | 2019-04-25 | 2020-10-29 | Robert Bosch Gmbh | Verfahren zur Generierung von digitalen Bildpaaren als Trainingsdaten für Neuronale Netze |
US11379632B2 (en) * | 2019-05-28 | 2022-07-05 | Applied Intuition, Inc. | Simulated-driving-environment generation |
US11391257B2 (en) * | 2019-07-23 | 2022-07-19 | Ford Global Technologies, Llc | Power supply during vehicle startup |
US11529886B2 (en) | 2019-07-23 | 2022-12-20 | Ford Global Technologies, Llc | Power supply during vehicle off state |
US11625574B2 (en) * | 2019-10-28 | 2023-04-11 | MakinaRocks Co., Ltd. | Method for generating abnormal data |
EP4051549A4 (en) * | 2019-11-15 | 2024-04-24 | Waymo Llc | GENERATION OF ENVIRONMENTAL DATA |
US11820397B2 (en) * | 2019-11-16 | 2023-11-21 | Uatc, Llc | Localization with diverse dataset for autonomous vehicles |
JP7413011B2 (ja) * | 2019-12-27 | 2024-01-15 | キヤノンメディカルシステムズ株式会社 | 医用情報処理装置 |
US11765067B1 (en) * | 2019-12-28 | 2023-09-19 | Waymo Llc | Methods and apparatus for monitoring a sensor validator |
US11694089B1 (en) * | 2020-02-04 | 2023-07-04 | Rockwell Collins, Inc. | Deep-learned photorealistic geo-specific image generator with enhanced spatial coherence |
WO2021168435A1 (en) * | 2020-02-21 | 2021-08-26 | Edge Case Research, Inc. | Automated identification of training data candidates for perception systems |
KR102159052B1 (ko) * | 2020-05-12 | 2020-09-23 | 주식회사 폴라리스쓰리디 | 영상 분류 방법 및 장치 |
US11163921B1 (en) * | 2020-09-01 | 2021-11-02 | TeleqoTech | Managing a smart city |
CN112052549B (zh) * | 2020-09-09 | 2021-03-05 | 中国测绘科学研究院 | 一种小网眼聚集区道路选取方法 |
DE102021104110A1 (de) * | 2021-02-22 | 2022-08-25 | Dspace Gmbh | Verfahren zur Parametrierung einer Bildsynthese aus einem 3D-Modell |
WO2022272262A1 (en) * | 2021-06-24 | 2022-12-29 | Paypal, Inc. | Federated machine learning management |
JP7058434B1 (ja) * | 2021-07-07 | 2022-04-22 | 株式会社エクサウィザーズ | 生成方法、情報処理装置、プログラム、及び情報処理システム |
US20230084702A1 (en) * | 2021-09-10 | 2023-03-16 | Cyngn, Inc. | System and method of adaptive, real-time vehicle system identification for autonomous driving |
US12039663B2 (en) | 2021-10-28 | 2024-07-16 | Nvidia Corporation | 3D surface structure estimation using neural networks for autonomous systems and applications |
US20230139772A1 (en) * | 2021-10-28 | 2023-05-04 | Nvidia Corporation | 3d surface structure estimation using neural networks for autonomous systems and applications |
EP4202760A1 (de) | 2021-12-21 | 2023-06-28 | dSPACE GmbH | Computerimplementiertes verfahren zum erstellen einer dreidimensionalen simulationsumgebung |
DE102021133968B4 (de) | 2021-12-21 | 2023-06-29 | Dspace Gmbh | Verfahren und Anordnung zum Parametrieren einer Emulationslogik |
US20240033631A1 (en) * | 2022-07-29 | 2024-02-01 | Niantic, Inc. | Maintaining object alignment in 3d map segments |
CN115394170B (zh) * | 2022-07-29 | 2024-05-03 | 北京城市网邻信息技术有限公司 | 电子沙盘构建方法、装置、电子设备及存储介质 |
Family Cites Families (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69913150T2 (de) * | 1998-07-20 | 2004-08-26 | The Procter & Gamble Company, Cincinnati | Robotersystem |
US6587787B1 (en) * | 2000-03-15 | 2003-07-01 | Alpine Electronics, Inc. | Vehicle navigation system apparatus and method providing enhanced information regarding geographic entities |
US6941289B2 (en) | 2001-04-06 | 2005-09-06 | Sas Institute Inc. | Hybrid neural network generation system and method |
US6856830B2 (en) * | 2001-07-19 | 2005-02-15 | Bin He | Method and apparatus of three dimension electrocardiographic imaging |
CN1549171A (zh) * | 2003-05-15 | 2004-11-24 | 季永萍 | 基于网格计算的高新技术市场界定标准的实现装置 |
CN2629653Y (zh) | 2003-05-30 | 2004-08-04 | 张艳春 | 人体前庭感觉功能稳定性测试仪 |
WO2005091177A2 (en) * | 2004-03-10 | 2005-09-29 | Renault S.A.S. | A validation method for embedded systems |
US7660441B2 (en) * | 2004-07-09 | 2010-02-09 | Southern California, University | System and method for fusing geospatial data |
CN100561161C (zh) * | 2006-06-09 | 2009-11-18 | 大连理工大学 | 一种用于海洋平台的调谐质量阻尼器半实物仿真测试方法和*** |
US20070288410A1 (en) * | 2006-06-12 | 2007-12-13 | Benjamin Tomkins | System and method of using genetic programming and neural network technologies to enhance spectral data |
US20080033645A1 (en) * | 2006-08-03 | 2008-02-07 | Jesse Sol Levinson | Pobabilistic methods for mapping and localization in arbitrary outdoor environments |
CN1916968A (zh) * | 2006-09-01 | 2007-02-21 | 上海大学 | 三维虚拟现实用矩阵实现模拟环境光照射的设置方法 |
US8341595B2 (en) * | 2007-05-30 | 2012-12-25 | Roam Data Inc | System and method for developing rich internet applications for remote computing devices |
CA2629653A1 (en) | 2008-05-30 | 2009-11-30 | Gerard Voon | Neural links/artificial intelligence/computer/multidimensional technologies iii |
JP5339953B2 (ja) | 2009-02-17 | 2013-11-13 | 三菱電機株式会社 | 三次元地図補正装置及び三次元地図補正プログラム |
US20100312736A1 (en) | 2009-06-05 | 2010-12-09 | The Regents Of The University Of California | Critical Branching Neural Computation Apparatus and Methods |
US8559673B2 (en) | 2010-01-22 | 2013-10-15 | Google Inc. | Traffic signal mapping and detection |
JP5440219B2 (ja) * | 2010-01-29 | 2014-03-12 | 株式会社デンソー | 地図データ及び地図データ作成方法 |
CN101794459A (zh) * | 2010-02-09 | 2010-08-04 | 北京邮电大学 | 一种立体视觉影像与三维虚拟物体的无缝融合方法 |
CN101887379B (zh) * | 2010-06-18 | 2013-03-06 | 北京航空航天大学 | 一种基于虚拟网卡的无线信道仿真方法 |
US8504035B2 (en) * | 2010-11-09 | 2013-08-06 | Ntt Docomo, Inc. | System and method for population tracking, counting, and movement estimation using mobile operational data and/or geographic information in mobile network |
JP5402957B2 (ja) * | 2011-02-09 | 2014-01-29 | 株式会社デンソー | 電子機器 |
US9736466B2 (en) * | 2011-05-27 | 2017-08-15 | Zspace, Inc. | Optimizing stereo video display |
US20160189544A1 (en) * | 2011-11-16 | 2016-06-30 | Autoconnect Holdings Llc | Method and system for vehicle data collection regarding traffic |
GB201204657D0 (en) * | 2011-11-18 | 2012-05-02 | Tomtom North America Inc | Methods for providing 3D building information |
US20130162665A1 (en) * | 2011-12-21 | 2013-06-27 | James D. Lynch | Image view in mapping |
US8706393B2 (en) | 2012-01-10 | 2014-04-22 | Ford Global Technologies, Llc | Intersection collision avoidance with adaptable vehicle dimensions |
US9122270B2 (en) * | 2012-01-13 | 2015-09-01 | Mitsubishi Electric Research Laboratories, Inc. | Hybrid adaptively sampled distance fields |
CA2869374C (en) | 2012-04-05 | 2019-04-16 | Hitachi, Ltd. | Map data creation device, autonomous movement system and autonomous movement control device |
US10119831B2 (en) * | 2012-06-10 | 2018-11-06 | Apple Inc. | Representing traffic along a route |
US9367065B2 (en) | 2013-01-25 | 2016-06-14 | Google Inc. | Modifying behavior of autonomous vehicles based on sensor blind spots and limitations |
US9989650B2 (en) * | 2013-02-13 | 2018-06-05 | Here Global B.V. | Position in urban canyons |
US9141107B2 (en) * | 2013-04-10 | 2015-09-22 | Google Inc. | Mapping active and inactive construction zones for autonomous driving |
CN104219074A (zh) * | 2013-05-31 | 2014-12-17 | 成都勤智数码科技股份有限公司 | 数据中心动态可视化*** |
WO2014202258A1 (en) | 2013-06-21 | 2014-12-24 | National University Of Ireland, Maynooth | A method for mapping an environment |
US9719801B1 (en) * | 2013-07-23 | 2017-08-01 | Waymo Llc | Methods and systems for calibrating sensors using road map data |
US9786178B1 (en) | 2013-08-02 | 2017-10-10 | Honda Motor Co., Ltd. | Vehicle pedestrian safety system and methods of use and manufacture thereof |
CN103593514B (zh) * | 2013-10-30 | 2016-06-01 | 中国运载火箭技术研究院 | 多谱段合成环境模拟*** |
CN103559541A (zh) * | 2013-10-30 | 2014-02-05 | 南京邮电大学 | 一种大数据中面向乱序数据流的反向传播方法 |
WO2015105731A1 (en) * | 2014-01-07 | 2015-07-16 | Thaler Stephen L | Device and method for the autonomous bootstrapping of unified sentience |
US9720410B2 (en) * | 2014-03-03 | 2017-08-01 | Waymo Llc | Remote assistance for autonomous vehicles in predetermined situations |
US9547989B2 (en) * | 2014-03-04 | 2017-01-17 | Google Inc. | Reporting road event data and sharing with other vehicles |
EP3120340B1 (en) | 2014-03-15 | 2019-05-08 | Urban Engines, Inc. | Solution for highly customized interactive mobile maps |
CN104951836A (zh) * | 2014-03-25 | 2015-09-30 | 上海市玻森数据科技有限公司 | 基于神经网络技术的发帖预测*** |
US9996976B2 (en) * | 2014-05-05 | 2018-06-12 | Avigilon Fortress Corporation | System and method for real-time overlay of map features onto a video feed |
US9475422B2 (en) * | 2014-05-22 | 2016-10-25 | Applied Invention, Llc | Communication between autonomous vehicle and external observers |
US9335764B2 (en) | 2014-05-27 | 2016-05-10 | Recreational Drone Event Systems, Llc | Virtual and augmented reality cockpit and operational control systems |
KR101593637B1 (ko) * | 2014-08-19 | 2016-02-15 | 재단법인 대구경북과학기술원 | 근육 세포 활성화 모델링 시스템 및 그 방법 |
US9878155B1 (en) | 2015-01-05 | 2018-01-30 | Hrl Laboratories, Llc | Method for neurostimulation enhanced team performance |
US11370422B2 (en) * | 2015-02-12 | 2022-06-28 | Honda Research Institute Europe Gmbh | Method and system in a vehicle for improving prediction results of an advantageous driver assistant system |
KR20160112186A (ko) * | 2015-03-18 | 2016-09-28 | 삼성전자주식회사 | 뉴럴 네트워크에서 이벤트에 기반한 학습 방법 및 장치 |
US9135559B1 (en) | 2015-03-20 | 2015-09-15 | TappingStone Inc. | Methods and systems for predictive engine evaluation, tuning, and replay of engine performance |
US10026222B1 (en) * | 2015-04-09 | 2018-07-17 | Twc Patent Trust Llt | Three dimensional traffic virtual camera visualization |
CN104850684A (zh) * | 2015-04-17 | 2015-08-19 | 江苏物联网研究发展中心 | 针对vissim的路网参数校正方法 |
US20160342861A1 (en) * | 2015-05-21 | 2016-11-24 | Mitsubishi Electric Research Laboratories, Inc. | Method for Training Classifiers to Detect Objects Represented in Images of Target Environments |
KR101645689B1 (ko) * | 2015-06-26 | 2016-08-05 | (주)네모파트너즈엔이씨 | 스마트 전력수요자원 네모모델링데이터 시뮬레이션 모듈을 통한 전력수요관리사업 프로젝트 경제성 분석장치 및 방법 |
US10169917B2 (en) * | 2015-08-20 | 2019-01-01 | Microsoft Technology Licensing, Llc | Augmented reality |
WO2017035663A1 (en) | 2015-09-03 | 2017-03-09 | Miovision Technologies Incorporated | System and method for detecting and tracking objects |
US9898869B2 (en) * | 2015-09-09 | 2018-02-20 | Microsoft Technology Licensing, Llc | Tactile interaction in virtual environments |
US9632502B1 (en) | 2015-11-04 | 2017-04-25 | Zoox, Inc. | Machine-learning systems and techniques to optimize teleoperation and/or planner decisions |
CN108290579B (zh) * | 2015-11-04 | 2022-04-12 | 祖克斯有限公司 | 用于自主车辆的模拟***和方法 |
US9612123B1 (en) * | 2015-11-04 | 2017-04-04 | Zoox, Inc. | Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes |
US10496766B2 (en) * | 2015-11-05 | 2019-12-03 | Zoox, Inc. | Simulation system and methods for autonomous vehicles |
WO2017079341A2 (en) * | 2015-11-04 | 2017-05-11 | Zoox, Inc. | Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles |
US10397019B2 (en) * | 2015-11-16 | 2019-08-27 | Polysync Technologies, Inc. | Autonomous vehicle platform and safety architecture |
US10482380B2 (en) | 2015-12-30 | 2019-11-19 | Amazon Technologies, Inc. | Conditional parallel processing in fully-connected neural networks |
US9701307B1 (en) | 2016-04-11 | 2017-07-11 | David E. Newman | Systems and methods for hazard mitigation |
US10545229B2 (en) | 2016-04-22 | 2020-01-28 | Huawei Technologies Co., Ltd. | Systems and methods for unified mapping of an environment |
CN111860811B (zh) | 2016-04-27 | 2024-01-16 | 中科寒武纪科技股份有限公司 | 一种用于执行人工神经网络全连接层正向运算的装置和方法 |
US20170329332A1 (en) | 2016-05-10 | 2017-11-16 | Uber Technologies, Inc. | Control system to adjust operation of an autonomous vehicle based on a probability of interference by a dynamic object |
JP6849705B2 (ja) | 2016-06-24 | 2021-03-24 | スイス リインシュランス カンパニー リミテッド | 自動化されたリスク制御システムを含む自律的又は部分的に自律的な自動車及びそれに対応する方法 |
US10140515B1 (en) | 2016-06-24 | 2018-11-27 | A9.Com, Inc. | Image recognition and classification techniques for selecting image and audio data |
CN106157339B (zh) * | 2016-07-05 | 2019-06-18 | 华南理工大学 | 基于低秩顶点轨迹子空间提取的动画网格序列压缩方法 |
US10210451B2 (en) | 2016-07-22 | 2019-02-19 | Alpine Electronics of Silicon Valley, Inc. | Neural network applications in resource constrained environments |
KR102518532B1 (ko) | 2016-11-11 | 2023-04-07 | 현대자동차주식회사 | 자율주행차량의 경로 결정장치 및 그 방법 |
US10255812B2 (en) * | 2016-11-29 | 2019-04-09 | Samsung Electronics Co., Ltd. | Method and apparatus for preventing collision between objects |
KR102618443B1 (ko) * | 2016-12-09 | 2023-12-27 | 톰톰 글로벌 콘텐트 비.브이. | 비디오 기반 위치결정 및 매핑을 위한 방법 및 시스템 |
WO2018140969A1 (en) * | 2017-01-30 | 2018-08-02 | Google Llc | Multi-task neural networks with task-specific paths |
US10445928B2 (en) * | 2017-02-11 | 2019-10-15 | Vayavision Ltd. | Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types |
CN106910139A (zh) * | 2017-02-22 | 2017-06-30 | 北京石油化工学院 | 一种煤矿突透水灾害应急疏散模拟方法 |
US20180247227A1 (en) | 2017-02-24 | 2018-08-30 | Xtract Technologies Inc. | Machine learning systems and methods for data augmentation |
CA2998249A1 (en) * | 2017-03-17 | 2018-09-17 | Edatanetworks Inc. | Artificial intelligence engine incenting merchant transaction with consumer affinity |
US10509692B2 (en) * | 2017-05-31 | 2019-12-17 | 2236008 Ontario Inc. | Loosely-coupled lock-step chaining |
US10838848B2 (en) * | 2017-06-01 | 2020-11-17 | Royal Bank Of Canada | System and method for test generation |
US10268191B1 (en) * | 2017-07-07 | 2019-04-23 | Zoox, Inc. | Predictive teleoperator situational awareness |
FR3069690A1 (fr) | 2017-07-25 | 2019-02-01 | Parrot Drones | Dispositif electronique et procede de generation, a partir d'au moins une paire d'images successives d'une scene, d'une carte de profondeur de la scene, drone et programme d'ordinateur associes |
US10831202B1 (en) * | 2017-09-01 | 2020-11-10 | Zoox, Inc. | Onboard use of scenario description language |
US10802485B2 (en) * | 2017-10-09 | 2020-10-13 | Here Global B.V. | Apparatus, method and computer program product for facilitating navigation of a vehicle based upon a quality index of the map data |
CA3079656C (en) * | 2017-10-24 | 2021-11-23 | Nissan North America, Inc. | Localization determination for vehicle operation |
GB2568087B (en) * | 2017-11-03 | 2022-07-20 | Imagination Tech Ltd | Activation functions for deep neural networks |
CN107943286B (zh) * | 2017-11-14 | 2023-02-28 | 国网山东省电力公司 | 一种增强漫游沉浸感的方法 |
CN108182650B (zh) * | 2017-12-22 | 2021-02-02 | 王金刚 | 一种城市空间北斗网格标识与仿真可视化*** |
US10324467B1 (en) * | 2017-12-29 | 2019-06-18 | Apex Artificial Intelligence Industries, Inc. | Controller systems and methods of limiting the operation of neural networks to be within one or more conditions |
US10944767B2 (en) * | 2018-02-01 | 2021-03-09 | International Business Machines Corporation | Identifying artificial artifacts in input data to detect adversarial attacks |
US20190235521A1 (en) * | 2018-02-01 | 2019-08-01 | GM Global Technology Operations LLC | System and method for end-to-end autonomous vehicle validation |
US11829886B2 (en) | 2018-03-07 | 2023-11-28 | International Business Machines Corporation | Epistemic and aleatoric deep plasticity based on sound feedback |
CN108932289B (zh) | 2018-05-23 | 2021-10-15 | 北京华健蓝海医疗科技有限责任公司 | 一种基于信息抽取和深度学习的问题回答处理方法及*** |
US10642275B2 (en) | 2018-06-18 | 2020-05-05 | Zoox, Inc. | Occulsion aware planning and control |
US11514515B2 (en) | 2018-07-17 | 2022-11-29 | Adobe Inc. | Generating synthetic data using reject inference processes for modifying lead scoring models |
US10783389B2 (en) | 2018-08-02 | 2020-09-22 | Denso International America, Inc. | Systems and methods for avoiding misrecognition of traffic signs and signals by hacking |
US11068627B2 (en) * | 2018-08-09 | 2021-07-20 | Zoox, Inc. | Procedural world generation |
-
2018
- 2018-10-17 US US16/163,478 patent/US11068627B2/en active Active
- 2018-10-17 US US16/163,466 patent/US11138350B2/en active Active
- 2018-10-17 US US16/163,435 patent/US10832093B1/en active Active
-
2019
- 2019-08-08 CN CN201980053514.4A patent/CN112639888B/zh active Active
- 2019-08-08 JP JP2021506712A patent/JP7440490B2/ja active Active
- 2019-08-08 EP EP19759178.7A patent/EP3834178A1/en active Pending
- 2019-08-08 WO PCT/US2019/045805 patent/WO2020033767A1/en unknown
-
2020
- 2020-10-15 US US17/071,955 patent/US11615223B2/en active Active
-
2021
- 2021-08-03 US US17/393,280 patent/US11861790B2/en active Active
-
2024
- 2024-02-15 JP JP2024021114A patent/JP2024055902A/ja active Pending
Non-Patent Citations (1)
Title |
---|
Accurate Mobile Urban Mapping via Digital Map-Based SLAM;Hyunchul Roh 等;《MPDI》;第1-24页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112639888A (zh) | 2021-04-09 |
US20210027111A1 (en) | 2021-01-28 |
US20200051327A1 (en) | 2020-02-13 |
US10832093B1 (en) | 2020-11-10 |
US20210365610A1 (en) | 2021-11-25 |
US20200050716A1 (en) | 2020-02-13 |
JP2021534484A (ja) | 2021-12-09 |
US11615223B2 (en) | 2023-03-28 |
JP2024055902A (ja) | 2024-04-19 |
EP3834178A1 (en) | 2021-06-16 |
JP7440490B2 (ja) | 2024-02-28 |
WO2020033767A1 (en) | 2020-02-13 |
US11138350B2 (en) | 2021-10-05 |
US11861790B2 (en) | 2024-01-02 |
US11068627B2 (en) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112639888B (zh) | 程序世界生成 | |
US11150660B1 (en) | Scenario editor and simulator | |
US11079492B1 (en) | Condition dependent parameters for large-scale localization and/or mapping | |
US11648939B2 (en) | Collision monitoring using system data | |
US10872228B1 (en) | Three-dimensional object detection | |
US11275673B1 (en) | Simulated LiDAR data | |
US11697412B2 (en) | Collision monitoring using statistic models | |
EP3904831A1 (en) | Visual localization using a three-dimensional model and image segmentation | |
US20230150549A1 (en) | Hybrid log simulated driving | |
CN114761298A (zh) | 使用传感器数据进行高度估计 | |
CN114981834A (zh) | 使用上采样、损失与损失平衡进行深度数据模型训练 | |
CN115705693A (zh) | 用于传感器数据的标注的方法、***和存储介质 | |
KR102631148B1 (ko) | 센서 데이터를 사용하여 자동으로 교통 신호 검출 | |
WO2023043620A1 (en) | Road network validation | |
EP4302165A1 (en) | Instantiating objects in a simulated environment based on log data | |
CN114787894A (zh) | 感知误差模型 | |
US11814070B1 (en) | Simulated driving error models | |
US11814059B1 (en) | Simulating autonomous driving using map data and driving data | |
JP2023502598A (ja) | 統計モデルを用いる衝突モニタリング | |
WO2019173078A1 (en) | Mesh decimation techniques | |
US12026956B1 (en) | Object bounding contours based on image data | |
US20200394834A1 (en) | Simulated Overhead Perspective Images With Removal of Obstructions | |
CN117893979A (zh) | 用于车道边界标注的统一框架和工具 | |
CN116324928A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |