一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

预测用于自主驾驶的三维特征的制作方法

2021-11-15 16:45:00 来源:中国专利 TAG:

预测用于自主驾驶的三维特征
1.相关申请的交叉引用
2.本技术是2019年2月1日提交的名称为“predicting three

dimensional features for autonomous driving”的美国专利申请no.16/265720的继续申请,并且要求其优先权,该申请的公开内容以全文引用的方式并入本文中。


背景技术:

3.用于诸如自主驾驶的应用的深度学习系统是通过训练机器学习模型来开发的。通常,深度学习系统的性能至少部分地由用于训练模型的训练集的质量限制。在许多情况下,大量资源被花费于收集、组织以及注解训练数据。传统上,组织训练数据集的大部分工作是通过审阅潜在训练数据并且正确标记与数据相关联的特征来手动完成的。创建具有准确标签的训练集所需的工作可以是重要的,但通常是冗长乏味的。而且,通常难以收集和准确标记机器学习模型需要改善的数据。因此,需要改善用于生成具有准确标记特征的训练数据的过程。
附图说明
4.在以下详细描述和附图中公开了本发明的各种实施例。
5.图1是图示了用于自主驾驶的深度学习系统的实施例的框图。
6.图2是图示了用于训练和应用用于自主驾驶的机器学习模型的过程的实施例的流程图。
7.图3是图示了用于使用元素的时间系列来创建训练数据的过程的实施例的流程图。
8.图4是图示了用于训练和应用用于自主驾驶的机器学习模型的过程的实施例的流程图。
9.图5是图示了从车辆传感器捕获到的图像的示例的示图。
10.图6是图示了利用车道线的经预测的三维轨迹从车辆传感器捕获到的图像的示例的示图。
具体实施方式
11.本发明可以以多种方式实施,包括作为过程;装置;系统;物质的组成物;实施在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如配置为执行存储在耦合至处理器的存储器上的和/或由该存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采用的任何其他形式可以被称为技术。一般而言,在本发明的范围内可以更改所公开过程的步骤的顺序。除非另有陈述,否则描述为被配置为执行任务的组件(诸如处理器或存储器)可以被实施为通用组件或特定组件,该通用组件被临时配置为在给定时间执行任务,该特定组件被制造为执行任务。如本文中所使用的,术语

处理器’是指配置为处理数据(诸如计算机程序指令)一个或多个设备、电路和/或处理核心。
12.下文连同说明本发明的原理的附图一起提供对本发明的一个或多个实施例的详细描述。结合此类实施例描述了本发明,但本发明不限于任何实施例。本发明的范围仅由权利要求书限定,且本发明涵盖许多备选项、修改以及等效物。在以下描述中阐述了许多具体细节以提供对本发明的透彻理解。这些细节是出于举例的目的而提供的,并且本发明可以在没有这些特定细节中的一些或全部特定细节的情况下根据权利要求书来实践。出于清楚起见,尚未详细描述与本发明相关的技术领域中已知的技术材料,从而使得本发明未被不必要地混淆。
13.公开了一种用于生成高度准确的机器学习结果的机器学习训练技术。使用由车辆上的传感器捕获到的数据来捕获车辆的环境和车辆操作参数,创建了训练数据集。例如,固定在车辆上的传感器捕获数据,诸如车辆正在驾驶的道路和周围环境的图像数据。传感器数据可以捕获车辆车道线、车辆车道、其他车辆交通、障碍物、交通控制标志等。里程计和其他类似传感器捕获车辆运行参数,诸如车辆速度、转向、定向、方向变化、地点变化、海拔变化、速度变化等。将捕获到的数据集传输给训练服务器以创建训练数据集。训练数据集用于训练机器学习模型以生成高度准确的机器学习结果。在一些实施例中,捕获到的数据的时间系列用于生成训练数据。例如,真实数据(ground truth)基于元素的时间系列组来进行确定并且与来自该组的单个元素相关联。作为一个示例,使用在时间段(诸如30秒)内的图像系列来确定在车辆行驶的时间段内车辆车道线的实际路径。车辆车道线是通过使用在时间段内最准确的车辆车道图像确定的。可以从时间系列的不同图像数据中标识车道线的不同部分(或地点)。在车辆在车道线旁边的车道上行驶时,为车道线的不同部分捕获更准确的数据。在一些示例中,车道线的被遮挡部分在车辆例如沿着隐藏弯道或越过山峰行驶时显露。来自时间系列的每个图像的车道线的最准确部分可以用于标识整组图像数据上的车道线。远处的车道线的图像数据通常不如车辆附近的车道线的图像数据详细。通过在车辆沿着车道行驶时捕获图像数据的时间系列,收集对应车道线的所有部分的准确图像数据和对应里程计数据。
14.在一些实施例中,根据对应于真实数据的元素的时间系列组创建特征(诸如车道线)的三维表示。该真实数据然后与元素的时间系列的子集(诸如捕获到的图像数据组的单个图像帧)相关联。例如,图像组中的第一图像与三维空间中表示的车道线的真实数据相关联。尽管基于图像组来确定真实数据,但所选择的第一帧和真实数据用于创建训练数据。作为示例,创建训练数据以仅使用单个图像预测车辆车道的三维表示。在一些实施例中,元素的时间系列组中的任何元素或元素组与真实数据相关联并且用于创建训练数据。例如,可以将真实数据应用于整个视频序列以创建训练数据。作为另一示例,元素的时间系列组中的中间元素或最后一个元素与真实数据相关联并且用于创建训练数据。
15.在各种实施例中,所选择的图像和真实数据可以应用于不同特征,诸如车道线、车辆的包括邻近车辆的路径预测、对象的深度距离、交通控制标志等。例如,相邻车道中的车辆的图像系列用于预测该车辆的路径。使用图像的时间系列和由相邻车辆采取的实际路径,可以将该组中的单个图像和所采取的实际路径用作训练数据来预测车辆的路径。信息还可以用于预测相邻车辆是否将切入自主车辆的路径中。例如,路径预测可以预测相邻车辆是否将在自主车辆的前方合流。可以控制自主车辆以使碰撞的可能性最小化。例如,自主车辆可以减速以防止碰撞、调整车辆的速度和/或转向以防止碰撞、向相邻车辆和/或自主
车辆的乘员发起警告和/或改变车道等。在各种实施例中,准确推断包括车辆路径预测的路径预测的能力显著地改善了自主车辆的安全性。
16.在一些实施例中,经训练的机器学习模型用于预测用于自主驾驶的一个或多个特征(包括车道线)的三维表示。例如,并非通过分割车道线的图像从图像数据中标识二维车道线,而是使用元素的时间系列和对应于时间系列的里程计数据生成三维表示。三维表示包括海拔变化,这极大地改善了车道线检测以及对应车道和标识出的可驾驶路径的检测的准确性。在一些实施例中,使用一个或多个样条或另一种参数化的表示形式来表示车道线。使用分段多项式来表示车道线极大地减少了评估三维对象所需的计算资源。计算资源的这种减少在不显著牺牲表示的准确性的情况下对应于处理速度和效率的改善。在各种实施例中,可以使用分段多项式、三维点集合或另一适合的表示来表示车道线(特别是包括车道线的弯道)。例如,分段多项式使用车道线的高度准确区段插入实际车道线,该高度准确区段从使用传感器数据而随时间捕获到的元素组中标识。
17.在一些实施例中,接收传感器数据。传感器数据可以包括图像(诸如视频和/或静态图像)、雷达、音频、激光雷达、惯性、里程计、地点和/或其他形式的传感器数据。传感器数据包括元素的时间系列组。例如,元素的时间系列组可以包括在时间段内从车辆的摄像头传感器捕获到的图像组。在一些实施例中,确定训练数据集,包括通过基于元素的时间系列组中的多个元素的时间系列来为元素的时间系列组中的至少一个所选择的元素的时间系列确定对应真实数据。例如,通过检查元素的时间系列组中的每个元素的最相关部分(包括组中的先前和/或后续的元素的时间系列)来确定真实数据。在一些场景中,只有先前和/或后续的元素的时间系列包括较早元素的时间系列中不存在的数据,诸如在弯道周围首先消失且仅在较晚元素的时间系列中显露的车道线。所确定的真实数据可以是车辆车道线的三维表示、车辆的经预测的路径或另一类似预测。元素的时间系列组中的元素被选择并且与真实数据相关联。所选择的元素和真实数据是训练数据集的一部分。在一些实施例中,处理器用于使用训练数据集来训练机器学习模型。例如,训练数据集用于训练机器学习模型以推断用于车辆的自驾或驾驶员辅助操作的特征。使用经训练的机器学习模型,神经网络可以推断与自主驾驶相关联的特征,诸如车辆车道、可驾驶空间、对象(例如行人、静止车辆、移动车辆等)、天气(例如雨、冰雹、雾等)、交通控制对象(例如交通灯、交通标志、路标等)、交通模式等。
18.在一些实施例中,系统包括处理器和耦合至处理器的存储器。处理器被配置为基于由车辆的摄像头捕获到的图像来接收图像数据。例如,固定至车辆的摄像头传感器捕获车辆的环境的图像。摄像头可以是前置摄像头、门柱摄像头或另一适当定位的摄像头。使用车辆上的处理器(诸如gpu或ai处理器)处理从摄像头捕获到的图像数据。在一些实施例中,将图像数据用作对经训练的机器学习模型的输入的基础,该经训练的机器学习模型被训练为预测车辆车道的三维轨迹。例如,图像数据被用作对训练为预测车辆车道的神经网络的输入。机器学习模型推断检测到的车道的三维轨迹。并非将图像分割成二维图像的车道段和非车道段,而是推断三维表示。在一些实施例中,三维表示是样条、参数曲线或能够以三维形式描述曲线的另一表示。在一些实施例中,在自主控制车辆时提供车辆车道的三维轨迹。例如,三维轨迹用于确定车道线和对应的可驾驶空间。
19.图1是图示了用于自主驾驶的深度学习系统的实施例的框图。深度学习系统包括
不同组件,该不同组件可以一起用于车辆的自驾和/或驾驶员辅助操作,以及用于收集和处理数据以训练用于自主驾驶的机器学习模型。在各种实施例中,深度学习系统安装在车辆上。来自车辆的数据可以用于训练和改善车辆或其他类似车辆的自主驾驶特征。
20.在所示出的示例中,深度学习系统100是深度学习网络,该深度学习网络包括传感器101、图像预处理器103、深度学习网络105、人工智能(ai)处理器107、车辆控制模块109以及网络接口111。在各种实施例中,不同组件以通信方式进行连接。例如,将来自传感器101的传感器数据馈送给图像预处理器103。将图像预处理器103的处理后的传感器数据馈送给在ai处理器107上运行的深度学习网络105。将在ai处理器107上运行的深度学习网络105的输出馈送给车辆控制模块109。在各种实施例中,车辆控制模块109连接至车辆并且控制车辆的操作,诸如车辆的速度、制动和/或转向等。在各种实施例中,可以经由网络接口111将传感器数据和/或机器学习结果发送给远程服务器。例如,可以经由网络接口111将传感器数据传输给远程服务器以收集训练数据,以用于提高车辆的性能、舒适度和/或安全性。在各种实施例中,网络接口111用于与远程服务器进行通信,拨打电话,发送和/或接收文本消息并且基于车辆的操作以及其他原因传输传感器数据。在一些实施例中,深度学习系统100可以视需要包括额外的或更少的组件。例如,在一些实施例中,图像预处理器103为可选组件。作为另一示例,在一些实施例中,在将输出提供给车辆控制模块109之前,使用后处理组件(未示出)对深度学习网络105的输出执行后处理。
21.在一些实施例中,传感器101包括一个或多个传感器。在各种实施例中,传感器101可以在车辆的不同地点处固定至车辆和/或定向成一个或多个不同方向。例如,传感器101可以在前置、后置、侧置等方向上固定至车辆的前方、侧面、后方和/或车顶等。在一些实施例中,传感器101可以是图像传感器,诸如高动态范围摄像头。在一些实施例中,传感器101包括非视觉传感器。在一些实施例中,传感器101包括雷达、音频、lidar、惯性、里程计、地点和/或超声波传感器等。在一些实施例中,传感器101并未安装至具有车辆控制模块109的车辆。例如,传感器101可以安装在邻近车辆上和/或固定至道路或环境,并且被包括作为深度学习系统的一部分以用于捕获传感器数据。在一些实施例中,传感器101包括捕获车辆正在行驶的道路表面的一个或多个摄像头。例如,一个或多个前置摄像头和/或门柱摄像头捕获车辆正在行驶的车道的车道标记。作为另一示例,摄像头捕获邻近车辆,包括试图切入车辆正在行驶的车道中的那些车辆。额外的传感器捕获里程计、地点和/或车辆控制信息,包括与车辆轨迹相关的信息。传感器101可以包括能够捕获静态图像和/或视频的两个图像传感器。可以在一段时间内捕获数据,诸如在一段时间内的捕获到的数据的序列。例如,可以在15秒的时段或另一适合时段内与车辆里程计数据一起捕获车道标记的图像。在一些实施例中,传感器101包括地点传感器,诸如用于确定车辆的地点和/或地点变化的全球定位系统(gps)传感器。
22.在一些实施例中,图像预处理器103用于对传感器101的传感器数据进行预处理。例如,图像预处理器103可以用于对传感器数据进行预处理,将传感器数据拆分成一个或多个分量和/或对一个或多个分量进行后处理。在一些实施例中,图像预处理器103是图形处理单元(gpu)、中央处理单元(cpu)、图像信号处理器或专用图像处理器。在各种实施例中,图像预处理器103是处理高动态范围数据的色调地图绘制器处理器。在一些实施例中,图像预处理器103被实施为人工智能(ai)处理器107的一部分。例如,图像预处理器103可以是ai
处理器107的组件。在一些实施例中,图像预处理器103可以用于归一化图像或变换图像。例如,用鱼眼镜头捕获到的图像可以是扭曲的,并且图像预处理器103可以用于变换图像以移除或修改扭曲。在一些实施例中,在预处理步骤期间移除或减少噪声、失真和/或模糊强度。在各种实施例中,调整或归一化图像以改善机器学习分析的结果。例如,调整图像的白平衡以考虑不同的照明操作条件,诸如日光、晴天、阴天、黄昏、日出、日落以及夜间条件等。
23.在一些实施例中,深度学习网络105是用于确定车辆控制参数(包括分析驾驶环境以确定车道标记、车道、可驾驶空间、障碍物和/或潜在车辆路径等)的深度学习网络。例如,深度学习网络105可以是基于输入(诸如传感器数据)训练并且其输出被提供给车辆控制模块109的人工神经网络,诸如卷积神经网络(cnn)。作为一个示例,输出可以包括至少车道标记的三维表示。作为另一示例,输出可以至少包括有可能合流到车辆车道中的潜在车辆。在一些实施例中,深度学习网络105接收至少传感器数据作为输入。额外输入可以包括描述车辆周围的环境和/或车辆规范的场景数据,诸如车辆的操作特点。场景数据可以包括描述车辆周围的环境的场景标签,诸如下雨、湿润道路、下雪、泥泞、高密度交通、高速公路、城市、学校区域等。在一些实施例中,深度学习网络的输出105是车辆的车辆车道的三维轨迹。在一些实施例中,深度学习网络105的输出是潜在车辆切入。例如,深度学习网络105标识有可能进入车辆的前方车道中的邻近车辆。
24.在一些实施例中,人工智能(ai)处理器107是用于运行深度学习网络105的硬件处理器。在一些实施例中,ai处理器107是用于使用卷积神经网络(cnn)对传感器数据执行推断的专用ai处理器。可以针对传感器数据的位深度来优化ai处理器107。在一些实施例中,针对深度学习操作(诸如神经网络操作,包括卷积、点积、向量和/或矩阵操作等)优化ai处理器107。在一些实施例中,使用图形处理单元(gpu)来实施ai处理器107。在各种实施例中,ai处理器107耦合至存储器,该存储器被配置为向ai处理器提供指令,该指令在执行时使ai处理器对接收到的输入传感器数据执行深度学习分析并且确定用于自主驾驶的机器学习结果。在一些实施例中,ai处理器107用于处理传感器数据以准备使数据可用作训练数据。
25.在一些实施例中,车辆控制模块109用于处理人工智能(ai)处理器107的输出并且将输出转化为车辆控制操作。在一些实施例中,车辆控制模块109用于控制车辆以进行自主驾驶。在各种实施例中,车辆控制模块109可以调整车辆的速度、加速度、转向、制动等。例如,在一些实施例中,车辆控制模块109用于控制车辆以将车辆的位置维持在车道内、将车辆合流到另一车道中、调整车辆的速度和车道定位以考虑合流车辆等。
26.在一些实施例中,车辆控制模块109用于控制车辆照明,诸如刹车灯、转向信号、车头灯等。在一些实施例中,车辆控制模块109用于控制车辆音频条件,诸如车辆的音响系统、播放音频警报、启用麦克风、启用喇叭等。在一些实施例中,车辆控制模块109用于控制包括警告系统的通知系统以向驾驶员和/或乘客通知驾驶事件,诸如潜在碰撞或接近预定目的地。在一些实施例中,车辆控制模块109用于调整传感器,诸如车辆的传感器101。例如,车辆控制模块109可以用于改变一个或多个传感器的参数,诸如修改定向、改变输出分辨率和/或格式类型、增加或减小捕获速率、调整捕获到的动态范围、调整摄像头焦点、启用和/或禁用传感器等。在一些实施例中,车辆控制模块109可以用于改变图像预处理器103的参数,诸如修改滤波器的频率范围、调整特征和/或边缘检测参数、调整信道和位深度等。在各种实施例中,车辆控制模块109用于实施车辆的自驾和/或驾驶员辅助控制。在一些实施例中,使
用与存储器耦合的处理器来实施车辆控制模块109。在一些实施例中,使用专用集成电路(asic)、可编程逻辑设备(pld)或其他适合的处理硬件来实施车辆控制模块109。
27.在一些实施例中,网络接口111是用于发送和/或接收数据(包括语音数据)的通信接口。在各种实施例中,网络接口111包括用于与远程服务器接口连接的蜂窝或无线接口,以连接并且进行语音呼叫、发送和/或接收文本消息、传输传感器数据、接收对深度学习网络(包括更新后的机器学习模型)的更新、获取包括天气状况和预报、交通状况等的环境状况。例如,网络接口111可以用于接收传感器101、图像预处理器103、深度学习网络105、ai处理器107和/或车辆控制模块109的指令和/或操作参数的更新。可以使用网络接口111更新深度学习网络105的机器学习模型。作为另一示例,网络接口111可以用于更新传感器101的固件和/或图像预处理器103的操作参数,诸如图像处理参数。作为又一示例,网络接口111可以用于将潜在训练数据传输给远程服务器以用于训练机器学习模型。
28.图2是图示了用于训练和应用用于自主驾驶的机器学习模型的过程的实施例的流程图。例如,接收包括传感器和里程计数据的输入数据并且处理该输入数据,以创建用于训练机器学习模型的训练数据。在一些实施例中,传感器数据对应于经由自主驾驶系统捕获到的图像数据。在一些实施例中,传感器数据对应于基于特定用例捕获到的传感器数据,诸如用户手动退出自主驾驶。在一些实施例中,过程用于为图1的深度学习系统100创建和部署机器学习模型。
29.在201中,准备训练数据。在一些实施例中,接收包括图像数据和里程计数据的传感器数据以创建训练数据集。传感器数据可以包括来自一个或多个摄像头的静态图像和/或视频。额外传感器(诸如雷达、激光雷达、超声波等)可以用于提供相关传感器数据。在各种实施例中,传感器数据与对应里程计数据配对以帮助标识传感器数据的特征。例如,地点和地点数据的变化可以用于标识传感器数据中的相关特征(诸如车道线、交通控制信号、对象等)的地点。在一些实施例中,传感器数据是元素的时间系列并且用于确定真实数据。成组的真实数据然后与时间系列子集(诸如图像数据的第一帧)相关联。时间系列的所选择的元素和真实数据用于准备训练数据。在一些实施例中,准备训练数据以训练机器学习模型,以便仅标识来自传感器数据的特征,诸如车道线、车辆路径、交通模式等。准备好的训练数据可以包括用于训练、验证以及测试的数据。在各种实施例中,传感器数据可以具有不同格式。例如,传感器数据可以是静态图像、视频、音频等。里程计数据可以包括车辆操作参数,诸如所施加的加速度、所施加的制动、所施加的转向、车辆地点、车辆定向、车辆地点的变化、车辆定向的变化等。在各种实施例中,组织并且注解训练数据以用于创建训练数据集。在一些实施例中,训练数据的一部分准备可以由人类管理者执行。在各种实施例中,根据从车辆捕获到的数据自动生成训练数据的一部分,从而显著地减少了构建稳健训练数据集所需的工作和时间。在一些实施例中,数据的格式与在所部署的深度学习应用上使用的机器学习模型兼容。在各种实施例中,训练数据包括用于测试经训练的模型的准确性的验证数据。
30.在203中,训练机器学习模型。例如,使用在201中准备的数据来训练机器学习模型。在一些实施例中,模型是神经网络,诸如卷积神经网络(cnn)。在各种实施例中,模型包括多个中间层。在一些实施例中,神经网络可以包括多个层,包括多个卷积和池化层。在一些实施例中,使用根据接收到的传感器数据创建的验证数据集来验证训练模型。在一些实
施例中,训练机器学习模型以预测来自单个输入图像的特征的三维表示。例如,可以根据从摄像头捕获到的图像推断车道线的三维表示。作为另一示例,包括邻近车辆是否将试图合流的邻近车辆的经预测的路径是根据从摄像头捕获到的图像来预测的。
31.在205中,部署经训练的机器学习模型。例如,经训练的机器学习模型安装在车辆上作为深度学习网络(诸如图1的深度学习网络105)的更新。在一些实施例中,空中更新用于安装新训练的机器学习模型。在一些实施例中,更新是使用无线网络(诸如wifi或蜂窝网络)传输的固件更新。在一些实施例中,新机器学习模型可以在车辆被维护时安装。
32.在207中,接收传感器数据。例如,传感器数据从车辆的一个或多个传感器捕获。在一些实施例中,传感器是图1的传感器101。传感器可以包括图像传感器,诸如安装在挡风玻璃后面的鱼眼镜头、安装在门柱中的前置摄像头或侧置摄像头、后置摄像头等。在各种实施例中,传感器数据呈在203中训练的机器学习模型用作输入的格式或转换为该格式。例如,传感器数据可以是原始或处理后的图像数据。在一些实施例中,数据是从超声波传感器、雷达、lidar传感器、麦克风或其他适合的技术捕获到的数据。在一些实施例中,在预处理步骤期间使用图像预处理器(诸如图1的图像预处理器103)来对传感器数据进行预处理。例如,可以归一化图像以移除失真、噪声等。
33.在209中,应用经训练的机器学习模型。例如,将在203中训练的机器学习模型应用于在207中接收到的传感器数据。在一些实施例中,模型的应用由ai处理器(诸如图1的ai处理器107)使用深度学习网络(诸如图1的深度学习网络105)执行。在各种实施例中,通过应用经训练的机器学习模型,标识和/或预测特征(诸如车道线)的三维表示。例如,推断表示车辆正在行驶的车道的车道线的两个样条。作为另一示例,推断邻近车辆的经预测的路径,包括邻近车辆是否有可能切入当前车道中。在各种实施例中,通过应用机器学习模型来标识车辆、障碍物、车道、交通控制信号、地图特征、对象距离、速度限制、可驾驶空间等。在一些实施例中,在三个维度上标识特征。
34.在211中,控制自主车辆。例如,通过控制车辆的各个方面来实施一个或多个自主驾驶特征。示例可以包括控制车辆的转向、速度、加速度和/或制动、将车辆的位置维持在车道中、维持车辆相对于其他车辆和/或障碍物的位置、将通知或警告提供给乘员等。基于在209中执行的分析,控制车辆的转向和速度以将车辆维持在两条车道线之间。例如,预测左右车道线,并且标识对应车辆车道和可驾驶空间。在各种实施例中,车辆控制模块(诸如图1的车辆控制模块109)控制车辆。
35.图3是图示了用于使用元素的时间系列来创建训练数据的过程的实施例的流程图。例如,从车辆收集由传感器和里程计数据组成的元素的时间系列并且将其用于自动创建训练数据。在各种实施例中,图3的过程用于用对应真实数据自动标记训练数据。对应于时间系列的结果与时间系列的元素相关联。将结果和所选择的元素封装为训练数据以预测未来结果。在各种实施例中,使用图1的深度学习系统来捕获传感器数据和相关数据。例如,在各种实施例中,从图1的(一个或多个)传感器101捕获传感器数据。在一些实施例中,在图2的201中执行图3的过程。在一些实施例中,当现有预测错误或可以改善现有预测时,执行图3的过程以自动收集数据。例如,由自主车辆进行预测以确定车辆是否切入自主车辆的路径中。在等待时间段并且分析捕获到的传感器数据之后,可以做出预测是正确还是错误的确定。在一些实施例中,做出可以改善预测的确定。在预测错误或可以改善该预测的情况
下,可以将图3的过程应用于与预测相关的数据,以创建组织的示例集合来改善机器学习模型。
36.在301中,接收元素的时间系列。在各种实施例中,元素是传感器数据,诸如在车辆处捕获到的、并且传输给训练服务器的图像数据。在一段时间内捕获传感器数据以创建元素的时间系列。在各种实施例中,元素是时间戳以维持元素的排序。随着元素通过时间系列前进,时间系列中进一步的事件用于帮助预测时间系列中的较早元素的结果。例如,时间系列可以捕获相邻车道中的车辆,该车辆发出信号以合流、加速并且将自身定位成更靠近附近的车道线。使用整个时间系列,结果可以用于确定车辆合流到共享车道中。该结果可以用于基于时间系列的所选择的元素(诸如时间系列的早期图像中的一个图像)来预测车辆将合流。作为另一示例,时间系列捕获车道线的弯道。时间系列捕获车道的仅根据时间系列的单个元素不明显的各种凹坑、转弯、坡顶等。在各种实施例中,元素是呈机器学习模型用作输入的格式的传感器数据。例如,传感器数据可以是原始或处理后的图像数据。在一些实施例中,数据是从超声波传感器、雷达、lidar传感器或其他适合的技术捕获到的数据。
37.在各种实施例中,通过将时间戳与时间系列的每个元素相关联来组织时间系列。例如,时间戳与时间系列中的至少第一元素相关联。时间戳可以用于利用相关数据(诸如里程计数据)校准元素的时间系列。在各种实施例中,时间系列的长度可以是固定的时间长度,诸如10秒、30秒或其他适合的长度。时间长度可以是可配置的。在各种实施例中,时间系列可以基于车辆的速度,诸如车辆的平均速度。例如,在较慢速度下,可以增加时间系列的时间长度,以捕获在相同速度下行驶比在使用较短时间长度时将可能行驶的距离更长的距离的数据。在一些实施例中,时间系列中的元素数量是可配置的。例如,元素数量可以是基于所行驶的距离的。例如,针对固定时间段,较快移动车辆比较慢移动车辆在时间系列中包括更多的元素。额外元素增加了捕获环境的保真度,并且可以提高经预测的机器学习结果的准确性。在各种实施例中,通过调整传感器每秒捕获数据的帧和/或通过丢弃不需要的中间帧来调整元素数量。
38.在303中,接收与时间系列的元素相关的数据。在各种实施例中,在训练服务器处接收相关数据以及在301中接收到的元素。在一些实施例中,相关数据是车辆的里程计数据。使用地点、定向、地点变化、定向变化和/或其他相关车辆数据,可以标记在时间系列的元素中标识出的特征的位置数据。例如,可以通过检查车道线的元素的时间系列而以非常准确的位置标记车道线。通常,距车辆摄像头最近的车道线是准确的并且与车辆的位置紧密相关。相比之下,距车辆最远的线的xyz位置是难以确定的。车道线的远区段可以被遮挡(例如在转弯或斜坡后面)和/或难以准确捕获(例如由于距离或照明等)。与元素相关的数据用于标记在时间系列中标识出的特征的部分,这些部分以高准确度加以标识。在各种实施例中,阈值用于确定是否将特征的标识出的部分(诸如车道线的一部分)与相关数据相关联。例如,以高确定度标识出的车道线的部分(诸如接近车辆的部分)与相关数据相关联,而以低于阈值的确定度标识出的车道线的部分(诸如远离车辆的部分)不与该元素的相关数据相关联。相反,使用时间系列的另一元素,诸如具有较高确定度的后续元素及其相关数据。在一些实施例中,相关数据是神经网络的输出,诸如图1的深度学习网络105的输出。在一些实施例中,相关数据是车辆控制模块(诸如图1的车辆控制模块109)的输出。相关数据可以包括车辆操作参数,诸如速度、速度变化、加速度、加速度变化、转向、转向变化、制动、
制动变化等。在一些实施例中,相关数据是用于估计对象(诸如障碍物)的距离的雷达数据。
39.在一些实施例中,与时间系列的元素相关的数据包括地图数据。例如,在303中接收离线数据,诸如道路和/或卫星级地图数据。地图数据可以用于标识特征,诸如道路、车辆车道、交叉路口、速度限制、学校区域。例如,地图数据可以描述车辆车道的路径。作为另一示例,地图数据可以描述与地图的不同道路相关联的速度限制。
40.在各种实施例中,通过将时间戳与相关数据相关联来组织与时间系列的元素相关的数据。来自元素的时间系列和相关数据的对应时间戳可以用于使两个数据集同步。在一些实施例中,在捕获时间使数据同步。例如,随着时间系列的每个元素被捕获,相关数据的对应集合被捕获并且与元素的时间系列一起保存。在各种实施例中,相关数据的时间段是可配置的和/或与元素的时间系列的时间段相匹配。在一些实施例中,在与元素的时间系列相同的速率下对相关数据进行采样。
41.在305中,为时间系列确定真实数据。在各种实施例中,分析时间系列以确定与机器学习特征相关联的真实数据。例如,从对应于该车道线的真实数据的时间系列中标识出车道线。作为另一示例,移动对象(诸如车辆、行人、骑自行车的人、动物等)的路径的真实数据是从时间系列中为检测到的移动对象标识出的路径。在一些实施例中,在移动车辆在时间系列内进入自主车辆的车道中的情况下,移动车辆被注解为切入车辆。在一些实施例中,将真实数据表示为三维表示,诸如三维轨迹。例如,可以将与车道线相关联的真实数据表示为三维参数化样条或曲线。作为另一示例,确定检测到的车辆的经预测的路径并且将其表示为三维轨迹。经预测的路径可以用于确定车辆是否合流到所占用的空间中。在各种实施例中,只有通过检查元素的时间系列才可以确定真实数据。例如,仅对时间系列的子集进行分析可能会使车道线的部分被遮挡。通过在元素的时间系列上扩展分析,显露车道线的被遮挡部分。而且,在时间系列末尾的捕获到的数据(例如以较高保真度)更准确地捕获在距离上更远的车道线的部分的细节。另外,相关数据也是更加准确的,这是由于相关数据是基于在接近度方面更接近(距离和时间两者)地捕获的数据。在各种实施例中,将同时定位和地图绘制技术应用于在元素时间系列的不同元素中标识出的检测对象(诸如车道线)的不同部分,以将对象的不同部分地图绘制到包括海拔的精确三维地点。所地图绘制的三维地点的集合表示对象的真实数据,诸如在时间系列内捕获到的车道线的段。在一些实施例中,定位和地图绘制技术产生精确的点集合,例如对应于沿着车辆车道线的不同点的点集合。可以将点集合转换为更高效的格式,诸如样条或参数曲线。在一些实施例中,确定真实数据以在三个维度上检测对象,诸如车道线、可驾驶空间、交通控制、车辆等。
42.在一些实施例中,确定真实数据以预测语义标签。例如,可以将检测到的车辆标记为处于左车道或右车道中。在一些实施例中,可以将检测到的车辆标记为处于盲点中、应该让行的车辆或具有另一适合的语义标签。在一些实施例中,基于所确定的真实数据将车辆指派给地图中的道路或车道。作为额外示例,所确定的真实数据可以用于标记交通灯、车道、可驾驶空间或辅助自主驾驶的其他特征。
43.在一些实施例中,相关数据是检测到的对象的深度(或距离)数据。通过将距离数据与在元素的时间系列中标识出的对象相关联,可以训练机器学习模型以通过将相关距离数据用作检测到的对象的真实数据来估计对象距离。在一些实施例中,距离是针对检测到的对象的,诸如障碍物、障碍、移动车辆、静止车辆、交通控制信号、行人等。
44.在307中,封装训练数据。例如,时间系列的元素被选择并且与在305中确定的真实数据相关联。在各种实施例中,所选择的元素是时间系列中的早期元素。所选择的元素表示输入至机器学习模型的传感器数据,并且真实数据表示预测结果。在各种实施例中,训练数据被封装并且准备作为训练数据。在一些实施例中,训练数据被封装到训练、验证以及测试数据中。基于所确定的真实数据和时间系列的所选择的元素,可以封装训练数据以训练机器学习模型来标识车道线、车辆的经预测的路径、速度限制、车辆切入、对象距离和/或可驾驶空间以及用于自主驾驶的其他有用特征。封装的训练数据现在可用于训练机器学习模型。
45.图4是图示了用于训练和应用用于自主驾驶的机器学习模型的过程的实施例的流程图。在一些实施例中,图4的过程用于收集和保留传感器和里程计数据,以训练用于自主驾驶的机器学习模型。在一些实施例中,无论是否启用了自主驾驶控制,图4的过程都被在以自主驾驶启用的车辆上实施。例如,可以紧接在退出自主驾驶之后的瞬间、在车辆由人类驾驶员驾驶时和/或在车辆正在自主驾驶时收集传感器和里程计数据。在一些实施例中,使用图1的深度学习系统来实施图4所描述的技术。在一些实施例中,图4的过程的部分在图2的207、209和/或211中作为将机器学习模型应用于自主驾驶的过程的一部分执行。
46.在401中,接收传感器数据。例如,配备有传感器的车辆捕获传感器数据,并且将传感器数据提供给在车辆上运行的神经网络。在一些实施例中,传感器数据可以是视觉数据、超声波数据、lidar数据或其他适合的传感器数据。例如,从高动态范围前置摄像头捕获图像。作为另一示例,从侧置超声波传感器捕获超声波数据。在一些实施例中,车辆固定有用于捕获数据的多个传感器。例如,在一些实施例中,八个环绕摄像头固定至车辆并且提供车辆周围的360度的可见性,其中范围可高达250米。在一些实施例中,摄像头传感器包括宽前向摄像头、窄前向摄像头、后视摄像头、前视侧摄像头和/或后视侧摄像头。在一些实施例中,超声波和/或雷达传感器用于捕获周围细节。例如,十二个超声波传感器可以固定至车辆以检测硬对象和软对象。在一些实施例中,前置雷达用于捕获周围环境的数据。在各种实施例中,尽管有大雨、大雾、灰尘和其他车辆,雷达传感器仍能够捕获到周围细节。各种传感器用于捕获车辆周围的环境,并且提供捕获到的数据以供深度学习分析。
47.在一些实施例中,传感器数据包括里程计数据,包括车辆的地点、定向、地点变化和/或定向变化等。例如,地点数据被捕获并且与在同一时间帧期间捕获到的其他传感器数据相关联。作为一个示例,在捕获到图像数据时捕获到的地点数据用于将地点信息与图像数据相关联。
48.在403中,对传感器数据进行预处理。在一些实施例中,可以对传感器数据执行一个或多个预处理传递。例如,可以对数据进行预处理以移除噪声、校正对准问题和/或模糊等。在一些实施例中,对数据执行一个或多个不同的滤波传递。例如,可以对数据执行高通滤波并且可以对数据执行低通滤波,以分离出传感器数据的不同分量。在各种实施例中,在403中执行的预处理步骤是可选的和/或可以并入到神经网络中。
49.在405中,发起对传感器数据的深度学习分析。在一些实施例中,对在403中可选地预处理的传感器数据执行深度学习分析。在各种实施例中,使用诸如卷积神经网络(cnn)的神经网络来执行深度学习分析。在各种实施例中,机器学习模型使用图2的过程离线训练并且部署到车辆上以对传感器数据执行推断。例如,可以训练该模型以视需要标识道路车道
线、障碍物、行人、移动车辆、停放车辆、可驾驶空间等。在一些实施例中,标识车道线的多条轨迹。例如,检测车道线的若干潜在轨迹,并且每条轨迹都具有对应出现概率。在一些实施例中,经预测的车道线是具有最高出现概率和/或最高相关联置信度值的车道线。在一些实施例中,来自深度学习分析的经预测的车道线需要超过最小置信度阈值。在各种实施例中,神经网络包括多个层,该多个层包括一个或多个中间层。在各种实施例中,在411中保留和传输传感器数据和/或深度学习分析的结果以用于训练数据的自动生成。
50.在各种实施例中,深度学习分析用于预测额外特征。经预测的特征可以用于辅助自主驾驶。例如,可以将检测到的车辆指派给车道或道路。作为另一示例,可以将检测到的车辆确定为处于盲点中、应该让行的车辆、左侧相邻车道中的车辆、右侧相邻车道中的车辆或具有另一适合的属性。类似地,深度学习分析可以标识交通灯、可驾驶空间、行人、障碍物或其他适合的驾驶特征。
51.在407中,将深度学习分析的结果提供给车辆控制。例如,将结果提供给车辆控制模块以控制车辆进行自主驾驶和/或实施自主驾驶功能性。在一些实施例中,使用一种或多种不同的机器学习模型通过一个或多个额外的深度学习通路来传递在405中的深度学习分析的结果。例如,车道线的经预测的路径可以用于确定车辆车道,并且所确定的车辆车道用于确定可驾驶空间。可驾驶空间然后用于为车辆确定路径。类似地,在一些实施例中,检测到经预测的车辆切入。针对车辆的所确定的路径考虑了经预测的切入以避免潜在碰撞。在一些实施例中,深度学习的各种输出用于构造用于自主驾驶的车辆的环境的三维表示,该三维表示包括车辆的经预测的路径、标识出的障碍物、标识出的包括速度限制的交通控制信号等。在一些实施例中,车辆控制模块利用所确定的结果来沿着所确定的路径控制车辆。在一些实施例中,车辆控制模块是图1的车辆控制模块109。
52.在409中,控制车辆。在一些实施例中,使用车辆控制模块(诸如图1的车辆控制模块109)来控制激活了自主驾驶的车辆。车辆控制可以在考虑到车辆周围的环境的情况下调节车辆的速度和/或转向,例如以以适合的速度将车辆维持在车道中。在一些实施例中,结果用于在预期邻近车辆将合流到同一车道中时调整车辆。在各种实施例中,使用深度学习分析的结果,车辆控制模块确定适合的方式来例如沿着所确定的路径以适合的速度运行车辆。在各种实施例中,车辆控制的结果(诸如速度变化、制动应用、转向调整等)被保留并且用于训练数据的自动生成。在各种实施例中,车辆控制参数在411中被保留和传输以用于训练数据的自动生成。
53.在411中,传输传感器和相关数据。例如,在401中接收到的传感器数据连同在405中的深度学习分析的结果和/或在409中使用的车辆控制参数一起传输给计算机服务器,以用于训练数据的自动生成。在一些实施例中,数据是数据的时间系列,并且各种收集的数据由计算机服务器关联在一起。例如,里程计数据与捕获到的图像数据相关联以生成真实数据。在各种实施例中,所收集的数据例如经由wifi或蜂窝连接从车辆无线传输到训练数据中心。在一些实施例中,元数据连同传感器数据一起传输。例如,元数据可以包括一天中的时间、时间戳、地点、车辆类型、车辆控制和/或操作参数,诸如速度、加速度、制动、是否启用了自主驾驶、转向角、里程计数据等。额外元数据包括自传输上一个先前传感器数据以来的时间、车辆类型、天气状况、道路状况等。在一些实施例中,所传输的数据例如通过移除车辆的唯一标识符而被匿名化。作为另一示例,合并来自类似车辆模型的数据以防止单独用户
及其车辆的使用被标识。
54.在一些实施例中,仅响应于触发而传输数据。例如,在一些实施例中,错误的预测触发传感器和相关数据的传输以自动收集数据,以便创建用于改善深度学习网络的预测的组织的示例集合。例如,通过将预测与观察到的实际结果进行比较,将在405中执行的与车辆是否正在试图合流相关的预测确定为错误的。然后传输与错误的预测相关联的数据(包括传感器和相关数据)并且将其用于自动生成训练数据。在一些实施例中,触发可以用于标识特定场景,诸如急转弯、道路岔路口、车道合流、突然停靠或其他适合的场景,其中额外训练数据是有帮助的并且可能难以收集。例如,触发可以是基于自主驾驶特征的突然停用或退出。作为另一示例,车辆操作特性(诸如速度变化和加速度变化)可以形成触发的基础。在一些实施例中,具有小于特定阈值的准确性的预测触发传输传感器和相关数据。例如,在某些场景中,预测可以不具有布尔型正确或错误结果,而是通过确定预测的准确性值来进行评估。
55.在各种实施例中,在一段时间内捕获传感器和相关数据,并且一起传输数据的整个时间系列。时间段可以被配置和/或可以是基于一个或多个因素,诸如车辆的速度、所行驶的距离、速度变化等。在一些实施例中,捕获到的传感器和/或相关数据的采样速率是可配置的。例如,在更高的速度下、在突然制动期间、在突然加速期间、在猛烈转向期间或在需要额外保真度时的另一适合场景,采样速率会增加。
56.图5是图示了从车辆传感器捕获到的图像的示例的示图。在所示出的示例中,图5的图像包括从在两条车道线之间的车道中行驶的车辆捕获到的图像数据500。车辆和用于捕获图像数据500的传感器的地点由标签a表示。图像数据500是传感器数据并且可以在驾驶时从摄像头传感器(诸如车辆的前置摄像头)捕获。图像数据500捕获车道线501和511的部分。车道线501和511随着车道线501和511接近地平线而向右转弯。在所示出的示例中,车道线501和511是可见的,但是随着车道线转弯远离摄像头传感器的地点向远处取直而变得越来越难以检测。在没有任何额外输入的情况下,在车道线501和511的顶部绘制的白线近似于来自图像数据500的车道线501和511的可检测部分。在一些实施例中,车道线501和511的检测到的部分可以通过分割图像数据500来检测。
57.在一些实施例中,标签a、b以及c对应于道路上的不同地点以及时间系列的不同时间。标签a对应于在捕获到图像数据500时车辆的时间和地点。标签b对应于在标签a的地点前面并且在标签a的时间之后的时间时道路上的地点。类似地,标签c对应于在标签b的地点前面并且在标签b的时间之后的时间时道路上的地点。随着车辆的行驶,车辆经过标签a、b以及c的地点(从标签a到标签c),并且在行驶时捕获传感器和相关数据的时间系列。时间系列包括在标签a、b以及c的地点(和时间)处捕获到的元素。标签a对应于时间系列的第一元素,标签b对应于时间系列的中间元素,并且标签c对应于时间系列的中间(或潜在的最后一个)元素。在每个标签处,捕获额外数据,诸如车辆在标签地点中的里程计数据。根据时间系列的长度,捕获额外的或更少的数据。在一些实施例中,时间戳与时间系列的每个元素相关联。
58.在一些实施例中,确定车道线501和511的真实数据(未示出)。例如,使用本文中所公开的过程,通过从元素时间系列的不同元素中标识车道线501和511的不同部分来标识车道线501和511的地点。在所示出的示例中,部分503和513使用图像数据500和在标签a的地
点和时间处获得的相关数据(诸如里程计数据)标识。部分505和515使用图像数据(未示出)和在标签b的地点和时间处获得的相关数据(诸如里程计数据)标识。部分507和517使用图像数据(未示出)和在标签c的地点和时间处获得的相关数据(诸如里程计数据)标识。通过分析元素的时间系列,标识车道线501和511的不同部分的地点,并且可以通过组合不同的标识出的部分来确定真实数据。在一些实施例中,将这些部分标识为沿着车道线的每个部分的点。在所示出的示例中,仅突出显示了每条车道线的三个部分(车道线501的部分503、505和507以及车道线511的部分513、515和517)以解释该过程,但可以在时间系列内捕获额外部分来以更高分辨率和/或更高准确性确定车道线的地点。
59.在各种实施例中,以高准确度确定捕获车道线501和511的图像数据中的最接近传感器的地点的部分的地点。例如,部分503和513的地点使用图像数据500和标签a的相关数据(诸如里程计数据)以高准确度标识。部分505和515的地点使用图像和标签b的相关数据以高准确度标识。部分507和517的地点使用图像和标签c的相关数据以高准确度标识。通过利用元素的时间系列,由时间系列捕获到的车道线501和511的各种部分的地点可以在三个维度上以高准确度标识,并且用作车道线501和511的真实数据的基础。在各种实施例中,所确定的真实数据与时间系列的所选择的元素(诸如图像数据500)相关联。真实数据和所选择的元素可以用于创建用于预测车道线的训练数据。在一些实施例中,训练数据是自动地且在没有人工标记的情况下创建的。训练数据可以用于训练机器学习模型,以根据捕获到的图像数据(诸如图像数据500)预测车道线的三维轨迹。
60.图6是图示了利用车道线的经预测的三维轨迹从车辆传感器捕获到的图像的示例的示图。在所示出的示例中,图6的图像包括从在两条车道线之间的车道中行驶的车辆捕获到的图像数据600。车辆和用于捕获图像数据600的传感器的地点由标签a表示。在一些实施例中,标签a对应于与图5的标签a相同的地点。图像数据600是传感器数据并且可以在驾驶时从摄像头传感器(诸如车辆的前置摄像头)捕获。图像数据600捕获车道线601和611的部分。车道线601和611随着车道线601和611接近地平线而向右转弯。在所示出的示例中,车道线601和611是可见的,但是随着车道线转弯远离摄像头传感器的地点并向远处取直而变得越来越难以检测。在车道线601和611的顶部绘制的红线是车道线601和611的经预测的三维轨迹。使用本文中所公开的过程,将图像数据600用作对经训练的机器学习模型的输入来预测三维轨迹。在一些实施例中,将经预测的三维轨迹表示为三维参数化样条或另一种参数化形式的表示。
61.在所示出的示例中,车道线601和611的部分621是车道线601和611的在远处偏离的部分。车道线601和611的部分621的三维地点(即,经度、纬度以及高度)使用本文中所公开的过程以高准确度确定并且被包括在车道线601和611的经预测的三维轨迹中。使用经训练的机器学习模型,可以使用图像数据600并且在不需要车道线601和611的部分621的地点处的地点数据的情况下预测车道线601和611的三维轨迹。在所示出的示例中,在标签a的地点和时间处捕获图像数据600。
62.在一些实施例中,图6的标签a对应于图5的标签a,并且仅将图像数据600用作对经训练的机器学习模型的输入来确定车道线601和611的经预测的三维轨迹。通过使用真实数据(该真实数据使用图像和时间系列的包括在图5的标签a、b以及c的地点处获得的元素的相关数据来确定)训练机器学习模型,以高准确度预测车道线601和611的三维轨迹,甚至在
远处的车道线的部分,诸如部分621。尽管图像数据600和图5的图像数据500是相关的,但轨迹的预测不需要将图像数据600包括在训练数据中。通过基于足够的训练数据进行训练,即使针对新遇到的场景也可以预测车道线。在各种实施例中,车道线601和611的经预测的三维轨迹用于将车辆的位置维持在检测到的车道线内和/或沿着预测车道线的检测到的车道自主导航车辆。通过以三维形式预测车道线,显著地提高了导航的性能、安全性和准确性。
63.尽管已经出于清楚理解的目的对前述实施例进行了一些详细地描述,但本发明不限于所提供的细节。存在实施本发明的许多备选方式。所公开的实施例是说明性的,而非限制性的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献