CN113366495A - 搜索自主车辆传感器数据存储库 - Google Patents

搜索自主车辆传感器数据存储库 Download PDF

Info

Publication number
CN113366495A
CN113366495A CN201980084969.2A CN201980084969A CN113366495A CN 113366495 A CN113366495 A CN 113366495A CN 201980084969 A CN201980084969 A CN 201980084969A CN 113366495 A CN113366495 A CN 113366495A
Authority
CN
China
Prior art keywords
sensor
query
samples
embedding
sensor samples
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.)
Granted
Application number
CN201980084969.2A
Other languages
English (en)
Other versions
CN113366495B (zh
Inventor
Z.郭
N.阿布多
J.毛
C.李
E.S.小沃克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Waymo LLC
Original Assignee
Waymo LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Waymo LLC filed Critical Waymo LLC
Publication of CN113366495A publication Critical patent/CN113366495A/zh
Application granted granted Critical
Publication of CN113366495B publication Critical patent/CN113366495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/535Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

用于搜索自主车辆传感器数据存储库的方法、***和设备,包括编码在计算机存储介质上的计算机程序。其中一种方法包括:维护传感器样本的集合,并且对于每个传感器样本维护传感器样本的嵌入;接收指定查询传感器样本的请求,其中查询传感器样本表征查询环境区域;以及从传感器样本的集合中识别表征与查询环境区域相似的环境区域的多个相关传感器样本,包括:通过嵌入神经网络处理查询传感器样本以生成查询嵌入;以及从集合中的传感器样本的子集中的传感器样本中识别具有与查询嵌入最接近的嵌入的多个传感器样本。

Description

搜索自主车辆传感器数据存储库
背景技术
本说明书涉及自主车辆。
自主车辆包括自驾汽车、船只和飞机。自主车辆使用各种车载传感器和计算机***来检测附近的对象,并使用这种检测来做出控制和导航决策。
一些自主车辆具有车载计算机***,该车载计算机***实现神经网络、其他类型的机器学习模型或两者,以进行各种预测任务,例如图像内的对象分类。例如,神经网络可用于确定车载相机捕获的图像可能是附近汽车的图像。神经网络(或者简称为网络)是采用多层操作以根据一个或多个输入预测一个或多个输出的机器学习模型。神经网络通常包括位于输入层和输出层之间的一个或多个隐藏层。每一层的输出用作网络中另一层(例如下一隐藏层或输出层)的输入。
神经网络的每一层指定要对该层的输入执行的一个或多个转换操作。一些神经网络层具有被称为神经元的操作。每个神经元接收一个或多个输入并生成由另一神经网络层接收的输出。通常,每个神经元接收来自其他神经元的输入,并且每个神经元向一个或多个其他神经元提供输出。
神经网络的架构指定网络中包括哪些层及层的属性,以及网络的每一层的神经元如何连接。换句话说,架构指定哪些层将其输出提供给哪些其他层作为输入以及如何提供输出。
每一层的转换操作由安装了实现转换操作的软件模块的计算机执行。因此,层被描述为执行操作意味着实现层的转换操作的计算机执行操作。
每个层使用层的一组参数的当前值生成一个或多个输出。因此,训练神经网络涉及连续地对输入执行前向传递、计算梯度值、以及使用所计算的梯度值更新每一层的所述一组参数的当前值。一旦神经网络经过训练,就可以使用一组最终参数值在生产***中做出预测。
发明内容
本说明书描述了计算机***如何能够使用嵌入来有效地搜索从自主车辆收集的传感器数据的存储库。
本说明书中使用的嵌入是表征环境区域的一批传感器数据的数字表示。特别地,嵌入是嵌入空间中的数字表示,即固定数量的数值的有序集合,其中,数值的数量等于嵌入空间的维数(dimensionality)。例如,嵌入可以是浮点的向量或其他类型的数值。通常,嵌入空间的维数远小于给定嵌入代表的一批传感器数据中数值的数量。
可以实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。
自主或半自主的车辆具有传感器,该传感器在车辆驶过环境时收集关于车辆周围环境的数据。由这些传感器在许多驾驶时间收集以及由许多不同的自主车辆收集的数据可以被存储在存储库中以备后用,例如,用于向分析驶过环境的车辆遇到的事件的用户回放、或用于训练机器学习模型以做出可能与自主车辆的操作相关的各种预测。例如,存储的数据可用于训练对特定类型的对象进行分类的机器学习模型。
然而,由于收集和存储的传感器数据量很大,因此难以有效利用存储的数据。特别地,一旦特定传感器样本被识别为表征感兴趣的区域,即感兴趣的事件正在发生或感兴趣的特定对象位于的区域,考虑到自主车辆的车队收集的大量经验,车队中的自主车辆之一可能在之前已经遇到过其他类似的事件或对象。因此,传感器数据存储库可能存储表征相似区域的传感器样本。
然而,搜索存储库以寻找这些相似样本出于如下至少两个原因是具有挑战性的:(1)传感器样本是高维数据,因此搜遍大量样本消耗非常大量的计算资源;以及(2)由于传感器样本的高维数,所以识别哪些样本表征与查询样本相似的区域是难以确定的。
特别地,在一些情况下,存储库可以将标签与存储库中的一些或全部样本相关联,从而更容易搜索存储库。然后,当识别出传感器样本时,***可以搜索存储库,以浮现已经与和识别出的传感器样本相同的标签相关联的其他样本。然而,当识别出的传感器样本与任何标签都不匹配时,例如,当传感器样本表征以前不感兴趣的新类型的对象或以前不感兴趣的新种类的事件时,或者当识别出的传感器样本的标签有噪声时,例如,当***不能可靠地识别传感器样本表征哪种类型的对象时,使用标签进行搜索是无效的。
另一方面,所描述的技术允许在不消耗过量计算资源的情况下并且即使查询传感器样本与预先存在的任何标签都不匹配,也有效地搜索传感器数据存储库。特别地,通过使用嵌入进行搜索,***可以搜遍维数低得多的数据。此外,因为嵌入代表对应传感器样本的可期望的特性,所以可以通过使用嵌入进行搜索来有效识别相似的传感器样本。
此外,***可以为每个传感器样本生成多个不同的嵌入,每个嵌入反映传感器样本的特性或属性。这可以允许***浮现关于不同特性相似的嵌入。可替代地,通过搜索全部对应嵌入都接近于识别出的样本的对应嵌入的传感器样本,***可以更有效地浮现最相似的传感器样本。
此外,***可以使用各种索引技术,例如,对搜索引擎索引进行切片(slicing),以进一步优化搜索过程,并允许***比通过使用嵌入进行搜索已经实现的显著减少延迟和计算资源消耗更进一步地减少延迟和计算资源消耗。
本说明书主题的一个或多个实施例的细节在所附附图和以下描述中被阐述。本主题的其他特征、方面和优点将从描述、附图和权利要求中变得明显。
附图说明
图1是示例***的图。
图2是用于将传感器样本添加到存储库的示例过程的流程图。
图3是用于搜索存储库的另一示例过程的流程图。
各附图中相同的参考数字和名称表示相同的元件。
具体实施方式
本说明书描述了训练***如何能够使用嵌入来有效地搜索传感器数据存储库。
图1是示例***100的图。***100包括训练***110和车载***120。
车载***120物理地位于车辆122上。图1中的车辆122被示出为汽车(automobile),但是车载***120可以位于任何合适的车辆类型上。车辆122可以是完全自主车辆,该完全自主车辆确定并执行完全自主的驾驶决策,以便导航通过环境。车辆122也可以是使用预测来帮助人类驾驶员的半自主车辆。例如,如果预测指示人类驾驶员将要与另一车辆碰撞,则车辆122可以自主地施加制动。
车载***120包括一个或多个传感器子***132。传感器子***132包括接收电磁辐射的反射的组件的组合,例如检测激光的反射的激光雷达***、检测无线电波的反射的雷达***、以及检测可见光的反射的相机***。
由给定传感器生成的传感器数据通常指示反射的辐射的距离、方向和强度。例如,传感器可以在特定方向上传输一个或多个电磁辐射的脉冲,并且可以测量任何反射的强度以及接收到反射的时间。可以通过确定脉冲与其对应反射之间花费多久来计算距离。传感器可以以角度、方位角或两者连续扫描特定空间。例如,以方位角扫描可以允许传感器检测沿同一视线的多个对象。
车辆122的传感器子***132或其他组件还可以将来自一个或多个传感器的多批(group)一个或多个原始传感器测量值(measurement)组合为环境中相同区域的测量。一批传感器测量值可以以多种方式中的任何一种表示,取决于正在被捕获的传感器测量值的种类。例如,每批原始激光传感器测量值可以被表示为每个点具有强度和位置的三维点云。在一些实现方式中,位置被表示为范围和高程对。每批相机传感器测量值可以被表示为图像块(image patch),例如RGB图像块。
一旦一批一个或多个原始传感器测量值已经被分类为环境中特定区域的测量,车辆122的传感器子***132或其他组件根据测量车辆的传感器测量值生成传感器样本155。例如,传感器样本可以包括以下各项中的一项或多项:环境的区域的由相机传感器捕获的图像的块、与环境的区域对应的由激光传感器中的一个或多个生成的点云数据、或者与环境的区域的对应的由激光传感器中的一个或多个捕获的传感器数据的一个或多个投影(例如,从自顶向下视图或透视图的投影)的部分。
传感器子***132或其他组件将传感器样本155提供给车载预测子***134。车载预测子***134使用传感器样本155中的一些或全部数据来生成一个或多个预测165。例如,车载预测子***134可以实现一个或多个机器学习模型,该一个或多个机器学习模型中的每一个使用传感器样本155来做出与车辆122的操作相关的预测。作为特定示例,一个或多个机器学习模型可以是对位于由传感器样本表征的区域中的对象进行分类的分类机器学习模型。作为另一特定示例,一个或多个机器学习模型可以是预测位于由传感器样本表征的区域中的对象的未来轨迹的行为预测机器学习模型。
车载分类器子***134可以向规划子***136、用户界面子***138或两者提供预测165。
当规划子***136接收到预测165时,规划子***136可以使用预测165来做出完全自主或半自主的驾驶决策。例如,如果预测包括指示特定类型的交通标志在车辆附近的预测,则规划子***136可以生成用于调整车辆122的轨迹的完全自主的规划,以符合交通标志的要求,例如,当交通标志是让行标志时施加制动。作为另一示例,规划子***136可以生成用于人类驾驶员施加制动的半自主推荐,以便符合交通标志的要求。
用户界面子***138可以接收预测165并且可以基于预测165生成用户界面呈现,例如,给车辆122的操作者的车辆的速度超过交通标志的要求的警报、或者具有包含由另一车辆占据的空间区域的表示的图像或视频数据的用户界面呈现。然后,车载显示装置可以显示用户界面呈现,以供车辆122的乘客查看。
车载分类器子***134还可以使用传感器数据155来生成被传输到训练***110的日志数据127,例如用于训练各种机器学习模型以进行预测。车载***120可以以离线批量或在线方式(例如,在其生成时连续地)向训练***110提供日志数据127。
日志数据127包括在车辆122的操作期间生成的传感器数据样本。
训练***110通常被托管在数据中心112内,该数据中心112可以是具有在一个或多个位置的数百或数千台计算机的分布式计算***。
当训练***110从车辆接收到日志数据127时,训练***100将日志数据127存储在传感器数据存储库125中。通常,传感器数据存储库125存储从大量车辆接收的传感器数据,即传感器数据存储库125存储根据在大量不同车辆的操作期间捕获的传感器数据生成的传感器样本。在一些情况下,传感器数据存储库125还可以包括在模拟中生成的传感器数据,即在车辆的模拟版本导航通过真实世界环境的软件模拟时生成的传感器数据。
训练***110包括训练子***114,该训练子***114使用从传感器数据存储库125中的传感器样本生成的训练数据训练各种机器学习模型以做出预测。
例如,训练***110可以使用存储在传感器数据存储库125中的传感器样本来生成包括用于训练机器学习模型的训练示例123的训练数据。每个训练示例123包括:(i)来自传感器样本的数据;和(ii)指示应该由机器学习模型针对该传感器样本生成的一些基准真实(ground truth)输出的标签。然后,训练子***114可以在训练数据上训练机器学习模型,以确定机器学习模型的权重的经训练的值。在训练完成之后,训练***110可以向车载***120提供一组最终模型权重值,用于在进行用于完全自主或半自主的驾驶决策的预测165时使用。训练***110可以通过至车载***120的有线或无线连接来提供所述一组最终模型权重值。
然而,在一些情况下,搜索传感器数据存储库125以寻找相关传感器样本可能是必要的。为了允许搜索存储库125,训练***110包括传感器样本搜索引擎190。
为了允许传感器样本搜索引擎190更有效地搜索传感器数据存储库,训练***110实现一个或多个嵌入神经网络180,即包括实现嵌入神经网络180的层的操作的硬件。
每个嵌入神经网络180是已经被训练为接收传感器数据(即传感器样本中的部分或全部数据)作为输入并且生成传感器数据的嵌入作为输出的神经网络。
在一些情况下,训练***110实现单个嵌入神经网络180。
然而,在其他情况下,训练***100实现多个嵌入神经网络180,该多个嵌入神经网络180对传感器样本的不同部分进行操作,生成反映传感器样本的不同特性的嵌入,或者两者兼具。
作为一个示例,嵌入神经网络180可以包括通过对图像块进行操作来生成嵌入的一个或多个神经网络以及对激光传感器数据操作的一个或多个神经网络。
例如,嵌入神经网络180可以包括对图像块操作的一个或多个深度卷积神经网络。在特定示例中,嵌入神经网络180可以是已经被训练为将环境中的对象分类为不同的对象类别的对象分类神经网络的部分。例如,嵌入神经网络180可以包括训练的对象分类神经网络的除一个或多个最终层之外的所有层。因此,由该嵌入神经网络180生成的嵌入代表传感器样本中描绘的对象的类型。
作为另一示例,嵌入神经网络180可以包括对由激光传感器(例如,激光雷达传感器)生成的点云数据操作的一个或多个卷积神经网络。这些卷积神经网络中的每一个可以是被训练为预测点云数据的一些类型的注释(例如,对象类型、对象大小或对象轨迹)的神经网络的初始层。在Yin Zhou等人的“End-to-End Multi-View Fusion for 3D ObjectDetection in LiDAR Point Clouds”(可在此获取:https://arxiv.org/abs/1910.06528)中描述了对点云数据操作的卷积神经网络的示例。在Y.Zhou和O.Tuzel的Voxelnet:End-to-end learning for point cloud based 3d object detection(关于计算机视觉和模式识别的2018IEEE/CVF会议,第4490-4499页,2018年6月)中描述了这种卷积神经网络的另一示例。
当已经被训练为预测不同类型的注释的这些神经网络中的多个神经网络被包括在一组嵌入神经网络180中时,针对给定传感器样本的产生的一组嵌入包括多个不同的嵌入,每个嵌入都反映了传感器样本的不同特性。在一些情况下,可以训练单个神经网络来预测同一传感器样本的多个不同类型的注释。在这些情况下,该神经网络生成的嵌入将反映多个不同特性,例如,颜色和对象类型或速度和朝向。
因此,一般来说,由各种嵌入神经网络180为给定传感器样本生成的嵌入可以各自代表样本的特定属性。示例的一组属性包括以下各项中的一项或多项:样本的高级对象类型、细粒度对象类型、对象速度和对象颜色。因此,在一个示例中,传感器样本的一组嵌入将包括代表细粒度对象类型的一个嵌入和代表对象速度的另一嵌入。
当接收到新传感器样本时,搜索引擎190使用嵌入神经网络180处理新传感器样本,以生成每个新传感器样本的嵌入。然后,搜索引擎190存储将存储库中的每个传感器样本与该传感器样本的对应嵌入相关联的数据。
当接收到搜索存储库的请求时,搜索引擎190使用嵌入神经网络180生成请求中指定的查询传感器样本的查询嵌入,并使用查询嵌入来搜索存储库中的嵌入,即不是直接搜索高维传感器样本。
特别地,搜索引擎190可以维护将每个传感器样本与该传感器样本的嵌入相关联的搜索索引。
在一些实现方式中,搜索引擎190针对不同类型的嵌入中的每一个对索引切片。也就是说,对于给定类型的嵌入(即对于由给定嵌入神经网络180生成的嵌入),搜索引擎190生成嵌入的多个切片,其中该类型的每个嵌入恰好属于生成的切片之一。
在这些实现方式中,为了搜索针对给定类型的给定查询嵌入的索引,搜索引擎190首先识别与查询嵌入匹配的类型的嵌入的切片,然后在切片内搜索嵌入。
作为特定示例,搜索引擎190可以使用k均值聚类或其他无监督聚类技术将给定嵌入类型的嵌入切片为k个切片,其中k个切片中的每一个对应于k个聚类中的一个并且每个切片由聚类技术生成的对应聚类的均值或“原型”代表。
为了识别与给定查询嵌入最相似的给定类型的嵌入,搜索引擎190首先通过识别最接近查询嵌入的原型来识别与查询嵌入匹配的切片。然后,搜索引擎190可以在切片内搜索,以识别与查询嵌入最接近的嵌入。
图2是用于将传感器样本添加到传感器数据存储库的示例过程200的流程图。该过程将被描述为由适当编程的计算机***执行。为方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的训练***(例如,图1的训练***110)可以执行过程200。
***接收根据在自主车辆的操作期间收集的传感器数据生成的传感器样本(步骤210)。
***使用一个或多个嵌入神经网络中的每一个处理传感器样本,以生成传感器样本的一个或多个嵌入(步骤220)。如上所述,当一组嵌入神经网络包括多个神经网络时,不同的嵌入通常代表传感器样本的不同属性或特性。
***将传感器样本添加到存储库,并且将传感器样本与传感器样本的嵌入相关联(步骤230)。例如,***可以向由***维护的搜索索引添加将传感器样本与传感器样本的嵌入相关联的条目。在一些情况下,***更新索引的切片,以解释(account for)新添加的嵌入。
图3是用于搜索存储传感器样本的集合的存储库的示例过程300的流程图。该过程将被描述为由适当编程的计算机***执行。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的训练***(例如,图1的训练***110)可以执行过程300。
***维护传感器数据存储库(310)。如上所述,传感器数据存储库包括在自主车辆的操作期间生成的传感器样本的集合,例如,根据在车辆驶过环境时由车辆收集的传感器数据生成的样本。
每个传感器样本表征自主车辆附近环境的特定区域,并且包括来自自主车辆的一个或多个传感器的数据。
例如,每个传感器样本可以包括代表来自自主车辆的传感器中的一个或多个的测量值的数据,其中来自每个传感器的测量值表征在相同时间的相同区域。作为特定示例,张量可以代表来自自主车辆的相机传感器和一个或多个激光传感器的测量值。作为另一特定示例,张量可以代表来自相机传感器、雷达传感器和激光传感器的测量值。
例如,传感器样本可以包括环境的区域的由相机传感器捕获的图像的块、由激光传感器中的一个或多个生成的点云数据、以及(可选地)与环境的区域对应的由激光传感器中的一个或多个捕获的传感器数据的一个或多个投影(例如,从自顶向下视图或透视图的投影)的部分。
如上所述,存储库中的每个传感器样本还与该传感器样本的一个或多个嵌入相关联。传感器样本的每个嵌入是由嵌入神经网络通过处理传感器样本生成的嵌入。更具体地,由给定的嵌入神经网络生成的每个嵌入是根据该嵌入神经网络的相同的、经训练的参数值生成的。也就是说,***或另一***训练每个嵌入神经网络,并且然后将参数值固定为经训练的值。
***识别表征感兴趣的区域的查询传感器样本(步骤320)。特别地,***可以接收指定环境中的感兴趣的区域的用户输入或其他请求,并且可以识别或生成表征感兴趣的区域的传感器样本。例如,该***可以提供由车辆的相机传感器生成的车辆周围环境的图像(或由其他传感器捕获的其他传感器数据的视觉表示),用于在用户界面中呈现,并且用户可以提交指定图像的感兴趣的区域的输入。
***使用一个或多个嵌入神经网络处理查询传感器样本,以生成查询传感器样本的一个或多个查询嵌入(步骤330)。在一些情况下,***使用由***维护的一组嵌入神经网络中的每个嵌入神经网络来处理查询传感器样本。在其他情况下,用户可以指定感兴趣的特定属性,并且***可以仅使用所述一组(嵌入神经网络)中的生成反映该属性的嵌入的(一个或多个)嵌入神经网络来处理传感器样本。作为特定示例,如果查询指定感兴趣的属性是对象类型,则***可能不会使用生成反映对象速度的嵌入的嵌入神经网络来处理传感器样本。
***使用查询嵌入来搜索传感器数据存储库,以识别相关传感器样本(步骤340)。
特别地,对于查询嵌入中的每一个,***可以从由相同的嵌入神经网络生成的传感器数据存储库中的嵌入识别出嵌入空间中与查询嵌入最接近的预定数量的嵌入,或者可以从传感器数据存储库中的嵌入识别出嵌入空间中距查询嵌入比阈值距离更接近的每个嵌入。然后,***可以将与识别的嵌入相关联的传感器样本识别为相关传感器样本。
***可以使用距离测量来测量一个嵌入与另一嵌入有多接近,该距离测量即接收两个嵌入作为输入并返回代表两个嵌入有多接近的分数的函数。可以使用的距离测量的示例包括余弦相似度和欧几里得距离。
当索引被切片时,对于每个查询嵌入,***可以首先识别查询嵌入所属于的切片,并且然后如上所述在切片内搜索,以确定最接近的嵌入。例如,***可以通过识别与查询嵌入最接近的原型来识别查询嵌入所属于的切片。
通过首先识别切片并仅在识别的切片内执行对最接近的嵌入的搜索,即使存储在存储库中的传感器样本的数量非常大时,***也可以减少识别最接近的嵌入所需的延迟和计算资源量。
在一些实现方式中,当存在多个查询嵌入时,***分别识别每个查询嵌入的相关传感器样本(即,针对期望的属性或特性中的每一个)。例如,***可以如上所述识别每个查询嵌入的相关传感器样本,并且然后可以将每个相关传感器样本与用于识别传感器样本的查询嵌入所反映的一个或多个属性相关联。
在一些其他实现方式中,当存在多个查询嵌入时,***结合结果组,以便仅返回具有与所有查询嵌入相关的嵌入的传感器样本。因此,仅返回依所有期望的属性或特性都与查询传感器样本匹配的传感器样本。
在一些实现方式中,***在识别相关传感器样本时利用与存储库中的传感器样本相关联的标签。例如,传感器样本的集合中的传感器样本可以各自与识别位于由传感器样本表征的环境区域中的对象的对象类型(例如车辆、行人、道路标志等等)的高级分类相关联。在这些情况下,请求可以指定查询高级分类。例如,查询传感器样本可能表征用户不熟悉的一种类型的道路标志,并且用户可能希望浮现出自主车辆遇到类似的道路标志时的其他实例。然后,***可以(例如,通过丢弃不具有与查询高级分类匹配的高级分类的任何已识别相关传感器样本)而仅搜索集合中与相同的查询高级分类相关联的传感器样本。
一旦已经识别出相关传感器样本,***就可以以多种方式中的任何一种使用相关传感器样本。
例如,当感兴趣的区域表征特定类的对象时,***可以使用相关传感器样本来生成训练数据,该训练数据用于训练机器学习模型以对输入传感器样本是否表征属于该特定类的对象进行分类。例如,当发现自主车辆会受益于能够准确地对特定类的对象进行分类,但是不足数量的对象的样本被标记为描绘属于该特定类的对象时,这可能是有用的。
作为另一示例,当感兴趣的区域是感兴趣的事件正在发生的区域时,***可以为识别出的传感器样本中的每一个生成该传感器样本的视觉表示和(可选地)在该传感器样本的特定时间窗口内捕获的其他传感器样本,并且提供视觉表示用于在用户装置上呈现。作为特定示例,***可以为每个相关传感器样本识别在该相关传感器样本的指定时间窗口内捕获的其他传感器样本,并且生成其他传感器样本和该相关传感器样本的视频表示,例如示出按时间顺序排列的来自其他传感器样本和该相关传感器样本的相机图像块的视频。
本说明书中描述的主题和功能性操作的实施例可以以数字电子电路、以有形体现的计算机软件或固件、以包括在本说明书中公开的结构及其结构等效物的计算机硬件、或以它们中的一个或多个的组合实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即被编码在有形的非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制数据处理设备的操作。计算机存储介质可以是机器可读存储装置、机器可读存储基板、随机或串行存取存储器装置、或者它们中的一个或多个的组合。可替代地或另外地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以对用于传输到合适的接收器设备的信息进行编码,以供数据处理设备执行。
术语“数据处理设备”是指数据处理硬件,并且涵盖用于处理数据的所有种类的设备、装置和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。该设备还可以是或进一步包括现成的或定制的并行处理子***,例如GPU或另一种专用处理子***。该设备还可以是或进一步包括专用逻辑电路,例如现场可编程门阵列(field programmable gatearray,FPGA)或专用集成电路(application-specific integrated circuit,ASIC)。除了硬件之外,该设备还可以可选地包括创建计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理***、操作***或它们中的一个或多个的组合的代码。
计算机程序(其也可以被称为或描述为程序、软件、软件应用、应用(app)、模块、软件模块、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释性语言,或声明性或过程性语言,并且它可以以任何形式被部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。程序可以(但不是必须)对应于文件***中的文件。程序可以被存储在保存有其他程序或数据的文件的部分(例如存储在标记语言文档中的一个或多个脚本)中、在专用于所讨论的程序的单个文件中、或者在多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。计算机程序可以被部署为在一台计算机上执行,或者在位于一个站点或跨多个站点分布并通过数据通信网络互连的多台计算机上执行。
如在本说明书中使用的,“引擎”或“软件引擎”是指提供不同于输入的输出的软件实现的输入/输出***。引擎可以是编码的功能块,诸如库、平台、软件开发工具包(software development kit,“SDK”)或对象。每个引擎可以在包括一个或多个处理器和计算机可读介质的任何适当类型的计算装置(例如服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型计算机或台式计算机、PDA、智能手机或其他固定或便携式装置)上实现。此外,引擎中的两个或更多个可以在同一计算装置上或在不同计算装置上实现。
本说明书中描述的过程和逻辑流程可由一个或多个可编程计算机执行,该一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)或由专用逻辑电路和一个或多个编程计算机的组合来执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或两者、或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器装置。中央处理单元和存储器可由专用逻辑电路补充或被合并到专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置(例如,磁盘、磁光盘或光盘)或被可操作地耦合以从用于存储数据的一个或多个大容量存储装置接收数据或将数据传送到该一个或多个大容量存储装置或两者。然而,计算机不需要具有这种装置。此外,计算机可以被嵌入到另一装置中,例如(仅举几例)移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位***(GPS)接收器或便携式存储装置(例如,通用串行总线(USB)闪存驱动器。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置(例如,EPROM、EEPROM)和闪存装置;磁盘(例如,内置硬盘或可移动硬盘);磁光盘;以及CD-ROM和DVD-ROM磁盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示装置(例如,阴极射线管(CRT)或液晶显示器(LCD)监视器)、键盘和定点装置(例如,鼠标、轨迹球)或存在敏感显示器(presence sensitive display)或用户可以通过其向计算机提供输入的其他表面的计算机上实现。也可以使用其他种类的装置来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉的输入。此外,计算机可以通过向用户使用的装置发送文档和从用户使用的装置接收文档来与用户交互;例如,通过响应于从用户的装置上的web浏览器接收到的请求,将网页发送到该web浏览器来与用户交互。此外,计算机可以通过向个人装置(例如智能手机)发送文本消息或其他形式的消息、运行消息传递应用以及反过来从用户接收响应消息来与用户交互。
虽然本说明书包含许多具体的实现方式细节,但这些细节不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是应被解释为对可能特定于特定发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。反过来,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,虽然特征在上面可能被描述为以某些组合起作用,甚至最初这样被要求保护,但在某些情况下,来自所要求保护的组合的一个或多个特征可以被从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然以特定顺序在附图中描绘了操作,但这不应被理解为要求以所示的特定顺序或以相继顺序执行这些操作或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中各种***模块和组件的分离不应被理解为在所有实施例中都要求这种分离,应当理解的是,所描述的程序组件和***通常可以一起被集成在单个软件产品中或被封装成多个软件产品。
已经描述了主题的特定实施例。其他实施例在随附的权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或相继顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。

Claims (13)

1.一种搜索传感器样本的集合的计算机实现的方法,该方法包括:
维护传感器样本的集合,以及针对每个传感器样本,维护传感器样本的一个或多个嵌入,其中:
集合中的每个传感器样本根据由对应车辆捕获的传感器数据生成,并表征对应车辆附近的环境区域,以及
每个嵌入已经通过经由来自一个或多个嵌入神经网络的组的嵌入神经网络处理来自对应传感器样本的数据而生成,所述一个或多个嵌入神经网络各自已经被训练为处理来自输入传感器样本的数据,以生成每个输入传感器样本的相应嵌入;
接收指定查询传感器样本的请求,其中,查询传感器样本表征查询环境区域;以及
从传感器样本的集合中识别表征与查询环境区域相似的环境区域的多个相关传感器样本,包括:
通过所述组中的嵌入神经网络中的一个或多个处理查询传感器样本以生成一个或多个查询嵌入;以及
从集合中的传感器样本的子集中的传感器样本中识别具有与查询嵌入中的每一个最接近的嵌入的多个传感器样本。
2.根据权利要求1所述的方法,还包括:
使用所述组中的嵌入神经网络中的每一个处理集合中的每个传感器样本,以生成传感器样本的嵌入。
3.根据前述权利要求中任一项所述的方法,还包括:
生成多个相关传感器样本中的每一个的视觉表示;以及
提供视觉表示用于在用户装置上呈现。
4.根据权利要求3所述的方法,其中,生成多个相关传感器样本中的每一个的视觉表示包括:
对于每个相关传感器样本,识别在相关传感器样本的指定时间窗口内捕获的其他传感器样本;以及
生成其他传感器样本和相关传感器样本的视频表示。
5.根据前述权利要求中任一项所述的方法,还包括:
使用相关传感器样本生成用于机器学习模型的训练数据。
6.根据权利要求5所述的方法,其中,查询环境区域已被识别为描绘特定对象类型的对象,并且其中,机器学习模型是被配置为将传感器样本分类为描绘所述特定对象类型的对象的机器学习分类器。
7.根据前述权利要求中任一项所述的方法,其中:
传感器样本的集合中的传感器样本各自与识别位于由传感器样本表征的环境区域中的对象的对象类型的高级分类相关联;
所述请求指定查询高级分类;以及
所述子集仅包括集合中与查询高级分类相关联的传感器样本。
8.根据前述权利要求中任一项所述的方法,其中,集合中的传感器样本的嵌入和查询嵌入各自根据嵌入神经网络的参数的经训练的值生成。
9.根据前述权利要求中任一项所述的方法,其中,每个传感器样本代表来自对应车辆的多个传感器的测量值,来自每个传感器的测量值表征在相同时间的相同区域。
10.根据前述权利要求中任一项所述的方法,其中,具有最接近查询嵌入的嵌入的多个传感器样本是根据距离度量最接近查询嵌入的传感器样本。
11.根据权利要求10所述的方法,其中,所述距离度量是欧几里得距离或余弦相似度。
12.一个或多个计算机可读存储介质,所述一个或多个计算机可读存储介质存储指令,当由一个或多个计算机执行指令时,使得所述一个或多个计算机执行前述权利要求中任一项的方法中的任一个的相应操作。
13.一种***,包括一个或多个计算机和一个或多个存储装置,所述一个或多个存储装置存储指令,当由一个或多个计算机执行指令时,使得所述一个或多个计算机执行前述权利要求中任一项的方法中的任一个的相应操作。
CN201980084969.2A 2018-12-21 2019-12-23 搜索自主车辆传感器数据存储库 Active CN113366495B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862784354P 2018-12-21 2018-12-21
US62/784,354 2018-12-21
PCT/US2019/068431 WO2020132693A1 (en) 2018-12-21 2019-12-23 Searching an autonomous vehicle sensor data repository

Publications (2)

Publication Number Publication Date
CN113366495A true CN113366495A (zh) 2021-09-07
CN113366495B CN113366495B (zh) 2024-03-22

Family

ID=69374378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980084969.2A Active CN113366495B (zh) 2018-12-21 2019-12-23 搜索自主车辆传感器数据存储库

Country Status (5)

Country Link
US (1) US11861481B2 (zh)
EP (1) EP3877911A1 (zh)
JP (1) JP7214873B2 (zh)
CN (1) CN113366495B (zh)
WO (1) WO2020132693A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
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
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
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
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
CN113039556B (zh) 2018-10-11 2022-10-21 特斯拉公司 用于使用增广数据训练机器模型的***和方法
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
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
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
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
US11379670B1 (en) * 2019-09-30 2022-07-05 Splunk, Inc. Automatically populating responses using artificial intelligence
US11785735B2 (en) * 2021-02-19 2023-10-10 CyberSecure IPS, LLC Intelligent cable patching of racks to facilitate cable installation
US20230078320A1 (en) * 2021-09-13 2023-03-16 Ford Global Technologies, Llc Vehicle guidance

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918416B1 (en) * 2012-09-19 2014-12-23 Google Inc. Classifying queries
US20170249515A1 (en) * 2016-02-29 2017-08-31 Nec Laboratories America, Inc. Video camera device and system using recursive neural networks for future event prediction
US20180012082A1 (en) * 2016-07-05 2018-01-11 Nauto, Inc. System and method for image analysis
CN107924402A (zh) * 2015-07-15 2018-04-17 谷歌有限责任公司 来自资源内容中的搜索结果过滤器
US9990687B1 (en) * 2017-01-19 2018-06-05 Deep Learning Analytics, LLC Systems and methods for fast and repeatable embedding of high-dimensional data objects using deep learning with power efficient GPU and FPGA-based processing platforms
US20180173971A1 (en) * 2016-12-19 2018-06-21 Waymo Llc Pedestrian detection neural networks
US10111043B1 (en) * 2017-04-24 2018-10-23 Uber Technologies, Inc. Verifying sensor data using embeddings
CN108701140A (zh) * 2015-12-31 2018-10-23 电子湾有限公司 从图像生成结构化查询

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001227B2 (en) * 2010-04-05 2015-04-07 Qualcomm Incorporated Combining data from multiple image sensors
JP5572120B2 (ja) 2011-05-02 2014-08-13 日本放送協会 構図データ生成装置及び構図データ生成プログラム
US9337815B1 (en) 2015-03-10 2016-05-10 Mitsubishi Electric Research Laboratories, Inc. Method for comparing signals using operator invariant embeddings
JP6671515B2 (ja) 2016-05-20 2020-03-25 ディープマインド テクノロジーズ リミテッド 比較セットを使用する入力例の分類
US10380890B2 (en) 2017-02-08 2019-08-13 Baidu Usa Llc Autonomous vehicle localization based on walsh kernel projection technique
EP3552156B8 (en) 2017-02-24 2022-08-03 DeepMind Technologies Limited Neural episodic control
US11308391B2 (en) 2017-03-06 2022-04-19 Baidu Usa Llc Offline combination of convolutional/deconvolutional and batch-norm layers of convolutional neural network models for autonomous driving vehicles
US10757218B2 (en) * 2017-03-29 2020-08-25 Alibaba Group Holding Limited Method and apparatus for generating push notifications
US10739775B2 (en) * 2017-10-28 2020-08-11 Tusimple, Inc. System and method for real world autonomous vehicle trajectory simulation
US10474916B2 (en) * 2017-11-20 2019-11-12 Ashok Krishnan Training of vehicles to improve autonomous capabilities
US11664108B2 (en) * 2018-11-29 2023-05-30 January, Inc. Systems, methods, and devices for biophysical modeling and response prediction

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918416B1 (en) * 2012-09-19 2014-12-23 Google Inc. Classifying queries
CN107924402A (zh) * 2015-07-15 2018-04-17 谷歌有限责任公司 来自资源内容中的搜索结果过滤器
CN108701140A (zh) * 2015-12-31 2018-10-23 电子湾有限公司 从图像生成结构化查询
US20170249515A1 (en) * 2016-02-29 2017-08-31 Nec Laboratories America, Inc. Video camera device and system using recursive neural networks for future event prediction
US20180012082A1 (en) * 2016-07-05 2018-01-11 Nauto, Inc. System and method for image analysis
US20180173971A1 (en) * 2016-12-19 2018-06-21 Waymo Llc Pedestrian detection neural networks
US9990687B1 (en) * 2017-01-19 2018-06-05 Deep Learning Analytics, LLC Systems and methods for fast and repeatable embedding of high-dimensional data objects using deep learning with power efficient GPU and FPGA-based processing platforms
US10111043B1 (en) * 2017-04-24 2018-10-23 Uber Technologies, Inc. Verifying sensor data using embeddings

Also Published As

Publication number Publication date
US20200202196A1 (en) 2020-06-25
CN113366495B (zh) 2024-03-22
EP3877911A1 (en) 2021-09-15
JP2022513839A (ja) 2022-02-09
JP7214873B2 (ja) 2023-01-30
WO2020132693A1 (en) 2020-06-25
US11861481B2 (en) 2024-01-02

Similar Documents

Publication Publication Date Title
CN113366495B (zh) 搜索自主车辆传感器数据存储库
US11928866B2 (en) Neural networks for object detection and characterization
US11783568B2 (en) Object classification using extra-regional context
US20230234616A1 (en) Agent trajectory prediction using anchor trajectories
CN113366507B (zh) 训练分类器以检测打开的车门
US20210334651A1 (en) Learning point cloud augmentation policies
US11967103B2 (en) Multi-modal 3-D pose estimation
US20220164350A1 (en) Searching an autonomous vehicle sensor data repository based on context embedding
US20210150349A1 (en) Multi object tracking using memory attention
US20210101614A1 (en) Spatio-temporal pose/object database

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