用于相机校准误差的运行时测定的系统和方法

文档序号:6351608阅读:257来源:国知局
专利名称:用于相机校准误差的运行时测定的系统和方法
技术领域
本发明涉及到视觉系统且更具体的涉及视觉系统相机的校准。
背景技术
机器视觉系统通常应用于工业中以确定关于预设的二维(2D)或三维(3D)坐标空间的部件和对象校准。这些系统采用各种技术和程序,通常基于已训练的对象模型,以确定对象的对准。相机校准是计算机视觉的一个重要步骤——在二维(2D)和三维(3D)成像系统中皆是。相机校准包含对被称为外部和内部参数的相机位置和镜头特性的建模。相机校准可以在单个相机或如包括一个或多个立体摄像头的系统的多相机配置中施行。立体摄像 头和其他形式的3D传感器能够产生一个对象的3D深度的图像。这些相机的校准确定了所观测2D图像空间与3D世界之间的关系。在相机校准之后,3D信息可以从2D计算机图像坐标中推断出来,同样的,2D图像坐标也可以从3D信息中推断。更具体的是,相机校准包含对图像形成系统建模,建模是通过估计内置几何和光学相机特性(内在参数,其中包括有效焦距,或图像平面到投影中心距离,镜头畸变系数,X的缩放因数,相机的扫描和采集时间误差,图像平面原点的计算机图像坐标)及相对于一限定的世界坐标系统(外部参数)的相机3D位置和方向。相机的内部和外部(通常被称为相机校准参数)是用于运行时调准或检查任务,以移除镜头畸变和解释在3D空间中所观测的2D图像的特征点。相机校准的精确度直接影响视觉系统的性能。在围绕包含一个对象的场景的一个或多个分别的有利点,一个或多个2D或3D相机的使用可以为产生一个该主体对象关于世界坐标空间的整体图像提供优势。通过结合不同相机的图像,该对象某些部分中可能发生在一个或多个图像上的各种遮挡和障碍可被其他有利点获取的图像所补偿。因此,在所有情况下,特别是在视觉系统可以使用多个2D或2D相机时,相机校准的精确度对视觉系统的整体性能来说至关重要。然而,相机校准通常被认为是一种一次性的视觉系统设置过程。它通常由技术人员执行,他们明显比典型的运行时用户具有更多视觉系统的知识——运行时用户往往是生产线上的工人和他们的管理者。通常情况下,在系统校准后,相机参数在被这些运行时用户重复使用于机器视觉任务中时没有考虑到当前校准的真实精确度。校准是一个艰巨而耗时的任务,由熟练的技术人员承担,因此它最好只在有实际需要时执行。然而,当视觉系统工作在不利的环境运行时,比如生产线中,实际相机位置和镜头畸变可能会由于热膨胀、振动、无意中焦点的变化等等而改变。因此,如果相机校准不再代表所观测2D图像和3D世界之间的关系,机器视觉应用程序是次最佳地运行的。此外,即使机器视觉应用程序正在次最佳地运行,由于相机校准误差,也可能难以追查该应用程序性能恶化的根本原因。相机校准的周期性检验可以帮助确保相机在可接受的校准参数下运作,并避免执行不必要的校准程序,或者相反的,避免继续操作已失准的相机。一种用于周期性检验相机校准的新颖有效的方法,适用单一或多个二 2D或3D相机,在美国专利申请序列号12/346773,题为“视觉系统中的相机校准检验的系统和方法(SYSTEMAND METHODFORVALIDATING CAMERA CALIBRATION IN A VISION SYSTEM)” 中教导,由 Xiangyue Ye 等人发表,其技术将作为有用的背景信息以引用的方式并入本文中。简而言之,这种检验程序需要使相机系统脱离运行时操作并将校正目标放置到相机的视域中。检验程序之后就使用该目标执行,通常由系统运行时操作员而不是校准技术员执行。这一程序产生了当前的内部和(在多相机系统情况下的)外部参数。内部参数包括有效焦距,或图像平面到投影中心距离,镜头畸变系数,X的缩放因数,由于相机的扫描和采集时间误差产生的已获得图像的原点移位。外部参数通常是由该相机关于一个限定的世界坐标系统的3D位置和方向所定义。这些当前参数通过已存储的、设置时的内部和外部参数来分析,以确定是否相机系统和/或其中个别相机仍保持在可接受的校准范围之内。这一检验过程大大缩短了系统停机 时间,因为该检验过程只需要一小部分校准时间,而且只有当检验过程表明该相机“失准”时才需执行再校准。同样,它可以由系统运行时操作员执行。虽然如此,这种方法仍需要该系统在检验过程执行时停止生产。执行检验的频率可能产生问题,因为过于频繁的检验需要视觉系统更多的停机时间,从而降低了生产线的生产量。相反的,过少的检验可能使3D视觉系统承担恶化的相机校准的过度的伪拒绝/伪接受的风险。因此很需要提供一个使系统在运行时不需要采取脱机方式也无需由系统操作员承担的单独检验过程即可诊断相机系统的校准的系统和方法。。这样一个系统和方法应允许频繁验证,该频繁验证更好地确保不会因失准的相机系统而产生错误读数。

发明内容
本发明提供了用于相机校准误差(精确度)的运行时测定(自我诊断)的系统和方法,典型地涉及相机外部参数,基于场景中所获得对象的运行时测量的历史统计数据。运行时测量的一个例子是调准分数,其基于与已训练的对象模型的观测以及预期的图像数据的匹配而定义。这样的安排避免了为诊断系统(一个或多个)相机是否保持被校准而终止视觉系统的运行时操作和/或停止由视觉系统支持的生产线的需求。假设由视觉系统检验的对象或特征随时间大致相同,则视觉系统积累部分校准结果的统计数据并存储中间结果用作当前系统精确度的指标。对于多相机视觉系统来说,说明性地利用交叉验证来识别个别有问题的相机。该系统和方法允许更快、更廉价和更直接的与恶化的相机校准有关的视觉系统故障诊断。在一个说明性实施例中,由多个相机组成的系统,说明性地包含三个或多个相机,是从离散的有利点对准一个场景。所述至少三个相机首先被校准,其中包括为至少三个相机的每个查找各自的外部校准参数。第一对象特征或该对象整体(或其中一部分)是利用所述至少三个相机中的第一多数在三维空间中被发现的。然后将推导出该第一对象特征的第一次测量值或第一对象位姿。第二对象特征或该对象的整体(或其一部分)是利用所述至少三个相机中的第二多数在三维空间中被发现的。然后将推导出该第二对象特征的第二次测量值或第二对象位姿。所发现的第一特征可能大体上类似所发现的第二特征,或两者可能不同并且被已知物理维度所分离。之后第一次测量值和第二次测量值会相对于以下参数中至少一个而相比较(i)在校准过程中确定的精确度,(ii)所需的系统精确度,以及
(iii)两种特征的已知属性。说明性地,第一次测量值包括第一特征的第一位置的估计而第二次测量值包括第二特征的第二位置的估计。第一次测量值可以包括成功发现第一特征的得分,而第二次测量值可以包含成功发现第二特征的得分。在一个实施例中,比较的步骤或过程包括计算第一测量值和第二次测量值之间的差异并将差异与下列中至少一个相比较
(i)在校准过程中确定的精确度,(ii)所需的系统精确度,以及(iii)所述对象的已知属性。在说明性实施例中,为响应比较的步骤或过程,发出一个信号,基于比较超越以下至少其一的步骤的结果而指示所需的再校准(i)步骤a中确定的精确度,及(ii)所需的系统精确度。这可以包括基于上 述比较产生新外部校准参数,并提供外部校准参数给至少三个相机中的一个,以再校准所述至少三个相机中的该至少一个。说明性地,所述至少三个相机的系统可包括机器视觉系统检测功能,用以对通过一个被上述至少三个相机所观察的体积空间的对象执行运行时机器视觉检测。这些对象形成了来自多个相机的测量值生成的基础。


以下本发明的描述参阅附图,其中图I是依照一说明性实施例的采用至少三个离散的相机以获取三维空间中场景内对象的图像的视觉系统的图,包括示范性校准对象,用来建立该相机系统的初始校准;图IA是被用于从事关于对象的机器视觉任务的示范性三相机系统的图;图IB是被用于从事关于对象的机器视觉任务的示范性四相机系统的图;图IC是示范性系统的图,该系统中两对(两组多数)相机各承担关于一对象的机器视觉任务,每组多个相机各相对于该对象的不同离散特征而运行;图2是根据一说明性实施例的用于具有至少三个相机的视觉系统的建立和校准过程以及运行时检验和自我诊断过程的方框图;图3是一图表,显示了各种错误统计数据,其子集合使用在图2的自诊断过程中;图4是跟据这里的系统和方法的用于执行运行时自诊断的说明性过程的流程图,再校准跟随着该运行时自诊断;图5是用于此处的实施例的展示了 3D世界坐标空间和2D相机坐标空间之间的映射点的图形;以及图6是用于此处的实施例的展示了对世界坐标系统中的点通过其在两个或以上(多数个)相机中的图像点的三角测量的图形。
具体实施例方式A.系统综沭和校准图I描述了一个视觉系统100的典型机构,用以确定所查看场景的二维(2D)或三维(3D)校准或位姿,该场景可以包括一个或多个要由机械臂或任何由机器视觉过程控制或辅助的其他操作来检验、调准、促动的运行时对象。该系统可以根据本发明中的一说明性实施例被校准(且校准可在可自我诊断之后)。通常情况下,系统100可以是任何视觉系统机构,其中包含在其视野之内具有内含对象的场景128的至少三个相机。(一个或多个)相机或(一个或多个)传感器120,122,124每个可以都包括如图所示的2D相机,或可选择的,一个3D传感器。在被提供时,3D传感器传感器可适用于产生一场景的深度图像,在一个立体摄像头内于被其间一条已知的基线分开的两个离散的相机(双目观察)之间使用光学三角测量。更普遍的,一个3D传感器可以基于能产生深度数据的各种传感方式,产生深度数据利用多种技术,多种技术包括但不限于立体(多相机)成像,光探测和测距或激光雷达(LIDAR),结构光,或采用扫描激光的设备。同样,2D和3D成像设备可以根据各种原理进行操作,其中包括CCD和CMOS。无论是2D相机还是3D传感器,多个附加相机/传感器一般显示为区块125,可以位于相对场景128的不同、离散的有利位置。在提供多个立体摄像头时,每个头中的个体相机可被系统单独访问,或由头生成的深度图像可作为填充一处理器的原始数据而被提供。举例来说,该2D(—个或多个)相机和/或3D传感器所连接的该处理器被显示为带接口和显示器的通用计算机130,它实现基于软件和/或硬件的校准进程(150),也可实现运行时视觉进程(检查,调准,操作等)(152)。该(一个或多个)视觉处理器的机构、类型和位置是高度可变的。在说明性实施例中,(一个或多个)该处理器可以包含在一个或多个2D相机和/或3D传感器中,并且可提供适当的多相机和/或传感器之间的有线或无线互连。在采用多2D相机和/或多个3D传感器的实施例中,相机120,122,124各自定义 自己的内部坐标系,在此被描述为正交x,y和Z轴140,142,143,其中Z是指向场景的相机光轴,X和y定义了图像平面。视觉处理器(130)适用于将每个这些个体相机的坐标系校准到一个公用的3D世界坐标系148,其由相对于场景128的x,y和z轴所表现。通过更深入的背景,关于3D成像及其相关概念的一般讨论在共同受让的Cyril C. Marrion等的美国专利申请号 12/345,130,标题为“System And Method For Three-Dimensional AlignmentOf Objects Using Machine Vision”中可以找到,将其教导作为有用的背景信息以引用的方式并入本文中。图IA和IB详细描述了两例示范性相机系统的机构,根据本发明,该机构可以被校准和随后(如图所述)应用在对象的运行时视觉检验操作上。在每一个所描述的机构中,一对象在3D空间的调准是通过对所获取图像特征进行三角测量和评估预期特征与所测量图像特征的匹配度来完成的。根据图IA中的示范性三相机系统机构153,三个相机154,155,156位于就对象或零件157而言的不同方向,而对象或零件157通过基于允许一系列对象被检验和/或调准的移动式传送带或其他机制的系统的视野。该系统163可用于检验零件质量或允许机械臂(未显示)在其他任务中的定位。在这个例子中的相机机构153通常类似于在视觉引导机器人技术(VGR)应用中所采用的。在这样VGR应用中,一般来说零件157对于所有相机154,155,156来说是可见的。如下文进一步所述,一零件位姿的分数是基于三角测量误差,即衡量所观察图像与已训练模型的匹配程度。在这种情况下,该模型包括对每个相机可见的一个或多个特征158,159,160,如图中虚线所示。交叉对照的差异衡量了来自多相机的相同特征点的光线彼此相交的密切度。相机系统的另一个不范性机构161含有四个相机163,164,165,166,如图IB所不。相机163,164,165,166分别位于相对于零件162的一个离散位置,如图所不,并且每个定义了一个面向离散的x,y,z (或其他坐标系统)方向的对应图像平面167。在该机构中,一零件162的调准无需基于同时观察共同特征的相机,而是说明性地,一零件位姿的评分是基于所观察图像与所预计图像的匹配度,该预计图像来源于已训练的3D形状模型。各种可选的多相机机构和运行时检查/调准过程被明确考虑到。进一步参照图1,一个示范性相机校准过程——例如(但不限于)市售的来自马萨诸塞州纳蒂克市康奈视公司的、与视觉系统相关的可用校准软件——采用了一种灵活的技术,该技术通常需要相机来观察某一已知其大小和形状的平面校准对象170,在多个不同的方向呈现给(多个)相机120,122和124 (通过虚拟的例子显示)。该校准进程可以调整每个相机的内部参数和外部参数(通常在一个多相机实施例中),用来为每个相机界定其3D世界坐标空间。在所描述的校准过程中,技术员或机器人将(箭头171)校准对象170——此处是一说明性的已知其大小和形状的方格盘,还可以包括一个中央基准点172——在多个位置彼此之间移动,而同时校准应用程序150运行于视觉处理系统130中以获取和分析对象170在每一个位置上的图像。利用所获得的该对象的图像,该相机校准过程可从与所观测的位 于一平面上的2D图像特征点和3D特征相关联的(图像对物理性)特征对应中估计内部参数和外部参数。在一个例子中,这些(图像对物理性)特征对应可以通过运行例如在一方格盘校准板的图像上的方格盘特征提取器视觉系统软件工具而被自动确定,软件工具和校准板均是从康耐视公司可获得的。一个著名的可用于示例系统的相机校准技术是由Roger Tsai描述于“AVersatileCamera Calibration Technique for High-Accuracy 3D Machine Vision MetrologyUsing Off-the-shelf TV Cameras and Lenses”, IEEE, JOURNAL OF ROBOTICS ANDAUTOMATION,卷RA_3,No. 4,1987年8月,第323-344页,其中的技术将作为有用的背景信息以引用的方式并入本文中。校准进程更普遍的描述参见前文引用的美国专利申请序号12/346773,题为 “SystemAnd Method For Validating Camera Calibration In A VisionSystem”。此外,这种进程的通常情况在以下基于两个离散相机所获得特征的位姿测量的上下文中被提及到。总之,相机校准是一种非线性最优化方法,用以使检测到的2D图像特征点(方格盘拐角)和所预测特征点之间的差异最小化。这相机校准方法可计算校准板位姿(相对于相机)。现参照图2,其中展示了系统校准进程、运行时调准或系统校准的检验和自我诊断任务的原理概述图200。如图所示,离线过程212的部分是零件或对象训练过程213,在其中视觉系统被训练为识别预设大小、地点和/或形状的一个或多个不同对象特征(例如边,印刷物,孔等)。可选地,该系统可以被训练为识别该对象的整体形状或其中一部分。该训练取决于视觉系统所采用的特定应用程序。这些可以包括目标分析,边缘检测,旋转和尺度不变性搜索等。其他视觉系统特定的设置过程214也发生在离线过程212。这些可以包括照明控制,与机械臂协调及其他各种操作。显而易见的是,相机内部参数222和外部参数224是在校准226中产生的。这些内部外部参数是在系统运行时操作(块230)中使用(箭头225)。更具体的说,外部参数是在运行时间230执行的说明性校准自我诊断中使用。在所述说明性实施例中,设置存储器220也存储“错误”的统计数据228,其中包含关于所观察图像特征和所预测物理特征之间的差异的信息,该差异可以用来定义允许系统确定校准是否仍然在容忍范围内的可接受阈值。参照图3,存储的错误统计数据228包括但不限于a.畸变的图像坐标(实际获得的像素)310中的精确度或差异。对每个估计的校准对象/板位姿来说,校准过程计算了每个2D特征点(板块图案中的方格盘拐角)的图像平面上的2D位置,同时考虑到镜头畸变。精确度测量值对应于每个所观察2D点和相关的所投影/畸变的2D位置之间的差异,并被存储为错误统计数据228 ;b.无畸变图像坐标(即三维坐标系中的投影平面z=l,其中z是每个像素的深度而x,y是视野中每个象素的2D坐标)320中的精确度或差异。对每个估计的校准板位姿来说,该过程计算了 3D点在Z=I投影平面上的线性投影。此外,该过程通过反镜头畸变映射了所需2D图像点(换句话说,用所存储的镜头修正系数重算这些点)。精确度测量值对应于所投射的2D点和相应的畸变2D点之间的差异,并被存储为错误统计数据228 ;以及c.从立体三角测量330获得的3D位置的精确度。对于多相机系统,对每个估计的校准板位姿来说,该过程计算了多相机经由三角测量成像的每个特征点的3D坐标,并保留了均方根匹配误差(rmsFitEiror)。多相机特征点的三角测量位置和估计位置之间的差异被存储为错误统计数据228。
上述的精确度测量a到c对于那些视觉系统中的普通技术人员来说是众所周知的,而且可以使用那些普通技术人员所熟知的过程来生成。这些测量通常是用来比较每种相机校准方法。根据一实施例,这些错误统计数据228被存储以便能够用于随后在运行时视觉系统操作期间的诊断相机校准准确性(图2中的块230)。请注意,可接受阈值可以根据特定的视觉系统应用需求进行不定的设置。就是说,特定的应用程序可能要求较高的精确度,需要较低的可接受阈值(例如,校准和运行时/验证差异之间一个较小的不同)。相机校准的精确度,如上所述,直接影响视觉系统的性能。虽然大多数视觉系统把相机校准看做是一次性的系统设置任务,一个图像形成系统的实际行为可能随时间而偏移,归结于相机框架的热膨胀、无意中相机移动等。解决这种偏移的一种方法是定期再校准相机。然而,校准相机是一项艰巨的任务,需要采集校准目标各种位姿的多幅图像,可能会很费时。此外,它通常涉及一个技术熟练人员,如系统集成商。因此,相机校准(块226)通常只有在需要的时候执行,且由技术熟练的专家来完成。B.运行时过稈根据一说明性实施例,一个校准自我诊断过程是整个运行时视觉系统操作230的一部分。一般来说,在这个例子中的系统使用多相机基于一训练模型连同所存储内部参数222、外部参数224和错误统计数据228 (来自过程分支234)来调准并检验的对象/零件。调准结果收集来自测量值,包括一个或多个对象特征或对象位姿的估计位置(在X,1,z世界坐标,或另一个世界坐标系统中)。这些数据可用于根据运行时块240计算调准分数。如图所示,运行时过程可以收集调准结果以及中间结果的历史统计数据(块250)。这些都被提供给存储器260,它基于三个或以上相机的子集或群组(多数个)或整个系统来收集和组织调准结果和中间结果的统计数据。因此,这些群组可以定义为包括至少2个相机但少于所述至少三个相机的整个相机组。就是说,该系统生成一套相机组合的N中选M的群组或子集。每个由视觉系统估计的特征位置或位姿都是用一个评分公式被说明性地评估,该评分公式定义为测量已训练3D模型和所观测图像数据的匹配度。位姿候选和相关分数可以通过选择每个N-选-M]相机组合来估计。更具体的说,存储器260可以包含关于所观测图像特征和所预计物理特征之间差异的统计数据。举例而言,图IA中的3-相机机构(VGR)定义了 3_选_2,即3种相机组合,该组合可用于零件调准(位姿估计)。而如图IB所示的4相机机构定义了 4-选-2加上4-选-3,即10种相机组合,可用于零件调准(位姿估计)。该10种相机组合中,使用相邻2个相机进行零件调准的4种相机组合可能是最具代表性的,原因在于其良好的视角。在运行时过程270中,所存储的统计数据(块260)是用来确定相机是否保持在一个预设的校准精确度或阈值内。一种情况下该阈值可以是一个可能取决于或可能不取决于具体视觉任务的预设值。对一个非常精确的任务的例子,阈值可能是一个非常小的值,而一个粗略的(trough)操作任务可能允许一个更大的值。该过程270确定哪些个别的照相机(或相机组)在精确度上已足够的偏移。一般来说,这样的偏移涉及到外部参数——一个相机相对于系统内其他相机的相对状态——而不是内部参数。然而,内部参数的储存是明确计划的,而且这些参数可用于随后的任何再校 准步骤(226 )。决定步骤280确定一个或多个相机是否已经足够的偏移,以保证一个再校准程序的性能。如果所述阈值还没有达到,那么该系统继续进行在运行时零件或对象的检验和/或调准的正常操作期间的监测和存储统计数据(来自过程分支290),依照步骤240,250,260和270。然而,如果预设的精确度/阈值在一个或多个系统内相机被超过,那么决定步骤280会分支(通过分支292)到校准步骤226。如下文所述,该系统可以保持在线并发出一个指示或警告给操作员,或可能停止运行并且等待操作员的行动(例如,一个再校准过程)。作为步骤280的一部分,该系统可以传送在运行时过程(230)中产生的外部参数和差异数据,以便它可以被用来确定需要再校准的(一个或多个)相机。此外,可以预计到自动化再校准程序可以用来使用更新的外部参数(依照传统技术)自动再校准(一个或多个)相机。根据步骤270比较校准测量值与运行时统计数据可以使用各种不同的技术来完成。一个实施例是比较运行时统计过程中的精确度观察和那些使用统计假设检验测量获得的校准过程。给定一个校准测量值的分布和运行时测量的分布,其为两种分布的统计相关性。零假设(Null Hypothesis)可以被设定为两个程序具有相同的精确度,带有特定的统计意义。一旦一个决定在两组观察结果的基础上做出,终端用户就可以决定相机是否需要重新校准。另一个实施例提供了一个过程将最大差异和根据作为在相机校准时间观测到的差异的函数所设置的阈值进行比较。现在参照图4,它描述了一个一般化过程400,用于根据一说明性实施例,在三个或多个相机机构中,相机校准的运行时自我诊断。通过举例,该过程可以被实例化于一个运行在计算机或处理器上的诊断应用程序180 (图1),或者它可以直接被提供给系统内一个或多个相机的硬件。校准进程最初是依照步骤410以及如上所述而离线执行的。在这个过程中,例如关于多种相机群组或子集合(如相机对)的特征位置或位姿的测量值之间的差异的外部参数和其他参数和统计数据被产生和存储。如前所述,“相机”在此处的定义是可获得一个场景的离散图像的任何设备。传感器是一种相机的形式,它可以包括一个或多个成像设备(相机,以及其他用于三维成像的测距设备)。过程400随后进入运行时阶段(虚线420),其中对象特征或整体对象可被系统内的每个相机所发现——被如块430,432,434的至少三个相机以及可应用的其他相机(块436)所发现。所发现的特征可能实质上相同(即每个相机一般发现与在世界x,y,z或其他坐标中自己所估计位置相同的特征)。可选地,不同的相机可以发现一个或多个不同特征,这些特征位于在物理空间中相对彼此已知的位置。在有些相机会对其他相机已发现的特征有退化的或模糊的视像的地方,这可能很正常。可选地,每个相机可以基于已训练模型确定三维空间中该对象的一个位姿。根据块430,432,434,436,这些相机中每一个都确定一个该对象特征的“测量值”。说明性地,测量值可以是估计的X,y,z (或其他坐标系统)位置,该位置用于特征、位姿或该特征或对象被每个相机发现的成功度的评分。在步骤440来自每个相机的测量值可以相对于系统中每一个相机被存储。他们可以组织成相机群组并且转化成适当的格式。在三维空间中的特征位置和/或位姿可以由种类繁多的常规机器视觉技术来确定,其中包括边缘查找,目标分析,旋转和尺度不变性搜索等。一种在3D中查找位姿的技术还被描述于上文中合并的美国专利申请序号12/345,130,题为“SYSTEM AND METHOD FORTHREE-DIMENSIONAL ALIGNMENT OF OBJECT USING MACHINE VISION,,中。 在步骤450中,多个相机(来自整个多相机系统的相机群组或子集合,通常成相机对出现)中每一个所发现的特征测量值之后都会进行比较以推导出其间三角测量结果的评分或残差。这也可以定义为差异。这些比较参照一阈值或精度值轮流被分析。精度值可以被定义为一个理想的预设值,由用户提供或预编程在系统之中。这样一个离散阈值可以部分基于所需的精确度,该精确度指示了相机偏移的公差水平——即低精确度在需要再校准之前允许更多的相机偏移,而较高精确度决定了较少的相机偏移。另一方面,该精确度可以是一个根据校准期间产生的残差或差异的累积而定义的系统精确度。在决定步骤460中,对来自步骤450中每个相机群组或子集的测量值的比较,其结果是阈值或精确度超出,会引起系统发出信号来再校准,或采取其他适当的行动(步骤470)。采取的行动可取决于若干因素和程序指令。例如,如果不是大大超过阈值,系统会发出进行再校准的警告但仍继续运行。可选地,所述信号可以导致系统关闭和发出警报声。在进一步的实施例中,该系统可以选择性地使用存储的测量值,其中若干对象的检验循环作为目前系统状态的合理准确的指标,以便为一个或多个失准相机获得新的外部参数(步骤480)。这些新的外在参数可以被返回到适当的(一个或多个)相机(通过过程分支482),并用于执行再校准,通过人工或自动化实现(例如更换相机现存的外部参数为可解释所检测到的偏移的新的外部参数)。再校准可以在离线时完成,或者在提供适当的应用程序时,用再校准的相机以即时的方式完成,又或者在至少其他系统内未再校准的相机保持在线以继续检验任务时完成。在任何再校准中,可考虑到内部参数也可以使用适当的校准对象和/或其他程序进行更新。在决定步骤460确定为每个相机群组所比较的测量值保持在允许的精确度内时,运行时过程继续进行(通过过程分支484),并且积累进一步的测量值。注意到对于任何系统或所需精确度的比较都可以考虑到许多检验周期的平均(历史)测量值,使得相对较小数目的异常测量值不会产生过早的再校准信号。注意到一相机由于偏移产生的可接受误差可以基于误差分布。例如,该系统可以适用于复查相对于误差历史上的位置的均方根(RMS )误差。一般来说,给定三个或多个相机,该系统包括对象测量值中固有的冗余。这种冗余允许测量值中整个相机组的子集团群组之间的分歧,以显示其中至少一个相机的失准条件。C.确定和比较位置和位姿估计的说明性技术
根据图4的比较步骤450,该系统可以采用各种技术来确定一个对象的3D位置或位姿,并基于估计推导出误差或差异。下面是一个确定和比较的说明性技术。I.从多相机中的2D图像点估计一个特征点的3D位置遵循相机校准,一个在物理空间的3D点可以映射到一个在图像空间的2D点;一个在图像空间的2D点可以映射到一条在物理空间的3D射线。以下对映射的描述作进一步讨论,参见由Richard I. Hartley和Andrew Zisserman所著,剑桥大学出版社2004年出版的图书《Multiple View Geometry))(第二版),作为技术背景。为简化现有描述,目前假定径向畸变可以忽略不计。因此,来自3D世界坐标系510 —个点到处理器图像坐标系统520的映射是由相机校准矩阵M所控制的。对于一个有η个相机的系统,这些矩阵可以表示为Mi,I彡i彡η。参照图6,根据方程式Pi=MiP,点P在世界中被映射为Pi。同样给定一个点的图像(如图所示的示范点Pl和P2)于两个或多个相机中(如图所示示范相机I相机2),它在世界坐标系统中的位置可以使用三角测量来计算。对于在各自的相机i (相机1,相机2)中的点Pi (P1, P2)来说,其图像投射为射线Ri (R1,R2)。在世界坐标系中射线的方程式是由 Pi(A)=Mr □ Pi+λ Ci给出,此处Ci (C1和C2)是世界坐标系统中的相机中心。CjPMiO是从相机校准参数中获得。世界坐标系中的点可以通过查找来自多个相机的射线之间的交叉点来获得。在实践中,当存在噪声时,2条射线(Rl和R2)不能保证相交。有几种方法可在这种情况下作三角测量。该说明性实施例使用一种技术,该技术首先找到在世界坐标系统中一个点,该点到所有射线距离之和最小。基于从相机中心到该点的距离和射线到光轴的角度,这一估计被精细化。其他三角测量技术也可以被用来辅助或替代这一技术。因此,进一步参照图6,点P的值是使用三角测量推导出的,如此处所述,并且位置 是通过找出方程式?1(入)=|^口?1+入(;和?2(@)=厘2口?2+@(2中λ和β的值而计算得出。2.从2D和3D的对应关系估计对象的3D位姿对象的位姿是指需要将一对象模型从其内在坐标系统映射到与传感数据协调一致的3D刚体变换。估计刚体位姿意味着确定在3D空间中来自2D图像的刚体运动。因为对3D模型的了解,估计进程依赖于图像中的一些2D特征和它们在3D模型上的副本之间的对应关系。不同位姿估计问题的解决方案可见于Haralick, R. Μ.的《Pose estimation fromcorresponding point data)), IEEE Transactions on Systems, Man and Cybernetics,第19 卷,第 6 期,1989 年 11 月 /12 月,第 1426-1446 页。通过进一步说明方式,并且如前述的Tsai的出版物中所提供的,图5阐释了该相机模型的基本几何学。(xw,Yw, zw),定义了对象点P在3D世界坐标系统中的3D坐标。(X,Y,Z)定义了对象点P在3D相机坐标系统520中的3D坐标510,坐标系统520以点O为光学中心,z轴与光轴相同(同样参见图I)。(x,y)是以Oi (光轴z和前图像平面530的交叉点)为中心,平行于X轴和y轴的图像坐标系统。f是前图像平面530和光学中心O之间的距离。如果使用一个完美的针孔相机模型,(xu,yu)是(X,Y,Z)的图像坐标。(xd,yd)是实际图像坐标,由于镜头畸变而不同于(xu,yu)。然而,由于相机现已被校准,镜头畸变可以在映射之前得到修正。
从3D世界坐标向2D相机坐标系统的映射被说明性地表现为四步转化,按照下列步骤进行体转I
权利要求
1.一种在至少三个相机的系统中用于确定相机校准误差的方法,包括以下步骤 a)校准该至少三个相机,包括查找该至少三个相机中每个相机各自的外部校准参数; b)利用该至少三个相机中第一多数来查找在三维空间的第一特征,并确定该第一特征的第一测量值; c)利用该至少三个相机中第二多数来查找在三维空间的第二特征,并确定该第二特征的第二测量值;以及 d)针对以下至少其中一个(i)步骤(a)中确定的精确度,(ii)所需的系统精确度以及(iii)该第一特征和第二特征的已知属性,比较第一测量值与第二测量值。
2.根据权利要求I所述的方法,其中所述第一特征是(a)与第二特征实质上相同及(b)不同于第二特征中的一个。
3.根据权利要求I所述的方法,其中所述第一测量值包含一个估计的第一特征的第一位置而第二测量值包含一个估计的第二特征的第二位置。
4.根据权利要求2所述的方法,其中所述第一测量值包含在查找第一特征中的成功的评分而第二测量值包含在查找第二特征中的成功的评分。
5.根据权利要求I所述的方法,其中步骤(d)包括计算第一测量值和第二测量值之间的差异,并针对以下至少一个比较该差异(i)在步骤(a)中确定的精确度,(ii)所需的系统精确度,以及(iii)第一个特征和第二特征的已知属性的至少一个。
6.根据权利要求5所述的方法,其中已知属性包括第一特征和第二特征之间的一个已知距离,以及至少三个相机中的第一多数其中包括至少两个相机的第一群组和至少三个相机中的第二多数其中包括至少两个相机的第二群组。
7.根据权利要求I所述的方法,进一步包括,响应步骤(d)基于比较步骤的结果超出以下至少一个(i)在步骤(a)中确定的精确度,(ii)所需的系统精确度,发出信号指示需要再校准。
8.根据权利要求7所述的方法,其中发出信号的步骤包括基于步骤(d)产生新的外在校准参数,并将外部校准参数提供给所述至少三个相机中的至少一个,以再校准所述至少三个相机中的所述至少一个。
9.根据权利要求I所述的方法,其中在步骤(a)中确定的精确度包括一基于校准残余误差的的值的集合。
10.根据权利要求9所述的方法,进一步包括提供新的外在参数以再校准按照步骤(a)的所述至少三个相机中的至少一个。
11.根据权利要求I所述的方法,其中至少三个相机的系统包括一机器视觉系统检验功能以便对通过一被所述至少三个相机看到的体积空间的多个对象执行运行时机器视觉检验。
12.根据权利要求I所述的方法,其中所需的系统精确度是基于每个第一次测量值和第二次测量值的历史值。
13.根据权利要求I所述的方法,其中所需的系统精确度是基于一个预先确定的阈值。
14.根据权利要求13所述的方法,其中所述阈值是基于一个运行时视觉系统任务的理想精确度而定义的。
15.根据权利要求I所述的方法,进一步包括在步骤(a)中将内部参数提供给所述至少三个相机中的至少一个并且基于新的内部参数对所述至少三个相机中的所述至少一个进行再校准。
16.根据权利要求I所述的方法,其中已知属性包括第一特征和第二特征之间的已知距离,以及至少三个相机中的第一多数其中包括至少两个相机的第一群组和至少三个相机中的第二多数其中包括至少两个相机的第二群组。
17.一种用于确定在至少三个相机的系统中的相机校准误差的方法,包括以下步骤 a)校准所述至少三个相机,包括为所述至少三个相机中每一个查找各自的外部校准参数; b)用至少三个相机中的第一多数查找三维空间中的第一对象位姿并确定第一对象位姿的第一测量值; c)用至少三个相机中的第二多数查找三维空间中的第二对象位姿并确定第二对象位姿的第二测量值;以及 d)针对以下至少其中一个(i)步骤(a)中确定的精确度,(i i )所需的系统精确度,比较第一测量值与第二测量值。
18.根据权利要求17所述的方法,其中第一测量值是第一位姿的评分,而第二测量值是第二位姿的评分。
19.一个用于在至少三个相机的系统中确定相机的校准误差的系统,其中包括 a)至少有三个相机,其中每一个都包括各自的外部校准参数; b)所述至少三个相机中的第一多数,该第一多数查找三维空间中的第一特征并确定该第一特征的第一测量值; c)所述至少三个相机中的第二多数,该第二多数可查找三维空间中的第二特征并确定该第二特征的第二测量值;以及 d)—比较进程,其针对以下至少其中一个(i)关联于外部校准参数的精确度,(ii)所需的系统精确度,以及(iii)第一特征与第二特征的已知属性,比较第一测量值与第二测量值。
20.根据权利要求19所述的方法,其中所述已知属性包括第一特征和第二特征之间的已知距离,以及至少三个相机中的第一多数其中包括至少两个相机的第一群组和至少三个相机中的第二多数其中包括至少两个相机的第二群组。
21.根据权利要求20所述的方法,其中所述第一群组的至少两个相机的每个都不同于所述第二群组的至少两个相机。
22.一个用于在至少三个相机的系统中确定相机校准误差的系统,包括 a)至少三个相机,每一个都包括各自的外部校准参数; b)所述至少三个相机中的第一多数,该第一多数查找三维空间中的第一对象位姿并确定该第一对象位姿的第一测量值; c)所述至少三个相机中的第二多数,该第二多数查找三维空间中的第二对象位姿并确定该第二对象位姿的第二测量值;以及 d)—比较进程,其针对以下至少其中一个(i)关联于外部校准参数的精确度,(ii)所需的系统精确度,比较第一次测量值与第二次测量值。
全文摘要
本发明提供了相机校准误差(精确度)运行时测定(自我诊断)的系统和方法,典型地涉及相机外部参数,基于场景中所收入对象的运行时调准分数的历史统计数据,基于与已训练的对象模型的观测和预期的图像数据的匹配而定义这些分数。这样的安排避免了为诊断系统(一个或多个)相机是否保持被校准而终止视觉系统的运行时操作和/或停止由视觉系统支持的生产线的需求。假设由视觉系统检验的对象或特征随时间大致相同,则视觉系统积累部分校准结果的统计数据并存储中间结果用作当前系统精确度的指标。对于多相机视觉系统来说,说明性地利用交叉验证来识别个别有问题的相机。该系统和方法允许更快、更廉价和更直接的与恶化的相机校准有关的视觉系统故障诊断。
文档编号G06T7/00GK102782721SQ201080059217
公开日2012年11月14日 申请日期2010年12月23日 优先权日2009年12月24日
发明者D·J·迈克尔, D·Y·李, G·什瓦拉姆, 叶芗芸 申请人:康耐视公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1