交通灯分类系统的无标记性能评估器的制作方法

文档序号:33165013发布日期:2023-02-04 01:23阅读:93来源:国知局
交通灯分类系统的无标记性能评估器的制作方法
交通灯分类系统的无标记性能评估器
1.相关申请的交叉引用
2.本专利文件要求2020年6月16日提交的美国专利申请第16/902,678号的优先权,其公开内容通过引用完全并入本文件。


背景技术:

3.该文档描述了针对评估交通灯分类器系统的性能的方法和系统,诸如在自主载具和交通基础设施系统中使用的那些。
4.交通信号设备对安全驾驶至关重要。当载具通过或进入某些交叉路口或其他区域是安全、合法和适当的时间时,它们会发出信号。出于这个原因,自主载具需要精确检测交通信号设备的各种信号元件以及这些信号元件中的每一个的状态的能力。一旦确定,该信息被用于准确地指示自主载具如何对交通信号设备做出反应。
5.自主载具需要一种机制来确定交通信号的状态,使得它们可以安全地在交叉路口导航。这项任务的安全关键程度需要一个可扩展的管道来评估其性能。评估交通灯分类器性能的最明显的方法是使用人类用地面真实交通灯状态标记的数据。当交通灯分类器在相同的输入数据上运行时,可以将这些标记与交通灯分类器的输出进行比较,并且可以以多种方式评估性能。例如,不正确分类的绝对数量可以被量化并除以分类的总数,以给出错误率。还可以评估特定灯泡的分类置信度,以提供诸如平均精度的数字。不管最终报告的数字是多少,这种方法都有若干问题。
6.出于数种原因,环境条件和交通灯配置的变化会导致某些分类错误。为了最小化分类错误,已经提出了标记大量图像数据。这种方法适用于一些交通灯,但当标记大量数据时,它变得更加复杂和难以扩展。此外,对于实时数据分析或机器学习算法,处理用于实时分类交通灯信号的标记数据在计算上是复杂的。因此,载具基于经由实时数据接收的交通灯状态做出导航决策的能力变得非常有限。
7.因此,至少由于这些原因,需要一种在没有标记数据的情况下对交通信号设备的状态进行分类的评估分类器的性能的方法。


技术实现要素:

8.在各种实施例中,公开了一种用于评估分类器的方法,该分类器用于确定数字图像中的交通灯信号状态。该方法包括通过载具的计算机视觉系统接收即将到来的交叉路口的交通信号设备的至少一个数字图像。该交通信号设备包括交通信号面,该交通信号面包括一个或多个交通信号元件。该方法包括由处理器通过交通灯分类器(tlc)使用与所接收的至少一个图像相关的标记图像对交通信号面的分类状态进行分类。当接近或处于交叉路口时,载具使用分类状态来控制载具的操作。该方法包括由处理器评估由tlc生成的分类状态的分类性能。该评估是基于未标记图像的无标记性能评估。该方法包括由处理器基于评估的性能训练tlc。
9.在一些实施例中,交叉路口可以包括多个交通信号设备。然后该评估可以包括由
处理器:(i)在交通信号设备的多个数字图像的序列中进行检测;(ii)在性能评估时间段内具有时间上不一致的交通灯转换的多个数字图像的不允许序列;(iii)计算时间上不一致的交通灯转换的不允许序列的数量;(iv)计算多个数字图像的转换序列的总数;以及(v)相对于转换序列的总数来归一化不允许序列。训练可以包括由处理器使用归一化的不允许序列来训练tlc。
10.该至少一个数字图像可以包括来自车载多个相机中的每个相机的至少一个数字图像。多个相机中的两个或更多个相机可以包括重叠的视场。然后该评估可以包括由处理器使tlc将相同的分类状态分配给来自具有重叠的视场的两个或更多个相机的交通信号面的每个数字图像的每个实例。
11.该载具可以是第一载具。然后该评估可以包括由处理器:(i)检测第一载具附近的第二载具,第二载具具有即将出现的交叉路口的交通信号设备的重叠的视场(fov);(ii)从第二载具接收通信,该通信包括与由第二载具的tlc分类的分类状态相关联的信息;以及(iii)比较由第一载具的tlc分类的分类状态和接收的由第二载具的tlc分类的分类状态,以确定由第一载具的tlc分类的分类状态中是否存在错误。训练可以包括由处理器使用比较的结果来训练tlc。
12.在一些实施例中,由处理器进行的评估可以包括:(i)接收tlc的原始输出序列,原始输出基于一组数字图像,每个原始输出对应于相应的一个分类状态;(ii)对tlc的原始输出进行滤波,以消除原始输出中的高频状态波动,以创建代表基于帧的状态的滤波输出;(iii)将分类状态与基于帧的状态进行比较;和(iv)响应于该比较,识别来自tlc的序列的至少一种分类状态是分类错误。训练可以包括由处理器使用被识别为分类错误的至少一个分类状态来训练tlc。
13.交叉路口可以包括多个具有冗余面的交通信号设备。然后该评估可以包括由处理器确定在性能评估时间段期间冗余面具有不一致分类状态的时间部分。训练可以包括由处理器使用所确定的与交叉路口的冗余面相关联的时间部分来训练tlc。
14.在一些实施例中,该评估可以包括由处理器:(i)确定通过tlc的分类状态是否是不允许的状态转换;以及(ii)识别分类状态是不允许的。训练可以包括由处理器使用所识别的不允许的分类状态来训练tlc。
15.在一些实施例中,不允许的状态转换可以包括以下之一:(i)红色状态,并且交通信号设备的先前分类状态是绿色状态;(ii)黄色状态,并且交通信号设备的先前分类状态是红色状态;以及(iii)绿色状态,并且交通信号设备的先前分类状态是黄色状态。
16.交叉路口可以包括多个具有多灯状态的交通信号设备。然后该评估可以包括,由处理器:(i)检测由tlc生成的分类状态是多灯分类状态;(ii)确定多灯状态规则和多灯交通信号设备的位置;以及(iii)基于所确定的多灯状态规则和多灯交通信号设备的位置,通过tlc检测不可信多灯状态的分类错误。训练可以包括由处理器使用所检测的分类错误来训练tlc。
17.在一些实施例中,对沿着载具的行驶路径的多个交叉路口中的每个即将出现的交叉路口重复确定分类状态。然后该评估可以包括由处理器:(i)在载具日志中查询分类状态的每个记录实例以及与沿着行驶路径通过的那些交叉路口的分类状态相关联的条件;以及(ii)利用至少一个分类概率低的条件来确定载具日志中的那些分类状态。训练可以包括由
处理器使用所确定的具有低分类概率的分类状态来训练tlc。
18.在一些实施例中,tlc可以基于机器学习(ml)算法来确定分类状态。然后该评估可以包括由处理器:(i)响应于对tlc性能的评估,使用tlc的ml算法跟踪被确定为具有失败分类的至少一个数字图像中的那些数字图像;以及(ii)为所述具有失败分类的数字图像生成标记数据,用于通过tlc的分类。
19.在一些实施例中,可以对沿着载具的行驶路径的每个交叉路口重复分类。分类可以创建多个分类状态,这些分类状态可以由tlc生成。然后该评估可以包括由处理器进行的以下任何一项或多项:(i)在第一性能评估时间段内,针对交通信号面的时间上不一致的交通灯转换评估多个分类状态;(ii)针对具有低分类概率的那些存储的分类状态,评估存储在载具日志中的多个分类状态;(iii)基于多灯状态规则和多灯交通信号设备的位置,针对不可信多灯状态的分类错误,评估多个分类状态;(iv)针对交通信号面的不允许的状态转换,评估多个分类状态;(v)针对在第二性能评估时间段期间具有不一致分类状态的交叉路口的多个交通信号设备的时间部分冗余面,评估多个分类状态;或者(vi)评估载具的相应一个分类状态相对于载具和交叉路口附近的第二载具的相应一个分类状态之间的差异,该差异基于从载具和第二载具捕获的具有重叠的视场的数字图像。该方法可以包括由处理器:将tlc性能的评估(i)-(vi)的结果融合到一个或多个度量中;以及将一个或多个度量提供给tlc训练器以细化tlc的训练。
20.交通信号面的分类状态可以包括从以下至少一种操作状态中选择的分类状态:绿灯状态;黄灯状态;红灯状态;圆形灯状态;左箭头灯状态;右箭头灯状态;向前箭头灯状态;闪烁黄灯状态;和闪烁红灯状态。
21.在一些替代实施例中,公开了一种系统,该系统包括载具的计算机视觉系统,该计算机视觉系统被配置为接收即将到来的交叉路口的交通信号设备的至少一个数字图像。该交通信号设备包括交通信号面,该交通信号面包括一个或多个交通信号元件。该系统包括一个或多个处理器,该处理器被配置为通过交通灯分类器(tlc)使用与所接收的至少一个数字图像相关的标记图像来对交通信号面的分类状态进行分类。分类状态控制载具在交叉路口的操作。该系统包括一个或多个处理器,其被配置为评估由tlc生成的分类状态的分类性能。该评估是基于未标记图像的无标记性能评估。该系统包括一个或多个处理器,其被配置为基于所评估的性能来训练tlc。
附图说明
22.图1示出了根据本公开的各种实施例的用于识别和分类交通信号设备的示例系统。
23.图2示出了使用无标记性能评估器的细化的交通灯分类器(tlc)管线的示例框图。
24.图3示出了具有附加细节的图2的细化的tlc管线的示例框图。
25.图4示出了性能评估器的示例框图。
26.图5示出了时间一致性分类(tcc)性能评估器的示例框图。
27.图6示出了过滤分类后时间一致性(tcafc)性能评估器的示例框图。
28.图7示出了具有多个灯、多个车道和载具的示例交叉路口。
29.图8示出了相同状态一致性分类(sscc)性能评估器的示例框图。
30.图9示出了不允许的状态转换分类(istc)性能评估器的示例框图。
31.图10示出了重叠fov一致性分类(ofovcc)性能评估器的示例框图。
32.图11示出了量化损失(ql)性能评估器的示例框图。
33.图12示出了不可信多灯状态错误检测器(imlsed)性能评估器的示例框图。
34.图13示出了载具日志(vl)性能评估器的示例框图。
35.图14示出了图像重新标记器的示例框图。
36.图15示出了自主载具的示例系统和组件。
37.图16示出了针对细化的交通灯分类的交通灯分类器性能的无标记性能评估方法的示例流程图。
38.图17是示出av和/或外部电子设备的可能电子子系统的各种元件的框图。
具体实施方式
39.如在本文件中所使用的,单数形式“一”、“一个”和“该”包括复数引用,除非上下文中另有明确指示。除非另有定义,否则本文中使用的所有技术和科学术语具有与本领域普通技术人员通常理解的相同的含义。如本文中使用的,术语“包括”意味着“包括,但不限于”与本文档相关的附加术语的定义包括在本详细描述的末尾。
40.如上文背景技术部分所述,交通灯分类器系统的性能可以通过将分类器输出与已标记的数据进行比较来评估。标记需要人类查看大量图像或记录的数据,并分配基本事实状态。换句话说,标记数据需要人在回路中,与计算设备的处理速度相比,这可能相对较慢。因为这个任务需要时间,所以用于评估交通灯网络的数据对于交通灯分类器系统来说可能是陈旧的。现实世界中发生的交通灯分类管线的任何变化都需要时间才能在交通灯性能数字中显示出来。因此,在评估期间确定性能修正之前,载具上的交通灯分类管线可能会持续存在问题。
41.用于对交通灯进行分类的理想数据集可以由大量被标记的交通灯的图像特性组成,这些交通灯覆盖了不同范围的条件、位置、外观等,这将需要大量的时间和金钱来制作。标记这么多数据的实际含义意味着,不可避免地,用于评估交通灯分类器的测试集可能不会完全覆盖神经网络或其他机器学习算法预期执行的操作条件的范围。因此,存在这样的可能性,即在交通灯分类系统中存在隐藏的失败模式,这些失败模式是未知的,直到例如在载具操作时被发现。
42.当载具操作扩展到新的地理区域时,交通灯分类错误可能特别显著。在这些场景中,自主载具可能会遇到算法开发期间没有明确考虑或发布期间没有测试的情况。
43.现在参考图1,提供了用于识别和分类交通信号设备130的系统100。术语“交通信号设备”130在这里可以与术语“交通灯”互换使用。系统100使用交通灯分类器系统的无标记性能评估器来细化交通灯分类器训练。
44.根据各种实施例,系统100可以包括载具105。根据各种实施例,载具105在道路110上行驶。然而,注意,可以实现任何合适的路径。载具105可以包括自主载具驾驶系统(avds)265,如图3所示。响应于代表交通信号设备130的当前实例的分类状态的至少一个控制信号260,avds 265可以控制载具105的制动系统(未示出)、引擎系统(未示出)和转向系统(未示出)中的一个或多个。制动系统、引擎系统和转向系统在本领域中是众所周知的。因此,将不
提供进一步的讨论。图3的avds 265包括系统架构1500,这将参照图15进行更详细的描述。tlc管线201的一些组件可以与系统架构1500共享,以执行例如avds 265的其他自主驱动功能。tlc管线201的一些组件可以包括执行这里描述的功能的程序指令,这些程序指令可以由处理器125(图1)、服务器155(图1)的处理器或车载计算设备1520(图15)的处理器执行。
45.系统100可以包括结合到载具105中的计算机视觉系统(cvs)115,其被配置为接收至少一个交通信号设备130的数字图像。至少一个交通信号设备130在标记为111的虚线框中表示,在下文中称为“车道交通灯控制111”道路110和车道交通灯控制111可以与系统100分离,并且是环境的一部分。cvs 115可以包括一个或多个相机,用于捕获载具105行驶的环境的各种特征的数字图像。为了便于说明,每个相机包括由虚线127和127’表示的视场(fov)。这种捕获的特征可以包括一个或多个交通信号设备130。系统100可以包括位于环境中的远程cvs,诸如在街角等。远程cvs可以包括至少一个指向交通灯的相机。cvs 115可以包括两个或更多个相机,这些相机具有指向交通信号设备并重叠的视场。环境中的计算机视觉系统的实施例包括在本公开的范围内。
46.系统100可以包括地理定位系统(gls)160,其被配置为确定载具105的位置和方向。gls 160可以包括全球定位系统(gps)设备。然而,注意,可以附加地或替代地使用其他形式的地理位置。gls 160可以结合到载具105中。gls 160可以包括软件、固件和/或硬件模块,该模块包括编程指令,该编程指令被配置为指示处理器使用车载处理资源来确定载具的地理位置。
47.图1所示的交通信号设备包括若干交通信号元件135。交通信号元件135是动态的,因为它们可以在至少两种状态之间改变,以向一个或多个驾驶员发送交通指令,并且不同类型的信号元件135可以存在于单个交通信号设备130中。交通信号元件135的示例可以包括例如红灯、黄灯和绿灯。其他示例包括带有方向箭头(如向左或向右的箭头)、其他符号(如一个人行走的符号)或文字的灯光。在这些示例的每一个中,每个灯可以在关闭状态和打开状态以及闪烁状态之间切换。例如,灯可以是发光二极管(led)、灯泡和/或传达交叉路口的每个交通信号设备130的每个交通信号元件135的状态的任何其他合适的照明元件。根据各种实施例,光本质上可以是反射性的。
48.信号元件135可以包括圆形灯和箭头灯。然而,每个信号元件135的特征可以是各种信号元件特征中的任何一种,诸如例如绿灯、黄灯、红灯、圆形灯、左箭头灯、右箭头灯、具有位于任意方向的箭头的灯、前箭头灯、闪烁的黄灯、闪烁的红灯、掉头灯、自行车灯、x灯和/或任何其他合适的交通信号元件特征。还应注意,交通信号设备130可包括任何合适数量的信号元件135,在交通信号设备130的正面140上具有各种位置。交通信号元件135对应于被配置为向一个或多个驾驶员发送交通指令的指定灯具。交通信号面的分类状态包括基于以下一个或多个操作状态的分类状态:绿灯状态;黄灯状态;红灯状态;圆形灯状态;左箭头灯状态;右箭头灯状态;向前箭头灯状态;闪烁黄灯状态;和闪烁红灯状态。
49.系统100还可以包括收发器120,该收发器120结合在载具105中,并且被配置为经由有线和/或无线连接,诸如例如通过云150,发送和接收来自远程服务器155的数字信息,其中载具105和远程服务器155彼此电子通信。系统100还可以包括处理器125。处理器125可以被配置为将交通信号设备130表示为光栅图像,其中交通信号设备130的每个交通信号元件135可以由对应于交通信号设备130上的交通信号元件135的位置的掩模来表示。注意,处
理器125可以是独立的处理器、载具的处理器和/或远程服务器的处理器。由处理器125处理的数据可以是从载具105接收的数据、从远程服务器155接收的数据和/或来自载具105和远程服务器155的数据的组合。然而,为了说明起见,处理器125被表示为结合在载具105中。载具105可以包括独立的处理器(例如,处理器125)和/或至少一个单独的载具处理器。
50.例如,当确定自主载具105的系统100的安全性时,主要考虑控制载具105在交叉路口的操作的交通灯分类错误。响应于系统100在车道交通灯控制111中将红灯分类为绿灯,交通灯分类错误的情况可能导致人员受伤或死亡。作为非限制性示例,绿灯分类可以向速度控制器1528(图15)产生载具加速度/速度控制信号,表示载具105以一定的加速度水平通过交叉路口。结果,这种通过交叉路口的前进可能导致载具105与另一载具或行人的碰撞。这种交通灯分类错误通常在设计上是罕见的,因此量化这些罕见错误的可能性也是困难的。因为分类错误不常见,所以需要大量的标记数据来识别,并且大部分标记数据的工作都花费在标记没有问题的数据上。
51.交通灯分类错误可能经常是由许多较小的错误累积而成的。例如,对于行进通过红色交通灯的载具105,交通灯分类器必须一致地将红色灯分类为绿色。虽然这种分类错误有时会发生,但更有可能的是,交通灯分类器将输出一系列在红色状态和绿色状态之间闪烁的状态,或者以低置信度预测绿色状态。此外,大多数交叉路口都有多个交通灯来指示相同的信息。这种设计有助于确保司机在接近交叉路口时注意到交通灯,但这也意味着自主载具有多个应该相互一致的真实来源。在上面的示例中,更有可能的是,载具将错误地将一个红色交通灯面140分类为绿色,而不是同时将两个面分类为绿色。系统100被配置为通过使用提前已知的地图信息来识别具有相同信息的交通灯面。
52.虽然较小的错误发生得更频繁,但是它们也比影响载具105性能的交通灯分类中的错误更容易识别。因此,系统100被配置为通过分析交通灯状态转换的频率来识别闪烁状态,并识别具有不一致状态的交通灯面。这些特征以及其他若干特征被集成到一套性能评估中,以在没有任何标记数据的情况下描述交通灯性能。
53.图2示出了细化的交通灯分类器(tlc)管线200的示例框图,其使用无标记性能评估器250用于tlc管线201中的细化的交通灯分类。细化tlc管线200可以包括tlc管线201,在图3中有更详细的描述。在图示中,为了简洁起见,仅示出了tlc 202、tlc训练器204和tlc滤波器210。与无标记性能评估器250交互的tlc管线201的其他特征将在后面结合图4-6和8-14更详细地描述。细化tlc管线200可包括载具操作限制分析引擎270。分析引擎270可以从性能评估器250接收信息,该信息可以被分析以基于一个或多个性能评估结果确定载具导航通过交通灯路口的能力。引擎270可以使用机器学习算法来分析性能评估器250的结果。分析引擎270可以包括软件、固件和/或硬件模块,其包括编程指令,该编程指令被配置为指示处理器分析至少一个性能评估度量或性能评估度量的趋势,以确定这样的度量值或度量趋势是否代表载具安全(即,没有碰撞或没有违反交通法)通过交通信号交叉路口的操作限制。
54.在图2中,性能评估器250可以包括软件、固件和/或硬件模块,其包括编程指令,该编程指令被配置为指示处理器向tlc训练器204生成至少一个性能评估度量(pem),以细化tlc训练器204的训练过程来训练tlc 202,例如,如下面将更详细描述的。tlc训练器204可以包括软件、固件和/或硬件模块,其包括被配置为指示处理器训练tlc 202的编程指令,如
稍后更详细描述的。tlc训练器204的处理资源可以包括车载处理资源。tlc 202可以包括软件、固件和/或硬件模块,其包括编程指令,该编程指令被配置为指示处理器使用可以包括板上处理资源的处理资源来分类灯泡状态或交通灯信号状态。tlc滤波器210可以包括软件、固件和/或硬件模块,其包括编程指令,该编程指令被配置为指示处理器使用车载处理资源过滤来自tlc 202的原始分类状态。
55.pem基于无标记的数据分类。pem可用于经由tlc训练器204训练tlc202,例如基于交通灯不可能和/或不可信的错误的分类过程的性能评估。在一些情况下,性能评估器250的性能评估可用于检测交叉路口的车道交通灯控制111的故障。例如,可以使交叉路口的故障车道交通灯控制111闪烁黄灯,直到车道交通灯控制111的故障原因被修复。在其他情况下,车道交通灯控制111的闪烁黄灯是正常分类状态。同样,可以使交叉路口的车道交通灯控制111闪烁红灯,直到车道交通灯控制111的故障原因被修复。imll 220可以包括存储在存储设备中的不可信多灯的位置数据。性能评估器250可以访问不可信多灯的位置数据。将参照图12更详细地描述imll 220。
56.pem可用于基于各种原因的分类过程的性能评估,经由tlc训练器204训练tlc 202。训练tlc 202的一个或多个原因可以是获取商业情报以理解载具的操作能力;收集数据以识别难以找到的可在训练中使用的错误分类案例实例;以及找到需要通过算法改变来解决的新颖或独特的失败模式。
57.现在参考图3,示出了交通灯分类器(tlc)管线201的示例框图。tlc管线201可以包括tlc 202,tlc 202被配置为对与交叉路口的车道交通灯控制111相关联的交通灯设备130、145的信号元件135中的至少一个进行分类。tlc 202可以包括存储在存储器中的一组编程指令,当由处理器(例如,处理器125)执行时,使用机器学习算法执行这里描述的交通灯分类功能。tlc 202、tlc训练器204和tlc滤波器210可以包括软件、固件和/或硬件模块,其包括被配置为指示处理器执行分类、训练和过滤功能的编程指令,如本文所述。
58.tlc管线201可以被配置为产生表示交通信号设备130的当前实例的分类状态的控制信号260,以基于车道交通灯控制111控制载具105通过交叉路口的操作。控制信号260的分类状态可用于由车载计算设备1520产生信号,以经由图15的速度控制器1528控制载具105相对于交叉路口的加速度/速度水平。例如,如果信号元件135被分类为红灯,则可以使载具105制动停止。换句话说,控制信号260可被发送到车载计算设备1520,以通过图15的制动控制器1522生成信号。制动控制器1522被配置为控制载具105的制动系统,该制动系统又导致载具105的车轮改变每分钟转数(rpm)。
59.在另一个示例中,tlc 202可以将交通灯分类为在表示载具预测的下一个转弯的方向上包括绿色箭头。因此,控制信号260可被发送到车载计算设备1520,以通过图15的转向控制器1524生成控制信号。转向控制器1524被配置为控制载具105的avds 265,这又使得载具105在交叉路口沿绿色箭头的方向转弯。响应于表示交通信号设备130的分类状态的控制信号260,车载计算设备1520也可以引起某种程度的减速,这将包括对速度控制器1528和/或制动控制器1522的相应控制输入。响应于代表交通信号设备130的分类状态的控制信号260,车载计算设备1520可能需要向档位控制器1530和/或油门控制器1526发送控制。
60.tlc管线201可以包括tlc训练器204以训练tlc 202。tlc管线201可以包括标记图像230,其可以用于训练tlc训练器204。在一些实施例中,tlc管线201包括车载处理tlc管线
部分和车外处理tlc管线部分。通常,用于训练过程的编程指令的执行的计算资源可以在车外处理tlc管线部分中发生。然而,用于执行交通灯分类器和状态跟踪器的编程指令的计算资源是使用车载处理tlc管线部分车载执行的,如图3中最优所示。此外,在一个实施例中,训练过程可以包括使用车载处理tlc管线部分在车载执行的环路中子训练过程。
61.tlc管线201可以包括计算机视觉系统(cvs)115,其中由计算机视觉系统115捕获的图像由tlc 202分类。在一些实施例中,cvs 115可以捕获序列中的一组图像。cvs 115可以包括软件、固件和/或硬件模块,其包括编程指令,该编程指令被配置为指示处理器捕获序列中的图像集,并且可以执行供tlc 202使用的特征提取。cvs 115可以包括车载处理资源。在一些实施例中,tlc管线201中可以包括冗余灯定位器(rll)225。将参照图8更详细地描述rll 225。tlc管线201可以包括交通灯滤波器210,这将参照图6进行更详细的讨论。rll 225可以包括存储在存储设备中的冗余灯的位置数据。rll 225可以包括软件、固件和/或硬件模块,其包括编程指令,该编程指令被配置为指示处理器使用可能车载的处理资源来定位冗余灯。
62.tlc管线201可以包括载具日志(vl)240,其响应于载具105的操作记录载具事件数据。vl 240可以从传感器接收一个或多个输入,这将结合图15的系统架构1500进行描述。vl 240可以记录由tlc 202进行的交通灯分类、来自时钟1542(图15)的一天中的时间、与交叉路口的车道交通灯控制111相关联的至少一个捕获的图像、cvs 115的相机设置、来自环境传感器1568(图15)的实时载具信息或环境信息,这些信息用于特定交通灯分类实例的交通灯分类决策过程。载具日志240可以包括来自性能评估器的信息。
63.为了使系统100确定交通信号设备130(诸如图1所示的和/或任何其他相关的交通信号设备130)的信号元件135的状态,系统100可以确定交通信号设备130的一个或多个信号元件135、交通信号设备130的面140上的一个或多个信号元件135的位置、以及交通信号设备130的每个信号元件135的状态。
64.根据各种实施例,为了对交通信号设备130的信号元件135进行分类,交通信号设备130可以被表示为具有至少一个或多个图像颜色通道的简化二维图像,其中交通信号设备135的信号元件135对应于二维图像内的离散像素区域。根据各种实施例,每个图像颜色通道对应于唯一的颜色。因此,在二维图像中,在实际交通信号设备130的面上在空间上分离的信号元件135在交通灯面的二维图像表示上类似地在空间上分离。二维光栅图像中的这种空间分离意味着tlc 202能够用任意数量的颜色和类型组合来表示任意数量的信号元件135。
65.根据各种实施例,系统100还可以被配置为在光栅图像中的通道中表示每个掩模,其中表示每个掩模的通道对应于每个交通信号元件135的一个或多个特征。这些特征可以包括信号元件135的形状、信号元件135的颜色、是否存在任何遮挡、交通信号设备130的面的角度和/或有助于交通信号设备130的信号元件135的分类的任何其他合适的特征。
66.除了空间位置,光栅图像还可以指示每个信号元件135的颜色和类型。这是通过将不同颜色和类型的信号元件135表示为不同的通道来实现的。例如,绿色、黄色和红色灯可以与通道0、1和2相关,而圆形灯、直箭头灯、右箭头灯和左箭头灯可以对应于通道3、4、5和6。然而,注意,信号元件135的特征以及所使用的颜色、形状和通道可以是任何合适的类型和数量。根据各种实施例,一个或多个标量值,诸如交通信号设备130的面的角度,可以表示
为特定通道中的一个或多个标量值。
67.tlc管线201可以包括来自gls 160的位置数据,其中交通灯状态的分类可以是位置相关的。例如,位置可以包括某种类型交通灯面或灯泡类型,其可能需要不同组的训练数据和/或标记数据。作为非限制性示例,位置数据可以存储在vl 240中。
68.图4示出了性能评估器250的示例框图。在一些情况下,性能评估器250可以从tlc管线201提取或接收信息,该信息是使用数据分析来评估的。在一些情况下,性能评估器250可以从tlc管线201提取或接收信息,该信息是基于将管线输出与关于统一交通控制设备的手册(mutcd)相关联来评估的。性能评估器250可以从tlc管线201中提取或接收信息,用于例如基于交通灯类型和交通灯面的符合性。性能评估器250采用无标记数据来进行性能评估,使得可以为tlc管线201的细化的训练重新标记已标记的图像。性能评估器250可以使用映射和其他信息来进行性能评估。
69.包括用于执行性能评估器250的功能的编程指令的软件、固件和/或硬件模块可以包括软件、固件和/或硬件的子模块,其包括编程指令,用于为以下中的至少一个执行本文描述的功能:时间一致性分类(tcc)性能评估器402、滤波器分类后时间一致性(tcafc)性能评估器404、相同状态一致性分类(sscc)性能评估器406、不允许的状态转换分类(istc)性能评估器408,重叠fov一致性分类(ofovcc)性能评估器409、量化损失(ql)性能评估器412、不可信多灯状态错误检测器(imlsed)性能评估器414、载具日志(vl)性能评估器416、分类器性能融合模块460、失败图像跟踪器480和图像重新标记器418,下面将详细描述它们中的每一个。
70.性能评估器250可以包括指令,当由一个或多个处理器执行时,这些指令使得对由tlc生成的分类性能的评估。在任何实例中,由性能评估器250评估的分类状态可能只需要对一个性能度量进行评估。尽管如此,对一个或多个性能度量评估可能是合适的。在这种情况下,在一些示例中,每个评估可以由性能评估器250同时执行。
71.性能评估可以包括以下一项或多项:在性能评估时间段内评估交通信号面的时间上不一致的交通灯转换;基于载具的载具日志中的条件数据评估具有低分类概率的分类状态;基于多灯状态规则和多灯交通信号设备的位置,通过tlc评估不可信多灯状态的分类错误;评估交通信号面的不允许的状态转换;评估在性能评估时间段期间具有不一致分类状态的交叉路口的多个交通信号设备的时间冗余面的部分;以及评估来自载具和在载具和交叉路口附近的第二载具的重叠图像之间的分类状态差异。
72.这里的描述描述了一种场景,其中同一交叉路口的交通灯信号设备的重叠fov图像来自两个不同的源,诸如第一载具和第二载具。然而,远程cvs可以捕获交通灯信号设备的图像。因此,重叠fov图像的两个不同源可以是来自远程cvs(诸如在交叉路口的拐角处)的图像,以及用于大体相同实例化的第一载具。换句话说,来自第一源的fov图像的定时通常需要对应于第二源的fov图像的定时。
73.时间一致性分类器(tcc)性能评估器
74.时间一致性分类(tcc)性能评估器402根据管辖标准,诸如但不限于美国标准,确定光状态变化是否符合或符合时间范围。在美国,交通灯以不超过1hz的频率改变状态。交通灯状态的最短持续时间应为大约333毫秒(关于统一交通控制设备的手册(mutcd)中的频率指南比1hz稍复杂)。对于大多数其他交通灯状态,状态的最小持续时间会更长,至少3-4
秒。因此,任何短于333毫秒(ms)的闪光灯或短于3秒的稳定灯的推断交通灯状态序列都可能导致与时间范围相关的交通灯分类错误。这些错误可以被量化并用作交通灯分类性能的测量。
75.参考图5,示出了时间一致性分类(tcc)性能评估器402的示例框图。包括用于执行tcc性能评估器402的功能的编程指令的软件、固件和/或硬件模块或子模块可以包括进一步的软件、固件和/或硬件子模块,其包括用于执行不允许序列(ds)检测器522、ds计算器524、所有序列计算器526、ds归一化器528和序列违反评估器530中的一个或多个的这里描述的功能的编程指令。
76.tcc性能评估器402可以包括ds检测器522,以从一组序列510、511和512中检测一个或多个不允许序列,其中不允许序列是不符合与交通灯类型相关联的顺序状态序列的序列。顺序状态可以包括绿色-》黄色-》红色作为允许的顺序。然而,红色-》黄色-》绿色不是允许的顺序。
77.cvs 115可以被配置为拍摄一段时间的视频或静止图像。在时间上分离的视频序列的实例化,诸如时间t1、时间t2、时间t3和时间t20或这些时间的静止图像,创建了一组图像序列,表示为图像
t1
、图像
t2
、图像
t3


、图像
t20
,其中t2、t2、t3、

、t20的下标表示序列中时间的不同实例化。例如,时间t1和t2或任何两个相邻时间点之间的持续时间可以是一个或多个纳秒、毫秒或秒。任何两个相邻图像之间的持续时间可以是固定的或可变的。
78.假设灯应该是特定的颜色,例如,黄色持续3-4秒。例如,图像序列图像
t1
、图像
t2
、图像
t3


、图像
t20
可以包括被分类为黄色状态的一组图像。然而,对图像序列的评估检测到黄色持续2秒或6秒的图像的连续子集。结果,tlc 202可能没有对那些图像集进行分类。
79.tcc性能评估器402可以确定不允许序列的数量,并通过ds计算器524将所检测的不允许序列的总数加在一起,以计算与所检测的ds的持续时间的总持续时间相关联的第一持续时间。tcc性能评估器402可以将所有序列计算器526评估的所有序列加在一起,以计算转换序列的总数。tcc性能评估器402可以通过ds归一化器528归一化ds。ds归一化器428可以通过所有序列的转换总数来归一化总ds。tcc性能评估器402可以包括序列违反评估器530,其包括违反典型或标准交通灯行为的序列部分。在一些实施例中,归一化器可以将ds归一化为不允许转换的总数除以系统运行以检测不允许转换的总时间的函数。
80.过滤分类后的时间一致性(tcafc)性能评估器
81.现在参考图6,示出了过滤分类后时间一致性(tcafc)性能评估器404的示例框图。包括用于执行tcafc性能评估器404的功能的编程指令的软件、固件和/或硬件模块或子模块可以包括软件、固件和/或硬件的其他子模块,其包括用于执行原始输出提取器622、滤波输出提取器624、比较器626和差异评估器628中的一个或多个的这里描述的功能的编程指令。时间一致性可以不同于允许的和不允许的转换。时间一致性可以指两件事。第一个问题已经在上面讨论过了,它与状态转换的频率有关(即不允许闪烁)。第二,基于帧的分类器应该与随着时间跟踪状态的时间跟踪器的输出一致。
82.tcafc性能评估器404可以被配置为确定灯泡分类器的性能。tcafc性能评估器404可以包括原始(未滤波的)输出提取器622,以从tlc 202提取原始输出。每个原始输出包括由tlc生成的分类状态。tcafc性能评估器404可被配置为通过与原始输出相关联的滤波输出提取器624从tlc202中提取滤波输出。作为非限制性示例,滤波后的输出可以是由tlc滤
波器210进行时间平滑或滤波的输出序列。tlc滤波器210可以包括软件、固件和/或硬件模块,其包括编程指令,该编程指令被配置为指示处理器滤除来自tlc 202的原始输出的高频状态波动。例如,可以使用平滑模块610来跟踪各个交通灯灯泡的原始置信度值。作为非限制性示例,平滑模块610可以包括隐马尔可夫模型(hmm)。跟踪具有平滑或滤除高频状态波动的效果。在一些实施例中,过滤可以与tcafc性能评估器404分离或集成在其中。例如,一个过滤的输出可以整合来自所有先前基于帧的输出的信息。
83.tcafc性能评估器404可以包括比较器626,以将从tlc 202提取的原始输出序列与从tlc滤波器210提取的滤波输出进行比较。tlc 202对捕获的数字图像进行操作。换句话说,比较是在时间t的基于帧的评估(即,滤波输出)和时间t的跟踪评估(即,原始输出)之间进行的。滤波后的输出可以代表“基于帧的状态”,而原始输出可以是“跟踪的分类状态”。tcafc性能评估器404可以比较两种算法的输出,一种算法只看到基于帧的输入,另一种算法看到输入序列。差异评估器628可被配置为确定基于帧的输入和输入序列之间的差异,以识别“基于帧的状态”和“跟踪的分类状态”之间是否存在任何分类错误
84.现在参考图7,示出了具有多个灯、多个车道和载具的示例性交叉路口。许多交叉路口由多个交通灯控制,这些交通灯是冗余的,并且传达相同的信息。这些冗余交通灯可以在载具105a或105b开始操作之前被记录(最常见的是在地图中)。在这些情况下,这些交通灯的推断状态中的任何不一致必定是由分类中的错误引起的。载具105a行驶的道路110a可以包括车道交通灯控制111a,其可以与系统700分离并且是环境的一部分。载具105b行驶的道路110b可以包括车道交通灯控制111b,其可以与系统700分离并且是环境的一部分。
85.如图2-4所示,系统700包括使用性能评估器进行细化的交通灯分类的细化的tlc管线。将至少参照图10更详细地描述系统700。
86.相同状态一致性分类(sscc)性能评估器
87.现在参考图8,示出了相同状态一致性分类(sscc)性能评估器406的示例框图。包括用于执行sscc性能评估器406的功能的编程指令的软件、固件和/或硬件模块或子模块可以包括进一步的软件、固件和/或硬件子模块,其包括用于执行这里描述的路口推断状态持续时间计算器822、非重叠推断面状态持续时间评估器826和不一致面状态性能评估器828中的一个或多个的功能的编程指令。sscc性能评估器406可以评估已知具有相同状态的交通灯之间的一致性性能,如图7所示。性能评估器406可以评估现实世界中已知具有相同状态的多个面。这组面可以由多个相机同时观察,或者由多个载具同时观察。
88.这些冗余交通灯可以在载具105开始操作之前记录在rll 225中(最常见的是在地图中)。在这些情况下,这些交通灯的推断状态中的任何不一致必定是由分类中的错误引起的。sscc性能评估器406可以包括交集推断状态(iis)持续时间计算器822,其计算所有面处于特定一个状态的持续时间。因此,sscc性能评估器406可以包括用于交叉路口的每个不同状态的iis持续时间计算器。例如,状态持续时间可以确定所有交通灯面显示或照亮相同颜色或符号状态的时间长度。
89.iis持续时间计算器822可以包括多个推断面状态(ifs)持续时间计算器8241…
824z,其中z是对应于交叉路口处冗余面数量的非零整数。每个ifs持续时间计算器8241…
824z计算并标记面相应状态的持续时间的开始和结束时间。iis持续时间计算器822可以包括非重叠ifs持续时间评估器826,其评估任何一个或多个冗余交通灯面具有非重叠推断面
状态持续时间的时间比例。非重叠ifs持续时间可以在两个或更多个冗余面与冗余状态重叠的任何时间段之前或之后。一般而言,sscc性能评估器406可以包括不一致面状态性能评估器828,其被配置为通过报告冗余面具有分配给它们的不一致状态的时间比例来报告该错误。
90.sscc性能评估器406可以确定在性能评估时间段期间具有不一致分类状态的交叉路口的多个信号设备的冗余面的时间部分;并且使用与交叉路口的冗余面相关联的时间片段来训练tlc。
91.不允许的状态转换分类(istc)性能评估器
92.现在参考图9,示出了不允许的状态转换分类(istc)性能评估器408的示例框图。istc性能评估器408检测不允许的状态转换。istc性能评估器408可以确定哪些状态转换是允许的,哪些状态转换是不允许的。作为非限制性示例,交通灯是具有可预测行为的明确定义的状态机。最简单的交通灯由三个灯泡组成,包括一个红色灯泡、一个黄色灯泡和一个绿色灯泡。例如,三个灯泡的交通灯按照从绿到黄、从黄到红、从红到绿的顺序循环,然后重复。在正常的交通灯操作期间,对应于绿色到红色、红色到黄色以及黄色到绿色转换的状态转换从未被观察到并且是不允许的。包括用于执行istc性能评估器408的功能的编程指令的软件、固件和/或硬件模块或子模块可以包括进一步的软件、固件和/或硬件子模块,其包括用于执行这里描述的以下一个或多个功能的编程指令:绿色到红色转换检测器922、红色到黄色转换检测器924、黄色到绿色转换检测器926、其他不允许的状态转换检测器928和不允许的交通灯分类错误识别器929。
93.istc性能评估器408可以包括绿色到红色转换检测器(td)922,以检测从绿色状态到红色状态的错误识别(分类)的状态转换,其中“td”表示转换检测器。istc性能评估器408可以包括红色到黄色td 924,以检测从红色状态到黄色状态的错误识别(分类)的状态转换。istc性能评估器408可以包括黄色到绿色td 926,以检测从黄色状态到绿色状态的错误识别(分类)的状态转换。istc性能评估器408可以包括其他不允许的状态td 928,以检测其他类型的不允许的状态转换,诸如对于具有其他灯泡配置的交通灯面,诸如包括箭头的配置。对这些不允许的状态转换的检测可以指示交通灯管线出现了分类错误。因此,istc性能评估器408可以包括不允许的交通灯分类错误(tlce)识别器929,该识别器929涉及与所识别的不允许的状态转换相关联的交通灯分类错误。在操作中,在istc性能评估器408的性能评估不需要图像的情况下,可以评估最终分类状态。
94.重叠fov一致性分类(ofovcc)性能评估器
95.现在参考图10,示出了重叠fov一致性分类(ofovcc)性能评估器409的示例框图。ofovcc性能评估器409可以确定观看相同交通灯的相机之间的一致性。在一些情况下,载具105可以包括多个相机,如图1所示,这些相机具有重叠的视场(fov)。图1中未示出多个fov。在其他情况下,多个载具可能具有重叠的视场,这与在同一时刻具有重叠的视场的载具相冲突。包括用于执行ofovcc性能评估器409的功能的编程指令的软件、固件和/或硬件模块或子模块可以包括进一步的软件、固件和/或硬件子模块,其包括用于执行相邻av检测器1022、tlc结果通信器1024、本地av共享结果比较器1026和fov不一致性性能跟踪器1028中的一个或多个的这里描述的功能的编程指令。
96.因此,相同的面的重叠图像应该被分配相同的状态。因此,tlc应该将相同的状态
分配给相同的面,即使产生这些图像的相机的姿势略有不同。来自多个相机(诸如cvs 115的相机1001和1002)的图像观察同一面导致不同交通灯状态分类的情况表明交通灯分类器有问题。这种方法也可以推广到同时看到相同交通灯的多个不同载具。
97.还参考图7,在一个示例中,载具105a可以经由tlc 202对交通灯的状态进行分类,然后根据载具105a的fov公布交通灯面的状态。ofovcc性能评估器409可以包括自主载具(av)检测器1022,其被配置为检测在交叉路口处可能具有重叠fov图像的载具(例如,载具105b)。作为非限制性示例,载具105a可以使用ad hoc通信协议、长期演进(lte)通信标准、蓝牙或近场通信(nfc),作为非限制性示例,来发送对应于交通灯面的状态的它们的tlc分类的结果。
98.载具105b然后可以经由tlc结果通信器1024接收由载具105a分配的状态,并且在本地av共享结果比较器1026中将从载具105a接收的分类结果与来自其tlc管线201的其自己的分类状态进行比较。本地av共享结果比较器1026可以与接收结果的特定载具相关联。同样,载具105a将接收由载具105b分配的分类状态,并在载具105a的本地av共享结果比较器1026中将其与来自其tlc管线201的其自己的分类状态进行比较。ofovcc性能评估器409可以包括fov不一致性性能跟踪器1028,其跟踪在任何时刻载具(例如,载具105a和105b)之间所检测的不一致性的数量。在同一时刻具有重叠fov的图像允许在基本相同的环境条件下捕获图像,包括用于细化的分类器训练的光照和天气条件。
99.因此,第一载具将接收用于第二载具的通信,该通信包括与由第二载具的tlc分类的分类状态相关联的信息。然后,由第一载具的tlc分类的分类状态的结果和由第二载具的tlc分类的接收的分类状态的结果可以由比较器1026进行比较,以确定与第一载具和第二载具之一相关联的分类状态中的错误。
100.图7的示例示出了两辆并排或大致平行的载具。然而,两辆车可以连续排列,在同一车道上一辆在另一辆后面。在其他情况下,两个载具可以被一个或多个与载具105a和105b平行的载具分开。在其他情况下,两辆车可以被一辆或多辆串联的车分开,并且在载具105a和105b之间。
101.量化损失(ql)性能评估器
102.现在参考图11,示出了量化损失(ql)性能评估器412的示例框图。当最优操作时,tlc 202应该将打开状态(置信度1)分配给点亮的交通灯灯泡,将关闭状态(置信度0)分配给不点亮的交通灯灯泡。通常,置信度值是一个可以在0和1之间变化的浮点值。置信度值由tlc 202以分类的状态输出。包括用于执行ql性能评估器412的功能的编程指令的软件、固件和/或硬件模块或子模块可以包括进一步的软件、固件和/或硬件子模块,其包括用于执行中间点亮一致性值提取器1122、量化点亮一致性值计算器1124和ql点亮一致性值性能评估器1126中的一个或多个的这里描述的功能的编程指令。
103.ql性能评估器412可以包括中间点亮一致性值提取器1122,用于从tlc202中提取中间点亮一致性值。ql性能评估器412可以包括量化点亮一致性值计算器1124。对于接近开和关之间的判定边界的图像,tlc 202可以输出中间置信度值,例如0.6。在这些情况下,可以经由量化点亮一致性值计算器1124量化中间置信度值(0.6)和量化的置信度值(1)之间的差:在这种情况下,差是0.4。ql性能评估器412可以包括ql点亮一致性值性能评估器1126,以检测量化置信度和分配置信度之间的较大差异,并指示tlc 202的潜在错误。作为
非限制性的示例,0.4-0.5的值可能很大,因为它实质上意味着分类器不知道答案,并且可能已经对50/50掷币或使用另一个随机化函数做出了决定。
104.不可信多灯状态错误检测器(imlsed)性能评估器
105.现在参考图12,示出了不可信多灯状态错误检测器(imlsed)性能评估器414的示例框图。imlsed性能评估器414可以同时检测与多个灯的状态分类相关联的不可信交通灯状态相关联的错误。美国的交通灯通常遵守这样一条规则,即永远不会有两个相同类型但颜色不同的交通灯灯泡同时点亮(照亮)。包括用于执行imlsed性能评估器414的功能的编程指令的软件、固件和/或硬件模块或子模块可以包括进一步的软件、固件和/或硬件子模块,其包括用于执行这里描述的以下一个或多个功能的编程指令:多灯状态规则1222、不允许的多灯状态错误检测器1224和多灯状态交通灯分类错误识别器1226。
106.imlsed性能评估器414可以包括一组多灯状态规则1222。例如,指示是否允许转弯的交通灯通常不会同时点亮绿色箭头和黄色灯泡。虽然这些规则也有例外,但可以通过多种方式来识别例外,例如映射工作或数据分析。
107.imll 220可用于提供由imlsed性能评估器414使用的信息来代替标记数据。imlsed性能评估器414可以包括不允许的多灯状态错误检测器1224,以检测与单个交通灯设备相关联的多灯状态分类相关的tlc 202的分类错误的情况。对于大多数交通灯,存储在imll 220中的这些不可信的点亮灯泡组合可以用于检测tlc 202已经产生了与不可信的点亮灯泡组合相关联的错误,不可信的点亮灯泡组合与某一时刻的特定图像集相关联。imlsed性能评估器414可以包括被配置为识别多灯状态分类错误的多灯状态交通灯分类错误(tlce)识别器1226。
108.一般而言,imlsed性能评估器414可以检测到分类的分类状态是多灯分类状态;并确定多灯状态规则和多灯交通信号设备的位置。然后imlsed性能评估器414可以基于所确定的多灯状态规则和多灯交通信号设备的位置,通过tlc检测不可信多灯状态的分类错误。
109.载具日志(vl)性能评估器
110.现在参考图13,示出了载具日志(vl)性能评估器416的示例框图。通常,给定地图或其他信息的不可能或不太可能的情况可以由vl性能评估器416来确定。随着时间的推移,积累了大量关于交通信号的信息,这些信息被记录在与载具105相关联的载具日志240中。包括用于执行vl性能评估器416的功能的编程指令的软件、固件和/或硬件模块或子模块还可以包括软件、固件和/或硬件的子模块,其包括用于执行vl查询生成器1332、vl数据接收器1334、vl数据映射器1336和条件tlce识别器1338中的一个或多个的这里描述的功能的编程指令。
111.在一些示例中,vl性能评估器416可以包括载具日志查询生成器1332和vl数据接收器1334,以基于查询接收vl数据。查询生成器1332可以基于特定条件自动查询载具日志以获得与分类分配相关联的信息。在分类过程中,该条件可以提供加权条件。在其他示例中,查询可以针对一个、多个或所有可搜索条件。
112.作为非限制性示例,条件可以是一天中的时间、天气条件、周围环境条件、交通灯异常或其他条件。例如,可以向vl 240查询与诸如早晨、中午、下午和晚上中的一个或多个时间的条件相关联的日志条目。该条件可以向vl240查询闪烁的交通灯类型。其他条件可以包括地理区域。
113.vl性能评估器416可以从来自相同载具或不同载具的多个vl接收vl数据。作为非限制性示例,vl性能评估器416可包括vl数据映射器1336,记录的载具日志的映射和数据分析可用于评估错误。作为非限制性示例,条件可以评估特定低概率范围内的tlc管线分类输出。例如,可以建立模型来基于各种条件预测典型的交通灯输出。那么这样的模型可以被用于发现实际发生的概率低的情况,作为发现典型情况的例外的方法。这里概率阈值的选择可以是任意的。
114.vl性能评估器416可以包括条件tlce识别器1338。例如,vl 240可以记录特定的交通灯灯泡是否被允许闪烁,并且条件tlce识别器1338可以使用来自vl 240的信息来评估交通灯分类器202的性能,该交通灯分类器202对包含具有闪烁能力的灯泡的交通灯进行操作。任何可用于实施交通灯的允许状态的规则的信息或交通灯的一致性信息可用于基于某些条件评估交通灯分类的质量。例如,通常交通灯的黄色状态可以是3-4秒。然而,闪烁的黄灯从亮到灭持续闪烁,或者持续一段未知的时间,诸如交通灯故障的情况。该信息可以或可以不被编码在地图中。vl数据映射器1336可以被配置为根据需要向tlc 240提供更新信息。
115.在另一个示例中,vl性能评估器416可以使用数据分析来确定交通灯分类器管线输出的概率,这些输出以像特定交通灯或一天中的时间这样的信息为条件。具有特别低概率的管线输出可能是错误的结果,并且可以用于确定整个交通灯分类器管线201的质量。作为非限制性示例,基于一天中的时间条件,可以针对模式来分析与分类状态相关联的概率、置信度值或其他度量。例如,对于红色状态的交通灯分类状态,可以在一天中的同一时间的任何时间一致地生成较低的置信度值。另一方面,对于绿灯状态的交通灯分类状态,不管一天中的什么时间,对于相同的灯可以一致地生成较低的置信度值。在某些情况下,可以评估这些特定情况的分类性能错误。
116.分类器性能融合模块
117.性能评估器250可以包括分类器性能融合模块460。来自tcc性能评估器402、tcafc性能评估器404、sscc性能评估器406、istc性能评估器408、ofovcc性能评估器409、ql性能评估器412、imlsed性能评估器414和vl性能评估器416的所选集合的结果可以被组合成定义tlc管线201中的错误率的单个性能评估度量,或者它们可以被报告为指示不同类型的错误的独立数字。tlc管线201中的tlc训练器204可以使用诸如pem的信息来细化tlc 202的训练,用于改进分类决策。在一个示例中,所选度量集合的融合可以是一个或多个不同的所选度量的加权和,其描述了所选度量集合的总体聚集性能。
118.图像重新标记器
119.现在参考图14,示出了图像重新标记器418的示例框图。除了判断交通灯分类器管线201的性能之外,来自上面列举的性能评估器250的度量/规则可以用于识别要标记的最优图像,以进一步改进交通灯分类器训练器204。包括用于执行图像重新标记器418的功能的编程指令的软件、固件和/或硬件模块或子模块还可以包括软件、固件和/或硬件的子模块,其包括用于执行失败图像跟踪器1422、数据标记器1424和失败模式识别器1426中的一个或多个的这里描述的功能的编程指令。
120.在改进算法时,最有用的标记图像是算法失败的图像。性能评估器250可以识别遗漏的分类,作为对上面识别的每个度量的性能评估的结果,并且相应的图像可以被标记为失败的图像。可以在失败图像跟踪器1422中跟踪该标记的失败图像,并将其添加到标记图
像230的数据库中(图3)。
121.例如,为性能差的神经网络找到这样的图像相对容易,但是一旦神经网络的性能超过错误更少的特定水平,找到这些图像就变得困难了。上述较少的交通灯错误提供了一种通过失败模式识别器1426识别神经网络的适度失败模式的方法,该神经网络可能不一定影响载具的行为,并且提供了一种更可扩展的方法来选择用于由数据标记器1424标记和训练的数据。失败模式的一个示例可以基于为上述一个或多个性能评估度量识别的那些错误。
122.响应于对tlc生成的分类性能的评估,图像重新标记器418可以使用tlc的算法跟踪那些被确定为分类失败的数字图像;并为分类失败的数字图像生成标记数据,以用于通过tlc的分类。
123.因此,性能评估器250不需要标记的数据,并且性能评估可以在自主载具的整个车队上按比例计算,并且可以实时或接近实时地计算,以指示载具当前在tlc管线201的分类结果方面存在的问题。计算处理可以通过监督学习的标准训练程序离线完成。对于再训练,对应于失败的图像需要被标记,然后用于再训练模型。这个过程可能需要几天时间。
124.图15示出了用于载具105(诸如av)的示例系统架构1500。载具105可包括引擎或马达1502和用于测量载具和/或其环境的各种参数的各种传感器。两种类型的载具共有的操作参数传感器包括,例如:位置传感器1536,诸如加速度计、陀螺仪和/或惯性测量单元;速度传感器1538;和里程表传感器1540。载具105还可以具有时钟1542,系统使用该时钟1542来确定操作期间的载具时间。时钟1542可以被编码到车载计算设备中,它可以是单独的设备,或者多个时钟是可用的。
125.载具105还可以包括各种传感器,这些传感器用于收集关于载具行驶环境的信息。这些传感器可以包括例如:位置传感器1560,诸如全球定位系统(gps)设备;对象检测传感器,诸如一个或多个相机1562;激光雷达传感器系统1564;和/或雷达和/或声纳系统1566。传感器还可以包括环境传感器1568,诸如降水传感器和/或环境温度传感器。对象检测传感器可以使载具105能够检测在任何方向上在载具105的给定距离范围内的对象,同时环境传感器收集关于载具行驶区域内的环境条件的数据。该系统还将包括用于捕获环境图像的一个或多个相机1562。
126.在操作期间,信息从传感器通信到车载计算设备1520。车载计算设备1520分析由传感器捕获的数据,并且可选地基于分析结果和交通灯分类器来控制载具的操作。例如,车载计算设备1520可以经由制动控制器1522控制制动;经由转向控制器1524控制方向;经由油门控制器1526(在气体动力载具中)或马达速度控制器1528(诸如电动载具中的电流电平控制器)控制速度和加速度;差速齿轮控制器1530(在具有变速器的载具中);和/或诸如辅助设备控制器1554的其他控制器。
127.地理位置信息可以从位置传感器1560通信到车载计算设备1520,车载计算设备1520然后可以访问对应于位置信息的环境地图,以确定环境的已知固定特征,诸如街道、建筑物、停止标志和/或停止/通行信号。从相机1562捕获的图像和/或从诸如激光雷达系统1564的传感器捕获的对象探测信息从这些传感器通信到车载计算设备1520。对象检测信息和/或捕获的图像可以由车载计算设备1520处理,以检测载具105附近的对象。另外或替代地,av可以将任何数据传输到外部服务器进行处理。用于基于传感器数据和/或捕获的图像
进行对象检测的任何已知或将要已知的技术都可以用在本文公开的实施例中。相机1562可以与作为cvs 115的一部分的相机1001和1002相同,或者是不同的相机。
128.在本文件中讨论的各种实施例中,描述可以陈述载具或载具的车载计算设备可以实现编程指令,该编程指令使得载具的车载计算设备做出决定并使用该决定来控制一个或多个载具系统的操作。然而,实施例不限于这种布置,因为在各种实施例中,分析、决策和/或操作控制可以全部或部分由与载具的车载计算设备电子通信的其他计算设备处理。这种其他计算设备的示例包括与乘坐在载具中的人相关联的电子设备(诸如智能手机),以及经由无线通信网络与载具进行电子通信的远程服务器。任何这种设备的处理器可以执行下面将讨论的操作。
129.现在参考图16,示出了对交叉路口的交通灯信号状态进行分类的方法1600。方法步骤可以以所示的顺序或不同的顺序执行。一个或多个方法步骤可以同时执行。可以省略或增加方法步骤。
130.方法1600可以包括,在框1602处,通过载具105的计算机视觉系统115接收即将到来的交叉路口的交通信号设备的至少一个数字图像,包括包含一个或多个交通信号元件的交通信号面。
131.方法1600可以包括,在框1604处,由一个或多个处理器125通过tlc使用与所接收的至少一个数字图像相关的标记图像对交通信号面的分类状态进行分类,其中该分类状态控制载具在交叉路口的操作。方法1600可以包括,在框1606处,由一个或多个处理器125评估通过tlc生成的分类的性能,该评估是基于未标记图像的性能评估。方法1600可以包括,在框1608处,由一个或多个处理器125基于评估的性能来训练tlc。
132.在一个或多个示例中,所描述的方法或技术的一个或多个框可以用硬件、软件、固件或其任意组合来实现。如果以软件实现,这些功能可以作为一个或多个指令或代码存储在计算机可读介质上,并由基于硬件的处理单元执行。计算机可读介质对应于有形介质,诸如数据存储介质(例如,ram、rom、eeprom、闪存或可用于存储指令或数据结构形式的所需程序代码并可由计算机访问的任何其他介质)。
133.指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其他等效的集成或分立逻辑电路。因此,这里使用的术语“处理器”可以指任何前述的结构或者适合于实现所描述的技术的任何其他物理结构。同样,这些技术可以完全在一个或多个电路或逻辑元件中实现。
134.图17示出了可以包括在系统的任何电子组件中的内部硬件的示例,诸如av的内部处理系统、外部监控和报告系统、计算设备、控制器或远程服务器。电气总线1700充当互连硬件的其他所示组件的信息高速公路。处理器1705是系统的中央处理设备,被配置为执行运行编程指令所需的计算和逻辑操作。如本文和权利要求中所使用的,术语“处理器”和“处理设备”可以指单个处理器或共同执行一组操作的一组处理器中的任意数量的处理器,诸如中央处理单元(cpu)、图形处理单元(gpu)、远程服务器或这些的组合。只读存储器(rom)、随机存取存储器(ram)、闪存、硬盘驱动器和其他能够存储电子数据的设备构成了存储器设备1725的示例。存储器设备1725可以包括单个设备或设备集合,数据和/或指令跨其存储。本发明的各种实施例可以包括包含编程指令的计算机可读介质,所述编程指令被配置为使一个或多个处理器执行在前面附图的上下文中描述的功能。
135.可选的显示接口1730可以允许来自总线1700的信息以视觉、图形或字母数字格式显示在显示设备1735上,诸如在载具的仪表板内显示系统上。还可以提供音频接口和音频输出(诸如扬声器)。与外部设备的通信可以使用各种通信设备1740来进行,诸如无线天线、射频识别(rfid)标记和/或短程或近场通信收发器,其中的每一个都可以可选地经由一个或多个通信系统与设备的其他组件通信连接。通信设备1740可以被配置为通信地连接到通信网络,诸如因特网、局域网或蜂窝电话数据网络。
136.硬件还可以包括用户接口传感器1745,其允许从输入设备1750接收数据,输入设备1750诸如键盘或小键盘、操纵杆、触摸屏、触摸板、遥控器、定点设备和/或麦克风。还可以从能够捕获视频和/或静止图像的相机或图像捕获设备1720接收数字图像帧。该系统还可以从运动和/或位置传感器1770接收数据,诸如加速度计、陀螺仪或惯性测量单元。该系统还可以从激光雷达系统1760接收数据,诸如在本文件中前面描述的。
137.上面公开的特征和功能以及替代方案可以结合到许多其他不同的系统或应用中。各种组件可以在硬件或软件或嵌入式软件中实现。本领域技术人员可以做出各种目前未预见或未预料到的替代、修改、变化或改进,其中的每一个也旨在被所公开的实施例所包含。
138.与上面提供的公开相关的术语包括:
[0139]“自动化设备”或“机器人设备”是指包括处理器、编程指令和一个或多个组件的电子设备,这些组件基于来自处理器的命令,可以在最少或没有人工干预的情况下执行至少一些操作或任务。例如,自动化设备可以执行一个或多个自动功能或功能集。这种操作、功能或任务的示例可以包括但不限于导航、运输、驾驶、递送、装载、卸载、医疗相关过程、建筑相关过程等。示例自动化设备可以包括但不限于自主载具、无人驾驶飞机和其他自主机器人设备。
[0140]
术语“载具”指的是能够运载一个或多个乘员和/或货物并且由任何形式的能量提供动力的任何移动形式的运输工具。术语“载具”包括但不限于汽车、卡车、货车、火车、自主载具、飞机、无人驾驶飞机等。“自主载具”是具有处理器、编程指令和动力传动系统部件的载具,这些部件可由处理器控制,而不需要人类操作员。自主载具可以是完全自主的,因为它不需要人类操作员来完成大多数或所有的驾驶条件和功能,或者它可以是半自主的,因为在某些条件下或某些操作可能需要人类操作员,或者人类操作员可以超越载具的自主系统并可以控制载具。自主载具还包括其中自主系统增强载具的人类操作的载具,例如具有驾驶员辅助转向、速度控制、制动、停车和其他系统的载具。
[0141]
在本文件中,术语“街道”、“车道”和“交叉路口”通过载具在一条或多条道路上行驶的示例来说明。然而,这些实施例旨在包括其他位置的车道和交叉路口,诸如停车区。此外,对于设计用于室内的自主载具(诸如仓库中的自动拣选设备),街道可以是仓库的走廊,而车道可以是走廊的一部分。如果自主载具是无人驾驶飞机或其他飞行器,则术语“街道”可以表示航路,而车道可以是航路的一部分。如果自主载具是船只,那么术语“街道”可以代表水路,而车道可以是水路的一部分。
[0142]
本文中使用的术语“光”是指与光学频率相关的电磁辐射,例如紫外、可见、红外和太赫兹辐射。光发射器的示例包括激光发射器和发射会聚光的其他发射器。在本文中,术语“发射器”将用于指代光发射器,诸如发射红外光的激光发射器。
[0143]“电子设备”或“计算设备”是指包括处理器和存储器的设备。每个设备可以具有其
自己的处理器和/或存储器,或者处理器和/或存储器可以与其他设备共享,如在虚拟机或容器布置中。存储器将包含或接收编程指令,当由处理器执行时,该编程指令使得电子设备根据编程指令执行一个或多个操作。
[0144]
术语“存储器”、“存储设备”、“数据存储”、“数据存储设备”等每个都指其上存储计算机可读数据、编程指令或两者的非暂时性设备。除非特别声明,否则术语“存储器”、“存储器设备”、“数据存储”、“数据存储设备”等旨在包括单个设备实施例、多个存储器设备一起或共同存储一组数据或指令的实施例,以及这些设备内的各个扇区。
[0145]
术语“处理器”和“处理设备”指的是被配置为执行编程指令的电子设备的硬件组件。除非特别声明,否则单数术语“处理器”或“处理设备”旨在包括单个处理设备实施例和多个处理设备一起或共同执行一个过程的实施例。
[0146]
术语“执行流”指的是以特定顺序执行的一系列功能。功能指的是使系统执行一个或多个动作的一个或多个操作指令。在各种实施例中,执行流可以涉及自动化设备的操作。例如,对于自主载具,特定的执行流可以由载具在特定情况下执行,例如,当载具在刚刚变成绿色的红色停止灯处停止时。例如,执行流可以包括确定灯为绿色、确定在载具前方或附近是否有任何障碍物、以及仅当灯为绿色且不存在障碍物时加速的功能。当自动化设备的子系统未能执行执行流中的功能时,或者当它未按顺序执行功能时,该错误可以指示已经发生了故障或者存在关于执行流的另一个问题。
[0147]
在本文中,术语“通信链路”和“通信路径”表示有线或无线路径,第一设备通过该路径向一个或多个其他设备发送通信信号和/或从一个或多个其他设备接收通信信号。如果设备能够经由通信链路发送和/或接收数据,则设备是“通信连接的”。“电子通信”是指在两个或多个电子设备之间通过一个或多个信号传输数据,无论是通过有线或无线网络,也无论是通过一个或多个中间设备直接或间接传输。
[0148]“自动化设备监控系统”是一组硬件,其通信地和/或电气地连接到自动化设备的各种组件(诸如传感器)以从那些组件收集状态或操作参数值。自动化设备监控系统可以包括或连接到数据记录设备,该数据记录设备包括数据输入(诸如无线接收器),该数据输入被配置为直接或间接地从设备的组件接收设备操作数据。监控系统还可以包括处理器、发送器和具有编程指令的存储器。监控系统可以包括用于向外部电子设备和/或远程服务器发送命令和/或数据的发送器。在各种实施例中,监控系统可以嵌入自动化设备的其他计算系统组件中或者与自动化设备的其他计算系统组件集成在一起,或者它可以是与一个或多个其他本地系统(诸如例如在自主载具的情况下的车载诊断系统)通信的独立设备。
[0149]
在本文件中,当诸如“第一”和“第二”的相对顺序术语被用来修饰名词时,这种使用仅仅是为了将一个项目与另一个项目区分开来,而不是为了要求顺序,除非特别声明。
[0150]
此外,诸如“垂直”和“水平”或“前”和“后”的相对位置术语在使用时,旨在相对于彼此,而不必是绝对的,并且仅指与这些术语相关联的设备的一个可能位置,这取决于设备的取向。当本文件使用术语“前”、“后”和“侧”来指载具的某个区域时,它们指的是相对于载具默认行驶区域的载具区域。例如,汽车的“前”是比其更靠近载具的前灯的区域,而汽车的“后”是比其更靠近载具的前灯的区域。此外,术语“前”和“后”不一定限于面向前或面向后的区域,而是还包括分别更靠近前部而不是后部的侧面区域,反之亦然。载具的“侧”是指载具最前部和最后部之间的面向侧面的部分。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1