改进的机器学习的制作方法

文档序号:32052580发布日期:2022-11-04 18:44阅读:68来源:国知局
改进的机器学习的制作方法

1.本公开涉及改进的机器学习。


背景技术:

2.执行经训练的机器学习程序的计算机可以使用来自诸如光学相机和激光雷达的图像传感器的数据来检测和识别对象。对象数据可以用于各种机器,诸如车辆、制造机器人、仓储机器人等。例如,可以将来自车辆中的图像传感器的数据提供给车辆计算机,所述车辆计算机可以基于机器学习程序来检测和/或识别对象,由此计算机被辅助控制和/或辅助车辆操作。训练机器学习程序以检测和识别对象通常需要大量的训练数据,并且可能需要大量的计算机处理周期和时间。


技术实现要素:

3.训练用于对象检测和/或识别的机器学习程序依赖于极大量正确标记的图像,即,伴随有指定图像数据中表示的对象的标签或标记的图像数据。有利地,如本文所公开的,可以获得大量标记图像数据集,并且此外,可以执行诸如对所接收的标记图像数据集的交叉验证的处理,从而提供用于训练dnn的可靠的标记图像数据集。如下面进一步解释的,诸如车辆的可移动对象检测平台中的计算机可以检测对象,对象之后可以经由车辆人机界面(hmi)中的显示器呈现给用户。用户可以经由对hmi的输入来提供所显示对象的标签。然后可以将用户提供的标签和相关联的图像数据提供给中央服务器以用于训练诸如深度神经网络(dnn)的机器学习程序。然后可以将dnn部署到例如车辆以提供对象检测,所述对象检测可以被提供作为用于操作诸如车辆的机器的基础。
4.一种系统包括:具有车辆外部的视野的图像传感器;所述车辆中的被布置为基于来自所述图像传感器的数据来显示图像的人机界面(hmi);和包括处理器和存储器的第一计算机。所述第一计算机被编程为将来自所述图像传感器的数据提供给机器学习程序,所述机器学习程序输出围绕对象的边界框;使得围绕所述对象的所述边界框经由所述hmi显示;以及将包括识别所述对象的输入的标签的对象数据传输到远离所述车辆的第二计算机。
5.所述机器学习程序还可输出所述对象的一个或多个候选标签,并且所述第一计算机可被编程为接收指定对所述一个或多个候选标签中的一个的用户选择的输入。
6.所述对象可以是多个对象中的第一对象并且所述边界框是多个边界框中的第一边界框。所述机器学习程序还可输出所述多个边界框,包括所述第一边界框和至少一个第二边界框。然后所述边界框中的每一个可围绕包括所述第一对象和至少一个第二对象的所述多个对象中的相应对象提供。
7.所述对象数据还可包括关于所述车辆周围的环境的与所述输入的标签被输入的时间相关联的数据。
8.来自图像传感器的数据可包括多个视频帧,所述多个视频帧包括对象并在车辆移
动时的时间间隔内捕获。输入的标签可为第一输入的标签并与时间间隔中的第一时间相关联,并且所述对象数据可包括分别与时间间隔中的一个或多个第二时间相关联的一个或多个第二输入的标签。
9.所述车辆可以是多个车辆中的第一车辆,并且所述对象数据可以是多个对象数据集中的第一对象数据集,由此所述输入的标签是相应对象数据集中的多个输入的标签中的一个。所述系统还可包括所述第二计算机,其中所述第二计算机包括第二处理器和第二存储器并被编程为从所述多个车辆中的相应车辆接收所述多个对象数据集。所述第二计算机还可被编程为执行交叉验证以验证或拒绝所述对象数据集中的一者或多者中的标签。所述第二计算机还可被编程为从所述对象数据中移除被拒绝的标签。所述第二计算机还可被编程为通过基于所述交叉验证的结果调整用于请求用户输入的规则来提供更新的数据收集程序;以及向所述车辆提供所述更新的数据收集程序。所述第二计算机还可被编程为基于所述交叉验证的所述结果来对与所述对象数据集中的一个相关联的用户进行分类;其中所述规则指定是否允许所述用户提供输入的数据,并且调整所述规则包括确定所述用户不被允许提供所述输入的数据。所述第二计算机还可被编程为确定所述对象数据集中的所述对象中的一个的类型,其中当候选标签指定所述类型时,所述规则指定请求为所述对象中的所述一个提供所述输入的标签的用户提供输入的频率,并且调整所述规则包括基于所述交叉验证的结果调整所述机器学习程序以较频繁地或较不频繁地向提供所述输入的标签的用户呈现所述类型的对象。所述第二计算机还可被编程为将相应的输入的标签与地图数据进行比较以执行对所述输入的标签或所述地图数据中的一者的验证。
10.所述机器学习程序可为第一机器学习程序,并且所述第二计算机还可被编程为基于所述多个对象数据集来生成第二机器学习程序以执行对象识别。所述第二计算机还可被编程为向所述多个车辆中的一个或多个车辆或另一车辆提供所述第二机器学习程序。所述第一计算机还可被编程为接收所述第二机器学习程序,并根据从所述第二机器学习程序输出的对象识别来操作所述车辆。
附图说明
11.图1是示例性对象检测系统的框图。
12.图2示出了车辆中的示例性人机界面。
13.图3示出了车辆中的人机界面的另一个示例。
14.图4是示例性深度神经网络的框图。
15.图5是用于训练和部署对象检测模块的示例性过程的过程流程图。
16.图6是包括收集用于训练对象检测模块的数据和训练对象检测模块的细节的过程流程图。
具体实施方式
17.参考图1,对象检测系统100可以包括多个对象检测平台,即,包括诸如本文所讨论的元件的移动机器,由此平台可以获得多个位置处的图像数据。本文所示和讨论的示例性对象检测平台是常规的地面车辆102。如图1所示,车辆102可以包括各种元件,包括被布置成经由车辆网络106与其他车辆102部件通信的车辆102计算机104,所述其他车辆部件包括
传感器、各种车辆子系统110和通信模块120。此外,图1示出了可以包括本文描述的各种元件的多个车辆102,但是为了便于说明,图1仅关于所描绘的车辆102中的一个详述了各种元件。
18.车辆102通常包括多个计算装置,包括被设置为执行对象检测操作的车辆102计算机104。车辆102计算机104可以包括各种程序模块,即,作为用于执行诸如下面描述的指定操作或算法的程序指令集的计算机程序。例如,为了支持对象检测操作,计算机104可以包括数据收集模块122和/或对象检测模块124。
19.数据收集模块122可以包括被训练以识别候选对象132以及可能还有候选标签136的第一机器学习程序,所述候选对象和候选标签可以例如在车辆102的hmi 118中呈现给用户,如下面进一步描述的。可以将数据收集模块122中收集的对象数据提供给远程服务器128以训练第二机器学习程序,所述第二机器学习程序可以包括在对象检测模块124中,所述对象检测模块124可以部署到一个或多个车辆102以执行对象识别。如图1所示,车辆102 102包括收集模块122和检测模块124两者,但是在实际实现方式中,车辆102可以包括收集模块122而没有检测模块124或包括检测模块124而没有收集模块122。一旦被训练,就可以将检测模块124提供(例如,从远程服务器128下载)到一个或多个车辆102。车辆102计算机104可接收包括第二机器学习程序的对象检测模块124,并且然后可根据从该第二机器学习程序输出的对象识别来操作车辆102。
20.数据收集模块122可以包括用以经由车辆网络106从车辆102中的一个或多个图像传感器108接收图像数据并且使hmi 118显示所述图像的程序指令。计算机104还可以包括用以将来自图像传感器的数据提供给包括在数据收集模块122中的机器学习程序的程序指令,所述机器学习程序检测对象并输出可以围绕对象显示的对象的边界框134。例如,计算机104还可以被编程为然后经由hmi 118显示围绕对象的边界框134。经由hmi 118,计算机104可以接收用户输入以标记对象(即,计算机104可以接收输入的标签)。数据收集模块122中的机器学习程序可以是诸如下面进一步描述的dnn 138。
21.检测模块124可以包括被训练为识别(或分类)对象以支持车辆102的操作的第二机器学习程序。例如,第二机器学习程序可以包括如下所述的dnn 138,其被训练为接受图像数据作为输入(即,输入的图像数据)并输出对象分类或识别。检测模块124中的第二机器学习程序不一定但可以至少部分地利用从相应车辆102中的收集模块122提供的数据进行训练。
22.用于提供要输入到数据收集模块122和/或检测模块124的图像数据的图像传感器108包括在车辆102中或上,并且具有车辆102外部的视野。基于经由车辆网络提供给计算机的来自一个或多个图像传感器的图像数据,收集模块可以识别候选对象132。候选对象由图像中的一组像素限定,其中该组像素由包括在收集模块122中的机器学习程序识别为属于对象。
23.hmi 118可以包括显示器、触摸屏显示器、传声器、扬声器等中的一者或多者。替代地或另外地,hmi 118的显示器可以包括增强现实(ar)显示器,例如,以在车辆102中显示包括如本文所述的图像和数据,例如,hmi可以包括抬头显示器(hud)等以在车辆102的车窗或前风挡(挡风玻璃)等上显示内容。用户可以经由hmi 118向装置诸如计算机104提供输入。hmi 118可以经由车辆网络106与计算机104通信,例如,hmi 118可以向计算机104发送包括
经由触摸屏、传声器、捕捉手势的相机等提供的用户输入的消息,和/或可以例如经由屏幕、扬声器等显示输出。
24.因此,设置在车辆102中的hmi 118可以被布置为基于来自图像传感器的数据显示图像,包括候选对象132。此外,在一些实现方式中,计算机104使hmi 118显示候选对象132的候选标签136。除了确定图像数据中的对象和对象的边界框134之外,机器学习程序还可以输出候选标签136。计算机104可以被编程为响应于经由hmi 118和/或由用户例如经由语音输入(例如,“汽车”或“树”)提供的列表、响应于包括边界框134的图像来接收指定对一个或多个候选标签136中的一个的用户选择的输入。在一些实现方式中,机器学习程序可能不输出和/或hmi 118可能不显示候选标签136。此外,无论hmi 118是否显示候选标签136,计算机104都还可以被编程为经由hmi 118接收候选标签136的用户输入,例如语音输入。
25.在一些实现方式中,机器学习程序可以检测图像中的多个对象(即,两个或更多个),并且可以为检测到的对象中的每一个提供相应的边界框134。然后,用户可以选择对象中的一个进行标记,然后可以提供如上所述的候选标签136。例如,在这种示例中,分别在图2和图3中示出的两个候选对象132可以在显示器上一起呈现给用户。用户可以例如通过对触摸屏的输入或语音输入(例如,“标记左”或“标记右”)来选择对象中的一个,然后可以提供如刚刚描述的候选标签136。
26.车辆102计算机104中的收集模块122通常还包括用于将对象数据(即,包括对象和相关联的输入的候选标签136的图像)传输到第二计算机104(即,经由广域网126到远程服务器128)的编程。替代地或另外地,可以经由其他合适的机制从车辆102计算机104获得对象数据,例如,通过设置在车辆102上的数据端口(诸如usb(通用串行总线)端口)进行访问。
27.在一个实现方式中,除了图像数据和输入的候选标签136之外,对象数据还可以包括与输入的候选标签136被输入的时间相关联的环境数据;环境数据是提供车辆102外部(即,在车辆102周围的环境中)的现象的测量值的数据。因此,车辆环境数据可包括道路数据、天气数据、交通密度数据等。此外,环境数据通常由车辆102传感器108收集,但是替代地或另外地,可以基于车辆102在指定位置处或行进通过指定位置的一个或多个时间从车辆102外部的源(例如,远程源诸如服务器128)提供。
28.图像传感器可包括多个视频帧,所述多个视频帧包括对象并在车辆102移动时的时间间隔内捕获。在此类示例中,经由车辆102的hmi 118呈现给用户的对象的图像可以是静止图像,例如,帧中的一个。然而,提供给远程服务器128的对象数据可以包括多个帧,例如持续一段时间(诸如5秒、10秒等)的帧,以及输入的候选标签136。与从单个帧(即,包括在单个时间点处的对象的帧)可提供的用于训练机器学习程序以进行对象识别的标签数据集相比,提供在时间间隔期间收集的并且包括与输入的候选标签136相关联的对象的多个帧有利地提供了更丰富的标签数据集。
29.输入的候选标签136可为与时间间隔中的第一时间相关联的第一输入的候选标签136;所述对象数据然后可包括分别与时间间隔中的一个或多个第二时间相关联的一个或多个第二输入的候选标签136。也就是说,输入的候选标签136可以与不同的时间间隔相关联。例如,可以在第一时间间隔之后经由hmi 118显示对象的图像,并且可以获得用户输入的候选标签136。然后可以在第二时间间隔之后经由hmi 118显示该对象的图像,并且可以获得该对象的第二用户输入的候选标签136。然后,可以将相应的对象数据集(即,针对第一
时间间隔和第二时间间隔中的每一者)提供给远程服务器128,并且将其存储在服务器128中或可由服务器128访问的对象数据库130中。
30.如上所述,对象检测系统100通常包括多个车辆102。因此,为方便起见,从第一车辆102提供给远程服务器128的对象检测数据可以被称为多个对象数据集中的第一对象数据集。包括在第一对象数据集中的输入的候选标签136是来自多个车辆102中的相应车辆102的对象数据集中的多个输入的候选标签136中的一个。因此,中央服务器128可以被编程为从多个车辆102中的相应车辆102接收多个对象数据集。
31.服务器128可以被编程为根据任何合适的交叉验证技术来执行交叉验证,以验证或拒绝对象数据集中的一者或多者中的标签。从多个车辆102和/或从多个用户接收数据的一个优点是可以使用交叉验证来评估来自相应车辆102和/或用户的输入。例如,对象数据可以从多个车辆102收集,并且被确定为与同一对象相关,即,基于相应对象数据的收集时间在预定间隔内,并且在彼此的预定阈值(例如,五米或10米)内的相应位置处收集对象数据。然后可以使用交叉验证技术来评估使用对象数据的机器学习程序的训练。此外,可以使用交叉验证技术来保留由特定源(例如,车辆102和/或用户)提供的数据,然后将所保留的对象数据中的输入的候选标签136与训练机器学习程序的结果进行比较。然后,如果该比较指示对象数据集包括被拒绝的标签,例如,基于根据其他对象数据训练机器学习程序的结果,源包括对对象的不正确的标记,则服务器128可以拒绝被视为不正确的标签。可以从之后将用于训练机器学习程序的对象数据中移除被拒绝的标签。
32.此外,服务器128可以基于接受或拒绝来自对象数据源的对象数据中的标签来生成针对对象数据源(例如,用户和/或车辆102)的分类。分类可以根据针对对象数据源的分数或评级。例如,如果来自源的对象数据包括例如基于交叉验证被确定为正确或不正确中的一者的标签,则服务器128可以被编程为更新针对该源的分类,例如评级。在这种背景下的评级是可以用于分配要赋予来自源的对象数据中的输入的候选标签136的权重的数值。评级可以指示来自源的标签将准确(即,匹配地面实况)的置信度。例如,最初可以为源分配默认值或正常值,例如0.8或80%。然后,服务器128可以被编程为当认为已经提供了不正确或正确的标签时,向上或向下调整默认评级。此外,服务器128可以被编程为在认为已经从源提供了不正确或正确的标签的总数之后,向上或向下调整默认评级。正确或不正确标签的总数可能必须超过阈值数量,例如10个标签、100个标签等,并且可以通过为正确标签分配正值并且为不正确标签分配负值并然后确定该总数为分配给正确和不正确标签的值的总和来确定。
33.用户的评级可以用于向用户提供奖励,例如,可以向用户装置提供代币等以进行购买、获得折扣等。评级也可以用于向用户提供改进以获得奖励的鼓励。此外,服务器128的计算机104可以通过基于交叉验证的结果(例如,基于调整对象数据源(例如,车辆102或车辆102的用户)的评级)调整用于请求用户输入的规则来向车辆102提供更新的数据收集模块122。例如,基于评级的对象数据源的分类可以指定允许或不允许用户提供输入的候选标签136。数据收集模块122中的更新的规则可以指定先前被允许提供输入的候选标签136的用户不再被允许提供输入的候选标签136和/或由该用户输入的候选标签136将被忽略,例如,未在从车辆102到远程服务器128的对象数据中提供。
34.此外,诸如用户的对象数据源的分类可以包括针对特定类型的对象来对源的评
级。对象的类型意指可以由机器学习程序输出的对象的分类,例如,车辆102、岩石、路标、行人、自行车、围栏等是对象的类型。服务器128的计算机可以被编程为例如根据机器学习程序来确定对象数据集中的对象中的一个的类型。基于来自机器学习程序的对象的所识别类型和对来自源的对象数据集中的对象类型的识别的交叉验证,可以更新数据收集模块122中的规则以在候选标签136指定类型时指定请求为对象中的一者提供输入的候选标签136的用户提供输入的频率(例如,在零到一的标度上,其中零是“从不”并且一是“总是”)。
35.在一些实现方式中,所述服务器128的计算机可被编程为将相应的对象数据集中的输入的候选标签136与地图数据进行比较以执行对所述输入的候选标签136或所述地图数据中的一者的验证。如上所述,对象数据通常包括指定包括在对象数据中的图像被收集所在的位置的位置数据。可以将对象数据中的位置与地图上指定的位置进行比较以验证输入的候选标签136。如果对象数据中的位置在地图上指定的对象的位置的预定阈值内并且输入的候选标签136识别出针对地图上指定的对象的位置指示的对象的类型,例如路标、交通信号灯等,则可以确定输入的候选标签136已经被验证。因此,输入的候选标签136与地图数据的比较可以用于改进用于训练检测模块124的标签,和/或可以是上述用于调整对象源的评级的交叉验证的替代或附加机制。
36.如上所述,检测模块124可以用于提供输出以操作一个或多个车辆子系统110,所述车辆子系统包括各种部件,诸如制动子系统112、推进子系统114、转向子系统116和车辆102的hmi 118。制动子系统112抵抗车辆102的运动,从而使车辆102减速和/或停止。制动子系统112可以包括摩擦制动器,诸如盘式制动器、鼓式制动器、带式制动器等;再生制动器;任何其他合适类型的制动器;或组合。制动子系统112与计算机104和/或人类操作者进行通信并从其接收输入。人类操作者可以经由例如制动踏板来控制制动子系统112。转向子系统116控制车轮的转动。转向子系统116与方向盘和/或计算机104进行通信并且从其接收输入。转向子系统116可以包括具有电动助力转向的齿条小齿轮系统、线控转向系统(例如诸如已知的)或者任何其他合适的系统。推进子系统114可以包括内燃发动机、电动马达、混合动力发动机等中的一者或多者。
37.图2和图3示出了车辆102中的hmi 118的相应示例,所述hmi包括由边界框134包围的候选对象132以及候选对象132的一组候选标签136。当车辆102中的收集模块122正在执行时,收集模块122从车辆102传感器108接收数据,所述数据被输入到收集模块122中的机器学习程序,所述机器学习程序然后输出候选对象132以及候选对象132的边界框134。在一些实现方式中,收集模块中的机器学习程序还输出可以包括在hmi中以供车辆102中的用户选择和/或确认的一个或多个候选标签。
38.图4是示例性深度神经网络或dnn 138的框图。例如,dnn 138可以是可加载到存储器中并由计算机104中所包括的处理器执行的软件程序。在示例性实现方式中,dnn 138可包括但不限于卷积dnn 138(cnn)、r-cnn(基于区域的cnn)、快速的r-cnn和更快的r-cnn。dnn 138包括多个节点,并且所述节点被布置成使得dnn 138包括输入层、一个或多个隐藏层以及输出层。dnn 138的每一层可以包括多个节点。尽管示出了三个隐藏层,但是应理解,dnn 138可以包括更多的或更少的隐藏层。输入层和输出层还可包括多于一个节点。
39.节点有时被称为人工神经元140,因为它们被设计成仿真生物(例如,人类)神经元。每个神经元140的一组输入(由箭头表示)各自乘以相应的权重。然后,可以将经加权输
入在输入函数中求和,以在可能通过偏置进行调整的情况下提供净输入。然后,可将净输入提供给激活函数,所述激活函数进而为连接的神经元140提供输出。所述激活函数可以是通常基于经验分析而选择的各种合适的函数。如图中的箭头所示,然后可以提供神经元140输出以包括在下一层中的一个或多个神经元140的一组输入中。
40.作为一个示例,dnn 138可以通过地面实况数据(即,关于真实世界状况或状态的数据)进行训练。例如,dnn 138可用地面实况数据进行训练和/或用附加数据进行更新。例如,可通过使用高斯分布初始化权重,并且可将每个节点的偏差设置为零。训练dnn 138可以包括经由合适技术(诸如反向传播与优化)来更新权重和偏差。地面实况数据是指被认为表示真实世界环境(例如,环境中的状况和/或对象)的数据。因此,地面实况数据可以包括描绘环境(例如,环境中的对象)的传感器数据,以及描述环境的一个或多个标签(例如,描述对象的标签)。地面实况数据还可以包括元数据或由元数据指定,所述元数据诸如获得地面实况数据的一个或多个位置、获得地面实况数据的时间等。
41.在本上下文中,包括在收集模块122中的第一机器学习程序可以是用地面实况数据标签训练的dnn 138以指定真实世界对象,例如汽车、卡车、树、路标、交通信号灯等。可以训练dnn 138以输出候选对象132和候选对象132的边界框134以及一个或多个候选标签136。例如,可以训练dnn 138以例如使用边缘检测技术等来基于表示对象的像素和表示车辆102环境的其余部分的像素来识别车辆102环境的图像中的可能对象。此外,可以训练dnn 138以提供对象的一个或多个初步分类,即,可以提供为一个或多个候选标签136。
42.然后,可以使用由包括第一机器学习程序的收集模块122收集的对象数据来训练包括在检测模块124中的第二机器学习程序。例如,在用户响应于在车辆102的hmi 118中显示包括对象的图像而输入候选标签136之后,车辆102的计算机104然后可以发送包括由边界框134限定的图像的一部分(有时称为“裁剪的”图像)的对象数据以及选择的候选标签136。然后,经裁剪的图像可以是被提供来训练第二机器学习程序的图像。此外,如上所述,对象数据可以包括其他数据,诸如捕获图像时车辆102的位置、环境数据等。
43.图5是用于训练和部署对象检测模块124的示例性过程150的过程流程图。
44.过程150可以在框152中开始,其中训练第一机器学习程序(例如,dnn 138)以识别候选对象132和相关联的边界框134,如上所述。
45.接下来,在框154中,将收集模块122部署在一个或多个车辆102中,通常部署在数十、数百或数千个车辆102中。
46.接下来,在框156中,将从如上所述部署的收集模块122收集的对象数据提供给远程服务器128并接收在其中,例如,存储在对象数据库130中,所述对象数据库可以是关系数据库、文件系统等。各种车辆102可以在各种时间(例如,当广域网126可访问时、当车辆102在服务中心附近或在服务中心中时、在预定时间等)提供所收集的数据。
47.接下来,在框158中,可以在服务器128处生成和/或更新检测模块124。也就是说,如上所述,检测模块124可以包括被训练以检测(即,识别和/或分类)对象的第二dnn 138。可以利用如上所述收集的对象数据来训练检测模块124dnn 138。
48.接下来,在框160中,可以将检测模块124提供给一个或多个车辆102。应当注意,尽管在图1中将车辆102示出为包括收集模块122和检测模块124两者,但是各种车辆102将可能并且甚至很有可能包括收集模块122和检测模块124中的一者而不是两者。
49.在框162中,可以使用来自检测模块124的输入至少部分地利用车辆102计算机104来操作一个或多个车辆102以辅助车辆102操作。例如,检测模块124可以提供对象的识别,于是车辆102计算机104可以基于对象识别或分类来致动车辆子系统110。例如,计算机104可以响应于由检测模块124提供的对象识别而使车辆102改变速度或方向,即,致动制动子系统112、推进子系统114和转向子系统116中的一者或多者。
50.在框162之后,过程150结束。
51.图6是包括用于执行收集模块122用于训练对象检测模块124并训练对象检测模块的示例性过程170的细节的过程流程图。
52.过程170在框172中开始,其中车辆102中的收集模块122监测候选对象132的车辆102环境。如上所述,收集模块122可以包括第一机器学习程序以检测候选对象132。收集模块122还可以包括用于开始监测的编程,例如,当车辆102的点火装置处于“开启”状态时,当车辆102正在移动时,当收集模块122根据用户输入被激活时,当收集模块122基于车辆102的gps传感器指定车辆102处于收集模块122被编程以监测的区域中的位置而被激活时等。收集模块122还可以包括以下编程:当收集模块122中的机器学习程序输出候选对象132和边界框134时,显示候选对象132和边界框134的图像并且可能还显示候选图像的候选标签136。
53.接下来,在框174中,车辆102的计算机104可以确定收集模块122是否已经输出了候选对象132。如果是,则接下来执行框176。否则,过程170前进到框180。
54.在框176中,计算机104可以使候选对象132和相关联的边界框134显示在车辆102的hmi 118的显示器中,例如,如图2和图3所示。
55.接下来,在框178中,计算机104 110可以例如经由车辆102的hmi 118接收提供候选标签136的输入。例如,用户可以从如图2和图3所示提供的列表中选择候选标签136。替代地或另外地,计算机104 110可以被编程为接受由用户指定的候选标签136而没有一个或多个提示性的标签的列表。也就是说,可以省略图2和图3中的候选标签136的列表,或者即使它们未被限制,用户也可以提供指定标签(例如,“汽车”、“树”、“自行车”等)的输入例如语音输入,而不考虑候选标签136的列表。
56.在框174或178之后,在框180中,确定过程170是否继续。例如,可以提供用户输入以停止该过程,车辆102可以转变到“关闭”状态等。如果过程170要继续,则接下来执行框172。否则,过程170前进到框182。
57.在框182中,将在框178中收集并存储的对象数据卸载到服务器128(例如,或存储在对象数据库130中)以用于训练检测模块124。如上所述,对象数据通常包括由边界框134限定的包括候选对象132的图像,以及对象的输入候选标签136,并且可能还有其他数据,诸如环境数据。可以经由各种机制(例如,经由通过广域网126的调度传送、通过访问车辆102上的数据端口等)从车辆102计算机104卸载对象数据。
58.在框182之后,过程170结束。
59.本文中“响应于”、“基于”和“在确定
……
时”的使用指示因果关系,而不仅仅是时间关系。
60.术语“示例性”在本文中以表示示例的意义使用,例如,对“示例性小部件”的引用应被解读为仅指代小部件的示例。
61.计算机的可执行指令可以由使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术单独地或组合地包括但不限于java
tm
、c、c++、visual basic、java script、perl、html等。通常,处理器(例如,微处理器)例如从存储器、计算机可读介质等接收指令,并且执行这些指令,由此执行一个或多个过程,其包括本文所述的过程中的一者或多者。此类指令和其他数据可使用各种计算机可读介质来存储和传输。联网装置中的文件通常是存储在计算机可读介质(诸如存储介质、随机存取存储器等)上的数据的集合。计算机可读介质包括参与提供可以由计算机读取的数据(例如,指令)的任何介质。这种介质可采用许多形式,包括但不限于非易失性介质、易失性介质等。非易失性介质包括例如光盘或磁盘和其他持久性存储器。易失性介质包括通常构成主存储器的动态随机存取存储器(dram)。计算机可读介质的常见形式包括例如软盘、软磁盘、硬盘、磁带、任何其他磁性介质、cd rom、dvd、任何其他光学介质、任何其他具有孔图案的物理介质、ram、prom、eprom、快闪eeprom、任何其他存储器芯片或盒式磁带、或者计算机可以从中读取的任何其他介质。
62.在附图中,相同的附图标记指示相同的元素。另外,可改变这些元素中的一些或全部。就本文所描述的介质、过程、系统、方法等而言,应理解,虽然此类过程的步骤等已经被描述为按照特定的顺序发生,但是除非以其他方式指示或上下文明确,否则可在按照本文所述顺序以外的顺序执行所述步骤的情况下实践此类过程。同样,还应当理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且决不应解释为限制所要求保护的发明。
63.已经以说明性方式描述了本公开,并且应当理解,已经使用的术语意图具有描述性词语而非限制性词语的性质。鉴于以上教导,本公开的许多修改和变化是可能的,并且本公开可以不同于具体描述的其他方式来实践。本发明旨在仅受以下权利要求的限制。
64.根据本发明,提供了一种系统,其具有:图像传感器,所述图像传感器具有车辆外部的视野;所述车辆中的人机界面(hmi),所述hmi被布置为基于来自所述图像传感器的数据来显示图像;和第一计算机,所述第一计算机包括处理器和存储器并且被编程为:将来自所述图像传感器的数据提供给机器学习程序,所述机器学习程序输出围绕对象的边界框;使得围绕所述对象的所述边界框经由所述hmi显示;以及将包括识别所述对象的输入的标签的对象数据传输到远离所述车辆的第二计算机。
65.根据实施例,所述机器学习程序还输出所述对象的一个或多个候选标签,并且所述第一计算机被编程为接收指定对所述一个或多个候选标签中的一个的用户选择的输入。
66.根据实施例,所述对象是多个对象中的第一对象并且所述边界框是多个边界框中的第一边界框;所述机器学习程序还输出所述多个边界框,包括所述第一边界框和至少一个第二边界框;并且进一步其中所述边界框中的每一个围绕包括所述第一对象和至少一个第二对象的所述多个对象中的相应对象提供。
67.根据实施例,所述对象数据还包括关于所述车辆周围的环境的与所述输入的标签被输入的时间相关联的数据。
68.根据实施例,来自图像传感器的数据包括多个视频帧,所述多个视频帧包括对象并在车辆移动时的时间间隔内捕获。
69.根据实施例,输入的标签为第一输入的标签并与时间间隔中的第一时间相关联,并且所述对象数据包括分别与时间间隔中的一个或多个第二时间相关联的一个或多个第
二输入的标签。
70.根据实施例,所述车辆是多个车辆中的第一车辆,并且所述对象数据是多个对象数据集中的第一对象数据集,由此所述输入的标签是相应对象数据集中的多个输入的标签中的一个;并且所述系统还包括所述第二计算机,其中所述第二计算机包括第二处理器和第二存储器并被编程为从所述多个车辆中的相应车辆接收所述多个对象数据集。
71.根据实施例,所述第二计算机还被编程为执行交叉验证以验证或拒绝所述对象数据集中的一者或多者中的标签。
72.根据实施例,所述第二计算机还被编程为从所述对象数据中移除被拒绝的标签。
73.根据实施例,所述第二计算机还被编程为:通过基于所述交叉验证的结果调整用于请求用户输入的规则来提供更新的数据收集程序;以及向所述车辆提供所述更新的数据收集程序。
74.根据实施例,所述第二计算机还被编程为基于所述交叉验证的所述结果来对与所述对象数据集中的一个相关联的用户进行分类;所述规则指定是否允许所述用户提供输入的数据;并且调整所述规则包括确定所述用户不被允许提供所述输入的数据。
75.根据实施例,所述第二计算机还被编程为确定所述对象数据集中的所述对象中的一个的类型;当候选标签指定所述类型时,所述规则指定请求为所述对象中的所述一个提供所述输入的标签的用户提供输入的频率;并且调整所述规则包括基于所述交叉验证的结果调整所述机器学习程序以较频繁地或较不频繁地向提供所述输入的标签的用户呈现所述类型的对象。
76.根据实施例,所述第二计算机还被编程为将相应的输入的标签与地图数据进行比较以执行对所述输入的标签或所述地图数据中的一者的验证。
77.根据实施例,所述机器学习程序为第一机器学习程序,并且所述第二计算机还被编程为基于所述多个对象数据集来生成第二机器学习程序以执行对象识别。
78.根据实施例,所述第二计算机还被编程为向所述多个车辆中的一个或多个车辆或另一车辆提供所述第二机器学习程序。
79.根据实施例,所述第一计算机还被编程为接收所述第二机器学习程序,并根据从所述第二机器学习程序输出的对象识别来操作所述车辆。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1