多阶段相机校准的制作方法

文档序号:23629105发布日期:2021-01-12 10:43阅读:117来源:国知局
多阶段相机校准的制作方法

相关申请的交叉引用

本申请要求于2018年6月4日向美国专利和商标局提交的美国专利申请第15/996,793号的优先权,其内容通过引用并入本文。



背景技术:

除非本文另外指出,否则本节中描述的材料不是本申请中的权利要求的现有技术,并且不由于包含在本节中而被承认是现有技术。

光检测和测距(lidar)设备可以估计到给定环境中的对象的距离。例如,lidar系统的发射器子系统可以发射近红外光脉冲,这些近红外光脉冲可以与lidar系统的环境中的对象交互。光脉冲的至少一部分可以被重定向回lidar(例如,由于反射或散射)并由接收器子系统检测。常规的接收器子系统可以包括多个检测器和被配置为以高时间分辨率(例如,~400ps)确定相应光脉冲的到达时间的对应控制器。lidar系统与给定对象之间的距离可以基于与给定对象交互的对应光脉冲的飞行时间来确定。

此外,相机可以被用于识别场景内的对象。但是,为了提高相机识别场景内的对象的精度,可以对相机进行校准。这种校准可以提供所捕获的图像的外观与物理场景的空间布局的相关性。另外,校准可以校正用于捕获图像的相机的制造和/或组装中的缺陷。例如,如果相机的孔径相对于相机的图像传感器偏离中心,那么校准可以对此进行校正(例如,使用对捕获的图像提供校正以使图像更准确地反映物理场景的处理器)。

校准相机的一种方法包括应用针孔相机模型。针孔相机模型假设进行校准的相机是理想的针孔相机(即,没有透镜和点状孔径的相机)。使用针孔相机模型近似,可以将物理场景的坐标(例如,在三维中)映射到二维平面上的投影,其中在二维平面上的投影由捕获的校准图像表示。可以基于校准图像确定理论针孔相机中的针孔孔径的位置。还可以确定理论针孔相机的其它参数(例如,焦距)。确定针孔孔径的位置并对其进行解释可以包括基于一个或多个校准图像来计算相机矩阵的一个或多个元素。

可以采用其它校准方法来校正光学设计中固有的或由于制造/组装而引起的其它缺陷。例如,可以基于捕获的校准图像来计算一个或多个失真系数。失真系数可以用于解释由于相机中的透镜引起的光学不均匀性(例如,桶形失真、胡须失真、枕形失真等)。此外,可以解释其它光学像差(例如,散焦、倾斜、球面像差、像散、彗形像差、色差等)。opencv函数库包含可以被用于校准相机(例如,用在计算机视觉应用中的相机)的多个命令。



技术实现要素:

本公开涉及用于多阶段相机校准的方法和系统。在一些实施例中,使用多级相机校准进行校准的相机还可以被用于校准其它设备(例如,一个或多个lidar设备或雷达设备)。多阶段相机校准可以包括将校准目标设定在相对于相机的给定距离处、将相机聚焦在校准目标上,并且然后使用相机捕获校准目标的第一图像。接下来,多阶段相机校准可以包括将相机聚焦在距相机比校准目标更大距离处的感兴趣对象上。照此,校准目标可能不再焦点对准(infocus)。然后,可以由相机捕获校准目标的第二图像。校准目标的两个图像(校准目标焦点对准的第一图像和校准目标离焦的第二图像)都可以被传输到计算设备。使用角点检测算法,计算设备可以识别使校准目标焦点对准的第一图像中的校准点的一个或多个位置。另外,使用角点细化算法并且基于在焦点对准的校准目标的图像中识别出的校准点的一个或多个位置,计算设备可以确定校准点在使校准目标离焦的第二图像中的一个或多个位置。基于校准点在第二图像中的一个或多个位置,计算设备可以确定相机的图像传感器和/或透镜中的一个或多个不完美。这些确定的不完美可以在相机捕获的未来图像(例如,由相机捕获的感兴趣对象焦点对准的未来图像)中得到解释。

在一方面,提供了一种方法。该方法包括相对于相机定位校准目标,使得校准目标和相机之间的间隔与相机的焦距对应。该方法还包括由相机捕获校准目标的聚焦图像。另外,该方法包括确定校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置。此外,该方法包括调整相机的焦距,使得相机的经调整的焦距大于校准目标和相机之间的间隔。更进一步,该方法包括由相机捕获校准目标的未聚焦图像。此外,该方法包括基于校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置来确定校准目标的校准点在校准目标的未聚焦图像内的一个或多个细化的位置。更进一步,该方法包括基于校准目标的校准点的一个或多个细化的位置来校正相机内的一个或多个光学像差。

在另一方面,提供了一种非暂态计算机可读介质。该非暂态计算机可读介质上存储有指令,其中指令由处理器执行时使处理器执行功能,所述功能包括接收相对于相机定位的校准目标的聚焦图像,使得校准目标和相机之间的间隔与相机的焦距对应。由相机捕获校准目标的聚焦图像。功能还包括确定校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置。另外,功能包括接收校准目标的未聚焦图像。校准目标的未聚焦图像由相机以经调整的焦距捕获。相机的经调整的焦距大于校准目标和相机之间的间隔。此外,功能包括基于校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置来确定校准目标的校准点在校准目标的未聚焦图像内的一个或多个细化的位置。更进一步,功能包括基于校准目标的校准点的一个或多个细化的位置来校正相机内的一个或多个光学像差。

在附加方面,提供了一种系统。该系统包括校准目标。该系统还包括相对于校准目标定位的相机,使得校准目标和相机之间的间隔与相机的焦距对应。相机被配置为捕获校准目标的聚焦图像。相机还被配置为捕获校准目标的未聚焦图像。校准目标的未聚焦图像由相机以经调整的焦距捕获。相机的经调整的焦距大于校准目标和相机之间的间隔。另外,该系统包括计算设备。计算设备被配置为接收校准目标的聚焦图像和校准目标的未聚焦图像。计算设备还被配置为确定校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置。另外,计算设备被配置为基于校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置来确定校准目标的校准点在校准目标的未聚焦图像内的一个或多个细化的位置。此外,计算设备被配置为基于校准目标的校准点的一个或多个细化的位置来校正相机内的一个或多个光学像差。

在还有一方面,提供了一种系统。该系统包括用于相对于相机定位校准目标的装置,使得校准目标和相机之间的间隔与相机的焦距对应。该系统还包括用于由相机捕获校准目标的聚焦图像的装置。另外,该系统包括用于确定校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置的装置。此外,该系统包括用于调整相机的焦距的装置,使得相机的经调整的焦距大于校准目标和相机之间的间隔。更进一步,该系统包括用于由相机捕获校准目标的未聚焦图像的装置。此外,该系统包括用于基于校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置来确定校准目标的校准点在校准目标的未聚焦图像内的一个或多个细化的位置的装置。更进一步,该系统包括用于基于校准目标的校准点的一个或多个细化的位置来校正相机内的一个或多个光学像差的装置。

通过适当地参考附图阅读以下详细描述,这些以及其它方面、优点和替代方案对于本领域普通技术人员将变得显而易见。

附图说明

图1a是根据示例实施例的系统的图示。

图1b是根据示例实施例的系统的图示。

图1c是根据示例实施例的计算设备的图示。

图1d是根据示例实施例的透镜布置的图示。

图1e是根据示例实施例的透镜布置的图示。

图1f是根据示例实施例的透镜布置的图示。

图2a是根据示例实施例的校准图像的图示。

图2b是根据示例实施例的校准图像的图示。

图3a是根据示例实施例的角点检测的图示。

图3b是根据示例实施例的角点细化的图示。

图4是根据示例实施例的lidar系统的图示。

图5a是根据示例实施例的系统的图示。

图5b是根据示例实施例的系统的图示。

图5c是根据示例实施例的系统的图示。

图5d是根据示例实施例的系统的图示。

图6a是根据示例实施例的校准图像的图示。

图6b是根据示例实施例的校准图像的图示。

图6c是根据示例实施例的校准图像的图示。

图6d是根据示例实施例的校准图像的图示。

图7a是根据示例实施例的校准目标的图示。

图7b是根据示例实施例的校准目标的图示。

图7c是根据示例实施例的校准目标的图示。

图7d是根据示例实施例的校准目标的图示。

图8是根据示例实施例的方法的图示。

具体实施方式

本文设想了示例方法和系统。本文描述的任何示例实施例或特征都不必被解释为比其它实施例或特征更优选或有利。本文描述的示例实施例并不意味着是限制性的。将容易理解的是,所公开的系统和方法的某些方面可以以多种不同的配置来布置和组合,所有这些在本文中都被设想到。

此外,附图中所示的特定布置不应当视为限制性的。应该理解的是,其它实施例可以包括更多或更少的给定图中所示的每个元件。另外,一些示出的元件可以被组合或省略。还有,示例实施例可以包括未在附图中示出的元件。

i.概述

对于各种应用(例如,计算机视觉应用),可以执行常规的相机校准,使得由相机捕获的图像准确地反映场景。一些常规的相机校准可以包括产生其上具有校准点的校准目标。在执行相机校准之前,可以知道或测量校准目标上的每个校准点的物理位置。然后,为了校准相机,相机可以捕获目标的校准图像,并将校准图像中的校准点的位置与其在校准目标上的物理位置进行比较。校准图像中的校准点与校准目标上的物理位置之间的差异可以指示相机内存在的像差(例如,相机的透镜的失真)。

这种常规校准可以通过将校准目标定位在距相机的某个校准距离处来执行,该校准距离与相机和相机将在校准完成之后以其捕获对象的图像的期望范围之间的距离近似相同(例如,为了使用计算机视觉技术来执行对对象的对象识别)。相机的焦距(例如,相机的透镜的焦距)也可以被调整以匹配校准距离。另外,校准目标的尺寸可以被设置为使得当校准目标与相机分开校准距离时校准目标占据相机的视场的大部分。例如,如果校准目标占据相机的视场的大部分,那么可以评估和/或校准相机的大部分(例如,相机的透镜的大部分)。

但是,如果期望的校准距离大(例如,大于50米、大于100米、大于500米、大于1千米等),那么上面描述的单个校准目标和一个或多个校准图像以校正相机中的像差的常规技术可能是困难或不切实际的。在一些情况下,可能难以找到那个尺寸的未被遮挡的空间来执行校准。另外,为了使校准目标在如此大的校准距离下占据相机的视场的大部分,校准目标可能会不期望地大(例如,面积为15米乘以5米或更大的校准目标)。构造、组装、运输和/或相对于相机定位这样的校准目标可能是不可行的。例如,可能难以产生达到校准所需的必要精度水平的这样尺寸的校准目标。

本文设想的示例实施例涉及用于校准相机的替代技术。本文设想的实施例可以校准相机而不会遇到上述陷阱中的一些(例如,用于校准的大的、未被遮挡的空间和/或大的校准目标)。在根据本文设想的技术校准相机之后,相机然后可以被用于校准其它设备(例如,lidar系统中的发送器和/或接收器)。一种示例技术包括一种方法。该方法可以包括多个阶段。

在校准的一个阶段中,可以将相机定位在相对于校准目标的第一距离处。校准目标可以具有一系列校准点,其上印有已知的物理位置(例如,每个校准点可以由基准标记指示)。另外,当被定位在第一距离处时,校准目标可以占据相机的视场的显著部分。此外,可以将相机的焦距(例如,相机的透镜的焦距)设置为使得该焦距等于第一距离。相机然后可以捕获校准目标的第一图像。因为在这个校准图像中校准目标被焦点对准,所以可以将校准目标的第一图像称为“校准目标的聚焦图像”。此后,可以将校准目标的聚焦图像传输到计算设备以进行分析。

在校准的附加阶段中,相机保持相对于校准目标定位在第一距离处(例如,校准目标相对于相机处于相同朝向)。因此,校准目标仍占据相机的视场的显著部分。但是,可以将相机的焦距(例如,相机的透镜的焦距)设置为使得焦距等于第二距离,其中第二距离大于第一距离。第二距离可以等于感兴趣对象的距离。附加地或可替代地,第二距离可以等于将针对其校准相机的期望距离(例如,因为相机将在相机校准之后被用于检测期望距离处的对象)。相机然后可以捕获校准目标的第二图像。因为在这个校准图像中校准目标离焦(例如,模糊),所以校准目标的第二图像可以被称为“校准目标的未聚焦图像”。此后,可以将校准目标的未聚焦图像传输到计算设备以进行分析。

在校准的另一个阶段中,计算设备可以通过评估校准目标的聚焦图像和校准目标的未聚焦图像来确定相机中(例如,相机的透镜、相机的孔径等中)的一个或多个像差。计算设备可以确定校准点在校准目标的聚焦图像中的近似位置(例如,通过计算设备的处理器执行存储在计算设备的数据存储装置内的角点检测算法)。校准点的这些近似位置可以准确到校准目标的聚焦图像的最近水平像素和最近垂直像素。然后,基于校准点的近似位置,计算设备可以确定校准点在校正目标的未聚焦图像中的细化的位置(例如,通过计算设备的处理器执行存储在数据存储装置内的角点细化算法)。校准点的细化的位置可以具有亚像素准确度。这可以导致校准图像内的校准点的识别,该校准图像是使用聚焦到更长焦距的相机捕获的,同时仍然使校准目标占据相机的视场的大部分。

在校准的另一个阶段中,计算设备然后可以将校准点的细化的位置与校准目标上的校准点的预期位置进行比较。校准点的预期位置可以基于校准目标相对于相机的朝向、校准目标相对于相机的距离和/或校准目标上的校准点的已知物理位置。在一些实施例中,校准点的预期位置可以被存储在计算设备的数据存储装置中(例如,以列表或数组的形式)。然后,可以使用校准点的所确定的细化的位置与预期位置之间的任何差异来识别相机内的一个或多个像差(例如,通过基于针孔相机模型确定与相机相关联的相机矩阵和/或通过确定与相机相关联的失真系数)。可以校正和/或解释相机内识别出的像差(例如,通过物理地修改相机或通过对由相机捕获的未来图像进行图像处理)。

然后,可以将校准的相机用于校准其它设备。例如,场景的图像可以由相机捕获,并且与由lidar系统生成的场景的三维地图进行比较(例如,使用相机作为用于校准lidar系统的有效“地面真相(groundtruth)”)。例如,lidar系统可以被用于自主车辆或以自主模式或半自主模式操作的车辆中的对象检测和/或导航。另外,由相机捕获的图像与由lidar系统生成的三维地图之间的差异可以指示lidar系统中的一个或多个像差(例如,lidar系统的发送器和/或接收器中的像差)。然后可以校正和/或解释lidar系统中的这种指示的像差(例如,通过调整lidar系统的发送器和/或接收器中的一个或多个光学器件)。

ii.示例系统

以下描述和附图将阐明各种示例实施例的特征。所提供的实施例仅仅是示例性的,而不旨在进行限制。照此,附图的维度不一定是按比例的。

图1a是根据示例实施例的系统100的图示。系统100可以包括相机102、校准目标104和计算设备106。如图所示,相机102可以定位在距校准目标104第一距离001处。同样如图所示,校准目标104可以定位在距感兴趣对象108第二距离002处。

相机102可以是用于检测场景内的对象(例如,感兴趣对象108)的相机。例如,相机可以是在计算机视觉应用中(例如,在机器人或自主车辆中)使用的对象检测和识别系统的组件。可替代地,相机102可以仅用作校准工具(例如,用作用于不同设备或系统的校准的“地面真相”)。在这样的实施例中,在完成校准方法后,可以基于使用校准的相机102捕获的附加校准图像来定位、调整或以其它方式更改另一个感测设备(例如,雷达检测器或lidar检测器)。

在一些实施例中,相机102可以包括数码相机(例如,以电或磁方式将图像存储为一系列位的相机)。这样的数码相机可以包括一个或多个图像传感器,诸如电荷耦合器件(ccd)和/或互补金属氧化物半导体(cmos)图像传感器。附加地或可替代地,相机102可以包括胶卷相机(即,以化学方式将图像存储在照相胶卷条上的相机)。相机102可以是静态相机或摄像机。在一些实施例中,取决于相机102的操作设定(例如,如由相机102的用户选择的),相机102可以既能够用作静态相机又能够用作摄像机。

此外,相机102可以包括一个或多个附加的光学组件。例如,相机102可以包括一个或多个透镜,其可以被用于调整从场景进入相机102的光的焦点。在一些实施例中,相机102可以包括一个或多个反射镜,以修改相机102内的光路(例如,以将来自场景的光引导到相机102内的图像传感器)。更进一步,相机102可以包括其它光学器件,诸如偏振滤光器、中性密度滤光器、孔径(例如,使用膜片(iris)实现)、彩色滤光器等。在各种实施例中,相机102内的任何光学组件都可以是可调整的、可移除的和/或可互换的。

校准目标104可以由相机102捕获在校准图像中,并用于校准相机102。在这样的校准图像中,校准目标104可以占据相机102的视场的实质性部分(例如,相机102的视场的5%、10%、25%、50%、55%、60%、65%、70%、75%、80%、85%、90%、95%或99%)。校准目标104可以在其上打印、涂制或以其它方式放置基准标记。基准标记可以被用于识别校准目标104上的多个校准点。可以在校准目标104上精确地限定这些校准点,使得它们的确切位置在执行校准方法(例如,如本文所设想的校准方法)之前是已知的。以这种方式,可以识别校准图像中的校准点的视在位置与校准点的已知位置的任何偏差。

如图所示,校准目标104可以包括棋盘图案。在其它实施例中,可以在校准目标104上布置更多或更少的基准标记。增加数量的基准标记104可以增加可以以其执行相机的校准的分辨率。可替代地,减少数量的基准标记104可以提高可以以其执行相机的校准的速度和/或减少用于执行校准的计算资源。

在替代实施例中,基准标记可以具有各种其它形状(例如,圆形、三角形、矩形、五边形、六边形、七边形、八边形、九边形、十边形等)。另外,同一校准目标上的不同基准标记可以具有不同的形状。附加地或可替代地,在一些实施例中,基准标记可以具有特别的光学特性(例如,基准标记可以是全息的或者仅可以使用特定波长范围的光来检测)。参考下面的图7a-7d描述其它示例基准标记和校准目标。

计算设备106可以被用于校准相机102。为了执行这种校准,计算设备106可以包括各种组件,如图1c中所示。图1c是例示计算设备106的简化框图,该图图示了可以被包括在被布置为根据本文所设想的实施例进行操作的计算设备中的一些功能组件。在各种实施例中,示例计算设备106可以是台式计算设备、膝上型计算设备、移动计算设备、平板计算设备、服务器计算设备或某种其它类型的计算设备。

如图1c中所示,计算设备106可以包括处理器112、数据存储装置114、网络接口116和输入/输出功能118,所有这些都可以通过系统总线110或类似的机制耦合。处理器112可以包括一个或多个中央处理单元(cpu),诸如一个或多个通用处理器和/或一个或多个专用处理器(例如,专用集成电路(asic)、数字信号处理器(dsp)、网络处理器、现场可编程门阵列(fpga)等)。在一些实施例中,计算设备106可以远离相机102定位(例如,计算设备106可以是云计算设备或联网的计算设备)。

数据存储装置114进而可以包括易失性存储器(例如,随机存取存储器(ram))和/或非易失性存储器(例如,硬盘驱动器、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、非易失性随机存取存储器(诸如闪存)、固态驱动器(ssd)、硬盘驱动器(hdd)、光盘(cd)、数字视频盘(dvd)、数字带、读/写(rw)cd、r/wdvd等)。照此,数据存储装置114可以包括非暂态计算机可读介质。另外,数据存储装置114可以全部或部分地与处理器112集成。在一些实施例中,数据存储装置114可以存储可由处理器112执行的程序指令,以及可以由这些程序指令操纵以执行本文所设想的各种方法、过程或操作的数据。可替代地,这些方法、过程或操作可以由硬件、固件和/或硬件、固件和软件的任何组合来定义。

网络接口116可以包括一个或多个有线连接,诸如以太网连接或通用串行总线(usb)连接。附加地或可替代地,网络接口116可以包括一个或多个无线接口,诸如ieee802.11bluetoothlowenergy蜂窝技术(例如,gsm、cdma、umts、ev-do、wimax或)、专用短程通信(dsrc)、ieee802.15.4中描述的通信协议(例如,)或广域无线连接。可以在网络接口116上使用其它形式的物理层连接和其它类型的标准或专有通信协议。

输入/输出功能118可以促进与计算设备106的用户交互。另外,输入/输出功能118可以包括多种类型的输入设备,诸如键盘、鼠标、触摸屏等。类似地,输入/输出功能118可以包括多种类型的输出设备,诸如屏幕、监视器、打印机、一个或多个发光二极管(led)等。附加地或可替代地,计算设备106可以支持经由网络接口116或经由另一个接口(未示出)(诸如高清晰度多媒体接口(hdmi)端口)从另一个设备进行远程访问。

在一些实施例中,计算设备106可以包括部署在联网体系架构中的一个或多个远程计算设备。远程计算设备的确切物理位置、连接性和配置可以是未知的和/或不重要的。因而,在一些实施例中,计算设备106可以被称为“基于云的”设备,其可以被容纳在各种远程位置。

感兴趣对象108可以位于距相机102的给定校准距离处。如图1a中所示,校准距离可以对应于001+002(即,第一距离加上第二距离)。感兴趣对象108可以是相机102最终被校准以检测的对象。例如,如果相机102正被用在计算机视觉中,那么感兴趣对象108可以是计算机视觉系统当前试图识别的任何对象(例如,树、行人、路牌、道路等)。

在一些实施例中,感兴趣对象108可以是位于距相机102一距离处的虚拟对象,该距离与针对其进行相机校准的距离对应。例如,相机102可以正在经历校准,使得在距离001+002处由相机102捕获的图像不会失真。在这种情况下,感兴趣对象108是什么类型的对象可能无关紧要。在一些实施例中,场景中可能根本没有感兴趣对象108,而是可以基于已知的校准距离001+002(即,第一距离加上第二距离)来校准相机102。在这样的实施例中,即使在该位置处没有对象,相机102也可以简单地聚焦到001+002的距离。

图1a中所示的布置可以对应于多阶段相机校准方法中的第一阶段。如图所示,相机102可以聚焦在校准目标104上(即,相机102的焦距可以等于第一距离001)。为了实现这种聚焦,可以修改相机102的透镜。透镜的焦距可以被手动地(例如,由修改相机102的透镜和图像传感器之间的物理间隔的相机102的操作者)或以自动方式(例如,使用相机的自动聚焦能力)来修改。在替代实施例中,可以换出而不是调整透镜。例如,可以用具有给定焦距(例如,等于第一距离001的焦距)的透镜代替相机102的透镜。可替代地,为了实现相机102的这种聚焦,可以使相机102相对于校准目标104物理地移动,使得相机102更接近或远离校准目标104,直到校准目标104焦点对准为止。这可以再次手动地(例如,由相机102的操作者)执行或以自动方式(例如,相机102可以被安装在可以移动相机102直到校准目标104焦点对准的自动平台或台车上)执行。

图1d图示了在被聚焦于校准目标104上之后的相机102的示例实施例。如图所示,相机102可以包括图像传感器120和第一透镜122。而且如图所示,相机102的焦距等于第一距离001。例如,第一透镜122可以已经被调整以便获得与第一距离001对应的相机102的焦距。可替代地,第一透镜122可以是静态的(例如,可以是不可调整的)。在这样的实施例中,第一透镜122可以已经被添加到相机102或被交换(例如,代替不同的透镜)以便获得与第一距离001对应的相机102的焦距。

在校准目标104焦点对准并且感兴趣对象108在背景中的情况下,可以由相机102捕获校准目标104的校准图像。因为校准目标104在这个校准图像中可以是焦点对准的,所以这个校准图像在本文中可以被称为“校准目标的聚焦图像”。在图2a中图示了校准目标的聚焦图像202的示例实施例。如图所示,校准目标104在前景中被焦点对准,而感兴趣对象108在背景中离焦(并因此模糊)。如图所示,校准目标104可以占据相机102的视场的约25%。这可以构成相机102的视场的实质性部分。在其它实施例中,校准目标104可以占据相机102的视场的多于或少于25%(例如,相机102的视场的1%、5%、10%、15%、20%、30%、35%、40%、45%、50%、55%、60%、65%、70%、75%、80%、85%、90%、95%或99%)。

例如,可以将校准目标的聚焦图像202从相机102传输到计算设备106。在将校准目标的聚焦图像202传输到计算设备106后,在将校准目标的聚焦图像202传输到计算设备106时,或者在将校准目标的聚焦图像202传输到计算设备106之前,可以调整相机102的焦距。

调整相机102的焦距可以导致围绕相机102的场景的不同组成部分焦点对准。图1b是根据示例实施例的系统100的图示,其中相机102具有不同的焦距(例如,在调整了相机102的焦距之后)。如图所示,可以调整相机102的焦距,使得感兴趣对象108被焦点对准(即,相机102的焦距可以等于第一距离001加上第二距离002)。除了调整相机102的焦点之外或代替调整相机102的焦点,还可以修改相机102的透镜。透镜的焦距可以被手动地(例如,由相机102的操作者)或以自动方式(例如,使用相机102的自动聚焦能力)来修改。在替代实施例中,可以换出而不是调整透镜。例如,可以用具有更长焦距的透镜来代替相机102的透镜(例如,在诸如具有处于距相机102的大距离的感兴趣对象108从而使得使用长焦距透镜的实施例的一些实施例中,透镜可以近似准直仪)。在一些实施例中,可以在调整焦点的同时维持校准目标104相对于相机102的位置(例如,校准目标104和相机102之间的距离可以等于第一距离001)。附加地或可替代地,可以在调整焦点的同时维持感兴趣对象108相对于相机102的位置(例如,校准目标104和相机102之间的距离可以等于第一距离001加上第二距离002)。

图1e图示了在被聚焦于感兴趣对象108上之后的相机102的示例实施例。如图所示,相机102可以包括图像传感器120和第二透镜124。同样如图所示,相机102的焦距等于第一距离001加上第二距离002。第二透镜124可以是图1d中所示的第一透镜122的不同构造或位置。换句话说,第二透镜124可以是与第一透镜122相同的物理透镜(例如,同一片玻璃或塑料),但是仅在相机102内移动到不同的位置或角度和/或在相机102内以不同的方式被弯曲/拉伸。附加地或可替代地,第二透镜124可以已经被添加到相机102或被换入(例如,代替第一透镜122),以便获得与第一距离001加上第二距离002对应的相机102的焦距。另外,在一些实施例中,第二透镜124可以是静态的(例如,可以是不可调整的)。

在校准目标104处于前景中并且感兴趣对象108焦点对准的情况下,校准目标104的校准图像可以再次由相机102捕获。因为校准目标104在这个校准图像中离焦(例如,模糊),所以这个校准图像在本文中可以被称为“校准目标的未聚焦图像”。在图2b中图示了校准目标的未聚焦图像204的示例实施例。如图所示,校准目标104在前景中离焦(并因此模糊)并且感兴趣对象108在背景中被焦点对准。如图所示,如在校准目标的未聚焦图像204中所反映的,校准目标104可以占据相机102的视场的约25%。这可以构成相机102的视场的实质性部分。在其它实施例中,校准目标104可以占据相机102的视场的多于或少于25%(例如,相机102的视场的1%、5%、10%、15%、20%、30%、35%、40%、45%、50%、55%、60%、65%、70%、75%、80%、85%、90%、95%或99%)。

例如,校准目标的未聚焦图像204也可以从相机102传输到计算设备106。在各种实施例中,可以在校准目标的聚焦图像202之前、与校准目标的聚焦图像202一起或在校准目标的聚焦图像202之后将校准目标的未聚焦图像204传输到计算设备106。

在还有其它实施例中,为了捕获校准目标的未聚焦图像204,而不是调整相机102以使其具有第一距离001加上第二距离002的焦距,相机102可以替代地聚焦到无穷远或聚焦到如此远距离处的点使得其近似无穷远。当感兴趣对象108位于距相机102大距离(例如,大于50米、大于100米、大于500米、大于1千米、大于5千米等)处时或者当针对其校准相机102的距离与第一距离001(即,相机102和校准目标104之间的距离)相比非常大时(例如,大于50米、大于100米、大于500米、大于1千米、大于5千米等的距离),可以使用这样的实施例。例如,在这样的实施例中,距离001可以在5米和10米之间、10米和20米之间、20米和30米之间、30米和40米之间、40米和50米之间等。

可以通过换入具有长焦距的透镜来完成将相机102聚焦到无穷远或近似无穷远的位置。可替代地,如图1f中所示,可以代替透镜或除透镜之外将准直仪126插入相机102。准直仪126可以包括曲面反射镜和/或曲面透镜。例如,抛物面透镜可以被用于将来自场景的平行光聚焦到相机102的光检测器120的小点上,从而近似具有无限焦距的透镜。

捕获的校准图像(例如,校准目标的聚焦图像202和校准目标的未聚焦图像204)可以被用于评估相机102的特征(例如,失真系数、相机矩阵、透镜位置/朝向、图像传感器位置/朝向、孔径位置/朝向等)。一旦(例如,基于针孔相机模型)确定了相机102的特征,就可以解释任何缺陷或不规则性。解释缺陷或不规则性可以包括修改相机102的孔径(例如,扩展或收缩相机102的膜片)、调整相机102的一个或多个透镜的位置、调整相机102的一个或多个图像传感器的位置、修改图像的曝光时间、改变由相机102捕获的图像分辨率、或对由相机102捕获的图像执行后处理以校正缺陷/不规则性(例如,通过估计诸如焦距或径向失真的参数,以校正从场景到捕获的图像上的投影)。附加地或可替代地,解释任何缺陷或不规则性可以允许计算设备(例如,执行对象识别算法的处理器)基于由相机102捕获的未来校准图像内对象(例如,感兴趣对象108)的视在位置来确定对象(例如,感兴趣对象108)的精确位置。

使用这种校准技术的校准可以使各种相机受益。例如,可以根据这种技术来校准作为用于导航或对象识别(例如,用于计算机视觉)的自主车辆的组件的相机。另外,使用这种技术校准的相机可以具有各种不同的特征(例如,变化的焦距、透镜类型、图像传感器等)。这种校准技术可以被用于校准数码相机(即,以电或磁方式将图像存储为一系列位的相机)(诸如具有ccd或cmos图像传感器的数码相机),或校准胶卷相机(即,以化学方式将图像存储在照相胶卷条上的相机)。

在从相机102接收到校准目标的聚焦图像202之后,计算设备106可以将校准目标的聚焦图像202存储在数据存储装置114中。另外,计算设备106可以执行校准过程的一部分。校准过程的该部分可以包括确定校准目标104的一个或多个校准点在校准目标的聚焦图像202内的近似位置302。如图3a中所示,一个或多个校准点的近似位置302可以与校准目标104上的基准标记的角点或交叉点(例如,棋盘图案的角点)对应。附加地或可替代地,所确定的近似位置302可以与校准目标202上的基准标记的边缘或角点对应。

近似位置302可以由计算设备106使用校准点确定算法来确定。例如,如果校准目标的聚焦图像202内的校准目标的基准标记被布置为棋盘图案,如在图3a的实施例中,那么数据存储装置114可以包括角点检测算法。角点检测算法可以包括以下中的一项或多项,例如:moravec角点检测算法、harris和stephens角点检测算法、plessey角点检测算法、shi-tomasi角点检测算法、角点检测算法、多尺度harris算子、wang和brady角点检测算法、最小单值段同化核(smallestunivaluesegmentassimilatingnucleus,susan)角点检测算法、trajkovic和hedley角点检测算法,以及基于由加速段测试(acceleratedsegmenttest,ast)确定的特征的角点检测算法。可以包括其它角点检测和/或边缘检测算法。可以由处理器112对校准目标的聚焦图像202执行这种角点检测算法,以确定校准点的一个或多个近似位置302。每个近似位置302可以包括相应校准点在校准目标的聚焦图像202内的水平位置(例如,到最近的像素)和垂直位置(例如,到最近的像素)。在一些实施例中,角点检测算法可以包括opencv库中的findchessboardcorners()命令(例如,如果校准目标202包括棋盘图案)。

可替代地,可以使用人在回路(human-in-the-loop)过程来确定近似位置302。例如,可以通过计算设备106的输入/输出功能118来显示校准目标的聚焦图像202。然后,基于从用户接收到的输入(例如,定点并点击、触摸屏上的触摸、可听命令、手势命令等),计算设备106可以接收近似位置302中的一个或多个在校准目标的聚焦图像202内位于何处的指示。

另外,在从相机102接收到校准目标的未聚焦图像204之后,计算设备106可以将校准目标的未聚焦图像204存储在数据存储装置114中。此外,计算设备106可以执行校准过程的附加部分。校准过程的该附加部分可以包括确定校准目标104的一个或多个校准点在校准目标的未聚焦图像204内的细化的位置304。如图3b中所示,一个或多个校准点的细化的位置304可以与校准目标104上的基准标记的角点或交叉点对应。附加地或可替代地,确定的细化的位置304可以与校准目标104上的基准标记的边缘或角点对应。

更进一步,可以基于使用校准目标的聚焦图像202确定的一个或多个校准点的一个或多个近似位置302来确定细化的位置304(例如,除了使细化的位置304基于校准目标的未聚焦图像204之外)。可替代地,可以由计算设备304基于一个或多个人在回路选择来确定细化的位置304。例如,可以通过计算设备106的输入/输出功能118来显示校准目标的未聚焦图像204。然后,基于从用户接收到的输入(例如,定点并点击、触摸屏上的触摸、可听命令、手势命令等),计算设备106可以接收校准点在校准目标的未聚焦图像204内的近似位置的指示。然后,计算设备106可以基于校准目标的未聚焦图像204内的人选择的近似位置来确定细化的位置304。

在一些实施例中,可以由计算设备106使用角点细化算法来确定细化的位置304。例如,如果校准目标的未聚焦图像204内的校准目标104的基准标记被布置为棋盘图案,如在图3b中所示的实施例中那样,那么数据存储装置114可以包括用于与棋盘图案一起使用的角点细化算法。例如,可以由处理器112执行存储在数据存储装置114中的角点细化算法,以确定细化的位置304。

在一些实施例中,角点细化算法可以包括opencv库中的cornersubpix()命令。照此,在一些实施例中,校准点在校准目标的未聚焦图像204内的细化的位置304可以包括每个校准点的子像素位置(例如,在校准目标的未聚焦图像204内的水平子像素位置和/或垂直子像素位置)。与(例如,如使用角点检测算法基于校准目标的聚焦图像202所确定的)由整数像素位置所提供的位置相比,这样的子像素位置可以提供对棋盘角点在校准目标的未聚焦图像204内位于何处的更准确的确定。

cornersubpix()命令或其它类似命令可以包括使用一系列操作确定子像素位置。一个操作可以包括定义一系列点积,每个点积取在第一向量和第二向量之间。每个点积中的第一向量可以被定义为在角点位置附近某处的点p与作为整数角点位置(例如,使用校准目标的聚焦图像202由角点检测算法确定的角点的整数位置)的点q之间的差。每个点积中的第二向量可以被定义为在角点位置附近的点p处的强度的梯度(例如,当使用棋盘校准目标104时在白色和黑色之间的亮度强度的梯度)。

然后,可以将这些点积中的每一个设置为等于零,以创建方程组。假设坐标q(角点的位置)等于角点的适当坐标(例如,以在校准目标的未聚焦图像204内的x和y坐标),那么点积应当等于零。这是因为,当点p处于非边缘区域中(例如,在校准目标的未聚焦图像204内完全被黑色像素包围的区域中或完全被白色像素包围的区域中)时,强度的梯度为零。因此,点积将为零,因为点积中的向量之一为零。在另一种情况下,其中点p位于边缘区域中(例如,在点p的一侧为黑色像素而点p的另一侧为白色像素的区域中),点积为零,因为再次假设点q在其适当的子像素位置中,强度的梯度(即,第二向量)垂直于点p和点q之间的向量(即,第一向量)。使用由一系列点积定义的方程组,可以确定点q的子像素位置(即,角点的子像素位置)(例如,通过求解点q的方程组和/或基于组中的每个方程细化点q的子像素坐标)。

在一些实施例中,这种角点细化过程可以被用于确定在校准目标的未聚焦图像204内存在的多个角点的子像素位置。例如,可以使用这种角点细化算法来确定校准目标104上的棋盘图案中的每个角点的子像素位置。这种或其它角点细化算法最初可能旨在与单个聚焦的校准图像(例如,棋盘校准目标被焦点对准的图像)一起使用。例如,上述角点细化算法可以被用于基于使用角点检测算法确定的整数像素位置来确定校准点在校准目标的聚焦图像202内的子像素位置。但是,这种或其它角点细化算法可以是稳健的(即,即使当校准图像的质量降级或以其它方式不完美时,也可以被用于产生准确的结果)。由此,这种或其它角点细化算法可以被用于确定校准点在模糊的校准图像内(例如,当与使用校准目标的聚焦图像202确定的校准点的近似位置302耦合时,在校准目标的未聚焦图像204内)的子像素位置。

因为角点细化算法可以是稳健的,所以即使校准目标的未聚焦图像204内的角点位置也可以被确定到子像素准确度。因此,可以使用当相机102被聚焦到等于第一距离001加上第二距离002的距离(即,聚焦到距相机的大距离)时捕获的图像来识别相机102内的像差(例如,失真)。例如,将使用角点细化算法确定的在校准目标的未聚焦图像204内确定的细化的位置304(即,校准点的子像素位置)与校准目标104上的校准点的已知物理位置(例如,基于校准目标104的制造而已知)进行比较可以指示在相机102内(例如,在相机102的透镜内)何处以及何种程度上存在失真。因此,使用这种技术,即使对于相对小的失真和对于相对大的目标距离,也可以对相机102执行准确的校准。

本文设想的技术可以提供对常规技术的改进,常规技术仅使用校准目标104的焦点对准图像,其中所述校准目标104占据了相机102的视场的大部分。在这样的常规技术中,当相对于相机102的校准距离大(例如,大于10米、大于50米、大于100米、大于200米、大于300米、大于400米、大于500米、大于1千米、大于2千米、大于5千米、大于10千米等)时,为了使校准目标104占据相机102的视场的大部分,校准目标104相当大(例如,15米乘以5米)。在捕获校准图像之前,这种校准目标可能难以制造、运输和/或定位。但是,本文设想的多阶段校准技术通过允许使用较小的校准目标(例如,通过将校准目标放置得更靠近相机)而提供了对常规校准技术的技术改进。

在其它实施例中,可以使用不包括角点细化算法的方法来确定图3b所示的细化的位置304。例如,在校准目标104不包括棋盘图案的实施例中,可以使用其它细化算法(例如,估计校准图像中存在的一个或多个椭圆的参数的线性算子,或用于以子像素准确度定位圆形或矩形场的辐射中心的基于hough变换(ht)的计算机算法)。

图1a和1b中所示的校准系统100和/或本文所设想的校准技术可以被用于在制造设施处校准相机(例如,相机102)。例如,在相机102的制造完成之后,可以使用校准目标104来校准相机102的图像传感器和/或相机102的透镜。附加地或可替代地,在组装或安装相机时,校准目标104可以被用于校准一个或多个相机。例如,当图像传感器和透镜一起组装在壳体内以形成数码相机时(例如,在膝上型计算机或移动电话中),可以对数码相机组件进行校准。在还有其它实施例中,当相机102在使用中时,校准目标104可以被用于校准相机102。例如,如果相机102被用于车辆上(例如,自主车辆或以自主或半自主模式操作的车辆上)的导航和/或对象检测和避让,那么可以将校准目标104定位在车库的出口、停车位、广告牌上或路面本身上,使得在使用车辆的同时可以执行校准。这种校准可以包括对先前的校准状态的验证(即,“检查”校准)。如果相机102未通过这种验证,那么相机102和/或整个车辆可以永久地或暂时地停用(例如,直到执行维修为止)。如果相机102被停用,那么可以采用冗余的备用相机。

此外,用于校准的系统100还可以包括用于相对于校准目标104(例如,逐步地)平移和/或(例如,逐步地)旋转相机102(例如,以从多个相机角度捕获多个校准图像)的工作台(stage)。该工作台可以由计算设备106的处理器112通过例如执行存储在数据存储装置114内的指令集来控制。可以执行指令集以相对于校准目标104将工作台从一个相机视角步进到下一个相机视角。相机102可以在每个步骤之间或期间捕获校准图像(例如,如由处理器112所控制的)。

在还有其它实施例中,不是在捕获校准目标的聚焦图像202和校准目标的未聚焦图像204之间调整相机102的焦距,而是可以使用两个分开的相机。每个相机可以聚焦到不同的深度(例如,第一相机聚焦到第一距离001,而第二相机聚焦到第一距离001加上第二距离002)。另外,每个相机然后可以捕获校准目标104的校准图像(例如,第一相机捕获校准目标的聚焦图像,而第二相机捕获校准目标的未聚焦图像)。可以在后处理中解释两个相机之间的任何视角的差异(例如,通过计算设备106的处理器112执行存储在数据存储装置114内的指令)。然后,可以以与上述相同的方式使用两个校准图像来确定校准点的细化的位置304。

图4是根据示例实施例的lidar系统490的框图图示。lidar系统490包括发送器492和接收器494。lidar系统490可以在自主车辆(例如,自动驾驶汽车、自主无人机、自主卡车、自主船只、自主潜艇、自主直升机等)或以自主模式或半自主模式操作的车辆内被用于导航和/或对象检测和避让。在示例实施例中,lidar系统490可以向车辆提供点云信息、对象信息、地图测绘信息或其它信息。可替代地,lidar系统490可以被用于其它计算机视觉目的。

可以使用相机(例如,使用根据本文设想的校准技术预先校准的相机)来校准lidar系统490。例如,在完成多级相机校准技术时,可以定位、调整或以其它方式更改lidar系统490的部分以解释在多阶段相机校准期间确定的校准数据。

发送器492可以被配置为发射光。例如,发送器492可以包括激光器或led。在一些实施例中,可以以预定频率调制由发送器492发射的光。另外,由发送器492发射的光可以(例如,在波长或偏振方面)与接收器494的灵敏度对应。例如,如果接收器494包括带通彩色滤光器,那么发送器492可以发射一定波长的光,使得该光可以穿过接收器494的带通彩色滤光器。

接收器494可以被配置为检测光(例如,检测从发送器492发射的光)。在一些实施例中,接收器494可以包括一个或多个光电检测器(例如,雪崩光电二极管(apd)或硅光电倍增管(sipm))。接收器494可以包括除光电检测器之外的组件,诸如透镜、工作台、滤光器、计算设备等。如上所述,接收器494可以对由发送器492发射的光敏感(例如,在波长或偏振方面)。例如,接收器494可以包括被配置为阻挡水平偏振光但使垂直偏振光通过的偏振滤光器,其中仅垂直偏振光从发送器492发射。以这种方式,接收器494可以消除由来自除了发送器492之外的源的杂散光产生的噪声。在一些实施例中,接收器494可以被配置为检测以与发送器492的调制频率对应的频率调制的光。

在示例实施例中,可以从发送器492发射信号。该信号可以被场景内的对象散射,并因此被lidar系统490的接收器494(例如,被接收器494内的一个或多个光检测器)检测,以分析场景(例如,以确定对象的形状或对象距lidar系统490的距离)。lidar系统490可以被配置为例如向计算机设备提供关于外部环境中的一个或多个对象(例如,位置、形状等)的信息(例如,点云数据)。

在一些实施例中,可以根据由相机系统(例如,图1a和1b中所示的系统100)捕获的数据来调整或修改lidar系统490。例如,可以根据本文所示和描述的相机校准过程中的一个或多个来校准系统100。然后,使用经校准的系统100,可以由系统100的相机102从相对于场景的给定视角(例如,三维位置和朝向)捕获场景的一个或多个图像。此后,lidar系统490可以从与相机102的视角相同的视角生成相同场景的地图。

可以将场景的地图与由相机102捕获的场景的一个或多个图像进行比较,以确定场景的地图的准确度。确定场景的地图的准确度可以包括识别lidar系统490中的任何像差(例如,失真)(例如,由于lidar系统490中的发送器492和/或接收器494的不完美光学器件引起的)。例如,如果在由校准的相机102捕获的一个或多个图像中看起来共线的场景的一个或多个特征在由lidar系统490生成的场景的地图中看起来非共线,那么可以识别出失真(例如,lidar系统490的透镜可能失真)。

基于识别出的像差,可以调整lidar系统490的组件以解释像差(即,可以对lidar系统490进行校准/修改)。解释像差可以包括将发送器492中的光学器件换成其它光学器件(例如,用新的透镜或反射镜代替旧的透镜或反射镜)、将接收器494中的光学器件换成其它光学器件(例如,用新的透镜或反射镜代替旧的透镜或反射镜)、应用数字图像处理算法以消除生成的地图中引起的像差、调整发送器492中的光学器件、调整接收器494中的光学器件、在发送器492中添加光学器件、在接收器494中添加光学器件、调整发送器492的位置、调整接收器494的位置等。以这种方式,可以通过使用由经校准的系统100捕获的图像作为“地面真相”来解释lidar系统490中的不完美。

本文所设想的校准技术可以包括确定一个或多个失真系数。附加地或可替代地,本文所设想的校准技术可以包括计算在与相机102对应的相机矩阵中的一个或多个值。例如,相机矩阵可以基于相机的针孔相机模型。为了确定与相机相关联的相机矩阵,可以从不同的视角捕获校准目标104的一系列校准图像。例如,如下面参考图5a至5d所示和描述的,可以由相机102捕获具有多个聚焦条件的校准目标104的多个朝向的多个校准图像。

在一些实施例中,可以相对于相机以第一角度捕获校准目标104的第一校准图像,然后可以将相机102重新定向(或者可以将校准目标104重新定向),使得相机102相对于校准目标104处于第二角度,并且可以捕获第二校准图像。以这种方式,可以使用相对于校准目标104的两个不同的相机角度(例如,在确定相机矩阵时)。移动/重新定向相机102和/或校准目标104以捕获多个校准图像的这种方法可以允许使用较小的校准目标来模拟较大的校准目标,使用单个校准目标对相机102的视场的多个区域的校准,和/或使用单个校准目标对相对于相机102的多个角度或深度的校准。

图5a-5d图示了系统500和感兴趣对象108的布置。系统500可以类似于图1a和1b中所示的系统100。例如,系统500可以包括相机102、校准目标104和计算设备106。但是,系统500也可以包括可以在其上放置校准目标104的第一支架502和第二支架504。在各种实施例中,第一支架502和第二支架504可以相对于相机102定位在不同的高度、深度和/或角度处。在一些实施例中,第一支架502和第二支架504可以是画架、工作台、平台或其它框架,校准目标104可以被临时或永久地附接到其上。

图5a-5d的布置可以用于多阶段校准的方法中,该方法包括相机102捕获四个校准图像,而不是如上所述的两个校准图像。随后可以将四个校准图像(例如,单独地或作为组)传输到计算设备106。应该理解的是,在其它实施例中,可以使用除两个和四个以外的数量的校准图像(例如,三个、五个、六个、七个、八个、九个、十个或任何其它数量的校准图像)。更进一步,在一些实施例中,可以仅使用一个校准图像。例如,在一些实施例中,相机102可以具有像散的透镜(即,在不同方向上具有不同焦距的透镜)。照此,由那个相机102捕获的校准图像的部分可以焦点对准,而同一校准图像的其它部分离焦。因此,(例如,单个校准目标的)单个校准图像可以模拟图2a和2b上两个校准图像的合成(例如,校准目标102和感兴趣对象108都可以在同一校准图像中焦点对准)或图6a-6d的四个校准图像的合成。

图5a和5b中所示的两个布置可以模仿图1a中所示的布置,但是校准目标104相对于相机102具有多个角度、位置和高度。类似地,图5c和5d中所示的两个布置可以模仿图1b中所示的布置,但是校准目标104相对于相机102具有多个角度、位置和高度。与图5b和5d的布置相比,在图5a和5c的布置中,校准目标104占据相机102的视场的不同部分。因此,例如,图5a-5d的布置可以允许使用比图1a和1b的布置中使用的校准目标更小的校准目标。附加地或可替代地,这可以允许使用单个校准目标对相对于相机102的多个角度或者对相机102的视场的不同区域的校准。校准目标104相对于相机102的多个角度可以提供例如用在多平面棋盘校准中使用的校准图像。

在图5a中,校准目标104定位在第一支架502上,该第一支架502相对于相机102处于第一角度和第一深度处。例如,相对于相机102的第一深度可以等于第一距离001。另外,如图5a中所示,相机102可以具有等于第一距离001的焦距。使用图5a中所示的布置,第一校准图像可以由相机102捕获。示例第一校准图像在图6a中示出。因为校准目标104在第一校准图像中焦点对准(例如,因为相机102的焦距等于相机102距第一支架502的距离),所以第一校准图像可以被称为第一聚焦校准图像602。

在图5b中,校准目标104定位在第二支架504上,该第二支架504相对于相机102处于第二角度和第一深度处。如上所述,相对于相机102的第一深度可以等于第一距离001。另外,如图5b中所示,相机102可以具有等于第一距离001的焦距。使用图5b中所示的布置,第二校准图像可以由相机102捕获。示例第二校准图像在图6b中示出。因为校准目标104在第二校准图像中焦点对准(例如,因为相机102的焦距等于相机102距第二支架504的距离),所以第二校准图像可以被称为第二聚焦校准图像604。

在图5c中,校准目标104再次定位在第一支架502上,该第一支架502相对于相机102处于第一角度和第一深度处。例如,相对于相机102的第一深度可以等于第一距离001。另外,可以修改相机102的焦距,使得焦距等于第一距离001加上第二距离002(例如,可以修改相机102的焦距,使得焦距等于感兴趣对象108的范围)。使用图5c中所示的布置,可以由相机102捕获第三校准图像。示例第三校准图像在图6c中示出。因为校准目标104在第三校准图像中离焦(例如,因为相机102的焦距等于相机102距感兴趣对象108的距离),所以第三校准图像可以被称为第一未聚焦校准图像606。

在图5d中,校准目标104再次定位在第二支架504上,该第二支架504相对于相机102处于第二角度和第一深度处。例如,相对于相机102的第一深度可以等于第一距离001。另外,相机102的焦距可以等于第一距离001加上第二距离002(例如,相机102的焦距可以等于感兴趣对象108的范围)。使用图5d中所示的布置,可以由相机102捕获第四校准图像。示例第四校准图像在图6d中示出。因为校准目标104在第四校准图像中离焦(例如,因为相机102的焦距等于相机102距感兴趣对象108的距离),所以第四校准图像可以被称为第二未聚焦校准图像608。

在捕获第二聚焦校准图像604之后,并且在捕获第一未聚焦校准图像606之前,可以调整相机102的焦距(例如,通过修改相机102的透镜的焦距)。如先前参考图1a和1b所描述的,可以手动地(例如,由修改透镜和相机102的图像传感器之间的物理间隔的相机102的操作者)或以自动方式(例如,使用相机102的自动聚焦能力)修改透镜的焦距。在替代实施例中,可以换出而不是调整透镜。例如,可以用具有给定焦距(例如,等于第一距离001加上第二距离002的焦距)的透镜代替相机102的透镜。

此外,在捕获第一聚焦校准图像602之后,并且在捕获第二聚焦校准图像604之前,可以将校准目标104从第一支架502转移到第二支架504。可替代地,在一些实施例中,可以仅存在单个支架,该单个支架从第一位置移动到第二位置。例如,支架可以在从第一位置移动到第二位置的台车或工作台上。相反,在捕获第二聚焦校准图像604之后并且在捕获第一未聚焦校准图像606之前,可以将校准目标104从第二支架504转移到第一支架502。更进一步,在捕获第一未聚焦校准图像606之后并且在捕获第二未聚焦校准图像608之前,可以将校准目标104从第一支架502转移到第二支架504。

虽然以上参考图5a-5d描述了第一支架502和第二支架504,但是应该理解的是,在一些实施例中,可以使用多于两个支架(例如,三个支架、四个支架、五个支架、六个支架、七个支架、八个支架、九个支架、十个支架等)。在这样的实施例中,可以由相机102捕获多于两个聚焦校准图像和/或可以由相机102捕获多于两个未聚焦校准图像。例如,可以对于每个支架捕获校准目标的聚焦图像(例如,在支架上定位有校准目标104),并且可以对于每个支架捕获校准目标的未聚焦图像(例如,在支架上定位有校准目标104)。以这种方式,跨校准图像,相机104的视场的更大部分可以被校准目标104占据(例如,不使用更大的校准目标)。在一些实施例中,校准目标的每个聚焦图像可以被合成为校准目标的单个聚焦图像,和/或校准目标的每个未聚焦图像可以被合成为校准目标的单个未聚焦图像。类似于具有多个支架的实施例,在代替地包括台车或可平移和/或可旋转工作台以捕获校准目标104的多个位置/朝向的实施例中,可以使用校准目标104相对于相机的多于两个位置/朝向。

如上所述,可以按以下次序捕获校准图像:校准目标的第一聚焦图像602、校准目标的第二聚焦图像604、校准目标的第一未聚焦图像606和校准目标的第二未聚焦图像608。在替代实施例中,可以以不同次序捕获四个校准图像。例如,可以按以下次序捕获校准图像:校准目标的第一聚焦图像602、校准目标的第一未聚焦图像606、校准目标的第二聚焦图像604和校准目标的第二未聚焦图像608。以这种次序捕获校准图像可以减少校准目标104在第一支架502和第二支架504之间移动的次数,但是以增加修改相机102的焦距的次数为代价。

如上所述,在一些实施例中,代替在校准目标上使用棋盘图案,可以使用替代的基准标记来识别校准目标上的一个或多个校准点。在一些实施例中,基准标记仍可以以如下方式成形:可以将角点检测算法和/或角点细化算法应用于具有这样的基准标记的校准目标的捕获的校准图像。但是,在一些实施例中,可以使用替代的检测算法和/或细化算法。附加地或可替代地,校准目标上的基准标记的数量和布置可以跨不同的实施例变化。另外,在一些实施例中,多个不同类型的基准标记可以存在于单个校准目标上。更进一步,在各种实施例中,校准目标本身的尺寸和形状可以不同。图7a-7d中图示了替代校准目标的一些示例实施例。

图7a是根据示例实施例的校准目标702的图示。如图所示,校准目标702可以包括十字准线的阵列。十字准线可以成形为加号。在一些实施例中,除了或代替其它图中所示的棋盘校准目标104,图7a中所示的校准目标702可以被用于校准。

图7b是根据示例实施例的校准目标704的图示。如图所示,校准目标704可以包括x的阵列。x可以成形为旋转了45°的加号。在一些实施例中,除了或代替其它图中所示的棋盘校准目标104,图7b中所示的校准目标704可以被用于校准。

图7c是根据示例实施例的校准目标706的图示。如图所示,校准目标706可以包括人字形的阵列。在一些实施例中,除了或代替其它图中所示的棋盘校准目标104,图7c中所示的校准目标706可以被用于校准。

图7d是根据示例实施例的校准目标708的图示。如图所示,校准目标708可以包括相交线的阵列。例如,每条相交线可以相对于校准目标708本身的朝向成45°角。在其它实施例中,相交线可以代替地相对于校准目标708本身水平和垂直地定向。在一些实施例中,除了或代替其它图中所示的棋盘校准目标104,图7d中所示的校准目标708可以被用于校准。

在替代实施例中,不是使用单个固定的校准目标(例如,如图1a和1b中所示)或在多个位置之间移动的单个校准目标(例如,如图5a-5d中所示),而是多个校准目标可以用在如本文所示和描述的校准技术中。

在一些实施例中,可以使用完全相同的校准目标的多个实例。例如,可以使用图5a和5b中所示的棋盘校准目标104的两个实例。在这样的实施例中,校准目标104的实例之一可以定位在第一支架502上,并且校准目标104的一个实例可以定位在第二支架504上。然后,相机102可以同时捕获两个校准目标的聚焦图像(例如,使用等于第一距离001的焦距)。两个校准目标的这种聚焦图像可以是图6a中所示的校准目标的第一聚焦图像602和图6b中所示的校准目标的第二聚焦图像604的合成。照此,在本文所示和描述的校准方法中,单个聚焦校准图像可以代替两个校准图像。

在一些实施例中,可以一起使用不同类型的校准目标。例如,可以使用在其上具有不同形状、不同尺寸、不同类型的基准标记和/或在其上具有基准标记的不同布置的多个校准目标。在这样的实施例中,可以使用不同类型的校准目标中的每一个来针对相机的不同方面进行校准。例如,第一校准目标可以具有用于检测失真(例如,桶形失真或枕形失真)的基准标记,并且第二校准目标可以具有用于检测色失真(chromaticdistortions)的基准标记(例如,变化的颜色的基准标记)。在具有多种类型的校准目标的实施例中,每个校准目标可以具有用于识别的一个或多个指示器。用于识别的一个或多个指示器可以允许处理器(例如,执行存储在计算设备内的数据存储装置中的校准方法)唯一地识别存在于包括多种类型的校准目标的校准图像中的每种类型的校准目标。在各种实施例中,指示器可以包括以下中的一项或多项:用于在相应的校准目标上进行识别的特定类型的基准标记(例如,条形码、quickresponse(快速响应)码等)、相应的校准目标上的特定类型的识别文本(例如,识别(id)号或id字)、用于相应的校准目标上的校准的特定类型的基准标记、用于相应的校准目标上的校准的基准标记的特定布置、相应的校准目标的特定着色、相应的校准目标上的基准标记的特定着色、相应的校准目标的尺寸、相应的校准目标的形状或相应的校准目标相对于相机的朝向。

iii.示例过程

图8是根据示例实施例的方法800的流程图。例如,方法800可以由图1a中所示的系统100执行。

在一些实施例中,图8的一个或多个方框可以由计算设备(例如,图1c中所示的计算设备106)执行。该计算设备可以包括计算组件,诸如非易失性存储器(例如,硬盘驱动器或rom)、易失性存储器(例如,随机存取存储器(ram),诸如动态随机存取存储器(dram)或静态随机存取存储器(sram))、用户输入设备(例如,鼠标或键盘)、显示器(例如,led显示器或液晶显示器(lcd))和/或网络通信控制器(例如,基于ieee802.11标准的控制器或以太网控制器)。例如,计算设备可以执行存储在非暂态计算机可读介质(例如,硬盘驱动器)上的指令,以执行本文设想的一个或多个操作。

在方框802处,方法800可以包括相对于相机定位校准目标,使得校准目标和相机之间的间隔与相机的焦距对应。

在方框804处,方法800可以包括由相机捕获校准目标的聚焦图像。

在方框806处,方法800可以包括确定校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置。

在方框808处,方法800可以包括调整相机的焦距,使得相机的经调整的焦距大于校准目标和相机之间的间隔。

在方框810处,方法800可以包括由相机捕获校准目标的未聚焦图像。

在方框812处,方法800可以包括基于校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置来确定校准目标的校准点在校准目标的未聚焦图像内的一个或多个细化的位置。

在方框814处,方法800可以包括基于校准目标的校准点的一个或多个细化的位置来校正相机内的一个或多个光学像差。

在方框814的一些实施例中,校正相机内的一个或多个光学像差可以包括调整或改变相机的一个或多个光学元件。改变相机的一个或多个光学元件可以与以下对应:修改相机的透镜(例如,调整透镜的焦距)、交换相机的透镜(例如,交换成具有不同光学特性的替代透镜)、将透镜应用于相机(例如,将准直透镜应用于相机)、移除相机的透镜(例如,将准直透镜从相机移除),将彩色滤光器应用于相机、从相机移除彩色滤光器、调整相机的彩色滤光器(例如,调整带通彩色滤光器的通带)、交换相机的彩色滤光器(例如,将具有给定的透射波长范围的彩色滤光器互换为具有不同的透射波长范围的彩色滤光器)、将中性密度滤光器应用于相机、从相机移除中性密度滤光器、调整相机的中性密度滤光器(例如,调整相机的中性密度滤光器的分数透射率)、交换相机的中性密度滤光器(例如,将具有给定的分数透射率的中性密度滤光器交换为具有不同分数透射率的中性密度滤光器)、将偏振滤光器应用于相机、从相机移除偏振滤光器、调整相机的偏振滤光器(例如,调整偏振滤光器透射哪些偏振和/或偏振滤光器阻挡哪些偏振)、交换相机的偏振滤光器(例如,将透射水平偏振光的偏振滤光器互换为透射垂直偏振光的偏振滤光器),等等。

在一些实施例中,方法800还可以包括,在校正相机内的一个或多个光学像差之后,捕获用于校准lidar系统的校准图像。lidar系统可以包括发送器和接收器。另外,方法800可以包括基于用于lidar系统的校准图像来调整lidar系统的发送器或接收器中的至少一个的位置或朝向。

在方框806的一些实施例中,校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置可以包括校准目标的聚焦图像内的水平整数像素位置和垂直整数像素位置。

在方框812的一些实施例中,校准目标的校准点在校准目标的未聚焦图像内的一个或多个细化的位置可以包括校准目标的未聚焦图像内的水平子像素位置和垂直子像素位置。

在方框814的一些实施例中,相机内的一个或多个光学像差可以包括筒形失真、枕形失真、胡须失真、彗形像差、倾斜、像散或球面像差。

在方框804的一些实施例中,校准目标可以按面积占据校准目标的聚焦图像的至少约50%。类似地,在方框810的一些实施例中,校准目标可以按面积占据校准目标的未聚焦图像的至少约50%。

在方框814的一些实施例中,校正相机内的一个或多个光学像差可以包括基于针孔相机模型来估计与相机对应的相机矩阵的一个或多个参数。

在方框802的一些实施例中,相对于相机定位校准目标可以包括使相机自动聚焦,以便修改相机的焦距,使得相机的焦距匹配校准目标和相机之间的间隔。

在方框806的一些实施例中,使用角点检测算法来确定校准目标的校准点在校准目标的聚焦图像内的近似位置。

在方框806的一些实施例中,基于对校准目标的聚焦图像内的一个或多个位置的人在回路选择来确定校准目标的校准点在校准目标的聚焦图像内的近似位置。

在方框814的一些实施例中,校正相机内的一个或多个光学像差可以包括对由相机捕获的一个或多个图像执行图像处理,以解释一个或多个光学像差。另外,在一些实施例中,对由相机捕获的一个或多个图像执行图像处理以解释一个或多个光学像差可以包括基于校准点的一个或多个细化的位置来估计与校准目标的未聚焦图像内的直线(rectilinear)投影的偏差。此外,对由相机捕获的一个或多个图像执行图像处理以解释一个或多个光学像差可以包括修改由相机捕获的一个或多个图像以解释与直线投影的偏差。

在方框806的一些实施例中,使用moravec角点检测算法、harris和stephens角点检测算法、plessey角点检测算法、shi-tomasi角点检测算法、角点检测算法、多尺度harris算子、wang和brady角点检测算法、最小单值段同化核(susan)角点检测算法,trajkovic和hedley角点检测算法或基于加速段测试(ast)确定的特征的角点检测算法中的至少一种来确定校准目标的校准点在校准目标的聚焦图像内的一个或多个近似位置。

在一些实施例中,相对于相机定位校准目标可以包括将校准目标定位在第一位置处。类似地,捕获校准目标的聚焦图像可以包括捕获在第一位置处的校准目标的聚焦图像。进一步类似地,捕获校准目标的未聚焦图像可以包括捕获在第一位置处的校准目标的未聚焦图像。另外,方法800还可以包括将校准目标定位在第二位置处,使得校准目标和相机之间的间隔与相机的焦距对应。此外,方法800可以包括由具有焦距的相机捕获在第二位置处的校准目标的附加聚焦图像。更进一步,方法800可以包括确定校准目标的校准点在校准目标的附加聚焦图像内的一个或多个附加近似位置。此外,方法800可以包括由具有经调整的焦距的相机捕获在第二位置处的校准目标的附加未聚焦图像。更进一步,方法800可以包括基于校准目标的校准点在校准目标的附加聚焦图像内的一个或多个附加近似位置来确定校准目标的校准点在校准目标的附加未聚焦图像内的一个或多个附加细化的位置。甚至更进一步,校正相机内的一个或多个光学像差还可以基于校准目标的校准点的一个或多个附加细化的位置。

在一些实施例中,将校准目标定位在第一位置处可以包括将校准目标放置在第一支架上。第一支架可以定位在相对于相机的第一高度处并且在相对于相机的第一角度处。另外,将校准目标定位在第二位置处可以包括将校准目标放置在第二支架上。第二支架可以定位在相对于相机的第二高度处并且在相对于相机的第二角度处。相对于相机的第一高度可以不同于相对于相机的第二高度。此外,相对于相机的第一角度可以不同于相对于相机的第二角度。

在方框810的一些实施例中,由于相机的经调整的焦距,校准目标的未聚焦图像可能至少部分地模糊。

在方框812的一些实施例中,可以使用角点细化算法来确定校准目标的校准点在校准目标的未聚焦图像内的一个或多个细化的位置。

在一些实施例中,方法800可以包括确定校准图像(例如,校准目标的未聚焦图像204)内的校准点的细化的位置304与打印在校准目标104上的校准点的实际物理位置之间的相关性。在一些实施例中,可以基于用于在校准目标104上打印基准标记的一种或多种方法来建立校准目标104上的一个或多个基准标记的位置和识别(即,“地面真相”)(例如,基于用于打印校准目标104的二维图案的间距/强度)。基于这些确定的相关性,可以使用针孔相机模型来估计相机矩阵的参数。使用针孔相机模型可以包括使用所确定的相关性来确定表示相机102的孔径的针孔的三维位置。附加地或可替代地,校准相机102可以包括解释径向失真或切向失真。

使用一个或多个校准图像,可以优化相机参数(例如,与针孔相机模型对应的相机矩阵的参数)。这种优化可以与在将每个基准标记的三维位置映射到校准图像中的基准标记的二维位置时最小化的重新投影误差对应。

使用所确定的相关性来确定与相机102的孔径对应的针孔的三维位置可以是np难题。照此,在一些实施例中,一旦已经确定了针孔的位置,就可以执行附加的校准来确定与经校准的相机102相关联的相机矩阵是否仍然准确到给定程度内(例如,在相机可能已变得失谐的预定量的时间已经过去之后)。确定相机矩阵是否准确到给定程度内可以要求较少的计算,因为这种比较可能不是np难题(而相机矩阵的原始确定可能是)。

另外,使用捕获的校准图像来校准相机102可以包括确定相机102中的每个像素相对于相机102中的图像传感器的角度朝向。确定每个像素的角度朝向可以包括生成每个像素的角度的查找表。可替代地,确定每个像素的角度朝向可以包括生成描述角度的参数化(例如,基于两个、三个、四个、五个、六个、七个、八个、九个、十个等变量的参数化)。生成参数化可以比生成查找表在计算上较不密集。

在一些实施例中,该方法还可以包括相对于校准目标104旋转相机102并捕获附加校准图像。相对于校准目标104旋转相机102可以包括绕俯仰轴线(例如,绕x轴线)、绕侧倾轴线(例如,绕y轴线)、绕偏航轴线(例如,绕z轴线)或者绕选自俯仰轴线、侧倾轴线和偏航轴线的轴线叠加旋转相机102。旋转相机102可以允许从相对于校准目标104的不同的视角捕获一个或多个附加校准图像。附加地或可替代地,旋转相机102可以允许捕获附加校准图像,使得在该校准图像集合中捕获整个校准目标104。例如,如果基于相机102相对于校准目标104的位置,相机102的视场(在一个或多个维度上)比校准目标104窄,那么可以捕获校准目标104的多个校准图像,使得捕获整个校准目标104。

在一些实施例中,方法800还可以包括相对于校准目标104平移相机102并捕获附加校准图像。相对于校准目标104平移相机102可以包括平行于校准目标104在水平方向(例如,x方向)、平行于校准目标104在垂直方向(例如,z方向)或那些方向的叠加上平移相机102。平移相机102可以允许从相对于校准目标104的不同的视角捕获一个或多个附加校准图像。然后可以使用在平移相机102之前捕获的校准图像和在平移相机102之后从不同视角捕获的一个或多个附加校准图像两者来执行相机102的校准。

方法800还可以包括将校准图像裁剪为两个或更多个校准子图像(例如,在单个校准图像中存在多个校准目标的实施例中)。以这种方式,可以将校准目标隔离在校准子图像中并进行单独分析。每个校准子图像的这种单独分析可以解释以下事实:校准目标可以相对于相机102处于不同的角度和/或深度。

iv.结论

本公开不限于本申请中描述的特定实施例,其旨在作为各个方面的说明。如对于本领域技术人员将显而易见的,可以在不脱离其精神和范围的情况下进行许多修改和变化。除了本文所列举的方法和装置之外,根据前面的描述,本公开的范围内的功能等效方法和装置对本领域技术人员将是显而易见的。这样的修改和变化旨在落入所附权利要求的范围内。

上面的详细描述参考附图描述了所公开的系统、设备和方法的各种特征和功能。在附图中,除非上下文另外指出,否则相似的符号通常识别相似的组件。本文和附图中描述的示例实施例并不意味着是限制性的。在不脱离本文所呈现的主题的范围的情况下,可以利用其它实施例,并且可以进行其它改变。容易理解的是,可以以各种不同的配置来布置、代替、组合、分离和设计如本文一般地描述的以及在附图中示出的本公开的各方面,所有这些在本文都被明确地设想。

关于附图中以及如本文所讨论的任何或所有消息流程图(flowdiagram)、场景和流程图表(flowchart),每个步骤、方框、操作和/或通信可以表示根据示例实施例的信息的处理和/或信息的传输。替代实施例被包括在这些示例实施例的范围内。在这些替代实施例中,例如,被描述为步骤、方框、传输、通信、请求、响应和/或消息的操作可以不按所示出或所讨论的次序执行,包括基本上同时地或以相反的次序执行,这取决于所涉及的功能。另外,更多或更少的方框和/或操作可以与本文讨论的任何消息流程图、场景和流程图表一起使用,并且这些消息流程图、场景和流程图表可以部分或整体彼此组合。

表示信息的处理的步骤、方框或操作可以与可以被配置为执行本文描述的方法或技术的特定逻辑功能的电路对应。可替代地或附加地,表示信息的处理的步骤或方框可以与程序代码(包括相关数据)的模块、片段或一部分对应。程序代码可以包括处理器可执行的用于实现方法或技术中的特定逻辑操作或动作的一条或多条指令。程序代码和/或相关数据可以存储在任何类型的计算机可读介质上,诸如包括ram、盘驱动器、固态驱动器或另一种存储介质之类的存储设备。

计算机可读介质还可以包括非暂态计算机可读介质,诸如短时间段存储数据的计算机可读介质,如寄存器存储器和处理器高速缓存。计算机可读介质还可以包括将程序代码和/或数据存储更长时间段的非暂态计算机可读介质。因此,计算机可读介质可以包括例如次级或永久长期存储装置,如rom、光盘或磁盘、固态驱动器、光盘只读存储器(cd-rom)。计算机可读介质也可以是任何其它易失性或非易失性存储系统。例如,计算机可读介质可以被认为是计算机可读存储介质或有形存储设备。

而且,表示一个或多个信息传输的步骤、方框或操作可以与同一物理设备中的软件和/或硬件模块之间的信息传输对应。但是,其它信息传输可以在不同物理设备中的软件模块和/或硬件模块之间。

附图中所示的特定布置不应当被视为限制。应当理解的是,其它实施例可以包括更多或更少的给定图中所示的每个元件。另外,一些示出的元件可以被组合或省略。还有,示例实施例可以包括附图中未示出的元件。

虽然本文已经公开了各个方面和实施例,但是其它方面和实施例对于本领域技术人员将是显而易见的。本文所公开的各个方面和实施例是出于说明的目的,而不是旨在进行限制,其真实范围由所附权利要求指示。

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