CN116710977B - 用于构建远程机器学习模型的数据的智能车载选择的自主车辆系统 - Google Patents
用于构建远程机器学习模型的数据的智能车载选择的自主车辆系统 Download PDFInfo
- Publication number
- CN116710977B CN116710977B CN202280008853.2A CN202280008853A CN116710977B CN 116710977 B CN116710977 B CN 116710977B CN 202280008853 A CN202280008853 A CN 202280008853A CN 116710977 B CN116710977 B CN 116710977B
- Authority
- CN
- China
- Prior art keywords
- machine learning
- learning model
- data
- data log
- processor
- 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
- 238000010801 machine learning Methods 0.000 title claims abstract description 98
- 230000006870 function Effects 0.000 claims abstract description 88
- 238000012549 training Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000001514 detection method Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 15
- 230000033001 locomotion Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/20—Image preprocessing
- G06V10/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
- G06V10/7753—Incorporation of unlabelled data, e.g. multiple instance learning [MIL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/778—Active pattern-learning, e.g. online learning of image or video features
-
- 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
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Abstract
公开了用于训练机器学习模型的数据日志的车载选择的系统和方法。该系统包括具有多个传感器和处理器的自主车辆。处理器接收来自多个传感器的多个未标记图像、机器学习模型和与机器学习模型相对应的损失函数。对于多个图像中的每一个,处理器然后使用机器学习模型确定一个或多个预测,基于损失函数和该一个或多个预测来计算重要性函数,并且当重要性函数的值大于阈值时,将该图像发送到远程服务器以更新机器学习模型。
Description
交叉引用和优先权要求
本专利文件要求享有于2021年1月15日提交的美国专利申请号17/150,768的优先权,其全部内容通过引用并入本文。
背景技术
重要的是,自主车辆的操作能够预测或预报对象行为,包括正确地检测自主车辆的环境中的对象。对象行为的准确预报使得自主车辆能够实现预期规划和控制,而不是对其环境做出反应。这使得自主车辆的更自然的驾驶行为以及对其乘客来说改善的舒适性和安全性。
自主车辆从许多传感器收集大量数据,以便执行对象检测和对象行为预测。重要的是获得关于车辆事件的真实世界数据,其可用于开发、评估和/或测试用于车辆控制的系统。然而,感兴趣的真实世界车辆事件是稀疏的并且难以与连续收集的真实世界数据隔离,因为来自驾驶会话的总真实世界数据集通常包含冗余和/或大量与车辆操作相关的不相关或不太相关的信息。
通常,被动学习方法接受随机选择的训练数据。然而,训练数据的这种随机选择需要昂贵的标记,这可能无法改善机器学习模型的训练(例如,当随机选择的训练数据不包括有用信息时)。在主动学习中,选择“有用”数据用于机器学习模型的后续训练,而不是被动地接受随机选择的数据。与被动学习相比,主动学习可以显著减少机器学习模型的训练、测试和/或验证所需的数据量,同时实现与被动学习相似或更好的对象检测(包括分类以及边界框回归)准确度。然而,当前的主动学习方法在选择数据样本期间没有考虑关于自主车辆正在其中操作和/或将在其中操作的环境的信息。
此外,现实世界数据通常在计算网络的“边缘”处(例如,在驾驶期间在车辆中)收集,其中计算功率和存储是被限制(例如,被物理约束、热约束、功率约束等限制),并且通常基本上被处理和/或存储在云中(例如,在远程计算系统处),这可能导致时延和带宽相关的成本。然而,主动学习通常也在远程服务器处执行,并且自主车辆通常难以确定应该处理来自哪些源的哪些图像和/或信息并将其用于训练和标记操作。期望满足云计算处的准确度要求,同时平衡与计算边缘相关联的时延/成本要求。
本文档描述了旨在解决上述问题和/或其他问题的方法和系统。
发明内容
在各种场景中,公开了用于训练机器学习模型的数据日志的车载选择的系统和方法。该系统可以包括自主车辆,该自主车辆具有多个传感器、处理器和非暂时性计算机可读介质,该非暂时性计算机可读介质包括当由处理器执行时可以使处理器执行本公开的方法的编程指令。计算机可读介质和/或编程指令可以可选地包括在计算机程序产品中。
系统可以从多个传感器接收多个未标记的数据日志。系统还可以(例如,从远程服务器)接收机器学习模型和对应于机器学习模型的损失函数。对于多个数据日志中的每一个,系统然后可以使用机器学习模型来确定一个或多个预测,基于损失函数和该一个或多个预测来计算重要性函数,并且当重要性函数的值大于阈值时,将该数据日志发送到远程服务器以更新机器学习模型。可选地,如果重要性函数的值小于阈值,则系统可以丢弃该数据日志。
在各种实施方式中,重要性函数可以是关于机器学习模型的参数计算的基于梯度的重要性函数。机器学习模型的示例利用可微分损失函数(例如,基于神经网络的模型)。附加地和/或替代地,系统可以基于用于构建机器学习模型的所有先前收集的训练数据来确定关于机器学习模型的参数的损失函数。可选地,系统可以通过对损失函数关于机器学习模型的参数取导数来对于该数据日志计算重要性函数。在各种实施方式中,选择阈值,使得当具有大于阈值的重要性函数的值的数据日志被用于更新机器学习时,在该参数的梯度方向上更新机器学习模型的参数。可选地,可以凭经验确定阈值。
在某些实施方式中,可以基于与针对该数据日志的该一个或多个预测的输出相关联的置信水平来确定重要性函数的值。
在一些实施方式中,机器学习模型是对象检测模型,并且数据日志包括图像。在这样的场景中,系统可以使用对象检测模型来确定该一个或多个预测以检测该图像中的对象,并且确定与检测到的对象相对应的边界框和标签。
附图说明
图1是示出示例自主车辆系统的框图。
图2示出了示例车辆控制器系统。
图3图示了根据实施例的用于训练远程机器学习模型的数据的智能车载选择的示例方法的流程图。
图4是包括具有检测到的对象的边界框的示例输出图像。
图5是示出AV和/或外部电子设备的可能的电子系统、子系统、控制器和/或其他组件的各种元件的框图。
具体实施方式
如本文档中所使用的,单数形式“一”、“一个”和“该”包括复数引用,除非上下文另有明确说明。除非另有定义,否则本文使用的所有技术和科学术语具有与本领域普通技术人员通常理解的含义相同的含义。如本文档中所使用的,术语“包含”意指“包括但不限于”。与本文档相关的附加术语的定义包括在本详细描述的末尾。
用于自主车辆的控制和导航的各种算法(诸如用于检测图像中的对象的对象检测算法)使用利用标记数据(例如,训练数据、测试数据、验证数据等)构建的机器学习模型。在这样训练这种模型需要大量的训练数据(即,标记的图像)的同时,由于处理、成本、存储器和传输约束,使用由自主车辆收集的所有或大部分数据是不可行的。通常,被动学习方法接受随机选择的训练数据和/或从专用数据收集驱动器收集的数据。然而,训练数据的这种随机选择需要昂贵的标记,这可能无法改善机器学习模型的训练(例如,当随机选择的训练数据不包括有用信息时)。在主动学习中,选择“有用”数据(例如,具有错误预测标签或不确定预测标签等的图像)用于机器学习模型的后续训练,而不是被动地接受随机选择的数据。与被动学习相比,主动学习可以显著减少所需的训练数据量,同时实现与被动学习相似的分类准确度。
通常,被动和/或主动学习算法在远程计算设备处而不是在数据收集源(例如,收集传感器数据的自主车辆)处执行,并且在选择有用的训练数据之前需要存储和后处理大量非车载(off-board)数据。这还需要存储可能是冗余的(并且可能在稍后的时间被删除的)更大量的车载数据,因为训练数据的选择过程不在自主车辆上执行(实时和/或接近实时)。
本公开的各方面通过在计算边缘(即,收集传感器数据的车辆)处智能地选择原始数据样本(例如,有用和/或重要数据)以用于后续存储、注释和/或被用在远程服务器处构建机器学习模型,来改进机器学习模型的构建(包括训练、测试和/或验证)。
图1是示出示例系统100的框图,该示例系统100包括经由网络110与一个或多个数据存储102和/或一个或多个服务器103通信的自主车辆101。尽管示出了一个自主车辆,但是多个自主车辆可以通过网络110彼此通信地耦合和/或通信地耦合到数据存储102和/或服务器103。网络110可以是任何类型的网络,诸如局域网(LAN)、广域网(WAN)(诸如互联网)、蜂窝网络、卫星网络或其组合,并且可以是有线的或无线的。数据存储102可以是任何种类的数据存储,诸如但不限于地图数据存储、历史信息数据存储、交通信息数据存储、用户信息数据存储、兴趣点数据存储或任何其他类型的内容数据存储。服务器103可以是任何种类的服务器或服务器集群,诸如但不限于Web或云服务器、应用服务器、后端服务器或其组合。
如图1所示,自主车辆101可以包括传感器系统111、车载计算设备112、通信接口114和用户接口115。自主车辆101还可以包括车辆中包括的某些组件(例如,如图2所示),诸如引擎、车轮、方向盘、变速器等,其可以由车载计算设备112使用各种通信信号和/或命令(例如,加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等)来控制。
传感器系统111可以包括一个或多个传感器,该一个或多个传感器耦合到自主车辆101和/或被包括在自主车辆101内,并且被配置用于感测或测量自主车辆的环境的特性。这样的传感器的示例包括但不限于LIDAR系统、无线电检测和测距(RADAR)系统、激光检测和测距(LADAR)系统、声音导航和测距(SONAR)系统、一个或多个相机(例如,可见光谱相机、红外相机等)、温度传感器、位置传感器(例如,全球定位系统(GPS)等)、位置传感器、燃料传感器、运动传感器(例如,惯性测量单元(IMU)等)、湿度传感器、或占用传感器等。传感器数据可以包括描述对象在自主车辆101的周围环境内的位置的信息、关于环境本身的信息、关于自主车辆101的运动的信息、关于自主车辆的路线的信息等。当自主车辆101在表面上行驶时,至少一些传感器可以收集与该表面有关的数据。
LIDAR系统可以包括传感器,该传感器被配置为使用光感测或检测自主车辆101所在的环境中的对象。通常,LIDAR系统是结合光学遥感技术的设备,该光学遥感技术可以通过用光照射目标(例如,地面)来测量到该目标的距离或该目标的其他属性。作为示例,LIDAR系统可以包括被配置为发射激光脉冲的激光源和/或激光扫描仪以及被配置为接收激光脉冲的反射的检测器。例如,LIDAR系统可以包括由旋转镜反射的激光测距仪,并且在一个、两个或更多个维度上围绕正在数字化的场景扫描激光,以指定的角度间隔收集距离测量值。例如,LIDAR系统可以被配置为发射激光脉冲作为光束,并扫描光束以生成二维或三维距离矩阵。在示例中,LIDAR系统可以包括诸如光(例如,激光)源、扫描仪和光学器件、光电检测器和接收器电子器件以及位置和导航系统的组件。在示例中,LIDAR系统可以被配置为使用紫外(UV)、可见光或红外光来对对象进行成像,并且可以与包括非金属对象的宽范围的目标一起使用。在一个示例中,窄激光束可以用于以高分辨率映射对象的物理特征。可以用宽发散激光束以单个脉冲和/或逐点照射视场。
图2示出了用于车辆201(诸如图1的自主车辆101的自主车辆)的示例系统架构。车辆201可以包括发动机或马达202和用于测量车辆和/或其环境的各种参数的各种传感器。两种类型的车辆共有的操作参数传感器包括例如:位置传感器236,诸如加速度计、陀螺仪和/或惯性测量单元;速度传感器238;以及里程表传感器240。车辆201还可以具有时钟242,系统架构在操作期间使用时钟242来确定车辆时间。时钟242可以被编码到交通工具车载计算设备212中,它可以是单独的设备,或者多个时钟可以是可用的。
车辆201还可以包括操作以收集关于车辆正行驶的环境的信息的各种传感器。这些传感器可以包括例如:位置传感器260,诸如GPS设备;对象检测传感器,诸如一个或多个相机262;LIDAR传感器系统264;和/或雷达和/或声纳系统266。传感器还可以包括环境传感器268,诸如降水传感器和/或环境温度传感器。对象检测传感器可以使得车辆201能够检测在车辆201的给定距离或范围内的任何方向上的对象,而环境传感器收集关于车辆的行驶区域内的环境条件的数据。系统架构还将包括用于捕获环境的图像的一个或多个相机262。
在操作期间,信息从传感器传送到车载计算设备212。车载计算设备212分析由传感器捕获的数据,并且可选地基于分析的结果来控制车辆的操作。例如,车载计算设备212可以:经由制动控制器222控制制动;经由转向控制器224控制方向;经由节气门控制器226(在气体动力车辆中)或马达速度控制器228(诸如电动车辆中的电流水平控制器)控制速度和加速度;控制差速齿轮控制器230(在具有变速器的车辆中);和/或控制其他控制器,诸如辅助设备控制器214。
地理位置信息可以从位置传感器220传送到车载计算设备212,车载计算设备212然后可以访问与位置信息相对应的环境的地图,以确定环境的已知固定特征,诸如街道、建筑物、停车标志和/或停车/行进信号。从相机262捕获的图像和/或从诸如LiDAR系统264的传感器捕获的对象检测信息从那些传感器传送到车载计算设备212。对象检测信息和/或捕获的图像可以由车载计算设备212处理,以检测车辆201附近的对象。另外或替代地,车辆201可以将任何数据发送到远程服务器系统103(图1)以进行处理。用于基于传感器数据和/或捕获的图像进行对象检测的任何已知或将要已知的技术可以用于本文档中公开的实施例中。
车载计算设备212可以获得、检索和/或创建地图数据,该地图数据提供关于自主车辆201的周围环境的详细信息。车载计算设备212还可以基于例如三维位置数据(例如,来自GPS的数据)、三维取向数据、预测位置等来确定AV在环境中的位置、取向、位姿等(定位)。例如,车载计算设备212可以接收GPS数据以确定AV的纬度、经度和/或高度位置。其他位置传感器或系统(诸如基于激光的定位系统、惯性辅助GPS或基于相机的定位)也可用于识别车辆的位置。车辆的位置可以包括绝对地理位置(诸如纬度、经度和高度)以及相对位置信息(诸如相对于紧邻其周围的其他汽车的位置,其通常可以以比绝对地理位置更少的噪声来确定)。地图数据可以提供关于以下的信息:不同道路、路段、车道段、建筑物或其他项目的标识和位置;交通车道的位置、边界和方向(例如,特定道路内的停车车道、转弯车道、自行车车道或其它车道的位置和方向)以及与交通车道相关联的元数据;交通控制数据(例如,标志、交通灯或其他交通控制设备的位置和指令);和/或提供帮助车载计算设备212分析自主车辆201的周围环境的信息的任何其他地图数据。地图数据还可以包括用于确定冲突区域或空间中的对象和/或车辆的通行权的信息和/或规则。
在某些实施例中,地图数据还可以包括参考路径信息,该参考路径信息对应于沿着一个或多个车道的车辆行驶的共同模式,使得对象的运动被约束到参考路径(例如,对象通常在其上行驶的车道内的位置)。这样的参考路径可以是预定义的,诸如行车道的中心线。可选地,可以基于在一段时间内对车辆或其他物体的历史观察来生成参考路径(例如,用于直线行驶、车道合并、转弯等的参考路径)。
在某些实施例中,车载计算设备212还可以包括和/或可以接收与用户的行程或路线有关的信息、关于路线的实时交通信息等。
车载计算设备212可以包括路由控制器231和/或可以与路由控制器231通信,该路由控制器231为自主车辆生成从起始位置到目的地位置的导航路线。选路控制器231可以访问地图数据存储以识别车辆可以在其上行驶以从起始位置到达目的地位置的可能路线和路段。路由控制器231可以对可能的路线进行评分并且识别到达目的地的优选路线。例如,路由控制器231可以生成使在路由期间行进的欧几里得距离或其他成本函数最小化的导航路线,并且可以进一步访问可以影响在特定路线上行进将花费的时间量的交通信息和/或估计。取决于实施方式,路由控制器231可以使用各种路由方法(诸如Dijkstra算法、Bellman-Ford算法或其他算法)来生成一个或多个路线。路由控制器231还可以使用交通信息来生成反映路线的预期条件(例如,一周中的当前日期或一天中的当前时间等)的导航路线,使得针对在高峰时间期间行进而生成的路线可以不同于针对在深夜行进而生成的路线。路由控制器231还可以生成到目的地的多于一个导航路线,并且将这些导航路线中的多于一个发送给用户以供用户从各种可能的路线中选择。
在各种实施方式中,车载计算设备212可以确定自主车辆201的周围环境的感知信息。基于由一个或多个传感器提供的传感器数据和所获得的位置信息,车载计算设备212可以确定自主车辆201的周围环境的感知信息。感知信息可以表示普通驾驶员在车辆的周围环境中将感知到的内容。感知数据可以包括与自主车辆201的环境中的一个或多个物体有关的信息。例如,车载计算设备212可以处理传感器数据(例如,LIDAR或RADAR数据、相机图像等),以便识别自主车辆201的环境中的对象和/或特征。对象可以包括交通信号、道路边界、其他车辆、行人和/或障碍物等。车载计算设备212可以使用任何现在或以后已知的对象识别或检测算法、视频跟踪算法和计算机视觉算法(例如,在多个时间段内逐帧迭代地跟踪对象)来确定感知。在实施例中,车载计算设备212可以包括检测和标记对象的对象检测器。示例对象检测器是卷积神经网络(CNN)。对象检测器可以输出图像或点云,其包括围绕检测到的对象的边界框、对象的标签和/或指示检测到的对象被正确标记的置信度的边界框分数。
在一些实施例中,车载计算设备212还可以针对环境中的一个或多个识别的对象确定对象的当前状态。对于每个对象,状态信息可以包括但不限于:当前位置;当前速度和/或加速度、当前航向;当前位姿;当前形状、大小或足迹;类型(例如,车辆VS行人VS自行车VS静态对象或障碍物);和/或其他状态信息。如下文更详细地论述,车载计算设备212还可识别在任何给定时间由对象占用的车道。
车载计算设备212可以执行一个或多个预测和/或预报操作。例如,车载计算设备212可以预测一个或多个对象的未来位置、轨迹和/或动作。例如,车载计算设备212可以至少部分地基于感知信息(例如,每个对象的状态数据,包括如下所讨论的所确定的估计形状和位姿)、位置信息、传感器数据和/或描述对象、自主车辆201、周围环境和/或它们的关系的过去和/或当前状态的任何其他数据来预测对象的未来位置、轨迹和/或动作。例如,如果对象是车辆并且当前驾驶环境包括交叉路口,则车载计算设备212可以预测对象将可能是直接向前移动还是转弯。如果感知数据指示交叉路口没有交通灯,则车载计算设备212还可以预测车辆是否必须在进入交叉路口之前完全停止。
车载计算设备212的预测和/或预报操作还可以用于通过跟踪图像帧序列中的帧之间的先前检测和/或分类的对象来减少需要执行对象识别的数据样本(例如,图像)的数量。在一些示例中,可以经由点跟踪(诸如通过确定性方法(例如,具有基于对象的对象类别的参数约束)或统计方法(例如,卡尔曼滤波))来执行对象跟踪。在一些其他示例中,可以经由内核滤波和内核跟踪(诸如使用基于模板的方法或多视图外观方法)来执行对象跟踪。可选地,可以经由轮廓跟踪(诸如使用形状匹配、边缘匹配和/或轮廓跟踪)来执行对象跟踪。然而,可以使用运动分析来确定对象跟踪和轨迹预测和/或确定,或者以其他方式经由任何合适的方法或技术适当地执行对象跟踪和轨迹预测和/或确定。
在各种实施例中,车载计算设备212可以确定自主车辆的运动计划。例如,车载计算设备212可以基于感知数据和/或预测数据来确定自主车辆的运动计划。具体地,给定关于邻近物体的未来位置的预测和其他感知数据,车载计算设备212可以确定自主车辆201的运动计划,该运动计划相对于在它们的未来位置处的对象最佳地导航该自主车辆。
在一个或多个实施例中,车载计算设备212可以接收预测并做出关于如何处理自主车辆201的环境中的对象的决定。例如,对于特定对象(例如,具有给定速度、方向、转弯角度等的车辆),车载计算设备212基于例如交通状况、地图数据、自主车辆的状态等来决定是否超车、让步、停止和/或通过。此外,车载计算设备212还规划自主车辆201在给定路线上行驶的路径以及驾驶参数(例如,距离、速度和/或转弯角度)。也就是说,对于给定对象,车载计算设备212决定对对象做什么并确定如何做。例如,对于给定对象,车载计算设备212可以决定通过对象并且可以确定是在对象的左侧还是右侧通过(包括诸如速度的运动参数)。车载计算设备212还可以评估检测到的对象与自主车辆201之间的碰撞的风险。如果风险超过可接受的阈值,则可以确定如果自主车辆遵循限定的车辆轨迹和/或实现在预定义的时间段(例如,N毫秒)内执行的一个或多个动态生成的紧急操纵,则是否可以避免碰撞。如果可以避免碰撞,则车载计算设备212可以执行一个或多个控制指令以执行谨慎的操纵(例如,温和地减速、加速、改变车道或转弯)。相反,如果无法避免碰撞,则车载计算设备212可以执行一个或多个控制指令以执行紧急操纵(例如,制动和/或改变行驶方向)。
例如,如果车载计算设备212基于对象轨迹预测确定对象可能破坏与自主车辆的通行权(right of way)协议,则车载计算设备212可以为自主车辆确定避免在冲突空间中与这样的物体碰撞的运动计划。
如上所述,生成关于自主车辆的移动的规划和控制数据以供执行。车载计算设备212可以例如经由制动控制器来控制制动;经由转向控制器的方向;经由节气门控制器(在气体动力车辆中)或马达速度控制器(诸如电动车辆中的电流水平控制器)来控制速度和加速度;控制差速齿轮控制器(在具有变速器的车辆中);和/或控制其他控制器。
在本文档中讨论的各种实施例中,描述可以陈述车辆或包括在车辆中(例如,在车载计算系统中)的控制器可以实现编程指令,该编程指令使得车辆和/或控制器做出决策并使用该决策来控制车辆的操作。然而,实施例不限于这种布置,因为在各种实施例中,分析、做出决策和/或操作控制可以全部或部分地由与车辆的车载计算设备和/或车辆控制系统电子通信的其他计算设备来处理。这样的其他计算设备的示例包括与乘坐在车辆中的人相关联的电子设备(诸如智能电话),以及经由无线通信网络与车辆电子通信的远程服务器。任何这样的设备的处理器可以执行下面将讨论的操作。
返回参考图1,通信接口114可以被配置为允许自主车辆101与外部系统(例如,外部设备、传感器、其他车辆、服务器、数据存储、数据库等)之间的通信。通信接口114可以利用任何现在或以后已知的协议、保护方案、编码、格式、封装等,诸如但不限于Wi-Fi、红外链路、蓝牙等。用户接口系统115可以是在车辆101内实施的外围设备的一部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。
现在参考图3,示出了用于随后传输到远程服务器并用于构建机器学习模型的相关数据的车载选择的示例方法的流程图。该方法可以实时或接近实时地(例如,在记录图像数据时)、在延迟之后或在任何合适的时间执行。该方法可以针对驾驶会话执行预定次数,针对驾驶会话以预定频率迭代地执行,或者在任何合适的时间执行。可以针对多个并发驾驶会话(例如,针对不同的车辆,经由不同的车辆系统)并发地执行该方法的多个实例。然而,可以在任何合适的时间执行任何合适数量的方法实例。应当注意,虽然该方法描述了训练数据的选择,但是本公开不限于此,并且类似的原理可以用于选择测试数据、或验证数据等。
在302处,自主车辆的车载计算设备可以从一个或多个传感器接收原始数据日志。可以在操作(例如,驾驶)期间在安装到车辆的车辆系统处收集(例如,记录、获得等)数据日志。接收到的数据日志是未标记的。这种原始数据日志的示例可以包括但不限于点云、2D图像、3D图像、或音频日志等。数据日志可以包括单个数据点(例如,单个图像、单个点云帧)、数据序列(例如,图像序列、视频、点云帧的突发等)和/或任何其他合适的数据样本。传感器数据的单个“日志”是指由传感器在连续时间段“t”内收集的数据。数据日志可以包括随时间的帧或扫描中的传感器测量数据,诸如周期性地、间歇地、或响应于感测事件等。数据日志的数据可以不断地(例如,连续地)、周期性地、随机地、在发生触发事件(例如,驾驶事件、超过阈值的数据值或信号等)时记录,和/或以任何其他合适的时间特性记录。
在304处,车载计算设备可以接收用于做出与接收到的数据日志有关的预测的机器学习模型。例如,机器学习模型可以是示例对象检测模型(例如,卷积神经网络(CNN)、掩码R-CNN等),其可以用于检测和标记每个接收到的原始数据日志或输出边界框等中的一个或多个对象和/或事件。在一些实施例中,车载计算设备可以从远程服务器接收机器学习模型。可选地,机器学习模型(以及诸如下面讨论的损失函数的相关信息)可以存储在自主车辆的数据存储中(例如,在制造、部署等时)。机器学习模型的其他示例可以包括但不限于车道检测模型、或交通灯检测模型等。应当注意,虽然本公开将基于神经网络的模型描述为示例机器学习模型,但是其不限于此,并且可以使用本公开的原理来生成和/或更新任何现在或以后已知的机器学习模型(例如,利用可微分损失函数的机器学习模型)。
系统还可以接收与所接收的使用现有训练数据训练的机器学习模型相关联的损失函数。机器学习模型的训练可以包括优化目标函数。通常,优化过程涉及迭代地执行模型,并且然后对模型进行微分(即,计算每个模型参数的一阶导数)以调整一个或多个模型参数的值以使目标函数最小化或最大化。优化目标函数可以包括例如最小化损失函数。通常,损失函数是取决于以下各项的函数:(i)在处理给定训练数据项时由机器学习模型生成的输出,以及(ii)该训练数据项的标签,即,机器学习模型应该通过处理训练数据项而生成的目标输出。损失函数可以包括针对错误分类的惩罚,并且惩罚的幅度随着与目标输出的偏差的增加而增加。机器学习模型(例如,神经网络模型)的参数通常使用使损失函数最小化的方法来确定(“学习”)。机器学习模型训练系统可以通过使用例如随机梯度方法或具有反向传播的随机梯度下降等对给定训练数据集(其包括数百个(如果不是更多)数据样本)执行机器学习模型训练技术的多次迭代,以迭代地调整机器学习模型的一个或多个参数的值,来训练机器学习模型以最小化(累积)损失函数。例如,在随机梯度下降中,通过(a)找到损失函数的分析梯度和(b)在梯度的相反方向上少量扰动或移动测试值来迭代地实现优化,直到损失函数最小化。
在示例实施方式中,参数β的损失函数可以表示为:
其中,
mlβ(x|D)是针对参数β、诸如图像或LIDAR点云的原始输入x和训练数据集D优化的机器学习模型(例如,用于输出Y的基于神经网络的预测方法,诸如用于回归任务、分类任务等);
D表示用于训练机器学习模型的整个训练数据集;
xi表示训练数据样本;以及
yi表示当使用机器学习模型分析时对应于训练数据样本xi的目标输出。
在306处,车载计算设备可以使用接收到的机器学习模型来计算针对接收到的数据日志中的每一个的一个或多个预测。例如,车载计算设备可以使用接收到的对象检测模型来检测和标记每个接收到的原始数据日志(例如,点云、相机图像等)中的一个或多个对象和/或事件。对象检测模型可以输出包括围绕检测到的对象的边界框的图像或点云和/或对象的标签。边界框指示未标记的数据日志的被认为包含所识别的对象的区域。因此,边界框可以被分配指示被认为包含在该边界框内的所识别的对象的标签。每个检测到的对象可以由其位置(质心或中心点)、边界、标签类别或甚至大小来表示。在实施例中,对象检测器可以输出包括围绕检测到的对象的边界框的图像或点云和/或检测到的对象的标签。图4中示出包括边界框401a到401n的图像400的实例。如图4所示,边界框包括各种检测到的对象,诸如车辆、交通标志、或行人等。
系统还可以识别与每个边界框和/或所识别的标签相关联的置信分数,该置信分数指示所识别的对象存在于未标记的原始数据的由边界框包围的一部分中的可能性程度或检测到的对象被正确标记的置信度程度。具体地,对象检测模型为每个边界框产生置信分数,该置信分数指示分配给边界框的标签正确(即,与标签相关联的对象被描绘在边界框中)的可能性。可以基于对象检测模型对所识别的对象/标签的分类准确度来生成置信分数。可选地,置信分数分数的值可以是从约0.0至约1.0。
然后,针对接收到的数据日志中的每一个,车载计算设备可以使用损失函数和针对该数据日志的预测来确定(308)重要性函数。系统可以使用例如随机梯度方法或具有反向传播的随机梯度下降等来确定数据日志的重要性函数。应当注意,与在整个训练数据集上计算损失函数关于参数β的导数的损失函数的最小化不同,通过针对单个输入数据日志对损失函数关于参数β取导数来计算重要性函数。例如,使用随机梯度下降函数,可以如下确定重要性函数:
其中,
E[.]是随机期望算子;以及
||.||是可以针对特定用例(例如,针对机器学习模型的类型、对象类别的类型、机器学习模型的算法的类型等)定制的范数(或损失/成本函数)。例如,这可以是标准L1范数、标准L2范数、或仅适用于机器学习模型的神经网络的一个或多个层(例如,最后k个层)的参数的特定范数等。如所讨论的,重要性函数是机器学习模型在特定数据日志处的损失函数的梯度,并且可以在模型的非车载(off board)训练期间提供数据日志对损失函数的影响的测量。由于梯度可以是多维的,因此系统可以通过取范数(即,到原点的距离)来将多维向量变换为单个标量,以测量原始数据日志的重要性(如上述等式所示)。
如果例如将针对数据日志预测的类别的预测概率(例如,上面讨论的边界框的置信分数、条件概率分布等)用作该数据日志的输出Y的条件分布,则可以评估重要性函数的值。
在310处,系统可以确定数据日志的重要性函数的值是否大于阈值。如果数据日志的重要性分数大于(或等于)阈值(110:是),则车载计算设备可以将数据日志传送到远程计算设备以用于构建(即,训练、测试、验证、更新等)机器学习模型(112)。系统可以周期性地、在收集和处理数据日志和/或发生某些事件时(例如,在收集数据收集驱动器时)立即将这样的数据日志发送到远程计算设备。在某些实施例中,系统可以将数据日志临时存储在车载数据存储处(例如,在处理以确定重要性函数之前、在引起将数据日志传输到远程计算设备的事件发生之前、在将数据日志周期性传输到远程计算设备之间的时段期间等)。
如果数据日志的重要性分数小于阈值(110:否),则系统可以不将数据日志发送到远程服务器(114)。可选地,系统可以丢弃重要性分数小于阈值的数据日志。
当数据日志触发可能预测结果的大梯度时,重要性函数的值可以被确定为大于阈值。具体地,可以选择阈值,使得当具有大于阈值的重要性函数的值的图像用于更新机器学习时,可以在该参数的梯度方向上更新机器学习模型的参数(即,更新的机器学习模型的预测精度或其他性能更好)。系统可以基于例如不同对象类别的经验计算、不同机器学习模型、机器学习模型输出、所需精度等来确定阈值。基于重要性函数选择用于构建机器学习模型的数据日志得到其参数(例如,β)将可能在该参数的梯度方向上更新的机器学习模型,而不消耗车载计算设备处的巨大计算资源。应当注意,数据日志的重要性函数的计算和分析可以近似地具有与执行306的预测的步骤类似的计算成本(在所使用的计算功率和资源方面),并且可以由车载计算设备执行(不同于通常不能由车载计算设备执行的在整个训练数据集上的损失函数的计算和最小化)。
由于在自主车辆的实际车载计算系统中存储太多的传感器数据,因此本文公开的主动学习系统有助于减少存储在车载数据库中的数据日志的量,并且在数据库中的数据日志的数量和质量之间找到平衡,以优化系统性能和成本。为了进一步增强全局水平的性能,本教导公开了大型车队中的每个自主车辆上的原位计算机辅助的感知系统可以自动选择适当的有用数据并发送到远程机器学习模型构建/更新服务器。以这种方式,来自不同类型的环境的数十万组标记数据(在车辆运行时生成)在远程机器学习模型构建/更新服务器处被合并,使得机器学习模型可以基于来自不同源的广泛范围的标记数据来更新(并且可以部署回车队中的自主车辆)。因此,车队数据呈现与各种感知条件和情况相关的有意义的数据,可以连续地训练和重新训练全局模型以在不同条件下处理预期任务,同时优化车载计算设备和/或远程服务器处的数据存储和传输成本。
虽然以上描述涉及选择原始或未标记图像以用于后续标记和用于训练执行对象检测的机器学习模型,但是本公开不限于此。特别地,本公开的方法和系统可以用于选择任何种类的原始数据以用于训练许多不同种类的模型,例如但不限于跟踪模型、运动规划模型、预测模型、预测模型、形状估计模型、姿态估计模型、分类和标记模型、分割模型等。
图5描绘了可以包括在系统的任何电子部件中的内部硬件的示例,诸如AV的内部处理系统、外部监测和报告系统或远程服务器。电气总线500用作互连硬件的其他所示组件的信息高速公路。处理器505是系统的中央处理设备,被配置为执行执行编程指令所需的计算和逻辑操作。如本文档和权利要求书中所使用的,术语“处理器”和“处理设备”可以指代单个处理器或共同执行一组操作的一组处理器中的任何数量的处理器,诸如中央处理单元(CPU)、图形处理单元(GPU)、远程服务器或这些的组合。只读存储器(ROM)、随机存取存储器(RAM)、闪存、硬盘驱动器和能够存储电子数据的其他设备构成存储器设备525的示例。存储器设备可以包括单个设备或跨其存储数据和/或指令的设备的集合。本发明的各种实施例可以包括包含编程指令的计算机可读介质,所述编程指令被配置为使得一个或多个处理器和/或设备执行在先前附图的上下文中描述的功能。
可选的显示接口530可以允许来自总线500的信息以视觉、图形或字母数字格式显示在显示设备535上,诸如在车辆的仪表板内显示系统上。还可以提供音频接口和音频输出(诸如扬声器)。与外部设备的通信可以使用各种通信设备540发生,诸如无线天线、射频识别(RFID)标签和/或短程或近场通信收发器,其中的每一个可以可选地经由一个或多个通信系统与设备的其他组件通信地连接。(一个或多个)通信设备540可以被配置为通信地连接到通信网络,诸如互联网、局域网或蜂窝电话数据网络。
硬件还可以包括用户接口传感器545,其允许从诸如键盘或小键盘、操纵杆、触摸屏、触摸板、遥控器、定点设备和/或麦克风的输入设备550接收数据。还可从可捕获视频和/或静止图像的相机520接收数字图像帧。系统还可以从诸如加速度计、陀螺仪或惯性测量单元的运动和/或位置传感器570接收数据。系统还可以从LiDAR系统560接收数据,诸如本文档中先前描述的LiDAR系统。
上面公开的特征和功能以及替代方案可以组合到许多其他不同的系统或应用中。各种组件可以在硬件或软件或嵌入式软件中实现。本领域技术人员可以进行各种目前未预见或未预期的替代、修改、变化或改进,其中的每一个也旨在由所公开的实施例涵盖。
与上面提供的公开内容相关的术语包括:
“自动化设备”或“机器人设备”是指包括处理器、编程指令和一个或多个物理硬件组件的电子设备,所述物理硬件组件响应于来自处理器的命令可以在最小或没有人为干预的情况下移动。通过这种移动,机器人设备可以执行一个或多个自动功能或功能集。这种操作、功能或任务的示例可以包括但不限于操作轮子或螺旋桨以实现驾驶、飞行或其他运输动作,操作机器人升降机以进行装载、卸载、医疗相关过程、建筑相关过程等。示例自动化设备可以包括但不限于自主车辆、无人机和其他自主机器人设备。
术语“车辆”是指能够承载一个或多个人类乘员和/或货物并且由任何形式的能量提供动力的任何移动形式的运输工具。术语“车辆”包括但不限于汽车、卡车、货车、火车、自主车辆、飞机、空中无人机等。“自主车辆”是具有处理器、编程指令和传动系部件的车辆,所述编程指令和传动系部件可由处理器控制而不需要人类操作者。自主车辆可以是完全自主的,因为它对于大多数或所有驾驶条件和功能不需要人类操作者,或者它可以是半自主的,因为在某些条件下或对于某些操作可能需要人类操作者,或者人类操作者可以超控车辆的自主系统并且可以控制车辆。自主车辆还包括其中自主系统增强车辆的人工操作的车辆,诸如具有驾驶员辅助转向、速度控制、制动、停车和其他系统的车辆。
术语“机器学习模型”或“模型”是指一组算法例程和参数,其可以基于一组输入特征来预测现实世界过程的输出(例如,对象轨迹的预测、患者的诊断或治疗、基于用户搜索查询的合适推荐等),而无需明确编程。可以在训练过程中确定软件例程的结构(例如,子例程的数量和它们之间的关系)和/或参数的值,该训练过程可以使用正在建模的现实世界过程的实际结果。这样的系统或模型被理解为必然植根于计算机技术,并且事实上,在没有计算技术的情况下不能实现或甚至存在。虽然机器学习系统利用各种类型的统计分析,但是机器学习系统与统计分析的区别在于在没有显式编程的情况下学习并且植根于计算机技术的能力。
典型的机器学习流水线可以包括从样本数据集(称为“训练集”)构建机器学习模型,针对一个或多个附加样本数据集(称为“验证集”和/或“测试集”)评估模型以决定是否保持模型并对模型有多好进行基准测试,以及在“生产”中使用模型来针对由应用服务捕获的实时输入数据进行预测或决策。
术语“边界框”是指表示对象的位置的矩形框。边界框可以在数据中由对应于框的第一角(诸如右上角)的x轴和y轴坐标[xmax,ymax]以及对应于矩形的与第一角相对的角(诸如左下角)的x轴和y轴坐标[xmin,ymin]来表示。它可以被计算为包含对象的所有点的最小矩形,可选地加上附加空间以允许误差裕度。对象的点可以是由一个或多个传感器检测到的点,诸如由相机捕获的图像的像素,或者由激光雷达传感器捕获的点云的点。
“电子设备”或“计算设备”是指包括处理器和存储器的设备。每个设备可以具有其自己的处理器和/或存储器,或者处理器和/或存储器可以与虚拟机或容器布置中的其他设备共享。存储器将包含或接收编程指令,该编程指令在由处理器执行时使电子设备根据编程指令执行一个或多个操作。
术语“存储器”、“存储器设备”、“数据存储”、“数据存储设施”等各自是指其上存储计算机可读数据、编程指令或两者的非暂时性设备。除非另有特别说明,否则术语“存储器”、“存储器设备”、“数据存储”、“数据存储设施”等旨在包括单个设备实施例、其中多个存储器设备一起或共同存储一组数据或指令的实施例、以及这些设备内的各个扇区。
术语“处理器”和“处理设备”是指被配置为执行编程指令的电子设备的硬件组件。除非另有特别说明,否则单数术语“处理器”或“处理设备”旨在包括单个处理设备实施例和多个处理设备一起或共同执行过程的实施例。
在本文档中,术语“通信链路”和“通信路径”意指第一设备经由其向一个或多个其他设备发送通信信号和/或从一个或多个其他设备接收通信信号的有线或无线路径。如果设备能够经由通信链路发送和/或接收数据,则设备“通信地连接”或“通信地耦合”。“电子通信”是指经由两个或更多个电子设备之间的一个或多个信号的数据传输,无论是通过有线还是无线网络,并且无论是直接还是间接地经由一个或多个中间设备。
在本文档中,当诸如“第一”和“第二”的顺序的相对术语用于修饰名词时,这种使用仅旨在将一个项目与另一个项目区分开,并且不旨在要求顺序的顺序,除非特别说明。
另外,当使用时,诸如“竖直”和“水平”或“前”和“后”的相对位置术语旨在相对于彼此并且不需要是绝对的,并且仅指代与这些术语相关联的设备的一个可能位置,这取决于设备的取向。当本文档使用术语“前”、“后”和“侧”来指代车辆的区域时,它们指代相对于车辆的默认行驶区域的车辆区域。例如,汽车的“前部”是与车辆的尾灯相比更靠近车辆的前照灯的区域,而汽车的“后部”是与车辆的前照灯相比更靠近车辆的尾灯的区域。此外,术语“前”和“后”不一定分别限于面向前或面向后的区域,而是还包括比后更靠近前的侧区域,反之亦然。车辆的“侧面”旨在指代在车辆的最前面部分与最后面部分之间的面向侧面的区段。
Claims (22)
1.一种用于主动选择用于训练机器学习模型的数据的方法,包括由自主车辆的车载计算设备:
从自主车辆的多个传感器接收多个未标记的数据日志;
从远程服务器接收:
所述机器学习模型,以及
与所述机器学习模型相对应的损失函数;以及
针对所述多个未标记的数据日志中的每个未标记的数据日志:
使用所述机器学习模型确定针对该数据日志的一个或多个预测,
基于损失函数和针对该数据日志的一个或多个预测来计算该数据日志的重要性函数,以及
当所述重要性函数的值大于阈值时,将该数据日志发送到所述远程服务器以用于更新所述机器学习模型。
2.根据权利要求1所述的方法,其中,所述重要性函数是关于所述机器学习模型的参数计算的基于梯度的重要性函数。
3.根据权利要求2所述的方法,其中,所述机器学习模型利用可微分损失函数。
4.根据权利要求2所述的方法,还包括:基于用于构建所述机器学习模型的所有先前收集的训练数据,确定关于所述机器学习模型的参数的损失函数。
5.根据权利要求4所述的方法,还包括:基于所述损失函数和针对该数据日志的所述一个或多个预测,通过对所述损失函数关于所述机器学习模型的所述参数取导数来针对该数据日志计算所述重要性函数。
6.根据权利要求5所述的方法,还包括确定所述阈值,使得对用于更新所述机器学习模型的、具有大于所述阈值的所述重要性函数的值的数据日志的使用使所述机器学习模型的所述参数在所述参数的梯度方向上被更新。
7.根据权利要求6所述的方法,其中,所述阈值是根据经验确定的。
8.根据权利要求5所述的方法,其中,
基于与针对该数据日志的所述一个或多个预测的输出相关联的置信水平来确定所述重要性函数的值。
9.根据权利要求1所述的方法,还包括:当所述重要性函数的值小于所述阈值时,丢弃该数据日志。
10.根据权利要求1所述的方法,其中,所述机器学习模型是对象检测模型,并且该数据日志包括图像。
11.根据权利要求10所述的方法,其中,确定所述一个或多个预测包括使用所述对象检测模型来:
检测所述图像中的对象;以及
确定与所检测到的对象相对应的边界框和标签。
12.一种用于训练机器学习模型的数据日志的车载选择的系统,包括:
自主车辆,包括:
多个传感器,
处理器,以及
非暂时性计算机可读介质,所述非暂时性计算机可读介质包括一个或多个编程指令,所述一个或多个编程指令在由所述处理器执行时将使所述处理器:
从所述多个传感器接收多个未标记的数据日志,
从远程服务器接收:
机器学习模型,以及
与所述机器学习模型相对应的损失函数,以及
针对所述多个未标记的数据日志中的每个未标记的数据日志:
使用所述机器学习模型确定针对该数据日志的一个或多个预测,
基于所述损失函数和针对该数据日志的所述一个或多个预测来计算针对该数据日志的重要性函数,以及
当所述重要性函数的值大于阈值时,将该数据日志发送到所述远程服务器以用于更新所述机器学习模型。
13.根据权利要求12所述的系统,其中,所述重要性函数是关于所述机器学习模型的参数计算的基于梯度的重要性函数。
14.根据权利要求13所述的系统,其中,所述机器学习模型利用可微分损失函数。
15.根据权利要求13所述的系统,还包括编程指令,所述编程指令在由所述处理器执行时将使所述处理器基于用于构建所述机器学习模型的所有先前收集的训练数据来确定关于所述机器学习模型的所述参数的所述损失函数。
16.根据权利要求15所述的系统,还包括编程指令,所述编程指令在由所述处理器执行时将使所述处理器基于所述损失函数和针对该数据日志的所述一个或多个预测,通过对所述损失函数相对于所述机器学习模型的所述参数取导数来针对该数据日志计算所述重要性函数。
17.根据权利要求16所述的系统,还包括编程指令,所述编程指令在由所述处理器执行时将使所述处理器确定所述阈值,使得对用于更新所述机器学习模型的具有大于所述阈值的所述重要性函数的值的数据日志的使用使所述机器学习模型的所述参数在所述参数的梯度方向上被更新。
18.根据权利要求17所述的系统,其中,所述阈值是凭经验确定的。
19.根据权利要求16所述的系统,其中,所述重要性函数的值是基于与针对该数据日志的所述一个或多个预测的输出相关联的置信水平来确定的。
20.根据权利要求12所述的系统,还包括编程指令,所述编程指令在由所述处理器执行时将使所述处理器在所述重要性函数的值小于所述阈值时丢弃该数据日志。
21.根据权利要求12所述的系统,其中,所述机器学习模型是对象检测模型,并且该数据日志包括图像。
22.根据权利要求21所述的系统,其中当由所述处理器执行时将使所述处理器确定所述一个或多个预测的所述编程指令包括当由所述处理器执行时将使所述处理器使用所述对象检测模型进行以下操作的编程指令:
检测所述图像中的对象;以及
确定与所检测到的对象相对应的边界框和标签。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/150,768 | 2021-01-15 | ||
US17/150,768 US11657591B2 (en) | 2021-01-15 | 2021-01-15 | Autonomous vehicle system for intelligent on-board selection of data for building a remote machine learning model |
PCT/US2022/070193 WO2022155671A1 (en) | 2021-01-15 | 2022-01-14 | Autonomous vehicle system for intelligent on-board selection of data for building a remote machine learning model |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116710977A CN116710977A (zh) | 2023-09-05 |
CN116710977B true CN116710977B (zh) | 2024-04-16 |
Family
ID=82405749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280008853.2A Active CN116710977B (zh) | 2021-01-15 | 2022-01-14 | 用于构建远程机器学习模型的数据的智能车载选择的自主车辆系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11657591B2 (zh) |
EP (1) | EP4278300A1 (zh) |
CN (1) | CN116710977B (zh) |
WO (1) | WO2022155671A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102619621B1 (ko) * | 2018-02-07 | 2023-12-29 | 삼성전자주식회사 | 챗봇과 대화하기 위한 전자 장치 및 그의 동작 방법 |
CN112912282A (zh) * | 2018-11-27 | 2021-06-04 | 住友电气工业株式会社 | 车辆故障预测系统、监视装置、车辆故障预测方法及车辆故障预测程序 |
US20220188695A1 (en) * | 2020-12-16 | 2022-06-16 | Argo AI, LLC | Autonomous vehicle system for intelligent on-board selection of data for training a remote machine learning model |
EP4047515B1 (en) * | 2021-02-19 | 2023-10-11 | Zenseact AB | Platform for perception system development for automated driving systems |
US20220317305A1 (en) * | 2021-03-31 | 2022-10-06 | Gm Cruise Holdings Llc | Single Click Box Prediction for Temporal Lidar Labeling Automation |
CN116208669B (zh) * | 2023-04-28 | 2023-06-30 | 湖南大学 | 基于智慧灯杆的车载异构网络协同任务卸载方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378483A (zh) * | 2018-04-12 | 2019-10-25 | 百度(美国)有限责任公司 | 部署在模拟平台上的用于训练机器学习模型的系统和方法 |
CN110520871A (zh) * | 2017-02-24 | 2019-11-29 | 渊慧科技有限公司 | 训练机器学习模型 |
CN111738454A (zh) * | 2020-08-28 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种目标检测方法、装置、存储介质及设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1981446B (zh) | 2004-03-23 | 2010-10-06 | 加利福尼亚大学董事会 | 用于改善网络上采集的传感器数据的可靠性的设备和方法 |
US9031317B2 (en) | 2012-09-18 | 2015-05-12 | Seiko Epson Corporation | Method and apparatus for improved training of object detecting system |
US10499283B2 (en) | 2015-07-01 | 2019-12-03 | Red Hat, Inc. | Data reduction in a system |
EP3342137B1 (en) | 2015-08-27 | 2021-06-02 | Foghorn Systems, Inc. | Edge intelligence platform, and internet of things sensor streams system |
AU2018269941A1 (en) | 2017-05-14 | 2019-12-05 | Digital Reasoning Systems, Inc. | Systems and methods for rapidly building, managing, and sharing machine learning models |
US10417528B2 (en) | 2018-02-18 | 2019-09-17 | Sas Institute Inc. | Analytic system for machine learning prediction model selection |
WO2019165381A1 (en) | 2018-02-23 | 2019-08-29 | Nauto, Inc. | Distributed computing resource management |
EP3591621A1 (en) | 2018-07-02 | 2020-01-08 | MasterCard International Incorporated | Methods for generating a dataset of corresponding images for machine vision learning |
US11237549B2 (en) | 2018-09-10 | 2022-02-01 | Aveva Software, Llc | Utilization edge module server system and method |
US11508049B2 (en) * | 2018-09-13 | 2022-11-22 | Nvidia Corporation | Deep neural network processing for sensor blindness detection in autonomous machine applications |
US11651227B2 (en) * | 2018-10-05 | 2023-05-16 | Sri International | Trusted neural network system |
KR102593948B1 (ko) | 2019-01-23 | 2023-10-25 | 모셔널 에이디 엘엘씨 | 주석 달기를 위한 데이터 샘플의 자동 선택 |
US20200242511A1 (en) * | 2019-01-30 | 2020-07-30 | Oracle International Corporation | Dynamic Data Selection for a Machine Learning Model |
US20210295201A1 (en) * | 2020-03-17 | 2021-09-23 | Google Llc | Fast Adaptive Optimization |
CN111914944B (zh) | 2020-08-18 | 2022-11-08 | 中国科学院自动化研究所 | 基于动态样本选择和损失一致性的物体检测方法和系统 |
US11769318B2 (en) * | 2020-11-23 | 2023-09-26 | Argo AI, LLC | Systems and methods for intelligent selection of data for building a machine learning model |
-
2021
- 2021-01-15 US US17/150,768 patent/US11657591B2/en active Active
-
2022
- 2022-01-14 WO PCT/US2022/070193 patent/WO2022155671A1/en active Application Filing
- 2022-01-14 CN CN202280008853.2A patent/CN116710977B/zh active Active
- 2022-01-14 EP EP22740261.7A patent/EP4278300A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110520871A (zh) * | 2017-02-24 | 2019-11-29 | 渊慧科技有限公司 | 训练机器学习模型 |
CN110378483A (zh) * | 2018-04-12 | 2019-10-25 | 百度(美国)有限责任公司 | 部署在模拟平台上的用于训练机器学习模型的系统和方法 |
CN111738454A (zh) * | 2020-08-28 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种目标检测方法、装置、存储介质及设备 |
Non-Patent Citations (1)
Title |
---|
Prediction of Traffic Crash Severity Using Deep Neural Networks: A Comparative Study;Khaled Assi;2020 International Conference on Innovation and Intelligence for Informatics, Computing and Technologies (3ICT);20201231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022155671A1 (en) | 2022-07-21 |
US11657591B2 (en) | 2023-05-23 |
EP4278300A1 (en) | 2023-11-22 |
CN116710977A (zh) | 2023-09-05 |
US20220230021A1 (en) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116710977B (zh) | 用于构建远程机器学习模型的数据的智能车载选择的自主车辆系统 | |
US11769318B2 (en) | Systems and methods for intelligent selection of data for building a machine learning model | |
US20220188695A1 (en) | Autonomous vehicle system for intelligent on-board selection of data for training a remote machine learning model | |
US11841927B2 (en) | Systems and methods for determining an object type and an attribute for an observation based on fused sensor data | |
WO2022072412A1 (en) | Methods and systems for performing outlet inference by an autonomous vehicle to determine feasible paths through an intersection | |
US11577732B2 (en) | Methods and systems for tracking a mover's lane over time | |
CN116745187A (zh) | 通过可行驶区域边界的语义分割来预测不确定道路使用者的轨迹的方法和系统 | |
WO2022165498A1 (en) | Methods and system for generating a lane-level map for an area of interest for navigation of an autonomous vehicle | |
CN116670008A (zh) | 用于构建用于辅助自主车辆在交叉路口导航的数据表示的方法和系统 | |
CN116783105A (zh) | 自主车辆的车载反馈系统 | |
CN116670609A (zh) | 用于预测自主车辆的未来状态的系统 | |
CN116324662B (zh) | 用于跨自主车队执行结构化测试的系统 | |
US20220212694A1 (en) | Methods and systems for generating a longitudinal plan for an autonomous vehicle based on behavior of uncertain road users | |
WO2022076157A1 (en) | Autonomous vehicle system for detecting pedestrian presence | |
EP4148600A1 (en) | Attentional sampling for long range detection in autonomous vehicles | |
US11358598B2 (en) | Methods and systems for performing outlet inference by an autonomous vehicle to determine feasible paths through an intersection | |
EP4141482A1 (en) | Systems and methods for validating camera calibration in real-time |
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 |