用于自主车辆操作的校准方法与流程

文档序号:16644398发布日期:2019-01-16 08:02阅读:239来源:国知局
用于自主车辆操作的校准方法与流程

本文所述主题和与此同时提交的序列号为15/642,932的美国专利申请(代理号为003.1428)中所述的主题有关。

本公开总体上涉及汽车,并且更具体地,涉及用于利用表示操作环境的不同类型数据之间经校准关系来自主控制车载部件的系统和方法。



背景技术:

自主车辆是一种能够感测其环境并在很少或没有用户输入情况下导航的车辆。自主车辆利用感测装置感测其环境,比如雷达、激光雷达、图像传感器等。自主车辆系统进一步使用来自全球定位系统(gps)技术、导航系统、车辆对车辆通信、车辆对基础设施技术和/或线控系统的信息来导航车辆。

车辆自动化已经被分类为数值级别,范围从对应于利用完全人类控制的无自动化的零到对应于利用无人控制的完全自动化的五。各种自动化驾驶员辅助系统,比如巡航控制、自适应巡航控制以及停车辅助系统,对应于较低的自动化级别,而真正的“无人驾驶”车辆对应于较高的自动化级别。

为了实现高级别自动化,车辆通常配备有逐渐增多的大量不同类型装置,以用于分析车辆周围的环境,比如捕获环境影像的相机或其他成像装置、用于测量或检测环境内特征的雷达或其他测距装置等。在实践中,不同的车载装置位于车辆上的不同位置处并且在不同的采样率或刷新率下运行,并且由此,从不同的观点或角度捕获与不同时间点对应的不同类型的数据。因此,希望提供用于校准不同装置之间关系的系统和方法,从而以提高准确地确立不同类型数据之间相关性的能力,继而利于通过数据收集有关环境的准确信息和/或更准确地为环境内的目标或特征分配属性,由此改善自主车辆控制。此外,还希望能够识别可能影响校准的潜在异常状况并采取适当的补救措施来减轻校准的潜在退化。通过后续的具体实施方式和所附权利要求书并结合附图和前述技术领域和背景技术,本发明的其他期望特征和特性将变得显而易见。



技术实现要素:

提供了用于控制车辆的系统和方法。在一个实施例中,一种控制车辆的方法包括:基于车辆上传感器系统的输出,检测车辆的静止状况;并且响应于该静止状况,在静止状况期间从车辆上的成像装置获得第一图像;以及在静止状况期间从车辆上的测距装置获得与成像装置的视场对应的第一组测距数据。该方法按照以下继续:由第一图像过滤水平边缘区域并确定一个或多个变换参数值,以用于至少部分基于过滤的图像数据和第一组测距数据,在与成像装置相关联的参考框架和与测距装置相关联的参考框架之间变换。之后,该方法从成像装置获得第二图像,从测距装置获得与第二图像相关联的时间附近与成像装置的视场对应的第二组测距数据,至少部分基于第二组测距数据和一个或多个变换参数为第二图像分配一个或多个属性,以及按照由分配给第二图像的一个或多个属性影响的方式自主地操作车辆上的一个或多个致动器。

在另一实施例中,提供了一种自主车辆,其包括:车辆上的提供第一数据的第一装置,车辆上的提供第二数据的第二装置,车辆上的一个或多个传感器,车辆上的一个或多个致动器,以及控制器,并且通过该处理器:基于一个或多个传感器的输出检测车辆的静止状况,在静止状况期间从第一装置获得第一组第一数据,由第一组过滤水平边缘区域从而得到过滤的一组第一数据,在静止状况期间获得第二组第二数据,基于第二组和过滤的组之间的关系确定一个或多个变换参数值,以及之后按照由一个或多个变换参数值影响的方式自主地操作车辆上的一个或多个致动器。

在另一个实施例中,一种控制车辆的方法包括:通过车辆上的控制器检测车辆的静止状况,响应于静止状况从车辆上的一个或多个成像装置获得在静止状况期间捕获的一个或多个图像并获得由车辆上的第一测距装置在静止状况期间输出的第一组测距数据,将第一组测距数据的一个或多个子集与一个或多个图像的第一图像中的一个或多个垂直边缘区域进行相关,基于第一组测距数据的一个或多个子集与第一图像的一个或多个垂直边缘区域之间的关系,确定与第一成像装置相关联的第一参考框架和与第一测距装置相关联的第二参考框架之间的变换相关联的一个或多个参数值,以及在确定了一个或多个参数值之后:从第一成像装置获得更新后的图像,获得和更新后的图像对应的一组更新后的测距数据,基于该组更新后的测距数据和一个或多个参数值确定与更新后的图像相关联的深度,以及按照由与更新后的图像相关联的深度影响的方式确定用于操作车辆上的一个或多个致动器的命令。

附图说明

之后将结合以下附图对示例性实施例进行描述,其中相同的附图标记指示相同的元件,并且其中:

图1是示出根据各种实施例的自主车辆的功能框图;

图2是示出根据各种实施例的具有图1的一个或多个自主车辆的运输系统的功能框图;

图3是根据各种实施例的适合于由图1的车辆实施的自动驾驶系统(ads)的示意性框图;

图4示出了根据各种实施例的车辆(比如图1的自主车辆)上的多个成像装置和多个测距装置的布置;

图5是根据一个或多个示例性实施例用于在图1或图4的车辆上实施的处理模块的框图;

图6是示出根据一个或多个示例性实施例的获得数据组以用于随后对其校准或验证的数据才是过程的流程图;

图7描绘了表示车辆上的相机捕获的视场的环境的示例性图像;

图8描绘了图7的图像的示例性过滤版本,其示出,过滤了图像数据的水平边缘并保持了适合于结合图6的数据采集过程一起使用的非水平边缘;

图9描绘了关于车辆上相机的捕获视场的基础图像的未校准测距数据的示例性表示,其适合于结合图6的数据采集过程一起相关;

图10是示出根据一个或多个示例性实施例的利用根据图6的数据采集过程采集的数据组来校准一对装置的校准过程的流程图;

图11描绘了根据一个或多个示例性实施的表示车辆上相机的捕获视场的环境表示和来自测距装置的利用图10的校准处理校准的叠加测距数据的示例性图像;以及

图12是示出了根据一个或多个示例性实施的用于验证一对装置的现有校准并检测关于该装置中一个的异常状况的校准验证过程的流程图。

具体实施方式

以下详细描述在本质上仅是示例性的,并且并不旨在限制应用和使用。另外,不存在被任何前述的技术领域、背景技术、发明内容或以下具体实施方式中提出的任何明确的或暗示的理论约束的意图。如本文所使用,术语模块是指单独地或任意组合地任何硬件、软件、固件、电子控制部件、处理逻辑和/或处理器装置,包括但不限于:专用集成电路(asic)、电子电路、处理器(共享、专用或成组)以及执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所述功能性的其他合适部件。

本公开的实施例在本文可依据功能和/或逻辑块部件和各个处理步骤来描述。应当理解的是,这些块部件可由被配置为执行指定功能的任何数量的硬件、软件和/或固件部件来实现。例如,本公开的实施例可采用各种集成电路部件,例如,存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其它控制装置的控制下执行多种功能。另外,本领域技术人员将理解的是,本公开的实施例可结合任何数量的系统来实践,并且本文所述的系统仅仅是本公开的示例性实施例。

为了简洁起见,本文可不详细描述与信号处理、数据传输、信令、成像、测距、同步、校准、控制系统以及该系统(和该系统的单个操作部件)的其他功能方面有关的常规技术。另外,本文所包括的各个图示中所示的连接线旨在表示各个元件之间的示例功能关系和/或物理联接。应当注意的是,在本公开的实施例中可以存在许多替代或附加的功能关系或物理连接。

在本文所述的一个或多个示例性实施例中,能够进行一些级别的自主操作的车辆包括多种不同的装置,它们从不同视角并利用不同的采样率或刷新率捕获图像或者以其他方式生成表示车辆附近的场景或环境的数据。来自一个车载成像装置的图像数据可以基于成像装置的视线和/或视场与测距装置测量或扫描与成像装置相关联的视场的时刻之间的关系,与来自车辆上的测距装置的测距数据相关。在示例性实施例中,特定成像装置和特定测距装饰之间的关系可以被校准以获得变换参数值,该变换参数值可以用于将来自测距装置的测距数据变换到由成像装置捕获的图像,反之亦然。例如,可以利用测距数据和变换参数值为图像的部分分配坐标定位或位置,以将测距数据参考框架内的坐标或点变换到图像数据参考框架。以此方式,可以为图像内的区域分配相对深度或其他尺寸或物理属性,继而,它们可以被用来检测或以其他方式识别图像内的特定类型的目标、计算或确定目标和车辆之间的距离,以及按照被车辆环境中目标的类型和相对位置影响的方式确定用于转向或以其他方式操作车辆的命令。为了解释的目的,本文中可以主要在成像装置被实现为相机且测距装置被实现为光检测和测距(激光雷达)装置的背景下对主题进行描述。也就是说,应当理解的是,本文所述的主题并不一定限制于和光学相机和激光雷达一起使用,并且替代实施例可以采用其他类型的相机或成像装置、雷达或其他类型测距装置或感测配置(例如,声呐、光图案传感器、视差算法等),或者成像装置和测距装置的任意数量的组合。

如以下主要在图4至图11的背景下更详细描述的,在示例性实施例中,通过获取或以其他方式选择在车辆静止的一段时间期间装置中每一个所生成或以其他方式输出的数据,利用激光雷达对相机校准。就这一点而言,可以在执行校准数据采集过程之前,检测或以其他方式识别车辆的静止状况。在车辆静止的同时获得由相机捕获的图像,并且在车辆静止的同时还获得由激光雷达输出的一组测距数据,其中该组测距数据对应于相机的视场。在一个或多个示例性实施例中,其中相机在静止状况期间捕获多个图像,在接近激光雷达扫描相机视场的时刻捕获的图像被用于校准。

一旦获得了图像和对应的测距数据,则处理或以其他方式分析该图像数据以检测或以其他方式识别图像内的水平边缘。例如,可以对图像数据执行一种或多种图像处理技术以识别图像内的边缘,将它们过滤以大体上排除或以其他方式去除而不再进一步考虑基本上水平的任何边缘,当沿垂直扫描线或像素列从一个像素行到另一个垂直移动时,这将它们显示为图像特征的不连续或变化。在一个示例性实施例中,对图像数据进行高斯平滑以减少噪声,并且随后应用索贝尔内核以依据图像强度量化像素之间的差值或不连续性的大小。就这一点而言,索贝尔内核被配置为优先地沿像素行量化或捕获强度变化,以及沿对角线方向量化或捕捉强度变化(尽管利用减小的权重),与此同时基本上过滤掉沿像素列的强度变化。就这一点而言,索贝尔内核函数过滤了水平边缘(例如,沿垂直扫描线或像素列的不连续性),与此同时仅分离、突出或以其他方式识别那些图像内关于图像的水平参考平面基本上垂直或对角地对齐的边缘(例如,沿水平的像素行或对角地从一个像素到另一个的不连续性)。

非水平边缘区域被选择或以其他方式保持,以用于和对应于那些边缘区域的测距数据相关。就这一点而言,通过利用图像内边缘区域的位置,可以基于相机的视场与针对该视场获得测距数据时的激光雷达的定向之间的关系,来确定测距数据内对应区域的位置。一般而言,图像中的非水平边缘区域当从一个像素左侧或右侧水平移动到另一像素穿过基本上水平的像素行时或者当从一个像素对角地移动到另一个时,将其自身突显为图像的强度或另一特征的变化,而测距数据中的非水平边缘当水平地从一点移动到另一点穿过激光雷达点云数据组中的一行点时将其自身突显为深度或距离的变化。

在识别和成像数据的边缘数据子集相对应的测距数据的子集滞后,可以将成像数据的非水平边缘区域子集和测距数据的非水平边缘区域子集存储或以其他方式保持,并且之后将它们用于校准由相机捕获的数据和对该相机视场的激光雷达扫描之间的关系。例如,通过求解最小化与变换相关联的代价函数的参数值,可以确定用于将测距数据变换到图像参考框架的平移和旋转变换参数值,并且反之亦然。之后,对于由激光雷达针对相机视场所生成的一组后续测距数据,可以利用变换参数值来将激光雷达电从激光雷达参考框架变换到图像参考框架。一旦将激光雷达点变换到图像参考框架,可以利用相机的固有参数(例如,焦距、主点、失真参数等)将激光雷达点投影到图像像素位置内,由此允许将深度或其他物理或尺寸属性分配给图像像素位置(或其区域或组)。就这一点而言,可以利用源自校准的和相关的激光雷达数据的深度、距离、尺寸或其他信息来改善基于图像数据的目标检测、分类和分析,继而,凭借被车辆附近环境的那些目标影响的用于操作车辆的命令,这还改善了车辆的自主操作。例如,通过将图像数据的像素与投影的激光雷达点更精确地进行相关,可以确定图像中目标的更精确的边界框,当对包含在边界框内的图像数据应用神经网络以确定目标是什么(例如,汽车、行人、交通标志等)时,这继而改善了目标分类。

在一些实施例中,可以利用多对图像和对应测距数据组来校准相机-激光雷达对。例如,在已经针对初始车辆姿态获得成像数据和测距数据的非水平边缘区域子集的一个初始组之后,车辆可被驱动或以其他方式移动直到检测到后续的静止状况。一旦检测到静止状况,则在车辆静止时获得激光雷达在扫描相机的视场的同时所捕获的一组更新的测距数据,并将其与车辆静止时由相机在接近激光雷达扫描相机视场的时间所捕获的更新的图像进行配对。再次,识别出更新的图像中图像数据的非水平边缘区域并将其与更新的测距数据的对应非水平边缘区域进行关联。更新的数据的成对非水平边缘区域可以类似地被存储或以其他方式保持,并且,例如通过最小化同时考虑来自初始车辆姿态的初始成对非水平边缘区域数据之间的相关以及来自更新的车辆姿态的更新的成对非水平边缘区域数据之间的相关两者的代价函数,它们被用于校准相机-激光雷达对。

另外,在一些实施例中,成对非水平边缘区域数据可以与对应图像和测距数据获得时的车辆姿态相关地进行存储或以其他方式保持,由此解释成对相机-激光雷达数据组之间车辆姿态的变化。例如,在一些实施例中,在与相机-激光雷达数据组相关联的车辆姿态之间的最小阈值差异用来确保相机-激光雷达数据组的基础数据是充分相异的(例如,为了避免在校准中使用基本上冗余的数据)。在其他实施例中,代价函数可以解释成对相机-激光雷达数据组之间的相对车辆姿态差异,例如,为了提高图像重叠或捕获到共同目标或区域等时校准的精确度。例如,通过不同的车辆位置或定向捕获到车辆周围大体上相同的场景或环境时(例如,当成对相机-激光雷达数据组之间车辆姿态的差异小于最小阈值差异时),可以通过将车辆姿态以及相机和激光雷达的对应位置和定向结合或以其他方式考虑到代价函数内来改进校准。

过滤掉图像和测距数据的水平边缘并将校准限定于其非水平边缘减少了测距数据中噪声的影响,并且还可以减少用于校准相机-激光雷达对所需的计算资源和时间。就这一点而言,可以基本上同时地校准多个相机-激光雷达对。例如,当包括具有不同视场的多个不同相机的车辆静止了一段足够激光雷达扫描车辆周围完整一圈的时间之后,相机中的每一个可以按照和以上所述相类似的方式利用激光雷达针对每个相机进行校准(例如,通过将车辆静止时由相应相机捕获的图像的非水平边缘区域与和激光雷达扫描相应相机的视场对应的测距数据进行相关)。通过过滤掉水平边缘,可以更快地执行校准并且更不易受噪声影响,由此允许相对于飞速写入的激光雷达装置对多个相机进行校准。例如,在一个实施例中,每次车辆起动,车载相机可以在车辆初始处于静止位置的同时利用激光雷达装置进行初始校准,并且随后该校准可以根据车辆的下个静止状况得到后续地更新。由此,多个相机关于给定激光雷达装置的校准可以定期地更新且无需执行任何特定的校准程序或操纵。

如以下主要在图12的背景下更详细描述的,在本文所述的示例性实施例中,每个特定相机-激光雷达对的现有校准的连续有效性或精确度可以在车辆的自主操作期间周期地进行验证,以检测或以其他方式识别出关于相机或激光雷达中一个的异常状况,从而采取一个或多个补救动作来减轻该异常状况。例如,可以利用最近获得的成对图像和测距数据来重新评估与相机-激光雷达对相关联的代价函数和变换参数值,以验证来自之前校准的变换参数值能否最小化代价函数。响应于确定了该变换参数值不再最小化代价函数,则对最近的成对图像和测距数据内的边缘进行分析并识别或以其他方式确定关于装置中的一个是否存在异常状况。例如,在图像内可以识别出非水平边缘,并且随后存在的对应非水平边缘可以被验证或确认为存在于激光雷达点云数据中。相反,在激光雷达点云数据内可以识别出非水平边缘,并且随后存在的对应非水平边缘可以被验证或确认为存在于图像数据中。然而应当注意的是,本文所述的校准验证过程并非必须限定于不连续性,并且在实践中,可以利用不必依赖水平不连续的其他类型的对准算法或相关。

响应于在图像数据中存在对应于激光雷达点云数据中非水平边缘区域的非水平边缘区域,该相机可以被标记或以其他方式指示为可能正呈现出异常状况。例如,可以生成或以其他方式提供用户通知,以通知车辆操作者、所有者、或乘客关于相机的可能异常状况。之后,可以执行对相机的手动检查或维护以恢复相机的操作(例如,清洗镜头、固定电气联接件等)。另外,还可以执行一个或多个附加的补救动作,比如,例如,临时暂停对相机的使用或者不再突出或减少来自该相机的图像数据的相对于其他相机的影响(例如,通过调整算法中的一个或多个权重因子)。类似地,响应于在激光雷达数据中存在对应于图像数据中非水平边缘区域的非水平边缘区域,该激光雷达可以被标记或以其他方式指示为可能正呈现出异常状况,并且还可以执行一个或多个附加的补救动作(例如,当车辆上其他激光雷达或雷达可用时,临时地暂停对该激光雷达的使用)。

现在参考图1,根据一个或多个实施例,总体上以100示出与车辆10相关联的自主车辆控制系统。一般而言,控制系统100确定移动计划,以用于按照考虑到由车载传感器28、40检测的目标或障碍物的方式沿一路径自主地操作车辆10,如以下更详细描述的。如以上所述并且如以下更详细描述的,自主车辆10上的控制模块关于彼此校准不同类型的车载传感器28、40,由此允许来自这些不同类型的车载传感器28、40的数据基于校准空间地相关联或者以其他方式彼此相关联,由此改善了目标检测、目标分类和所得到的对车辆10的自主操作。

如图1中所示,车辆10大体上包括底盘12、车身14、前轮16和后轮18。车身14被布置在底盘12上并且大体上包围车辆10的部件。车身14和底盘12可以共同形成框架。车轮16至18各自在车身14的相应拐角附近旋转地联接到底盘12。

在各种实施例中,车辆10是自主车辆并且控制系统100被结合到自主车辆10中(以下称为自主车辆10)。自主车辆10例如是被自动控制以将乘客从一个位置运送到另一个位置的车辆。在所说明的实施例中将车辆10描绘为客车,但是应当理解的是,还可以使用任何其他车辆,包括摩托车、卡车、运动型多功能车(suv)、娱乐车辆(rv)、船舶、飞行器等。在示例性实施例中,自主车辆10是所谓的四级或五级自动化系统。四级系统指示“高度自动化”,其指代由自动驾驶系统具体执行动态驾驶任务的所有方面的驾驶模式,即使人类驾驶员对干预请求没有做出适当响应。五级系统指示“全自动化”,其指代由自动驾驶系统在可由人类驾驶员管理的所有道路和环境状况下全时执行动态驾驶任务的所有方面。

如图所示,自主车辆10大体上包括推进系统20、变速器系统22、转向系统24、制动器系统26、传感器系统28、致动器系统30、至少一个数据存储装置32、至少一个控制器34,以及通信系统36。在各种实施例中,推进系统20可以包括内燃机、诸如牵引马达的电机和/或燃料电池推进系统。变速器系统22被配置为根据可选速度比将来自推进系统20的动力传递到车辆车轮16至18。根据各种实施例,变速器系统22可包括分级传动比自动变速器、无级变速器或其他适当的变速器。制动器系统26被配置为向车辆车轮16-18提供制动转矩。在各种实施例中,制动器系统26可包括摩擦制动器、线控制动器、诸如电机等再生制动系统,和/或其他适当的制动系统。转向系统24影响车辆车轮16至18的位置。虽然为了说明目的而被描绘为包括方向盘,但是在本公开的范围内设想的一些实施例中,转向系统24可不包括方向盘。

传感器系统28包括感测自主车辆10的外部环境和/或内部环境的可观察状况的一个或多个感测装置40a至40n。感测装置40a至40n可以包括但不限于雷达、激光雷达、全球定位系统、光学相机、热感相机、超声波传感器、和/或其他传感器。致动器系统30包括一个或多个致动器装置42a至42n,其控制一个或多个车辆特征,例如但不限于推进系统20、变速器系统22、转向系统24和制动系统26。在各种实施例中,车辆特征可以进一步包括内部和/或外部车辆特征,例如但不限于车门、行李箱以及诸如无线电、音乐、照明等客舱特征(未标号)。

数据存储装置32存储用于自动控制自主车辆10的数据。在各种实施例中,数据存储装置32存储可导航环境的已定义地图。在各种实施例中,已定义地图可由远程系统预定义并且从远程系统获取(关于图2进一步详细描述的)。例如,已定义地图可由远程系统组装并且(以无线方式和/或以有线方式)传送到自主车辆10并存储在数据存储装置32中。如可以理解的,数据存储装置32可以是控制器34的一部分,与控制器34分开,或作为控制器34的一部分以及单独系统的一部分。

控制器34包括至少一个处理器44和计算机可读存储装置或介质46。处理器44可为任何定制的或商业上可用的处理器、中央处理单元(cpu)、图形处理单元(gpu)、与控制器34相关联的若干处理器中的辅助处理器、基于半导体的微处理器(采用微芯片或芯片集的形式)、宏处理器、它们的任何组合或通常用于执行指令的任何装置。计算机可读存储装置或介质46可以包括例如只读存储器(rom)、随机存取存储器(ram)和保活存储器(kam)中的易失性和非易失性存储装置。kam是一种持久或非易失性存储器,其可在处理器44断电时用于存储各种操作变量。计算机可读存储装置或介质46可以使用诸如prom(可编程只读存储器)、eprom(电prom)、eeprom(电可擦除prom)、闪速存储器或能够存储数据的任何其他电、磁、光学或组合存储器装置的许多已知存储器中的任何一种来实施,其中的一些数据表示由控制器34用于控制自主车辆10的可执行指令。

指令可以包括一个或多个单独的程序,每个程序包括用于实施逻辑功能的可执行指令的有序列表。指令在由处理器44执行时接收并处理来自传感器系统28的信号,执行用于自动控制自主车辆10的部件的逻辑、计算、方法和/或算法,并且向致动器系统30产生控制信号以基于逻辑、计算、方法和/或算法来自动地控制自主车辆10的部件。虽然图1中仅示出了一个控制器34,但是自主车辆10的实施例可包括通过任何合适的通信介质或通信介质的组合进行通信并且协作以处理传感器信号、执行逻辑、计算、方法和/或算法且产生控制信号以自动控制自主车辆10的特征的任意数量的控制器34。

在各种实施例中,控制器34的一个或多个指令体现在控制系统100中(例如,在数据存储元件46中),并且当由处理器44执行时,促使处理器44基于来自一个或多个车辆传感器40(例如,速度传感器、定位传感器等)的输出数据检测或识别车辆10的静止状况、获得在车辆10静止时从成像和测距装置40捕获或生成的数据,以及利用非水平边缘校准相应成像装置40和相应测距装置40之间的关系,如以下更详细进行描述的。之后,处理器44可以利用校准来确立数据组之间的相关和变换以从一个数据集到另一个数据集分配属性,并且由此改善目标检测、目标分类、目标预测等。所得到的目标和它们的分类及预测行为影响用来自主地操作车辆10的行进计划,这继而影响了由处理器44生成或以其他方式提供的用来控制致动器42的命令。

另外,在一个或多个实施例中,处理器44检测或识别车辆10的静止状况并且周期地验证或确定现有校准的精确度,以及响应于关于校准的异常状况,处理器44利用非水平边缘确定成像装置40或测距装置40是否正呈现出异常状况。在不存在关于成像装置40或测距装置40中任一个的异常状况的情况下,处理器44可以重新校准该对装置并利用更新的校准恢复车辆10的前述操作。

仍然参考图1,在示例性实施例中,通信系统36被配置为向和从其他实体48(例如但不限于其他车辆(“v2v”通信)、基础设施(“v2i”通信)、远程系统和/或个人装置)(关于图2更详细进行描述的)无线地传送信息。在示例性实施例中,通信系统36是被配置为经由使用ieee802.11标准的无线局域网(wlan)或通过使用蜂窝数据通信来进行通信的无线通信系统。然而,诸如专用短距离通信(dsrc)信道等附加或替代通信方法也被认为在本公开的范围内。dsrc信道是指专门为汽车使用而设计的单向或双向短距离到中距离无线通信信道,以及相应的一组协议和标准。

现在参考图2,在各种实施例中,关于图1描述的自主车辆10可以适合于在特定地理区域(例如,城市、学校或商业园区、购物中心、游乐园、活动中心等)中的出租车或往返运输系统的背景下使用或者可以仅通过远程系统进行管理。例如,自主车辆10可以与基于自主车辆的远程运输系统相关联。图2示出了操作环境的示例性实施例,大体上以50示出,其包括基于自主车辆的远程运输系统52,该远程运输系统与关于图1所述的自主车辆10a至10n的一个或多个实例相关联。在各种实施例中,操作环境50进一步包括一个或多个用户装置54,该一个或多个用户装置经由通信网络56与自主车辆10和/或远程运输系统52通信。

通信网络56根据需要支持操作环境50所支持的装置、系统和部件之间的通信(例如,经由有形通信链路和/或无线通信链路)。例如,通信网络56可以包括无线载波系统60,比如蜂窝电话系统,其包括多个蜂窝塔(未示出)、一个或多个移动交换中心(msc)(未示出)、以及将无线载波系统60与陆地通信系统进行连接所需的任何其他联网部件。每个蜂窝塔包括发送和接收天线以及基站,来自不同蜂窝塔的基站直接或经由诸如基站控制器的中间设备连接至msc。无线载波系统60可以实施任何合适的通信技术,包括例如,诸如cdma(例如,cdma2000)、lte(例如,4glte或5glte)、gsm/gprs的数字技术,或者其他当前或正在出现的无线技术。其他的蜂窝塔/基站/msc布置也是可能的并且可以和无线载波系统60一起使用。例如,基站和蜂窝塔可以共同位于相同的地点或者它们可以彼此远程地定位,每个基站可以负责单个蜂窝塔或者单个基站可以服务不同的蜂窝塔,或者不同的基站可以耦合至单个msc,仅举出一些可能的布置作为例子。

除了包括无线载波系统60之外,还可以包括采用卫星通信系统64形式的第二无线载波系统以提供与自主车辆10a至10n的单向或双向通信。这可以利用一个或多个通信卫星(未示出)和上行链路传输站(未示出)完成。单向通信可以包括,例如卫星无线电服务,其中节目内容(新闻、音乐等)由传输站接收、打包以用于上传以及随后发送至卫星,卫星将节目广播给订户。双向通信可以包括,例如卫星电话服务,其利用卫星来在车辆10和站之间中继电话通信。可以利用卫星电话作为无线载波系统60的补充或替代。

可以进一步包括陆地通信系统62,其可以是连接至一个或多个陆线电话的传统的陆基电信网络并且将无线载波系统60连接至远程运输系统52。例如,陆地通信系统62可以包括公共交换电话网(pstn),比如用来提供硬线电话、分组交换数据通信以及因特网基础架构的pstn。陆地通信系统62的一个或多个分段可以通过使用标准有线网络、光纤或其他光网络、电缆网络、电力线、诸如无线局域网(wlan)的其他无线网络、或者提供宽带无线接入(bwa)的网络或者它们的任何组合来实施。此外,远程运输系统52并不需要经由陆地通信系统62连接,但是可以包括无线电话设备,使得其可以直接与诸如无线载波系统60的无线网络通信。

尽管图2中仅显示了一个用户装置54,操作环境50的实施例可以支持任何数量的用户装置54,包括由一个人拥有、操作或以其他方式使用的多个用户装置54。操作环境50所支持的每个用户装置54可以利用任何合适的硬件平台来实施。就这一点而言,用户装置54可以按照任何常见的形式因素来实现,包括但不限于:桌上型计算机移动计算机(例如,平板计算机、膝上型计算机,或者上网本计算机);智能电话;电子游戏装置;数字媒体播放器;家庭娱乐设备件;数字相机或摄影机;可穿戴计算装置(例如,智能手表、智能眼镜、智能服装);等等。操作环境50所支持的每个用户装置54被实现为计算机实施的或基于计算机的装置,其具有执行本文所述的各种技术和方法所需要的硬件、软件、固件和/或处理逻辑。例如,用户装置54包括采用可编程装置形式的微处理器,其包括存储在内部存储器结构中并应用于接收二进制输入以创建二级制输出的一个或多个指令。在一些实施例中,用户装置54包括能够接收gps卫星信号并基于这些信号生成gps坐标的gps模块。在其他实施例中,用户装置54包括蜂窝通信功能,以便该装置利用一种或多种蜂窝通信协议在通信网络56上实现语音和/或数据通信,如本文所讨论的。在各个实施例中,用户装置54包括视觉显示器,比如触摸屏图形显示器或其他显示器。

远程运输系统52包括一个或多个后端服务器系统,其可以是基于云的、基于网络的,或者驻存在由远程运输系统52伺服的特定校园或地理位置处。远程运输系统52可以由现场顾问人工控制,或者是自动顾问,或者两者的组合。远程运输系统52可以与用户装置54和自主车辆10a至10n通信,以调度搭乘、派遣自主车辆10a至10n等。在各种实施例中,远程运输系统52存储账户信息,比如订户认证信息、车辆标识符、简档记录、行为模式,以及其他相关的订户信息。

根据典型的使用情况流程,远程运输系统52的注册用户可以经由用户装置54创建搭乘请求,搭乘请求通常将指示乘客的期望搭车位置(或当前的gps位置)、期望的目的地位置(其可以识别预定车站和/或用户指定的乘客目的地)以及搭车时间。远程运输系统52接收搭乘请求、处理该请求,并且(当且如果一个可用时)派遣自主车辆10a至10n中的选定一个来在在指定搭车位置处和在合适的时间搭载该乘客。远程运输系统52还可以生成并向用户装置54发送经合适配置的确认消息或通知,以使乘客知晓车辆正在路上。

如可以理解的,本文所公开的主题为被认为是为标准和基础自主车辆10和/或基于自主车辆的远程运输系统52提供了某些增强特征和功能。就这一点而言,自主车辆和基于自主车辆的远程运输系统可以被修改、增强,或者以其他方式补充以提供以下更详细描述的附加特征。

现在参考图3,根据各种实施例,控制器34实施自主驾驶系统(ads)70,如图3中所示。也就是说,控制器34的合适的软件和/或硬件部件(例如,处理器44和计算机可读存储装置46)被用来提供结合车辆10一起使用的自主驾驶系统70,例如,用来自动地控制各种致动器30并由此在没有人类介入的情况下分别控制车辆加速度、转向和制动。

在各种实施例中,自主驾驶系统70的指令可以由功能或系统组织。例如,如图3中所示,自主驾驶系统70可以包括传感器融合系统74、定位系统76、导向系统78,以及车辆控制系统80。如可以理解的,在各种实施例中,指令可以被组织成任意数目的系统(例如,组合的、进一步划分的等),因为本公开并不限于本实例。

在各种实施例中,传感器融合系统74合成和处理传感器数据并预测目标的存在、位置、类别和/或路径以及车辆10的环境的特征。在各种实施例中,传感器融合系统74可以合并来自多种传感器的信息,包括但不限于相机、激光雷达、雷达和/或任意数量的其他类型的传感器。在本文所述的一个或多个示例性实施例中,传感器融合系统74支持或以其他方式执行本文以下在图6至图12的背景下更详细描述的数据采集、校准和校准验证过程。在示例性实施例中,传感器融合系统74利用和分别是图像和激光雷达点云数据来源的相机-激光雷达对相关联的校准变换参数值,将图像数据与激光雷达点云数据相关,以向图像数据分配深度、识别图像数据和激光雷达数据的一个或多个中的目标,或者以其他方式同步相关联的图像数据和激光雷达数据。换言之,被提供给车辆控制系统80的来自传感器融合系统74的传感器输出(例如,检测到的目标的标记和/或它们相对于车辆10的位置)反映相机图像和激光雷达点云数据之间的校准和相关或以其他方式被其影响。

定位系统76和其他数据一起处理传感器数据以确定车辆10相对于环境的位置(例如,相对于地图的局部位置,相对于道路的车道的精确位置,车辆前进方向,速度等)。导向系统78和其他数据一起处理传感器数据以确定车辆10将遵循的路径。车辆控制系统80生成用于根据确定的路径控制车辆10的控制信号。

在各种实施例中,控制器34实施机器学习技术来辅助控制器34的功能,比如特征检测/分类、拥塞减轻、路径穿越、映射、传感器集成、地面真实情况确定,等等。

图4示出了示例性车辆400,其包括分布在车辆400周围的多个相机402以及分布在车辆400周围的多个测距装置404。相机402设置在不同位置处并且定向为提供捕获车辆400附近周围环境的不同部分的不同视场。例如,第一相机402定位在车辆400的左前(或驾驶员)侧并且其视场定向成沿向前方向相对于车辆400的纵向轴线逆时针45°,而另一相机402可以定位在车辆400的右前(或乘客)侧并且其视场定向成相对于车辆400的纵向轴线顺时针45°。附加的相机402定位在车辆400的左后和右后侧并且类似地以相对于车辆纵向轴线45°远离该纵向轴线定向,同时相机402定位在车辆400的左侧和右侧并且垂直于车辆纵向轴线远离该纵向轴线定向。所示实施例还包括一对相机402,它们定位在车辆纵向轴线处或附近并且定向成沿基本上平行于车辆纵向轴线的视线捕获前向观察视场。

在示例性实施例中,相机402具有视角、焦距、以及可以与一个或多个其他相机402不同的那些属性不同的其他属性。例如,在车辆的右侧和左侧的相机402的视角可以大于与定位在车辆的左前、右前、左后或右后侧的相机402相关联的视角。在一些实施例中,相机402的视角被选定为使得不同相机402的视角至少部分重叠,以确保相机覆盖相对于车辆400的特定位置或定向。

一个或多个测距装置404还被设置在车辆400的不同位置处,并且在一个实施例中,对称地围绕车辆400的纵向轴线设置以获得视差。在本文所述的示例性实施例中,测距装置404被实现为激光雷达装置。就这一点而言,测距装置404中的每一个可以包括或结合一个或多个激光器、扫描部件、光学布置、光电探测器,以及适合配置为利用特定角频率或转速水平地并旋转地扫描车辆400附近环境的其他部件。例如,在一个实施例中,每个激光雷达装置404配置为在10赫兹(hz)的频率下水平地旋转并扫描360°。如本文所使用的,激光雷达扫描应当被理解为是指激光雷达装置404的单次旋转。

在本文所述的示例性实施例中,相机402自主地并自动地在特定频率下捕捉图像,并且相机402捕获图像的频率或速率大于激光雷达装置404的角频率。在一个实施例中,相机402的频率或采样率至少是激光雷达装置404的角频率的两倍。例如,相机402可以在30hz的速率下捕获对应于其相应视场的新图像数据,而激光雷达装置404在10hz的速率下扫描并自动地提供更新的数据。由此,每个相机402每次激光雷达扫描可以捕获多个图像,并且在独立于激光雷达装置404的定向或扫描内的角位置的不同时间捕获图像。在此类实施例中,可以基于当获得图像时与当激光雷达扫描的角位置和与相应相机402的视线或视角对准的激光雷达装置404的视线对应时之间的相对时间差,来选择或识别暂时与来自特定激光雷达扫描的激光雷达点云数据相关联的来自各个相应相机402的图像。在其他实施例中,在激光雷达扫描期间获得的图像可以被融合或以其他方式合并以获得对应于激光雷达扫描的表示图像。在其他实施例中,相机402可以被触发或以其他方式控制为,在激光雷达扫描期间当激光雷达扫描的角位置和与相应相机402的视线或视角对准的激光雷达装置404的视线对应时的时刻捕获图像。就这一点而言,应当理解的是,存在许多不同的方式来同步或暂时关联不同的数据组,并且本文所述的主题并不旨在被限制于用于识别或将区域的图像数据与该区域的激光雷达扫描或表示该区域的对应激光雷达数据进行关联的任何特定方式。

图5示出了处理模块500(或控制模块)的实施例,其可以由控制器34、处理器44和/或传感器融合系统74实施或结合到它们内。图像处理模块500耦合至车辆上的相机502(例如,相机402中的一个)和车辆上的激光雷达装置504(例如,激光雷达装置404中的一个)。应当注意的是,尽管图5描绘了单个相机502,但是在实践中,图像处理模块500可以耦合至车辆10、400上的多个相机40、402以暂时地将来自多个相机40、402的图像与激光雷达装置504的单个扫描的激光雷达点云数据关联和相关,并且关于多个相机40、402基本上同时或并行地执行本文所述的校准相关过程。另外,图像处理模块500可以耦合至车辆10、400上附加的激光雷达装置40、504,以暂时地将来自车载相机40、402、502的不同图像与来自不同激光雷达装置40、404、504的扫描的激光雷达点云数据关联和相关,并且由此关于多个相机40、402和多个激光雷达装置40、404、504基本上同时或并行地执行本文所述的校准相关过程。

在一个或多个实施中,图像处理模块500被配置为缓冲、存储或以其他方式保持和每次激光雷达扫描由相机502捕获的一个或多个图像(或采样)对应的图像数据,并且选择或以其他方式识别缓冲中暂时与激光雷达装置504相关联的图像,该激光雷达装置与相机502的视场对准(例如,基于与缓冲中的图像相关联的时间戳)。例如,基于从激光雷达装置504接收的指示激光雷达装置504何时在其起点处对准或扫描内参考定向的信号或指示、激光雷达装置504的角频率以及相机502的角度或定向,图像处理模块500可以计算激光雷达装置504的视线与相机502对准的采样时间,(其在本文中被替代地称为激光雷达采样时间),并且选择具有和激光雷达采样时间最接近的时间戳的图像数据组以用于和表示相机的视场的激光雷达数据关联或相关。

图像处理模块500耦合至激光雷达装置504以通过激光雷达扫描检索或以其他方式获得激光雷达点云数据,并且随后将激光雷达点云数据的至少一部分与暂时相关联的图像数据进行相关。例如,图像处理模块500可以选择或以其他方式识别对应于穿越相机502的视角的激光雷达装置504的激光雷达点云数据的子集。

如以下更详细描述的,在示例性实施例中,图像处理模块500校准相机502和激光雷达装置504之间的关系,并且在数据存储元件506中存储或其他方式保持表征该关系的校准数据。就这一点而言,校准数据可以包括针对函数的变量的值,该函数用于从激光雷达点云参考框架空间地变换到图像数据参考框架,反之亦然。之后,当将后续图像数据与点云数据相关时,图像处理模块500可以利用校准数据来将激光雷达数据投射到图像数据上,从而向图像数据分配深度、距离或其他尺寸特征。以此方式,图像数据和点云数据之间的相关性可以被图像处理模块500用来检测目标以用于后续的分类和预测,并将此类预处理的输出提供给一个或多个附加的目标或障碍物分析模块、车辆控制模块等。

现在参考图6,并继续参考图1至图5,流程图示出了数据采集过程600的各种实施例,其可以嵌入在图1的支持ads70的控制系统100的控制器34中。就这一点而言,数据采集过程600可以由车辆10、400上的一个或多个控制模块34、44、500实施或执行。如根据本公开可以意识到的,方法内的操作次序并不限于图6中所示的顺序执行,而是可以按照适用的一种或多种不同次序并根据本公开来执行。而且,在图6的背景下显示和描述的一个或多个任务可以在仍然获得大体上预期的总体功能的同时从数据采集过程600的实践实施例省略。在各种实施例中,数据采集过程600可以按计划基于一个或多个预定事件运行,和/或可以在自主车辆10、400的操作期间连续地运行。

在示例性实施例中,数据采集过程600可以被执行为采集成对的图像数据和激光雷达数据,以用于校准相应相机和激光雷达装置之间的关系,或者可选地,用于在持续变化的基础上验证校准的有效性或精确度。所示的数据采集过程600以在602处从一个或多个车载车辆传感器接收或以其他方式获得数据和在604处检测或以其他方式识别何时车辆静止开始。例如,如上所述,车辆上的控制模块34、500可以耦合至一个或多个车载车辆传感器40,比如速度传感器、定位传感器、节流阀传感器、制动器传感器等,车载车辆传感器提供相应的输出,该相应输出可以被分析或监测以确定何时车辆10、400静止。就这一点而言,当车辆10、400的速度等于零、车辆10、400的加速度等于零以及车辆10、400的位置稳定或不变时,数据采集过程600可以检测出车辆10、400的静止状况。以此方式,数据采集过程600确保所采集的用于校准的数据组不会包括可能由车辆10、400的移动引入的噪声或伪影。

在一个或多个实施例中,在606处,数据采集过程600还基于当前车辆姿态验证或以其他方式确认满足一个或多个校准标准。就这一点而言,在一些实施例中,数据采集过程600可以利用一个或多个最小阈值,当前车辆姿态必须偏离了与先前采集的数据组相关联的车辆姿态该最小阈值,以确保由所采集的数据组表示的场景或环境和先前采集的数据的场景或环境基本上不类似,从而确保充分不同的深度不连续性。例如,数据采集过程600可能需要:当前车辆位置和与一个或多个先前采集的数据组相关联的先前车辆位置之间的距离大于最小阈值距离,与当前车辆位置相关联的当前定向或者前进方向和与一个或多个先前采集的数据组相关联的定向或前进方向之间的差异大于最小阈值差异,与当前车辆姿态相关联的时间和与先前采集的数据组相关联的时间之间的时间差大于最小时间差,或者它们的组合。以此方式,数据采集过程600可以确保车辆已经充分改变了姿态,从而确保由当前数据组标识的场景或环境很可能和与先前采集的数据组相关联的场景或环境不同,确保数据组之间的时间差很可能引起由当前数据组表示的场景或环境和先前采集的数据组的场景或环境之间的差异。

在一些实施例中,数据采集过程600可以利用地图数据库,基于相对于地图的当前车辆姿态确定车辆周围可能的环境(例如,繁忙交叉路口还是停车场,等),并且之后基于环境的类型或环境的特征相应地调整校准标准。例如,当车辆正在繁忙的交叉路口的交通灯下呈现静止状况时,数据采集过程600可能仅需要数据组之间有最小的时间差(例如,1秒)而无需车辆姿态的变化,但是相反,当静止状况出现在停车场时,数据采集过程600可能需要在数据组之间车辆姿态的最小变化。

一旦数据采集过程600检测到满足适用的校准标准的静止状况,则数据采集过程600继续,在608处接收或以其他方式获得在静止状况期间捕获的对应于正在校准的相机的视场的激光雷达数据,以及在610处接收或以其他方式获得在静止状况期间捕获的对应于正在校准的相机的视场的图像数据。就这一点而言,控制模块34、500获得对应于穿越相机502的视场的激光雷达装置504的激光雷达数据的子集,并且之后还选择或以其他方式从相机502获得和静止状况期间激光雷达装置504穿越相机502的视场或视线的时刻最接近对应的图像数据。

一旦获得在静止状况期间捕获的暂时相关联的激光雷达和图像数据组,数据采集过程600继续在612处过滤或以其他方式处理图像数据以识别非水平边缘区域,并且由此在校准期间将水平边缘区域从进一步的分析或使用过滤或排除。例如,图7示出了由相机捕获的该相机的视场内环境的示例性的未过滤图像700,而图8示出了示例性过滤版本的图像800,其仅包括非水平边缘区域802。为了获得过滤或去除了水平边缘并仅保持了非水平边缘区域802的过滤图像800,控制模块34、500将原始图像700的像素转换成灰度级强度值,对该灰度级强度值执行高斯平滑以减少噪声并且随后应用滤波器,比如索贝尔滤波器,其能够在过滤掉沿像素列的垂直强度变化(即,水平边缘)的同时识别出其中强度值变化沿像素行水平地或者在像素中对角地移动的区域。之后,控制模块34、500识别出其中在水平或对消方向上存在充分的强度变化的剩余区域802,作为将要用于后续校准和/或校准验证的图像数据的非水平边缘区域。

再次参考图6,在识别了图像数据的非水平边缘区域之后,通过选择或以其他方式识别激光雷达数据中的对应区域以用于和图像数据的非水平边缘区域相关联,数据采集过程600在614处继续。就这一点而言,控制模块34、500选择或以其他方式识别激光雷达点云数据的子集,其中当沿激光雷达扫描水平参考平面水平地移动时在深度或距离上出现变化。在一个示例性实施例中,激光雷达数据点云包括32个水平扫描线(或行),其中控制模块34、500从每一行内选择或以其他方式识别出深度不连续性相对于该行的邻近点而言最大的点,并且随后将这些32个点及其在点云内的相对位置和深度信息保持作为激光雷达数据中的区域,以用于与图像数据的非水平边缘区域进行关联。就这一点而言,限制被用于校准的点的数量,通过选择具有更显著深度不连续性的点,减少了计算时间并提高了校准精确度。

图9描绘了叠加在环境的示例性图像902上的和相机的视场相对应的环境的未校准激光雷达扫描数据900的图形表示,其中激光雷达扫描数据900的明暗或填充图案大体上对应于通过激光雷达装置测量的深度或距离。就这一点而言,图9描绘了激光雷达扫描数据900和示例性图像902之间的未校准关系,使得沿对应于激光雷达装置504的水平参考平面的行的深度不连续性不必与图像902中的对应特征或要素对准。激光雷达扫描数据900包括多行点,它们具有相对于与其相关的激光雷达装置504的不同深度或距离。为了识别用于和图像数据进行关联的非水平边缘区域,控制模块34、500可以分析激光雷达数据900的行并识别出当水平地移动穿过行内点时深度或距离变化超过阈值量的点,并且将这些点选择或以其他方式识别作为非水平边缘。

如上所述,在行内的非水平边缘点中,相对于行中其邻近点在深度或距离方面具有最大差异的点可以被识别或者选择作为该行中具有最大深度不连续性的点,该点被保持用于和图像数据的非水平边缘区域进行相关。就这一点而言,由于更靠近车辆的边缘有可能利用比远处目标更大的准确度和精确度进行测量或观测,在同一行内具有大体上相等的不连续性的点中,具有距离激光雷达装置最小深度或距离的点(如,最靠近车辆的点)可以被选择和保持以用于后续的分析。例如,对应于柱子的左边缘的点910可以被选择作为激光雷达扫描数据900中其相应行内具有最大深度不连续度的点,而对应于柱子的右边缘的点912、914可以被选择作为激光雷达扫描数据900中它们的相应行内具有最大深度不连续性的点。可以将在捕获的环境902的图像内识别出的柱子的大体上垂直的左边缘与点910(以及可能来自激光雷达数据900的较低行的其他点)相关,并且可以将在捕获的环境902的图像内识别出的柱子的大体上垂直的右边缘与点912、914(以及可能来自激光雷达数据900的较高行的其他点)相关,以用于确定用于在激光雷达数据900中的点910、912、914与图像数据中柱子的相应边缘的对应像素位置之间变换的变换参数,如上所述。

再次参考图6,在数据采集过程600识别出非水平边缘区域图像数据子集和非水平边缘区域激光雷达数据子集之后,在616处,数据采集过程600存储或以其他方式保持彼此相关联的相关非水平边缘区域数据子集和当前车辆姿态。就这一点而言,控制模块34、500在数据存储元件506中存储(在612处识别的)图像的非水平边缘区域和对应图像数据的像素位置、基于(在614处识别的)沿水平扫描线的深度不连续性选择的点云内的三维点(相对位置和深度或距离)、以及表征或量化当前车辆姿态(例如,定位坐标、前进方向、海拔等)和与其相关联的时间的信息。

可以重复数据采集过程600以持续地检测或以其他方式识别满足校准标准的车辆的静止车辆状况,并且过得对应的数据组以用于校准车载装置或验证现有的校准。例如,数据采集过程600可以被执行为,在校准相机502和激光雷达装置504之间的关系之前,首先获得至少最少阈值数量的成对数据组。在一个实施例中,在车辆10、400启动后,执行数据采集过程600阈值数量的次数,以获得用于针对后续车辆操作校准相机502和激光雷达装置504之间关系的数据组。在校准之后,可以重复数据采集过程600以在静止车辆状况期间获得数据组并基本上实时地验证现有的校准。之后,如果校准未被验证,则可以执行数据采集过程600来获得附加的数据组,以用于重新校准相机502和激光雷达装置504之间的关系,如以下更详细进行描述的。

现在参考图10,并且继续参考图1至图6,在示例性实施例中,校准过程1000嵌入在车辆10、400上的控制模块34、500内,以用于利用根据数据采集过程600采集的一个或多个数据组校准车辆10、400上的相机502和激光雷达装置504之间的关系。也就是说,校准过程1000并不必限于结合数据采集过程600一起实施,并且操作的次序也不必限于图10中所示的顺序执行,而是可以按照适用的一种或多种不同次序并根据本公开来执行。而且,在图10的背景下显示和描述的一个或多个任务可以在仍然获得大体上预期的总体功能的同时从数据校准过程1000的实践实施例省略。在各种实施例中,校准过程1000可以被计划成基于一个或多个预定事件运行,和/或可以在自主车辆10、400的操作期间周期地运行(例如,为了利用更多的最近数据组来动态地更新校准)。

校准过程1000在1002处将成对数据组之间的非水平边缘特征进行相关或以其他方式关联,并在1004处构建或以其他方式生成表征成对数据组上非水平边缘特征之间相关性的代价函数。就这一点而言,成对数据组的图像数据的每个非水平边缘区域通过等式与成对数据组的图像数据的对应非水平边缘区域相关,该等式将从点云参考框架到像素参考框架(或像素位置)的变换表征为平移参数和旋转参数的函数,该平移参数和旋转参数用于将激光雷达点云内的点变换或转换为相对的像素位置,反之亦然。

之后,在1006处,校准过程1000计算或以其他方式确定变换参数的值,其最小化与变换相关联的代价。用另一种方式表达,通过根据变换位置和相关边缘特征的实际位置之间的差异确定能最小化总代价的变换参数的值,校准过程1000在全部成对数据组上最小化了相机和激光雷达参考框架之间变换的代价。例如,在一个实施例中,校准过程1000确定六个变换参数的值、三个个平移参数值(例如,x轴、y轴和z轴)以及三个旋转参数值(例如,俯仰角、滚转角和偏航角),它们能最小化基于激光雷达数据的非水平边缘区域计算的变换像素位置与图像数据的非水平边缘区域的实际像素位置之间的累积偏差,该图像数据的非水平边缘区域和激光雷达数据的相应非水平边缘区域相对应。

在1008处,校准过程1000存储或以其他方式保持所得到参数值,该参数值能最小化与相机-激光雷达装置对相关联的变换代价的参数值。就这一点而言,控制模块34、500将用于从激光雷达装置504的点云参考框架变换到成对相机502的图像像素框架的平移和旋转参数值存储在数据存储元件506中,与相机502和/或激光雷达装置504的一个或多个标识符相关联,以用于将来自激光雷达装置504的对应于相机视场的后续激光雷达数据变换到对应的像素位置,反之亦然。以此方式,与激光雷达点相关联的深度或距离信息可以分配给由相机502捕获的图像内的像素位置,由此向图像的不同部分投射或以其他方式分配不同的深度或距离。

图11描绘了叠加在由相机捕获的环境的图像1102上的、和相机的视场相对应的环境的校准激光雷达扫描数据1100的图形表示。借助于校准的变换参数,可以将激光雷达扫描数据1100变换到像素位置,使得沿对应于激光雷达装置504的水平参考平面的行的深度不连续性与图像1102中的对应特征或元素更接近地对准。相应地,可以将像素位置与激光雷达点相关并且可以借助于校准将对应的深度或距离分配给那些提高了准确度或精确度的像素位置。

现在再次参考图10,在一个或多个示例性实施例中,在1010处,校准过程1000还存储或以其他方式保持与相机-激光雷达装置对相关联的最小变换代价,以支持对校准的验证或确认,如以下在图12的背景下更详细进行描述的。就这一点而言,在车辆的后续操作期间可以周期地、大体上实时地分析或监测变换代价,以检测或以其他方式识别出校准的可能损失或者用于重新校准或分析车载装置中一个或多个的一些其他需要。例如,如果随后确定了变换代价可以通过变换参数值的不同组合来进一步最小化,先前在1006处确定的变换参数值的组合不再能提供最小的变换代价,因此可能不再能反映校准的关系。

现在参考图12,并继续参考图1至图5,流程图示出了数据校准验证过程1200的各种实施例,其可以嵌入在图1的支持ads70的控制系统100的控制器34以及根据本公开的图5的图像处理模块500中。同样,方法内的操作次序并不限于图12中所示的顺序执行,而是可以按照适用的一种或多种不同次序并根据本公开来执行。而且,在图12的背景下显示和描述的一个或多个任务可以在仍然获得大体上预期的总体功能的同时从验证过程1200的实践实施例省略。在各种实施例中,验证过程1200可以被计划成基于一个或多个预定事件运行(例如,当车辆10、400呈现出满足校准标准的静止状况的任何时候),和/或在自主车辆10、400的操作期间周期地或连续地运行。例如,验证过程1200可以根据周期性时间间隔(例如,每5分钟)、周期性距离间隔(例如,每前进5英里)和/或类似的来执行。

通过在1202处从有待对其分析现有校准的成对相机502和激光雷达装置504获得一组更新的图像数据和激光雷达数据,校准验证过程1200开始或以其他方式初始化。在示例性实施例中,当车辆10、400呈现同样满足适用的校准标准的静止状况时,校准验证过程1200调用以上所述数据采集过程600以从相应的车载装置502、504获得一组相关的图像和激光雷达数据。由此,由校准验证过程1200使用的成对数据组可能更不易受上述噪声的影响并且在和获得用于先前校准的成对数据组时的那些车辆状况大体上相似的车辆状况期间获得。

校准验证过程1200还获得与校准的变换参数值相关联的变换代价的参考最小值,该校准的变换参数值与1202处分析的相机-激光雷达对相关联。就这一点而言,在1010处,控制模块34、500可以从数据存储元件506检索或以其他方式获得所存储的与成对的相机502和激光雷达装置504的现有校准相关联的最小变换代价值。也就是说,在其他实施例中,可以根据校准验证过程1200的每次迭代来计算参考变换代价值。例如,可以利用现有的变换参数值、用于现有校准的先前成对数据组以及正用于验证的更新的成对数据组来计算参考变换代价值,使得该参考值解释正被用于验证现有校准的成对数据组。

在示例性实施例中,校准验证过程1200继续,在1206处改变或以其他方式调整变换参数值中的一个或多个以利用更新的数据组最小化变换代价,并且在1208处确定是否可以获得小于参考值的变换代价值。就这一点而言,按照和以上在1006处描述的类似的方式,通过根据变换位置和相关非水平边缘特征的实际位置之间的差异确定能最小化总代价的变换参数的值,控制模块34、500在包括来自1202的更新的数据组的一个或多个成对数据组上最小化了相机和激光雷达参考框架之间变换的代价。当控制模块34、500利用更新的数据组最小化的变换代价值大于或等于参考变换代价值时,校准验证过程1200确认或以其他方式验证现有的校准并存在。

当可以利用来自1202的更新的数据组获得小于参考值的变换代价值时,校准验证过程1200继续,在1210处比较或以其他方式分析更新的数据组的非水平边缘区域,以在1212处验证或以其他方式确认成对装置两者均没有呈现出异常状况。就这一点而言,校准验证过程1200可以区分针对先前确定的校准变换参数值的校准损失或其他异常状况以及针对先前关于彼此进行校准的车载装置502、504中一个的故障或其他异常状况。

在示例性实施例中,当更新的图像数据中已识别的非水平边缘区域在激光雷达点云数据中不存在时,或者相反地,当穿过一行激光雷达点云数据的深度不连续性在更新的图像数据中并不具有对应的非水平边缘区域时,控制模块34、500检测或以其他方式识别出异常状况。换言之,校准验证过程1200可以确保相同数量的非水平边缘同时存在于更新的图像数据和激光雷达数据两者中,并且确认在数据组的一个中识别的每个非水平边缘特征在另一数据组中具有对应的非水平边缘特征。当更新的图像数据的非水平边缘区域匹配于或以其他方式对应于更新的激光雷达数据的非水平边缘区域时,反之亦然,校准验证过程1200识别出不存在异常状况或者以其他方式验证该成对的车载装置502、504正在正确地工作。

在验证了并不存在异常状况且成对的车载装置502、504正在正确地工作之后,校准验证过程1200在1214处继续按照类似于以上所述的方式重新校准车载装置502、504。在一个实施例中,校准验证过程1200调用或以其他方式执行校准过程1000以识别或以其他方式确定更新的校准变换参数值,该更新的校准变换参数值能够最小化在用于先前校准的成对数据组以及更新的数据组上累积的相机和激光雷达参考框架之间的变换的代价。在一些实施例中,通过在1206处将得到最小变换代价的变换参数值存储在数据存储元件506中以替代先前的变换参数值,校准验证过程1200可以更新所存储的变换参数值。在其他实施例中,校准验证过程1200可以调用或以其他方式执行数据采集过程600以获得另外新的或更新的成对数据组,随后可以通过使用此类后续获得的成对数据组调用或执行校准过程1000来将它们用于重新校准车载装置502、504之间的关系。由于在重新校准该关系之前验证了车载装置502、504正在正确地工作,校准验证过程1200确保了更新的变换参数值有可能比之前的变换参数值更准确或更可靠。

当更新的图像数据的非水平边缘区域与更新的激光雷达数据的非水平边缘区域不匹配或者更新的图像数据的非水平边缘区域和更新的激光雷达数据的非水平边缘区域在数据组上以其他方式缺乏对应性时,校准验证过程1200在1216处针对正呈现出异常状况的装置发起或以其他方式执行一个或多个补救动作。就这一点而言,在示例性实施例中,控制模块34、500检测或以其他方式识别出在数据组的一个中不存在非水平边缘,其指示了该数据的相应来源装置502、504正在呈现出异常状况。例如,当在更新的激光雷达数据中识别出具有大于阈值量的深度不连续性的一个或多个非水平边缘区域但是更新的图像数据没有对应的非水平边缘区域时,控制模块34、500可以确定相机502正呈现出异常状况。相反,控制模块34、500可以基于在更新的图像数据中识别出的一个或多个非水平边缘在更新的激光雷达数据中不存在,来确定激光雷达装置504正呈现出异常状况。

在实践中,控制模块34、500可以利用和车载装置502、504的其他实例的关系来确保哪个车载装置502、504正在正常工作而哪个可能正呈现出异常状况。例如,当多个相机502与单个激光雷达装置504配对时,当在来自一个相机502的更新的图像数据内识别出的一个或多个非水平边缘不在对应于该相机视场的更新的激光雷达数据中以及在来自另一相机502的更新的图像数据内识别出的一个或多个非水平边缘不在对应于该相机视场的更新的激光雷达数据中时,控制模块34、500可以确定激光雷达装置504正在呈现出异常状况。类似地,在确定相机502正呈现出异常状况之前,控制模块34、500可以利用来自另一相机502的更新的图像数据以及与该更新的图像数据中非水平边缘对应的激光雷达数据来确认激光雷达装置504未呈现出异常状况。

在一个或多个实施例中,由校准验证过程1200发起的补救动作涉及暂时地暂停使用正在呈现异常状况的装置502、504。例如,当激光雷达装置404、504正在呈现异常状况时,控制模块34、500可以禁用或者以其他方式暂停使用由该激光雷达装置404、504输出的测距数据并利用由车辆上激光雷达装置404、504的其他实例输出的测距数据。相反,当相机402、502正在呈现出异常状况时,控制模块34、500可以暂时地停止为了目标分类或诸如此类的目的使用来自该相机402、502的图像数据。

由校准验证过程1200发起的补救动作还可以包括或结合一个或多个用户通知。例如,在一个实施例中,控制模块34、500可以激活或其他方式点亮一个或多个灯、指示器或车辆10、400的仪表板上的其他元件,由此通知车辆乘员该异常状况。在一些实施例中,仪表板指示还可以标示哪个车载装置40、502、504疑似正在呈现异常状况且可能需要检查或维护。控制模块34、500还可以记录或以其他方式存储关于异常状况的事件信息,其可以包括,例如,正在呈现出异常状况的车辆的标识、检测到异常状况时的车辆姿态以及表征异常状况发生时车辆10、400的背景或状态的其他信息。在一些实施例中,控制模块34、500将正在呈现异常状况的装置40、502、504的指示传送或以其他方式提供给远程装置48、52、54,该远程装置继而产生或以其他方式提供对正在呈现异常状况的装置40、502、504的图形指示。

响应于异常状况的通知,用户可以对疑似正在呈现出异常状况的装置40、502、504进行检查并针对该装置40、502、504采取措施以恢复该装置40、502、504的正常操作。例如,用户可以清洁装置40、502、504的镜头或传感器,去除关于装置40、502、504的潜在障碍物,调整装置40、502、504的壳体,调整装置40、502、504与车辆10、400接合或者在其上布置的方式,调整装置40、502、504之间的电器连接或通信接口,等等。在其他实施例中,用户可以利用装置40、502、504的不同实例来替换装置40、502、504。一旦解决了异常状况,则可以清除通知,并且作为响应,控制模块34、500随后可以重新初始化数据采集过程600和校准过程1000并利用先前疑似正呈现出异常状况的装置40、502、504恢复车辆10、400的自主操作。

由于校准验证过程1200能够识别出哪个车载装置40、502、504疑似正在呈现出异常状况,可以降低与任何维护相关联的停机及其他成本并且可以类似地提高此类维护的效率。例如,不需要用户接入和/或检查可以存在于任何给定车辆10、400上的多个相机502和测距装置504中的每一个,维护可以首先集中在疑似正呈现异常状况的特定装置40、502、504。另外,由于校准验证过程1200在1212处区分了校准损失的潜在原因,校准验证过程1200可以在装置40、502、504中的一个未正常工作时帮助确保不再重新校准一对装置40、502、504,由此避免了利用潜在异常的装置40、502、504和/或利用潜在不准确的变换参数值进行的后续操作。

应当意识到,本文所述的主题通过将不易受到噪声和其他伪影影响的非水平边缘进行分离和相关,允许更方便且更准确的校准,由此,为了实现校准的期望准确度,可以需要更少的数据组(或者来自更少数量的不同车辆位置的数据组)。例如,当识别出的环境中非水平边缘的数量大于阈值量时(或者替代地,当对于至少阈值数量的边缘而言,在非水平边缘处的深度或距离变化的大小大于阈值量时),可以使用单对的图像和激光雷达数据来校准相机-激光雷达对。另外,利用车辆里程计或姿态信息允许实时地检测车辆何时静止以获得更新的数据组,由于车辆静止该更新的数据组同样更不容易受噪声影响。还可以校准(或重新校准)多个相机和激光雷达装置对或者利用静止时采集的数据组大体上同时地并行验证它们相应的校准值。尽管在本文中主要在相对于激光雷达点云数据校准相机图像的背景下对主题进行了描述,但是主题并不一定限于相机或激光雷达,并且可以在不同成像或测量类型的装置的任何其他对或组合的背景下使用,以校准来自彼此独立运行的不同装置的数据组之间的关系。

尽管在前面的详细描述中已经呈现了至少一个示例性实施例,但是应该理解的是仍存在大量的变型。还应该理解到的是,示例性实施例或多个示例性实施例仅是示例,并不意图以任何方式限制本公开的范围、适用性或配置。而是,前面的详细描述将为本领域技术人员提供用于实现示例性实施例或多个示例性实施例的便利路线图。应该理解的是,在不脱离如所附权利要求及其合法等同物所阐述的本公开的范围的情况下,可以在元件的功能和设置上做出各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1