使用视觉图像估计对象属性

文档序号:1879197 发布日期:2021-11-23 浏览:6次 >En<

阅读说明:本技术 使用视觉图像估计对象属性 (Estimating object properties using visual images ) 是由 J·A·穆斯克 S·K·萨海 A·K·埃卢斯瓦米 于 2020-02-07 设计创作,主要内容包括:一种系统,该系统包括一个或多个处理器,该一个或多个处理器被耦合到存储器。该一个或多个处理器被配置为接收基于使用车辆的相机捕获的图像的图像数据,并且还被配置为使用图像数据作为经训练的机器学习模型的输入的基础,以至少部分地标识对象距车辆的距离。经训练的机器学习模型已经使用训练图像和发射距离传感器的相关输出而被训练。(A system includes one or more processors coupled to a memory. The one or more processors are configured to receive image data based on images captured using a camera of the vehicle, and further configured to use the image data as a basis for input to a trained machine learning model to at least partially identify a distance of an object from the vehicle. The trained machine learning model has been trained using training images and correlation outputs of the transmitted distance sensors.)

使用视觉图像估计对象属性

相关申请的交叉引用

本申请是2019年2月19日提交的美国专利申请号为16/279,657、题为“使用视觉图像数据估计对象属性”的继续申请并且要求其优先权,其公开内容通过引用整体并入本文。

背景技术

自主驾驶系统通常依赖于在车辆上安装许多传感器,包括视觉传感器和发射距离传感器(例如,雷达传感器、激光雷达传感器、超声波传感器等)的集合。之后,由每个传感器捕获的数据被聚集来帮助了解该车辆的周围环境并且确定如何控制车辆。视觉传感器可以被用于从捕获的图像数据中标识物体并且发射距离传感器(emitting distance sensor)可以被用于确定被检测的物体的距离。转向和速度调整可以根据检测到的障碍物和清晰的可行驶路径被应用。但随着传感器数量和类型的增加,系统的复杂性和成本也随之增加。例如,将激光雷达等发射距离传感器包含在大众市场车辆中通常成本很高。此外,每个附加的传感器都会增加自主驾驶系统的输入带宽要求。因此,需要找到车辆上传感器的最佳配置。该配置应当限定传感器的总数,而不限定捕获的数据的数量和类型,以准确地描述周围环境并且安全控制车辆。

发明内容

一个实施例包括一种系统。该系统包括一个或多个处理器,该一个或多个处理器被配置为:接收基于使用车辆的相机捕获的图像的图像数据;以及使用图像数据作为经训练的机器学习模型的输入的基础,以至少部分地标识对象距车辆的距离;其中该经训练的机器学习模型已经使用训练图像和发射距离传感器的相关输出而被训练;以及存储器,该存储器与一个或多个处理器耦合。

另一个实施例包括一种计算机程序产品,被实现在非暂态计算机可读存储介质中并且包括计算机指令。计算机指令用于基于使用车辆的相机捕获的图像来接收图像数据;并且利用图像数据作为经训练的机器学习模型的输入的基础以至少部分地标识对象距车辆的距离,其中该经训练的机器学习模型已经使用训练图像和发射距离传感器的相关输出而被训练。

又一实施例包括一种方法。该方法包括接收基于使用车辆的相机捕获的图像所选择的图像;接收基于车辆的发射距离传感器的距离数据;使用该所选择的图像作为经训练的机器学习模型的输入来标识对象;从所接收到的距离数据中提取所标识的对象的距离估计;通过以所提取的距离估计注释所选择的图像来创建训练图像;使用包括训练图像的训练数据集来训练第二机器学习模型以预测距离测量;以及将经训练的第二机器学习模型提供给配备有第二相机的第二车辆。

附图说明

在以下详细描述和附图中公开了本发明的各种实施例。

图1是示出用于自主驾驶的深度学习系统的实施例的框图。

图2是示出用于为预测对象属性而创建训练数据的方法的实施例的流程图。

图3是示出训练和应用机器学习模型用于自主驾驶的过程的实施例的流程图。

图4是示出训练和应用用于自主驾驶的机器学习模型的方法的实施例的流程图。

图5是示出捕获用于训练机器学习网络的辅助传感器数据的示例的示图。

图6是示出预测对象属性的示例的示图。

具体实施方式

本发明可以以多种方式实施,包括作为一个过程、一种仪器、一个系统、一种物质的组成、一种包含在计算机可读存储介质上的计算机程序产品、和/或一个处理器,例如被配置为执行存储在被耦合到处理器的存储器上的指令和/或由被耦合到处理器的存储器提供的指令。在本说明书中,这些实施方式或本发明可以采用的任何其他形式可以被称为技术。通常,在本发明的范围内可以改变所公开过程的步骤的顺序。除非另有说明,描述的被配置为执行任务的诸如处理器或存储器之类的部件可以被实现为通用部件,该通用部件被临时配置为在给定时间执行任务,或者特定部件,该特定部件被制造为执行任务。如本文所用,术语“处理器”是指一个或多个设备、电路和/或处理核心,该处理核心被配置为处理数据,例如计算机程序指令。

下面提供对本发明的一个或多个实施例的详细描述以及说明本发明原理的附图。结合这些实施例描述了本发明,但本发明不限于任何实施例。本发明的范围仅由权利要求限定,并且本发明包括许多备选、修改和等同物。在以下描述中阐述了许多具体细节以提供对本发明的透彻理解。这些细节是为了举例的目的而提供的,并且本发明可以根据权利要求来实践,而无需这些特定细节中的一些或全部。为清楚起见,与本发明相关的技术领域中已知的技术材料并未被详细描述,以免不必要地混淆本发明。

公开了一种机器学习训练技术,该机器学习训练技术用于产生从视觉数据的高度精确的机器学习结果。使用辅助传感器数据,例如雷达和激光雷达结果,将该辅助数据与从视觉数据中标识的对象相关联以准确估计对象属性,例如对象距离。在各种实施例中,辅助数据与视觉数据的收集和关联是自动完成的并且几乎不需要人工干预(如果有的话)。例如,使用视觉技术标识的对象不需要被人工标注,显著提高了机器学习训练的效率。相反,训练数据可以被自动生成并且被用于经训练的机器学习模型以高度准确地预测对象属性。例如,可以从一个车队车辆自动地收集数据,通过收集的快照的视野数据和相关联的相关数据,例如雷达数据。在一些实施例中,仅对与视觉-雷达有关的关联目标的子集进行采样。从车队车辆的收集融合数据被自动收集并且被用于训练神经网络以模拟捕获数据。经训练的机器学习模型可以被部署到车辆上,仅使用视觉数据就可以准确预测物体属性,例如距离、方向和速度。例如,一旦机器学习模型已经被训练为能够在不需要专用距离传感器的情况下使用相机的图像确定物体距离,则可能不再需要在自主车辆中包含专用距离传感器。当与专用距离传感器结合使用时,该机器学习模型可以被用作冗余或次要距离数据源,以提高准确性和/或提供容错能力。标识出的对象和相应的属性可以被用于实现自主驾驶功能,例如车辆的自主驾驶或驾驶员辅助操作。例如,可以控制自主车辆以避免并入车辆,该并入车辆由使用所公开的技术而被标识。

一种系统,该系统包括被耦合到存储器的一个或多个处理器,该系统被配置为接收基于使用车辆的相机捕获的图像的图像数据。例如,安装在自主车辆上的诸如人工智能(AI)处理器的处理器从诸如车辆的前置相机的相机接收图像数据。附加相机、如侧向和后置相机也可以被使用。图像数据被用作机器学习训练模型的输入的基础,以至少部分地标识对象距车辆的距离。例如,捕获的图像被用作机器学习模型的输入,例如在AI处理器上运行的深度学习网络模型。该模型被用于预测图像数据中标识的对象的距离。周围对象,例如车辆及行人,可以从图像数据中被标识并且准确度和方向使用深度学习系统被推断。在各种实施例中,训练的机器学习模型已使用训练图像和发射距离传感器的相关输出而被训练。发射距离传感器可以发射信号(例如无线电信号、超声波信号、光信号等)以检测对象到该传感器的距离。例如,被安装在车辆上的雷达传感器会发射雷达来标识周围障碍物的距离和方向。然后使距离与从车辆相机捕获的训练图像中标识的对象相关。相关联的训练图像使用距离测量值进行注释,并且被用于经训练的机器学习模型。在一些实施例中,该模型被用于预测附加属性,例如对象的速度。例如,由雷达确定的对象速度与训练图像中的对象相关联,以经训练的机器学习模型来预测对象的速度和方向。

在一些实施例中,车辆配备有传感器以捕获车辆的环境和车辆操作参数。捕获的数据包括视觉数据(例如视频和/或静止图像)和附加辅助数据,例如雷达、激光雷达、惯性、音频、里程计、位置和/或其他形式的传感器数据。例如,传感器数据可以捕获车辆、行人、车道线、车辆交通、障碍物、交通控制标志、交通声音等。里程计和其他类似的传感器捕获车辆运行参数,诸如车速、转向、方向、方向变化、位置变化、海拔变化、速度变化等。所捕获的视觉和辅助数据从车辆被发送到训练服务器以创建训练数据集。在一些实施例中,发送的视觉和辅助数据被关联并且被用于自动生成训练数据。训练数据被用于经训练的机器学习模型以生成高度准确的机器学习结果。在一些实施例中,捕获数据的时间序列被用于生成训练数据。基于一组时间序列元素确定真实值(ground truth),并且真实值被用于注释来自该组的至少一个元素,诸如单个图像。例如,一系列图像和雷达数据是针对一段时间(例如30秒)而被捕获的。从图像数据中被标识并且跨时间序列跟踪的车辆,与对应的该时间序列的雷达距离和方向相关联。在分析该时间序列捕获的图像和距离数据之后,相关联的辅助数据(例如雷达距离数据)与车辆相关联。通过跨时间序列来分析图像和辅助数据,诸如例如具有相似距离的多个对象的歧义,可以以高精确度解析,用以确定真实值。例如,在一个车辆遮挡另一个车辆的事件中或者当两个车辆紧靠在一起时,仅使用单一的捕获图像,有可能只存在不足以准确估计两个车辆的不同距离的对应雷达数据。然而,通过随时间序列来跟踪车辆,由雷达标识的距离可以被恰当地与正确车辆相关联,当分离的车辆在不同方向行进和/或以不同的速度行进等。在各种实施例中,一旦辅助数据恰当地与对象相关联,时间序列的一个或多个图像被转换为训练图像并且被相应的真实值(例如距离、速度和/或其他适当的对象属性)注释。

在各种实施例中,使用辅助传感器数据训练的机器学习模型在不需要物理辅助传感器的情况下,可以准确地预测辅助传感器的结果。例如,训练车辆可以配备有辅助传感器,包括昂贵和/或难以操作的传感器,该辅助传感器用于收集训练数据。然后,训练数据可以被用于经训练的机器学习模型来预测辅助传感器(例如雷达、激光雷达或另一传感器)的结果。然后该训练模型被部署到车辆,例如车辆生产,该车辆只需要视觉传感器。辅助传感器是不被需要的,但辅助传感器可以被作为次要数据源使用。减少传感器的数目有许多优点,包括重新校准传感器的困难、维护传感器、附加的传感器的成本和/或附加的带宽、和附加的传感器的计算要求等。在一些实施例中,训练模型在辅助传感器失效的情况下使用。相反于依赖附加的辅助传感器,经训练的机器学习模型使用来自一个或多个视觉传感器的输入来预测辅助传感器的结果。预测结果可以被用于实现自主驾驶特征,该自主驾驶特征需要检测对象(例如,行人、静止车辆、移动车辆、路缘石、障碍物、道路障碍等)以及对象的距离和方向。预测的结果可以被用于检测交通控制对象(例如交通灯、交通标志、街道指示牌等)的距离和方向。虽然视觉传感器和对象距离在前面的实施例中被使用,但备选的传感器和预测的属性也是可能的。

图1是示出了一种自主驾驶的深度学习系统的实施例的框图。深度学习系统包括不同部件,该不同部件可以一起使用来用于车辆的自主驾车和/或驾驶员辅助操作,以及用于收集和处理用于经训练的机器学习模型的数据。在各种实施例中,深度学习系统被安装在车辆上并且从车辆捕获的数据可以被用于训练以及提高该车辆或其他类似的车辆的深度学习系统。深度学习系统可以被用于实现自主驾驶功能,该自主驾驶功能包括使用视觉数据作为输入来标识对象和预测对象属性例如距离和方向。

在所示示例中,深度学习系统100是深度学习网络,该深度学习系统包括视觉传感器101、附加传感器103、图像预处理器105、深度学习网络107、人工智能(AI)处理器109、车辆控制模块111和网络接口113。在各种实施例中,不同的部件被通信地连接。例如,从视觉传感器101捕获的图像数据被反馈到图像预处理器105。图像预处理器105的处理过的传感器数据被反馈到正在AI处理器109上运行的深度学习网络107。在一些实施例中,来自附加传感器103的传感器数据被当作输入发送至深度学习网络107。正在AI处理器上109的运行深度学习网络107的输出被反馈到车辆控制模块111。在各种实施例中,车辆控制模块111被连接到车辆上并且控制车辆的操作,例如车辆的速度、制动和/或转向等。在各种实施例中,传感器数据和/或机器学习结果可以经由网络接口113被发送到远程服务器(未示出)。例如,传感器数据,例如从视觉传感器101和/或附加传感器103被捕获的数据,可以通过网络接口113被发送到远程训练服务器,以收集训练数据,该训练数据用于提高车辆的性能、舒适度和/或安全性。在各种实施例中,网络接口113基于车辆的操作等原因被用于与远程服务器:通信、拨打电话、发送和/或接收文本消息、以及发送传感器数据。在一些实施例中,深度学习系统100可以视情况包括附加的或更少的部件。例如,在一些实施例中,图像预处理器105是可选部件。作为另一示例,在一些实施例中,在将输出提供给车辆控制模块111之前,使用后期处理部件(未示出)对深度学习网络107的输出执行后期处理。

在一些实施例中,视觉传感器101包括一个或多个相机传感器,该一个或多个相机传感器用于捕获图像数据。在各种实施例中,视觉传感器101可以在车辆的不同位置和/或沿一个或多个不同方向被固定到车辆。例如,视觉传感器101可以在前向、后向、侧向等方向上被固定到车辆的前部、侧面、后部和/或车顶等。在一些实施例中,视觉传感器101可以是图像传感器,例如高动态范围相机和/或具有不同视场的相机。例如,在一些实施例中,八个环绕摄像机被固定到车辆并且提供车辆周围范围广达250米的360度可见度。在一些实施例中,相机传感器包括宽前相机、窄前相机、后视相机、前视侧相机和/或后视侧相机。

在一些实施例中,视觉传感器101没有被安装到具有车辆控制模块111的车辆。例如,视觉传感器101可以被安装在相邻车辆上和/或被固定在道路或环境上并且作为用于捕获传感器数据的深度学习系统的一部分被包括。在各种实施例中,视觉传感器101包括一个或多个相机,该一个或多个相机捕获车辆的周围环境,包括车辆正在行驶的道路。例如,一个或多个前置相机和/或支柱相机捕获车辆周围环境中的对象的图像,例如车辆、行人、交通管制对象、道路、路缘、障碍、等。作为另一个示例,相机采集图像数据时间序列,该图像数据时间序列包括邻近车辆的图像数据,该邻近车辆的图像数据,该邻近车辆包括那些试图切入车辆正在行驶的车道的邻近车辆。视力传感器101可以包括图像传感器,该图像传感器能够捕获静止图像和/或视频。该数据可以跨时间段被捕获,例如跨时间段的被捕获数据的序列,并且该数据与其他车辆数据被同步,该车辆数据包括传感器数据。例如,被用于标识对象的图像数据可以与雷达数据和里程计数据一起在15秒的时间段或其他适当的时间段内被捕获。

在一些实施例中,除了视觉传感器101之外,附加的传感器103还包括用于捕获传感器数据的附加传感器。在各种实施例中,附加的传感器103可以在车辆的不同位置处和/或朝向一个或多个不同方向,被附接到车辆。例如,附加的传感器103可以在前向、后向、侧向等方向上被固定到车辆的前部、侧面、后部和/或车顶等。在一些实施例中,附加传感器103可以是发射传感器,例如雷达、超声波和/或激光雷达传感器。在一些实施例中,附加的传感器103包括非视觉传感器。附加的传感器103可以包括雷达、音频、激光雷达、惯性、里程计、位置和/或超声波传感器等。例如,十二个超声波传感器可以被附接在车辆上以检测硬物体和软物体两者。在一些实施例中,前向雷达被用于捕获周围环境的数据。在各种实施例中,尽管有大雨、大雾、灰尘和其他车辆,雷达传感器仍能够捕获周围的细节。

在一些实施例中,附加的传感器103没有被安装到具有车辆控制模块111的车辆。例如,类似于视觉传感器101,附加的传感器103可以被安装在相邻车辆上和/或被附接到道路或环境上,并且作为用于捕获传感器数据的深度学习系统的一部分被包括。在一些实施方案中,附加的传感器103包括一个或多个传感器,该一个或多个传感器捕获该车辆的周围环境,该周围环境包括车辆正在行驶的道路。例如,前向雷达传感器捕获车辆前方视野中对象的距离数据。附加的传感器可以捕获里程计、位置和/或车辆控制信息,该车辆控制信息包括与车辆轨迹相关的信息。传感器数据可以跨时间段被捕获,例如跨时间段的被捕获数据序列,并且传感器数据与从视觉传感器101捕获的图像数据相关联。在一些实施例中,附加的传感器103包括位置传感器,例如全球定位系统(GPS)传感器,该GPS传感器用于确定车辆位置和/或位置变化。在各种实施例中,附加传感器103中的一个或多个传感器是可选的,并且该一个或多个传感器被仅包括在设计用于捕获训练数据的车辆。不具有附加传感器103中的一个或多个传感器的车辆可以使用经训练的机器学习模型和本文公开的技术通过预测输出来模拟附加的传感器103的结果。例如,不具有前向雷达或激光雷达传感器的车辆可以通过应用经训练的机器学习模型,例如深度学习网络107的模型,使用图像数据来预测可选传感器的结果。

在一些实施例中,图像预处理器105被用于对视觉传感器101的传感器数据进行预处理。例如,图像预处理器105可以被用于对传感器数据进行预处理、将传感器数据拆分为一个或多个部分、和/或对一个或多个部分进行后期处理。在一些实施例中,图像预处理器105是图形处理单元(GPU)、中央处理单元(CPU)、图像信号处理器或专用图像处理器。在各种实施例中,图像预处理器105是处理高动态范围数据的色调映射器处理器。在一些实施例中,图像预处理器105被实现为人工智能(AI)处理器109的一部分。例如,图像预处理器105可以是AI处理器109的部件。在一些实施例中,图像预处理器105可以被用于对图像进行归一化或变换图像。例如,由鱼眼透镜捕获的图像可能会扭曲,图像预处理器105可以被用于变换图像以去除或修改扭曲。在一些实施例中,在预处理步骤期间去除或减少噪声、失真和/或模糊。在各种实施例中,图像被调整或归一化以改进机器学习分析的结果。例如,调整图像的白平衡以考虑不同的照明操作条件,例如日光、晴天、阴天、黄昏、日出、日落和夜间条件等。

在一些实施例中,深度学习网络107是用于确定车辆控制参数的深度学习网络,该确定车辆控制参数包括分析驾驶环境以确定对象及其对应的属性,诸如距离、速度或其他适当的参数。例如,深度学习网络107可以是人工神经网络,例如卷积神经网络(CNN),该人工神经网络在诸如传感器数据的输入下训练并且其输出被提供给车辆控制模块111。作为一个示例,输出可以至少包括所检测到的对象的距离估计。作为另一个示例,输出可以至少包括可能并入车辆车道的潜在车辆、它们的距离和它们的速度。在一些实施例中,深度学习网络107接收至少图像传感器数据作为输入来标识图像传感器数据中的对象并且预测对象的距离。附加输入可以包括场景数据,该场景数据描述车辆周围环境和/或车辆说明书,例如车辆的操作特性。场景数据可以包括场景标签,该场景标签描述车辆周围的环境,例如下雨、潮湿的道路、下雪、泥泞、高度拥堵交通、公路、城市、学校区域等。在一些实施例中,深度学习网络107的输出是车辆周围环境的三维表现,该三位表现包括长方体,该长提表示对象,例如标识的对象。在一些实施例中,深度学习网络107的输出被用于自主驾驶,该自主驾驶包括导航车辆朝向目标终点。

在一些实施例中,人工智能(AI)处理器109是用于运行深度学习网络107的硬件处理器。在一些实施例中,AI处理器109是专用的AI处理器,该专用的AI处理器使用卷积神经网络(CNN)对传感器数据执行推断。AI处理器109可以针对传感器数据的比特深度被优化。在一些实施例中,AI处理器109针对深度学习操作例如矢量神经网络操作被优化,该神经网络操作包括卷积、点积、矢量和/或矩阵操作等。在一些实施例中,AI处理器109使用图形处理单元(GPU)来实现。在各种实施例中,AI处理器109被耦合到存储器,该存储器被配置为向AI处理器提供指令,该指令在被执行时使AI处理器对接收的输入传感器数据执行深度学习分析并且确定用于自主驾驶的机器学习结果,例如对象距离。在一些实施例中,AI处理器109被用于处理传感器数据为使数据可用作训练数据而准备。

在一些实施例中,车辆控制模块111被用于处理人工智能(AI)处理器109的输出并且将输出转换(translate)为车辆控制操作。在一些实施例中,车辆控制模块111被用于控制车辆以进行自主驾驶。在各种实施例中,车辆控制模块111可以调节车辆的速度、加速度、转向、制动等。例如,在一些实施例中,车辆控制模块111被用于控制车辆以保持车辆的位置在车道中、将车辆并入另一车道、调整车辆的速度以及车道定位以考虑并入车辆等。

在一些实施例中,车辆控制模块111被用于控制车辆灯光,例如刹车灯、转向灯、前灯等。在一些实施例中,车辆控制模块111被用于控制车辆音频条件,例如车辆的音响系统、播放音频警报、启用麦克风、启用喇叭等。在一些实施例中,车辆控制模块111被用于控制通知系统,该通知系统包括警告系统以通知驾驶员和/或乘客驾驶事件,例如潜在碰撞或接近预定目的地。在一些实施例中,车辆控制模块111被用于调节传感器,例如车辆的视觉传感器101和附加的传感器103。例如,车辆控制模块111可以被用于改变一个或多个传感器的参数,例如修改方向、改变输出分辨率和/或格式类型、增加或减少捕获率、调整捕获的动态范围、调整相机焦点、启用和/或禁用传感器等。在一些实施方式中,车辆控制模块111可以被用于改变图像预处理器的参数105,例如修改滤波器的频率范围、调整特征和/或边缘检测参数、调整通道和比特深度等。在各种实施例中,车辆控制模块111被用于实现车辆的自主驾驶和/或驾驶员辅助控制。在一些实施例中,车辆控制模块111使用与存储器被耦合的处理器来实现。在一些实施例中,车辆控制模块111使用专用集成电路(ASIC)、可编程逻辑器件(PLD)或其他合适的处理硬件来实现。

在一些实施例中,网络接口113是用于发送和/或接收数据的通信接口,该数据包括训练数据。在各种实施例中,网络接口113包括蜂窝或无线接口,该蜂窝或无线接口用于与远程服务器接口以发送传感器数据、发送潜在的训练数据、接收对深度学习网络的更新(该更新包括更新的机器学习模型)、连接和进行语音呼叫、发送和/或接收文本消息等。例如,网络接口113可以被用于将捕获的传感器数据发送到远程训练服务器以作为潜在的训练数据来经训练的机器学习模型。作为另一个示例,网络接口113可以被用于接收针对以下项的指令和/或操作参数的更新:视觉传感器101、附加的传感器103,图像预处理器105、深度学习网络107、AI处理器109、和/或车辆控制模块111。深度学习网络107的机器学习模型可以使用网络接口113被更新。作为另一示例,网络接口113可以被用于更新视觉传感器101和附加传感器103的固件和/或图像预处理器105的操作参数,例如图像处理参数。

图2是示出创建用于预测对象属性的训练数据的过程的实施例的流程图。例如,图像数据以来自附加辅助传感器的传感器数据被注释以自动创建训练数据。在一些实施例中,由车辆的传感器和相关辅助数据组成的时间序列元素被收集并且被用于自动创建训练数据。在各种实施例中,图2的过程被用于采用相应的真实值自动标记训练数据。真实值和图像数据被打包为训练数据来预测从图像数据中标识对象的属性。在各种实施例中,传感器和相关辅助数据是使用图1的深度学习系统来被捕获的。例如,在各种实施例中,传感器数据是由图1的视觉传感器101捕获的,并且相关数据是由图1的附加的传感器103捕获的。在一些实施例中,当现有预测不正确或可以被改进时,图2的方法被执行以自动收集数据。例如,由自主车辆进行预测以根据视觉数据来确定一个或多个对象属性,例如距离和方向。预测与从发射距离传感器的接收的距离数据比较。可以确定预测是否在可接受的准确度阈值内。在一些实施例中,可以做出确定:预测可以被改进。在预测不够准确的情况下,可以将图2的过程应用于预测场景来创建训练示例编策集(cruated set),该训练示例编策集用于改进机器学习模型。

在201,接收视觉数据。视觉数据可以是图像数据,例如视频和/或静止图像。在各种实施例中,视觉数据在车辆处被捕获并且被发送到训练服务器。视觉数据可以跨时间段被捕获来创建元素的时间序列。在各种实施例中,元素包括时间戳,该时间戳用于维持元素的排序。通过捕获元素的时间序列,时间序列中的对象可以跨时间序列被跟踪以更好地消除对象歧义,该对象难以从单一输入样本中标识,单一输入样本例如单个输入图像和对应的相关数据。例如,一对迎面而来的头灯两者可以同时出现并且属于单个车辆,但在头灯分开的情况下,每个头灯被标识为属于单独的摩托车。在一些场景中,图像数据中的对象比在203处接收到的辅助相关数据中的对象更容易区分。例如,仅使用距离数据可能难以消除面包车距离墙的估计距离歧义,该墙在面包车的旁边。然而,通过跨图像数据的相应时间序列上跟踪面包车,正确的距离数据可以与标识的货车被关联。在各种实施例中,作为时间序列捕获的传感器数据以机器学习模型用作输入的格式被捕获。例如,传感器数据可以是原始或处理过的图像数据。

在各种实施例中,在接收到数据的时间序列的情况下,可以通过将时间戳与时间序列的每个元素相关联来组织时间序列。例如,时间戳至少与时间序列中的第一元素相关联。时间戳可以被用于校准具有相关数据(例如在203接收的数据)的时间序列元素。在各种实施例中,时间序列的长度可以是固定的时间长度,例如10秒、30秒或其他合适的长度。时间长度可以是可配置的。在各种实施例中,时间序列可以基于车辆的速度,例如车辆的平均速度。例如,在较慢的速度下,时间序列的时间长度可能会增加,以捕获比在相同速度下使用较短时间长度所可能行进的距离更长的数据。在一些实施例中,时间序列中的元素数量是可配置的。元素的数目可以基于行驶的距离。例如,在固定时间段中,速度较快的车辆比速度较慢的车辆在时间序列中包含更多的元素。附加元素增加了被捕获的环境的保真度,并且可以提高预测的机器学习结果的准确性。在各种实施例中,通过调整传感器每秒捕获数据的帧数和/或通过丢弃不需要的中间帧来调整元素的数量。

在203,与接收的视觉数据有关的数据被接收。在各种实施例中,有关的数据在训练服务器处与在201处接收到的视觉数据一起被接收。在一些实施例中,相关数据是来自车辆的附加传感器的传感器数据,例如超声波、雷达、激光雷达或其他适当的传感器。该相关数据可以是距离、方向、速度、位置、方向、位置变化、方向变化、和/或由车辆附加传感器捕获的其它有关的数据。有关的数据可以被用于确定在201处接收的视觉数据中标识的特征的真实值。例如,来自雷达传感器的距离和方向测量被用于确定视觉数据中标识的对象的对象距离和方向。在一些实施例中,接收的相关数据是数据的时间序列,该数据的时间序列对应于在201处接收的视觉数据的时间序列。

在一些实施例中,与视觉数据相关的数据包括地图数据。例如,可以在203处接收离线数据,例如道路和/或卫星级地图数据。地图数据可以被用于标识特征,例如道路、车道、交叉路口、速度限制、学校区域等。例如,地图数据可以描述车道的路径。使用车辆车道中被标识车辆的估计位置,被检测到的车辆的估计距离可以被确定/证实。作为另一个示例,地图数据可以描述与地图的不同道路相关联的速度限制。在一些实施例中,速度限制数据可以被用于验证所标识的车辆的速度矢量。

在205,视觉数据中的对象被标识。在一些实施例中,视觉数据被用作标识车辆周围环境中的对象的输入。例如,从视觉数据中标识出车辆、行人、障碍物等。在一些实施例中,使用具有经训练的机器学习模型的深度学习系统来标识对象。在各种实施例中,为标识的对象创建边界框。边界框可以是二维边界框或三维边界框,例如长方体,其勾勒出所标识对象的外部。在一些实施例中,附加数据被用于帮助标识对象,例如在203处接收的数据。附加数据可以被用于增加对象标识的准确度。

在207,确定标识对象的真实值。使用在203处接收的相关数据,根据在201处接收的视觉数据确定在205处标识的对象的真实值。在一些实施例中,相关数据是所标识对象的深度(和/或距离)数据。通过将距离数据与被标识的物体相关联,可以经训练的机器学习模型通过使用相关距离数据作为检测到的物体的真实值来估计物体距离。在一些实施例中,距离是针对所检测到的对象的,诸如障碍物、屏障、移动车辆、静止车辆、交通控制信号、行人等,并且用作训练的真实值。除了距离之外,还可以确定其他的对象参数(例如方向、速度、加速度等)的真实值。例如,准确的距离和方向被确定为被标识对象的真实值。作为另一个示例,准确的速度矢量确定为被标识对象(例如车辆和行人)的真实值。

在各种实施例中,视觉数据和相关的数据是由时间戳被组织的并且相应的时间戳被用于同步两个数据集。在一些实施例中,时间戳被用于同步数据的时间序列,例如图像序列和相关数据的对应序列。该数据可能会在捕获时间被同步。例如,随着时间序列的每个元素被捕获,相关数据的相应集合被捕获并且与时间序列元素一起被保存。在各种实施例中,相关数据的时间段是可配置的和/或匹配元素的时间序列的时间段。在一些实施例中,相关数据以与时间序列元素相同的速率被采样。

在各种实施例中,只有通过检查数据的时间序列才能确定真实值。例如,仅分析视觉数据的子集可能会错误地标识对象和/或它们的属性。通过扩展跨整个时间序列的分析,歧义被消除。例如,被遮挡的车辆可能会在时间序列中或早或晚地被发现。一旦被标识,即使被遮挡时,有时被遮挡的车辆也可以在整个时间序列中被跟踪。类似地,通过将来自相关数据的对象属性与视觉数据中标识的对象相关联,有时被遮挡车辆的对象属性可以在整个时间序列中被跟踪。在一些实施例中,当将相关数据与视觉数据相关联时,向后(和/或向前)播放数据以确定任何模糊点。时间序列中不同时间的对象可以被用于帮助确定跨整个时间序列的对象的对象属性。

在各种实施例中,阈值被用于确定是否将对象属性关联为所标识对象的真实值。例如,具有高度确定性的有关的数据是与所标识的对象相关联,而具有低于阈值程度的确定性的相关数据不与所标识的对象相关联。在一些实施例中,有关的数据可以是冲突的传感器数据。例如,超声波和雷达数据输出可能会发生冲突。作为另一个示例,距离数据可能与地图数据冲突。距离数据可以从30米处估计学校区域,而来自地图数据的信息可以将同一学校区域描述为从20米开始。在有关的数据具有低确定性的情况下,这样的有关的数据可以被丢弃并且不被用于确定真实值。

在一些实施例中,真实值被确定以预测语义标签。例如,可以基于预测的距离和方向将被检测到的车辆标记为位于左侧车道或右侧车道。在一些实施例中,被检测到的车辆可以被标记为处于盲点中、被标记为应该礼让的车辆、或具有另一个适当的语义标签。在一些实施例中,基于确定的真实值车辆被分配到地图中的道路或车道。作为附加示例,确定的真实值可以被用于标记交通灯、车道、可行驶空间或其他有助于自主驾驶的特征。

在209,训练数据被打包。例如,选择在201处接收的视觉数据元素并且将其与在207处确定的真实值相关联。在一些实施例中,所选择的元素是时间序列的元素。所选择的元素表示机器学习模型的传感器数据输入(诸如训练图像)而真实值表示预测结果。在各种实施例中,选择数据被注释并且准备作为训练数据。在一些实施例中,训练数据被打包成训练、验证和测试数据。基于确定的真实值和所选择的训练元素,训练数据被打包来训练机器学习模型以预测结果,该结果与一个或多个相关的辅助传感器相关联。例如,经训练的模型可以被用于准确预测对象的距离和方向,其结果类似于使用雷达或激光雷达传感器等传感器的测量结果。在各种实施例中,机器学习结果被用于实现自主驾驶的特征。打包的训练数据现在可用于经训练的机器学习模型。

图3是示出训练和应用自主驾驶的机器学习模型的过程的实施例的流程图。例如,输入数据被接收并处理以创建用于经训练的机器学习模型的训练数据,该输入数据包括主要和次要传感器数据。在一些实施例中,主要传感器数据对应于通过自主驾驶系统捕获的图像数据,而次要传感器数据对应于从发射距离传感器捕获的传感器数据。次级传感器数据可以被用于注释主要传感器数据来训练机器学习模型以根据次级传感器预测输出。在一些实施例中,传感器数据对应于基于特定用例捕获的传感器数据,例如用户手动脱离自主驾驶或者来自视觉数据的距离估计与来自次要传感器的距离估计显著不同。在一些实施例中,主要传感器数据是图1的视觉传感器101的传感器数据并且次要传感器数据是图1的附加的传感器103的一个或多个传感器的传感器数据。在一些实施例中,该过程被用于创建和部署图1的深度学习系统100的机器学习模型。

在301,准备训练数据。在一些实施例中,传感器数据被接收来创建训练数据集,该传感器数据包括图像数据和辅助数据。该图像数据可以包括静止图像和/或视频,该静止图像和/或视频来自一个或多个相机。可以使用诸如雷达、激光雷达、超声波等附加传感器来提供相关的辅助传感器数据。在各种实施例中,图像数据与对应的辅助数据配对来帮助标识在传感器数据中被检测到的对象的属性。例如,辅助数据中的距离和/或速度数据可以被用于准确估计在图像数据中被标识的对象的距离和/或速度。在一些实施例中,传感器数据是元素的时间序列并且被用于确定真实值。该组的真实值然后与时间序列的子集(诸如图像数据的帧)相关联。时间序列的选择元素和真实值被用于准备训练数据。在一些实施例中,训练数据被准备以经训练的机器学习模型来仅估计图像数据中被标识的对象的属性,例如车辆、行人、障碍物等的距离和方向。被准备的训练数据可以包括用于训练、验证和测试的数据。在各种实施例中,传感器数据可以是不同的格式。例如,传感器数据可以是静止图像数据、视频数据、雷达数据、超声波数据、音频数据、位置数据、里程计数据等。里程计数据可以包括车辆操作参数,例如施加的加速度、施加的制动、施加的转向、车辆位置、车辆方向、车辆位置的变化、车辆方向的变化等。在各种实施例中,训练数据被策划和注释来创建训练数据集。在一些实施例中,训练数据的一部分准备可以由人类策展人执行。在各种实施例中,一部分训练数据是从车辆捕获的数据中自动生成的,大大减少了构建稳健训练数据集所需的努力和时间。在一些实施例中,数据的格式与机器学习模型兼容,该机器学习模型在部署的深度学习应用上。在各种实施例中,训练数据包括验证数据,该验证数据用于测试训练模型的准确性。在一些实施例中,图2的方法在图3的301处执行。

在303,训练机器学习模型。例如,使用在301处准备的数据来训练机器学习模型。在一些实施例中,模型是神经网络,诸如卷积神经网络(CNN)。在各种实施例中,模型包括多个中间层。在一些实施例中,神经网络可以包括多个层,该多个层包括多个卷积层和池化层。在一些实施例中,使用从接收到的传感器数据创建的验证数据集来验证训练模型。在一些实施例中,机器学习模型被训练来根据单一输入图像预测传感器的输出的,诸如来距离发光传感器。例如,对象的距离和方向属性可以从相机捕获的图像中被推断出来。作为另一个示例,领近车辆的速度矢量包括车辆是否尝试并入,是根据从相机捕获的图像被预测。

在305,部署被训练的机器学习模型。例如,经训练的机器学习模型作为针对深度学习网络的更新被安装在车辆上,例如图1的深度学习网络107。在一些实施例中,空中更新被用于安装新训练的机器学习模型。例如,可以通过车辆的网络接口(例如图1的网络接口113)接收空中更新。在一些实施例中,更新是使用无线网络(例如WiFi或蜂窝网络)的固件更新发送。在一些实施例中,可以在维修车辆时安装新的机器学习模型。

在307,接收传感器数据。例如,传感器数据是由车辆的一个或多个传感器捕获的。在一些实施例中,传感器是图1的视觉传感器101。传感器可以包括图像传感器,例如安装在挡风玻璃后面的鱼眼镜头、安装在支柱中的前向或侧向相机、后向相机等。在各种实施例中,传感器数据采用或被转换成在303处训练的机器学习模型作为输入的格式。例如,传感器数据可以是原始或处理过的图像数据。在一些实施例中,在预处理步骤期间使用诸如图1的图像预处理器105之类的图像预处理器来预处理传感器数据。例如,该图像可以被归一化以除去失真、噪声等。在一些备选实施例中,接收到的传感器数据是从超声波传感器、雷达、激光雷达传感器、麦克风、或其他适当的技术捕获的数据,并被用作在305处部署的经训练的机器学习模型的预期的输入。

在309,应用被训练的机器学习模型。例如,将在303处被训练的机器学习模型应用于在307处接收的传感器数据。在一些实施例中,模型的应用由AI处理器(例如图1的AI处理器109)使用深度学习网络(例如图1的深度学习网络107)执行。在各种实施方式中,通过应用经训练的机器学习模型,一个或多个对象属性,诸如对象的距离、方向和/或速度从图像数据中被预测。例如,不同的对象在图像数据中被标识并且每个被标识的对象的对象距离和方向通过使用经训练的机器学习模型被推断出来。作为另一示例,为在图像数据中标识的车辆推断车辆的速度矢量。速度矢量可以被用于确定领近车辆是否有可能并入当前车道和/或该车辆存在安全风险的可能性。在各种实施例中,车辆、行人、障碍物、车道、交通控制信号、地图特征、速度限制、行驶空间等以及它们的相关属性通过应用机器学习模型被标识。在一些实施例中,特征是以三个维度来标识的,例如三维的速度矢量。

在311,控制自主车辆。例如,一个或多个自主驾驶特征是通过控制车辆的各个方面来实现的。示例可以包括控制车辆的转向、速度、加速度和/或制动、保持车辆的位置在车道中、保持车辆相对于其他车辆和/或障碍物的位置、向乘员提供通知或警告等。基于在309处执行的分析,可以控制车辆的转向和速度来将车辆安全地保持在两条车道线之间并且与其他对象保持安全距离。例如,预测相邻对象的距离和方向并且标识相应的可行驶空间和行驶路径。在各种实施例中,诸如图1的车辆控制模块111的车辆控制模块控制车辆。

图4是示出训练和应用机器学习模型用于自主驾驶的过程的实施例的流程图。在一些实施例中,图4的方法被用于收集和保留传感器数据以训练用于自主驾驶的机器学习模型。在一些实施例中,无论是否启用自主驾驶控制,图4的方法都在能够自主驾驶的车辆上实施。例如,可以在解除自主驾驶后,车辆由人类驾驶员驾驶时和/或车辆自主驾驶时,立即收集传感器数据。在一些实施例中,图4所描述的技术使用图1的深度学习系统来实现。在一些实施例中,图4的方法的部分在图3的307、309和/或311处作为将机器学习模型应用于自主驾驶的部分方法。

在401,接收传感器数据。例如,配备传感器的车辆捕获传感器数据并且将传感器数据提供给正在车辆上运行的神经网络。在一些实施例中,传感器数据可以是视觉数据、超声波数据、雷达数据、LiDAR数据或其他合适的传感器数据。例如,图像是从高动态范围前置相机捕获的。作为另一个示例,超声波数据是从侧面超声波传感器捕获的。在一些实施例中,车辆被附接有用于捕获数据的多个传感器。例如,在一些实施例中,八个环绕摄像机被附接到车辆上,并且提供车辆周围范围广达250米的360度可见度。在一些实施例中,相机传感器包括宽前相机、窄前相机、后视相机、前视侧相机和/或后视侧相机。在一些实施例中,超声波和/或雷达传感器被用于捕捉周围细节。例如,十二个超声波传感器可以被附接在车辆上来接触检测硬对象和软对象。

在各种实施方案中,不同传感器捕获的数据与捕获的元数据相关联,以允许不同传感器捕获的数据被关联在一起。例如,方向、视野、帧速率、场分辨率、时间戳、和/或其它被捕获的元数据是与传感器数据一起被接收的。使用元数据,可以将不同格式的传感器数据关联在一起,以更好地捕获车辆周围的环境。在一些实施例中,传感器数据包括里程计数据,该里程计数据包括车辆的位置、方向、位置变化和/或方向变化等。例如,位置数据被捕获并且与在同一时间帧期间所捕获的其他传感器数据相关联。作为一个示例,在捕获图像数据时捕获的位置数据被用于将位置信息与图像数据关联。在各种实施例中,所接收的传感器数据被提供用于深度学习分析。

在403,对传感器数据进行预处理。在一些实施例中,可以对传感器数据执行一个或多个预处理通道。例如,可以对数据进行预处理以去除噪声、校正对齐问题和/或模糊等。在一些实施例中,对数据执行一个或多个不同的过滤通道。例如,可以对数据执行高通滤波以及可以对数据执行低通滤波以分离出传感器数据的不同分量。在各种实施例中,在403执行的预处理步骤是可选的和/或可以被并入到神经网络中。

在405,传感器数据的深度学习分析被启动。在一些实施例中,对在401处接收的传感器数据(并且该传感器数据可选地在403处预处理)执行深度学习分析。在各种实施例中,使用神经网络进行深度学习分析例如卷积神经网络(CNN)。在各种实施例中,机器学习模型使用图3的方法离线训练并且被部署到车辆上以对传感器数据执行推理。例如,可以训练模型来预测对象属性,例如距离、方向和/或速度。在一些实施例中,模型被训练以适当地标识行人、移动车辆、停放车辆、障碍物、道路车道线、可行驶空间等。在一些实施例中,为图像数据中的每个被标识的对象确定边界框并且为每个被标识的对象预测距离和方向。在一些实施例中,边界框是三维边界框,例如长方体。边界框勾勒出所标识对象的外表面,并且可以根据对象的大小进行调整。例如,不同尺寸的车辆使用不同尺寸的边界框(或长方体)来表示。在一些实施例中,将由深度学习分析估计的对象属性与由传感器测量并且作为传感器数据接收的特性进行比较。在各种实施例中,神经网络包括多层,该多层包括一个或多个中间层和/或一个或多个不同的神经网络,该神经网络被用于分析传感器数据。在各种实施例中,传感器数据和/或深度学习分析的结果在411处被保留和发送来用于训练数据的自动生成。

在各种实施例中,深度学习分析被用于预测附加特征。预测的特征可以被用于辅助自主驾驶。例如,可以将检测到的车辆分配到车道或道路。作为另一个示例,检测到的车辆可以被确定为处于盲点、应该礼让的车辆、左侧相邻车道中的车辆、右侧相邻车道中的车辆或具有另一个适当的属性。同样,深度学习分析可以标识交通灯、可行驶空间、行人、障碍物或其他适合驾驶的特征。

在407,将深度学习分析的结果提供给车辆控制。例如,结果被提供给车辆控制模块来控制车辆的自主驾驶和/或实现自主驾驶功能。在一些实施例中,深度学习分析的结果在405处被传送通过一个或多个附加的深度学习通道,该一个或多个附加的深度学习通道使用一个或多个不同的机器学习模型。例如,所标识的对象及其属性(例如,距离、方向等)可以被用于确定可行驶空间。可行驶空间然后被用于确定车辆的可行驶路径。类似地,在一些实施例中,预测的车辆速度矢量被检测。车辆的确定路径上的预测速度矢量至少部分地被用于预测切入以及避免潜在碰撞。在一些实施方案中,深度学习的各种输出被用于构造车辆环境的三维表示,该用于自主驾驶的三位表示包括被标识的对象、该被标识的对象距离和方向、车辆的预测路径、标识的交通控制信号(包括速度限制)、要避开的障碍物、道路状况等。在一些实施例中,车辆控制模块利用确定的结果来控制车辆沿着确定的路径。在一些实施例中,车辆控制模块是图1的车辆控制模块111。

在409,对车辆进行控制。在一些实施例中,使用例如图1的车辆控制模块111的车辆控制模块来控制自主驾驶激活的车辆。考虑车辆周围的环境,车辆控制可以调节车辆的速度和/或转向,例如,以保持车辆距离其他车辆安全距离并且在车道内保持合适的速度。在一些实施例中,结果被用于在预期邻近车辆将并入同一车道时调整车辆。在各种实施例中,使用深度学习分析的结果,车辆控制模块确定合适的方式来操作车辆,例如,沿着确定的路径以合适的速度运行。在各种实施例中,诸如速度变化、制动应用、转向调整等车辆控制的结果被保留并且被用于训练数据的自动生成。在各种实施例中,车辆控制参数可以在411处被保留并且被发送以用于训练数据的自动生成。

在411,发送传感器和相关数据。例如,在401处接收的传感器数据连同在405处的深度学习分析的结果和/或在409处使用的车辆控制参数被发送到用于自动生成训练数据的计算机服务器。在一些实施例中,该数据是数据的时间序列并且各种收集的数据由远程训练计算机服务器来被关联在一起。例如,图像数据与辅助传感器数据(例如距离、方向和/或速度数据)相关联来生成真实值。在各种实施例中,收集的数据例如通过WiFi或蜂窝连接从车辆被无线发送到训练数据中心。在一些实施例中,元数据与传感器数据被一起发送。例如,元数据可以包括一天中的时间、时间戳、位置、车辆类型、车辆控制和/或操作参数,诸如速度、加速度、制动、自主驾驶是否被启用、转向角、里程计数据等。附加元数据包括自上次发送上个传感器数据以来的时间、车辆类型、天气状况、道路状况等。在一些实施例中,发送的数据被匿名化,例如,通过去除车辆的唯一标识符。作为另一个示例,来自相似车辆模型的数据被合并来防止个人用户和其使用的车辆被标识。

在一些实施例中,数据仅响应于触发而被发送。例如,在一些实施例中,不准确的预测触发图像传感器和辅助传感器数据的发送来自动收集数据以创建用于改进深度学习网络的预测的示例的编策集。例如,通过将预测与来自发射距离传感器的距离数据进行比较,确定在405处执行的预测是不准确的,该预测仅使用图像数据来估计车辆的距离和方向。在预测和实际传感器数据相差超过阈值的情况下,图像传感器数据和相关辅助数据被发送并且被用于自动生成训练数据。在一些实施例中,该触发可以被用于标识特定场景,例如急转弯、道路岔路口、车道合并、突然停车、交叉路口或其他适当的场景,其中附加的训练数据是有帮助的并且可能难以被收集。例如,触发可以基于自主驾驶功能的突然停用或脱离。作为另一个示例,车辆操作特性(诸如速度变化或加速度变化)可以形成触发的基础。在一些实施例中,具有小于特定阈值的准确度的预测触发发送传感器和相关辅助数据。例如,在某些情况下,预测可能没有布尔正确或不正确的结果,而是相反通过确定预测的准确度值来被评估。

在各种实施例中,传感器和相关的辅助数据是在一段时间内被捕获的并且数据的整个时间序列被一起发送。时间段可以被配置和/或是基于一个或多个因素,该一个或多个因素例如车辆的速度、行驶的距离、速度的变化等。在一些实施例中,捕获传感器的采样率和/或相关的辅助数据是可配置的。例如,在更高的速度时、突然制动期间、突然加速期间、硬转向期间或其他需要额外保真度的适当情况下,采样率被增加。

图5是示出捕获用于训练机器学习网络的辅助传感器数据示例的示图。在所示的示例中,自主车辆501被配备至少传感器503和553,并且捕获的传感器数据被用于测量相邻汽车511、521、以及561的对象属性。在一些实施例中,使用诸如安装在自主车辆501上的图1的深度学习系统100的深度学习系统来捕获和处理被捕获的传感器数据。在一些实施例中,传感器503和553是图1的附加传感器103。在一些实施例中,被捕获的数据是与在图2的203处接收的视觉数据相关联的数据和/或与在图4的401处接收的传感器数据的部分相关联的数据。

在一些实施例中,自主车辆501的传感器503和553是发射距离传感器,例如雷达、超声波和/或激光雷达传感器。传感器503是前向传感器并且传感器553是面向右侧的传感器。附加的传感器,例如后向和面向左侧的传感器(未示出)可以被附接到自主车辆501。轴505和507,用长虚线箭头示出,是自主车辆501的参考轴并且可以被用作数据的参考轴,该数据由传感器503和/或传感器553捕获。在所示示例中,轴505和507以传感器503和自主车辆501的前部为中心。在一些实施例中,附加的高度轴(未示出)被用于跟踪三维特性。在各种实施例中,可以使用备选轴。例如,参考轴可以是自主车辆501的中心。在一些实施例中,传感器503和553中的每个传感器可以利用其自身的参考轴和坐标系。使用传感器503和553的本地坐标系捕获并且分析的数据,该数据可以被转换为车辆501本地(或世界)坐标系,使得通过使用相同的参考帧,由不同的传感器捕获的数据可以被共享。

在所示的示例中,传感器503和553的视场509和559分别由虚箭头之间的虚弧线描绘。描绘的视场509和559分别示出了区域的头顶透视图,该透视图由传感器503和553测量。视场509中的对象属性可以被传感器503捕获并且视场559的对象属性可以被传感器553捕获。例如,在一些实施例中,视场509中的对象的距离、方向、和/或速度测量被传感器503捕获。在所示的示例中,传感器503捕获邻近车辆511和521的距离和方向。当邻近车辆561是在视场509区域的外部时,传感器503不测量邻近车辆561。相反,邻近车辆561的距离和方向由传感器553捕获。在各种实施例中,未被一个传感器捕获的对象可以被车辆的另一传感器捕获。虽然在图5中描绘只带有传感器503和553,但自主车辆501可以被配备有多个环绕传感器(未示出)来提供360度的车辆周围的能见度。

在一些实施例中,传感器503和553捕获距离和方向测量。距离矢量513示出了邻近车辆的距离和方向511,距离矢量523示出了邻近车辆521的距离和方向以及距离矢量563示出了邻近车辆561的距离和方向。在各种实施例中,捕获的实际距离和方向值是值集合,该值集合对应于由传感器503和553检测到的外表面。在所示示例中,为每个邻近车辆测量的距离和方向集合由距离矢量513、523和563近似。在一些实施例中,传感器503和553检测在它们各自的视场509和559中的对象的速度矢量(未示出)。在一些实施例中,距离和速度矢量是三维矢量。例如,矢量包括高度(或海拔)分量(未示出)。

在一些实施例中,边界框近似被检测到的对象,被检测到的对象包括被检测到的邻近车辆511、521和561。边界框近似于被检测到的对象的外部。在一些实施例中,边界框是三维边界框,例如长方体或被检测到的对象的另一个体积表示。在图5的示例中,示出的边界框为围绕邻近车辆511、521、和561的矩形。在各种实施例中,针对在边界框的边缘(或表面)上的每个点,自主车辆501的距离和方向可以被确定。

在各种实施例中,距离矢量513、523和563是与在同一时刻捕获的视觉数据相关的数据。距离矢量513、523和563被用于注释邻近汽车511、521、以及561的距离和方向,该相邻汽车511、521、以及561在相应的视觉数据中被标识。例如,距离矢量513、523和563可以被用作真实值来注释训练图像,该训练图像包括邻近车辆511、521和561。在一些实施例中,训练图像对应于图5的捕获的传感器数据,该训练图像利用由具有重叠视野的传感器捕获的数据以及在匹配时间捕获的数据。例如,训练数据是前向相机捕获的图像数据,在该前向相机仅捕获邻近车辆511和521而不包括相邻车辆561情况下,则只有邻近车辆511和521在训练图像中被标识并且具有它们对应的距离和方向注释。类似地,右侧图像捕获邻近车辆561,该邻近车辆561包括仅邻近车辆561的距离和方向的注释。在各种实施方式中,注释的训练图像被发送到训练服务器用于经训练的机器学习模型来预测注释对象属性。在一些实施例中,图5中的被捕获的传感器数据和对应的视觉数据被发送到训练平台,在该训练平台传感器数据和对应的视觉数据被分析并且训练图像被选择以及被注释。例如,被捕获的数据可以是数据的时间序列,并且该时间序列被分析以将相关数据与视觉数据中标识的对象相关联。

图6是示出预测对象属性的示例的示图。在所示的示例中,分析的视觉数据601表示由自主车辆的视觉传感器(例如前向相机)捕获的图像数据的视野。在一些实施例中,视觉传感器是图1的视觉传感器101之一。在一些实施例中,使用例如图1的深度学习系统100的深度学习系统来捕获和处理车辆的前方环境。在各种实施例中,图6中所示的方法在图3的307、309和/或311处和/或图4的401、403、405、407和/或409处被执行。

在所示的示例中,分析的视觉数据601捕捉自主车辆的前向环境。被分析的视觉数据601包括被检测的车辆的车道线603、605、607、和609。在一些实施例中,车辆车道线使用诸如图1的深度学习系统100的深度学习系统被标识,该深度学习系统被训练标识驾驶特征。

被分析的视觉数据601还包括对应于被检测的对象的边界框611、613、615、617和619。在各种实施例中,通过分析被捕获的视觉数据来标识由边界框611、613、615、617和619表示的被检测的对象。使用被捕获的视觉数据作为经训练的机器学习模型的输入,被检测对象的诸如距离和方向的对象属性可以被预测。在一些实施例中,速度矢量被预测。在所示示例中,被检测对象的边界框611、613、615、617和619对应于相邻车辆。边界框611、613和617对应于车道中的车辆,该车道由车道线603和605定义。边界框615和619对应于合并车道中的车辆,该合并车道由车道线607和609定义。在一些实施例中,被用于表示被检测的对象的边界框是三维边界框(未示出)。

在各种实施例中,边界框611、613、615、617、和619的对象属性通过使用图2至4中的方法以及应用机器学习模型来被预测。预测可以通过使用图5中的辅助传感器被捕获。虽然图5和图6描绘了不同的驾驶场景——与图6相比,图5描绘了不同数量以及位于不同位置的被检测对象——经训练的机器学习模型当在足够的训练数据上训练时,机器学习模型可以准确预测在图6场景中的被检测对象的对象属性。在一些实施例中,距离和方向是被预测的。在一些实施例中,速度是被预测的。预测的属性可以以二个维度或三个维度被预测。将通过使用参照图1-6描述的方法自动生成训练数据来以有效和方便的方式生成用于准确预测的训练数据。在一些实施方案中,标识的对象和相应的属性可以被用于实现自主驾驶功能,如车辆的自主驾驶或驾驶员辅助操作。例如,可以控制车辆的转向和速度以将车辆安全地保持在两条车道线之间并且与其他对象保持安全距离。

尽管为了清楚理解的目的已经对前述实施例进行了一些详细的描述,但是本发明不限于所提供的细节。有许多实施本发明的备选方式。所公开的实施例是说明性的而非限制性的。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于视频编码的方法和设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!