激光传感器和视觉传感器的校准的制作方法

文档序号:19418264发布日期:2019-12-14 01:09阅读:214来源:国知局
激光传感器和视觉传感器的校准的制作方法
本技术总体上涉及对移动平台承载的发射器/检测器传感器(例如,激光传感器)和光学检测传感器(例如,诸如相机之类的视觉传感器)之间的校准。
背景技术
:通常通过使用传感器的组合获得周围环境中的物体的位置信息来促进移动平台的操作。获得的关于物体位置的信息可以有助于检测环境中的行人和/或载运工具,从而允许移动平台在导航期间避开障碍物。诸如单目相机之类的典型的光学检测传感器可以基于计算机视觉和机器学习算法来检测物体,但是无法一致地提供目标的三维位置信息。诸如lidar传感器之类的发射器/检测器传感器通常向外发射脉冲信号(例如,激光信号)、检测脉冲信号反射、并测量环境中的三维信息(例如,激光器扫描点)以便于对环境进行地图构建。典型的发射器/检测器传感器可以提供环境的三维几何信息,但是基于此的物体检测相对困难。另外,具有360度水平视场(fov)的传统全向激光传感器可能价格昂贵且不可定制。因此,仍然需要用于移动平台的改进的感测技术和设备。技术实现要素:以下
发明内容是为了读者的方便而提供,并且指出所公开的技术的一些代表性实施例。在一些实施例中,一种用于自动地校准均由公共移动平台承载的至少发射器/检测器单元和光学检测单元的计算机实现的方法,包括:组合从所述发射器/检测器单元获得的点信息的一个或多个集合,以在与所述移动平台相关联的参考系中形成点云;从所述点云中选择特征点子集;利用从所述光学检测单元获得的边缘信息来评估所述特征点子集;以及至少部分地基于利用所述边缘信息评估所述特征点,生成用于所述发射器/检测器单元和所述光学检测单元之间的校准的至少一个校准规则。在一些实施例中,所述方法还包括至少部分地基于变换规则集合来变换所述特征点子集,根据所述光学检测单元相对于所述移动平台的位置和取向来至少部分地定义所述变换规则集合。在一些实施例中,与所述移动平台相关联的参考系包括坐标系。在一些实施例中,所述方法还包括至少部分地基于所述点云内的点之间的一个或多个深度差异、基于所述一个或多个深度差异与阈值之间的关系来选择所述特征点子集。在一些实施例中,所述方法还包括:将从所述光学检测单元获得的图像转换为灰度图像;以及至少部分地基于所述灰度图像的至少一个像素与在所述至少一个像素的阈值接近度内的一个或多个像素之间的差异来确定所述边缘信息。在一些实施例中,利用所述边缘信息评估所述特征点包括:将所述特征点投影到从所述光学检测单元获得的图像中的相应位置。在一些实施例中,利用所述边缘信息评估所述特征点还包括:评估至少部分地由所述特征点的投影位置定义的目标函数,其中,生成至少一个校准规则包括优化所述目标函数,并且其中,优化所述目标函数包括根据至少六个自由度优化所述目标函数。在一些实施例中,所述至少一个校准规则包括用于在与所述发射器/检测器单元相关联的参考系和与所述光学检测单元相关联的参考系之间进行变换的规则。在一些实施例中,所述方法还包括检测(a)所生成的至少一个校准规则与(b)一个或多个先前生成的校准规则之间的差异。在一些实施例中,所述方法还包括根据所述至少一个校准规则对所述发射器/检测器单元和所述光学检测单元进行校准。在一些实施例中,一种非暂时性计算机可读介质,存储计算机可执行指令。所述计算机可执行指令在被执行时使与移动平台相关联的一个或多个处理器执行动作,所述动作包括:组合从发射器/检测器单元获得的点信息的一个或多个集合,以在与所述移动平台相关联的参考系中形成点云;从所述点云中选择特征点子集;利用从所述光学检测单元获得的边缘信息来评估所述特征点;以及至少部分地基于利用所述边缘信息评估所述特征点,生成用于所述发射器/检测器单元和所述光学检测单元之间的校准的至少一个校准规则。在一些实施例中,所述动作还包括至少部分地基于变换规则集合来变换所述特征点子集,根据所述光学检测单元相对于所述移动平台的位置和取向来至少部分地定义所述变换规则集合。在一些实施例中,与所述移动平台相关联的参考系包括坐标系。在一些实施例中,所述动作还包括至少部分地基于所述点云内的点之间的一个或多个深度差异、基于所述一个或多个深度差异与阈值之间的关系来选择所述特征点子集。在一些实施例中,所述动作还包括:将从所述光学检测单元获得的图像转换为灰度图像;以及至少部分地基于所述灰度图像的至少一个像素与在所述至少一个像素的阈值接近度内的一个或多个像素之间的差异来确定所述边缘信息。在一些实施例中,利用所述边缘信息评估所述特征点包括:将所述特征点投影到从所述光学检测单元获得的图像中的相应位置。在一些实施例中,利用所述边缘信息评估所述特征点还包括:评估至少部分地由所述特征点的投影位置定义的目标函数,其中,生成至少一个校准规则包括优化所述目标函数,并且其中,优化所述目标函数包括根据至少六个自由度优化所述目标函数。在一些实施例中,所述至少一个校准规则包括用于在与所述发射器/检测器单元相关联的参考系和与所述光学检测单元相关联的参考系之间进行变换的规则。在一些实施例中,所述动作还包括检测(a)所生成的至少一个校准规则与(b)一个或多个先前生成的校准规则之间的差异。在一些实施例中,所述动作还包括根据所述至少一个校准规则对所述发射器/检测器单元和所述光学检测单元进行校准。在一些实施例中,一种载运工具,包括被编程控制器,所述被编程控制器至少部分地控制所述载运工具的一个或多个运动。所述被编程控制器包括一个或多个处理器,所述一个或多个处理器被配置为:组合从测量单元获得的具有时间顺序的点信息集合,以在与所述载运工具相关联的参考系中形成点云;将所述点云的子集变换为与光学检测单元相关联的参考系中的多个特征点;利用从所述光学检测单元获得的边缘信息来评估所述特征点;以及至少部分地基于利用所述边缘信息评估所述特征点,生成用于所述测量单元和所述光学检测单元之间的校准的至少一个校准规则。在一些实施例中,变换所述点云的子集至少部分地基于包括变换矩阵的变换规则集合。在一些实施例中,选择所述点云的子集包括:至少部分地基于所述具有时间顺序的点信息集合中的一个集合来选择点的所述子集的一部分。在一些实施例中,所述测量单元包括至少一个激光传感器,所述至少一个激光传感器的视场(fov)小于360度、180度、90度或60度中的至少一个。在一些实施例中,所述光学检测单元包括单目相机。在一些实施例中,所述一个或多个处理器还被配置为将从所述光学检测单元获得的图像转换为灰度图像,并且至少部分地基于所述灰度图像的至少一个像素与在所述至少一个像素的阈值接近度内的一个或多个像素之间的差异来确定所述边缘信息。在一些实施例中,利用所述边缘信息评估所述特征点包括:将所述特征点投影到从所述光学检测单元获得的图像中的相应位置。在一些实施例中,所述载运工具对应于以下中的至少一项:无人机uav、有人驾驶飞行器、自主汽车、自平衡载运工具或机器人。在一些实施例中,一种用于生成由移动平台承载的测量单元的组合点云的计算机实现的方法,所述方法包括:获得由所述移动平台承载的多个观测传感器生成的观测数据,其中,所述观测数据对应于时间段;至少部分地基于所述观测数据,评估在所述时间段内的不同时间点的与所述测量单元相关联的状态;确定一个或多个变换规则,所述一个或多个变换规则用于在所述时间段内的不同时间点的与所述测量单元相关联的参考系和与所述测量单元相关联的目标参考系之间的变换;至少部分地基于所述一个或多个变换规则,对所述测量单元在所述时间段内的不同时间点获得的数据进行变换;以及使用变换后的数据的至少一部分生成所述组合点云。在一些实施例中,所述测量单元发射和检测信号。在一些实施例中,所述多个观测传感器包括立体相机、惯性测量单元、轮编码器或全球定位系统中的至少一个。在一些实施例中,获得观测数据包括:从至少两个不同的观测传感器以不同速率获得观测数据。在一些实施例中,所述测量单元具有与至少一个观测传感器不同的数据采集速率。在一些实施例中,与所述测量单元相关联的状态基于与至少一个观测传感器相关联的状态。在一些实施例中,与所述测量单元相关联的状态包括位置、速度或旋转中的至少一个。在一些实施例中,评估与所述测量单元相关联的状态包括评估概率模型。在一些实施例中,评估与所述测量单元相关联的状态还包括至少部分地基于高斯白噪声来评估所述状态。在一些实施例中,评估与所述测量单元相关联的状态还包括确定与所述测量单元相关联的状态的优化值。在一些实施例中,评估与所述测量单元相关的状态至少部分地基于最大后验方法。在一些实施例中,所述时间段包括与所述目标参考系相对应的目标时间点,所述目标时间点对应于所述时间段的初始点。在一些实施例中,变换由所述测量单元在不同时间点获得的数据还包括:根据一个或多个变换矩阵对所述测量单元获得的数据的至少一部分进行投影。在一些实施例中,一种非暂时性计算机可读介质,存储计算机可执行指令。所述计算机可执行指令在被执行时使与移动平台相关联的一个或多个处理器执行动作,所述动作包括:获得由所述移动平台承载的多个观测传感器生成的观测数据,其中,所述观测数据对应于时间段;至少部分地基于所述观测数据,评估在所述时间段内的不同时间点的与测量单元相关联的状态;确定一个或多个变换规则,所述一个或多个变换规则用于在所述时间段内的不同时间点的与所述测量单元相关联的参考系和与所述测量单元相关联的目标参考系之间的变换;至少部分地基于所述一个或多个变换规则,对所述测量单元在所述时间段内的不同时间点获得的数据进行变换;以及使用变换后的数据的至少一部分生成所述组合点云。在一些实施例中,所述测量单元通过发射和检测一个或多个信号来测量至少一个物体。在一些实施例中,所述多个观测传感器包括立体相机、惯性测量单元、轮编码器或全球定位系统中的至少一个。在一些实施例中,获得观测数据包括:从至少两个不同的观测传感器以不同速率获得观测数据。在一些实施例中,所述测量单元具有与至少一个观测传感器不同的数据采集速率。在一些实施例中,与所述测量单元相关联的状态基于与至少一个观测传感器相关联的状态。在一些实施例中,与所述测量单元相关联的状态包括位置、速度或旋转中的至少一个。在一些实施例中,评估与所述测量单元相关联的状态包括评估概率模型。在一些实施例中,评估与所述测量单元相关联的状态还包括至少部分地基于高斯白噪声来评估所述状态。在一些实施例中,评估与所述测量单元相关联的状态还包括确定与所述测量单元相关联的状态的优化值。在一些实施例中,评估与所述测量单元相关的状态至少部分地基于最大后验方法。在一些实施例中,所述时间段包括与所述目标参考系相对应的目标时间点,所述目标时间点对应于所述时间段的初始点。在一些实施例中,变换由所述测量单元在不同时间点获得的数据还包括:根据一个或多个变换矩阵对所述测量单元获得的数据的至少一部分进行投影。在一些实施例中,一种载运工具,包括被编程控制器,所述被编程控制器至少部分地控制所述载运工具的一个或多个运动。所述被编程控制器包括一个或多个处理器,所述一个或多个处理器被配置为:获得由所述载运工具承载的多个观测传感器生成的观测数据,其中,所述观测数据对应于时间段;至少部分地基于所述观测数据评估在所述时间段内的不同时间点的与测量单元相关联的状态;确定一个或多个变换规则,所述一个或多个变换规则用于在所述时间段内的不同时间点的与所述测量单元相关联的参考系和与所述测量单元相关联的目标参考系之间的变换;至少部分地基于所述一个或多个变换规则,对由所述测量单元在所述时间段内的不同时间点获得的数据进行变换;以及使用变换后的数据的至少一部分生成所述组合点云。在一些实施例中,所述多个观测传感器不包括所述测量单元。在一些实施例中,所述多个观测传感器包括立体相机、惯性测量单元、轮编码器或全球定位系统中的至少一个。在一些实施例中,获得观测数据包括:从至少两个不同的观测传感器以不同速率获得观测数据。在一些实施例中,所述测量单元具有与至少一个观测传感器不同的数据采集速率。在一些实施例中,与所述测量单元相关联的状态基于与至少一个观测传感器相关联的状态。在一些实施例中,与所述测量单元相关联的状态包括位置、速度或旋转中的至少一个。在一些实施例中,评估与所述测量单元相关联的状态包括评估概率模型。在一些实施例中,评估与所述测量单元相关联的状态还包括至少部分地基于高斯白噪声来评估所述状态。在一些实施例中,评估与所述测量单元相关联的状态还包括确定与所述测量单元相关联的状态的优化值。在一些实施例中,评估与所述测量单元相关的状态至少部分地基于最大后验方法。在一些实施例中,所述时间段包括与所述目标参考系相对应的目标时间点,所述目标时间点对应于所述时间段的初始点。在一些实施例中,变换由所述测量单元在不同时间点获得的数据还包括:根据一个或多个变换矩阵对所述测量单元获得的数据的至少一部分进行投影。附图说明图1a示出了根据本公开的技术的一些实施例的可以使用的激光传感器的扫描图案。图1b示出了根据本公开的技术的一些实施例的由激光传感器生成的三维点云的正视图。图1c示出了根据本公开的技术的一些实施例的由激光传感器生成的三维点云的斜视图。图2示出了根据本公开的技术的一些实施例的具有激光传感器和视觉传感器的移动平台。图3示出了根据本公开的技术的一些实施例的由在时间段内移动的移动平台承载的激光传感器生成的扫描点数据帧序列。图4示出了根据本公开的技术的一些实施例的在激光器单元(例如,包括一个或多个激光传感器)和视觉单元(例如,包括一个或多个视觉传感器)之间进行校准的校准过程。图5示出了根据本公开的技术的一些实施例的由激光器单元产生的一帧激光器扫描点。图6示出了根据本公开的技术的一些实施例生成的组合点云。图7a示出了根据本公开的技术的一些实施例的从视觉单元捕获或以其他方式获得的灰度图像。图7b示出了根据本公开的技术的一些实施例的可以根据图7a的灰度图像确定的边缘图像。图7c示出了根据本公开的技术的一些实施例的在图7b的边缘图像中的位置集合(图6的特征点615的投影)。图8示出了根据本公开的技术的一些实施例的除了激光器单元(或激光传感器)之外承载多个传感器的移动平台。图9示出了根据本公开的技术的一些实施例的可以由图8的多个传感器提供的信息。图10示出了根据本公开的技术的一些实施例的图8的多个传感器和激光器单元的数据采集频率差异。图11示出了根据本公开的技术的一些实施例的用于组合具有时间顺序的点信息以形成点云的过程。图12示出了根据本公开的技术的一些实施例配置的移动平台的示例。图13是示出了可用于实现本公开的技术的各个部分的计算机系统或设备的代表性架构的框图。具体实施方式1、概述为了促进移动平台进行高效而准确的物体检测同时克服与全向激光传感器相关的缺陷,本公开的技术涉及利用光学检测传感器校准发射器/检测器传感器(例如,具有有限fov的激光传感器)以提供移动平台的周围环境中的物体的位置信息(包括距离信息)。具有有限fov的激光传感器(例如,小角度激光传感器)可以比全向激光传感器便宜得多,并且如本文中所使用的,通常是指水平视场(fov)小于360度、180度、90度或60度的激光传感器。具有有限fov的激光传感器通常生成比全向lidar数量更有限的激光器扫描点(以及更稀疏的激光器扫描点分布)。这些因素可能使得难以在激光传感器和相机之间建立稳定的对应关系。针对该问题,本公开的技术可以使用先进的视觉惯性导航技术结合移动平台承载的传感器,基于移动平台主体的某些定位信息来稳定地生成和/或更新六个自由度变换信息(例如,变换矩阵),用于在与激光传感器和相机相关联的坐标系之间进行变换。另外,所公开的技术可以基于校准后的变换信息的变化来检测激光传感器和/或相机的外部干扰(例如,在部署移动平台期间的外部振动和/或其他干扰)。所公开的技术可以实现准确的实时校准和干扰检测,进一步提高移动平台的可靠性和安全性。为了清楚起见,在以下描述中没有阐述如下描述结构和/或过程的若干细节:这些结构或过程是公知的且普遍与移动平台(例如,uav或其他类型的可移动物体)以及对应的系统和子系统相关联,但可能不必要地使本公开的技术的一些重要方面变得模糊。此外,尽管以下公开内容阐述了本公开的技术的不同方面的若干实施例,但是一些其它实施例可以具有与本文中所描述的不同的配置或不同的部件。相应地,本公开的技术可以具有其他实施例,这些实施例具有附加元件和/或不具有以下参考图1-13描述的若干元件。提供了图1-图13以示出本公开的技术的代表性实施例。除非另有规定,否则附图不意在限制本申请中权利要求的范围。以下描述的本技术的许多实施例可以采取计算机或控制器可执行指令的形式,包括由可编程计算机或控制器执行的例程。可编程计算机或控制器可以或可以不驻留在相应的移动平台上。例如,可编程计算机或控制器可以是移动平台的机载计算机,或者是与移动平台相关联的单独但专用的计算机,或者是基于网络或基于云的计算服务的一部分。相关领域技术人员将会理解,除了下文所示和所述的那些之外,还可以在计算机或控制器系统上实施该技术。该技术可以体现在被专门编程、配置或构造为执行下文所述的一个或多个计算机可执行指令的专用计算机或数据处理器中。因此,本文中通常使用的术语“计算机”和“控制器”指代任何数据处理器,并且可以包括互联网装置和手持设备(包括掌上型计算机、可穿戴计算机、蜂窝或移动电话、多处理器系统、基于处理器的或可编程的消费电子产品、网络计算机、迷你型计算机等)。由这些计算机和控制器处理的信息可以呈现在包括lcd(液晶显示器)的任何适当的显示介质上。用于执行计算机或控制器可执行任务的指令可以存储在任何适当的计算机可读介质中或其上,包括硬件、固件或硬件和固件的组合。指令可以被包含在任何合适的存储设备中,包括例如闪存驱动器、通用串行总线(usb)设备和/或其他合适的介质。2、代表性实施例图1a示出了根据本公开的技术的一些实施例的可以使用的激光传感器的扫描图案102a。如图1a所示,示例激光传感器的fov在水平方向或垂直方向上都不大于60度。图1b示出了由激光传感器(例如,图1a中所示的激光传感器)生成的三维点云的正视图。与可以提供密集且均匀分布的360度三维点云(例如,单帧在0.1秒内可以提供至少200,000个扫描点)的传统全向激光传感器相比,图1b的说明性激光传感器生成具有非均匀或不均匀的点分布(例如,点在传感器的fov的中心区域中相对集中并且在传感器的fov的外围区域中相对稀疏)的较稀疏的点云(例如,单帧在0.1秒内仅可以提供2000个扫描点)。图1c示出了由激光传感器(例如,图1a中所示的激光传感器)生成的三维点云的斜视图。如前所述,(并且与由典型的全向lidar生成的激光束的均匀角度分布不同),由某些激光传感器生成的激光器扫描点的分布可能是非均匀或不均匀的。说明性地,参考图1c;这些点在外围区域110中相对稀疏,而在正面区域120中相对密集。用于在全向lidar和单目相机之间进行校准的传统方法将单帧lidar观测数据(例如,在0.1秒内获得的激光扫描数据)划分到各个激光束,并针对各个激光束检测深度不连续点(本文中有时被称为“特征点”)。然而,由于先前参考图1a至图1c讨论的点云特性(例如,点云数据中的点的非均匀分布和/或有限数量),将这些传统方法应用于具有有限fov的激光传感器可能是困难的。本公开的技术可以使用由移动平台承载的多个传感器,并且可以应用先进的数据融合方法来组合多帧激光扫描数据并建立密集点云信息。本公开的技术包括用于检测点云内的特征点的新方法,该方法可以考虑环境中的平面分布特性以及具有有限fov的激光传感器的点云分布特性。结合用于在图像中提取边缘信息的方法,所公开的技术的实施例例如通过基于穷举的方法评估特征点和边缘信息之间的匹配或相关性,并且生成用于例如在激光传感器和单目相机之间进行校准的校准规则。图2示出了根据本公开的技术的一些实施例的具有激光传感器215(例如,小角度lidar传感器)和视觉传感器225(例如,单目相机)的移动平台210。移动平台、激光传感器和视觉传感器可以与相应的坐标系相关联。在下文中,fr、fl、fc分别用于表示移动平台210、激光传感器215和视觉传感器225的坐标系。在一些实施例中,视觉传感器215和移动平台210的坐标系之间的变换矩阵的初始值以及激光传感器215和移动平台210的坐标系之间的变换矩阵的初始值可以是已知的或例如基于它们的相对位置和取向是预定的。基于这些,可以计算视觉传感器225和激光传感器215的坐标系之间的变换矩阵的初始值图3示出了由在时间段内移动的移动平台310承载的激光传感器315生成的扫描点数据帧序列。如图3所示,由移动平台310(例如,对应于图2中所示的移动平台210)承载的激光传感器315(例如,对应于图2中所示的激光传感器215)在从ti至ti+k的时间段期间生成多帧320扫描点数据。例如,帧320a是用位于第一位置/取向的移动平台310(和激光传感器315)在时间ti生成的,帧320b是用位于第二位置/取向的移动平台310(和激光传感器315)在随后的时间ti+1生成的,并且帧320c是用位于第三位置/取向的移动平台310(和激光传感器315)在随后的时刻ti+2生成的。如下面将参考图8-图11详细讨论的,本公开的技术的一些部分可以基于具有时间顺序的点数据集合(例如,帧序列320)生成组合点云。此外,可以基于此计算在该时间段内的任何时间点ti移动平台310在参考坐标系中的相对位置图4示出了根据本公开的技术的一些实施例的在激光器单元(例如,包括图2中所示的一个或多个激光传感器215)和视觉单元(例如,包括图2中所示的一个或多个视觉传感器225)之间进行校准的校准过程。图4的校准过程可以由控制器(例如,移动平台的机载计算机、相关联的计算设备和/或相关联的计算服务)来实现。在步骤405中,该过程包括组合从激光器单元获得的具有时间顺序的点信息集合,以在参考系中形成点云。例如,图5示出了根据本公开的技术的一些实施例的由激光器单元在时间点(例如,如图3所示的时间ti)产生的一帧激光器扫描点510。说明性地,可以不同时生成帧内的各个扫描点。例如,在一些实施例中,尽管激光传感器数据(例如,扫描点)是连续地采集的,但是各帧扫描点是根据一些离散时间间隔生成或发送的。换言之,帧可以对应于在特定持续时间(例如,0.1秒)内累积的激光传感器数据(例如,扫描点)的集合。参考图5,说明性地,激光器扫描点510的稀疏集合以非均匀方式分布在三维坐标系520中。如前所述,在一些实施例中,点510稀疏而非均匀的分布可能无法为激光器单元和视觉单元之间的期望校准提供足够的数据。图6示出了根据本公开的技术的一些实施例生成的组合点云。如图6所示,组合激光器扫描点的多个集合(例如,10个连续帧)(例如,类似于图5中点510的集合)的激光器扫描点610的密集集合以相对均匀的方式分布在三维坐标系620中,以提供全面的三维环境信息。下面将参考图8-图11更详细地讨论组合过程的实施例。为了以降低噪声和/或误差的方式组合多帧点数据,本公开的技术的实施例包括通过使用由移动平台承载的多种类型的传感器来估计连续帧之间的相对变换矩阵。在一些实施例中,步骤405确定移动平台主体在各个时间点的相对位置而不论实际上是否组合多帧扫描点。在这些实施例中,可以从每帧点数据中选择特征点,并基于相对位置对特征点进行组合。例如,给定两个相对位置和控制器可以计算变换矩阵用于在时间ti和ti+1时的移动平台坐标系之间进行变换。还使用激光器单元和移动平台的坐标系之间的适当默认或初始变换,控制器可以在特定时间(例如,ti)的移动平台坐标系中对准不同时间的帧中的特征点。在步骤410中,校准过程包括从点云中选择特征点的子集。说明性地,可以在多帧扫描点中识别特征点。除了相邻点或连续点之间的深度差异之外,本公开的技术可以考虑至少两个方面:1)随着深度距离增加,激光器扫描点变得稀疏,因此两个相邻点或连续点之间的距离增加;以及2)随着激光器扫描点靠近fov的外围(例如,激光束线和激光器单元取向(例如,激光器单元主轴)之间的角度变大),两个相邻点之间的距离增加。基于上述,该过程可以包括根据以下公式计算各个帧中两对相邻点或连续点之间的较大距离:di=max(|pi-pi+1|,|pi-pi-1|)其中,|pi-pi+1|表示两个点i和i+1之间的距离。然后,控制器确定两个缩放参数:以及第一个参数εd与到点的z方向距离(例如,沿激光束光轴)成比例,第二个参数εγ与对应激光束和激光器单元取向n之间的角度成比例。控制器可以计算归一化的深度不连续值可以将其与阈值进行比较以滤除小于阈值的那些值。以这种方式,控制器从一帧点中识别特征点(其对应于相对大的归一化值)。说明性地,黑色实心点515表示从图5的帧中的扫描点510中识别的特征点的子集。在一些实施例中,如果在步骤405中生成组合点云,则该选择过程可以应用于该组合点云。说明性地,黑点615表示从图6的组合点云610中识别的特征点的子集。根据(1)用于在移动平台和激光器单元的坐标系之间进行变换的已知变换初始值以及(2)移动平台主体在各个时间点的相对位置(例如,如在步骤405中确定的或由相关联的姿态估计单元计算的),控制器可以将从不同时间点的帧中识别的特征点投影到与时间ti(即,从ti到ti+k的时间段的开始时刻)相对应的初始移动平台坐标系取决于初始移动平台坐标系的取向,来自多个帧的投影特征点可以看起来类似于图6中所示的黑点615。然后,控制器可以基于(1)移动平台主体的相对位置和(2)视觉单元和移动平台的坐标系之间的变换矩阵的初始值来确定视觉单元相对于初始移动平台坐标系的位置,并将特征点投影到视觉单元在不同时间点的坐标系中。在步骤415中,校准过程包括根据从视觉单元获得的一个或多个图像导出边缘信息。说明性地,视觉单元在从ti至ti+k的不同时间捕获彩色图像(其可以被转换为对应的灰度图像)或灰度图像。例如,图7a示出了根据本公开的技术的一些实施例的从视觉单元捕获或以其他方式获得的灰度图像。针对在特定时间点捕获的每个灰度图像,控制器导出边缘信息。在一些实施例中,针对图像的每个像素,控制器根据以下公式确定像素与其任何相邻像素(例如,在阈值接近度内)的灰度值之间的最大差异:其中,g表示gi,j附近的邻域。可以生成指示所有ei,j值的边缘图像e,以描述从对应图像导出的边缘信息。在一些实施例中,控制器可以可选地平滑图像e,以帮助改善后续步骤中边缘信息和特征点之间的匹配。图7b示出了根据本公开的技术的一些实施例的可以根据图7a的灰度图像确定的边缘图像e。在图7b中标识出了代表性边缘712(较浅色调)。相关领域的技术人员可以使用其他适当的边缘检测技术来从视觉单元获得边缘信息。另外,可以通过相关联的gpu并行性来执行对边缘信息的提取,使得可以将图像划分为多个块来进行并行处理以快速地提取边缘信息。在步骤420中,校准过程包括基于评估特征点和边缘信息之间的匹配来生成校准规则。说明性地,基于(a)视觉单元在不同时间的相对位置以及(b)对应的内部参数,控制器可以将在步骤410中获得的特征点子集pf中的特征点投影到在步骤415中获得的各个边缘图像ei,...,ei+k。投影可以在相应边缘图像中产生二维点(对应于三维特征点)的位置集合pf。例如,图7c示出了根据本公开的技术的一些实施例的在图7b的边缘图像中的位置集合715(图6的特征点615的投影)。针对每个点其中控制器可以识别对应的边缘图像ei中的像素的边缘值基于在步骤410中计算的每个特征点的归一化的深度不连续值控制器可以评估以下目标函数:其中,i表示由视觉单元获得的图像的索引,k表示在时间段(例如,10或20秒的时域窗口wt)中图像的数量,j表示特征点的索引,n表示特征点子集pf中的点的个数,ei,j表示图像i中的像素(对应于特征点j的投影)的边缘值,并且表示特征点j的归一化的深度不连续值。在一些实施例中,可以定义为在各种实施例中,图像中的边缘点对应于对应三维空间中的深度不连续点,因此较高v值指示激光器单元和相机单元之间更准确的校准。为了生成校准规则(例如,用于在视觉单元和激光器单元的坐标系之间进行变换的变换矩阵ctl),控制器可以实施基于穷举的方法。基于变换矩阵的给定初始值通过引入干扰使得控制器可以生成由m个变换矩阵构成的集合,其中,δti可以是阈值内随机生成的干扰因子。在一些实施例中,变换矩阵具有六个自由度,因此通常可以通过将随机化噪声分别加到平移向量[tx,ty,tz]和欧拉角[α,β,γ]来计算在一些实施例中,该方法使用与真值ctl相距不太远(例如,在阈值接近度范围内)的初始值即,真值在初始值所在的参数空间的邻域中。针对每个值,控制器可以计算目标函数的相应值vi。在集合中的所有变换矩阵中,控制器可以将与最大值vmax相对应的变换矩阵选择为ctl。在一些实施例中,控制器可以基于所生成的校准规则利用视觉单元校准激光器单元。例如,控制器可以使用所确定的变换矩阵ctl来将(a)由激光器单元生成的扫描点数据与(2)由视觉单元生成的图像数据(例如,像素)相关联。在一些实施例中,与用某些非真值相比,当用真值ctl进行评估时,观测数据中的噪声可能导致目标函数值似乎较小。如果时域窗口相对较短(例如,时间段限于仅包括由视觉单元生成的一帧或两帧图像),则这种情况可能更明显。为了缓解该问题,本公开的技术可以包括使用较长的时域窗口(例如,包括由视觉单元生成的数十或数百帧图像的时间段)以便选择最优变换矩阵ctl。较长的时域窗口可以增强校准过程的稳健性并且可以避免局部最大问题。在步骤425中,该校准过程包括将新生成的校准规则与先前生成的校准规则进行比较。一般而言,激光器单元和视觉单元在移动平台主体移动期间都固定到该移动平台主体。在通常情况下,ctl可能不会很大程度地和/或剧烈地变化,但可能由于振动而略微改变。ctl当移动平台和/或单元受到一些大的外部冲击时,可能会很大程度地和/或剧烈地变化。控制器可以将新确定的变换矩阵ctl与在初始轮校准中、最近一轮校准中、最近若干轮校准的平均或加权平均值等中确定的变换矩阵进行比较。在一些实施例中,校准过程使用滑动时域窗口方法在滑动时域窗口内检测当前确定的最优是否明显不同于(例如,相对于阈值而言)先前估计的真值。在步骤430中,该校准过程包括确定从步骤425中的比较得出的差异是否超过阈值。如果未超过,则该过程进行到步骤405以进行新一轮校准。如果差异超过阈值,则过程进行到步骤435。在步骤435中,该校准过程包括采取一个或多个进一步的动作。超过阈值的差异可以指示激光器单元和视觉单元不能彼此可靠地校准。例如,两个单元中的至少一个单元的物理位置或取向可能已经基本上偏离预设配置。在这种情况下,控制器可以向移动平台的操作员发出警告。备选地,控制器可以以安全的方式暂停移动平台的导航或其他功能。如前所述,在使用某些激光器单元或传感器时,单个帧中激光器扫描点的数量和/或分布可能无法提供足够密集的点云以便于校准、地图构建、物体检测和/或定位。在使用低成本的小角度lidar传感器时,这个问题可能特别明显。例如,对于典型的低成本小角度lidar,单帧中激光点的数量通常限制为少于4000个甚至少于2000个,而较昂贵的全向lidar可以在单帧中产生288000个激光器扫描点。为了以降低噪声和误差的方式组合多帧点数据,本公开的技术包括通过使用由移动平台承载的多种类型的传感器来估计连续帧之间的相对变换矩阵。图8示出了根据本公开的技术的一些实施例的除了激光器单元(或传感器)之外承载多个传感器的移动平台820。如图所示,除了激光器单元808之外,移动平台820还可以承载立体相机804、惯性测量单元806、轮编码器810和/或全球定位系统(gps)802。相关领域的技术人员将理解,本公开的技术可以使用更少、更多或替代传感器。例如,代替使用立体相机804,可以使用多个相机的组、阵列或系统。图9示出了根据本公开的技术的一些实施例的可以由图8的多个传感器提供的信息。立体相机804可以提供环境特征902(例如,在周围环境的三维空间中的一个或多个不同点)的三维坐标,其可以建立连续帧(例如,对应于来自两个不同位置920a和920b的观测结果)之间的约束关系。说明性地,立体相机804的采样频率或数据采集速率在20hz和40hz之间。惯性测量单元806可以提供高频加速度信息和角速度信息。说明性地,惯性测量单元的采样频率或数据采集速率为200hz或更高。通过积分,可以计算移动平台820两个连续帧之间的变换矩阵。轮编码器810可以提供动力轮(例如,后轮)的转速和前轮的转向信息,并且可以根据已知的轮尺寸提供对前进速度和连续帧之间的偏转角度的约束。说明性地,轮编码器的采样频率或数据采集速率为约20hz。根据室外信号条件,gps802可以在全球系统中提供移动平台820的位置及其姿态信息。说明性地,gps的采样频率或数据采集速率低于5hz。说明性地,激光器单元808(例如,包括一个或多个lidar传感器)具有10hz的采样频率或数据采集速率。下表总结了图8和图9中所示的代表性传感器的典型数据采集频率信息:传感器频率激光器10hz立体相机20hz至40hz惯性测量单元>200hz轮编码器大约20hz全球定位系统5hz图10示出了根据本公开的技术的一些实施例的图8的多个传感器和激光器单元的数据采集频率差异。图11示出了根据本公开的技术的一些实施例的用于组合由激光器单元生成的具有时间顺序的点信息以形成点云的过程。该过程可以由控制器(例如,移动平台的机载计算机、相关联的计算设备和/或相关联的计算服务)来实现。作为本公开的技术的一部分,生成组合点云可以包括估计时间段内与激光器单元相关联的相对状态,而不是估计相对于全局坐标系的所有后续状态。说明性地,本公开的技术的实施例估计激光器单元相对于其在时间段内生成的两个或更多个不同帧的相对位置信息,从而能够准确地从该时间段的不同帧中累积激光点数据。该方法可以便于或增强后续校准、物体检测、地图构建和/或定位操作。该过程的步骤1105包括从多个观测传感器(例如,如图8所示的多个传感器)获得与时间段相对应的观测数据。在一些实施例中,根据本公开的技术的方法可以做出以下近似情形:来自不同传感器的观测数据是同步的。例如,在代表性情况下,目标激光器单元的数据采集频率为10hz,立体相机的频率为40hz,轮编码器的频率为20hz,惯性测量单元的频率为200hz,gps的频率为5hz。作为近似,可以认为来自不同传感器的观测数据根据不同的倍频被准确地对准。因此,以1秒时间窗为例,控制器可以获得200个加速度计和陀螺仪读数(来自惯性测量单元)、40帧立体相机观测结果、20组速度和偏转角度观测结果(来自轮编码器)以及5条gps定位信息。基于这些,本公开的技术的实施例可以估计10个激光器单元数据采集事件之间的相对位置或其相对于特定局部坐标系(例如,与10个数据采集事件中的第一数据采集事件相对应的局部坐标系)的位置。在一些实施例中,本公开的技术包括进一步近似激光器单元的位置与立体相机的位置一致,从而进一步简化要解决的问题。如参考图9所讨论的,来自不同传感器的观测数据可以在数学上如下描述:1)根据来自立体相机的观测数据,说明性地,可以从相机分别在位置920a和920b处产生的帧中提取一个或多个环境特征(例如,特征902)的三维坐标和/或描述符。这些坐标和/或描述符可以相对于特征902匹配。在用于优化的目标函数中,这种观测可以通过与将特征重新投影到相机坐标系上不同位置处有关的误差项来体现。例如,基于环境特征和两个连续立体相机观测帧的成本项包括3个部分:(a)左相机和右相机在与位置920a相对应的帧处的重新投影误差;(b)左相机和右相机在与位置920b相对应的帧处的重新投影误差;(c)左(或右)相机在两个位置920a和920b之间的重新投影误差。2)根据来自具有已知时间戳和初始值的惯性测量单元的观测数据,旋转矩阵、平移向量和两个连续相机帧之间的速度的约束关系可以例如通过使用相关领域技术人员已知的适当的积分技术来计算。这种类型的观测可以通过目标函数中的积分后状态和实际状态之间的误差项来体现。说明性地,在每个帧(例如,与位置920a和920b相对应的相机帧)处要估计的变量包括相机的取向(例如,特殊正交群中的元素)以及位置和速度(例如,r3空间群中的元素)。使用从惯性测量单元捕获的观测结果的积分提供了上述变量之间的约束。在一些实施例中,在迭代地优化状态的同时,采用适当的预积分技术来提高计算效率。3)可以基于来自轮编码器的观测数据推导出包括移动平台的速度和偏转角的运动模型。类似地,通过积分,可以获得连续相机帧之间的状态约束,并且这种类型的观测的表示可以类似于惯性测量单元的表示。在一些实施例中,与惯性测量单元的情况相反,基于车轮里程表观测仅约束状态的子空间(例如,移动平台的位置和偏航角)。由于轮编码器的可能的噪声,在一些实施例中可以将该误差项的协方差设置得相对较大。4)来自gps的观测数据可以直接提供对移动平台在特定时间的状态的约束。在目标函数中,这种类型的观测可以表示为由gps提供的估计状态与实际状态值之间的误差。由于在一些实施例中gps的数据采集频率低,因此仅当gps观测结果的噪声水平低于某个阈值和/或保证其准确度在某个范围内时才可以使用gps观测结果。在激光器单元的位置近似与立体相机的位置一致的实施例中,控制器(例如,移动平台的机载计算机、相关联的计算设备和/或相关联的计算服务)获得可以针对从时间1到时间k的时间段由传感器提供的观测数据。观测数据可以表示如下:其中1)第一元素表示由立体相机获得的观测信息,并且可以定义如下:其中,zi,j表示由立体相机获得的第i帧中的第j个特征的观测结果;2)第二元素表示惯性测量单元直到第k个时间点为止所获取的数据集合,其中,表示在由相机产生的第i帧与由相机产生的第i+1帧之间惯性测量单元的所有观测结果的集合(例如,来自惯性测量单元的在两个连续的相机观测结果之间的总共20个读数);3)第三元素表示轮编码器的观测结果,该观测结果可以表示如下:其中,表示由轮编码器在第i个时间点和第j个时间点获得的速度信息,并且表示旋转变换(例如,四元数表达式),其可以在第i时间点与第j时间点之间通过偏转角计算导出或以其他方式获得;并且4)最后一个元素表示gps获得的观测结果:其中,表示第i时间点的全局位置,表示相对于全局坐标系的旋转。该过程的步骤1110包括基于观测数据评估在该时间段内的不同时间点与激光器单元相关联的状态。使用因子图,控制器可以建立与激光器单元的状态相关联的先验概率与后验概率之间的关系(与立体相机一致):其中,k=[1,2,...,k]表示相机的观测指标集合,m表示gps的观测索引集合,并且激光器单元的状态可以表示为:xk=[pk,vk,qk]其中,pk,vk,和qk分别表示在第k时间点激光器单元相对于特定坐标系的位置、速度和四元数(旋转)。在上面的公式中,每个p()被称为因子图的一个因子。在一些实施例中,使用基于零均值高斯白噪声的假设的数学推导,控制器可以通过求解以下公式的最小值来计算基于上述因子图的公式的最大后验:其中,r*表示不同的残差类型,σ*表示与不同类型残差相对应的协方差矩阵,并用于描述观测结果的不确定性。在这方面,相关领域的技术人员可以确定不同传感器的残差模型并确定优化迭代之间的雅可比矩阵。控制器可以基于最小化(例如,基于基于梯度的优化方法)来计算激光器单元状态的优化值。该过程的步骤1115包括确定用于在多个参考系(例如,在不同时间点的多个参考系)和目标参考系之间进行变换的变换规则。说明性地,根据以下近似:(1)立体相机和激光器单元的位置彼此一致;以及(2)激光器单元采集的数据和相机采集的数据的时间戳完全相同,控制器可以使用所确定的对应状态计算激光器单元在不同时间点相对于目标时间点(即,当所针对的时间段开始时、在所针对的时间段的中间、或当所针对的时间段结束时)的相对变换矩阵。在一些实施例中,未使用以下近似:(1)立体相机和激光器单元的位置相互一致;(2)激光器单元获取的数据和相机获取的数据的时间戳完全相同。在这些实施例中,本公开的技术可以考虑两个因子:(1)相对变化(例如,立体相机和激光器单元之间的变换矩阵ctl);以及(2)不同传感器之间的时间戳差异。关于第一因子(1),因为激光器单元和立体相机在所针对的时间段期间不可能相对于彼此移动,所以控制器可以通过简单地计算相机在时间q和时间p的相对位置来计算在所针对的时间段期间激光器单元在任何第q时间点相对于任何第p时间点的相对位置。对于不同传感器之间的时间戳不能完美同步的第二因子(2),控制器可以使用插值(例如,基于多项式拟合)来计算在任何指定时间戳的时间在坐标系(例如,移动平台的坐标系)中的相对位置信息。该过程的步骤1120包括基于变换规则对由激光器单元在不同时间点获得的数据进行变换。说明性地,使用在步骤1115中确定的相对变换矩阵,控制器可以将在所针对的时间段中的不同时间点(例如,不同帧)获取的数据(例如,激光器扫描点)重新投影到目标时间点。在一些实施例中,由于过大的噪声、数据误差或其他因素,控制器可以从重新投影过程中排除某些时间点。该过程的步骤1125包括使用变换后的数据生成组合点云。说明性地,控制器可以将来自多个(选定的)帧的重新投影数据添加到初始与目标时间点相关联的点数据帧,从而累积具有时间顺序的数据帧以形成组合点云,犹如数据全都是由激光器单元在目标时间点获取的。图12示出了根据本公开的技术的各种实施例配置的移动平台的示例。如图所示,本文公开的代表性移动平台可以包括以下中的至少一项:无人机(uav)1202、有人驾驶飞行器1204、自主汽车1206、自平衡载运工具1208、地面机器人1210、智能可穿戴设备1212、虚拟现实(vr)头戴式显示器1214或增强现实(ar)头戴式显示器1216。图13是示出了可用于实现本公开的技术的各个部分的计算机系统或其他控制设备1300的架构的示例的框图。在图13中,计算机系统1300包括经由互连1325连接的一个或多个处理器1305和存储器1310。互连1325可以表示通过适当的桥接器、适配器或控制器连接的任何一个或多个单独的物理总线、点对点连接或两者。因此,互连1325可以包括例如系统总线、外围组件互连(pci)总线、超传输(hypertransport)或工业标准体系结构(isa)总线、小型计算机系统接口(scsi)总线、通用串行总线(usb)、iic(i2c)总线、或电气电子工程师协会(ieee)标准674总线(有时称为“火线”)。处理器1305可以包括中央处理单元(cpu),以控制例如主计算机的整体操作。在某些实施例中,处理器1305通过执行被存储在存储器1310中的软件或固件来实现这一点。处理器1305可以是或可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(dsp)、可编程控制器、专用集成电路(asic)、可编程逻辑器件(pld)等,或这些设备的组合。存储器1310可以是或包括计算机系统的主存储器。存储器1310表示任何适当形式的随机存取存储器(ram)、只读存储器(rom)、闪存等,或这些设备的组合。在使用中,存储器1310可以包含机器指令集,当由处理器1305执行时,该机器指令集使得处理器1305执行操作以实现本发明的实施例。通过互连1325还连接到处理器1305的是(可选的)网络适配器1315。网络适配器1315向计算机系统1300提供与诸如存储客户端和/或其他存储服务器之类的远程设备通信的能力,并且可以是例如以太网适配器或光纤通道适配器。本文介绍的技术可以通过例如用软件和/或固件编程的可编程电路(例如,一个或多个微处理器)来实现,或者完全在专用硬连线电路中,或者以这些形式的组合来实现。专用硬连线电路可以是例如一个或多个专用集成电路(asic)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)等形式。用于实现这里介绍的技术的软件或固件可以存储在机器可读存储介质上,并且可以由一个或多个通用或专用可编程微处理器来执行。本文使用的术语“机器可读存储介质”包括可以存储机器(机器可以是例如计算机、网络设备、蜂窝电话、个人数字助理(pda)、制造工具、具有一个或多个处理器的任何设备等)可访问的形式的信息的任何机制。例如,机器可访问的存储介质包括可记录/不可记录的介质(例如,只读存储器(rom);随机存取存储器(ram);磁盘存储介质;光存储介质;闪存设备;等等)等。本文使用的术语“逻辑”可以包括例如用特定软件和/或固件编程的可编程电路、专用硬连线电路或其组合。除了上述内容之外或代替上述内容,本公开的一些实施例具有其他方面、元件、特征和步骤。在本说明书的其余部分中描述了这些潜在的附加和替换。在本说明书中对“各个实施例”、“某些实施例”的引用表示结合实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。这些实施例,甚至备选实施例(例如,称为“其他实施例”)不与其他实施例互斥。此外,描述了可以由一些实施例而不是由其他实施例展现的各种特征。类似地,描述了各种要求,这些要求可以是一些实施例的要求但不是其他实施例的要求。如上所述,所公开的技术可以实现激光传感器(例如,具有有限fov的低成本激光传感器)和视觉传感器(例如,单目相机)之间的高精度校准,该高精度校准可以使用根据在不同的时间获得的点数据生成的组合点云。尽管已经在这些实施例的上下文中描述了与本技术的某些实施例相关联的优点,但是其他实施例也可以显现出这样的优点,并且并非所有实施例都需要显现出这样的优点以落入本技术的范围之内。例如,所公开的技术可以应用于实现具有不同数据采集分辨率和/或速率的任何两种类型的传感器之间的校准。因此,本公开和相关技术可以涵盖本文中未明确示出或描述的其他实施例。就本文并入的任何材料与本公开相冲突的方面而言,以本公开为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1