CN112823353A - 使用机器学习进行对象定位 - Google Patents
使用机器学习进行对象定位 Download PDFInfo
- Publication number
- CN112823353A CN112823353A CN201980065913.2A CN201980065913A CN112823353A CN 112823353 A CN112823353 A CN 112823353A CN 201980065913 A CN201980065913 A CN 201980065913A CN 112823353 A CN112823353 A CN 112823353A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- data
- sensor
- training
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000004807 localization Effects 0.000 title description 23
- 238000010801 machine learning Methods 0.000 title description 7
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000013528 artificial neural network Methods 0.000 claims abstract description 46
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 27
- 238000003860 storage Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 33
- 238000011176 pooling Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 abstract description 15
- 238000012549 training Methods 0.000 description 147
- 230000008569 process Effects 0.000 description 29
- 239000011159 matrix material Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 210000002569 neuron Anatomy 0.000 description 8
- 238000009826 distribution Methods 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000001994 activation Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 241000009334 Singa Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010426 hand crafting Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- 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/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/04—Systems determining the presence of a target
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Electromagnetism (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Human Computer Interaction (AREA)
- Traffic Control Systems (AREA)
Abstract
用于确定特定对象相对于载具的地点的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。在一个方面,一种方法包括获得由载具的一个或多个传感器捕获的传感器数据。传感器数据通过卷积神经网络来处理,以生成传感器数据的传感器特征表示。获得数据,该数据定义已被分类为包括表征特定对象的传感器数据的传感器数据中的特定空间区域。从传感器特征表示的与特定空间区域对应的部分生成特定对象的对象特征表示。使用定位神经网络处理特定对象的对象特征表示,以生成特定对象相对于载具的地点。
Description
技术领域
本说明书涉及自主载具。
背景技术
自主载具包括自动驾驶载具、轮船和飞机。自主载具使用各种机载传感器和计算机系统来检测附近的对象,并使用这种检测来做出控制和导航决策。
发明内容
本说明书描述了一种系统,该系统被实施为执行对象定位的一个或多个地点中的一个或多个计算机上的计算机程序。
根据第一方面,提供了一种方法,该方法包括获得由载具的一个或多个传感器捕获的传感器数据。使用卷积神经网络处理传感器数据,以生成传感器数据的传感器特征表示。获得数据,该数据定义已被分类为包括表征载具附近的环境中的特定对象的传感器数据的传感器数据中的特定空间区域。从传感器特征表示的与特定空间区域对应的部分生成特定对象的对象特征表示。使用定位神经网络处理特定对象的对象特征表示,以生成表征特定对象在环境中相对于载具的地点的输出。
在一些实施方式中,对准并组合由以下一项或多项捕获的传感器数据:载具的激光传感器、载具的雷达传感器和载具的相机传感器。
在一些实施方式中,已被分类为包括表征载具附近的环境中的特定对象的传感器数据的传感器数据中的特定空间区域由具有矩形几何形状的边界框限定。
在一些实施方式中,已被分类为包括表征载具附近的环境中的特定对象的传感器数据的传感器数据中的特定空间区域是通过使用对象检测神经网络处理传感器数据的至少一部分而生成的。
在一些实施方式中,除了传感器特征表示的、与特定空间区域对应的部分之外,还从传感器数据的、与特定空间区域对应的部分生成特定对象的对象特征表示。
在一些实施方式中,为了生成特定对象的对象特征表示,与特定空间区域对应的传感器特征表示的部分被裁剪并使用一个或多个池化操作被转换。
在一些实施方式中,定位神经网络被配置为生成表征环境中特定对象的中心的位置的坐标。坐标以相对于载具定义的坐标系来表示。
在一些实施方式中,定位神经网络被配置为生成距离值,该距离值表征环境中特定对象距载具的距离。
根据第二方面,提供了一种系统,该系统包括:数据处理装置;以及存储器,与数据处理装置进行数据通信,并存储指令,所述指令使数据处理装置执行先前描述的方法的操作。
根据第三方面,提供了一种或多种非暂时性计算机存储介质,其存储指令,当指令由一个或多个计算机执行时,使一个或多个计算机执行先前描述的方法的操作。
可以实施本说明书中描述的主题的特定实施例,以实现以下优点中的一个或多个。
在本说明书中描述的对象定位系统可以基于表示由载具的传感器捕获的传感器数据的空间数据图来准确地确定对象相对于载具的地点。因此,可以将对象定位系统部署在载具机载系统中,以使机载系统能够做出完全自主或部分自主的驾驶决策,将信息呈现给载具的驾驶员以帮助驾驶员安全地操作载具,或两者。
在本说明书中描述的对象定位系统可以被训练成从表示由载具的传感器捕获的传感器数据的空间数据图直接预测对象相对于载具的地点。特别地,在本说明书中描述的对象定位系统可以学习从空间数据图隐式地识别对象的对象特定特征(例如,大小和形状)和上下文特征(例如,相对于道路的位置),而无需显式地被编程为这样做。相比之下,一些常规系统通过处理必须显式地指定为对常规系统的输入的手工制作的大量特征(例如,交通灯的可能高度、交通锥的形状等)来执行对象定位。与这些常规系统相比,本说明书中描述的对象定位系统可以实现更高的定位准确性,并且不需要费力的手工制作特征工程。
除了对象定位输出(例如,表征载具附近的环境的几何形状的辅助输出)之外,还可以共同训练本说明书中描述的对象定位系统以生成辅助输出。与某些常规对象定位系统相比,对对象定位系统进行共同训练以生成辅助输出可以(在某些情况下)使本说明书中描述的对象定位系统能够在更少的训练迭代中达到可接受的性能水平(例如,对象定位准确性)。因此,训练本说明书中描述的对象定位系统可能比训练一些常规对象定位系统消耗更少的计算资源(例如,存储器、计算能力或两者)。
在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。从说明书、附图和权利要求书中,本主题的其他特征、方面和优点将变得清晰。
附图说明
图1是示例机载(on-board)系统的框图。
图2是示例对象定位(localization)系统的框图。
图3是示例训练系统的框图。
图4是用于生成表征特定对象相对于载具的地点的对象定位数据的示例过程的流程图。
图5是用于更新训练对象定位系统的参数值的示例过程的流程图。
在各个附图中,相似的附图标记和名称(designations)指示相似的元素。
具体实施方式
本说明书描述了载具如何能够使用对象定位系统来确定在载具附近的环境中对象相对于载具的地点。为了确定特定对象相对于载具的地点,对象定位系统处理(例如,使用卷积神经网络)表示由载具的传感器捕获的传感器数据的空间数据图,以生成传感器数据的特征表示。对象定位系统从表征特定对象的传感器数据的特征表示的一部分生成特定对象的特征表示。随后,对象定位系统使用定位神经网络处理特定对象的特征表示,以确定特定对象相对于载具的地点。特定对象的特征表示隐式地表征特定对象的各种性质,这对于确定特定对象相对于载具的地点可能会是有用的。例如,特定对象的特征表示可以表征特定对象的大小和形状,以及与特定对象对应的激光和雷达传感器测量。作为另一示例,特定对象的特征表示可以表征特定对象相对于道路的位置以及特定对象与其他附近对象之间的关系。
载具可以使用对象定位系统的输出来执行使载具更安全地操作的动作。例如,响应于确定对象(例如,行人)的地点在载具的未来轨迹中,载具的规划系统可以自动施加载具的制动,或者自动地改变载具的未来轨迹,以防止对象与载具之间的碰撞。作为另一个示例,响应于确定对象的地点在载具的未来轨迹中,用户接口系统可以利用用于调整载具的未来轨迹或在碰撞之前应用载具制动的指令向载具的驾驶员呈现警报消息。
在下面更详细地描述这些特征和其他特征。
图1是示例机载系统100的框图。机载系统100由硬件和软件组件组成,其中一些或全部物理上位于载具102上。在一些情况下,机载系统100可以做出完全自主或部分自主的驾驶决策(即,独立于载具102的驾驶员做出的驾驶决策),向载具102的驾驶员呈现信息以帮助驾驶员安全地操作载具,或者两者。例如,响应于确定载具102可能与对象碰撞,机载系统100可以自主地施加载具102的制动或以其他方式自主地改变载具102的轨迹,以防止载具102和对象之间的碰撞。作为另一示例,响应于确定载具102可能与对象碰撞,机载系统100可以利用用于调整载具102的轨迹以避免碰撞的指令向载具102的驾驶员呈现警报消息。
尽管图1中的载具102被描绘为汽车,并且该文件中的示例是参考汽车来描述的,但是通常,载具102可以是任何类型的载具。例如,除了汽车之外,载具102可以是船舶或飞机。此外,机载系统100可以包括作为图1中所描绘的组件的附加的组件(例如,碰撞检测系统或导航系统)。
机载系统100包括传感器系统104,该传感器系统使机载系统100能够“看到”载具102附近的环境。更具体地,传感器系统104包括一个或多个传感器,其中一些被配置为接收来自载具102附近的环境中的电磁辐射的反射。例如,传感器系统104可以包括被配置为检测激光(laser light)的反射的一个或多个激光传感器(例如,LIDAR激光传感器)。作为另一示例,传感器系统104可以包括一个或多个雷达传感器,其被配置为检测无线电波的反射。作为另一示例,传感器系统104可以包括被配置为检测可见光的反射的一个或多个相机传感器。
在一些实施方式中,传感器系统104包括短距离和远距离激光传感器的组合。短距离激光传感器可以用于检测载具102周围的地面和载具102附近的对象(例如,在载具102的40米之内的对象)。远距离激光传感器可以用于检测距载具102更远的对象(例如,距载具102多至80米的对象)。
传感器系统104连续(即,在多个时间点中的每个时间点)捕获原始传感器数据,该原始传感器数据可以指示反射辐射行进的方向、强度和距离。例如,传感器系统104中的传感器可以沿特定方向发射电磁辐射的一个或多个脉冲,并且可以测量任何反射的强度以及接收到反射的时间。可以通过确定发射脉冲和接收脉冲的反射之间经过的时间来计算距离。每个传感器可以连续扫过(sweep)角度、方位角或两者的特定空间。例如,扫过方位角可以允许传感器沿着相同的视线检测多个对象。
传感器系统104被配置为处理在时间点捕获的原始传感器数据,以生成一个或多个空间数据图106,所述空间数据图106表示在该时间点捕获的原始传感器数据。每个空间数据图106可以表示为数值的矩阵(例如,二维、三维或四维矩阵)。例如,传感器系统104可以生成表示由激光传感器、雷达传感器或两者捕获的原始传感器数据的空间数据图106,其表征从载具102到载具附近的多个点中的每个点的距离。作为另一示例,传感器系统104可以生成表示由相机传感器捕获的原始传感器数据的空间数据图106,其通过一个或多个摄影图像(例如,红-绿-蓝(RGB)图像))表征载具附近的环境的视觉外观。
机载系统100包括对象定位系统108,该对象定位系统108被配置为处理空间数据图106以生成表征载具102附近的不同对象相对于载具102的地点的对象定位数据110。例如,如将参考图2更详细地描述的,对象定位数据110可以通过指示坐标系中对象的地点的一组数字坐标来表征在载具102附近的对象的地点。图1中描绘的示例对象定位数据112通过笛卡尔坐标[12,7,0.5]表征对象A的地点,并且通过笛卡尔坐标[14,2,2]表征对象B的地点。作为另一示例,对象定位数据110可以通过指示对象距载具102的距离(例如,以英尺为单位测量)的数值来表征在载具102附近的对象的地点。在载具102附近的对象可以包括例如行人、骑自行车者、动物、其他载具、道路标志、塔架和交通灯。
机载系统100可以将由对象定位系统100生成的对象定位数据110提供给规划系统114、用户接口系统116或两者。
当规划系统114接收到对象定位数据110时,规划系统114可以使用对象定位数据110来做出对载具的未来轨迹进行规划的完全自主或部分自主的规划决策。由规划系统生成的规划决策可以例如包括:让行(例如,让行其他载具)、停止(例如,在停止标志处)、经过其他载具、调整载具车道位置以容纳骑自行车者、在学校或施工区域减慢、合并(例如,合并到高速公路上)、以及停放(park)。例如,规划系统114可以自主地生成规划决策,以通过改变载具102的避开对象的未来轨迹来导航载具102以避开与对象的碰撞。在特定示例中,规划系统114可以生成规划决策,以应用载具102的制动以避免在载具102的当前轨迹中与行人碰撞。作为另一个示例,响应于接收到指示“停止”标志与载具102的未来轨迹邻近的对象定位数据110,则规划系统可以生成规划决策,以在停止标志之前应用载具102的制动。
由规划系统114生成的规划决策可以被提供给载具的控制系统。载具的控制系统可以通过实施由规划系统生成的规划决策来控制载具的一些或全部操作。例如,响应于接收到施加载具的制动的规划决策,载具的控制系统可以将电子信号发送到载具的制动控制单元。响应于接收到电子信号,制动控制单元可以机械地施加载具的制动。
当用户接口系统116接收到对象定位数据110时,用户接口系统116可以使用对象定位数据110来向载具102的驾驶员呈现信息,以帮助驾驶员安全地操作载具102。用户接口系统116可以通过任何适当的方式向载具102的驾驶员呈现信息,例如,通过经由载具102的扬声器系统发送的音频消息,或者通过在载具的视觉显示系统上显示的警报(例如,载具102的仪表板上的LCD显示器)。在特定示例中,用户接口系统116可以利用用于调整载具102的轨迹以避免在载具102的当前轨迹中与行人碰撞的指令向载具102的驾驶员呈现警报消息。
图2是示例对象定位系统200的框图。对象定位系统200是被实施为实施下面描述的系统、组件和技术的、一个或多个地点的一个或多个计算机上的计算机程序的系统的示例。
对象定位系统200被配置为处理表示由载具上的传感器捕获的传感器数据的空间数据图202,以生成表征在载具附近的一个或多个对象相对于载具的地点的对象定位数据204。如参考图1所描述的,每个空间数据图202可以表示由激光传感器、雷达传感器、相机传感器或其他载具传感器捕获的原始传感器数据,并且可以表示为数值的矩阵(例如,二维或三维矩阵)。在某些情况下,每个空间数据图可以表示为下述矩阵:其中矩阵的维度中的两个是“空间维度”。空间数据图中的空间地点是指空间数据图中由空间维度坐标的值索引的位置。空间数据图中的每个空间地点表征环境的相应空间区域。在某些情况下,由对象定位系统200处理的一些或全部空间数据图202具有相同的环境视角并且彼此对齐。即,不同空间数据图中的对应空间地点表征环境中的相同空间区域。
在一些实施方式中,对象定位系统200可以被配置为处理道路图空间数据图,该道路图空间数据图定义了在载具附近的环境中的静态对象(例如,交通灯、人行横道等)的已知位置。在一些实施方式中,对象定位系统200可以被配置为处理高程(elevation)空间数据图,该高程空间数据图定义了在载具附近的环境中位置的已知高程(例如,在海平面之上以英尺为单位)。在一些实施方式中,对象定位系统200可以被配置为处理来自诸如热传感器和音频传感器的附加载具传感器的传感器数据。
在一些实施方式中,系统200生成对象定位数据204,该对象定位数据204通过指示对象距载具的距离(例如,以英尺为单位测量)的数值来表征在载具附近的对象的地点。在一些实施方式中,系统200生成对象定位数据204,该对象定位数据204通过指示相对于载具定义的对象在坐标系中的地点的一组数字坐标来表征对象在载具附近的地点。例如,坐标系可以是笛卡尔坐标系(例如,以载具为中心),并且对象定位数据204可以通过在笛卡尔坐标系中对象的中心的(x,y,z)坐标来表征对象的地点。作为另一个示例,坐标系可以是球面坐标系(例如,以载具为中心),并且对象定位数据204可以通过在球坐标系中对象的中心的(r,θ,φ)坐标来表征对象的地点。
在206所描绘的示例中,对象定位数据204通过以载具为中心的笛卡尔坐标系中的“停止”标志的中心的坐标来表征在载具附近的“停止”标志的地点。
为了方便起见,接下来的描述涉及系统200生成对象定位数据204,该对象定位数据204表征在载具附近的特定对象相对于载具的地点。更一般地,系统200可以生成对象定位数据204,该对象定位数据204表征在载具附近的任意数量的对象相对于载具的的地点。
为了生成表征特定对象相对于载具的地点的对象定位数据204,系统200首先获得定义特定对象在空间数据图202中的位置的数据。更具体地,系统200获得下述数据:该数据定义已被分类为包括表征特定对象的传感器数据的、空间数据图202中的特定空间区域。空间数据图中的空间区域是指空间数据图中的一组空间地点。例如,定义特定对象在空间数据图202中的位置的数据可以是由边界框的坐标定义的对象边界框208,所述边界框的坐标划定(delineating)表示特定对象的、空间数据图202中的特定空间区域。在接下来的描述中,尽管定义特定对象在空间数据图202中的位置的数据可以被称为对象边界框208,但是应该理解的是,定义特定对象在空间数据图202中的位置的数据可以具有任何其他适当的格式。例如,定义特定对象在空间数据图202中的位置的数据可以定义空间数据图202中的非矩形(例如,圆形)空间区域。在一些实施方式中,定义特定对象在空间数据图202中的位置的数据可以是由对象检测神经网络通过处理包括空间数据图202的输入而生成的输出。
尽管对象边界框208定义特定对象在空间数据图202中的位置,但是为了生成对象定位数据204,系统200必须确定特定对象相对于载具的地点。例如,系统200可以被配置为从定义一组空间数据图中特定对象周围的边界框的数据转换(translate)为表征该特定对象在3D空间中相对于载具的位置的3D定位数据。甚至当空间数据图202包括表征从载具到载具附近的点的距离的传感器数据(例如,来自激光或雷达传感器)时,对象边界框208也可能不会直接定义对象定位数据204。例如,除了特定对象上的点之外,表示激光或雷达传感器数据的空间数据图中特定对象周围的边界框还可包括定义从载具到特定对象后面和特定对象前面的点的距离的数据。
系统200根据卷积神经网络参数的训练值,使用卷积神经网络210处理空间数据图202,以生成传感器特征表示212。传感器特征表示212可以以任何适当的数值格式表示,例如,作为数值的多维矩阵(即张量)。在一些情况下,传感器特征表示212可以被表示为三维矩阵,其中矩阵的维度中的两个是“空间维度”。传感器特征表示212中的空间地点是指传感器特征表示中由空间维度坐标的值索引的位置。传感器特征表示中的每个空间地点表征空间数据图的相应空间区域。传感器特征表示212可以被理解为空间数据图202的替代表示,其以可以被有效地处理以确定在载具附近的对象的地点的形式表示空间数据图内和之间的复杂数据相互作用。可选地,卷积神经网络210可以附加地处理道路图空间数据图、高程空间数据图和由附加的载具传感器(例如,音频和热传感器)生成的传感器数据,如前所述。
系统200包括裁剪引擎214,该裁剪引擎被配置为从传感器特征表示212的、与由对象边界框208定义的空间数据图202中的特定空间区域对应的部分生成特定对象的对象特征表示216。例如,如将参考图4更详细地描述的,裁剪引擎214可以通过裁剪传感器特征表示212的、与由对象边界框208定义的空间数据图202中的特定对象周围的边界框对应的部分来生成对象特征表示216。在一些实施方式中,裁剪引擎214可以另外被配置为从一个或多个空间数据图202的、由对象边界框208定义的特定空间区域对应的部分生成特定对象的对象特征表示216。
系统200根据定位神经网络参数的当前值,使用定位神经网络218处理对象特征表示216,以生成表征特定对象相对于载具的地点的对象定位数据204。可以使用任何适当的神经网络架构来实施定位神经网络218。例如,定位神经网络218可以包括一个或多个卷积神经网络层,接下来是一个或多个完全连接的神经网络层。
在一些实施方式中,定位神经网络218被配置为生成数字输出数据,其直接表征特定对象相对于载具的地点。例如,定位神经网络218的输出层可以由单个神经元定义,该单个神经元生成表征从载具到特定对象的距离的激活。作为另一个示例,定位神经网络218的输出层可以由多个神经元的集合来定义,每个神经元对应于坐标系的相应维度,并且这些神经元的激活可以表征特定对象在坐标系中的地点。
在一些实施方式中,定位神经网络218被配置为生成定义对象相对于载具在可能地点的预定集合上的概率分布的数据。例如,定位神经网络218的输出层可以是soft-max层,其包括多个神经元,每个神经元对应于特定对象相对于载具的可能地点的预定点阵(lattice)中的相应地点。在该示例中,输出层中每个神经元的激活可以定义特定对象位于与神经元对应的地点处的相应概率。在这些实施方式中的一些中,系统200可以通过根据概率分布对特定对象相对于载具的可能地点进行采样来生成对象定位数据204。替选地,系统200可以通过根据由定位神经网络218生成的概率分布来选择具有最高概率值的、特定对象相对于载具的可能地点来生成对象定位数据204。
如上所述,由系统200生成的对象定位数据204可以由载具的机载系统的其他组件处理,以例如做出完全自主或部分自主的驾驶决策。
如将参考图3进一步描述的,可以通过训练系统将卷积神经网络210、定位神经网络218或两者的训练的参数值提供给对象定位系统200。
图3是示例训练系统300的框图。训练系统300是被实施为实施下面描述的系统、组件和技术的、一个或多个地点的一个或多个计算机上的计算机程序的系统的示例。
训练系统300被配置为生成用于载具102的机载系统100中的对象定位系统的卷积神经网络、定位神经网络或两者的参数的一组训练的参数值302。如将在下面更详细地描述的,训练系统300生成训练的参数值302,其被优化以使得机载对象定位系统能够生成准确的对象定位数据。训练系统300通常托管在数据中心304内,该数据中心可以是具有在一个或多个地点的数百或数千台计算机的分布式计算系统。训练系统300可以通过有线或无线连接将训练的参数值302提供给机载系统100。
训练系统300包括训练对象定位系统306,该训练对象定位系统306包括具有实施机载对象定位系统(例如,参考图2进行描述)的相应操作的软件或硬件模块的计算设备。具体地,训练对象定位系统306实施训练卷积神经网络和训练定位神经网络的操作。训练神经网络通常具有与机载神经网络相同(或相似)的架构。
训练系统300基于一组训练数据308训练训练对象定位系统306。训练数据308包括多个训练示例,其中每个训练示例可以包括:(i)一个或多个训练空间数据图;(ii)训练对象边界框,定义已被分类为包括表征在载具附近的环境中特定训练对象的传感器数据的、训练空间数据图中的特定区域;以及(iii)目标对象定位数据,其表征特定训练对象在环境中相对于载具的位置。目标对象定位数据表示应该由训练对象定位系统306通过处理训练示例中包括的训练空间数据图和训练对象边界框而生成的对象定位数据。
为了生成训练的参数值302,训练引擎310迭代地调整训练对象定位系统306的参数值312,以使训练对象定位系统306生成与由训练示例指定的目标对象定位数据匹配的对象定位数据输出314。训练对象定位系统306的参数值312包括训练卷积神经网络、训练定位神经网络或两者的参数值。训练引擎310通过使用机器学习训练技术(例如,随机梯度下降)来迭代地调整训练对象定位系统306的参数值312,以生成用于调整参数值312的迭代参数值调整316。在确定满足训练终止标准之后,训练系统300可以在最终训练迭代中输出与当前参数值312对应的训练的参数值302。
在一些实施方式中,训练数据308中包括的训练示例包括附加的目标辅助输出。例如,如将参考图5进一步描述的,目标辅助输出可以表征载具附近的环境的几何形状、特定训练对象的属性或特定训练对象的未来属性。在这些实施方式中,训练对象定位系统306可以被配置为生成与由训练示例指定的一些或全部目标辅助输出对应的辅助输出。训练引擎310可以另外调整参数值312,以使训练对象定位系统306生成与由训练示例指定的目标辅助输出匹配的辅助输出318。通过共同训练训练对象定位系统306以便除对象定位数据314之外还生成辅助输出318,训练系统300可以使用较少的训练迭代来确定训练的参数值302。
对应于训练数据308的训练示例的训练空间数据图可以从载具传感器获取的记录的传感器数据,从在模拟环境中从模拟载具传感器获取的模拟传感器数据,或两者中获得。可以通过自动注释(annotation)过程、手动注释过程或两者的组合来生成与训练数据308的训练示例对应的训练对象边界框、目标对象定位数据和目标辅助输出。
为了减少训练期间的过拟合,训练卷积神经网络和训练定位神经网络可以包括一个或多个丢弃(dropout)层。丢弃层可以被配置为随机丢弃(例如,通过设置为恒定值)一个或多个空间数据图(例如,从激光传感器的原始传感器数据生成的空间数据图)。以这种方式,可以训练对象定位系统,以便即使某些传感器不可用(例如,由于损坏)也生成准确的对象定位数据,并且更有效地推广(generalize)到新环境。
图4是用于生成表征特定对象相对于载具的地点的对象定位数据的示例过程400的流程图。为了方便起见,将过程400描述为由位于一个或多个地点的一个或多个计算机的系统执行。例如,根据本说明书适当编程的对象定位系统(例如,图2的对象定位系统200)可以执行过程400。
系统获得由载具的传感器捕获的传感器数据(402)。传感器数据可以表示由激光传感器、雷达传感器、相机传感器或其他载具传感器捕获的数据。传感器数据中的一些或全部可以由相应的空间数据图表示,即,由数值的相应矩阵(例如,二维或三维矩阵)表示(如参考图2所述)。
系统通过根据卷积神经网络参数的当前值使用卷积神经网络处理传感器数据(特别是,表示传感器数据的空间数据)来生成传感器特征表示(404)。为了使用卷积神经网络处理多个空间数据图,系统首先将空间数据图与相同环境视角级联(concatenate),以对齐它们各自的空间地点。具有不同环境视角的空间数据图可以通过不同的卷积神经网络来处理,并且这些不同的卷积神经网络的输出可以共同形成传感器特征表示。传感器特征表示可以以任何适当的数字格式表示,例如,表示为数值的多维矩阵。
系统获得在传感器数据中定义特定对象的位置的数据(406)。更具体地,系统获得定义已被分类为包括表征特定对象的传感器数据的、传感器数据(特别是空间数据图)中的特定空间区域的数据。例如,定义传感器数据中的特定空间区域的数据可以由边界框的坐标来定义,所述边界框的坐标划定表示特定对象的、空间数据图中的特定空间区域。在一些实施方式中,定义传感器数据中的特定空间区域(例如,对象边界框)的数据是由对象检测神经网络通过处理包括空间数据图的输入而生成的输出。
系统从传感器特征表示的与已被分类为包括表征特定对象的传感器数据的传感器数据中的特定空间区域对应的部分生成特定对象的对象特征表示(408)。例如,系统可以通过裁剪传感器特征表示的与特定空间区域(例如,由边界框定义)对应的部分并使用池化操作来将所裁剪的传感器特征表示的部分变换为预定大小,来生成对象特征表示。在该示例中,池化操作可以包括将所裁剪的传感器特征表示的部分划分为预定数量的子窗口的网格,然后将每个子窗口中的值最大池化为对象特征表示中的对应位置。通过使用所描述的池化操作,系统可以生成具有预定大小的对象特征表示,该预定大小适合于由定位神经网络(将在410中进行描述)进行处理,而不管对象边界框定义的特定空间区域的大小如何。
当传感器特征表示包括各自处理具有相应的环境视角的空间数据图的多个不同的卷积神经网络的输出时,系统可以从每个卷积神经网络的输出的相应部分生成对象特征表示。更具体地,系统可以通过裁剪并池化每个卷积神经网络的输出的、与已被分类为包括表征特定对象的传感器数据的传感器数据中的特定空间区域对应的相应部分,来生成对象特征表示。
在某些情况下,例如,由于在用于生成传感器特征表示的卷积神经网络中执行的卷积和池化操作,传感器特征表示的空间维度(dimensionality)可能低于空间数据图的空间维度。在特定示例中,空间数据图的空间维度可以是300×300,而传感器特征表示的空间维度可以是250×250。在这些情况下,可以调整传感器特征表示的与空间数据图中的特定空间区域(例如,由对象边界框定义)对应的部分,以考虑到(account for)传感器特征表示相对于空间数据图的空间维度减小。例如,由对象边界框定义的空间数据图中的边界框的坐标可以被平移,重新缩放或执行两者,以考虑到传感器特征表示相对于空间数据图的空间维度减小的问题。
可选地,系统可以基于已被分类为包括表征特定对象的传感器数据的部分传感器数据来另外生成特定对象的对象特征表示。例如,系统可以裁剪空间数据图的与特定空间区域对应的部分,将所裁剪的空间数据图的部分变换为预定大小(例如,如上所述,使用池化操作),并将结果数据级联到对象特征表示。
系统通过根据定位神经网络参数的当前值使用定位神经网络处理对象特征表示来生成表征特定对象相对于载具的地点的对象定位数据(410)。
在一些实施方式中,定位神经网络被配置为生成数字输出数据,其直接表征对象相对于载具的地点。例如,定位神经网络可以被配置为在相对于载具定义的坐标系(例如,笛卡尔坐标系)中生成定义对象的中心相对于载具的数值坐标的数值数据。
在一些实施方式中,定位神经网络被配置为生成定义对象相对于载具在可能地点的预定集合上的概率分布的数据。例如,定位神经网络可以被配置为生成数值数据,该数值数据包括对象相对于载具的可能地点的预定点阵中的每个地点的相应概率值。在这些实施方式中的一些中,系统可以通过根据概率分布对特定对象相对于载具的可能地点进行采样来生成表征特定对象相对于载具的地点的对象定位数据。可替选地,系统可以通过根据由定位神经网络生成的概率分布选择具有最高概率值的、特定对象相对于载具的可能地点,来生成表征特定对象相对于载具的地点的对象定位数据。
图5是用于更新训练对象定位系统的参数值的示例过程500的流程图。特别地,图5描述了用于更新训练对象定位系统的参数值的示例迭代过程的一次迭代。为了方便起见,过程500将被描述为由训练系统执行,该训练系统包括位于一个或多个地点的一个或多个计算机。例如,根据本说明书适当编程的图3的训练系统300可以执行过程500。
训练系统获得一个或多个训练示例(502)。每个训练示例包括:(i)一个或多个训练空间数据图;(ii)训练对象边界框,定义已被分类为包括表征在载具附近的环境中特定训练对象的传感器数据的、训练空间数据图中的特定区域;以及(iii)目标对象定位数据,其表征特定训练对象相对于载具的位置。可选地,如下文将更详细描述的,每个训练示例除了目标对象定位数据外还可以包括附加的目标辅助输出。更一般地,每个训练示例可以包括定义已被分类为包括表征载具附近的特定训练对象的传感器数据的、训练空间数据图中的特定区域的任何适当的数据,并且该数据不限于由边界框表示。
在一些实施方式中,每个训练示例包括表征载具附近的环境的几何形状的目标辅助输出。例如,表征环境的几何形状的目标辅助输出可以包括目标每像素深度图,即,定义与训练空间数据图的每个像素对应的深度值的数据。作为另一示例,表征环境的几何形状的目标辅助输出可包括定义已被分类为包括表征载具附近的环境中的对象的传感器数据的、训练空间数据图中的空间区域的数据。在该示例中,表征环境的几何形状的目标辅助输出可以包括定义训练空间数据图中的边界框的数据,该边界框包围表征载具附近的环境中的对象的传感器数据。作为另一示例,表征环境的几何形状的目标辅助输出可以包括定义已被分类为包括表征特定训练对象下方的地面区域的传感器数据的、训练空间数据图中的空间区域的数据。在该示例中,表征环境的几何形状的目标辅助输出可以包括定义训练空间数据图中的边界框的数据,该边界框包围表征特定训练对象下方的地面区域的传感器数据。
在一些实施方式中,每个训练示例包括表征特定训练对象的属性的目标辅助输出。例如,表征特定训练对象的属性的目标辅助输出可以包括定义特定训练对象的大小的数据(例如,以平方英尺为单位测量)。作为另一示例,表征特定训练对象的属性的目标辅助输出可以包括定义特定训练对象(例如,“载具”、“行人”、“障碍物”等)的类型的数据。
在一些实施方式中,每个训练示例包括表征特定训练对象的未来属性的目标辅助输出。例如,表征特定训练对象的未来属性的目标辅助输出可以包括定义在预定的时间量(例如,1秒)过去之后特定训练对象的中心在特定坐标系中的未来地点的数据。作为另一示例,表征特定训练对象的未来属性的目标辅助输出可以包括定义在预定的时间量过去之后特定训练对象的未来外观(例如,视觉外观)的数据。
训练系统可以通过从包括多个训练示例的一组训练数据随机采样训练实例来获得一个或多个训练示例。为了方便起见,将参考特定的训练示例来描述过程500。
训练系统使用训练对象定位系统来处理特定训练示例中包括的训练空间数据图和训练对象边界框,以生成表征特定训练对象相对于载具的地点的对象定位数据(504)。可选地,训练对象定位系统(特别是训练卷积神经网络、训练定位神经网络或两者)可以被配置为生成与训练示例中包括的一些或所有目标辅助输出对应的附加的辅助输出。即,训练卷积神经网络、训练定位神经网络或两者可以包括被配置为生成附加的辅助输出的一个或多个附加层(即,除了用于生成对象定位数据的那些层之外的层)。为了生成附加的辅助输出,一个或多个附加层处理来自训练卷积神经网络或训练定位神经网络的一个或多个中间(即,隐藏)层的输出。
训练对象定位系统(例如,卷积神经网络、定位神经网络或两者)可以被配置为生成表征载具附近的环境的几何形状、特定训练对象的属性、或特定训练对象的未来属性的辅助输出。当训练对象定位系统被配置为生成表征特定训练对象的未来属性的辅助输出时,训练对象定位系统(以及载具的机载系统中的对象定位系统)可以被配置为从多个时间点处理空间数据图。
训练系统基于对象定位输出数据和(可选地)辅助输出来调整训练对象定位系统的当前参数值(即,训练卷积神经网络、训练定位神经网络或两者的当前参数值)(506)。例如,训练系统可以通过计算损失函数相对于训练对象定位系统的当前参数值的梯度来确定对训练对象定位系统的当前参数值的更新。损失函数可以包括用于由训练对象定位系统生成的对象定位输出和每个辅助输出的相应项。例如,损失函数可以包括均方误差项,该均方误差项测量由训练对象定位系统生成的对象定位输出与由特定训练示例指定的目标对象定位输出之间的差。作为另一示例,损失函数可以包括在下述项之间的交叉熵损失项:由训练对象定位系统生成的、表征特定训练对象的类型的辅助输出;以及由训练示例指定的对应的目标辅助输出。
在计算损失函数相对于训练对象定位系统的当前参数值的梯度之后,训练系统使用任何适当的梯度下降优化算法更新规则来调整对象定位系统参数的当前值。梯度下降优化算法的示例包括Adam、RMSprop、Adagrad、Adadelta和AdaMax等。当训练对象定位系统被配置为生成辅助输出时,训练系统可以使用与辅助输出对应的损失函数项的梯度来调整一些或全部训练对象定位系统参数的当前值。
本说明书结合系统和计算机程序组件使用术语“配置”。对于将被配置为执行特定操作或动作的一个或多个计算机的系统,意味着该系统已安装软件、固件、硬件或它们的组合,其在操作中使系统执行这些操作或动作。对于将被配置为执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括指令,该指令在由数据处理装置执行时使该装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可以被实施在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件中(包括本说明书中公开的结构及其结构等同物)、或者它们中一种或多种的组合。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即,在有形的非暂时性存储介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备、或它们中的一个或多个的组合。替选地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置,以由数据处理装置执行。
术语“数据处理装置”是指数据处理硬件,并且包括用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,该装置还可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一种或多种的组合的代码。
计算机程序,也可以被称为或描述为程序、软件、软件应用、app(应用)、模块、软件模块、脚本或代码,可以用任何形式的编程语言来编写,所述语言包括编译或解释性语言、或声明性或程序性语言;并且它可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适合于在计算环境中使用的其他单元进行部署。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如存储在标记语言文档中的一个或多个脚本,专用于所讨论的程序的单个文件中,或多个协调文件中,例如,存储一个或多个模块、子程序或代码部分的文件。可以将计算机程序部署为在一个计算机上执行,或者在位于一个站点上或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“引擎”广泛地用于指代被编程以执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实施为安装在一个或多个地点的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在同一个或多个计算机上安装并运行多个引擎。
本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程计算机来执行。过程和逻辑流还可以通过专用逻辑电路(例如,FPGA或ASIC)或者通过专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者基于任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向其传数据。但是,计算机不必具有此类设备。此外,计算机可以嵌入到另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器、或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了提供与用户的交互,可以在具有显示器设备的计算机上实施本说明书中描述的主题的实施例,该显示器设备例如是用于向用户显示信息的CRT(阴极射线管)或LCD(液晶显示)监视器,以及用户可以通过其向计算机提供输入的键盘和指向设备(例如,鼠标或轨迹球)。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从网络浏览器接收到的请求来将网页发送到用户设备上的网络浏览器。而且,计算机可以通过将文本消息或其他形式的消息发送到个人设备(例如,运行消息收发应用的智能手机),并从用户接收响应消息作为回报来与用户交互。
用于实施机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产(即推论)、工作负载的公共部分和计算密集部分。
可以使用机器学习框架(例如,TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实施和部署机器学习模型。
本说明书中描述的主题的实施例可以在包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件的计算系统中实施,例如,客户端计算机,其具有图形用户接口、Web浏览器或app,用户可通过该app与本说明书中描述的主题的实施进行交互,或者一个或多个此类后端、中间件或前端组件的任意组合。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器的关系是通过在相应计算机上运行并且彼此之间具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器例如向用户设备发送数据,例如HTML页面,以用于向与充当客户端的设备交互的用户显示数据并从该用户接收用户输入。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多特定的实施细节,但是这些细节不应被解释为对任何发明的范围或所要求保护的范围的限制,而应视为可以对特定于特定发明的特定实施例的特征的描述。在单独的实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合地实施。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实施。此外,尽管上面可能将特征描述为以某些组合形式起作用,并且甚至最初也这样要求保护,但是在某些情况下,可以从组合中切除来自所要求保护的组合的一个或多个特征,并且可以将所要求保护的组合引向为子组合或子组合的变体。
类似地,尽管以特定顺序在附图中描绘了操作并在权利要求中对其进行了叙述,但是这不应被理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者所有图示的操作必须执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或打包成多个软件产品。
已经描述了本主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。
Claims (10)
1.一种由一个或多个数据处理装置执行的方法,所述方法包括:
获得由载具的一个或多个传感器捕获的传感器数据;
使用卷积神经网络处理包括传感器数据的输入,以生成传感器数据的传感器特征表示;
获得定义已被分类为包括表征载具附近的环境中的特定对象的传感器数据的传感器数据中的特定空间区域的数据;
从传感器特征表示的、与特定空间区域对应的部分生成特定对象的对象特征表示;以及
使用定位神经网络处理包括特定对象的对象特征表示的输入,以生成表征特定对象在环境中相对于载具的地点的输出。
2.根据权利要求1所述的方法,其中,获得由所述载具的一个或多个传感器捕获的传感器数据包括:
对齐并组合由以下一项或多项捕获的传感器数据:载具的激光传感器、载具的雷达传感器和载具的相机传感器。
3.根据权利要求1-2中任一项所述的方法,其中,获得定义已被分类为包括表征载具附近的环境中的特定对象的传感器数据的传感器数据中的特定空间区域的数据包括:
获得具有矩形几何形状的对象边界框。
4.根据权利要求1-3中任一项所述的方法,其中,获得定义已被分类为包括表征载具附近的环境中的特定对象的传感器数据的传感器数据中的特定空间区域的数据包括:
获得通过使用对象检测神经网络处理传感器数据的至少一部分而生成的数据,以生成定义特定空间区域的数据。
5.根据权利要求1-4中任一项所述的方法,还包括:
除了传感器特征表示的与特定空间区域对应的部分之外,还从传感器数据的与特定空间区域对应的部分生成特定对象的对象特征表示。
6.根据权利要求1-5中的任一项所述的方法,其中,从传感器特征表示的与特定空间区域对应的部分生成特定对象的对象特征表示:
裁剪传感器特征表示的、与特定空间区域对应的部分;以及
使用一个或多个池化操作将所裁剪的传感器特征表示的部分变换为固定大小。
7.根据权利要求1-6中任一项所述的方法,其中,使用定位神经网络处理包括特定对象的对象特征表示的输入,以生成表征特定对象在环境中相对于载具的地点的输出包括:
使用定位神经网络处理包括对象特征表示的输入,以生成包括表征环境中特定对象的中心的位置的坐标的输出,其中所述坐标以相对于载具定义的坐标系来表示。
8.根据权利要求1至7中任一项所述的方法,其中,使用定位神经网络处理包括特定对象的对象特征表示的输入,以生成表征特定对象在环境中相对于载具的地点的输出包括:
使用定位神经网络处理包括对象特征表示的输入,以生成包括距离值的输出,所述距离值表征环境中特定对象距载具的距离。
9.一种系统,包括:
数据处理装置;以及
存储器,与数据处理装置进行数据通信,并存储指令,所述指令使数据处理装置执行根据权利要求1至8中任一项所述的相应方法的操作。
10.一种或多种非暂时性计算机存储介质,其存储指令,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行权利要求1至8中任一项所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/151,880 US11105924B2 (en) | 2018-10-04 | 2018-10-04 | Object localization using machine learning |
US16/151,880 | 2018-10-04 | ||
PCT/US2019/051387 WO2020072193A1 (en) | 2018-10-04 | 2019-09-17 | Object localization using machine learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112823353A true CN112823353A (zh) | 2021-05-18 |
Family
ID=68104754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980065913.2A Pending CN112823353A (zh) | 2018-10-04 | 2019-09-17 | 使用机器学习进行对象定位 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11105924B2 (zh) |
EP (1) | EP3844670A1 (zh) |
CN (1) | CN112823353A (zh) |
WO (1) | WO2020072193A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12100224B1 (en) | 2020-05-21 | 2024-09-24 | Zoox, Inc. | Key point detection |
CN112668460A (zh) * | 2020-12-25 | 2021-04-16 | 北京百度网讯科技有限公司 | 目标检测方法、电子设备、路侧设备和云控平台 |
US20220396289A1 (en) * | 2021-06-15 | 2022-12-15 | Nvidia Corporation | Neural network path planning |
US12014555B2 (en) * | 2022-11-07 | 2024-06-18 | Plusai, Inc. | Vehicle localization based on lane templates |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980814A (zh) * | 2016-01-15 | 2017-07-25 | 福特全球技术公司 | 用显著性地图的行人检测 |
US20180081053A1 (en) * | 2016-09-19 | 2018-03-22 | Nec Laboratories America, Inc. | Video to radar |
US20180173971A1 (en) * | 2016-12-19 | 2018-06-21 | Waymo Llc | Pedestrian detection neural networks |
CN108334081A (zh) * | 2017-01-20 | 2018-07-27 | 福特全球技术公司 | 用于对象检测的循环深度卷积神经网络 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4706693B2 (ja) * | 2007-11-30 | 2011-06-22 | 住友電気工業株式会社 | 車色判定装置、車色判定システム及び車色判定方法 |
US8861842B2 (en) | 2010-02-05 | 2014-10-14 | Sri International | Method and apparatus for real-time pedestrian detection for urban driving |
WO2018052714A2 (en) | 2016-09-19 | 2018-03-22 | Nec Laboratories America, Inc. | Video to radar |
DE102016223422B4 (de) | 2016-11-25 | 2024-05-08 | Continental Autonomous Mobility Germany GmbH | Verfahren zur automatischen Ermittlung extrinsischer Parameter einer Kamera eines Fahrzeugs |
KR20180094725A (ko) * | 2017-02-16 | 2018-08-24 | 삼성전자주식회사 | 자율 주행을 위한 차량 제어 방법, 차량 제어 장치 및 자율 주행을 위한 학습 방법 |
WO2018217563A1 (en) * | 2017-05-20 | 2018-11-29 | Google Llc | Projection neural networks |
EP3435330B1 (en) * | 2017-07-24 | 2021-09-29 | Aptiv Technologies Limited | Vehicule based method of object tracking |
US10628686B2 (en) * | 2018-03-12 | 2020-04-21 | Waymo Llc | Neural networks for object detection and characterization |
US10649459B2 (en) * | 2018-04-26 | 2020-05-12 | Zoox, Inc. | Data segmentation using masks |
-
2018
- 2018-10-04 US US16/151,880 patent/US11105924B2/en active Active
-
2019
- 2019-09-17 CN CN201980065913.2A patent/CN112823353A/zh active Pending
- 2019-09-17 EP EP19780061.8A patent/EP3844670A1/en active Pending
- 2019-09-17 WO PCT/US2019/051387 patent/WO2020072193A1/en unknown
-
2021
- 2021-08-05 US US17/394,861 patent/US20210364637A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980814A (zh) * | 2016-01-15 | 2017-07-25 | 福特全球技术公司 | 用显著性地图的行人检测 |
US20180081053A1 (en) * | 2016-09-19 | 2018-03-22 | Nec Laboratories America, Inc. | Video to radar |
US20180173971A1 (en) * | 2016-12-19 | 2018-06-21 | Waymo Llc | Pedestrian detection neural networks |
CN108334081A (zh) * | 2017-01-20 | 2018-07-27 | 福特全球技术公司 | 用于对象检测的循环深度卷积神经网络 |
Also Published As
Publication number | Publication date |
---|---|
US20200110175A1 (en) | 2020-04-09 |
WO2020072193A1 (en) | 2020-04-09 |
US20210364637A1 (en) | 2021-11-25 |
US11105924B2 (en) | 2021-08-31 |
EP3844670A1 (en) | 2021-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11586213B2 (en) | Trajectory representation in behavior prediction systems | |
CN114080634B (zh) | 使用锚定轨迹的代理轨迹预测 | |
JP7239703B2 (ja) | 領域外コンテキストを用いたオブジェクト分類 | |
US20210364637A1 (en) | Object localization using machine learning | |
US11693415B2 (en) | Predicting cut-in probabilities of surrounding agents | |
US11967103B2 (en) | Multi-modal 3-D pose estimation | |
US11727690B2 (en) | Behavior prediction of surrounding agents | |
US11950166B2 (en) | Predicting occupancy probabilities of surrounding agents | |
US12139172B2 (en) | Predicting near-curb driving behavior on autonomous vehicles | |
US20220355824A1 (en) | Predicting near-curb driving behavior on autonomous vehicles | |
US20230406360A1 (en) | Trajectory prediction using efficient attention neural networks | |
US20220289209A1 (en) | Evaluating multi-modal trajectory predictions for autonomous driving | |
EP3944137A1 (en) | Positioning method and positioning apparatus |
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 |