低电平传感器融合
相关申请
本专利申请要求2016年9月8日提交的申请号为62/385,149的美国临时专利申请的优先权,该美国临时专利申请以引用的方式并入本文。
技术领域
本申请大体上涉及一种自动驾驶和辅助系统,并且更具体地,涉及一种用于自动驾驶和辅助系统的低电平传感器融合。
背景技术
许多现代车辆包括内置的先进驾驶员辅助系统(ADAS),以提供自动的安全和/或辅助驾驶功能。例如,这些先进驾驶员辅助系统可以实现自适应导航控制、自动驻车、自动制动、盲点监测、碰撞避免、驾驶员睡意检测、车道偏离警报等。下一代车辆可以包括自动驾驶(AD)系统,以独立于人为干预而进行对车辆的控制和导航。
这些车辆典型地包括多种传感器,例如一个或多个摄像头、光检测和测距(LightDetection and Ranging,激光雷达)传感器、无线电检测和测距(Radio DetectionandRanging,雷达)系统等,以测量车辆周围环境的不同部分。每一个传感器处理它们随时间捕获的测量结果,以检测它们视场内的对象,并然后向先进驾驶员辅助系统或者自动驾驶系统提供检测到的对象的列表,以使它们用于实现自动安全和/或驾驶功能。在一些情况下,传感器也可以基于它们所捕获的测量结果提供与其在列表中的对象的检测相对应的置信等级(confidence level)。
所述先进驾驶员辅助系统或者自动驾驶系统可以使用所述对象列表,以及在一些情形中,可以使用与其检测相关联的置信等级,以实现自动安全和/或驾驶功能。例如,当车辆前部的雷达传感器向车辆中的先进驾驶员辅助系统提供具有车辆的当前路径上的对象的列表时,该先进驾驶员辅助系统可以向车辆的驾驶员提供警报或者控制车辆,以避免与所述对象发生碰撞。
由于一些传感器可以具有至少部分重叠的视场,因此所述先进驾驶员辅助系统或者自动驾驶系统可以整合对象列表,以试图确认由一个传感器检测到的对象是否也由另一个传感器检测到。这种对象的整合有时被称作对象级整合(object-level integration)。当多个传感器已检测到相同的对象时,所述先进驾驶员辅助系统可以提高与对象的存在相关联的置信等级。但是,如果传感器出现分歧(一个传感器检测到对象而另一传感器没有检测到该对象),那么所述先进驾驶员辅助系统或者自动驾驶系统不得不做出如何进行应对的决策。例如,所述先进驾驶员辅助系统或者自动驾驶系统可以基于来自单个传感器的对象列表来假定对象的存在,但是具有低置信等级,忽略由传感器检测的对象,或者延迟做出决策,以观察是否有传感器随时间修改它们的对象列表。此外,由于每个传感器排他性地基于其自己捕获的测量结果而单独地执行其对象检测,当对象相对于车辆移动时,其可能从一个传感器的视场中离开,并且只有在进入到不同的传感器的视场中之后才能被再次检测到。
发明内容
本申请公开了一种计算系统,用以实现车辆的驾驶员辅助系统和/或自动驾驶系统中的低电平传感器融合。所述低电平传感器融合可以包括:接收来自车辆中的传感器的原始测量数据并且基于捕获时间将所述原始测量数据在时间上对准。所述低电平传感器融合可替代地或者额外地包括:基于(至少部分地基于)传感器安装在车辆中的位置,将传感器的测量坐标场与环境坐标场在空间上对准,并且然后基于测量坐标场与环境坐标场在空间上的对准,用由传感器捕获的原始测量数据填充所述环境坐标场。低电平传感器融合可以基于(至少部分地基于)填充在环境坐标场中的、来自多个传感器的原始测量数据,检测车辆附近的至少一个对象。下面将更加详细地描述各个实施例。
附图说明
图1示出了根据各个实施例的示例性的自动驾驶系统。
图2A示出了根据各个实施例的用于应用在车辆中的传感器系统的示例性的测量坐标场。
图2B示出了根据各个实施例的与用于车辆的环境模型相关联的示例性的环境坐标场。
图3示出了根据各个示例的示例性的传感器融合系统。
图4示出了根据各个示例的用于低电平传感器融合的示例性的流程图。
图5示出了根据各个示例的用于基于由低电平传感器融合产生的环境模型的示例性的对象跟踪流程图。
图6示出了根据各个示例的用于管理环境模型中的感兴趣区域的示例性的流程图。
图7和图8示出了可以用于实现各个实施例的计算机系统类型的示例。
具体实施方式
用于自动驾驶的传感器融合。
图1示出了根据各个实施例的示例性的自动驾驶系统100。参见图1,所述自动驾驶系统100,在被安装在车辆中时,可以感测车辆周围的环境,并且可以基于(至少部分地基于)所感测的环境来控制车辆的操作。
该自动驾驶系统100可以包括具有多个传感器的传感器系统110,每一个传感器可以测量车辆周围的环境中的不同部分,并且可以输出测量结果,作为原始测量数据115。所述原始测量数据115可以包括:由传感器捕获的光、电磁波或者声音的特性(例如,光、电磁波或者声音的强度或频率);传感器的接收角度;光、电磁波或者声音的传输与对应的接收之间的时间延迟;光、电磁波或者声音等的捕获时间等。
所述传感器系统110可以包括多种不同类型的传感器,例如,图像捕获设备111、无线电检测和测距(雷达)设备112、光检测和测距设备(激光雷达)113、超声波设备114、一个或多个麦克风、红外或夜视摄像头、飞行时间摄像头、能够检测并传输像素强度差异等的摄像头等。所述图像捕获设备111(例如一个或多个摄像头)可以捕获车辆周围的环境的至少一部分中的至少一幅图像。图像捕获设备111可以输出捕获到的一个或多个图像,作为原始测量数据115,在一些实施例中,所述原始测量数据可以为对应于捕获到的一个或多个图像的未处理的和/或未压缩的像素数据。
雷达设备112可以将无线电信号发射到车辆周围的环境中。由于所发射的无线电信号可以从环境中的对象反射,雷达设备112可以检测从环境中入射的所反射的无线电信号。雷达设备112可以通过例如测量无线电信号的信号强度、接收角度、频率等来测量入射的无线电信号。雷达设备112也可以测量无线电信号的发射与来自环境中的入射的无线电信号的测量结果之间的时间延迟,其中,所述来自环境中的入射的无线电信号对应于从环境中的对象反射的已发射的无线电信号。雷达设备112可以输出入射的无线电信号的测量结果,以作为原始测量数据115。
所述激光雷达设备113可以将光(例如,来自激光器或者其他光学传输设备的光)传输至车辆周围的环境中。在一些实施例中,所传输的光可以是紫外光、可见光、近红外光等等的脉冲。由于所传输的光可以从环境中的对象反射,因此所述激光雷达设备113可以包括光电检测器,以测量从环境中入射的光。激光雷达设备113可以通过例如测量光的强度、波长等方式来测量入射的光。激光雷达设备113也可以测量光脉冲的传输与从环境中入射的光的测量结果之间的时间延迟,所述从环境中入射的光对应于所传输的、已从环境中的对象反射的光。激光雷达设备113可以输出入射的光以及时间延迟的测量结果,作为原始测量数据115。
所述超声波设备114可以将(例如,通过换能器等产生的)声脉冲发射至车辆周围的环境中。超声波设备114可以检测从环境中入射的超声波,例如,所发射的、已从环境中的对象反射的声脉冲。超声波设备114也可以测量声脉冲的发射与来自环境中的超声波的接收之间的时间延迟,所述来自环境中的超声波对应于所发射的、已从环境中的对象反射的声脉冲。超声波设备114可以输出入射的超声波以及时间延迟的测量结果,以作为原始测量数据115。
在传感器系统110中的不同的传感器可以安装在车辆中,以捕获车辆周围的环境的不同部分的测量结果。图2A示出了根据各个实施例的用于应用在车辆200中的传感器系统的示例性的测量坐标场。参见图2A,所述车辆200可以包括多个不同的传感器,所述传感器能够检测入射的信号(例如,光信号、电磁信号和声音信号)。这些不同的传感器中的每一个可以具有进入车辆200周围的环境的不同的视场。这些视场可以使传感器在不同的测量坐标场中测量光和/或声音。
在该示例中,所述车辆包括若干不同的测量坐标场,所述测量坐标场包括:前方传感器场211、多个交叉交通(cross-traffic)传感器场212A,212B,214A,214B、一对侧方传感器场213A和213B以及后方传感器场215。每一个测量坐标场可以以传感器为中心,这意味着测量坐标场可以描述出相对于其相应传感器的位置的坐标区域。
再次参见图1,所述自动驾驶系统100可以包括传感器融合系统300,以接收来自传感器系统110的原始测量数据115以及用原始测量数据115填充与车辆相关联的环境模型121。在一些实施例中,所述环境模型121可以具有对应于车辆周围的物理包络的环境坐标场,并且所述传感器融合系统300可以基于环境坐标场用原始测量数据115填充环境模型121。在一些实施例中,所述环境坐标场可以为非车辆中心的坐标场(例如,世界坐标系)、路径中心坐标场等。
图2B示出了根据各个实施例的与用于车辆200的环境模型相关联的示例性的环境坐标场220。参见图2B,车辆200周围的环境可以对应于用于环境模型的环境坐标场220。所述环境坐标场220可以是以车辆为中心的,并且提供车辆200周围的360度的区域。所述环境模型可以填充或者标示有通过传感器融合系统300检测的或者从外部源输入的信息。下面将更加详细地描述各个实施例。
再次参见图1,为了将原始测量数据115填充至与车辆相关联的环境模型121中,所述传感器融合系统300可以将原始测量数据115与环境模型121的环境坐标场在空间上对准。传感器融合系统300还可以例如通过在从传感器系统110接收原始测量数据115时对原始测量数据115加时间戳,来识别传感器何时捕获原始测量数据115。传感器融合系统300可以用时间戳或者其他捕获时间的信息(time-of-capture information,其可以用于与环境模型121中的原始测量数据115在时间上对准)填充环境模型121。在一些实施例中,传感器融合系统300可以分析来自多个传感器的、填充在环境模型121中的原始测量数据115,以检测与车辆相关联的环境坐标场中的传感器事件或者至少一个对象。所述传感器事件可以包括对应于环境模型121中存在(例如,大于噪声阈值)的原始测量数据115的传感器测量事件。所述传感器事件可以包括对应于环境模型121中的原始测量数据115的空间和/或时间分组(spatial and/or temporal grouping)的传感器检测事件。所述对象可以对应于在环境模型121中已被跟踪一段时间的原始测量数据115的空间分组,使得传感器融合系统300确定对应于车辆周围对象的原始测量数据115。所述传感器融合系统300可以用检测到的传感器事件或者检测到的对象的指示(indication)以及检测的置信等级来填充环境模型121。下面将更加详细地描述传感器融合以及传感器事件检测或对象检测的实施例。
在一些实施例中,所述传感器融合系统300可以产生反馈信号116,以提供至传感器系统110。可以对所述反馈信号116进行配置以提示传感器系统110校准其感器系统110中的一个或多个传传感器。例如,响应于所述反馈信号116,传感器系统110可以重新定位该系统中的至少一个传感器、扩大该系统中的至少一个传感器的视域、改变该系统中的至少一个传感器的刷新率或者曝光时间、改变该系统中的至少一个传感器的操作模式等。
所述自动驾驶系统100可以包括驾驶功能系统120,以从传感器融合系统300中接收环境模型121的至少一部分。所述驾驶功能系统120可以分析包括在环境模型121中的数据,以实现用于车辆的自动驾驶功能或者安全和辅助驾驶功能。驾驶功能系统120可以基于对环境模型121的分析来产生控制信号131。
所述自动驾驶系统100可以包括车辆控制系统130,以从驾驶功能系统120接收控制信号131。所述车辆控制系统130可以包括:响应于控制信号、例如通过控制车辆的不同的功能来控制车辆的操作(例如,制动、加速、转向、驻车制动、变速、用户界面、警报系统等)的机构。
图3示出了根据各个示例的示例性的传感器融合系统300。参见图3,所述传感器融合系统300可以包括测量整合系统310,以从安装在车辆中的多个传感器接收原始测量数据301。所述测量整合系统310可以产生用于车辆的环境模型315,该环境模型可以填充有原始测量数据301。
所述测量整合系统310可以包括空间对准单元311,以使传感器的测量坐标场与环境模型315的环境坐标场相关联。测量整合系统310可以利用这种相关性将测量坐标场内的原始测量数据301的位置转换或者变换成环境坐标场中的位置。测量整合系统310可以基于传感器的测量坐标场与用于环境模型315的环境坐标场之间的相关性,用原始测量数据301填充环境模型315。
所述测量整合系统310也可以将来自传感器系统中的不同的传感器的原始测量数据301在时间上对准。在一些实施例中,测量整合系统310可以包括时间对准单元312,以基于当传感器捕获到原始测量数据301的时间、该原始测量数据301被测量整合系统310接收的时间,向原始测量数据301分配时间戳。在一些实施例中,所述时间对准单元312可以将由传感器提供的原始测量数据301的捕获时间转换为对应于传感器融合系统300的时间。所述测量整合系统310可以用用于原始测量数据301的时间戳对填充到环境模型315中的原始测量数据301进行注释。所述传感器融合系统300可以利用所述用于原始测量数据301的时间戳,将环境模型315中的原始测量数据310分组为不同的时间段(time period)或时间片(timeslice)。在一些实施例中,所述时间段或者时间片的大小和时长可以基于(至少部分地基于)所述传感器系统中的一个或多个传感器的刷新率。例如,所述传感器融合系统300可以设定时间片,以对应于具有将新的原始测量数据301提供至传感器融合系统300的最快速率的传感器。
所述测量整合系统310可以包括自行运动(ego motion)单元313,以补偿捕获到原始测量数据301的至少一个传感器的移动(例如由于车辆在环境中行驶或移动所导致的传感器的移动)。所述自行运动单元313可以估计捕获到原始测量数据301的传感器的运动,例如,通过利用跟踪功能来分析车辆的运动信息,例如全球定位系统(GPS)数据、惯性测量结果、车辆里程计数据、视频图像等。所述跟踪功能可以实现卡尔曼滤波器(Kalman filter)、粒子滤波器(Particle filter)、基于光流量的估计器(optical flow-based estimator)等,以跟踪车辆以及其对应的传感器相对于车辆周围的环境的运动。
所述自行运动单元313可以利用传感器的估计的运动,以修改传感器的测量坐标场与用于环境模型315的环境坐标场之间的相关性。这种相关性的补偿可以使测量整合系统310在原始测量数据301被捕获的环境坐标场的位置处(而不是其测量捕获结束时的传感器的当前位置)用原始测量数据301填充环境模型315中。
在一些实施例中,所述测量整合系统310可以从不同的源接收对象或者对象列表302。测量整合系统310可以以如车辆到车辆(vehicle-to-vehicle,V2V)通信、车辆到设施(vehicle-to-infrastructure,V2I)通信、车辆到行人(vehicle-to-pedestrian,V2P)通信、车辆到设备(vehicle-to-device,V2D)通信、车辆到电网通信(vehicle-to-grid,V2G)或者通常的车辆到任何物(vehicle-to-everything,V2X)通信的方式从车辆外部的源接收对象列表302。测量整合系统310也可以接收来自车辆内部的其他系统(例如来自人机界面、映射系统、定位系统、驾驶功能系统、车辆控制系统)的对象或者对象列表302,或者所述车辆可以装备有输出对象列表302而不是原始测量数据301的至少一个传感器。
测量整合系统310可以接收对象列表302并且将对象列表302中的一个或多个对象以及原始测量数据301填充到环境模型315中。所述对象列表302可以包括一个或多个对象、用于每一个对象的时间戳,并且可选地包括与对象列表302中的对象的位置相关联的空间元数据。例如,对象列表302可以包括车辆的速度测量结果,该速度测量结果并不包括将被存储在对象列表302中作为空间元数据的空间分量。当对象列表302包括与对象列表302中的对象相关联的置信等级时,所述测量整合系统310也可以利用用于对象列表302中的对象的置信等级来注释环境模型315。
图4示出了根据各个示例的用于低电平传感器融合的示例性的流程图。参见图4,在块401中,实现了低电平传感器融合的计算系统对从传感器系统接收的原始测量数据加时间戳。所述计算系统可以基于每个传感器捕获到原始测量数据的时间、原始测量数据被计算系统等接收到的时间,将时间戳分配至所述原始测量数据。在一些实施例中,所述计算系统可以用与原始测量数据从传感器系统到计算系统的传输相关联的预设的时间延迟,调整已分配的时间戳。通过将由传感器系统提供的原始测量数据的捕获时间转换为计算系统的全球时间,所述计算系统可以将时间戳分配至原始测量数据。
在块402中,实现了低电平传感器融合的计算系统将传感器的测量坐标场与环境坐标场在空间上对准。所述计算系统可以例如基于传感器安装在车辆中的位置以及与每个测量坐标场相关联的传感器的类型,识别出传感器的测量坐标场落入到用于环境模型的环境坐标场内的位置。
在块403中,实现了低电平传感器融合的计算系统基于空间对准,利用原始测量数据填充环境模型。所述计算系统可以利用传感器的测量坐标场与环境坐标场之间的相关性,将原始测量数据的位置转换或者变换为环境模型中的位置。该计算系统可以基于传感器的测量坐标场与用于环境模型的环境坐标场之间的相关性,用原始测量数据填充环境模型。
在块404中,实现了低电平传感器融合的计算系统利用用于原始测量数据的时间戳注释环境模型。所述计算系统可以利用用于原始测量数据的时间戳,将环境模型中的原始测量数据分组成不同的时间段或者时间片。在一些实施例中,所述时间段或者时间片的大小和时长可以基于(至少部分地基于)所述传感器系统中的一个或多个传感器的刷新率。例如,所述计算系统可以设定时间片,以对应于具有将新的原始测量数据提供至计算系统的最快速率的传感器。虽然图4示出了在一些实施例中,块401至块404以特定的顺序执行,但是所述计算系统可以以不同的顺序或者并行地执行块401至块404中的操作,或者在块401至块404之中的一些块中的操作可以被合并或者被分开为额外的块。
再次参见图3,所述传感器融合系统300可以包括对象检测系统320,以接收来自测量整合系统310的环境模型315。在一些实施例中,传感器融合系统300可以包括存储系统330,以存储来自测量整合系统310的环境模型315。所述对象检测系统320可以从存储系统330访问环境模型315。
所述对象检测系统320可以分析存储在环境模型315中的数据,以检测传感器检测事件或者至少一个对象。所述传感器融合系统300可以用在对应于检测的环境坐标场中的位置处的传感器检测事件或者检测到的对象的指示,来填充环境模型315。传感器融合系统300也可以识别与检测相关联的置信等级,其可以基于应用在检测传感器检测事件或者检测到的对象中的原始测量数据301的数量、质量或者传感器差异性中的至少一种。传感器融合系统300可以用与检测相关联的置信等级填充向环境模型315。例如,所述对象检测系统320可以利用对象注释324对环境模型315进行注释,对象检测系统用检测到的传感器检测事件或者检测到的对象以及检测的对应的置信等级来填充环境模型315。
所述对象检测系统320可以包括传感器事件检测和融合单元321,以监测环境模型315,从而检测传感器测量事件。所述传感器测量事件可以识别已经填充有用于传感器的原始测量数据310(例如,大于对应于环境中的噪声的阈值)的环境模型315中的位置。在一些实施例中,所述传感器事件检测和融合单元321可以通过识别原始测量数据310中的强度随时间的改变、识别原始测量数据310中的反射随时间的改变、识别像素值的改变等来检测传感器测量事件。
所述传感器事件检测和融合单元321可以分析在与传感器测量事件相关联的位置处的环境模型315中的原始测量数据301,以检测一个或多个传感器检测事件。在一些实施例中,当与单个传感器相关联的原始测量数据301达到或者超过传感器事件检测阈值时,传感器事件检测和融合单元321可以识别传感器检测事件。例如,传感器事件检测和融合单元321可以分析原始测量数据301中的由摄像头捕获的图像,以识别图像中的边缘、图像中的形状等,传感器事件检测和融合单元321可以利用,以识别针对该图像的传感器检测事件。传感器事件检测和融合单元321也可以分析对应于激光雷达传感器的原始测量数据301中的多组强度点或者对应于雷达传感器的原始测量数据301中的多组反射,以确定用于这些传感器的原始测量数据301的传感器检测事件。
在一些实施例中,传感器事件检测和融合单元321可以将用于单个传感器的已识别的传感器检测事件和与由至少一个其他的传感器捕获到的一个或多个传感器测量事件或传感器检测事件相关联的原始测量数据301进行组合,以产生融合的传感器检测事件。所述融合的传感器检测事件可以对应于来自多个传感器的原始测量数据301,这些传感器中的至少一个对应于由传感器事件检测和融合单元321所识别的传感器检测事件。
所述对象检测系统320可以包括预分类单元322,以将预分类分配至传感器检测事件或者融合的传感器检测事件。在一些实施例中,所述预分类可以对应于对象的类型,例如其他车辆、行人、自行车、动物、静止对象等。所述预分类单元322可以利用传感器检测事件、融合的传感器检测事件和/或已分配的预分类来注释环境模型315。
所述对象检测系统320还可以包括跟踪单元323,以例如通过分析环境模型315中的注释来随时间跟踪在环境模型315中的传感器检测事件或者融合的传感器检测事件,并且确定传感器检测事件或者融合的传感器检测事件是否对应于环境坐标系统中的对象。在一些实施例中,所述跟踪单元323可以利用至少一个状态改变预测模型来跟踪传感器检测事件或者融合的传感器检测事件,所述状态改变预测模型例如为动力学模型、概率模型或者其他状态改变预测模型。跟踪单元323可以基于通过预分类单元322而分配的传感器检测事件或者融合的传感器检测事件的预分类,选择状态改变预测模型,以用于跟踪传感器检测事件或者融合的传感器检测事件。所述状态改变预测模型可以例如基于环境模型315中的传感器检测事件或者融合的传感器检测事件的位置、传感器检测事件或者融合的传感器检测事件的先前的移动、传感器检测事件或者融合的传感器检测事件的分类等,允许跟踪单元323执行状态转换预测,所述状态转换预测可以假设或者预测传感器检测事件或者融合的传感器检测事件的未来状态。在一些实施例中,例如,实现动力学模型的跟踪单元323可以基于(至少部分地基于)其先前的状态,利用用于速度、加速度、动量等的动力学方程,来假设或者预测传感器检测事件或者融合的传感器检测事件的未来状态。该跟踪单元323可以确定传感器检测事件或者融合的传感器检测事件的预测的未来状态与其实际的未来状态之间的差异,跟踪单元323可以利用该差异确定传感器检测事件或者融合的传感器检测事件是否为对象。在传感器检测事件或者融合的传感器检测事件已经由预分类单元322识别之后,所述跟踪单元323可以例如跨越多个不同的传感器以及它们对应的测量坐标场,跟踪与环境模型315相关联的环境坐标场中的传感器检测事件或者融合的传感器检测事件。
当跟踪单元323基于用状态改变预测模型来跟踪传感器检测事件或者融合的传感器检测事件,而确定所述传感器检测事件或者融合的传感器检测事件为对象时,对象跟踪单元323可以注释环境模型315,以指示对象的存在。当利用额外的原始测量数据301进行更新时,跟踪单元323可以通过实现用于对象的状态改变预测模型以及分析环境模型315,随时间继续跟踪检测到的对象。在对象被检测到之后,跟踪单元323可以例如跨越多个不同的传感器及其相应的测量坐标场,跟踪与环境模型315相关联的环境坐标场中的对象。
图5示出了根据各个示例的基于由低电平传感器融合所产生的环境模型的用于对象跟踪的示例性的流程图。参见图5,在块501中,实现对象跟踪的计算系统可以在具有原始测量数据的环境模型的至少一部分中检测传感器测量事件。所述传感器测量事件可以识别填充有原始测量数据(例如,大于噪声阈值)的环境模型中的位置。在一些实施例中,所述计算系统可以通过识别在原始测量数据中的强度随时间的改变、在原始测量数据中的反射随时间的改变、像素值的改变等,检测传感器测量事件。
在块502中,实现对象跟踪的计算系统可以基于对应于传感器测量事件的原始测量数据,识别环境模型中的检测事件,例如传感器检测事件或者融合的传感器检测事件。该计算系统可以分析在与传感器测量事件相关联的位置处的环境模型中的原始测量数据,以检测传感器检测事件或者融合的传感器检测事件。
在块503中,所述实现对象跟踪的计算系统可以基于对应于检测事件的原始测量数据,将检测事件预分类为对象类型。在一些实施例中,在预分类中的对象类型可以对应于其他车辆、行人、自行车、动物、静止对象等。所述计算系统可以利用传感器检测事件、融合的传感器检测事件和/或已分配的检测事件的预分类来注释环境模型。
在块504中,所述实现对象跟踪的计算系统可以基于预分类来随时间跟踪检测事件,以确定该检测事件是否对应于对象。在一些实施例中,所述计算系统可以跟踪应用了至少一个状态改变预测模型的传感器检测事件和/或融合的传感器检测事件,状态改变预测模型可以预测传感器事件随时间的动态移动。所述计算系统可以基于已分配的检测事件的预分类,选择状态改变预测模型,以用来跟踪传感器检测事件和/或融合的传感器检测事件。
在块505中,当检测事件对应于对象时,所述实现对象跟踪的计算系统可以在环境模型中随时间跟踪对象。该计算系统可以注释环境模型,以指示对应于检测事件的对象的存在。当利用额外的原始测量数据随时间进行更新时,该计算系统可以通过分析环境模型来跟踪检测到的对象。
再次参见图3,所述传感器融合系统300可以包括分析系统340,以从环境模型315中开发信息,以供车辆控制系统中的自动驾驶功能使用。所述分析系统340可以包括对象轨迹预测单元341,以产生靠近车辆的被跟踪对象的投射的对象轨迹343。所述对象轨迹预测单元341可以访问环境模型315以及来自存储系统330的相关联的注释,或者直接从测量整合系统310和/或对象检测系统320接收所述相关联的注释。该对象轨迹预测单元341可以使用环境模型315以及对应于被跟踪对象的状态改变预测模型,以预测被跟踪对象未来相对于车辆的移动。由于被跟踪的对象对于未来的移动可以具有多种选择,在一些实施例中,对象轨迹预测单元341可以产生预期的轨迹范围以及与范围内的预期轨迹相关联的概率。对象轨迹预测单元341可以例如通过将投射的对象轨迹343存储在驻留于存储系统330中的环境模型315中,利用投射的对象轨迹343来注释环境模型315。
所述分析系统340可以包括定位单元342,以例如从存储系统330中接收环境模型315和地图数据331。所述地图数据331可以包括对应于车辆位置的区域的地形图、地势图、街景图等。该地图数据331可以包括特征,例如,道路、标志、交通信号、中转路口、人行横道、建筑物、树木、结构、地势坡度、地形边缘等。
所述定位单元342可以将环境模型315中的原始测量数据301与地图数据331中的地标或者对象相关联。这些地图关联(map correlation)344可以识别车辆相对于地图数据331的位置。例如,所述定位单元342可以识别地图数据331中的邮箱并且然后将环境模型315中的被跟踪的对象、被跟踪的传感器检测事件或者被跟踪的融合的传感器检测事件与所识别的邮箱相关联。定位单元342可以利用地图关联344来注释环境模型315。在一些实施例中,当定位单元342可以识别被跟踪的传感器检测事件或者被跟踪的融合的传感器检测事件与地图数据331之间的地图关联344时,定位单元342可以通知地图关联344的对象检测系统320和/或对象轨迹预测单元341,其可以使对象检测系统320和/或对象轨迹预测单元341确认对应于对象的被跟踪的传感器检测事件或者被跟踪的融合的传感器检测事件。
例如当定位单元342不能将环境模型315中的原始测量数据301与地图数据331中的地标或者对象相关联时,定位单元342可以确定地图数据331的部分可能不完整或者丢失。在一些实施例中,定位单元342可以将地图数据331中的这些区段标记为不完整或者丢失,因此用于车辆的控制系统在该区域中谨慎地处理。定位单元342可以基于(至少部分地基于)环境模型315中的测量数据,产生部分不完整或者丢失的地图数据。例如,定位单元342可以用环境模型315中的数据填充地图数据331。定位单元342可以将产生的地图数据存储至存储系统330,用于随后穿过区域时应用,或者将产生的地图数据上载至外部服务器,用于其他车辆的应用。
所述传感器融合系统300可以包括事件管理系统350,用以向车辆控制系统提供对应于环境模型315和其相关联的注释的信息。该事件管理系统350可以从驾驶功能系统中的一个或多个进程或者部件中接收订阅351。每一个订阅351可以识别用于传感器融合系统300的环境模型315的环境坐标场中的至少一个感兴趣区域(region of interest,ROI),以监测事件,例如传感器测量事件、传感器检测事件、融合的传感器检测事件等,或者监测被跟踪的对象或者被跟踪的对象轨迹预测。所述感兴趣区域可以对应于与特殊驾驶或者安全功能相关联的环境坐标场的部分。例如,对避免后方碰撞感兴趣的进程或者部件,可以向事件管理系统350提供对车辆后方的感兴趣区域的订阅。
所述事件管理系统350可以监测存储系统330,以获得对对应于事件的环境模型315的注释,和/或直接从对象检测系统320接收事件的指示。当事件管理系统350检测对应于订阅351中的感兴趣区域的事件时,该事件管理系统350可以将事件数据352提供至订阅了所述感兴趣区域的进程或者部件。在一些实施例中,所述事件数据352可以为对应于被订阅的事件和感兴趣区域的环境模型315的部分或者任何对其的注释。
所述事件管理系统350也可以例如基于车辆的操作模式、车辆期望通过的计划路径或者线路、地图数据331中的特征等,向订阅351建议动态改变。例如,该事件管理系统350或者传感器融合系统300的其他部分可以识别即将出现的交通灯或者信号的位置,并且建议驾驶功能系统中的进程或者部件扩大其感兴趣区域或者向新的感兴趣区域发出订阅351,以包括所述即将出现的交通灯或者信号。在其他的示例中,事件管理系统350或者传感器融合系统300的其他部分可以识别车辆计划,以进行转向,并且建议驾驶功能系统中的进程或者部件扩大其感兴趣区域,以在进行转向之后包括对应于道路的区域。
图6示出了根据各个示例的用于环境模型事件管理的示例性的流程图。参见图6,在块601中,实现环境模型事件管理的计算系统可以从驾驶功能系统的环境模型中接收对感兴趣区域的订阅。所述感兴趣区域可以对应于与特殊驾驶或者安全功能相关联的环境模型中的环境坐标场的部分。
在块602中,实现环境模型事件管理的计算系统可以监测环境模型中的感兴趣区域以用于事件指示。在一些实施例中,所述计算系统可以监测存储环境模型的存储系统,以获得对环境模型的更新或者可以直接地从传感器融合设备接收更新。
在块603中,所述实现环境模型事件管理的计算系统可以响应于对环境模型中的感兴趣区域的监测来检测事件。在一些实施例中,所述事件可以为传感器测量事件,其可以对应于来自传感器的原始测量数据(该数据被填充至环境模型中的感兴趣区域中)。所述事件也可以为传感器检测事件或者融合的传感器检测事件。所述事件还可以对应于对象的检测,其可以被注释到环境模型中。所述事件还可以对应于进入到感兴趣区域的投射的轨迹的检测,其可以被注释到环境模型中。
在块604中,所述实现环境模型事件管理的计算系统可以收集对应于检测到的事件的事件数据,并且在块605中,该实现环境模型事件管理的计算系统可以基于订阅向车辆控制系统提供事件数据。所述计算系统可以访问存储在存储系统中的环境模型,并且从对应于感兴趣区域的环境模型中提取数据。在一些实施例中,所述环境模型可以包括对应于多个不同时间段或者时间片的数据,因此该计算系统可以检索对应于一个或多个与检测到的事件相关的时间片的数据。
说明性的操作环境
根据实施例的各种低电平传感器融合和驱动自动化过程的执行可以使用由一个或多个可编程计算设备执行的计算机可执行软件指令来实现。由于这些实施例可以使用软件指令来实现,可以在其上应用各个实施例的可编程的计算系统的部件和操作将在下面进行描述。
图7和图8示出了可以用于实现各个实施例的计算机系统类型的示例。参见图7,由计算设备701(例如可编程的计算机)通过软件指令的执行可以实现各个示例。因此,图7示出了计算设备701的示意性的示例。如图7所示,所述计算设备701包括计算单元703,该计算单元703具有处理器单元705和系统存储器707。所述处理器单元705可以为用于执行软件指令的任意类型的可编程电子设备,但是通常将为微处理器。所述系统存储器707可以包括只读存储器(ROM)709和随机存取存储器(RAM)711。本领域技术人应该意识到,所述只读存储器(ROM)709和随机存取存储器(RAM)711都可以存储用于由处理器单元705执行的软件指令。
所述处理器单元705和系统存储器707通过总线713或者可替代的通信结构直接地或者间接地连接至一个或多个外围设备717至723。例如,处理器单元705和系统存储器707可以直接地或间接地连接至一个或多个额外的存储器设备,例如硬盘驱动器717(其可以为磁性的和/或可移动的)、可移动的光盘驱动器719和/或闪存卡。处理器单元705和系统存储器707也可以直接地或间接地连接至一个或多个输入设备721以及一个或多个输出设备723。所述输入设备721可以包括,例如键盘、指点设备(例如鼠标、触摸板、手写笔、轨迹球或操纵杆)、扫描仪、摄像头和麦克风。所述输出设备723可以包括,例如监测显示器、打印机和扬声器。利用计算设备701的各种示例,所述一个或多个外围设备717至723可以在内部容纳有计算单元703。可替代地,所述一个或多个外围设备717至723可以在计算单元703的外壳的外部,并且通过例如通用串行总线(Universal Serial Bus,USB)连接至总线713。
根据一些实施例,所述计算单元703可以直接地或间接地连接至网络接口715,用于与组成网络的其他设备通信。所述网络接口715可以根据一个或多个通信协议(例如传输控制协议(TCP)和互联网协议(IP))将来自计算单元703的数据和控制信号解译成网络消息。此外,该网络接口715可以使用任何合适的用于连接到网络的连接代理(或代理的组合),所述连接代理包括例如无线收发器、调制解调器或者以太网连接。所述网络接口和协议是本领域所熟知的,因此此处不进行更详细的讨论。
应当理解的是,所述计算设备701仅仅是以示例的方式示出,而并不旨在对其进行限制。各个实施例可以使用一个或多个计算设备来实现,所述计算设备包括图7所示的计算设备701的部件,这些部件可以仅包括图7所示的部件的子集,或者可以包括部件的可替代组合,这些部件可以包括图7中未示出的部件。例如,各个实施例可以使用一个多处理器计算机、多个布置在网络中的单处理器和/或多处理器计算机、或者两者的一些组合来实现。
根据一些实施例,所述处理器单元705可以具有多于一个的处理器内核。因此,图8示出了多内核处理器单元705的示例,该多内核的处理器单元705可以应用到各个实施例中。如该图中所示,所述处理器单元705包括多个处理器内核801A和801B。每一个处理器内核801A和801B分别包括计算引擎803A和803B,并且分别包括内存缓存(cache)805A和805B。如本领域技术人员所熟知的,所述计算引擎803A和803B可以包括用于执行各种计算功能的逻辑设备,例如提取软件指令并且然后执行所提取的指令中指定的行为。这些行为可以包括,例如,相加、相减、相乘、以及比较数字、执行逻辑操作(例如,与(AND)、或(OR)、非或(NOR)和异或(XOR))、以及检索数据。然后每一个计算引擎803A和803B可以分别利用与它们对应的内存缓存805A和805B,以快速地存储和检索数据和/或用于执行的指令。
每一个处理器内核801A和801B被连接至互联器(interconnect)807。互联器807的特殊指令可以根据处理器单元705的架构而改变。利用一些处理器内核801A和801B(例如,由索尼(Sony)公司、东芝(Toshiba)公司、国际商用机器(IBM)公司创建的单元微处理器(Cell microprocessor)),所述互联器807可以实现为互联总线。然而,利用其他处理器单元801A和801B(例如,OpteronTM和AthlonTM双核处理器,其可从加利福尼亚州的森尼维尔(Sunnyvale)的先进微型设备(Advanced Micro Devices,AMD)获得),所述互联器807可以实现为系统请求接口设备。在任何情形中,所述处理器内核801A和801B通过互联器807与输入/输出接口809和存储控制器810进行通信。所述输入/输出接口809在处理器单元705与总线713之间提供通信接口。类似的,所述存储控制器810控制处理器单元705与系统存储器707之间的信息交换。根据一些实施例,所述处理器单元705可以包括额外的部件,例如可由处理器内核801A和801B共享的高电平高速缓冲存储器。也应当理解的是,对于图7和图8中所示出的计算机网络的描述仅仅是作为示例提供的,并且对于可替代的实施例的使用范围和功能而言,其并不旨在建议任何的限制。
上述的系统和装置可以专门地用于处理器系统、微控制器、可编程逻辑设备、微处理器、或者它们之间的任意组合,以执行本文所描述的部分或全部操作。上面所描述的一些操作可以以软件的形式实现,以及其他操作可以以硬件的形式实现。本文所描述的操作、进程和/或方法中的任意一种可以通过实质上类似于本文以及参考所示出的附图所描述的装置、设备和/或系统来执行。
这些处理设备可以执行存储在计算机可读存储器设备中的指令或者“代码”。所述存储器设备也可以存储数据。所述处理设备可以包括,但可以不限于,模拟处理器、数字处理器、微处理器、多内核处理器、处理器阵列、网络处理器等。该处理设备可以为集成的控制系统或者系统管理器的一部分,或者可以被设置为便携式电子设备,该便携式电子设备被配置以与网络系统进行本地交互或者经由无线传输进行远程交互。
所述处理器存储器可以与处理设备集成在一起,例如设置在集成电路微处理等中的RAM或闪存(FLASH)存储器。在其他示例中,所述存储器设备可以包括独立的设备,例如外部盘驱动器、存储阵列、便携式闪存密钥卡(key fob)等。所述存储器和处理设备可以可操作地例如通过I/O端口、网络连接等彼此耦合或者彼此通信,并且所述处理设备可以读取存储在存储器中的文件。根据权限设置,相关联的存储器设备可以被设计为“只读的(ROM)”,也可以不为只读的。存储器设备的其他示例也可以包括,但不限于,WORM(只写多读)、EPROM(电可编程只读存储器)、EEPROM(电可擦除只读存储器)、FLASH(闪存)、NVRAM(非易失随机存取存储器)、OTP(一次性可编程)等,其可以实现在固态半导体设备中。其他的存储器设备可以包括移动部分,例如熟知的转盘驱动器。所有这样的存储器设备可以是“机器可读取”的,并且可以由处理设备读取。
操作指令或者命令可以以被存储的计算机软件(也就是熟知的“计算机程序”或者“代码”)的有形形式来实现或者体现。所述程序或者代码可以存储在数字存储器设备中并且可以由处理设备读取。“计算机可读存储介质”(或者可替代地,“机器可读存储介质”)可以包括前述所有类型的计算机可读存储器设备,以及未来的新技术,只要存储器设备可能能够存储(至少暂时性地存储)计算机程序性质的数字信息或其他数据,并且只要存储的信息被适当的处理设备“读取”。术语“计算机可读”并不受限于“计算机”的历史使用(historical usage),以隐含完整的主机、迷你计算机、台式机或者甚至是笔记本计算机。而是,“计算机可读”可以包括可以由处理器、处理设备或者任何计算系统可读取的存储介质。所述介质可以是计算机或处理器可以本地和/或远程访问的任何可用介质,并且可以包括易失性和非易失性介质、以及可移动和不可移动介质或者它们的任意组合。
存储在计算机可读存储介质中的程序可以包括计算机程序产品。例如,存储介质可以用作存储或传输计算机程序的便捷装置。为了方便起见,可以将这些操作描述为各种相互连接或耦合的功能性的块或者示意图。但是,在某些情况下,这些功能性的块或者示意图可能被等效地整合到具有不清晰的边界的单个逻辑设备、程序或者操作中。
结论
虽然本申请描述了实现实施例的具体示例,但是本领域技术人员将理解,上述的系统和技术的许多改变和排列将落入到所附权利要求中所阐述的本发明的精神和范围之内。例如,虽然上文使用特定术语指代系统和执行过程,但应当理解的是,本发明的各个示例可使用任何所希望的系统和执行过程的组合来实现。
本领域技术人员还将认识到,本文所教导的概念可以通过许多其他方式被定制到特定的应用中。尤其是,本领域技术人员将认识到,所示示例只是许多可替代的实施例中的一些示例,在本领域技术人员阅读了本公开之后,这将会变得明了。
尽管说明书中可能在若干位置引用了术语“一个”、“所述”、“另一个”或“一些”示例,但这并不一定意味着每个这样的引用都指向相同的一个或多个示例,或者并不一定意味着特征仅适用于单个的示例。