掌桥专利:专业的专利平台
掌桥专利
首页

处理传感器信息以供对象检测

文献发布时间:2023-06-19 11:55:48


处理传感器信息以供对象检测

相关申请

本申请要求于2018年11月30日提交的题为“Processing Sensor Informationfor Object Detection(处理传感器信息以供对象检测)”的美国临时申请62/773,710的优先权权益,该临时申请的全部内容通过援引且出于所有目的被合并于此。

背景

典型的自主交通工具和半自主交通工具可检测关于其位置和周围环境的信息(例如,使用相机、雷达、激光雷达、GPS、文件里程计、加速度计和其他传感器),并且包括解读传感器信息以标识危险并确定要遵循的导航路径的控制系统。此类交通工具包括控制系统以在来自汽车的乘员或其他操作者的有限控制或没有控制的情况下进行操作。这些交通工具的安全操作取决于对障碍物的提早和准确的标识以及对在街道和公路的动态和繁忙的环境中的其他交通工具的移动进行跟踪和预测。

一些自主交通工具和半自主交通工具包括实现用于图像内的对象检测的神经网络的计算机系统。自主和半自主交通工具系统可将对象检测系统用于做出驾驶决策。

概述

各个方面包括用于改进对交通工具传感器信息的处理以检测对象的方法。各个方面包括可在交通工具控制单元的处理器(诸如在用于自主或半自动交通工具的交通工具导航系统内或在交通工具安全系统内的处理器)中实现的方法。

各个方面可包括:由传感器捕获关于传感器周围的环境的传感器信息;由处理器基于传感器信息生成特征图;由处理器将包括两个或更多个宽度先验的集合以及两个或更多个高度先验的集合的先验框与特征图的每个像素相关联;由处理器确定每个高度先验和每个宽度先验的置信度值;由处理器基于来自高度先验集当中的最高置信度高度先验和来自宽度先验集当中的最高置信度宽度先验来输出对检测到的对象的指示;以及由处理器基于对检测到的对象的所输出指示来执行交通工具操作。

一些方面可包括从两个或更多个高度先验的集合中选择最高置信度高度先验,以及从两个或更多个宽度先验的集合中选择最高置信度宽度先验。一些方面可包括为高度先验集中的每一者确定高度精化值,以及为宽度先验集中的每一者确定宽度精化值。

一些方面可包括利用高度精化值来精化最高置信度高度先验,以及利用宽度精化值来精化最高置信度宽度先验。在一些方面,基于来自高度先验集当中的最高置信度高度先验和来自宽度先验集当中的最高置信度宽度先验来输出对检测到的对象的指示可包括:输出经精化的最高置信度高度先验和经精化的最高置信度宽度先验。

在一些方面,每个相关联的先验框可包括中心值。此类方面可包括为每个先验框确定中心值精化,以及利用所确定的中心值精化来精化中心值。

一些方面可包括为每个先验框确定一个或多个对象分类,以及为该一个或多个对象分类中的每一者确定置信度值。在一些方面,对检测到的对象的所输出指示可包括高度置信度值和宽度置信度值中的一者或多者。

各个方面可包括:由传感器捕获关于传感器周围的环境的传感器信息;由处理器基于传感器信息来生成特征图;由处理器将包括中心值、大小值和取向先验集的一个或多个先验框与特征图的每个像素相关联;确定每个取向先验的置信度值;基于最高置信度取向来输出对检测到的对象的指示;以及基于对检测到的对象的所输出指示来执行交通工具操作。

一些方面可包括为每个先验框从取向先验集当中选择最高置信度取向先验。一些方面可包括为取向先验集中的每一者确定取向精化。一些方面可包括基于所确定的取向精化值来精化每个先验框的取向值。一些方面可包括基于经精化的取向值来旋转每个先验框。在一些方面,对检测到的对象的所输出指示可包括取向置信度值。

进一步的方面包括供在具有一个或多个传感器的交通工具中使用的控制单元,该控制单元包括配置有处理器可执行指令以执行以上概述的各方法中的任一者的操作的处理器。进一步的方面包括一种交通工具,该交通工具包括一个或多个传感器以及耦合到该一个或多个传感器并且配置有处理器可执行指令以执行以上概述的各方法中的任一者的操作的处理器。进一步的方面包括一种计算设备,该计算设备包括用于执行以上概述的各方法中的任一者的操作的装置。进一步的方面包括其上存储有处理器可执行软件指令的非瞬态处理器可读存储介质,该处理器可执行软件指令被配置成使计算设备的处理器执行以上概述的各方法中任一者的操作。进一步的方面包括包含处理器的片上系统,该处理器配置有处理器可执行指令以执行以上概述的各方法中任一者的操作。进一步的方面包括一种系统,该系统包括传感器和计算设备,该计算设备具有处理器,该处理器配置有处理器可执行指令以执行以上概述的各方法中任一者的操作。进一步的方面包括一种系统,该系统包括用于执行以上概述的各方法中任一者的功能的装置。

附图简述

纳入于此且构成本说明书一部分的附图解说了各示例性实施例,并与以上给出的概括描述和下面给出的详细描述一起用来解释各个实施例的特征。

图1A和1B是解说适用于实现各个实施例的交通工具的组件框图。

图1C是解说适用于实现各个实施例的交通工具的各组件的组件框图。

图2是解说根据各个实施例的供在交通工具中使用的可被配置成收集和分析传感器信息的示例片上系统的各组件的框图。

图3A和3B是解说根据各个实施例的适用于根据传感器信息来执行对象检测的神经网络架构的各组件的框图。

图4A是解说根据各个实施例的处理交通工具传感器信息以供对象检测的实施例方法的过程流程图。

图4B是解说根据各个实施例的处理交通工具传感器信息以供对象检测的实施例方法的过程流程图。

图5是解说根据各个实施例的处理交通工具传感器信息以供对象检测的实施例方法的过程流程图。

图6A和6B是解说根据各个实施例的根据传感器信息来执行对象检测的神经网络的输出的示图。

图7是解说根据各个实施例的基于传感器信息来执行对象检测的神经网络架构的各组件的框图。

图8A是解说根据各个实施例的处理交通工具传感器信息以供对象检测的实施例方法的过程流程图。

图8B是解说根据各个实施例的处理交通工具传感器信息以供对象检测的实施例方法的过程流程图。

图9A–9C是解说根据各个实施例的根据传感器信息来执行对象检测的神经网络的输出的示图。

详细描述

将参照附图详细描述各个方面。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和实施例所作的引用是用于解说性目的,而并不旨在限定各个方面或权利要求的范围。

各个实施例包括方法、实现该方法的交通工具计算系统、以及供在交通工具中使用的被配置成实现用于处理交通工具传感器信息以供对象检测的方法的处理设备。各个实施例可通过提供根据传感器信息的对象检测的改进的效率和准确度来改进自主交通工具和半自主交通工具的操作。

如本文中所使用的,术语“传感器信息”是指由交通工具的一个或多个传感器捕获的环境信息,其可由交通工具的处理器来处理以检测对象。此类传感器可包括雷达、激光雷达、相机和其他合适的传感器。传感器信息包括由此类传感器输出的未经处理的信息、以及诸如通过信号处理以阐明或增强传感器信息的经处理的输出。传感器信息不限于针对人类感知所组织或呈现的信息,诸如静止图像或视频图像序列。

自主交通工具和半自主交通工具通常包括收集关于周围环境的信息的多个传感器,包括相机、雷达和激光雷达。此类收集到的信息可使交通工具的处理器能够检测道路、标识要避开的对象并跟踪其他交通工具的位置和移动,以实现部分或完全自主导航。即使当由乘员或其他操作者操作时,此类收集到的信息也可使交通工具能够促成和/或改进乘员或其他操作者的(诸)反应。

一些自主交通工具和半自主交通工具包括处理器,该处理器实现被配置成检测由交通工具传感器采集的图像内的对象的神经网络。如本文中所使用的,术语“对象检测”是指在传感器数据集内检测对象的过程。当检测到对象时,处理器可输出关于对象已被检测到的指示(例如,指示或关于对象已被检测到的信息),并且在一些情形中以某个置信度水平来表征或标识所检测到的对象。神经网络处理器已被示为在检测和/或识别图像和类似数据内的对象方面是高效的。神经网络是采用多层操作来从一个或多个输入预测一个或多个输出的机器学习模型。每一层的输出被用作网络中的另一层的输入。神经网络的每一层指定要对该层的输入执行的一个或多个变换操作。每一层使用该层的参数集的当前值来生成一个或多个输出。神经网络通常被训练为通过向神经网络提供包括所标识的对象的图像的相当大的数据集(有时被称为“地面真值(ground truth)”)来识别图像内的对象。一旦被训练,神经网络便可处理输入(例如,图像或其他传感器数据)以做出对象的确定或检测,神经网络可将该确定或检测输出作为关于对象已(例如,在图像的一部分内)被检测到的指示,并且在一些情形中作为检测到的对象(例如,行人或交通工具)的标识或分类。处理器可被配置成使用对象的检测或分类的输出来做出影响现实世界操作的决策。例如,自主和半自主交通工具系统可将神经网络对象检测过程的输出用于做出导航、操纵和其他操作决策(例如,转向以避开检测到的对象)。

实现神经网络的处理器的操作中的改进因而提供切实的现实世界益处,包括改进自主交通工具导航、改进用于交通工具安全系统和自主交通工具的对象和碰撞规避系统。此类益处可适用于任何形式的交通工具,包括陆地交通工具(例如,自主汽车和机器人)、空中交通工具(例如,无人机和飞行器自动驾驶系统)、水运工具(例如,自主水面和水下航行器和导航/碰撞规避系统)、和航天器(例如,轨道成像系统和行星探测器)。因而,本文中对“交通工具”的引用意在涵盖任何形式的交通工具,并且对使用陆地交通工具(例如,自主汽车)的实施例的描述是出于解说性目的,而并不旨在限定权利要求的范围。此外,各个实施例可具有在交通工具导航和安全系统之外的技术应用,包括通过神经网络处理器处理影像的图像识别系统。

由神经网络对传感器信息执行的对象检测可包括确定检测到的对象的位置和语义类别或分类(例如,人、交通工具、标志、建筑物等)。处理器可采用各种机器学习和深度学习办法中的一种或多种来执行对象检测。深度学习办法可被用来执行对象检测,而无需具体定义要检测的对象的特征。一些深度学习办法可采用卷积神经网络。

单发检测器(SSD)架构是一种深度学习办法,该深度学习办法使用卷积神经网络来处理传感器信息(通常为一次),然后确定特征图。然后,SSD在不同纵横比上应用一组默认或候选框(“边界框”或“先验框”),并缩放至特征图。通过在传感器信息通过神经网络传递时确定特征图,用于先验框的特征可在单个步骤中被提取。然后,SSD为默认先验框中的每一者中的每个对象类别生成置信度值。SSD还确定默认先验框中的每一者的中心值、高度和宽度的调整偏移,以使默认先验框更好地适合地面真值框。然后,SSD可执行诸如非极大值抑制之类的操作以移除较低分数或重复检测。

用于对象检测的典型SSD办法包括一些低效率和局限性。具有多个大小的多个先验框的应用可产生以指数方式增大的复杂度的“组合爆炸”,这增加了典型办法的计算负担和低效率。对多个先验框的使用还限制了对其他特征(诸如对象的取向或速度)的分析,因为向每个先验框添加附加先验对复杂度的“组合爆炸”和计算负担作出贡献。

作为非限制性示例,常规汽车雷达系统不提供关于对象的取向的任何信息。使用如在此类常规雷达系统中所采用的常规信号处理来从底层雷达信号提取与对象取向有关的信息是困难的。

各个实施例包括方法、实现该方法的交通工具控制单元、以及供在交通工具中使用的被配置成实现用于处理交通工具传感器信息以供对象检测的方法的计算设备。各个实施例可通过提供基于图像或其他传感器数据的改进的对象检测来改进自主交通工具和半自主交通工具的操作。具体而言,各个实施例可改进处理传感器信息的计算设备的操作以改进对象检测。各个实施例可改进处理传感器信息的处理器的操作以提供对此类传感器信息的更高效分析。各个实施例可通过使得能够处理传感器信息的更多方面来改进处理传感器信息的处理器的操作以获得对传感器信息的更详细和准确的分析。各个实施例可通过由处理器执行神经网络以生成对传感器信息的更详细和准确的分析,来改进对传感器信息的处理。

在各个实施例中,(例如,交通工具的)传感器可捕获关于传感器周围的环境的传感器信息。例如,传感器信息可包括来自相机的光信息,其可包括关于在检测到的角度或方位具有检测到的强度的光的信息。作为另一示例,传感器信息可包括雷达或激光雷达信息,其可包括具有距离、方位和强度的检测到的信号。在一些实施例中,处理器可根据此类信息生成其环境的“鸟瞰图”。各个实施例可不受限制地使用其他合适的传感器信息。

在一些实施例中,交通工具控制单元内的处理器可基于所捕获的传感器信息来生成特征图。在一些实施例中,特征图可包括处理器可以分析的多个特征、方面、值或元素。在一些实施例中,特征图可包括多个像素。在一些实施例中,特征图的每个像素可包括或关联于多个特征、方面、值或元素。在一些实施例中,处理器可基于从环境中捕获的传感器信息来生成多个特征图。在一些实施例中,特征图可具有变化的分辨率,以提供变化的细节水平以供处理器分析。例如,处理器可提供在不同分辨率的特征图中对不同大小的对象的更准确检测。在一些实施例中,处理器可快速分析多个特征图中的每一者,如下面进一步描述的。

在一些实施例中,交通工具控制单元内的处理器可将先验框与特征图的每个像素相关联,该先验框包括经定义的中心值、高度先验集、和宽度先验集。高度先验集和宽度先验集为先验框提供用于先验框的大小的各种选项。高度先验集通常包括两个或更多个高度值,而宽度先验集通常包括两个或更多个宽度值。在一些实施例中,先验框可以不包括预定义大小(即,预定义高度和宽度)。在一些实施例中,先验框可包括一个或多个附加先验的集合。此类附加先验可包括连续参量的值,例如,取向、速度、或其他合适的值。

在一些实施例中,在训练过程期间,交通工具控制单元内的处理器可执行配置有多个先验框的神经网络,该多个先验框包括例如经定义的中心值、高度先验集、和宽度先验集。在一些实施例中,神经网络可被提供有包括训练示例的带标签的训练数据集。执行神经网络的处理器可处理训练数据,由此将处理器配置成分析并提供关于先前未见的传感器信息的各种预测。例如,在实时或现实世界环境中,处理器可执行神经网络以快速处理传感器信息(或从此类传感器信息生成的特征图)。

在一些实施例中,交通工具控制单元内的处理器可为每个先验框计算一个或多个对象分类以及对象分类中的每一者的置信度值。例如,处理器可确定对象(例如,人、汽车、标志等)的一个或多个标识或分类。处理器可确定分类中的每一者的置信度值(例如,百分比置信度)。在一些实施例中,处理器可为每个先验框选择具有最高置信度值的对象分类。

在一些实施例中,交通工具控制单元内的处理器可为每个先验框确定中心值精化。在一些实施例中,处理器可基于所确定的中心值精化来精化每个先验框的中心值。

在一些实施例中,交通工具控制单元内的处理器可确定每个宽度先验的置信度值和每个高度先验的置信度值。例如,处理器可确定先验框的每个宽度先验和每个高度先验的百分比置信度值。在一些实施例中,处理器可确定每个附加先验的置信度值。每个附加先验的置信度值可包括例如百分比置信度值。

在一些实施例中,交通工具控制单元内的处理器可为高度先验集中的每一者确定高度精化值。在一些实施例中,处理器可基于特征图来为宽度先验集中的每一者确定宽度精化值。在一些实施例中,处理器可基于一个或多个特征图来为宽度先验集中的每一者确定宽度精化值。例如,处理器可基于特征图中所表示的对象的一个或多个方面来确定宽度精化值。在一些实施例中,处理器可为每个附加先验集的每个附加先验确定精化值。在一些实施例中,处理器可基于特征图来确定高度精化值和宽度精化值。

在一些实施例中,交通工具控制单元内的处理器可为每个先验框从高度先验集当中选择最高置信度高度先验。在一些实施例中,处理器可为每个先验框从宽度先验集当中选择最高置信度宽度先验。在一些实施例中,处理器可为每个先验框从每个附加先验集当中选择每个附加先验的最高置信度值。在一些实施例中,处理器可利用所确定的高度精化值来精化最高置信度高度先验。在一些实施例中,处理器可利用所确定的宽度精化值来精化最高置信度宽度先验。在一些实施例中,处理器可利用每个附加先验的所确定的精化值来精化(诸)最高置信度附加先验。

在一些实施例中,交通工具控制单元内的处理器可为特征图的每个像素输出提议检测,该提议检测包括经精化的中心值、经精化的最高置信度高度、经精化的最高置信度宽度、和最高置信度对象分类。在一些实施例中,提议检测还可包括经精化的附加的一个或多个先验。

在一些实施例中,由于处理器将先验框与特征图的每个像素相关联,因此对于单个对象,处理器可产生多个对应的提议检测。在一些实施例中,处理器可执行用于抑制多次检测的操作,诸如非极大值抑制。在一些实施例中,处理器可计算最高置信度提议检测与其他提议检测的交叠,并且可移除或忽略与最高置信度提议检测交叠得过多(例如,大于阈值交叠)的较低置信度提议检测,因为它们很可能是对相同对象的检测。在一些实施例中,处理器可将最高置信度提议检测视为最可靠或最准确的提议检测。处理器可重复此过程,直到达到在剩余的提议检测中最高置信度低于阈值置信度值的时点。在一些实施例中,针对特征图的许多像素输出的提议检测可包括对足够低的置信度的检测到的对象的指示,以便指示对象可能不存在于提议检测中。在一些实施例中,处理器可选择具有高于阈值置信度的总体置信度的一个或多个提议检测。在一些实施例中,处理器可移除或忽略具有低于置信度阈值的总体置信度的那些提议检测。在一些实施例中,该操作可导致对许多或多数提议检测的消除。

在一些实施例中,交通工具控制单元内的处理器可输出最终检测指示(即,对检测到的对象的最终指示)。在各个实施例中,处理器可针对由处理器接收的传感器信息的每个帧提供对检测到的对象的多个最终指示(例如,检测多个对象)。在一些实施例中,如以上所提及的,处理器可基于传感器信息来生成多个特征图。在一些实施例中,特征图可具有变化的分辨率,以提供变化的细节水平以供处理器分析。例如,处理器可提供在不同分辨率的特征图中对不同大小的对象的更准确检测。在一些实施例中,处理器可快速分析多个特征图中的每一者。最终检测可基于使用上面描述的操作的对多个特征图的分析。

在一些实施例中,交通工具控制单元内的处理器可基于对检测到的对象的所输出指示(即,最终检测)来执行交通工具操作。例如,处理器可基于最终检测来规划或执行交通工具操纵或操作。作为另一示例,处理器可生成给交通工具控制器的命令或信号,以使交通工具转弯、加速或减速以避开障碍物、跟随另一交通工具等。

在各个实施例中,传感器可捕获关于传感器周围的环境的传感器信息,并且可基于传感器信息来生成特征图。在一些实施例中,捕获传感器信息和生成特征图的操作可类似于如上面描述的此类操作。

在一些实施例中,交通工具控制单元内的处理器可将一个或多个先验框与特征图的每个像素相关联,该先验框包括中心值、大小值(例如,高度和宽度)、取向先验集。取向先验集可包括两个或更多个取向值。

在一些实施例中,交通工具控制单元内的处理器可为每个先验框计算一个或多个对象分类以及对象分类中的每一者的置信度值。在一些实施例中,处理器可为每个先验框选择具有最高置信度值的对象分类。

在一些实施例中,交通工具控制单元内的处理器可为每个先验框确定中心值精化。在一些实施例中,处理器可基于所确定的中心值精化来精化每个先验框的中心值。

在一些实施例中,交通工具控制单元内的处理器可为取向先验集的每个取向先验确定取向精化。在一些实施例中,处理器可基于特征图来确定取向精化。

在一些实施例中,交通工具控制单元内的处理器可为每个先验框从取向先验集当中选择最高置信度取向先验。在一些实施例中,处理器可利用所确定的取向精化值来精化最高置信度取向先验。在一些实施例中,处理器可基于经精化的取向值来旋转每个先验框。

在一些实施例中,交通工具控制单元内的处理器可输出一个或多个提议检测,该一个或多个提议检测包括经精化的中心值、经精化的大小、最高置信度取向、和最高置信度对象分类。

在一些实施例中,交通工具控制单元内的处理器可执行基本上如上面所描述的用于减少或消除重复检测的操作。如以上所提及的,由于处理器将一个或多个先验框与特征图的每个像素相关联,因此对于单个对象,处理器可产生多个对应的提议检测。处理器可执行用于抑制多次检测的操作,诸如非极大值抑制。在一些实施例中,处理器可计算最高置信度提议检测与其他提议检测的交叠,并且处理器可移除或忽略与最高置信度提议检测交叠得过多(例如,大于阈值交叠)的较低置信度提议检测,因为它们很可能是对相同对象的检测。在一些实施例中,处理器可将最高置信度提议检测视为最可靠或最准确的提议检测。处理器对此进行重复,直到达到在剩余的提议检测中最高置信度低于阈值置信度值的时点。在一些实施例中,针对特征图的许多像素输出的提议检测可包括对足够低的置信度的检测到的对象的指示,以便指示可能没有对象存在于提议检测中。在一些实施例中,处理器可选择具有高于阈值置信度的总体置信度的一个或多个提议检测。在一些实施例中,处理器可移除或忽略具有低于置信度阈值的总体置信度的那些提议检测。在一些实施例中,该操作可导致对许多或多数提议检测的消除。

换言之,由于网络始终输出设定数目的检测提议,因此将发生的是给定单个对象具有多个对应的检测提议。为了消除这些重复,处理器可执行附加步骤,包括公知的算法(诸如非极大值抑制)。

在一些实施例中,交通工具控制单元内的处理器可输出最终检测(即,对检测到的对象的最终指示)。在各个实施例中,处理器可针对由处理器接收的传感器信息的每个帧提供对检测到的对象的多个最终指示(例如,可检测多个对象)。在一些实施例中,如以上所提及的,处理器可基于传感器信息来生成多个特征图。特征图可具有变化的分辨率,以提供变化的细节水平以供处理器分析。例如,处理器可提供在不同分辨率的特征图中对不同大小的对象的更准确检测。在一些实施例中,处理器可快速分析多个特征图中的每一者。在一些实施例中,最终检测可基于使用上面描述的操作的对多个特征图的分析。

在一些实施例中,交通工具控制单元内的处理器可基于对检测到的对象的所输出指示(即,最终检测)来执行交通工具操作。例如,处理器可基于最终检测来规划或执行交通工具操纵或操作,诸如转弯、加速或减速。由于交通工具传感器可按高帧率(例如,每秒多达50帧或更高)输出传感器信息,因此处理器可在数个传感器信息帧上使用对检测到的对象的所输出指示来确定恰适的交通工具操纵或操作。例如,来自若干传感器信息帧的对检测到的对象的所输出指示可被组合以进一步提高对象的检测中的置信度,之后处理器基于对检测到的对象的所输出指示的组合来采取动作。

各个实施例改进了被配置成执行对象检测的计算设备和处理器的操作,并且改进了包括此类计算设备和/或处理器的自主交通工具和半自主交通工具的操作。为先验框提供先验集使得能够以线性缩放的方式更高效地分析传感器信息,并因而避免复杂度的组合爆炸。各个实施例使处理器能够分析传感器信息的更多特征,从而提供更准确的对象检测。各个实施例通过允许向先验框添加用于几乎任何属性的(诸)先验集(例如,取向、速度、和其他合适的特征)同时避免分析期间的组合爆炸来提供处理传感器信息的可扩展方法。通过向先验框添加先验(例如,使得能够使用更多数目的形状类别或先验形状),各个实施例将确定转移至分类器并减少精化确定。

各个实施例可更高效地使用提供给神经网络的训练信号(例如,训练数据)。例如,在常规SSD中,仅匹配的先验框从训练信号中学习,并且无学习被传播到其他先验框。例如,如果训练图像在该图像中包括5个单位宽和2个单位长(即,5x2形状)的对象,则在常规SSD中,仅经匹配的先验框将从示例对象中学习。尽管可能存在多个匹配的框——例如,5x2、5x3、4x2和其他类似的紧密匹配的框——但是5x10先验框将不会学习关于5个单位宽的对象看上去如何的任何信息,即使5x10先验框也是5个单位宽。作为对比,在各个实施例中,所有先验框从训练信号/数据中学习(即,被训练)。

各个实施例可在各种交通工具内实现,其示例交通工具100在图1A和1B中被解说。参照图1A和1B,交通工具100可包括设置在交通工具中或交通工具上的多个传感器102-138,该多个传感器102-138是出于自主和半自主导航以及关于交通工具100中或交通工具100上的对象和人的传感器数据中所涉及的各种目的来被使用的。传感器102-138可包括能够检测对环境检测、操纵、导航、碰撞避免和其他交通工具操作而言有用的各种信息的各种各样的传感器中的一者或多者。传感器102-138中的每一者可以与控制单元140以及与彼此进行有线或无线通信。具体而言,传感器可包括一个或多个相机122、136或其他光学传感器或光电传感器。传感器可进一步包括其他类型的对象检测和测距传感器,诸如雷达132、激光雷达138、IR传感器、和超声传感器。传感器可进一步包括:轮胎压力传感器114、120,湿度传感器,温度传感器,卫星地理定位传感器108,加速度计,振动传感器,陀螺仪,重力计,冲击传感器130,力计,应力计,应变传感器,流体传感器,化学传感器,气体含量分析仪,pH传感器,辐射传感器,盖革计数器,中子检测器,生物材料传感器,话筒124、134,占用传感器112、116、118、126、128,邻近度传感器以及其他传感器。

交通工具控制单元140可配置有处理器可执行指令,以使用从各种传感器(尤其是相机122、136,雷达132,和/或激光雷达138)接收的信息来执行各个实施例。在一些实施例中,控制单元140可使用可从雷达132和/或激光雷达138传感器获得的距离和相对位置(例如,相对方位角)来补充对相机图像的处理。控制单元140可进一步被配置成当使用关于利用各个实施例确定的其他交通工具的信息以自主模式或半自主模式操作时控制交通工具100的转向、制动和速度。

图1C是解说适用于实现各个实施例的各组件和支持系统的系统150的组件框图。参照图1A、1B和1C,交通工具100可包括控制单元140,其可包括用于控制交通工具100的操作的各种电路和设备。控制单元140可被耦合到并且被配置成控制交通工具100的驾驶控制组件154、导航组件156、雷达/激光雷达组件160、相机组件162、以及一个或多个其他传感器158。

如本文中所使用的,术语“组件”、“系统”、“单元”及类似术语包括计算机相关实体,诸如但不限于被配置成执行特定操作或功能的硬件、固件、硬件与软件的组合、软件、或执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行件、执行的线程、程序、和/或计算机。作为解说,通信设备上运行的应用和通信设备两者都可被称为组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可局部化在一个处理器或核上和/或分布在两个或更多个处理器或核之间。另外,这些组件可从其上存储有各种指令和/或数据结构的各种非瞬态计算机可读介质来执行。各组件可通过本地和/或远程进程、功能或规程调用、电子信号、数据分组、存储器读/写、以及其他已知的计算机、处理器和/或与进程相关的通信方法体系来进行通信。

控制单元140可包括处理器164,该处理器164配置有处理器可执行指令以控制交通工具100的操纵、导航和其他操作,包括各个实施例的操作。处理器164可被耦合到存储器166。控制单元162可包括输入模块168、输出模块170和无线电模块172。

无线电模块172可被配置成用于无线通信。无线电模块172可以与网络收发机180交换信号182(例如,用于控制操纵的命令信号、来自导航设施的信号等),并且可将信号182提供给处理器164和/或导航单元156。在一些实施例中,无线电模块172可使交通工具100能够通过无线通信链路192与无线通信设备190通信。无线通信链路192可以是双向或单向通信链路,并且可使用一个或多个通信协议。

输入模块168可接收来自一个或多个交通工具传感器158的传感器数据以及来自其他组件的电子信号,该其他组件包括驾驶控制组件154和导航组件156。输出模块170可被用来与交通工具100的各种组件通信或激活交通工具100的各种组件,包括驾驶控制组件154、导航组件156和(诸)传感器158。

控制单元140可被耦合到驾驶控制组件154,以控制交通工具100的与交通工具的操纵和导航有关的物理元件,诸如引擎、电机、节流阀、转向元件、飞行控制元件、制动或减速元件等等。驾驶控制组件154还可包括控制交通工具的其他设备的组件,包括环境控件(例如,空调和加热)、外部和/或内部照明、内部和/或外部信息显示器(其可包括显示屏或用于显示信息的其他设备)、以及其他类似设备。

控制单元140可被耦合到导航组件156,并且可接收来自导航组件156的数据且被配置成使用此类数据来确定交通工具100的当前位置和取向、以及朝向目的地的恰适路线。在各个实施例中,导航组件156可包括或被耦合到使交通工具100能够使用全球导航卫星系统(GNSS)信号来确定其当前位置的GNSS接收机系统(例如,一个或多个全球定位系统(GPS)接收机)。替换地或附加地,导航组件156可包括无线电导航接收机,以用于从无线电节点(诸如Wi-Fi接入点、蜂窝网络站点、无线电站、远程计算设备、其他交通工具等)接收导航信标或其他信号。通过对驾驶控制元件154的控制,处理器164可控制交通工具100进行导航和操纵。处理器164和/或导航组件156可被配置成使用与蜂窝数据网络180的无线连接182与网络186(例如,因特网)上的服务器184进行通信,以接收用于控制操纵的命令、接收导航中有用的数据、提供实时位置报告、和评估其他数据。

控制单元162可被耦合到一个或多个传感器158。(诸)传感器158可包括如所描述的传感器102-138,并且可被配置成向处理器164提供各种数据。控制单元140可被耦合到雷达/激光雷达组件160和/或相机组件162,以控制雷达/激光雷达组件160和/或相机组件162的操作并接收来自雷达/激光雷达组件160和/或相机组件162的传感器信息、以及将此类传感器信息提供给处理器164。

尽管控制单元140被描述为分开的组件,但是在一些实施例中,一些或全部组件(例如,处理器164、存储器166、输入模块168、输出模块170和无线电模块172)可被集成在单个设备或模块(诸如片上系统(SOC)处理设备)中。这样的SOC处理设备可被配置成供在交通工具中使用并且被配置成在被安装到交通工具中时执行各个实施例的操作(诸如配置有在处理器164中执行的处理器可执行指令)。

图2解说了适用于实现各个实施例的处理设备SOC 200的示例片上系统(SOC)架构。参照图1A–2,处理设备SOC 200可包括数个异构处理器,诸如数字信号处理器(DSP)203、调制解调器处理器204、图像处理器206、移动显示处理器(MDP)207、应用处理器208、以及资源和电源管理(RPM)处理器217。处理设备SOC 200还可包括连接到异构处理器203、204、206、207、208、217中的一者或多者的一个或多个协处理器210(例如,矢量协处理器)。处理器中的每一者可包括一个或多个核、以及独立/内部时钟。每个处理器/核可以独立于其他处理器/核来执行操作。例如,处理设备SoC 200可包括执行第一类型的操作系统(例如,FreeBSD、LINUX、OS X等)的处理器和执行第二类型的操作系统(例如,Microsoft Windows)的处理器。在一些实施例中,应用处理器208可以是SOC 200的主处理器、中央处理单元(CPU)、微处理器单元(MPU)、算术逻辑单元(ALU)等。图形处理器206可以是图形处理单元(GPU)。

处理设备SoC 200可包括模拟电路系统和定制电路系统214,以用于管理传感器数据、模数转换、无线数据传输,并且用于执行其他专门操作,诸如处理经编码音频和视频信号以供在web浏览器中渲染。处理设备SoC 200可进一步包括系统组件和资源216,诸如电压调节器、振荡器、锁相环、外围桥接器、数据控制器、存储器控制器、系统控制器、访问端口、定时器、以及用于支持在计算设备上运行的处理器和软件客户端(例如,web浏览器)的其他类似组件。

处理设备SoC 200还可包括专用相机控制电路系统(CAM)205,该CAM 205包括、提供、控制和/或管理以下一个或多个的操作:相机122、136(例如,主相机、网络相机、3D相机等)、来自相机固件的视频显示数据、图像处理、视频预处理、视频前端(VFE)、内嵌JPEG、高清视频编解码器等。CAM 205可以是独立处理单元和/或包括独立或内部时钟。

处理设备SOC 200还包括专用测距设备控制电路系统(RANGING)209,该RANGING209包括、提供、控制和/或管理一个或多个组件(诸如雷达132、激光雷达138)和其他合适的设备(例如,源/发射器、检测器、和扫描组件、定时电子器件、取向和位置确定组件等)的操作。RANGING 209可以是独立处理单元和/或包括独立或内部时钟。

在一些实施例中,图像处理器206可配置有被配置成执行各个实施例中所涉及的图像处理分析的处理器可执行指令和/或专用硬件。例如,图像处理器206可被配置成执行接收和处理经由CAM 205从相机(例如122、136)和/或从雷达或激光雷达系统(例如132、138)接收的传感器信息以供置备给对象检测系统的操作。

系统组件和资源216、模拟和定制电路系统214、CAM 205、和/或RANGING209可包括用于与外围设备(诸如相机122、136,电子显示器,无线通信设备,外部存储器芯片等)对接的电路系统。处理器203、204、206、207、208可以经由互连/总线模块224互连至一个或多个存储器元件212、系统组件和资源216、模拟和定制电路系统214、CAM 205、RANGING 209以及RPM处理器217,该互连/总线模块224可包括可重配置的逻辑门阵列和/或实现总线架构(例如,CoreConnect、AMBA等)。通信可由高级互连来提供,诸如高性能片上网络(NoC)。

处理设备SoC 200可进一步包括输入/输出模块(未解说),以用于与SoC外部的资源(诸如时钟218和电压调节器220)通信。SoC外部的资源(例如,时钟218、电压调节器220)可以由内部SoC处理器/核(例如,DSP 204、调制解调器处理器206、图形处理器208、应用处理器308等)中的两者或更多者共享。

在一些实施例中,处理设备SOC 200可被包括在控制单元(例如,140)中以供在交通工具(例如,100)内使用。控制单元可包括用于与电话网络(例如180)、因特网、和/或网络服务器(例如184)进行通信的通信链路,如所描述的。

处理设备SoC 200还可包括适用于从传感器收集传感器数据的附加硬件和/或软件组件,所述传感器包括运动传感器(例如,加速度计和陀螺仪)、用户接口元件(例如,输入按钮、触摸屏显示器等)、话筒阵列、用于监视物理状况(例如,位置、方向、运动、取向、振动、压力等)的传感器、相机、指南针、GPS接收机、通信电路系统(例如,

图3A和3B解说了适用于使用各个实施例根据传感器信息来执行对象检测的神经网络架构300a的各组件。参照图1A–3B,主干神经网络架构302接收输入350(诸如来自相机、雷达、激光雷达等的传感器信息),并对输入执行处理以尤其生成给各种分类头端或分类模块的各种输入。例如,主干架构302可将输入304提供给分类头端312,并且将输入306提供给偏移回归模块314。此外,对于正被估计的每个特征或属性(例如,高度先验、宽度先验、取向先验、速度先验、和其他合适的先验),主干架构302可将输入308提供给先验分类头端316,并将输入310提供给先验精化头端318。分类头端312可为每个先验框输出分类320(其可包括一个或多个分类)。偏移回归模块314可为每个先验框输出偏移精化322(例如,处理器可用来精化先验框的中心的中心精化值,如下文进一步描述的)。对于正被估计的每个特征或属性,先验分类头端316可为每个先验框输出先验属性分类324(其可包括一个或多个分类)。先验精化头端318可输出先验属性精化326(其可包括一个或多个精化)。先验属性精化326可包括用于先验中的任一者的精化值(例如,高度先验精化值、宽度先验精化值、取向先验精化值、速度先验精化值等),处理器可将其用来精化一个或多个先验的值,如下文进一步描述的。

在各个实施例中,跟随主干架构302的可以是SSD“前馈”卷积网络,其产生边界框的固定大小的集合和那些框中的对象类别实例的存在的分数,继之以非极大值抑制步骤以产生最终检测。在一些实施例中,早期网络层可基于用于高质量图像分类的标准架构(在任何分类层之前被截)。各个实施例可将辅助结构(例如,分类头端312、偏移回归模块314、先验分类头端316、和先验精化头端318)添加到SSD以产生期望的检测,如下文进一步描述的。

图3B解说了骨干神经网络架构302的示例。神经网络(例如,骨干架构302)是采用多层操作来从一个或多个输入预测一个或多个输出的机器学习模型。神经网络通常包括位于输入层与输出层之间的一个或多个隐藏层。每一层的输出被用作网络中的另一层(例如,下一个隐藏层或输出层)的输入。神经网络的每一层指定要对该层的输入执行的一个或多个变换操作。一些神经网络层具有被称为神经元的操作。每个神经元接收一个或多个输入,并生成由另一神经网络层接收的输出。每个神经元可接收来自其他神经元的输入,并且每个神经元可向一个或多个其他神经元提供输出。

神经网络架构302指定网络中所包括的各层及其属性、以及网络的每一层的神经元是如何连接的,以便指定哪些层将其输出作为给哪些其他层的输入来提供以及该输出是如何被提供的。处理器(例如,处理器164、203-210、217)可执行每一层的变换操作,例如,实现启用变换操作的一个或多个软件模块。因而,被描述为执行操作的层意指实现该层的变换操作的(诸)处理器执行该操作。

每一层可使用该层的参数集的当前值来生成一个或多个输出。训练神经网络302可包括对输入持续地执行前向传递、计算梯度值、以及更新每一层的参数集的当前值。一旦神经网络302被训练,最终参数集便可被用来在生产系统中做出预测。

卷积神经网络包括卷积神经网络层。卷积神经网络层具有利用输入数据中的空间局部相关性的神经元连通性。为此,卷积神经网络层具有稀疏连通性,其中一个卷积层中的神经元仅接收来自先前神经网络层中的神经元的小子集的输入。神经元从其接收该神经元的输入的诸神经元定义了该神经元的感受野。卷积神经网络层可包括一个或多个过滤器,该一个或多个过滤器可由该层的参数来定义。卷积神经网络层可通过执行每个神经元过滤器与该层的输入的卷积来生成输出。

另外,每个卷积网络层可包括采用三维布置(例如包括深度、宽度和高度维度)的神经元。宽度维度和高度维度可对应于一层的输入的二维特征。深度维度可包括神经元的一个或多个深度子层。在一些实施例中,卷积神经网络可采用权重共享,以使得深度子层中的所有神经元具有相同权重,以在检测输入中的特征时实现平移不变性。卷积神经网络还可包括全连通层和其他种类的层。全连通层中的神经元可接收来自前一神经网络层中的每个神经元的输入。

图4A解说了根据各个实施例的处理交通工具传感器信息以供处理器进行对象检测的方法400a。参照图1A–4A,方法400a可以在交通工具(例如,100)的处理器(例如,164)、处理设备(例如,200)、和/或控制单元(例如,140)(被不同地称为“处理器”)中实现。在框402-438中所执行的操作的次序仅仅是解说性的,并且框402-438的操作可在各个实施例中按任何次序且部分同时地执行。

如以下进一步描述的,在框402中,处理器可通过传感器(例如,相机、雷达、激光雷达等)捕获关于传感器周围的环境的传感器信息。例如,传感器信息可包括由相机捕获的图像或光信息,其可包括关于在检测到的角度或方位具有检测到的强度的光的信息。作为另一示例,所捕获的传感器信息可包括雷达或激光雷达信息,其可包括具有距离、方位和强度的检测到的信号。

在框404,处理器可基于传感器信息来生成特征图。在一些实施例中,处理器可生成特征图,以将从框402中所捕获的传感器数据提取的多个特征、方面、值或元素包括成处理器可分析的格式。在一些实施例中,特征图的每个像素可包括或关联于该多个特征、方面、值或元素。在一些实施例中,处理器可基于框402中从环境捕获的传感器信息来生成多个特征图。在一些实施例中,处理器可生成具有变化的分辨率的特征图,以提供变化的细节水平以供处理器分析。例如,处理器可提供在不同分辨率的特征图中对不同大小的对象的更准确检测。

在框406中,处理器可将包括中心值、两个或更多个宽度先验的集合、以及两个或更多个高度先验的集合的先验框与特征图的每个像素相关联。高度先验集和宽度先验集可为先验框提供用于先验框的大小的各种选项。高度先验集可包括两个或更多个高度值,而宽度先验集通常可包括两个或更多个宽度值。在一些实施例中,先验框可以不具有预定义大小(即,预定义高度和宽度)。在一些实施例中,先验框可包括一个或多个附加先验的集合。此类附加先验可包括连续参量的值,例如,取向、速度、或其他合适的值。

在框414中,处理器可确定每个高度先验和每个宽度先验的置信度值。例如,处理器可确定先验框的每个宽度先验和每个高度先验的百分比置信度值。在一些实施例中,处理器可确定每个附加先验的置信度值。每个附加先验的置信度值可包括例如百分比置信度值。

在框436中,处理器可输出对检测到的对象的最终指示。在一些实施例中,对检测到的对象的所输出指示可基于来自高度先验集当中的最高置信度高度先验和来自宽度先验集当中的最高置信度宽度先验。

在框438中,处理器可基于对检测到的对象的所输出指示来采取动作,诸如在交通工具中实现的各实施例中基于对检测到的对象的所输出指示来执行交通工具操作。例如,处理器可执行导致改变方向(诸如以避开障碍物或跟随另一交通工具)的动作。在许多情形中,处理器可在数个传感器信息帧上基于对检测到的对象的所输出指示来采取动作,因为方法400a中的操作可每秒被重复许多次(例如,每秒50次或更多)。因而,来自若干传感器信息帧的对检测到的对象的所输出指示可被组合以进一步提高所检测到的对象中的置信度,之后处理器基于对检测到的对象的所输出指示的组合来采取动作。

处理器可再次捕获框402中关于环境的传感器信息。

图4B解说了根据各个实施例的处理交通工具传感器信息以供处理器进行对象检测的方法400b。参照图1A-4B,方法400a可以在交通工具(例如,100)的处理器(例如,164)、处理设备(例如,200)、和/或控制单元(例如,140)(被不同地称为“处理器”)中实现。在框402-438中所执行的操作的次序仅仅是解说性的,并且框402-438的操作可在各个实施例中按任何次序且部分同时地执行。

在框402中,处理器可通过传感器(例如,相机、雷达、激光雷达等)捕获关于传感器周围的环境的传感器信息,如参照图4A针对方法400a中的相同编号的框所描述的。

在框404中,处理器可基于传感器信息来生成特征图,如参照图4A针对方法400a中的相同编号的框所描述的。

在框406中,处理器可将包括中心值、两个或更多个宽度先验的集合、以及两个或更多个高度先验的集合的先验框与特征图的每个像素相关联,如参照图4A针对方法400a中的相同编号的框所描述的。

在框408中,处理器可为每个先验框计算一个或多个对象分类以及该一个或多个对象分类中的每一者的置信度值。例如,处理器可确定对象(例如,人、汽车、标志等)的一个或多个标识。处理器可确定分类中的每一者的置信度值(例如,百分比置信度)。

在框410中,处理器可为每个先验框选择具有最高置信度值的对象分类。

在框412中,处理器可为每个先验框确定中心值精化。在一些实施例中,处理器可基于所确定的中心值精化来精化每个先验框的中心值。

在框414中,处理器可确定每个高度先验的置信度值和每个宽度先验的置信度值,如参照图4A针对方法400a中的相同编号的框所描述的。

在框416中,处理器可为高度先验集中的每一者确定高度精化值。

在框418中,处理器可为宽度先验集中的每一者确定宽度精化值。在一些实施例中,处理器可基于框404中所生成的特征图来确定高度精化值和宽度精化值。

在框420中,处理器可为每个先验框从高度先验集当中选择最高置信度高度先验。

在框422中,处理器可为每个先验框从宽度先验集当中选择最高置信度宽度先验。

在框424中,处理器可基于所确定的中心值精化来精化每个先验框的中心值。

在框426中,处理器可利用所确定的高度精化值来精化最高置信度高度先验。

在框428中,处理器可利用所确定的宽度精化值来精化最高置信度宽度先验。

在框430中,处理器可为每个像素输出提议检测,该提议检测包括经精化的中心值、经精化的最高置信度高度、经精化的最高置信度宽度、和最高置信度对象分类。

在框432中,处理器可执行用于抑制多次检测的操作(例如,非极大值抑制)。

在框434中,处理器可移除具有低于置信度阈值的置信度水平的提议检测。在一些实施例中,处理器可将框434的操作作为框432的操作的一部分或与框432的操作一起执行。

在框436中,处理器可输出对检测到的对象的最终指示,如参照图4A针对方法400a中的相同编号的框所描述的。在一些实施例中,对检测到的对象的所输出指示可基于来自高度先验集当中的最高置信度高度先验和来自宽度先验集当中的最高置信度宽度先验。

在框438中,处理器可基于对检测到的对象的所输出指示来执行交通工具操作,如参照图4A针对方法400a中的相同编号的框所描述的。处理器可在数个传感器信息帧上基于对检测到的对象的所输出指示来执行交通工具操作,因为方法400b中的操作可每秒被重复许多次(例如,每秒50次或更多)。因而,来自若干传感器信息帧的对检测到的对象的所输出指示可被组合以进一步提高对象检测中的置信度,之后处理器基于对检测到的对象的所输出指示的组合来采取动作。

处理器可再次捕获框402中关于环境的传感器信息。

图5解说了根据各个实施例的处理交通工具传感器信息以供处理器进行对象检测的方法500。参照图1A–5,方法500可以在交通工具(例如,100)的处理器(例如,164)、处理设备(例如,200)、和/或控制单元(例如,140)(被不同地称为“处理器”)中实现。在框402-438和502-512中所执行的操作的次序仅仅是解说性的,并且框402-438的操作可在各个实施例中按任何次序且部分同时地执行。在框402-438中,处理器可执行如所描述的方法400a和400b的相同编号的框的操作。

在框502中,处理器可将包括中心值、宽度先验集、高度先验集、以及一个或多个附加先验集的先验框与特征图的每个像素相关联。在一些实施例中,附加先验可包括连续参量的值,例如,取向、速度、或其他合适的值。在一些实施例中,先验框是可扩展的,因为它们可被配置成具有任何数目的值或特性的先验。

在执行如所描述的方法400a的框402和404中的操作之后,在框504中,处理器可确定每个附加先验的置信度值。在一些实施例中,每个附加先验的置信度值可包括例如百分比置信度值。

在框506中,处理器可为每个附加先验集的每个附加先验确定精化值。

在框508中,处理器可为每个先验框从每个附加先验集当中选择每个附加先验的最高置信度值。

在框510中,处理器可利用每个先验的所确定的精化值来精化一个或多个最高置信度附加先验。

在框512中,处理器可为每个像素输出经精化的先验框,该经精化的先验框包括精化中心值、经精化的最高置信度高度、经精化的最高置信度宽度、经精化的附加的一个或多个先验、和最高置信度对象分类。

图6A解说了根据各个实施例的来自根据传感器信息执行对象检测的神经网络的对检测到的对象600a的所输出指示,并且图6B解说了对检测到的对象600b的最终指示。参照图1A–6B,神经网络可以在交通工具(例如,100)的处理器(例如,164)、处理设备(例如,200)、和/或控制单元(例如,140)(被不同地称为“处理器”)中实现。

在一些实施例中,处理器可输出包括中心精化或偏移精化602(例如,偏移检测322)的对检测到的对象的指示。处理器可使用中心精化来精化每个先验框的中心值,如上面所描述。

在一些实施例中,处理器可输出包括每个先验框的分类604的对检测到的对象的指示。例如,该分类可包括对象的一个或多个标识。该分类还可包括每个标识的百分比置信度。例如,分类604包括对象作为图像背景、交通工具和行人的一部分的标识。分类604还可包括每个分类的置信度,例如,对象为图像背景的5%置信度、对象为交通工具的85%置信度、对象为行人的10%置信度。

在一些实施例中,处理器可输出包括一个或多个高度先验613的对检测到的对象的指示。每个高度先验613可包括高度值(例如,如所解说的,3m、4m、5m和6m)。处理器可输出每个高度分类606的置信度值(例如,如所解说的,对于3m的10%置信度、对于4m的15%置信度、对于5m的54%置信度、对于6m的21%置信度)。在一些实施例中,执行神经网络的处理器可输出包括一系列值的对检测到的对象的指示,处理器可向该一系列值应用将这些值变换成总和为1的概率的函数(例如,Softmax函数)。处理器还可输出包括一个或多个高度精化值(即,(诸)先验高度精化)608的对检测到的对象的指示,该一个或多个高度精化值可对应于该一个或多个高度先验(例如,+0.5m、+0.8m、-0.13m和-0.4m)。处理器可使用高度精化值来精化最高置信度高度分类,如下文进一步描述的。

在一些实施例中,处理器可输出包括一个或多个宽度先验615的对检测到的对象的指示。每个宽度先验615可包括权重值(例如,如所解说的,1m、2m和2.5m)。处理器可输出每个宽度分类610的置信度值(例如,如所解说的,对于1m的10%置信度、对于2m的70%置信度、以及对于2.5m的20%置信度)。在一些实施例中,执行神经网络的处理器可输出包括一系列值的对检测到的对象的指示,处理器可向该一系列值应用将这些值变换成总和为1的概率的函数(例如,Softmax函数)。处理器还可输出包括一个或多个宽度精化值(即,(诸)先验宽度精化)612的对检测到的对象的指示,该一个或多个宽度精化值可对应于该一个或多个宽度先验(例如,+0.2m、-0.1m、和-0.8m)。处理器可使用宽度精化值来精化最高置信度宽度分类,如下文进一步描述的。

在一些实施例中,处理器可选择最高置信度高度先验614、以及最高置信度宽度先验616。

基于对检测到的对象的所输出指示600a,处理器可输出最终检测指示或信息(例如,对检测到的对象的最终指示)600b。对检测到的对象的最终指示600b可包括对象(例如,交通工具)的类别/分类620,其可反映最高置信度分类604(例如,85%置信度)。对检测到的对象的最终指示600b可包括先验框的经精化的中心622(例如,17.2m,22.8m,其对应于传感器信息内的一位置)。先验框的经精化的中心622可基于先验框的中心加上或减去中心精化(或偏移精化)。例如,处理器可利用中心精化的值(+0.2m,-0.3m)来精化先验框中心值(17m,23m),以输出经精化的中心值(17.2m,22.8m)。对检测到的对象的最终指示600b可包括经精化的最高置信度高度先验624(例如,5.13m)。在一些实施例中,处理器可利用对应的先验高度精化值608的值(例如,+0.13m)来精化高度先验值(例如,5m),以输出经精化的最高置信度高度(例如,5.13m)。对检测到的对象的最终指示600b可包括经精化的最高置信度宽度先验626(例如,1.9m)。在一些实施例中,处理器可利用对应的先验宽度精化值612的值(例如,-0.1m)来精化宽度先验值(例如,2m),以输出经精化的最高置信度宽度626(例如,1.9m)。对检测到的对象的最终指示600b可包括最高置信度高度先验628的置信度(例如,54%)、类别/分类630的置信度(例如,85%)、以及最高置信度宽度先验632的置信度(例如,70%)。

图7解说了适合于实现各个实施例的根据传感器信息来执行对象检测的神经网络架构700的各组件。参照图1A–7,主干神经网络架构702(其示例在图3B中解说)接收输入750(诸如来自相机、雷达、激光雷达等的传感器信息),并对输入执行处理以尤其生成给各种分类头端或分类模块的各种输入。例如,主干架构702可将输入704提供给框回归头端712,并将输入706提供给分类头端714,并将输入708提供给取向分类头端716,并将输入710提供给取向回归头端718。

框回归头端712可为每个先验框输出框回归720。分类头端714可为每个先验框输出分类722。取向分类头端716可为每个先验框输出取向分类724。取向回归头端718可为每个先验框输出取向回归726。

如所描述的,跟随主干架构302的可以是SSD“前馈”卷积网络,其产生边界框的固定大小的集合和那些框中的对象类别实例的存在的分数,继之以非极大值抑制步骤以产生最终检测。在一些实施例中,早期网络层可基于用于高质量图像分类的标准架构(在任何分类层之前被截)。各个实施例可将辅助结构(例如,框回归头端712、分类头端714、取向分类头端716、和取向回归头端718)添加到SSD以产生期望的检测。处理器可使用来自头端/模块712-718中的每一者的输出(检测)720-726中的每一者,如下文进一步描述的。

图8A解说了根据各个实施例的处理交通工具传感器信息以供处理器进行对象检测的方法800a。参照图1A-8A,方法800a可以在交通工具(例如,100)的处理器(例如,164)、处理设备(例如,200)、和/或控制单元(例如,140)(被不同地称为“处理器”)中实现。在框802-834中所执行的操作的次序仅仅是解说性的,并且框802-834的操作可在各个实施例中按任何次序且部分同时地执行。

在框802中,处理器可通过传感器(例如,相机、雷达、激光雷达等)捕获关于传感器周围的环境的传感器信息。

在框804,处理器可基于传感器信息来生成特征图。处理器可以在与参照图4A针对方法400a的框404所描述的操作类似的操作中生成特征图。

在框806中,处理器可将包括中心值、大小值和取向先验集的一个或多个先验框与特征图的每个像素相关联。在一些实施例中,取向先验集可包括两个或更多个取向值。

在框808中,处理器可确定每个取向先验的置信度值。

在框836中,处理器可输出对检测到的对象的最终指示。在一些实施例中,对检测到的对象的所输出指示可基于取向先验集当中的最高置信度取向先验。

在框838中,处理器可基于对检测到的对象的所输出指示来执行交通工具操作,诸如生成给交通工具控制系统的以使交通工具转弯、减速或加速的命令。处理器可在数个传感器信息帧上基于对检测到的对象的所输出指示来执行交通工具操作,因为方法800a中的操作可每秒被重复许多次(例如,每秒50次或更多)。因而,来自若干传感器信息帧的对检测到的对象的所输出指示可被组合以进一步提高对象检测中的置信度,之后处理器基于对检测到的对象的所输出指示的组合来采取动作。

处理器可再次捕获框802中关于环境的传感器信息。

图8B解说了根据各个实施例的处理交通工具传感器信息以供处理器进行对象检测的方法800b。参照图1A-8B,方法800b可以在交通工具(例如,100)的处理器(例如,164)、处理设备(例如,200)、和/或控制单元(例如,140)(被不同地称为“处理器”)中实现。在框802-834中所执行的操作的次序仅仅是解说性的,并且框802-834的操作可在各个实施例中按任何次序且部分同时地执行。

在框802中,处理器可通过传感器(例如,相机、雷达、激光雷达等)捕获关于传感器周围的环境的传感器信息,如参照图8A针对方法800a中的相同编号的框所描述的。

在框804中,处理器可基于传感器信息来生成特征图,如参照图8A针对方法800a中的相同编号的框所描述的。

在框806中,处理器可将包括中心值、大小值和取向先验集的一个或多个先验框与特征图的每个像素相关联,如参照图8A针对方法800a中的相同编号的框所描述的。在一些实施例中,取向先验集可包括两个或更多个取向值。

在框808中,处理器可确定每个取向先验的置信度值,如参照图8A针对方法800a中的相同编号的框所描述的。

在框810中,处理器可为每个先验框计算一个或多个对象分类以及该一个或多个对象分类中的每一者的置信度值。

在框812中,处理器可为每个先验框选择具有最高置信度值的对象分类。

在框814中,处理器可为每个先验框确定中心值精化。

在框816中,处理器可为每个先验框确定大小精化。在一些实施例中,大小精化可包括高度精化和宽度精化。

在框818中,处理器可为取向先验集中的每一者确定取向精化。

在框820中,处理器可为每个先验框从每个先验框的取向先验集当中选择最高置信度取向先验。

在框822中,处理器可基于所确定的中心值精化来精化每个先验框的中心值。

在框824中,处理器可基于所确定的大小精化来精化每个先验框的大小值。

在框826中,处理器可基于所确定的取向精化值来精化每个先验框的取向值。

在框828中,处理器可基于经精化的取向值来旋转每个先验框。

在框830中,处理器可为特征图的每个像素输出一个或多个提议检测,该一个或多个提议检测包括经精化的中心值、经精化的大小、最高置信度取向、和最高置信度对象分类。

在框832中,处理器可执行用于抑制多次检测的操作,诸如非极大值抑制。

在框834中,处理器可移除具有低于置信度阈值的置信度水平的提议检测。在一些实施例中,处理器可将框834的操作作为框832的操作的一部分或与框432的操作一起执行。

在框836中,处理器可输出对检测到的对象的最终指示,如参照图8A针对方法800a中的相同编号的框所描述的。在一些实施例中,对检测到的对象的所输出指示可基于来自取向先验集当中的最高置信度取向先验。

在框838中,处理器可基于对检测到的对象的所输出指示来执行交通工具操作,如参照图8A针对方法800a中的相同编号的框所描述的。处理器可在数个传感器信息帧上基于对检测到的对象的所输出指示来执行交通工具操作,因为方法800b中的操作可每秒被重复许多次(例如,每秒50次或更多)。因而,来自若干传感器信息帧的对检测到的对象的所输出指示可被组合以进一步提高对象的检测中的置信度,之后处理器基于对检测到的对象的所输出指示的组合来采取动作。

处理器可再次捕获框802中关于环境的传感器信息。

图9A–9C是解说根据各个实施例的根据传感器信息的来自执行包括确定对象取向在内的对象检测的神经网络的对检测到的对象的所输出指示900a、900b和900c的示图。参照图1A–9C,神经网络可以在交通工具(例如,100)的处理器(例如,164)、处理设备(例如,200)、和/或控制单元(例如,140)(被不同地称为“处理器”)中实现。

在一些实施例中,处理器可如所描述地将特征图的每个像素与一个或多个先验框902相关联。在一些实施例中,处理器可输出包括中心值精化或偏移精化920(例如,±X,±Y)的对检测到的对象的指示。处理器可使用中心精化来精化每个先验框902的中心值,如上面所描述。

在一些实施例中,处理器可输出包括大小精化921的对检测到的对象的指示。在一些实施例中,大小精化可包括宽度精化922(例如,±W)和/或高度精化924(例如,±H)。在一些实施例中,处理器可基于所确定的大小精化921来精化每个先验框的大小值。

在一些实施例中,处理器可输出包括每个先验框的分类926的对检测到的对象的指示。例如,该分类可包括对象的一个或多个标识。处理器还可输出包括与每个分类相关联的百分比置信度的对检测到的对象的指示。例如,分类926包括对象作为图像背景、交通工具和行人的一部分的标识。处理器可输出包括每个提议标识的置信度值(对于每个分类而言被指示为%C)的对检测到的对象的指示。

在一些实施例中,处理器可输出包括针对每个先验框的一个或多个取向预测928(如在圆圈中所解说的,分别为北(或0°)、东(或90°)、南(或180°)、和西(或270°)的对检测到的对象的指示。对于每个取向928,处理器可输出取向置信度或取向分类930(对于每个分类而言被指示为%C)。此外,处理器可输出包括与每个取向相关联的取向精化或回归932的对检测到的对象的指示。(如所解说的,每个取向精化932与解说取向928的圆圈中的每一者外部的弯曲箭头相对应。)在一些实施例中,处理器可基于所确定的取向精化来精化每个先验框的取向。

在一些实施例中,处理器可选择最高置信度取向(例如,偏航)先验934。基于最高置信度取向先验,处理器可输出包括最终取向(例如,偏航)预测936的对检测到的对象的指示。在一些实施例中,处理器可利用对应精化(或回归)932的值(例如,-8°)来精化最高置信度取向934(例如,90°),以输出经精化的最高置信度取向936(例如,82°)。在一些实施例中,基于最终取向预测936,处理器可基于经精化的取向值来旋转每个先验框904。处理器可输出包括经精化的最高置信度取向的对检测到的对象的最终指示906。

图9C解说了作为包括交通工具的取向的对检测到的对象的所输出指示900b的示例的对检测到的对象的所输出指示900c。在一些实施例中,处理器可接收传感器信息(诸如雷达或激光雷达返回信号),并基于传感器信息来生成环境的“鸟瞰图”。例如,处理器可输出包括针对每个先验框的一个或多个交通工具取向预测950(例如,分别为北(或0°)、东(或90°)、南(或180°)、和西(或270°)的对检测到的对象的指示。对于每个取向950,处理器可输出取向置信度或取向分类952(对于每个分类而言被指示为%C)。此外,处理器可输出与每个取向相关联的取向精化或回归954(被解说为伴随每个取向950的弯曲箭头,并且与每个精化954中的±度的指示相对应)。

在一些实施例中,处理器可基于所确定的取向精化来精化每个先验框的取向。在一些实施例中,处理器可选择最高置信度取向(例如,偏航)先验956。基于最高置信度取向先验,处理器可输出最终取向(例如,偏航)预测958。处理器可输出包括经精化的最高置信度取向的对检测到的对象的最终指示。

各个实施例可通过提供改进的对象检测来改进自主交通工具和半自主交通工具的操作。具体而言,各个实施例可改进处理传感器信息的处理器的操作以提供更准确的对象检测。各个实施例可改进处理传感器信息的处理器的操作以提供对此类传感器信息的更高效分析。各个实施例可通过使得能够提取和处理传感器信息的更多特征来改进处理传感器信息的处理器的操作以获得对传感器信息的更详细和准确的分析。各个实施例在根据传感器信息进行对象检测的其他应用中也可能是有用的。因此,除非在权利要求要素中明确叙述,否则权利要求不应解释为限于交通工具系统。

所解说和描述的各个实施例是仅作为解说权利要求的各种特征的示例来提供的。然而,相对于任何给定实施例所示出和描述的特征不必限于相关联的实施例,并且可以与所示出和描述的其他实施例联用或组合。此外,权利要求书不旨在限于任何一个示例实施例。

上述方法描述和过程流程图仅作为解说性示例而提供,且并非旨在要求或暗示各个实施例的框必须按所给出的次序来执行。如本领域技术人员将领会的,前述实施例中的各框的次序可按任何次序来执行。诸如“此后”、“然后”、“接着”等的措辞并非旨在限定各框的次序;这些措辞仅是简单地用以指引读者遍历方法的描述。进一步,对单数形式的权利要求元素的任何引述(例如使用冠词“一”、“某”或“该”的引述)不应解释为将该元素限定为单数。

结合本文中所公开的实施例来描述的各种解说性逻辑框、模块、电路和算法框可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及框在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实施例决策不应被解读为致使脱离各个实施例的范围。

用以实现结合本文中公开的实施例描述的各种解说性逻辑、逻辑框、模块、以及电路的硬件可用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为通信设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其他此类配置。替换地,一些框或方法可由专用于给定功能的电路系统来执行。

在各个实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可作为一条或多条指令或代码存储在非瞬态计算机可读介质或非瞬态处理器可读介质上。本文中公开的方法或算法的操作可在处理器可执行软件模块中实施,该处理器可执行软件模块可驻留在非瞬态计算机可读或处理器可读存储介质上。非瞬态计算机可读或处理器可读存储介质可以是能被计算机或处理器访问的任何存储介质。作为示例而非限定,此类非瞬态计算机可读或处理器可读介质可包括RAM、ROM、EEPROM、闪存、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据而碟(disc)用激光以光学方式再现数据。以上的组合也被包括在非瞬态计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可作为一条代码和/或指令或者任何代码和/或指令组合或集合而驻留在可被纳入计算机程序产品中的非瞬态处理器可读介质和/或计算机可读介质上。

提供所公开的实施例的先前描述是为了使本领域任何技术人员皆能制作或使用本公开的各实施例。对这些实施例的各种修改对于本领域技术人员而言将是显而易见的,并且本文中定义的通用原理可被应用于其他实施例而不会脱离各实施例的范围。因而,各个实施例并非旨在被限定于本文中所示出的各实施例,而是应被授予与以下权利要求以及本文中所公开的原理和新颖特征一致的最广范围。

相关技术
  • 处理传感器信息以供对象检测
  • 驱动传感器来检测接近对象的处理系统、输入装置及方法
技术分类

06120113106462