用于校准成像装置的方法和设备的利记博彩app

文档序号:6495867阅读:216来源:国知局
用于校准成像装置的方法和设备的利记博彩app
【专利摘要】本发明描述用于基于关键点匹配来调整立体图像对的图像的方法和设备。首先评估所述关键点匹配的质量以确定所述质量是否超过关键点质量阈值。如果所述关键点匹配的质量水平超过所述阈值,那么可基于所述关键点匹配之间的垂直视差向量来评估所述立体图像对的所述图像之间的垂直视差。如果所述垂直视差低于阈值,那么可不执行对所述立体图像对的调整。如果所述垂直视差高于所述阈值,那么仿射校正可补偿所述图像之间的俯仰、横滚和尺度差异。投影校正可补偿偏航差异。随后在所述校正之后评估所述两个图像之间的所述垂直视差以确定是否应执行额外调整。
【专利说明】用于校准成像装置的方法和设备
【技术领域】
[0001]本实施例涉及成像装置,且具体来说,涉及用于成像装置的自动校准的方法和设备。
【背景技术】
[0002]在过去十年,数字成像能力已经集成到广泛的装置中,包含数码相机和移动电话。近来,用这些装置来俘获立体图像的能力已经在技术上变得可能。装置制造商已通过引入集成了多个数字成像传感器的装置来作出响应。广泛的电子装置,包含移动无线通信装置、个人数字助理(PDA)、个人音乐系统、数码相机、数字记录装置、视频会议系统等,利用多个成像传感器来将多种能力和特征提供给它们的用户。这些不仅包含立体(3D)成像应用,例如3D相片和视频或电影,而且包含更高的动态范围成像和全景成像。
[0003]包含此能力的装置可包含多个成像传感器。举例来说,一些产品将两个成像传感器集成在数字成像装置内。在俘获立体图像时,这些传感器可沿着水平轴对准。每一相机可不仅基于数字成像装置的位置而且基于相机的成像传感器物理位置和定向来俘获场景的图像。由于一些实施方案提供可能水平上偏移的两个传感器,所以由每一传感器俘获的图像还可反映两个传感器之间的水平定向上的差异。由所述传感器俘获的两个图像之间的水平定向上的此差异提供两个图像之间的取景视差。在用户观看包括两个图像的立体图像对时,人类的大脑基于两个图像之间的取景视差而感觉到图像内的深度。
[0004]虽然立体成像装置可经设计以产生在两个图像之间具有给定量的水平偏移或取景视差的立体图像对,但还可引入两个图像之间的定向上的其它差异。举例来说,数字成像装置的制造容限可导致两个成像传感器之间的定向差异。一个装置中的成像传感器可定位成略高于相同装置中的另一成像传感器。在另一装置中,成像传感器可比所述装置中的第二成像传感器更靠前(更靠近被俘获的场景)。成像传感器还可具有关于旋转轴的不同定向。举例来说,成像传感器之间可存在俯仰、偏航或横滚定向上的差异。由这些成像传感器俘获的图像可反映这些差异。立体成像对的两个图像之间的定向上的这些差异可具有不合意的效应。举例来说,两个图像之间的垂直定向上的差异(被称为“垂直视差”)已经展示导致立体电影的观看者头晕。
[0005]为了实现精确对准的立体图像对,常常在制造过程期间校准具有多个成像传感器的装置。所述装置可被放置到制造线上的特殊“校准模式”中,其中所述成像传感器指向经设计以辅助清楚地识别每一传感器的相对位置的目标图像。所述装置的每一相机可随后聚焦在目标图像和所俘获的图像上。可随后分析每一所俘获的图像以提取相机的相对定向。
[0006]一些相机可经设计以使得对每一相机的相对位置的小调整可在制造现场作出,以更好地对准两个相机的位置。举例来说,每一相机可安装在可调整平台内,所述平台提供对其位置作出小调整的能力。或者,可通过图像处理软件来分析由每一相机俘获的图像以确定每一相机彼此的相对位置。此相对位置数据随后被存储在相机上的非易失性存储器中。当稍后购买和使用产品时,机上图像处理利用所述相对位置信息来电子地调整由每一相机俘获的图像以产生高质量立体图像。
[0007]这些校准过程具有若干缺点。首先,精确制造校准在制造过程期间消耗时间,从而增加装置的成本。第二,在制造期间产生的任何校准数据本质上是静态的。因此,其无法考虑到在装置的使用寿命期间使用装置时的相机位置上的改变。举例来说,在卖出相机时多个镜头的校准可非常精确,但相机可能在购买之后不久便掉落。下落的冲击可导致相机离开校准。尽管如此,用户将可能期望相机不受下落影响且继续产生高质量立体图像。
[0008]此外,温度变化下的相机零件的膨胀和收缩可在每一相机的相对位置中引入微小变化。通常在室温下进行工厂校准,而不会补偿镜头位置在温度下的变化。因此,如果在特别冷或热的天使用立体成像特征,那么可影响由相机产生的立体图像对的质量。
[0009]因此,多相机装置的静态工厂校准具有其局限。虽然周期性校准将减轻这些问题中的一些问题,但期望用户在相机的使用寿命期间对它们的相机执行周期性立体相机校准可能并不现实。许多用户要么不想要么常常没有技术来成功地完成校准程序。

【发明内容】

[0010]本实施例中的一些可包含一种调整立体图像对的方法。所述方法可包含用第一成像传感器俘获所述立体图像对的第一图像且用第二成像传感器俘获所述立体图像对的第二图像。随后可确定所述第一图像与所述第二图像之间的一组关键点匹配。评估所述关键点匹配的所述质量以确定关键点质量水平。如果所述关键点质量水平大于阈值,那么可基于所述关键点来调整所述立体图像对。
[0011]所揭示的一个创新实施方案是一种校准立体成像装置的方法。所述方法包含用第一成像传感器俘获所关注场景的第一图像且用第二成像传感器俘获所述所关注场景的第二图像。所述第一图像和第二图像可为立体图像对的一部分。所述方法还包含基于所述第一图像和所述第二图像来确定一组关键点匹配。所述组关键点匹配形成关键点星座。所述方法进一步包含评估所述关键点星座的质量以确定关键点星座质量水平,且确定所述关键点星座质量水平是否超过预定阈值,其中如果超过所述阈值,那么基于所述关键点星座而产生校准数据且将所述校准数据存储到非易失性存储装置。
[0012]在一些实施方案中,所述方法还包含确定所述组关键点匹配中的一个或一个以上关键点匹配中的关键点之间的一个或一个以上垂直视差向量,基于所述一个或一个以上垂直视差向量而确定垂直视差度量,且将所述垂直视差度量与阈值进行比较,如果所述垂直视差度量高于所述阈值,那么所述方法至少部分基于所述组关键点匹配来确定关键点匹配调整。
[0013]在一些实施方案中,确定关键点匹配调整包含基于所述组关键点匹配来确定仿射拟合,基于所述组关键点匹配来确定投影拟合,基于所述仿射拟合和所述投影拟合而产生投影矩阵,且基于所述投影矩阵来调整所述组关键点匹配。
[0014]在所述方法的一些实施方案中,所述校准数据包含所述投影矩阵。在所述方法的一些实施方案中,基于所述组关键点匹配确定仿射拟合会确定横滚估计、俯仰估计和尺度估计,且在一些其它实施方案中,确定所述投影拟合会确定偏航估计。在一些实施方案中,所述方法还包含基于所述经调整的一组关键点匹配来调整所述立体图像对。在一些实施方案中,所述方法包含基于所述经调整的一组关键点匹配来确定新的垂直视差向量且在所述新的垂直视差向量指示高于阈值的视差的情况下进一步调整所述关键点匹配。
[0015]在一些实施方案中,对所述组关键点匹配的调整以及确定新的垂直视差向量被重复执行,直到新的垂直视差向量指示低于阈值的视差为止。在一些实施方案中,响应于加速度计的输出超过阈值而执行所述方法。在一些实施方案中,响应于自动聚焦事件而执行所述方法。在一些实施方案中,对所述关键点星座的质量的评估包含确定关键点之间的距离。
[0016]在一些实施方案中,评估所述关键点星座的所述质量包括确定每一关键点到图像隅角的距离或确定关键点匹配的数目。在一些实施方案中,对所述关键点星座的质量的评估包括确定从所述关键点星座导出的一个或一个以上估计对关键点位置中的扰动的敏感度。在一些实施方案中,所述方法包含基于每一关键点匹配的位置来修剪所述组关键点匹配以从所述组关键点匹配移除一个或一个以上关键点匹配。
[0017]另一创新方面揭示一种成像设备。所述成像设备包含:第一图像传感器;第二成像传感器;处理器,其操作地耦合到所述第一成像传感器和所述第二成像传感器;传感器控制模块,其经配置以从第一图像传感器俘获第一立体图像对的第一图像且从第二图像传感器俘获所述第一立体图像对的第二图像;关键点模块,其经配置以确定所述第一图像与所述第二图像之间的一组关键点匹配;关键点质量模块,其经配置以评估所述组关键点匹配的质量以确定关键点星座质量水平;主控制模块,其经配置以将所述关键点星座质量水平与预定阈值进行比较,且在所述关键点星座质量水平高于所述预定阈值的情况下,基于所述关键点星座来调整所述立体图像对。在所述设备的一些实施方案中,所述关键点质量模块至少部分基于所述第一图像和所述第二图像内的所述关键点星座中的关键点匹配的位置来确定所述关键点星座质量水平。在所述设备的一些其它实施方案中,所述关键点质量模块至少部分基于根据所述关键点星座而产生的角度估计中的变化且基于根据所述关键点星座的有噪声关键点星座来确定所述关键点星座质量水平。在一些实施方案中,所述有噪声关键点星座是至少部分基于将随机噪声添加到所述关键点星座中的关键点的关键点位置的至少一部分而产生。
[0018]所揭示的另一创新方面是一种立体成像装置。所述装置包含用于用第一成像传感器俘获所关注场景的第一图像的装置以及用于用第二成像传感器俘获所述所关注场景的第二图像的装置。所述第一图像和第二图像可为立体图像对的一部分。所述装置还包含:用于基于所述第一图像和所述第二图像来确定一组关键点匹配的装置,所述组关键点匹配构成关键点星座;用于评估所述关键点星座的质量以确定关键点星座质量水平的装置;用于确定所述关键点星座质量水平是否超过预定阈值的装置;用于在超过所述阈值的情况下基于所述关键点星座而产生校准数据的装置;以及用于将所述校准数据存储到非易失性存储装置的装置。
[0019]所揭示的另一创新方面是一种非暂时性计算机可读媒体,其存储指令,所述指令在由处理器执行时致使所述处理器执行以下方法:用第一成像传感器俘获所关注场景的第一图像,用于用第二成像传感器俘获所述所关注场景的第二图像。所述第一图像和第二图像构成立体图像对,由所述处理器执行的所述方法还包含:基于所述第一图像和所述第二图像来确定一组关键点匹配,所述组关键点匹配构成关键点星座;评估所述关键点星座的质量以确定关键点星座质量水平;确定所述关键点星座质量水平是否超过预定阈值;其中在超过所述阈值的情况下,基于所述关键点星座而产生校准数据;以及将所述校准数据存储到非易失性存储装置。
【专利附图】

【附图说明】
[0020]下文将结合附图描述所揭示的方面,提供附图以说明且非限制所揭示的方面,其中相同的标号表不相同的兀件。
[0021]图1展示包含包括两个图像传感器的立体成像装置的成像环境。
[0022]图2A展示两个成像传感器围绕X、y和z轴的相对位置。
[0023]图2B展示在一个传感器围绕X轴旋转时的两个成像传感器的相对位置。
[0024]图2C展示在一个传感器围绕I轴旋转时的两个成像传感器的相对位置。
[0025]图2D展示在一个传感器围绕z轴旋转时的两个成像传感器的相对位置。
[0026]图3是实施至少一个操作实施例的成像装置的框图。
[0027]图4是包含具有y和z轴中的失准的关键点的立体图像对的实例。还可以看到围绕z轴的旋转失准。
[0028]图5是在一组关键点匹配具有充分质量的情况下用于俘获和对准立体图像对的过程的流程图。
[0029]图6是用于调整立体图像对的过程的流程图。
[0030]图7A是用于验证关键点星座的质量的过程的流程图。
[0031]图7B是说明用于确定立体图像对的失准估计对关键点星座中的随机噪声的敏感度的过程的流程图。
[0032]图8A到B展示立体图像对的左边图像和右边图像。
[0033]图9A展示图8A到B的图像的关键点星座。
[0034]图9B说明在已修剪关键点星座之后的关键点星座。
[0035]图10说明由来自图8A的图像805和来自图8B的图像810两者构成的图像1005。【具体实施方式】
[0036]如上文所描述,两个或两个以上成像传感器之间的相对失准可影响由成像装置产生的立体图像对的质量。在一些情况下,此失准不仅导致较低质量的立体图像,而且还可能引发身体效应,例如观看图像的人会头晕。因此,需要减少或消除此失准以确保高质量立体图像对和较高的客户满意度。
[0037]—个实施例是电子装置中的用于校准成对图像传感器的系统和方法。所揭示的设备和方法可在装置的正常使用期间连续地且透明地操作。因此,这些方法和设备可减少或消除用户起始或以其它方式促进明确校准过程的需要。所属领域的技术人员将认识到,这些实施例可在硬件、软件、固件或其任何组合中实施。
[0038]在一个实施方案中,所述系统可经配置以用第一成像传感器俘获目标对象的第一图像,且用第二成像传感器俘获所述目标对象的第二图像,以便形成所述目标对象的立体图像。所述系统可随后执行所述第一图像与所述第二图像之间的关键点匹配以形成关键点星座。关键点可为图像上的展现出特别唯一的特性的独特区。举例来说,可将展现出特别的图案或边缘的区识别为关键点。关键点匹配可包含一对点,其中在第一图像中识别出一个点,且在第二图像中识别出第二点。关键点匹配还可包含成对的区,其中一个区来自第一图像,且一个区来自第二图像。每一图像的这些点或区可展现出高度的类似性。可将针对立体图像对而识别出的所述组关键点匹配称作关键点星座。
[0039]随后由系统或设备来评估关键点星座的质量水平。如果关键点星座的质量水平超过质量阈值,那么随后可基于所述关键点星座来调整立体图像对。还可将从关键点星座导出的校准数据存储到非易失性存储装置。随后可基于所述校准数据来调整额外的立体图像对。这些图像对可包含具有不超过上文所描述的质量阈值的关键点星座的图像。此方法可提闻立体图像对的对准。
[0040]如所提到的,在使用关键点星座来调整立体图像对之前,对关键点星座进行评估以确定关键点星座的质量是否超过质量阈值。如果关键点星座的质量超过质量阈值,那么其可指示所述关键点星座使得可基于所述星座中所包含的关键点匹配来确定立体图像对的准确且完整的调整。可基于若干准则来确定关键点星座是否具有充分的质量。举例来说,可检查星座中所包含的关键点的数目和位置。举例来说,与更靠近图像中心的关键点相比,更靠近图像边缘的关键点可提供相对于图像传感器围绕z轴的相对横滚的更准确的调整。当一个图像传感器相对于另一图像传感器围绕z轴横滚时,更靠近第一图像的边缘的关键点的位置可经历比更靠近图像中心的关键点的位置更大的相对移位。类似地,当第一图像传感器围绕y或垂直轴相对于第二图像传感器失准时,在与更靠近第一图像的中心的关键点相比,更靠近所述图像的左边缘或右边缘的关键点的位置可展现出更大的相对移位。在存在围绕X或水平轴的横滚的失准时,更靠近顶部或底部图像边缘的关键点可经历更大的移位。
[0041]一些实施方案可基于关键点星座是否在到图像的每一隅角的最小接近度内含有充分的关键点匹配来评估关键点星座的质量。举例来说,可给予星座的每一关键点与关键点距图像的每一隅角的距离成反比的四个得分。随后可将每一相应隅角的关键点的得分相加以产生隅角接近度得分。随后可对照质量阈值来评估此得分以确定关键点星座在到图像的每一隅角的接近度内是否包含足够的关键点匹配。通过确保在到图像的每一隅角的接近度内的充足数目的关键点,可针对星座的用来实现对立体图像对的准确且完整的调整的能力来评估关键点星座的质量。
[0042]一些实施方案可至少部分基于根据星座中的关键点的投影矩阵对关键点位置中的小扰动的敏感度来评估关键点星座的质量。可通过将随机噪声添加到所估计的关键点位置来产生这些小扰动。如果添加到所估计的关键点位置的噪声仅在投影矩阵中引起相对小的变化,那么所述投影矩阵的稳定性对于基于关键点星座来调整立体图像来说可为充足的。
[0043]一些实施方案可组合上文所描述的准则以确定关键点星座的质量是否高于星座的质量阈值。举例来说,一个实施方案可评估关键点的数目及其到立体图像对的图像的隅角或边缘的接近度,以及从关键点导出的投影矩阵对关键点的所估计位置中的小扰动的敏感度,以确定关键点星座质量量度是否高于质量阈值。
[0044]—旦已确定立体图像对的关键点星座具有充分质量,一些实施方案可基于星座内的关键点匹配来确定垂直视差向量。这些垂直视差向量可表示第一图像中的关键点在与第二图像中的匹配关键点相比时的垂直移位。
[0045]在一些实施方案中,将基于垂直视差向量来确定垂直视差度量。举例来说,在一些实施方案中,可确定垂直视差向量的最大大小。可将垂直视差度量设定为最大大小。一些其它实施方案可对垂直视差向量的长度或大小求平均,且将垂直视差度量设定为平均值。随后可将垂直视差度量与垂直视差阈值进行比较。如果垂直视差度量低于阈值,那么其可指示立体图像对的图像是充分对准的。垂直视差阈值可等效于图像高度的百分比。举例来说,在一些实施方案中,垂直视差阈值是图像高度的百分之二(2)。在其它实施方案中,垂直视差阈值将是图像高度的百分之一(I)。如果垂直视差向量或平均值高于阈值,那么其可指示立体图像对的图像之间的失准,使得应执行立体图像的调整。
[0046]为了调整立体图像对,可执行关键点匹配之间的仿射拟合。此可近似立体图像对的图像之间的横滚、俯仰和尺度差异。随后可对关键点匹配执行基于仿射拟合的校正以校正横滚、俯仰和尺度差异。随后可对经调整的关键点执行投影拟合以确定可能存在于立体图像对的图像之间的任何偏航差异。或者,可对未经调整的关键点执行投影拟合。基于所估计的横滚、偏航、俯仰和尺度值,可确定投影矩阵。随后可基于所述投影矩阵来调整所述关键点。在一些情况下,还可基于投影矩阵来调整立体图像对。
[0047]在已经调整关键点之后,可针对经调整的关键点星座中的每一关键点匹配来确定新的垂直视差向量。还可如上所述来确定新的垂直视差度量。如果垂直视差度量低于垂直视差阈值,那么调整过程可为完整的。上文所描述的投影矩阵可存储在非易失性存储装置上。所存储的投影矩阵可用于调整在从其导出关键点星座的立体图像对之后俘获的额外的立体图像对。举例来说,可使用投影矩阵来调整由成像装置俘获的新的每一组图像对。此调整可确保立体图像被适当地对准以供用户观看。
[0048]如果垂直视差度量高于垂直视差阈值,那么上文所论述且用于调整关键点位置的投影矩阵可未提供对关键点和稍后的立体图像对的充分调整来确保令人满意的观看体验。因此,在一些实施方案中,可执行对关键点星座的额外调整。举例来说,可基于经调整的关键点来执行新的额外仿射拟合操作。此仿射拟合可针对经调整的关键点星座产生对横滚、俯仰和尺度调整的新估计。还可执行投影拟合以产生偏航估计。可使用所得的投影矩阵来进一步调整关键点星座。此过程可重复,直到经调整的关键点星座的垂直视差度量低于预定质量阈值为止。
[0049]在以下描述中,给出具体细节以提供对实例的透彻理解。然而,所属领域的技术人员将理解,可在没有这些具体细节的情况下实践所述实例。举例来说,可以框图展示电组件/装置以便不以不必要的细节混淆所述实例。在其它实例中,可详细展示此些组件、其它结构和技术以进一步解释所述实例。
[0050]还应注意,可将所述实例描述为过程,所述过程被描绘为流程图、操作程序图、有限状态图、结构图或框图。虽然流程图可将操作描述为连续过程,但许多操作可并行地或同时地执行,且所述过程可重复。另外,操作的次序可重新布置。过程在其操作完成时终止。过程可对应于方法、功能、程序、子例程、子程序等。当过程对应于软件功能时,其终止对应于所述功能到调用功能或主功能的返回。
[0051]所属领域的技术人员将理解,可使用多种不同技术及技艺中的任一者来表示信息及信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示贯穿以上描述中而参考的数据、指令、命令、信息、信号、位、符号及码片。
[0052]图1展示包含包括两个图像传感器110和120的立体成像装置100的成像环境。成像装置100被说明为俘获场景130。相机的每一成像传感器包含由暗线160a到d指示的一视场。左边相机110包含由线160a和160c定界的视场140。右边相机120包含由线160b和160d定界的视场150。视场140和150在区域170中重叠。左边相机的视场140包含场景的不在相机120的视场内的一部分。此被表不为区域180。右边相机的视场150包含场景的不在相机110的视场内的一部分。此被表不为区域190。两个相机110和120的视场中的此差异可经夸示以用于说明的目的。
[0053]每一相机110和120的视场中的差异可产生图像之间的取景视差。图1还展示两个相机Iio和120之间的水平移位105。此水平移位提供在立体图像中用来产生深度感知的取景视差。虽然两个成像传感器之间的移位可为成像装置的设计的有意部分,但还可存在两个成像传感器110和120之间的其它无意移位或失准。
[0054]图2A展示两个成像传感器围绕x(水平)、y (垂直)和z (出入图)轴的相对位置。两个成像传感器110和120包含在成像装置100中。可将成像传感器110和120之间的预定距离105设计到成像装置100中。如图所示,左边成像传感器110可参考垂直y轴240相对于成像传感器120向上或向下移。成像传感器110还可围绕X轴230相对于成像传感器120向右或向左移。成像传感器110还可参考z轴250相对于右边成像传感器120移“入”图或移“出”图。可通过对由成像装置100产生的立体图像对进行调整来补偿成像传感器110和120之间的这些失准。
[0055]图2B到D展示两个成像传感器的相对位置,其中成像传感器110相对于成像传感器120围绕轴旋转。图2B展示成像传感器110围绕水平轴旋转,从而引发相对于成像传感器120的俯仰上的失准。图2C展示成像传感器110围绕垂直轴的旋转,从而引发相对于成像传感器120的偏航上的失准。图2D展示成像传感器110围绕延伸入和延伸出图的“z”轴的旋转。此引发相对于成像传感器120的横滚上的失准。可通过对由成像装置100产生的立体图像对进行调整来补偿图2A到D中所说明的失准。
[0056]图3是实施至少一个操作实施例的成像装置的框图。成像装置100包含处理器320,其操作地耦合到若干组件,包含存储器330,第一图像传感器315、第二图像传感器316、工作存储器305、存储装置310、显示器325和输入装置390。
[0057]成像装置100可经由输入装置390接收输入。举例来说,输入装置390可包括成像装置100中所包含的一个或一个以上输入键。这些键可控制在电子显示器325上显示的用户接口。或者,这些键可具有不与用户接口相关的专用功能。举例来说,输入装置390可包含快门释放键。成像装置100可将所俘获的图像存储到存储装置310中。这些图像可包含由成像传感器315和316俘获的立体图像对。工作存储器305可由处理器320用来存储在成像装置100的正常操作期间产生的动态运行时间数据。
[0058]存储器330可经配置以存储若干软件或固件代码模块。这些模块含有配置处理器320以执行下文所描述的某些功能的指令。举例来说,操作系统模块380包含配置处理器320以管理装置100的硬件和软件资源的指令。传感器控制模块335包含配置处理器320以控制成像传感器315和316的指令。举例来说,传感器控制模块335中的一些指令可配置处理器320以用成像传感器315或成像传感器316来俘获图像。因此,传感器控制模块335中的指令可表示一个用于用图像传感器俘获图像的装置。传感器控制模块335中的其它指令可控制图像传感器315的设定。举例来说,可通过传感器控制模块335中的指令来设定快门速度、光圈或图像传感器敏感度。
[0059]关键点模块340包含配置处理器320以识别由第一成像传感器315和第二成像传感器316俘获的图像内的关键点的指令。如早先所提及,在一个实施例中,关键点是图像上的展现出特别唯一的特性的独特区。举例来说,可将展现出特别的图案或边缘的区识别为关键点。关键点模块340可首先分析由目标场景的成像传感器315俘获的第一图像,且识别第一图像内的场景的关键点。关键点模块340可随后分析由相同目标场景的成像传感器316俘获的第二图像,且识别第二图像内的场景的关键点。关键点模块340可随后将第一图像中找到的关键点与第二图像中找到的关键点进行比较,以便识别第一图像与第二图像之间的关键点匹配。关键点匹配可包含一对点,其中在第一图像中识别出一个点,且在第二图像中识别出第二点。所述点可为图像中的单个像素或2、4、8、16或更多个相邻像素的群组。关键点匹配还可包含成对的区,其中一个区来自第一图像,且一个区来自第二图像。每一图像的这些点或区可展现出高度的类似性。可将针对立体图像对而识别出的一组关键点匹配称作关键点星座。因此,关键点模块中的指令可表示一个用于确定立体图像对的第一图像与第二图像之间的关键点匹配的装置。
[0060]关键点质量模块350可包含配置处理器320以评估由关键点模块340确定的关键点星座的质量的指令。举例来说,关键点质量模块中的指令可评估关键点星座中的关键点匹配的数目或相对位置。关键点星座的质量可包括多个得分,或其可为若干得分的经加权的总和或经加权的平均值。举例来说,可基于距图像的边缘的第一阈值距离内的关键点匹配的数目来给关键点星座打分。类似地,关键点星座还可接收基于关键点匹配的数目的得分。还可基于每一关键点到图像的隅角的接近度来评估关键点星座。如早先所描述,可向每一关键点指派一个或一个以上隅角接近度得分。所述得分可与关键点距图像的隅角的距离成反比。随后可将每一隅角的隅角接近度得分相加以确定关键点星座的一个或一个以上隅角接近度得分。在确定关键点星座的质量是否高于质量阈值时,可将这些接近度得分与关键点隅角接近度质量阈值进行比较。
[0061]还可评估从关键点导出的投影拟合的敏感度以至少部分确定总的关键点星座质量得分。举例来说,可使用关键点星座来获得第一仿射拟合和第一投影拟合。这可产生关键点星座的第一组角度估计。接下来,可将随机噪声添加到关键点位置。在已经通过添加随机噪声而更改了关键点位置之后,随后可基于有噪声关键点星座来执行第二仿射拟合和第二投影拟合。
[0062]接下来,可确定一组测试点。可基于第一组角度估计且还可基于第二组角度估计来调整所述测试点。随后可确定第一组角度估计与第二组角度估计之间的每一测试点的位置上的差异。随后可将测试点位置上的差异的绝对值与投影拟合敏感度阈值进行比较。如果测试点位置上的差异高于投影拟合敏感度阈值,那么关键点星座质量水平可能不足以用于执行对关键点星座和立体图像对的调整。如果所述敏感度低于阈值,那么此可指示关键点星座具有充分的质量来用作对立体图像对进行调整的基础。
[0063]上文所描述的得分可经组合以确定关键点质量水平。举例来说,可执行上文所描述的得分的经加权的总和或经加权的平均值。随后可将此经组合的关键点质量水平与关键点质量阈值进行比较。如果关键点质量水平高于阈值,那么可使用关键点星座来确定立体图像对的图像之间的失准。[0064]垂直视差确定模块352可包含配置处理器320以确定立体图像对的关键点星座中的匹配的关键点之间的垂直视差向量。可能已经通过关键点模块340来确定关键点星座。垂直视差向量的大小可表示用于俘获立体图像对的图像的成像传感器之间的任何失准的程度。因此,垂直视差确定模块中的指令可表示一个用于确定关键点匹配之间的垂直视差的装置。
[0065]仿射拟合模块355包含配置处理器320以对立体图像对的关键点匹配星座执行仿射拟合的指令。仿射拟合模块355可接收立体图像对的图像中的每一组中的关键点位置以作为输入。通过对关键点星座执行仿射拟合,仿射拟合模块可产生两个图像之间的垂直视差的估计。可使用所述垂直视差估计来近似两个图像之间的俯仰上的误差。由仿射拟合模块执行的仿射拟合还可用于估计立体图像对的第一图像中的关键点与立体图像对的第二图像的关键点之间的横滚、俯仰和尺度上的失准。
[0066]仿射校正模块360可包含配置处理器320以基于由仿射拟合模块355产生的仿射拟合来调整关键点位置的指令。通过调整图像内的关键点的位置,仿射校正模块可校正来自立体图像对的两组关键点之间的横滚、俯仰或尺度上的失准。
[0067]投影拟合模块365包含配置处理器320以基于立体图像对的关键点星座而产生投影矩阵的指令。所述投影拟合还可产生偏航角度调整估计。由投影拟合模块365产生的投影矩阵可用于基于立体图像对的一个图像中的一组关键点的位置来调整立体图像对的另一图像中的第二组关键点的位置。为了产生投影矩阵,投影拟合模块365接收立体图像对的关键点星座以作为输入。投影校正模块370包含配置处理器320以基于投影矩阵对立体图像对的关键点星座或一个或两个图像执行投影校正的指令。
[0068]主控制模块375包含用以控制成像装置100的整体功能的指令。举例来说,主控制模块375可调用传感器控制模块335中的子例程以通过首先使用成像传感器315俘获第一图像且随后使用成像传感器316俘获第二图像来俘获立体图像对。主控制模块可随后调用关键点模块340中的子例程来识别立体图像对的图像内的关键点匹配。关键点模块340可产生包含第一图像与第二图像之间的关键点匹配的关键点星座。主控制模块375可随后调用关键点质量模块中的子例程以评估由关键点模块340识别的关键点星座的质量。如果关键点星座的质量高于阈值,那么主控制模块可随后调用垂直视差确定模块中的子例程以确定由关键点模块340确定的关键点星座中的匹配的关键点之间的垂直视差向量。如果垂直视差的量指示需要调整立体图像对,那么主控制模块可调用仿射拟合模块355、仿射校正模块360、投影拟合模块365和投影校正模块370中的子例程,以便调整关键点星座。还可调整立体图像对。
[0069]主控制模块375还可将例如由投影拟合模块365产生的投影矩阵等校准数据存储在例如存储装置310等稳定的非易失性存储装置中。此校准数据可用于调整额外的立体图像对。
[0070]图4是包含具有y和z轴中的失准的关键点的立体图像400的实例。还可以看到围绕z轴的旋转失准。立体图像400包含两个图像400a和400b。为了本发明的目的,说明左边图像400a与右边图像400b之间的经夸示的失准。相对于左边图像400a,右边图像400b表示比图像400a的透视图稍微更靠近汽车的透视图。俘获图像400b的成像传感器可定位成比俘获图像400a的成像传感器更靠近汽车490。[0071]俘获图像400b的成像传感器还相对于俘获图像400a的成像传感器具有围绕z轴的旋转。因此,图像400a的左侧上的关键点在图像中显得比图像400b的匹配的关键点更高。举例来说,反射435a和445a在图像400a中比反射435b和445b在图像400b中更高。图像400a的右侧上的关键点比图像400b的匹配的关键点更低。举例来说,阴影关键点420a的边缘在图像中比其在图像400b中的匹配的关键点420b更低。类似地,后方拉力赛II轮的中心、关键点415a在图像400a中比匹配的关键点415b在图像400b中更高。可由所揭示的方法和设备来使用图像400a和400b的匹配的关键点的相对位置来调整立体图像对400。
[0072]图5是在一组关键点匹配具有充分质量的情况下用于俘获和对准立体图像对的过程500的流程图。过程500可实施于图3中所说明的装置100的存储器330中。过程500开始于开始方框505且随后移动到方框510,其中用第一成像传感器俘获第一图像。过程500随后移动到方框515,其中用第二成像传感器俘获第二图像。如可了解,第一图像和第二图像的俘获可实质上同时发生,以便适当地记录所关注场景的立体图像。可由图3中所说明的传感器控制模块335中所包含的指令来实施处理方框510和515。
[0073]过程500随后移动到方框520,其中确定关键点星座。关键点星座可包含第一图像与第二图像之间的匹配的关键点。可由图3中所说明的关键点模块340中所包含的指令来实施处理方框520。过程500随后移动到方框525,其中评估关键点星座的质量以确定关键点星座质量水平。可由图3中所说明的关键点质量模块350中所包含的指令来实施处理方框525。过程500随后移动到决策方框530,其中将关键点星座质量水平与质量阈值进行比较。如果关键点星座质量水平低于阈值,那么过程500移动到决策方框550。
[0074]如果关键点质量水平大于阈值,那么过程500移动到处理方框540,其中基于关键点来调整包含第一图像和第二图像的立体图像对。过程500随后移动到决策方框550,其中确定是否应俘获更多图像。举例来说,在一些实施方案中,过程500可连续地操作以便维持立体成像装置的当前校准。在这些实施方案中,举例来说,过程500可从决策方框550返回到处理方框510,其中过程500将重复。在一些其它实施方案中,过程500可过渡到结束方框 545。
[0075]图6是用于调整立体图像对的来自图5的过程540的流程图。过程540可由图3中所说明的装置100的存储器330中所包含的模块实施。过程540开始于开始方框605且随后移动到处理方框610,其中确定关键点匹配之间的垂直视差。可由图3中所说明的垂直视差确定模块352中所包含的指令来实施处理方框610。在一些实施方案中,可针对每一关键点匹配来确定垂直视差向量。垂直视差向量可指示立体图像对的第一图像中的关键点的垂直位置如何对应于立体图像对的第二图像中的匹配的关键点的垂直位置。
[0076]在已经确定每一关键点匹配的垂直视差之后,过程540移动到决策方框615。决策方框615确定立体图像对的两个图像之间的垂直视差是否小于阈值。在一些实施方案中,可将在方框610中产生的每一垂直视差向量的大小与阈值进行比较。如果任何向量大小均高于阈值,那么过程540可认为垂直视差不小于阈值,且过程540可移动到方框680。其它实施方案可对在处理方框610中产生的所有垂直视差向量的长度求平均。随后可将平均值与垂直视差阈值进行比较。在这些实施方案中,如果平均垂直视差不小于阈值,那么过程540可认为垂直视差不小于阈值,且过程540移动到处理方框620。[0077]可由图3中所说明的仿射拟合模块355中所包含的指令来实施处理方框620。在处理方框620中,确定关键点匹配的仿射拟合以近似立体图像对的第一图像与第二图像之间的横滚、俯仰和尺度差异。过程540随后移动到处理方框625,其中基于关键点的投影拟合来确定偏航估计。可由图3中所说明的投影拟合模块365中所包含的指令来实施处理方框 625。
[0078]过程540随后移动到方框630,其中创建投影矩阵。在一些实施方案中,处理方框630接收由方框620中产生的放射变换产生的所估计的角度和尺度校正以及由方框625中执行的投影拟合产生的偏航估计以作为输入。方框630可产生投影矩阵,所述投影矩阵将立体图像对的一个图像中的数据的坐标映射到所述立体图像对的第二图像中的对应数据的坐标。
[0079]过程540随后移动到方框635,其中使用投影矩阵来调整立体图像对的关键点。过程540随后返回到方框610且方框540重复。
[0080]如果在决策方框615处,确定垂直视差小于阈值,那么立体图像对的关键点可为充分对准的。过程540随后移动到方框645,其中使用在方框630中创建的投影矩阵来调整立体图像对。过程540随后移动到方框680,其中存储用于投影校正的矩阵。在一些实施方案中,可将所述矩阵存储在非易失性存储器中。举例来说,可将其存储在图3中所说明的装置100的存储装置310中。在对立体图像的处理以及投影矩阵的存储完成之后,过程540随后移动到结束方框690。
[0081]图7A是说明用于验证关键点星座的质量的过程的一个实施方案的流程图。可由图3中所说明的关键点质量模块350中所包含的指令来实施过程750。过程750开始于开始方框755且随后移动到方框760,其中确定每一图像隅角的第一阈值距离内的关键点匹配的数目。过程750随后移动到决策方框765,其中将方框760中所确定的每一隅角的关键点的数目与第一质量阈值进行比较。如果每一隅角的关键点的数目低于第一质量阈值,那么过程750移动到下文论述的方框796。如果每一隅角的关键点的数目高于第一质量阈值,那么过程750移动到方框770,方框770确定距图像的垂直边缘第二阈值距离内的关键点匹配的数目。过程750随后移动到方框775,方框775确定方框770中所确定的关键点的数目是否高于第二质量阈值。如果方框770中所确定的关键点的数目低于第二质量阈值,那么过程750移动到下文论述的方框799。如果关键点的数目高于第二质量阈值,那么过程750移动到方框780。在方框780中,确定距图像的水平边缘第三阈值距离内的关键点匹配的数目。过程750随后移动到方框785,方框785确定方框780中所确定的关键点匹配的数目是否高于第三质量阈值。如果是,那么过程750移动到方框790。
[0082]在方框790中,过程750确定立体图像对的两个图像之间的失准的估计的敏感度测量值。举例来说,在一些实施方案中,可确定立体图像对的两个图像之间的俯仰、横滚、尺度或偏航误差的估计。这些估计可至少部分基于关键点星座。当将随机噪声添加到关键点星座中所包含的关键点的至少一部分的位置时,横滚、俯仰、偏航或尺度上的这些估计可改变。方框790确定在将随机噪声添加到关键点星座的若干部分时角度测量值上的此改变的测量值。在确定敏感度的测量值之后,过程750移动到方框795,其中将敏感度测量值与敏感度阈值进行比较。如果敏感度测量值高于敏感度阈值,那么使用关键点星座来用于图像对准可为不可靠的。在那种情况下,过程750移动到方框799,其中将关键点星座质量测量值设定为低于第四质量阈值的值。
[0083]在决策方框795中,如果在方框790中确定的敏感度测量值低于敏感度阈值,那么过程750移动到方框796,其中将关键点质量测量值设定为高于第四质量阈值的值。过程750随后移动到结束方框798。
[0084]图7B是说明用于确定立体图像对的失准估计对关键点星座中的随机噪声的敏感度的过程的流程图。所述过程随后基于敏感度来设定关键点星座的质量水平。可由图3中所说明的关键点质量模块350中所包含的指令来实施过程700。过程700开始于开始方框705,且随后移动到处理方框710,其中针对立体图像对中的一组关键点匹配而产生对横滚、俯仰和偏航角度的估计。在一些实施方案中,使用图6中所描述的过程来产生横滚、俯仰和偏航角度估计。举例来说,处理方框620、625、630和635可包含在处理方框710中。方框715将随机噪声添加到立体图像对的关键点匹配。方框720针对包含随机噪声的关键点匹配估计横滚、俯仰和偏航角度。与方框710 —样,可如图6中所描述来执行对横滚、俯仰和偏航的估计。在方框725中,确定在方框710中所产生的角度估计与在方框720中所产生的估计之间的变化。在一些实施方案中,将每一关键点匹配的每一角度估计之间的差异相加在一起以确定所述变化。在其它实施方案中,可对每一关键点的角度估计之间的差异求平均以确定所述变化。在一些其它实施方案中,可识别角度估计上的最大差异。一些其它实施方案可确定角度估计上的差异之间的统计方差或标准偏差。在一些实施方案中,对所述变化的确定可基于所述方差或标准偏差。
[0085]在方框730中,可将在方框725中所确定的方差与阈值进行比较。如果所述方差高于阈值,那么过程700移动到方框745,其中确定关键点星座的质量不可接受来用于调整立体图像对。如果所述方差低于阈值,那么过程700移动到方框740,其中确定关键点星座质量水平可接受来用于调整立体图像对。过程700随后移动到结束方框740。
[0086]图8A到B展示立体图像对的左边图像805和右边图像810。通过使用所揭示的方法,可提高图像805和图像810的对准。如先前所论述,可确定图像805和图像810之间的关键点匹配。
[0087]图9A展示图8A到B的图像的关键点星座。在图9A中,使用白色来表示关键点匹配的位置,而使用黑色来表示所述位置中的关键点匹配的缺乏。举例来说,暗/黑色区940可对应于原始图像805和810中的桌子840的至少一部分。因为所述桌子相对无特色且具有一致的色彩,所以图像中的桌子的区域不提供图像之间的关键点匹配。类似地,暗/黑色区920可对应于原始图像805和810的白板820以用于类似原因。关键点图的白色区930可对应于原始图像805和810中的桌子830上的火车。因为火车与桌子形成对照,所以火车可提供图像之间的关键点。
[0088]在建立初始组关键点之后,一些实施方案可基于一组准则来减少或“修剪”关键点的数目。举例来说,如果一些关键点匹配位于彼此的阈值距离内,那么一些实施方案可删除关键点匹配中的一者或一者以上以减少关键点星座内的冗余且实现更有效的处理。可在图9B中观察到此修剪过程的一个结果。
[0089]图9B说明在已修剪关键点星座之后的关键点星座960。应注意,尤其保留了关键点950的对应于火车830的一部分。一旦已修剪关键点星座,便计算对应关键点之间的垂直视差向量。这可例如由图6中的处理方框610来执行。[0090]图10说明由来自图8A的图像805和来自图8B的图像810两者构成的图像1005。图像1005还包含来自关键点星座的选定关键点之间的垂直视差向量1020。如果由垂直视差向量指示的垂直视差高于阈值,那么可执行对图像的调整以更好地将图像对准。为了确定垂直视差是否高于阈值,可如早先所描述来确定垂直视差度量。随后将垂直视差度量与阈值进行比较。如果垂直视差度量高于阈值,那么可基于关键点星座来调整图像。[0091]为了调整立体图像对,可基于两个图像805和810的关键点星座来确定调整。一个实施方案可首先确定像素中的焦距。下文提供在一个实施方案中使用Matlab ?代码的若干部分来执行对关键点星座和立体图像对的调整。Matlab ?代码引用若干变量。将首先提供在给定实施方案中的所述变量的定义。
[0092].hFOV是立体图像对的每一图像的水平视场(以度计)。
[0093].image_width是立体图像对的一个图像的以像素计的图像宽度。
[0094].image_height是立体图像对的一个图像的以像素计的图像高度。
[0095]?向量dv是NX4维向量,其中N是关键点匹配的数目。如下定义向量的列维度:
[0096]〇第一列是第一图像中的关键点的X坐标
[0097]〇第二列是第一图像中的关键点的y坐标
[0098]〇第三列是第二图像中的关键点的X坐标
[0099]〇第四列是第二图像中的关键点的y坐标;
[0100]可在一些实施方案中使用以下Matlab ?代码段以确定图像的焦距:
[0101]代码段1:
[0102]focal_distance=图像宽度 / 2 / tan (hFOV / 2 / 180*pi)
[0103]接下来,可执行仿射变换以估计两个图像之间的垂直旋转(俯仰)、横滚旋转(围绕z轴)和尺度差异。如下为用以执行仿射变换的Matlab ?代码:
[0104]代码段2:
[0105]in=[dv (: , I:2) dv (: , I)./ dv (: , I)];
[0106]in=in/ ;
[0107]in (I,:) =in (I,:) _image_height / 2;
[0108]in(2,:) =in(2,:)-1mage_width / 2;
[0109]out=[dv (: , I) +dv (: , 3)];
[0110]out=out_image_height / 2;
[0111]out=out1 ;
[0112]r=out*pinv (in);
[0113]outn=r*in ;
[0114]outd=in(I,:)+outn_out;
[0115]scale=sqrt (r (I) '2+r (2) '2);
[0116]r=r / z ;
[0117]roll=-atan(r(3) / focal_distance) / pi*180 ;
[0118]pitch=asin (r (2)) / pi*180
[0119]接下来,可执行投影变换以获得水平旋转或偏航的估计,如以下代码段3中所示:
[0120]代码段3:[0121]outd=outd / focal_distance
[0122]in=in / focal_distance ;
[0123]yaw= ((in(I,:)-outd)*pinv(in(2,:).*outd)) / pi*180 ;
[0124]在使用关键点星座来调整立体图像对之前,可评估关键点星座的质量以确定其是否超过阈值。在一些实施方案中,基于将随机扰动添加到关键点坐标是否将从关键点导出的横滚、俯仰和偏航角度估计的估计改变了阈值水平以上来确定关键点星座质量。一些实施方案可利用类似于图7B中所说明的过程700的过程来验证关键点星座的质量。
[0125]在一些实施方案中,一旦确定角度估计且验证关键点星座的质量,便基于角度来调整关键点位置。在一些实施方案中,第一图像中的关键点位置维持它们的原始坐标,且第二图像中的关键点经调整以更好地与第一图像对准。在其它实施方案中,调整两个图像中的关键点位置。举例来说,这些实施方案可基于等效于上文计算的角度估计的一半的角度估计来调整每一图像中的关键点。可通过将所确定的尺度估计用作关键点上的乘法因子来执行基于尺度的调整。举例来说,以下等式2可用于基于尺度估计来调整关键点:
[0126]代码段4:
[0127]new_keypoint_coordinate=old_keypoint_coordinate*scale.[0128]或者,一些实施方案可基于尺度估计来调整两组关键点。举例来说,在那些实施方案中,可利用代码段5。
[0129]代码段5:
[0130]new_keypoint_coordinate_in_first image =
[0131]old_keypoint_coordinate_in first_image*scale / 2.[0132]new_keypoint_coordinate_in_second_image =
[0133]old_keypoint_coordinate_in second_image*_scale / 2.[0134]在一个实施方案中,为了基于偏航、俯仰和横滚的角度估计来调整关键点,基于偏航、俯仰和横滚角度估计而形成投影矩阵。下文在代码段6中展示用以建构矩阵R的Matlab ?代码。
[0135]代码段6:
[0136]function R=get_matrix(roll, yaw,pitch)
[0137]%从旋转角度得到矩阵
[0138]Ra=[100 ;0cos (roll)—sin (a) ;0sin (roll) cos (roll)];
[0139]Rb=[cos(yaw)Osin(yaw) ;010 ;-sin(yaw)Ocos(yaw)];
[0140]Rc=[cos(pitch)-sin(pitch)0 ;sin (pitch)cos (pitch)0 ;001];
[0141]R=Ra*Rb*Rc ;
[0142]end
[0143]一旦已经建构投影矩阵R,在一些实施方案中,可用下文提供的Matlab?代码来调整关键点。
[0144]代码段7:
[0145]function dv_new =
[0146]proj_with_kp(dv, R, hFOV, image_width, image_height)
[0147]hF0V=hF0V / 180*pi ;[0148]D=image_width / 2 / tan(hFOV / 2);
[0149]x=image_height ;
[0150]y=image_width ;
[0151]p=ones (3,3);
[0152]p(l:2, 3) =p (I:2, 3)*D ;
[0153]p (3,I:2) =p (3,1:2) / D ;
[0154]R=p.*R;
[0155]dv_new=dv ;
[0156]for kk=l: length (dv)
[0157]i=dv(kk, I);
[0158]j=dv(kk, 2);
[0159]%投影变换
[0160]In=R*[j-y / 2 ;i_x / 2 ;1] ; % j, y:cols
[0161]jn=ln (I) / in (3) +y / 2;
[0162]in=in (2) / In (3) +x / 2;
[0163]dv_new (kk, 3) =in-1 ;
[0164]dv_new (kk, 4) =jn-j ;
[0165]end
[0166]end
[0167]在已经调整关键点之后,可计算新的垂直视差向量。可基于下文所论述的垂直视差向量来确定垂直视差度量。在一些实施方案中,可将垂直视差度量与阈值进行比较,例如,如图6中的决策方框615中所说明。如果所述度量低于阈值,那么随后可基于以上变换来调整整个图像。一些其它实施方案可在每次反复中调整立体图像对。由上文所描述的过程而产生的投影校正可经存储,且用于校正在形成投影矩阵之后俘获的额外的立体图像对。
[0168]所述技术可用众多其它通用或专用计算系统环境或配置来操作。可适合于与本发明一起使用的众所周知的计算系统、环境和/或配置的实例包含(但不限于)个人计算机、服务器计算机、手持式或膝上型装置、多处理器系统、基于处理器的系统、可编程消费型电子器件、网络PC、微型计算机、大型计算机、包含以上系统或装置中的任一者的分布式计算环境J等等。
[0169]如本文中所使用,指令是指用于处理系统中的信息的计算机实施的步骤。指令可在软件、固件或硬件中实施,且包含由系统的组件承担的任何类型的经编程步骤。
[0170]处理器可为任何常规的通用单芯片或多芯片处理器,例如Pentium?处理器、Pentium? Pro处理器、8051处理器、MIPS?处理器、Power PC?处理器或Alpha?处理器。另外,处理器可为任何常规的专用处理器,例如数字信号处理器或图形处理器。处理器通常具有常规的地址线、常规的数据线以及一个或一个以上常规的控制线。
[0171]系统包括如详细论述的各种模块。如所属领域的技术人员可了解,模块中的每一者包括各种子例程、程序、定义语句和宏。模块中的每一者通常被单独编译且链接到单个可执行程序中。因此,对模块中的每一者的描述出于便利而用于描述优选系统的功能性。因此,模块中的每一者所经历的过程可被任意地重新分布到其它模块中的一者、一起组合在单个模块中,或使得在(例如)可共享的动态链接库中可用。
[0172]系统可结合例如Linux? UNIX?或Microsoft Windows?等各种操作系统而使用。
[0173]系统可以例如C、C++、BASIC、Pascal或Java等任何常规的编程语目来编与,且在常规的操作系统下运行。C、C++、BASIC、Pascal、Java和FORTRAN是业界标准的编程语言,可针对其使用许多商用的编译器来形成可执行代码。还可使用例如Perl、Python或Ruby等经解译语言来编写系统。
[0174]所属领域的技术人员将进一步了解,可将结合本文中所揭示的实施例而描述的各种说明性逻辑区块、模块、电路和算法步骤实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此互换性,上文已大致关于其功能性而描述了各种说明性组件、块、模块、电路及步骤。所述功能性是实施为硬件还是软件取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述功能性,但所述实施决策不应被解释为导致偏离本发明的范围。
[0175]可使用经设计以执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块和电路。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或任何其它此配置。
[0176]在一个或一个以上实例性实施例中,所描述的功能和方法可实施于在处理器上执行的硬件、软件或固件或其任何组合中。如果实施于软件中,则可将功能作为计算机可读媒体上的一个或一个以上指令或代码而加以存储或传输。计算机可读媒体包含计算机存储媒体与包括促进计算机程序从一处传递到另一处的任何媒体的通信媒体两者。存储媒体可为可由计算机存取的任何可用媒体。以实例方式(且并非限制),所述计算机可读媒体可包括RAM、ROM、EEPROM、CD-R0M或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。同样,可适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。以上各者的组合也应包含在计算机可读媒体的范围内。
[0177]前述描述详细描述了本文中所揭示的系统、装置和方法的某些实施例。然而,将了解,不管前述内容在文中有多详细,可以许多方式实践所述系统、装置和方法。同样如上所述,应注意,在描述本发明的某些特征或方面时使用特定术语不应认为暗示所述术语在本文中经重新定义而限于包含本发明的特征或方面的与所述术语相关联的任何特定特性。[0178]所属领域的技术人员将了解,可在不脱离所描述的技术的范围的情况下作出各种修改和变化。此些修改和变化既定属于实施例的范围内。所属领域的技术人员还将了解,包含在一个实施例中的部分可与其它实施例呼唤;来自所描绘的实施例的一个或一个以上部分可与其它所描绘的实施例以任何组合包含在一起。举例来说,本文中所描述且/或在图中所描绘的各种组件中的任一者可经组合、互换或排除出其它实施例。
[0179]关于本发明中的实质上任何复数和/或单数术语的使用,所属领域的技术人员可在对上下文和/或应用适当时从复数转译为单数且/或从单数转译为复数。可出于清楚起见而在本文中明确地陈述各种单数/复数排列。
[0180]所属领域的技术人员将理解,一股来说,本文中所使用的术语一股既定为“开放”术语(例如,术语“包含”应被解译为“包含但不限于”,术语“具有”应被解译为“至少具有”,术语“包含”应被解译为“包含但不限于”等)。所属领域的技术人员将进一步理解,如果特定数目的所引入的权利要求叙述是既定的,那么此意图将在权利要求书中明确叙述,且在无此类叙述的情况下便不存在此类意图。举例来说,作为对理解的辅助,所附权利要求书可使用引入性短语“至少一个”和“一个或一个以上”来引入权利要求叙述。然而,此类短语的使用不应被解释为暗示由不定冠词“一”引入的权利要求叙述将含有此类所引入的权利要求叙述的任何特定权利要求限于含有仅一个此类叙述的实施例,即使在同一权利要求包含引入性短语“一个或一个以上”或“至少一个”以及例如“一”等不定冠词(例如,“一”通常应被解释为指“至少一个”或“一个或一个以上”)时也是如此;使用定冠词来引入权利要求叙述也是如此。另外,即使明确叙述了特定数目的所引入的权利要求叙述,所属领域的技术人员也将认识到,此类叙述通常应被解释为指至少所叙述的数目(例如,无修饰的叙述“两项叙述”在没有其它修饰成分的情况下通常指至少两项叙述,或两项或两项以上叙述)。此夕卜,在使用类似于“A、B以及C中的至少一者”的惯例的那些情况下,一股来说,此种构造在所属领域的技术人员将对该惯例的理解意义上是既定的(例如,“具有A、B以及C中的至少一者的系统”将包含但不限于单独具有A、单独具有B、单独具有C、共同具有A以及B、共同具有A以及C、共同具有B以及C和/或共同具有A、B以及C等等的系统)。在使用类似于“A、B或C等中的至少一者”的惯例的那些实例中,一股来说,此种构造在所属领域的技术人员将对该惯例的理解意义上是既定的(例如,“具有A、B或C中的至少一者的系统”将包含但不限于单独具有A、单独具有B、单独具有C、共同具有A以及B、共同具有A以及C、共同具有B以及C和/或共同具有A、B以及C等等的系统)。所属领域的技术人员将进一步理解,实际上无论是在描述、权利要求书还是图式中,呈现两个或两个以上选择性术语的任何分离性词语和/或短语都应当理解为预期了包含所述术语中的一者、所述术语中的任一者或这两个术语的可能性。举例来说,短语“A或B”将被理解为包含“A”或“B”或“A以及B”的可能性。
[0181]虽然已经在本文中揭示了各种方面和实施例,但所属领域的技术人员将明白其它方面和实施例。本文中所揭示的各种方面和实施例是用于说明的目的且不希望是限制性的。
【权利要求】
1.一种校准立体成像装置的方法,其包括: 用第一图像传感器俘获所关注场景的第一图像; 用第二图像传感器俘获所述所关注场景的第二图像,其中所述第一图像和第二图像构成立体图像对; 基于所述第一图像和所述第二图像来确定一组关键点匹配,所述组关键点匹配构成关键点星座; 评估所述关键点星座的质量以确定关键点星座质量水平;以及确定所述关键点星座质量水平是否超过预定阈值,其中在超过所述阈值的情况下,基于所述关键点星座而产生校准数据且将所述校准数据存储到非易失性存储装置。
2.根据权利要求1所述的方法,其中基于所述关键点星座而产生校准数据包括: 确定所述组关键点匹配中的一个或一个以上关键点匹配中的关键点之间的一个或一个以上垂直视差向量; 基于所述一个或一个以上垂直视差向量而确定垂直视差度量; 将所述垂直视差度量与阈值进行比较;以及 在所述垂直视差度量高于所述阈值的情况下,至少部分基于所述组关键点匹配来确定关键点匹配调整。
3.根据权利要求2所述的方法,其中确定关键点匹配调整包括: 基于所述组关键点匹配来确定仿射拟合; 基于所述组关键点匹配来确定投影拟合; 基于所述仿射拟合和所述投影拟合而产生投影矩阵;以及 基于所述投影矩阵来调整所述组关键点匹配。
4.根据权利要求3所述的方法,其中所述校准数据包含所述投影矩阵。
5.根据权利要求3所述的方法,其中基于所述组关键点匹配确定仿射拟合会确定横滚估计、俯仰估计和尺度估计。
6.根据权利要求3所述的方法,其中确定所述投影拟合会确定偏航估计。
7.根据权利要求3所述的方法,其进一步包括基于所述经调整的组的关键点匹配来调整所述立体图像对。
8.根据权利要求3所述的方法,其进一步包括基于所述经调整的组的关键点匹配来确定新的垂直视差向量,且在所述新的垂直视差向量指示高于阈值的视差的情况下进一步调整所述组关键点匹配。
9.根据权利要求8所述的方法,其中重复执行对所述组关键点匹配的所述调整以及确定新的垂直视差向量,直到所述新的垂直视差向量指示低于阈值的视差为止。
10.根据权利要求1所述的方法,其中响应于加速度计的输出超过阈值而执行所述方法。
11.根据权利要求1所述的方法,其中响应于自动聚焦事件而执行所述方法。
12.根据权利要求1所述的方法,其中对所述关键点星座的所述质量的所述评估包含确定关键点之间的距尚。
13.根据权利要求1所述的方法,其中评估所述关键点星座的所述质量包括确定每一关键点到图像隅角的距离。
14.根据权利要求1所述的方法,其中评估所述关键点星座的所述质量包括确定关键点匹配的数目。
15.根据权利要求1所述的方法,其中对所述关键点星座的所述质量的所述评估包括确定从所述关键点星座导出的一个或一个以上估计对关键点位置中的扰动的敏感度。
16.根据权利要求1所述的方法,其进一步包括基于每一关键点匹配的位置来修剪所述组关键点匹配以从所述组关键点匹配移除一个或一个以上关键点匹配。
17.一种成像设备,其包括: 第一成像传感器; 第二成像传感器; 传感器控制模块,其经配置以从所述第一成像传感器俘获第一立体图像对的第一图像且从所述第二成像传感器俘获所述第一立体图像对的第二图像; 关键点模块,其经配置以确定所述第一图像与所述第二图像之间的一组关键点匹配;关键点质量模块,其经配置以评估所述组关键点匹配的质量以确定关键点星座质量水平;以及 主控制模块,其经配置以将所述关键点星座质量水平与预定阈值进行比较,且在所述关键点星座质量水平高于所述预定阈值的情况下,基于所述关键点星座来调整所述立体图像对。
18.根据权利要求17所述的设备,其中所述关键点质量模块至少部分基于所述第一图像和所述第二图像内的所述关键点星座中的关键点匹配的位置来确定所述关键点星座质量水平。
19.根据权利要求17所述的设备,其中所述关键点质量模块至少部分基于根据所述关键点星座而产生的角度估计中的变化且基于根据所述关键点星座的有噪声关键点星座来确定所述关键点星座质量水平。
20.根据权利要求17所述的设备,其中所述有噪声关键点星座是至少部分基于将随机噪声添加到所述关键点星座中的关键点的关键点位置的至少一部分而产生。
21.根据权利要求17所述的方法,其中所述主控制模块经配置以响应于加速度计的输出超过阈值而将所述关键点星座质量水平与预定阈值进行比较。
22.根据权利要求17所述的方法,其中所述主控制模块经配置以响应于自动聚焦事件而将所述关键点星座质量水平与预定阈值进行比较。
23.—种立体成像装置,其包括: 第一图像传感器,其经配置以俘获立体图像对的第一图像; 第二图像传感器,其经配置以俘获所述立体图像对的第二图像; 用于基于所述第一图像和所述第二图像来确定一组关键点匹配的装置,所述组关键点匹配构成关键点星座; 用于评估所述关键点星座的质量以确定关键点星座质量水平的装置; 用于确定所述关键点星座质量水平是否超过预定阈值的装置; 用于在超过所述阈值的情况下基于所述关键点星座而产生校准数据的装置;以及 用于将所述校准数据存储到非易失性存储装置的装置。
24.根据权利要求23所述的装置,其中所述用于基于所述关键点星座而产生校准数据的装置通过以下操作来产生所述校准数据 确定所述组关键点匹配中的一个或一个以上关键点匹配中的关键点之间的一个或一个以上垂直视差向量, 基于所述一个或一个以上垂直视差向量而确定垂直视差度量, 将所述垂直视差度量与阈值进行比较,以及 在所述垂直视差度量高于所述阈值的情况下,至少部分基于所述组关键点匹配来确定关键点匹配调整。
25.根据权利要求23所述的装置,其中所述关键点星座质量水平是通过确定从所述关键点星座导出的一个或一个以上估计对关键点位置中的扰动的敏感度来确定。
26.根据权利要求23所述的装置,其中所述用于确定所述关键点星座质量水平是否超过预定阈值的装置包含用于确定关键点之间的距离的装置。
27.根据权利要求23所述的装置,其中所述用于评估所述关键点星座的所述质量的装置包括用于确定每一关键点到图像隅角的距离的装置。
28.一种非暂时性计算机可读媒体,其存储指令,所述指令在由处理器执行时致使所述处理器执行以下方法: 用第一图像传感器俘获 所关注场景的第一图像; 用第二图像传感器俘获所述所关注场景的第二图像,其中所述第一图像和第二图像构成立体图像对; 基于所述第一图像和所述第二图像来确定一组关键点匹配,所述组关键点匹配构成关键点星座; 评估所述关键点星座的质量以确定关键点星座质量水平;以及 确定所述关键点星座质量水平是否超过预定阈值,其中在超过所述阈值的情况下,基于所述关键点星座而产生校准数据且将所述校准数据存储到非易失性存储装置。
【文档编号】G06T7/00GK103649997SQ201280034341
【公开日】2014年3月19日 申请日期:2012年6月8日 优先权日:2011年7月13日
【发明者】卡林·米特科夫·阿塔纳索夫, 塞尔久·R·戈马, 维卡斯·拉马钱德兰 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1