本申请整体涉及相机阵列,并且更具体地讲,涉及相机阵列的动态校准。
背景技术:
由于每只眼睛的视野不同,对场景的双眼观察会产生场景的两个略微不同的图像。这些差异(称为双眼差异(或视差))所提供的信息可用于计算视景的深度,提供深度感知的主要手段。与立体深度感知相关的深度印象还可在其他条件下获得,诸如当观察者在运动的同时仅用一只眼观察场景时。可利用所观察到的视差获得场景中的对象的深度信息。可使用机器视觉中类似的原理来搜集深度信息。
隔开一距离的两个相机可拍摄相同场景的图片,并且可通过移位两个或更多个图像的像素对所捕获的图像进行比较以发现图像中匹配的部分。在两个不同相机视图之间对象的移位量称为差异,其与到对象的距离成反比。可使用检测多个图像中的对象的移位并得到最佳匹配的差异搜索来计算到对象的距离,所述计算是基于相机之间的基线距离和所涉及的相机的焦距(以及相机的附加特性的知识)。在大多数相机构型中,找到两个或更多个图像之间的对应性需要在两个维度中搜索。然而,可使用校正来简化差异搜索。校正是可用于将两个或更多个图像投影到公共图像平面上的变换方法。当使用校正将一组图像投影到同一平面上时,差异搜索变成沿着对极线的一维搜索。
最近,研究人员已使用跨较宽合成孔径的多个相机来捕获光场图像(例如,斯坦福多相机阵列)。光场通常被定义为表征来自场景中所有点处的所有方向的光的4d函数,可被理解为场景的二维(2d)图像的二维集合。由于实际约束,通常难以同时捕获形成光场的场景2d图像的集合。然而,这些相机各自捕获图像数据时的时间越接近,光强度的变化(例如,荧光灯的另外无法感知的闪烁)或对象运动就越不可能导致所捕获的图像之间的时间相关的变化。可利用涉及光场捕获和重采样的方法模拟具有大孔径的相机。例如,指向场景的mxn相机阵列可模拟视野与该阵列一样大的透镜的聚焦效果。在许多实施方案中,相机不必布置成矩形图案,并且可具有包括以下的构型:圆形构型和/或适合具体应用的要求的任何任意构型。以这种方式使用相机阵列可称为合成孔径成像法。
技术实现要素:
根据本发明的各种实施方案的系统和方法执行相机阵列的动态校准。一个实施方案包括:使用多个相机获取场景的一组图像,其中该组图像包括参考图像和备选视图图像;使用由图像处理应用程序所指令的处理器检测所述一组图像中的特征;使用由图像处理应用程序所指令的处理器在所述备选视图图像内识别与在所述参考图像内检测到的特征相对应的特征;使用由图像处理应用程序所指令的处理器,基于一组几何校准数据来校正所述一组图像;使用由图像处理应用程序所指令的处理器,基于被识别为所述参考图像和所述备选视图图像中相对应的特征的所观察到的位置移位,来确定在所述备选视图图像内观察到特征的位置处的几何校准数据的残差向量;使用由图像处理应用程序所指令的处理器,基于所述残差向量来确定捕获了所述备选视图图像的相机的更新的几何校准数据;以及使用图像处理应用程序所指令的处理器,基于更新的几何校准数据来校正捕获了备选视图图像的相机所捕获的图像。
在进一步的实施方案中,确定在备选视图图像内观察到特征的位置处的几何校准数据的残差向量包括:基于被识别为参考图像和备选视图图像中沿着对极线相对应的特征的所观察到的位置移位的分量,来估计被识别为与在参考图像内检测到的特征相对应的备选视图图像内的特征的深度;基于相对应特征的所估计的深度来确定场景相关几何校正,以应用于被识别为所述参考图像和所述备选视图图像中相对应的特征的所观察到的位置移位;以及将场景相关几何校正应用于被识别为参考图像和备选视图图像中相对应的特征的所观察到的位置移位,以获得在备选视图图像内观察到特征的位置处的几何校准数据的残差向量。
在另一个实施方案中,基于残差向量来确定捕获了备选视图图像的相机的更新的几何校准数据,包括使用至少一个内插方法由残差向量生成残差向量校准场。
在更进一步的实施方案中,基于残差向量来确定捕获了备选视图图像的相机的更新的几何校准数据,还包括使用外推方法由残差向量生成残差向量校准场。
又一个实施方案还包括将残差向量校准场应用于关于捕获了备选视图图像的相机的该组几何校准数据。
还进一步的实施方案还包括:将残差向量校准场映射到一组基向量;以及使用少于完整组的基向量的线性组合来生成降噪残差向量校准场。
在又一个实施方案中,从残差向量校准场的训练数据组获知该组基向量。
在再次进一步的实施方案中,使用主分量分析从残差向量校准场的训练数据组获知该组基向量。
在再次另一个实施方案中,确定捕获了备选视图图像的相机的更新的几何校准数据,还包括基于至少在备选视图图像内观察到特征的位置处的几何校准数据的残差向量,从多组几何校准数据之中选择更新的一组几何校准数据。
进一步的附加实施方案还包括:使用所述多个相机获取场景的附加一组图像;以及使用附加一组图像确定几何校准数据的残差向量。另外,基于残差向量来确定捕获了备选视图图像的相机的更新的几何校准数据,还包括利用由附加一组图像所确定的几何校准数据的残差向量。
另一个附加实施方案还包括检测相机的视野内至少一个区域不满足特征密度阈值。另外,响应于检测到相机的视野内的至少一个区域不满足特征密度阈值,而获取场景的附加一组图像。
在又进一步的实施方案中,利用由附加一组图像所确定的残差向量,还包括利用使用附加一组图像所确定的残差向量来确定相机的视野内关于不满足密度阈值的所述至少一个区域的更新的几何校准数据。
再一个实施方案还包括使用图像处理应用程序所指令的处理器,经由用户界面提供提示,其中所述提示指令相机阵列的取向,以使被识别为参考图像和备选视图图像中相对应的特征的位置移位到在获取附加一组图像期间相机的视野内不满足特征密度阈值的所述至少一个区域中。
再次更进一步的实施方案包括:使用多个相机获取场景的一组图像,其中该组图像包括参考图像和备选视图图像;使用由图像处理应用程序所指令的处理器检测所述一组图像中的特征;使用由图像处理应用程序所指令的处理器在所述备选视图图像内识别与在所述参考图像内检测到的特征相对应的特征;使用由图像处理应用程序所指令的处理器,基于一组几何校准数据来校正所述一组图像;以及使用图像处理应用程序所指令的处理器,基于被识别为参考图像和备选视图图像中相对应的特征的所观察到的位置移位来确定几何校准数据的有效性。
在再次又一个实施方案中,基于被识别为参考图像和备选视图图像中相对应的特征的所观察到的位置移位来确定几何校准数据的有效性,包括确定所观察到的移位对于远离对极线的位置所达到的程度。
再次还进一步的实施方案还包括通过以下方式动态地生成更新的几何校准数据:使用图像处理应用程序所指令的处理器,基于被识别为参考图像和备选视图图像中相对应的特征的所观察到的位置移位,来确定在备选视图图像内观察到特征的位置处的几何校准数据的残差向量;以及使用图像处理应用程序所指令的处理器,基于残差向量来确定捕获了备选视图图像的相机的更新的几何校准数据。
在再次又一个实施方案中,确定在备选视图图像内观察到特征的位置处的几何校准数据的残差向量包括:使用图像处理应用程序所指令的处理器,基于被识别为参考图像和备选视图图像中沿着对极线相对应的特征的所观察到的位置移位的分量,来估计被识别为与在参考图像内检测到的特征相对应的备选视图图像内的特征的深度;基于相对应特征的所估计的深度来确定场景相关几何校正,以应用于被识别为所述参考图像和所述备选视图图像中相对应的特征的所观察到的位置移位;以及将场景相关几何校正应用于被识别为参考图像和备选视图图像中相对应的特征的所观察到的位置移位,以获得在备选视图图像内观察到特征的位置处的几何校准数据的残差向量。
在更进一步的附加实施方案中,基于残差向量来确定捕获了备选视图图像的相机的更新的几何校准数据,包括使用至少一个内插方法由残差向量生成残差向量校准场。
在又一个附加实施方案中,确定捕获了备选视图图像的相机的更新的几何校准数据,还包括基于至少在备选视图图像内观察到特征的位置处的几何校准数据的残差向量,从多组几何校准数据之中选择更新的一组几何校准数据。
还进一步的附加实施方案还包括:使用所述多个相机获取场景的附加一组图像;以及使用附加一组图像确定残差向量。另外,基于残差向量来确定捕获了备选视图图像的相机的更新的几何校准数据,还包括利用由附加一组图像所确定的残差向量。
另一个进一步的实施方案包括:包括多个相机的至少一个相机阵列;处理器;以及含有图像处理应用程序的存储器。另外,图像处理应用程序指令处理器进行以下操作:使用所述多个相机获取场景的一组图像,其中该组图像包括参考图像和备选视图图像;检测该组图像中的特征;在备选视图图像内识别与在参考图像内检测到的特征相对应的特征;基于一组几何校准数据来校正该组图像;基于被识别为参考图像和备选视图图像中相对应的特征的所观察到的位置移位,来确定在备选视图图像内观察到特征的位置处的几何校准数据的残差向量;基于残差向量来确定捕获了备选视图图像的相机的更新的几何校准数据;以及基于更新的几何校准数据来校正捕获了备选视图图像的相机所捕获的图像。
附图说明
图1概念性地示出了根据本发明的一个实施方案的相机阵列。
图2为根据本发明的一个实施方案的流程图,示出了用于验证几何校准数据和/或动态地生成更新的几何校准数据的方法。
图3a和图3b概念性地示出了当几何校准数据有效时及当相机超出校准范围时观察到的几何移位。
图4为根据本发明的一个实施方案的流程图,示出了用于执行动态几何校准的方法。
图5为根据本发明的一个实施方案的流程图,示出了用于合并关于相机视野不同区域的动态生成的几何校准数据的方法,以产生关于相机整个视野的完整组的更新的几何校准数据。
图6为根据本发明的一个实施方案的流程图,示出了通过选择对于一组图像内的对应特征的所观察到的移位呈最佳拟合的一组几何校准数据而动态地更新几何校准数据的方法。
具体实施方式
现在转到附图,示出了根据本发明实施方案的用于动态地校准相机阵列的系统和方法。多相机系统对于各种应用而言日益得到普及,并且它们的正确功能取决于使相机所捕获的图像相对于彼此精确配准的能力。通过校正图像,可显著降低使各个图像彼此配准的复杂性。这通常依赖于离线校准方法来捕获有关对应像素的场景无关移位的信息,这些场景无关移位是由于以下原因而由阵列中的相机引入的:这些相机的构造(例如,在透镜特性方面和/或在相机组装方面的制造变化)、相对位置以及取向(通常称为阵列的几何形状)。实际上,其上安装有阵列中的相机的机械结构对诸如(但不限于)以下的各种因素作出不同响应:温度变化和/或现场条件如机械冲击。除非考虑相机阵列中的相机的相对位置的变化,否则这些变化可影响相机所捕获的图像的配准而导致深度估计值劣化,和/或可影响由相机阵列中的相机所捕获的图像数据所生成的图像(例如,通过超分辨率产生的图像,和/或通过应用基于景深的滤镜或效果而产生的图像)。根据本发明的各种实施方案的系统和方法可评估相机阵列的几何校准,并且通过任何成像场景中的稳健特征匹配来执行几何校准的自适应调整。假设几何校准从此前校准的值逐渐劣化,可利用根据本发明的许多实施方案的相机阵列内的相机的冗余,来确定说明相机之间的新几何关系的新校准的参数和/或对现有校准参数的调整。
在许多实施方案中,利用特征匹配来识别现有校准数据不再有效的相机阵列。可在阵列中的相机所捕获的一组图像的每个图像中识别真实世界场景的特征。当相机的几何校准正确校正这些图像时,对应特征将位于对极线上(假设图像经过校正)的一定位置处,这些位置基于特征离相机阵列的距离来确定。当阵列中的相机之间的几何关系变化且校准数据不再有效时,对应特征将不位于这些图像内的基于与特定深度相符的对极线移位来预测的位置中。因此,实际绝对值与预期绝对值之间的差异、或使用几何校准数据校正的一组图像内的对应特征的位置相对于彼此的差异可用于识别几何校准数据何时不再有效。此外,可使用这些差异来动态地生成新几何校准数据和/或对几何校准数据的更新,它们可被相机阵列用来执行后续的图像处理操作,诸如(但不限于)深度估计和/或超分辨率处理。
当相机阵列的几何形状变化影响相机阵列中的相机的内部参数(即,使图像点的像素坐标与相机参考系中的对应坐标相关联的参数)时,根据本发明的许多实施方案的系统和方法可利用一组图像内的对应特征来执行动态校准。相机的内部参数通常被认为包括相机的焦距、像素偏斜、透镜畸变参数以及主点。在若干实施方案中,动态校准还可适应相机阵列的外部参数的变换,所述变换涉及使相机沿着相对于参考相机限定的基线平移。相机的外部参数是限定相机参考系相对于已知世界参考系的位置和取向的参数。就相机阵列而言,外部参数通常相对于参考相机进行限定。不受限于这些基线和/或相机取向变化的平移可能需要执行附加校准方法以获得更新的几何校准数据。
动态地生成更新的几何校准数据的方法利用在动态校准方法期间在用作参考相机的相机的整个视野中识别的特征。在动态校准方法中可能面临的挑战是许多真实世界场景包括没有特征的区域(例如,白墙)。在若干实施方案中,利用相机阵列中的多个不同相机作为参考相机来重复动态校准方法,可进一步细化几何校准数据。这样,可利用来自相机视野的不同部分的特征来评价对应性。在各种实施方案中,可使用在不同时间点捕获的多组图像来构建完整组的几何校准数据。通过使用多组,可基于在具体区域内存在最大特征数量和/或超过阈值的特征密度的该组图像,来选择参考相机的视野中的区域的几何校准数据。然后可合并由多组图像生成的几何校准数据,以产生覆盖每个相机的整个视野的一组几何校准数据。在多个实施方案中,指导动态校准方法。相机阵列所生成的用户界面可指令用户改变相机阵列的取向,以便相机阵列的移动致使在第一图像的第一区域中检测到的特征出现于第二图像的第二区域中。这样,相机阵列可快速构建关于参考相机整个视野的随时间推移的完整组的动态校准数据。
在某些实施方案中,利用不同组的几何校准数据来确定对应性,并且利用对于所观察到的对应特征产生最佳拟合的该组几何校准数据来执行图像处理。这样,可为相机阵列提供与例如不同操作条件相对应的各组几何校准数据,并且可利用对于所观察到的场景特征产生最佳拟合的几何校准数据来进行图像处理。
根据本发明的各种实施方案的用于验证几何校准数据并动态地校准相机阵列的系统和方法将在下文进一步讨论。
阵列相机
可用于捕获来自不同视点的图像数据(即,光场图像)的阵列相机(包括相机模块)可为一维的,二维(2d)的,单片的,非单片的,按网格排列,按非网格布置方式排列,和/或合并具有不同成像特性(包括(但不限于)不同分辨率、视野和/或滤色片)的相机。在以下专利中公开了各种阵列相机架构:授予venkataraman等人的名称为“capturingandprocessingofimagesusingnon-gridcameraarrays”(使用非网格相机阵列对图像进行捕获和处理)的美国专利no.9,077,893,授予rodda等人的名称为“methodsofmanufacturingarraycameramodulesincorporatingindependentlyalignedlensstacks”(制造结合独立对齐的透镜叠层的阵列相机模块的方法)的美国专利公布no.2015/0122411,授予venkataraman等人的名称为“arraycamerasincludinganarraycameramoduleaugmentedwithaseparatecamera”(包括用单独相机扩展的阵列相机模块在内的阵列相机)的美国专利公布no.2015/0161798,以及授予venkatarman等人的名称为“multi-baselinecameraarraysystemarchitecturefordepthaugmentationinvr/arapplications”(用于vr/ar应用中的深度扩展的多基线相机阵列系统架构)的美国临时申请序列号62/149,636。所捕获的光场中的每个二维(2d)图像来自阵列相机中的相机之一的视点。由于每个相机的视点不同,视差会导致场景图像内的对象位置发生变化。涉及各种相机阵列架构的实施和使用的美国专利no.9,077,893、美国专利公布no.2015/0122411和2015/0161798以及美国临时专利申请序列号62/149,636的公开内容据此全文以引用方式并入。
在许多实施方案中,利用相机阵列捕获场景的一组图像,并且使用所捕获的该组图像执行差异搜索,从而估计深度。在沿着对极线的区域自相似的情况下,深度估计值可能不可靠。随着所搜索的不同对极线(即,各对相机之间的不同基线)的数量的每次增加,在沿着对极线的与不正确深度相对应的每个对应位置处纹理自相似的可能性降低。在多个实施方案中,还利用所投影的纹理降低场景不同区域的自相似性。
阵列相机可使用光场内的图像各像素之间的差异来生成离参考视点的深度图。深度图指示场景对象的表面离参考视点的距离,并且可用于确定场景相关几何校正,以应用于来自所捕获的光场内的每个图像的像素,从而在执行融合和/或超分辨率处理时消除差异。可利用诸如授予ciurea等人的名称为“systemsandmethodsforparallaxdetectionandcorrectioninimagescapturedusingarraycamerasthatcontainocclusionsusingsubsetsofimagestoperformdepthestimation”(通过使用图像子集执行深度估计而对使用包含遮挡的阵列相机所捕获的图像进行差异检测和校正的系统和方法)的美国专利no.8,619,082中所公开的那些的方法,基于所观察到的差异来生成深度图。美国专利no.8,619,082的公开内容据此全文以引用方式并入。
如上所指出,可利用几何校准数据校正一组图像,使得该组经校正的图像中的对应像素位于对极线上。几何校准数据假设阵列中的相机的具体几何构型。如果热因素和/或环境因素致使阵列中的相机改变特性或相对于彼此移位位置,则基于几何校准数据的假设不再有效。因此,相机阵列必须进行重新校准,否则使用与美国专利no.8,619,082中所述的那些相似的方法所生成的深度估计值可能遭受严重劣化。
在许多情况下,可利用诸如授予lelescu等人的名称为“systemsandmethodsforsynthesizinghighresolutionimagesusingsuper-resolutionprocesses”(使用超分辨率方法合成高分辨率图像的系统和方法)的美国专利no.8,878,950中所述的那些的融合和超分辨率方法,由相机阵列所捕获的光场中的较低分辨率图像来合成较高分辨率2d图像或立体像对的较高分辨率2d图像。术语高分辨率或较高分辨率及低分辨率或较低分辨率在此处是在相对意义上使用的,并非指示阵列相机所捕获的图像的具体分辨率。如从美国专利no.8,878,950的综述可容易认识到的,融合阵列相机所捕获的图像数据和执行超分辨率处理特别依赖于精确的几何校准数据,因为超分辨率方法试图以子像素精度对齐从不同视点捕获的像素。因此,可通过检测到几何校准数据不再有效并执行相机阵列的动态校准,来显著增强超分辨率方法。美国专利no.8,878,950有关超分辨率处理及使用几何校准数据执行超分辨率处理的公开内容据此全文以引用方式并入。
根据本发明的各种实施方案的可在包括(但不限于)增强现实耳机和机器视觉系统的多种应用中利用的阵列相机在图1中示出。阵列相机100包括具有独立相机104的阵列的阵列相机模块102。术语阵列相机模块102统称为支撑独立相机的阵列的机械结构及安装到机械结构的相机。独立相机的阵列是特定布置方式的多个相机,所述特定布置方式诸如(但不限于)用于所示实施方案的布置方式,其结合了阵列左手侧上的一对竖直对齐的相机、阵列中心中的交错对以及阵列右手侧上呈网格状的四个相机。在其他实施方案中,可利用相机的多种网格或非网格布置方式中的任何一种。在许多实施方案中,阵列相机模块还包括投影仪105,该投影仪可用于将纹理投影到场景上,以帮助在缺乏纹理或自相似的场景的区域中进行深度估计。阵列相机模块102连接到处理器106。处理器还被配置成与一种或多种不同类型的存储器108通信,该存储器可用于存储图像处理管线应用程序110、阵列相机模块102所捕获的图像数据112、通过图像处理管线应用程序由所捕获的图像数据生成的深度图114、和/或使用超分辨率方法生成的较高分辨率图像116。图像处理管线应用程序110通常为用于指令处理器执行包括(但不限于)下述各种方法的方法的非暂态机器可读指令。在若干实施方案中,这些方法包括协调以下两者:阵列相机模块102内的多组相机对图像数据的捕获,和由所捕获的图像数据112对深度信息114的估计。在多个实施方案中,图像处理管线应用程序110指令处理器108使用融合和/或超分辨率方法由所捕获的图像数据112合成较高分辨率图像116。如下文进一步讨论,这些方法所生成的深度估计值和/或图像的质量取决于用于校正这些图像的几何校准数据120的可靠性。在许多实施方案中,图像处理管线应用程序110指令处理器108利用阵列相机模块102中的相机104所捕获的图像数据执行动态校准方法。
具体针对阵列相机模块102中的相机104而言,阵列相机模块102中的每个相机104均能够捕获场景的图像。用于相机104的焦面中的传感器元件可为独立光感测元件,诸如但不限于传统cis(cmos图像传感器)像素、ccd(电荷耦合设备)像素、高动态范围传感器元件、多光谱传感器元件和/或任何其他结构,其被配置为生成指示入射到结构上的光的电信号。在许多实施方案中,每个焦面的传感器元件具有相似的物理特性,并且经由相同的光通道和滤色片(若存在)接收光。在若干实施方案中,传感器元件具有不同特性,并且在许多情况下,传感器元件的特性与应用于每个传感器元件的滤色片相关。
在多种实施方案中,独立相机中的滤色片可用于使用π型滤波器组对相机模块进行图案化,如授予nisenzon等人的名称为“cameramodulespatternedwithpifiltergroups”(用π型滤波器组进行图案化的相机模块)的美国专利公布no.2013/0293760中进一步讨论,该专利公布中涉及可在阵列相机的实施中利用的滤波器图案的公开内容全文以引用方式并入本文。可利用多种滤色片构型中的任何一种,其中每个颜色通道中的相机分布在相机中心的任一侧上。可使用相机捕获关于不同颜色的数据或光谱的具体部分。在多个实施方案中,相机在近红外、红外和/或远红外光谱带中成像。
在许多实施方案中,每个相机的光通道内的透镜叠层具有视野,该视野使光聚焦,使得每个相机的像素对场景内的相同对象空间或区域进行采样。在若干实施方案中,透镜叠层被配置为使得对相同对象空间进行采样的像素在这样做时发生子像素偏移,从而提供采样多样性,该采样多样性可用于通过使用超分辨率方法来恢复增加的分辨率。术语采样多样性是指这样的事实:来自不同视点的图像对场景中的相同对象进行采样,但子像素略微偏移。当相较于对具有单个图像的对象空间进行简单采样时,通过以子像素精度处理图像,可恢复因子像素偏移而编码的附加信息。在恢复较高分辨率信息的实施方案中,透镜叠层被设计为具有调制传递函数(mtf),其能够在与较高分辨率相对应的空间频率下分辨对比度,而无法在形成焦面的像素的空间分辨率下分辨对比度。
具体针对图1中所示的处理器108而言,在根据本发明的许多实施方案的相机阵列内利用的处理器可使用微处理器、协处理器、专用集成电路和/或适当配置的现场可编程门阵列来实施,它们使用适当软件指令以获取阵列相机模块102内的相机所捕获的图像数据并执行动态校准和/或图像处理。在本发明的许多实施方案中,由一组图像估计深度和/或合成场景的较高分辨率图像的方法涉及参考视点的选择,通常为参考相机的选择。在许多实施方案中,处理器108能够由虚拟视点合成图像。
虽然上文结合图1描述了具体阵列相机架构,但也可根据本发明实施方案利用替代架构。使用阵列中的相机所捕获的图像数据执行阵列的动态校准将在下文进一步讨论。
动态校准
可利用相机阵列的几何形状的知识来校正阵列所捕获的图像。通常在离线校准方法期间确定在校正方法期间利用的变换,该离线校准方法产生所称的几何校准数据。适当的离线校准方法包括与授予mullis的名称为“systemsandmethodsforcalibrationofanarraycamera”(用于校准阵列相机的系统和方法)的美国专利9,124,864中所述的那些相似的离线校准方法。几何校准数据用于深度估计方法、融合方法和/或超分辨率方法。一般来讲,当阵列内的相机的相对位置和取向不与执行离线校准方法时相机的几何形状相对应时,通过对相机阵列所捕获的图像执行差异搜索而作出的深度估计值的准确度会劣化。相机阵列的几何形状可因热膨胀/收缩和/或环境因素而变化。消费电子设备的用户通常以一定方式掉落设备,使得可使其上安装有相机阵列的机械结构变形。因此,根据本发明的多个实施方案的相机阵列可执行这样的方法:这些方法验证可用的几何校准数据适合相机阵列的当前几何形状。通过检测到相机阵列“超出校准范围”,可执行另一个离线校准方法,以获得适当的几何校准数据。在若干实施方案中,相机阵列能够执行动态校准方法,该动态校准方法产生新几何校准数据或对现有几何校准数据的更新,以实现后续的图像处理操作,从而产生满足具体应用的要求的输出。
根据本发明的一个实施方案的用于验证几何校准数据并动态地生成几何校准数据的方法在图2中示出。方法200涉及使用相机阵列获取(202)一组图像。对每个图像执行(204)特征检测方法以识别场景内的不同特征,这些特征可用于识别该组图像内的对应点。可利用多种特征检测器中的任何一种,包括(但不限于)尺度不变特征变换(sift)检测器、加速稳健特征(surf)特征检测器和/或任何其他特征检测器,其生成适合识别一组图像中的各图像之间的对应特征的特征描述符。虽然下面的大部分讨论依赖于使用特征检测来识别各图像之间的对应性,但还可执行基于区域的和/或基于相关性的对应分析,以识别根据本发明的多个实施方案的多对图像和/或多组内的对应像素位置。因此,在本文所述的任何系统和/或方法中,特征检测可与基于区域的匹配互换使用。
然后可利用几何校准数据来校正所捕获的该组图像。当几何校准数据对于相机阵列的几何形状而言有效时,则参考图像中可见的特征将看起来沿着对极线移位一定距离,该距离由特征离参考相机的距离决定。当几何校准数据对于相机阵列的几何形状而言不再有效时,则对应特征可能看起来移位到不位于对极线上的位置。该差异在图3a和图3b中示出。图像300包括参考相机中可见的特征302,该特征看起来(304)沿着对极线306移位一定距离。如上所指出,移位的程度指示特征离参考相机的距离。特征302被示出在图像300的对极线之上或附近的位置中,这一事实表明捕获图像的相机和参考相机的几何形状对应于在获得几何校准数据时相机的相对取向和对齐。可通过以下方式确认几何校准数据的可靠性:观察其他对图像中的对极线移位,从而确认特征离参考相机的深度。如果特征离参考相机的距离未通过相机阵列所捕获的其他图像中所观察到的移位加以确认,则确定几何校准数据是不可靠的。不再具有其在校准期间占据的几何形状的、阵列中的相机所捕获的图像在图3b中示出。图像310示出了特征302相对于其在从参考视点捕获的图像中的位置发生移位(306)。所观察到的移位并不处于沿着对极线306的方向。该移位可分解为沿着对极线的向量分量(donepl)和垂直于对极线或到对极线的向量分量(dtoepl)。可容易认识到,校准失效可能导致donepl的大小与几何校准数据有效时将观察到(304)的大小不同。
再次参见图2,可使用经校正的图像中的对应特征的识别来确定(208)几何校准数据的有效性。在一个或多个特征的dtoepl的大小为非零的情况下,可作出几何校准数据不再有效的确定。可利用多种准则中的任何一种来作出该确定,包括(但不限于)超过阈值的对应特征点中的、移位的dtoepl分量的大小的归一化总和。可容易认识到,用于确定几何校准数据不再有效的具体准则或准则组可基于具体应用的要求来确定。
当该组经校正的图像内的对应特征点表明几何校准数据不再有效时,则可向用户提供警告,建议提交相机阵列进行重新校准。在多个实施方案中,相机阵列可使用所识别的特征点来执行(210)动态校准方法。动态校准方法可产生新的一组几何校准数据、通过离线几何校准方法生成的几何校准数据的一组更新、和/或从多组几何校准数据的数据库选择替代组的几何校准数据。在若干实施方案中,可利用多组几何校准数据的数据库,这些数据库包含适合相机阵列内的相机的不同操作温度和/或不同预期扰动的多组几何校准数据。可容易认识到,数据库可本地提供,和/或可位于远程并经由网络连接查询。根据本发明的各种实施方案的用于执行动态校准的具体方法将在下文详细讨论。当识别有效组的几何校准数据时,相机阵列可继续(212)获取附加组的图像和/或使用几何校准数据执行图像处理。
虽然上文参照图2讨论了用于确定对于具体相机阵列的几何形状而言一组几何校准数据的有效性和/或用于执行动态校准的具体方法,但利用一组经校正的图像中的对应特征的位置来动态地确定要在图像处理中使用的一组几何校准数据的多种方法中的任何一种,可在合乎根据本发明的各种实施方案的具体应用的要求的情况下加以利用。根据本发明的多个实施方案的用于动态地生成新的和/或更新的几何校准数据的具体方法将在下文进一步讨论。
几何校准数据的动态生成
用于生成几何校准数据的离线方法依赖于获取具有已知特性的场景的图像的能力。用于动态生成几何校准数据的方法通常不具有场景特性的任何先验知识。特征检测器可使图像处理应用程序能够确定阵列中的相机所捕获的场景内的对应特征。这些特征可能稀疏分布。因此,这些特征不会直接实现在每个像素位置处生成几何校准信息。然而,可利用具体像素位置处的几何校准信息的内插和/或外推,来生成新的一组几何校准数据和/或对现有组的几何校准数据的一组更新。在多个实施方案中,对特征的像素位置处确定的几何校准数据进行匹配,以从包含多组几何校准数据的数据库识别对所观察到的对应性提供最佳拟合的一组几何校准。
根据本发明的一个实施方案的用于执行动态校准以基于场景内一组所观察到的特征来获得一组几何校准数据的方法在图4中示出。方法400包括(任选地)对图像进行预处理(402),以增加不同颜色通道中捕获的图像之间的对应性。在若干实施方案中,预处理涉及使用相关变换来对齐小图像块。在若干实施方案中,可利用与以下文献所述的变换相似的相关变换:drulea,m.;nedevschi,s.,“motionestimationusingthecorrelationtransform”(使用相关变换进行运动估计),载于imageprocessing,ieeetransactionson(《ieee图像处理汇刊》),第22卷,第8期,第3260-3270页,2013年8月,该文献的相关公开内容据此全文以引用方式并入。在相机阵列中的所有相机捕获相同图像光谱带中的图像数据的情况下,可能不需要预处理。
可使用特征检测器检测(404)该组图像中的特征和/或兴趣点。如上所指出,可在合乎具体应用的要求的情况下,利用包括sift和/或surf检测器在内的多种特征检测器中的任何一种来检测特征。然后在相机阵列所捕获的该组图像内的参考图像中可见的特征点与其他图像中可见的特征点之间执行(406)对应匹配。在许多实施方案中,可利用诸如(但不限于)卢卡斯-卡纳德方法的稀疏光流方法来确定特征对应性。稀疏光流方法假设一对图像之间的光流在所考虑的像素的局部邻域中基本上恒定,并且通过诸如(但不限于)最小二乘准则的准则对该邻域中的所有像素的基本光流方程进行求解。对应问题是计算机视觉领域内的熟知问题,并且可在合乎具体应用的要求的情况下,利用包括(但不限于)随机采样一致性(ransac)方法在内的多种替代对应匹配方法中的任何一种,来识别多个图像对和/或多组图像内的对应特征。
然后可利用最佳可用的几何校准数据向对应特征的位置应用(408)几何移位。理论上,这些移位应校正这些图像。如上所指出,当相机阵列的几何形状不同于几何校准数据所假设的几何形状时,几何移位在校正这些图像时不会成功。可通过以下方式确定几何校准数据在校正这些图像时的有效性:计算(410)参考图像与备选视图图像(即,与从其捕获参考图像的视点/相机不同的视点/相机捕获的图像)之间的每个对应特征的向量差(donepl、dtoepl)。如上所指出,当相机阵列的几何形状对应于几何校准数据所假设的几何形状时,这些向量的dtoepl分量应为零或近零。
在参考图像和备选视图图像中的对应像素之间观察到的移位包括场景无关移位和场景相关移位。场景无关移位是相机阵列的几何形状和用于构造相机的各部件的变化的函数。场景相关移位是基于场景内的对象的距离而引入的。为了动态地生成校准数据,根据系统的许多实施方案的方法试图校正场景相关移位,以便确定几何校准数据的残差。
在若干实施方案中,相机阵列经由用户界面提示用户通过捕获场景的一组图像来捕获用于动态地校准相机阵列的该组图像,其中场景内的所有对象离相机足够远,因此可假设整个场景在无穷远处。当可假设场景在无穷远处时,则存在于图像内的场景相关移位在所有像素位置处应为零。如果存在移位,则通过校正来纠正这些移位。
在对象位于场景内的未知深度处的情况下,存在于图像中的移位包括场景相关几何移位和场景无关几何移位。为了更新几何校准数据以校正场景无关移位,估计并移除场景相关几何移位。使用每个备选视图图像中沿着对极线的所观察到的移位(donepl)的加权平均值,来确定(412)每个特征的单独深度估计值,其中通过捕获参考图像和备选视图图像的相机之间的假设基线对平均值进行加权。在其他实施方案中,可使用用于估计所观察到的特征的深度的多种方法中的任何一种来确定场景相关移位。可容易认识到,用于捕获该组图像内的图像的相机数量以及所捕获的图像内的特征数量可显著提高可在动态校准方法期间移除场景相关几何校正时的精度。
在估计场景相关几何移位的实施方案中,从参考图像与备选视图图像之间的每个对应特征的向量差(donepl、dtoepl)中减去场景相关几何移位,以计算(414)备选视图图像内可见的每个对应特征的残差向量(ronepl、rtoepl)。然后可利用残差向量计算(416)对几何校准数据的向量场的校正(即,应用于为捕获备选视图图像的相机的每个像素位置所指定的几何校准向量的校正)。在若干实施方案中,通过将残差向量点转换为备选视图图像内的像素坐标来确定对几何校准数据的向量场的校正,然后可使用已知残差向量的内插、外推和/或滤波来确定未为其指定残差向量的像素位置的残差向量。可应用所得的残差校准向量场来调整交替取景相机的每个像素位置处的几何校准数据,从而校正相对于参考相机所捕获的图像而言在交替取景相机所捕获的图像内观察到的场景无关几何移位。这样,方法400能够动态地生成适合相机阵列的当前几何形状的更新的几何校准数据。
在许多实施方案中,使用与上文参照图4所述的那些方法相似的方法所生成的残差校准向量场有噪声。在多个实施方案中,从残差校准向量场的训练数据组获知一组基向量。残差校准向量场可被视为跨状态空间,该状态空间表示与相机阵列的几何形状(如上所讨论的内部和外部两者)的各种改变相关联的可能观察到的残差校准向量场。可在动态校准期间利用基向量对残差校准向量场进行降噪,具体方式为将残差校准向量场映射到基向量,并且将降噪的残差校准向量场生成为被选择为减少残差校准向量场内随机噪声的存在的减少数量的基向量的线性组合。在若干实施方案中,使用主分量分析(pca)获知基向量。可使用pca构建基础,其具有在展开被截断为较小数量的基向量时使重建误差最小化的特性。因此,截断可为减少噪声的有效技术。用于选择对残差校准向量场进行降噪的归约基础的具体机制在很大程度上取决于给定应用的要求。此外,根据本发明的实施方案,可利用多种方法中的任何一种来选择基向量和/或对残差校准向量场进行降噪。
虽然上文参照图4描述了用于生成更新的几何校准数据的具体方法,但可在合乎根据本发明实施方案的具体应用的要求的情况下,利用多种方法中的任何一种,基于特征的所观察到的移位和/或考虑场景相关几何移位的相关图像块,来生成更新的校准数据。另外,在不存在此前生成的一组几何校准数据的情况下,可利用与上文结合图4所述的方法相似的方法来动态地生成几何校准数据。作为生成残差向量场的代替,可利用图4中所示的方法,基于在该组捕获图像中的对应特征的所观察到的场景无关移位的内插和/或外推,来生成完整几何校准向量场。
合并动态校准数据
真实世界场景通常包含可靠特征,这些可靠特征足够强,可以跨阵列中处于随机位置的多个相机所捕获的各图像进行跟踪。另外,特征通常群集在参考相机的视野内的某些区域内,而其他区域可相对缺乏特征。特征的密度和分布可影响由用于生成残差校准向量场的内插和外推方法所引入的误差。具体地讲,外推可在深度估计值和/或超分辨率方法中引入大量噪声。在多个实施方案中,使用基于将阵列内的不同相机用作参考相机而确定的残差向量和/或使用从不同场景捕获的多组图像,来构建相机的残差校准向量场的不同区域。在某些实施方案中,通过阵列相机来指导获得不同场景的多组图像的方法。阵列相机可识别参考相机的视野内的场景的区域,并指示用户重定向相机阵列,使得场景的富含特征部分出现于参考相机的视野的不同区域内,直到这样一组图像,其中已相对于参考相机的视野内的每个区域获得特征的阈值密度。
根据本发明的一个实施方案的将使用不同组图像确定的残差向量合并以获得残差校准向量场的方法在图5中示出。方法500包括获取(502)一组图像,并且使用与上述那些技术相似的技术检测(504)该组图像内的特征。然后可利用这些特征执行动态校准。可利用参考相机的视野内的特征的密度,来识别包含不足特征密度(例如,未达到特征密度阈值)的视野内的区域和/或超过最小特征密度的区域。在参考相机的整个视野富含特征的情况下,该方法完成。否则,方法600涉及捕获(502)附加组的图像。在若干实施方案中,阵列相机包括用户界面并向用户提供有关重定向相机阵列的方式的指示,使得存在于场景内的特征在仍然需要更新的校准数据的视野部分内移动。继续多组图像的获取(502)和残差向量的确定(506),直到合并的残差向量达到每个相机的残差向量的阈值密度。此时,可将残差向量合并(512)并用来生成残差校准向量场。
虽然上文参照图5描述了具体方法,但可在合乎根据本发明的各种实施方案的具体应用的要求的情况下,利用多种方法中的任何一种来合并残差向量信息的各种来源,从而生成用于后续图像处理操作的残差校准向量场。在其他实施方案中,可针对多组图像每一者以及合并的残差校准向量场来生成残差校准向量场。虽然上述方法中的许多者利用内插和外推来生成几何校准数据和/或可用于更新几何校准数据的残差校准向量场,但可利用由与上述那些技术相似的技术生成的残差向量和/或残差校准向量场,从多个不同组的几何校准数据之中选择适当的一组几何校准数据。根据本发明的各种实施方案的使用动态校准在替代组的几何校准数据之间选择的方法将在下文进一步讨论。
在多组几何校准数据之间选择
用于识别相机阵列所捕获的图像之间的对应性的特征的稀疏性质,使得有必要使用内插和外推将残差向量转换为残差校准向量场,这些残差校准向量场可用于在交替取景相机的每个像素位置处更新几何校准数据。就其性质而言,内插和外推方法会在所得的几何校准数据中引入误差。使用残差向量生成残差校准向量场的替代方案是使用残差向量从多个替代几何校准数据组之中选择最佳拟合。在若干实施方案中,使用多个不同几何校准数据组每一者确定特征的对应性,并且利用产生最小平均残差向量的几何校准组进行后续图像处理。
根据本发明的一个实施方案的用于从多组几何校准数据之中选择一组几何校准数据的方法在图6中示出。方法600包括使用相机阵列获取一组图像(602),并且选择(604)第一组几何校准数据。该方法以与上述动态校准方法相似的方式继续进行。执行(606)动态校准以获得一组对应特征点每一者的残差向量,并且利用残差向量来测量在基于几何校准数据进行校正后所观察到的移位与预期场景相关几何移位相对应的程度。可利用多种度量中的任何一种来评价几何校准数据符合所观察到的移位的程度,包括(但不限于)残差向量的平均大小。重复以下方法直到已考虑(610)每组几何校准数据:选择(604)几何校准数据组,使用所选择的几何校准数据执行(606)动态校准,并且测量几何校准数据符合在对应特征点之间观察到的移位的程度。可容易认识到,可考虑多种不同组几何校准数据中的任何一种,包括与适合预定温度范围内的不同操作温度的几何校准数据相对应的不同组。所考虑的几何校准数据的具体组通常基于具体相机阵列应用的要求来确定。当已考虑所有几何校准数据组时,可利用对于在对应特征点之间所观察到的移位呈最佳拟合的几何校准数据进行后续图像处理。
虽然上文参照图6描述了具体方法,但可利用多种方法中的任何一种,从对于在对应特征点之间所观察到的移位呈最佳拟合的多组几何校准数据之中选择一组几何校准数据。另外,图6中所示的方法涉及环路。可容易认识到,可实施并行评价多组几何校准数据的方法。在多个实施方案中,由相机阵列向位于远程的服务器系统提供一组图像,该服务器系统针对几何校准数据的数据库来评价该组图像,并且经由网络连接将更新的一组几何校准数据返回到相机阵列。
虽然以上说明含有本发明的许多具体实施方案,但这些都不应理解为对本发明范围的限制,而应理解为其一个实施方案的示例。因此,本发明的范围不应由所示实施方案确定,而应由所附权利要求及其等同物确定。