用于视觉系统的校准的制作方法

文档序号:16814278发布日期:2019-02-10 14:08阅读:200来源:国知局
用于视觉系统的校准的制作方法

本申请案依据专利法主张2016年5月12日申请的美国临时申请案第62/335,414号的优先权益,所述美国临时申请案以引用的方式并入本文中。

本说明书涉及用于视觉系统的校准。



背景技术:

视觉系统可用以获取多个图像以用于获得对象的一或多个3d表示,并且基于来自获得的3d表示的信息确定对象或对象的特征的至少一些尺寸。

对象的3d表示的实例是点云。点云是其中每个点i可表示为(xi,yi,zi)的空间中的3d点的集合。点云可表示包含对象的背面和侧面、顶部和底部的完整3d对象。

对象的3d表示的另一实例是范围图像,其由图像像素阵列(通常表征为沿着正交x和y轴的位置)组成,所述图像像素还含有每一像素的第三(高度)尺寸(通常沿着垂直于x-y平面的z轴表征)。

为便于从图像数据得出正确推断,视觉系统通常提供设定校准程序,其在一或多个图像坐标系和单个共享世界坐标系之间建立映射。可在各个后续时间例如每年、每月、每周或每天执行额外校准程序或对设定校准的调整。



技术实现要素:

本说明书涉及用于为视觉系统执行运行时间校准或调整并且测量对象的一或多个特征的尺寸的系统和技术。

一般来说,本说明书中描述的标的物的一或多个方面可体现在编码可操作以致使计算装置执行操作的计算机程序的一或多个系统、套件和计算机可读媒体中。

一种能够执行运行时间3d校准的视觉系统可包含:托架,其被配置成固持对象,所述托架包含3d校准结构,所述3d校准结构包含平坦表面和一或多个其它表面;相机;运动台,其与所述托架或所述相机耦合,所述运动台具有至少一个旋转自由度;和计算装置,其被配置成执行包含以下各项的操作:当所述对象被所述托架固持时,当所述托架处于相对于所述相机的相应预定定向中时,从所述相机获取图像,所述获取的图像中的每一个包含同时在所述相机的视场中的所述对象的至少一部分和所述3d校准结构的至少一部分的表示;基于与如成像于所述获取的图像中的所述3d校准结构有关的信息,至少执行对用于所述获取的图像中的每一个的3d校准的调整;和基于(i)所述3d校准的结果和(ii)与如成像于所述获取的图像中的所述对象有关的信息,确定所述对象的一或多个特征的3d位置、尺寸或两者。

在各种实施方案中,3d校准结构可包含各个特征。举例来说,3d校准结构可包含周期性地间隔开的特征。作为另一实例,3d校准结构可包含通过沟道分隔开的条棒,所述条棒中的每一个包含形成3d校准结构的平坦表面的平坦表面,以及形成3d校准结构的一或多个其它表面的至少一个锥形表面。作为另一实例,3d校准结构可包含锥台,所述锥台中的每一个包含形成3d校准结构的平坦表面的平坦表面。

在一些实施方案中,锥台的平坦表面界定多边形。在一些实施方案中,多边形是正方形。在一些实施方案中,锥台的平坦表面界定圆形。

在一些实施方案中,运动台另外包含至少一个平移自由度,使得所述托架在预定定向处进一步平移。

在一些实施方案中,3d校准结构的其它表面是平坦表面中的圆柱形孔洞的侧向表面。

在一些实施方案中,所述托架具有固持所述对象的第一表面、与所述运动台耦合的第二相对表面,以及连接所述第一表面和第二表面的侧表面,且所述3d校准结构形成于所述侧表面上。在一些实施方案中,所述托架另外包含识别标记。

在一些实施方案中,所述3d校准的所述调整包含基于与如成像于所述获取的图像中的所述3d校准结构有关的信息的所述3d校准的运行时间结束。

在一些实施方案中,所述计算装置被配置成基于(i)所述获取的图像和(ii)所述执行的调整,获得所述3d校准结构的至少一部分和所述对象的至少一部分的3d表示,以及从所述获得的3d表示提取与所述3d校准结构有关的信息和与所述对象有关的信息。

在一些实施方案中,所述3d校准的所述调整补偿非线性畸变、仿射畸变和刚性变化。

在一些实施方案中,所述计算装置被配置成通过将相应校准模型中的适当校准模型应用于所述获取的图像中的每一个以使所述图像与共同3d坐标系对准,至少执行所述3d校准的所述调整,其中已针对所述相应预定定向产生所述相应校准模型。

在一些实施方案中,所述相应校准模型包含共同原点和共同坐标系。

一种套件可包含用于视觉系统的托架,所述托架包含3d校准结构,所述3d校准结构包含平坦表面和一或多个其它表面,其中所述3d校准结构包含周期性地间隔开的特征;和计算机可读媒体,其编码用于所述3d校准结构的校准模型,所述校准模型可用于使用所述托架上的所述3d校准结构对所述视觉系统的运行时间3d校准。

在一些实施方案中,3d校准结构的其它表面是平坦表面中的圆柱形孔洞的侧向表面。

在一些实施方案中,3d校准结构可包含通过沟道分隔开的条棒,所述条棒中的每一个包含形成3d校准结构的平坦表面的平坦表面,以及形成3d校准结构的一或多个其它表面的至少一个锥形表面。

在一些实施方案中,所述3d校准结构包含锥台,所述锥台中的每一个包含形成3d校准结构的平坦表面的平坦表面。

一种计算机可读媒体可编码计算机程序,所述计算机程序可操作以致使计算装置执行包含以下各项的操作:获得对象的至少一部分和3d校准结构的至少一部分的图像;基于与如成像于所述获得的图像中的所述3d校准结构有关的信息,至少执行对视觉系统的3d校准的调整;基于(i)所述获得的图像和(ii)所述执行的调整,获得所述3d校准结构的至少一部分和所述对象的至少一部分的3d表示;从所述获得的3d表示提取与所述3d校准结构有关的所述信息和与所述对象有关的所述信息;和基于(i)所述3d校准的结果和(ii)与如成像于所述获得的图像中的所述对象有关的信息,确定所述对象的一或多个特征的3d位置、尺寸或两者。

在一些实施方案中,所述获得图像包含:指示与固持所述对象的托架耦合的运动台使所述托架至少旋转到相对于相机的预定定向,针对所述预定定向,所述对象的至少一部分和所述3d校准结构的至少一部分同时在所述相机的视场中,其中所述托架包含3d校准结构,所述3d校准结构包含平坦表面和一或多个其它表面;和指示所述相机当所述托架在所述预定定向中时获取图像。

可实施本说明书中描述的标的物的特定实施例以认识到以下优点中的一或多个。所公开的运行时间校准可缓解与视觉系统的运动台有关的准确度/可重复性问题。举例来说,可补偿平移台的台旋转、顶锥角和角度偏差的变化。可使用更便宜和/或精确运动台。

在附图和下文描述中阐述本说明书中描述的标的物的一或多个实施例的细节。其它特征、方面和优点将从所述描述、图式和权利要求书变得显而易见。

附图说明

图1a是视觉系统的实例的透视图。

图1b-1e示出使用视觉系统产生对象的3d表示的过程的实例的方面。

图2a是具有第一3d校准结构的托架的第一实例的透视图。

图2b是第一3d校准结构的近距透视图。

图2c是安装于具有第一3d校准结构的托架的第一实例上的对象的透视图。

图3a是具有第二3d校准结构的托架的第二实例的透视图。

图3b是安装于具有第二3d校准结构的托架的第二实例上的对象的透视图。

图4a-4d是用于获得安装于具有3d校准结构的托架上的对象的3d表示的a、b、c、d的透视图。

图5a-5b是第一3d校准结构的部分的3d表示的透视图。

图6a是对象的由视觉系统形成的3d表示的透视图。

图6b是3d表示的特征的近视图。

图7a是具有第三3d校准结构的托架的第三实例的透视图。

图7b是第三3d校准结构的近距透视图并且说明多个锥台中的一些锥台。

图7c-7d是安装于托架的第三实例上的对象的由视觉系统形成的3d表示的透视图。

各个图式中的相同参考标号和名称指示相同元件。

具体实施方式

图1是视觉系统100的实例的透视图。视觉系统100包含运动台110和一或多个其它线性台114b。视觉系统100还包含相机120、光源130、固持对象105的托架150,以及计算装置160。

计算装置160包含处理器161和存储器162,并且计算装置160可连接到网络。处理器161可为一或多个硬件处理器,其可各自包含多个处理器核心。存储器162可包含易失性和非易失性存储器,例如随机存取存储器(ram)和快闪ram。计算装置160可包含各种类型的计算机存储媒体和装置,其可包含存储器162,存储在处理器161上运行的程序的指令。此类程序可包含视觉程序163。

托架150稳固地附接到运动台110以实现托架150的移动。运动台110包含一或多个旋转台112和一或多个线性台114a以为托架150提供一或多个旋转自由度和一或多个平移自由度。

在一些实施方案中,一或多个旋转台112由用于提供例如绕图1的x轴的单个旋转自由度的单个旋转台组成。在一些其它实施方案中,一或多个旋转台112包含第一旋转台和第二旋转台,其中第一旋转台可具有平行于托架150的表面例如平行于图1中示出的x轴的第一旋转轴线,且第二旋转台可具有垂直于托架150的表面的第二旋转轴线。第二旋转台可安装于第一旋转台上以实现对托架150的横转角度和平摆角度的独立控制。

在一些实施方案中,一或多个线性台114a由提供例如沿着图1中示出的x轴的单个平移自由度的单个线性台组成。在一些其它实施方案中,一或多个线性台114a包含第一线性台和第二线性台以为托架150提供例如沿着图1中示出的x轴和y轴的两个平移自由度。在又一些其它实施方案中,一或多个线性台114a包含第一线性台、第二线性台和第三线性台以为托架150提供例如沿着图1中示出的x轴、y轴和z轴的三个平移自由度。

相机120和光源130稳固地附接到一或多个其它线性台114b。一或多个其它线性台114b实现相机120和光源130相对于托架150的移动。在一些实施方案中,一或多个其它线性台114b由用于提供例如沿着图1中示出的y轴的单个平移自由度的单个线性台组成。在一些其它实施方案中,一或多个其它线性台114b包含为托架150提供例如沿着图1中示出的y轴和z轴的两个平移自由度的第一线性台和第二线性台。在一些实施方案中,一或多个旋转台安装到线性台114b上以提供一或多个旋转自由度。在一些实施方案中,视觉系统100可包含两个或更多个相机120。

将由视觉系统100进行测量的对象105安装于托架150上。托架150包含3d校准结构,还被称作“运行时间校准目标”,其在视觉系统100的运行时间校准中使用。运动台110的旋转和平移台可用以将托架150放置在相对于视觉系统100的相机120的多个预定定向处,使得对象105的至少一部分和托架150的3d校准结构的一部分同时被光源130照亮并且在相机120的视场中。接着获取预定定向的图像。

图1b-1e示出使用视觉系统产生对象105的3d表示的过程的实例的方面。参考图1b,视觉系统100将三角形激光平面(例如,使用光源130)投射到正被检查的对象105上,以照亮其表面。在一些实施方案中,光源130可为发光二极管或卤素光源。此处,托架150支撑对象105。激光平面投射到对象上产生激光平面与对象105的相交区135,所述相交区的形状由对象的表面确定。

参考图1c,视觉系统100(例如,使用相机120)获取相交区135的强度图像192。相交区135的强度图像192提供跨越照明线的对象的高度轮廓信息。一旦获取强度图像192,返回参考图1b,对象105便如由箭头170所指示地相对于相机移动。在一些实施方案中,通过运动台110提供所述相对运动,其使对象相对于相机120和光源130移动。在一些其它实施方案中,通过移动相机120和光源130(例如,使用一或多个线性台114b)提供所述相对运动。所述相对运动可基于计算装置160提供的指令。在对象相对于相机120和光源130运动时,视觉系统100获取一系列强度图像(如图像192)。

参考图1d,计算装置160处理视觉系统100获取的所述系列强度图像。举例来说,计算装置160可处理每一强度图像以提取对象105的切片的直线轮廓。计算装置160接着可使用适当偏移聚合来自每一强度图像的所提取的线轮廓以形成对象105的经聚合线轮廓194。举例来说,可基于相对运动的速度确定所述适当偏移。

参考图1e,计算装置160处理所聚合的线轮廓194并且产生对象105的3d表示196。此处,3d表示196输出为范围图像;然而,3d表示196可输出为例如3d点云。3d表示196含有关于在扫描过程期间获取的对象105的3d信息。

可由计算装置160执行视觉系统100的校准,以估计每一获得的3d表示(如3d表示196)的单个世界坐标系(“3d参考系”)和独立坐标系(“图像坐标系”)之间的坐标变换。一般来说,执行校准包含通过使观测到的对校准目标的测量值与其已知值对应来计算模型参数。在一些实施方案中,校准的执行带来优化问题,例如参数估计问题。可用于执行校准的优化算法可包含线性最小二乘方解法和非线性数值搜索算法,例如雷文柏格-马括特(levenberg-marquardt)算法。

校准可包含工厂校准、现场校准和运行时间校准。举例来说,工厂校准可移除静态误差,例如与视觉系统100的光学设计和几何形状有关的相机透镜畸变和透视畸变。举例来说,现场校准可针对含有多个相机的系统,确定相对于相机的扫描运动方向,以及多个相机当中的相对3d位姿(旋转和平移)。举例来说,运行时间校准可移除可在扫描之间改变的动态误差。动态误差的实例包含非线性畸变、仿射(“线性”)畸变,以及平移和/或定向中的刚性变化。举例来说,非线性畸变可由编码器信号中的运行时间变化所导致。举例来说,仿射畸变可包含由激光平面与对象相对于相机的相对运动的方向之间的角度变化所导致的剪切。举例来说,刚性变化可由托架150或相机120的旋转和/或平移的不准确性所导致。

校准数据可含有例如可用以创建紧密表示对象的物理轮廓的3d表示的变换矩阵的信息。接着,经校准3d表示允许如对象的精确体积的尺寸测量和参数计算。视觉程序163可用以执行图1b-1e中示出的步骤。视觉程序163的实例可包含商业软件工具,例如美国马萨诸塞州纳提克市的cognex公司的visionpro软件。

运行时间校准可缓解与视觉系统100的各个运动台(例如,运动台110)有关的准确度和/或可重复性问题。只要运动台是刚性的,便可补偿平移台的台旋转、顶锥角和角度偏差的变化。在一些情况下,因此可使用更便宜的运动台(例如,线性运动台、旋转运动台、或两者)。

图2a是具有第一3d校准结构155a的托架150a的第一实例的透视图。托架150a包含第一表面152和侧表面154。第一表面152当安装时支撑对象105。托架150a的第二表面(未示出)附接到运动台110。侧表面154形成于第一表面152与第二表面之间。第一3d校准结构155a形成于托架150a的侧表面154上。

图2b是第一3d校准结构155a的近距透视图。第一3d校准结构155a包含通过沟道220分隔开的多个条棒210。条棒210包含平坦表面212、第一锥形表面214、第二锥形表面216。条棒210具有宽度w、长度l和深度d。深度d是从沟道220的表面到平坦表面212所测量。长度l是在第一锥形表面214和第二锥形表面216之间所测量。第一锥形表面214相对于平坦表面212倾斜,从而形成如图2b中所示的第一倾斜角α1。第二锥形表面216相对于平坦表面212倾斜,从而形成如图2b中所示的第二倾斜角α2。多个条棒中的个别条棒210周期性地隔开以具有间距p,从而形成周期性特征。

每一条棒210在第一3d校准结构155a的整体设计中具有已知3d位置。通过将条棒210中的每一个定位在第一3d校准结构155a的3d表示中,视觉系统100可校准图像坐标系和单个共享世界坐标系之间的关系。在此情况下,用相对于第一3d校准结构155a的刚性空间关系界定单个共享世界坐标系,且单个共享世界坐标系与托架150a一起移动。此外,在一些实施方案中,第一3d校准结构155a的每一条棒210可用以界定本地3d坐标系,视觉系统100可相对于所述本地3d坐标系校准尺寸测量值。

在一些实施方案中,宽度w可具有0.10-0.50mm的范围,例如0.25mm。长度l可具有0.5-2.0mm的范围,例如1.4mm。深度d可具有0.10-0.50mm的范围,例如0.25mm。间距p可具有0.20-1.00mm的范围,例如0.50mm。第一倾斜角α1可具有10-60度的范围,例如45度。第二倾斜角α2可具有10-60度的范围,例如45度。

在一些实施方案中,多个条棒由具有相同特性的条棒组成。在一些其它实施方案中,多个条棒包含具有不同特性的条棒。举例来说,条棒的宽度可跨越侧表面154改变。宽度的改变可由数学函数例如多项式函数、正弦函数和指数函数描述。在一些实施方案中,识别标记可提供于平坦表面212上或每一条棒210附近以识别每一条棒。

在一些实施方案中,间距p可跨越侧表面154改变。间距p的改变可由数学函数例如多项式函数、正弦函数和指数函数描述。

图2c是安装于具有第一3d校准结构155a的托架150a的第一实例上的对象105的透视图。当安装时,对象105的至少一部分和第一托架150a的第一3d校准结构155a的一部分同时在视觉系统100的相机120的视场中。

图3a是具有第二3d校准结构155b的托架150b的第二实例的透视图。第二托架150b类似于第一托架150a,但第二3d校准结构155b包含多个阶梯状小面。多个阶梯状小面包含两个或更多个小面312。小面312彼此平行,并且跨越侧表面154周期性地重复,从而形成周期性特征。定位成彼此邻近的小面312定位于相对于彼此的不同高度(例如,沿着y轴)处。小面312包含两个或更多个圆形孔洞(例如圆柱体孔洞),其包含侧表面314。在一些实施方案中,侧表面314正交于小面312。在一些实施方案中,侧表面314向内朝向孔洞的中心渐缩,以改进相机120对侧表面314的可见度。

在一些实施方案中,小面的宽度(例如,沿着x轴的尺寸)可具有5-20mm的范围,例如10mm。小面的长度(例如,沿着z轴的尺寸)可具有5-25mm的范围,例如15mm。相邻小面312之间的高度差值可具有1-5mm的范围,例如2mm。圆形孔洞的直径可具有1-5mm的范围,例如3mm。两个或更多个圆形孔洞之间的间距可具有8-16mm的范围,例如12mm。圆形孔洞的深度可具有1-5mm的范围,例如3mm。

图3b是安装于具有第二3d校准结构155b的托架150b的第二实例上的对象105的透视图。当安装时,对象105的至少一部分和第二托架150b的第二3d校准结构155b的一部分同时在视觉系统100的相机120的视场中。

图4a-4d是用于获得安装于具有3d校准结构的托架150a上的对象105的3d表示的扫描a、b、c、d的透视图。参考图4a-4d,运动台110具有两个旋转自由度θ和。θ(‘塞塔(theta)’)是在扫描期间托架150a相对于相机120的定向的横转角度。θ可为不同的以从不同视角获取对象105的侧的图像。(‘斐(phi)’)是在扫描期间托架150a相对于相机120的定向的平摆角度。可为不同的以获取对象105的不同侧的图像。运动台110还具有沿着x轴、y轴和z轴的三个平移自由度。沿着x轴的平移可提供在扫描期间对象105相对于相机120的相对运动。沿着y轴和z轴的平移可提供对由θ旋转所导致“摆动”的补偿,以维持相机120与正被获取的对象105的侧之间的恒定距离。举例来说,“摆动”可由对象105的侧的不同尺寸所导致。

参考图3b,举例来说,对象105可具有具4个凸起侧壁的敞口盒的形状。为捕获原本可能在特定定向中的扫描期间被遮挡或‘遮蔽’的对象105的特征,可针对对象105的不同空间定向(例如,相对于相机130的不同角度)执行多个扫描。

参考图4a,在θ=+20°且的情况下执行扫描a。在此状态下,对象105朝向相机侧摆或倾斜,且如所示跨越对象105投射相交区135。在扫描a期间,视觉系统100可获取托架150a的第一长侧的图像,所述图像中的每一个含有第一3d校准结构155a的第一部分和包含第一凸起侧壁的对象105的第一部分。在此状态下,相机130在第一凸起侧壁处‘向下’看。

参考图4b,在θ=+20°且的情况下执行扫描b。在此状态下,对象105绕垂直于第一托架150a的第一表面152的轴偏转或旋转90度。在扫描b期间,视觉系统100可获取托架150a的第一短侧的图像,所述图像中的每一个含有第一3d校准结构155a的第二部分和包含第二凸起侧壁的对象105的第二部分。在此状态下,相机130在第二凸起侧壁处‘向下’看。

参考图4c,在θ=-20°且的情况下执行扫描c。在此状态下,对象105远离相机侧摆或倾斜。在扫描c期间,视觉系统100可从不同于在扫描a期间的视角获取托架150a的第一长边的图像,这是因为在此状态下,相机130在第一凸起侧壁处‘向上’看。在对象105的不同视角处执行的此类扫描可使得能够捕获原本可能在先前定向中的扫描期间被遮挡或‘遮蔽’的对象105的特征。

参考图4d,在θ=-20°且的情况下执行扫描d。在此状态下,对象105另外从扫描c中的定向偏转90度。在扫描d期间,视觉系统100可从不同于在扫描b期间的视角获取托架150a的第一短侧的图像,这是因为在此状态下,相机130在第二凸起侧壁处‘向上’看。类似于扫描c,在对象105的不同视角处执行的此类扫描可使得能够捕获原本可能在先前定向中的扫描期间被遮挡或‘遮蔽’的对象105的特征。

可在θ=+20°且θ=+20°且θ=-20°且以及θ=-20°且的情况下执行额外扫描以获取对象105的剩余两侧的图像。

图5a-5b是第一3d校准结构155a的一部分的3d表示455a的透视图。作为计算装置160执行的运行时间校准的部分,可基于在扫描a、b、c和d期间获取的图像获得3d表示455a。3d表示455a包含针对给定扫描在相机120的视场内可见的相应n条棒210j的表示,其中j=2...n,且对于托架150a的长侧,n≤61,或对于托架150a的短侧,n≤39。来自第一3d校准结构155a的3d表示455a的条棒510j是n条棒210j的3d表示。3d表示455a的子区456a包含多个条棒510j。参考图5b,示出了子区456a的近距图。(xj,yj,zj)是与来自作为计算装置160执行的运行时间校准的部分获得的第一3d校准结构155a的3d表示455a的第j条棒210j的表示510j有关的第j笛卡尔坐标。

作为视觉系统100的运行时间校准的部分,计算装置160可产生运行时间对准模型。举例来说,可基于使第一3d校准结构155a的至少一部分的校准模型(例如,“训练时间3d模型”)最佳拟合到3d表示455a的坐标变换,产生运行时间对准模型。举例来说,校准模型可为基于校准结构的设计时间知识(例如用以制造校准结构的计算机辅助设计(cad)设计)产生的校准结构155a的“理想”3d表示。在此实例中,条棒210的平坦表面212中的每一个可用以准确地确定3d表示455a的的图像坐标系的3d表示455a的位姿。

视觉程序163的拟合例程可用以单独地使平面拟合包括条棒210的平坦表面212中的每一个的3d点。拟合例程的实例是随机样本一致性(ransac)拟合器(m.a.fischler和r.c.bolles的“随机样本一致性:应用于图像分析和自动制图学的模型拟合的范例(randomsampleconsensus:aparadigmformodelfittingwithapplicationstoimageanalysisandautomatedcartography)”,communicationsoftheacm,1981年第24卷,第6期,第381-395页)。在其中平坦表面设计为共面的情况下,如针对3d校准结构155a的情况一样,共同平面可拟合到来自多个平坦表面212的3d点组合集。至少基于前述信息,可确定使校准模型最佳拟合到3d表示455a的坐标变换。坐标变换的结果是运行时间校准对准模型。

图6a是视觉系统100形成的对象105的3d表示605的透视图。计算装置160基于校准,通过将对象105的部分的多个3d表示拼接在一起,形成对象105的3d表示605。在此情况下,基于例如如上文结合图1d-1e所描述在扫描a-d期间相机120获取的图像,获得对象105的多个3d表示。3d表示605包含特征607。

图6b是3d表示605的特征607的近视图。计算装置160可从3d表示605确定特征607的尺寸dy和dz。举例来说,可通过计算对应于特征607的相应拐角的笛卡尔坐标之间的欧几里得(euclidean)距离确定尺寸dy和dz。

图7a是具有第三3d校准结构155c的托架150c的第三实例的透视图。除了如所描述的内容,第三托架150c类似于第一托架150a。举例来说,第三托架150c可具有中心切口,使得外部框架具有第一表面752和侧表面754。在此情况下,对象105可安装于中心切口区域中,因此安装的对象可突起到高于和/或低于托架150c的x-z平面。第三3d校准结构155c包含多个锥台710。

图7b是第三3d校准结构155c的近距透视图并且说明多个锥台710中的一些。锥台710包含平坦表面712和一或多个倾斜侧表面。锥台710具有底部长度lb、顶部长度lt、高度h和侧壁角度α。在图7b中展示的实例中,锥台710是具有4个倾斜侧表面的金字塔形锥台,且锥台710沿着侧表面754以间距p周期性地定位,形成周期性特征。第三校准结构155c的锥台710可被设计成避免自遮挡,例如在相机120的视场中,在托架150c相对于相机120的广泛范围的旋转定向上,一个锥台遮挡其它锥台。

在一些实施方案中,底部长度lb可具有范围2-10mm,例如5.0mm。顶部长度lt可具有范围1-5mm,例如2.5mm。高度h可具有范围0.1-1mm,例如0.4mm。间距p可具有范围3-16mm,例如8mm。侧壁角度α可具有范围5-25度,例如12.8度。在一些实施方案中,锥台710的平坦表面712可具有各种形状,包含圆形和具有n个顶点的多边形,其中3≤n≤20,包含三角形、正方形和矩形。

图7c-7d是安装于托架150c上的对象105的由视觉系统100形成的3d表示705的透视图。3d表示705包含对象105的一部分的第一3d表示706和托架150c的一部分的第二3d表示708。第一3d表示706包含特征707。第二3d表示708包含锥台710的3d表示714。可以类似于3d表示605的方式形成3d表示705。图7c-7d示出使用锥台710的3d表示714的运行时间对准模型720。运行时间对准模型720包含两个子模型720a和720b。

参考图7c,3d表示705a包含特征707内部的底部内表面贴片709a。举例来说,可通过在扫描期间使托架150c定向为具有正θ值,例如,如图4b中所示,θ=+20°,获得底部内表面贴片709a。参考图7d,3d表示705b包含特征707内部的顶部内表面贴片709b。举例来说,可通过在扫描期间使托架150c定向成具有负θ值,例如,如图4d中所示,θ=-20°,获得顶部内表面贴片709b。

基于存在于顶部内表面贴片709b和底部内表面贴片709a上的多个3d点,可比通过测量特征707的边缘更准确地确定尺寸dy。举例来说,可独立地计算相应贴片上的成对的相对3d点之间的距离,接着在贴片709a和709b的至少一部分上进行平均化以更准确地确定dy。作为另一实例,两个平面可单独地拟合到顶部贴片709b和底部贴片709a。接着,可基于两个拟合平面之间的平均间距确定尺寸dy。可类似地使用左内表面贴片和右内表面贴片的多个3d点确定尺寸dx。

参考图7c,作为视觉系统100的运行时间校准的部分,产生运行时间对准子模型720a。举例来说,可基于使3d校准结构155c的至少一部分的校准模型(例如,“训练时间3d模型”)最佳拟合到视觉系统100形成的3d表示705a的坐标变换,产生运行时间对准子模型720a。在此实例中,锥台710的3d表示714的平坦表面中的每一个可用以准确地确定3d表示705a的运行时间位姿。

在一些实施方案中,运行时间对准模型720跨越包含锥台710的3d表示714的第二3d表示708的一部分。在图7c-7d中展示的实例中,对准子模型720a和720b跨越4个锥台。在一些其它实施方案中,运行时间对准模型720跨越整个第二3d表示708。应注意,扩展运行时间对准模型720的跨度可潜在地提供更好的校准准确度,但其可增加完成校准的时间。

一般来说,校准模型可为合成模型或训练时间模型。举例来说,可从基于校准结构155c的设计时间知识(例如,cad设计、数学模型或几何模型)产生的校准结构155c的“理想”或合成3d表示产生校准。替代地,校准模型可为从在视觉系统100的训练时间获得的托架的3d表示产生的基于图像的模型,无需托架的结构的先验知识。举例来说,在训练时间,获得托架的3d表示。接着,视觉系统100指定3d表示的原点和坐标系(例如,界定相对于单个共享世界坐标系的训练时间位姿的6自由度(6-dof)原点),以形成训练时间3d模型。在一些实施方案中,用户将原点和坐标系提供给视觉系统100。

用于产生运行时间对准模型720的坐标变换表示对象105的运行时间位姿。运行时间位姿可不同于训练时间位姿,这是因为其并入有可由视觉系统100的可变性(包含运动台110在平移台的侧倾、横摆和角度偏差中的可变性)引起的动态畸变的效应。因此,运行时间位姿可用以将运行时间处获得的3d表示(例如,3d表示705a和705b)的图像坐标系变换为如在训练时间界定的单个共享世界坐标系,其中可准确地做出尺寸测量并且不含动态畸变。

在一些实施方案中,单个校准模型可用以产生从托架150c的各个旋转定向获得的3d表示的运行时间对准模型720。举例来说,单个校准模型可为从正视图(例如,θ=0°)获得的训练时间3d模型。在一些其它实施方案中,可产生针对托架150c的相应旋转定向的个别训练时间3d模型。举例来说,可产生针对在图4a-4d的扫描a-d中的托架150c的旋转定向中的每一个的训练时间3d模型。针对图7c-7d中示出的本发明实例,可从个别特定于定向的训练时间模型产生运行时间对准子模型720a和720b。使用特定于定向的训练时间3d模型减少从不同扫描获得的3d表示的运行时间位姿与相应训练时间3d模型的训练时间位姿之间的差异,这是因为已特定地针对托架的相应定向产生每一训练时间模型。训练时间和运行时间之间在位姿上的差异减小可实现对尺寸、位置或两者的更准确确定。

针对不同旋转定向产生的训练时间3d模型的相应6-dof原点可跨越训练时间3d模型建立共同原点和共同坐标系。可以各种方式确立共同原点和共同坐标系。在一些实施方案中,首先在正视图训练时间3d模型上界定6-dof原点。举例来说,6-dof原点可为具有如图7b中所示的坐标系的平坦表面712的几何中心。接着,可通过以下步骤产生不同旋转定向的后续训练时间3d模型:获得3d表示;针对获得的3d表示,确定与针对正视图训练时间3d模型界定的6-dof原点一致的3d点和坐标系;和将所确定的3d点和坐标系设置为后续训练时间3d模型的6-dof原点。

在一些实施方案中,训练时间3d模型的6-dof原点可被界定为相对于校准结构的几何特征的几何关系的集合。举例来说,金字塔形锥台具有界定平坦表面712的四个侧表面。通过基于平坦表面712的顶点和正交向量界定的坐标系,6-dof原点接着可界定为例如四个侧表面的相交点形成的平面的几何中心。基于这些几何关系,视觉程序163可自动搜索在3d表示中形成锥台的四个侧表面,并且根据所述界定设置6-dof原点。

一般来说,除了3d校准结构之外,侧表面154或侧表面754还可包含识别标记,包含id、条码和识别信息。举例来说,识别标记可针对于托架上的3d校准结构的识别以在选择供在执行运行时间校准时使用的对应校准模型中通知视觉程序163。

本说明书中描述的标的物的实施例和功能操作可实施于数字电子电路中,或实施于计算机软件、固件或硬件中,包含本说明书中所公开的结构和其结构等效物,或实施于其中的一或多个的组合中。本说明书中描述的标的物的实施例可使用编码在计算机可读媒体上以供计算装置执行或控制计算装置的操作的计算机程序指令的一或多个模块实施。计算机可读媒体可为制品,例如计算机系统中的硬盘驱动器或通过零售渠道销售的光学光盘,或嵌入式系统。计算机可读媒体可被单独地获取并且稍后例如通过在有线或无线网络上递送计算机程序指令的一或多个模块,编码有计算机程序指令的一或多个模块。计算机可读媒体可为机器可读存储装置、机器可读存储衬底、存储器装置或其中的一或多个的组合。

术语“计算装置”涵盖用于处理数据的所有设备、装置和机器,借助于实例,包含可编程处理器、计算机或多个处理器或计算机。除了硬件之外,计算装置还可包含产生用于所讨论的计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、运行环境或其中的一或多个的组合的代码。另外,所述设备可采用各种不同的计算模型基础架构,例如网络服务、分布式计算和网格计算基础架构。

计算机程序(也被称作程序、软件、软件应用程序、脚本或代码)可以任何形式的编程语言写入,所述编程语言包含编译或解译语言、声明或过程性语言,并且其可以任何形式部署,包含作为独立程序或作为模块、组件、子程序或适合用于计算环境中的其它单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保持其它程序或数据(例如存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于所讨论的程序的单个文件中,或多个经协调文件(例如存储一或多个模块、子程序或代码的部分的文件)中。计算机程序可经部署以在一个计算机上或在位于一个位点或跨越多个位点分布并由通信网络互连的多个计算机上执行。

本说明书中所描述的过程和逻辑流程可由一或多个可编程处理器执行,所述可编程处理器执行一或多个计算机程序以通过对输入数据操作且产生输出而执行功能。所述过程和逻辑流程也可通过专用逻辑电路例如现场可编程门阵列(fpga)或专用集成电路(asic)执行,并且设备也可实施为所述专用逻辑电路。

适合于执行计算机程序的处理器包含例如通用和专用微处理器两者,以及任何种类的数字计算机的任何一或多个处理器。一般来说,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一或多个存储装置。一般来说,计算机还将包含用于存储数据的一或多个大容量存储装置,例如磁盘、磁光盘或光盘,或可操作地连接以从所述一或多个大容量存储装置接收数据或向其传送数据或进行这两种操作。然而,计算机无需具有此类装置。此外,计算机可嵌入于另一装置中,例如仅列举一些实例,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器,或移动存储设备(例如,通用串行总线(usb)闪存驱动器)。适用于存储计算机程序指令和数据的装置包含所有形式的非易失性存储器、媒体和存储器装置,包含例如半导体存储器装置,例如可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom),和闪存存储器装置;磁盘,例如内部硬盘或可拆除磁盘;磁光盘;和cd-rom和dvd-rom磁盘。处理器和存储器可由专用逻辑电路补充或并入在专用逻辑电路中。

为提供与用户的交互,本说明书中描述的标的物的实施例可实施于一计算机上,所述计算机具有显示装置,例如液晶显示器(lcd)、有机发光二极管(oled)或其它监视器,以用于向用户显示信息,并且具有键盘和指标装置,例如鼠标或跟踪球,使得用户可借以提供输入到计算机。其它种类的装置同样可以用于提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感觉反馈(例如视觉反馈、听觉反馈或触感反馈);并且来自用户的输入可以按任何形式接收,包含声学、语音或触感输入。

计算系统可以包括客户端和服务器。客户端和服务器大体上远离彼此且通常通过通信网络交互。客户端与服务器的关系是借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生。本说明书中描述的标的物的实施例可实施于一计算系统中,所述计算系统包含后端组件,例如数据服务器,或包含中间件组件,例如应用程序服务器,或包含前端组件,例如具有用户可借以与本说明书中描述的标的物的实施方案交互的图形用户界面或网页浏览器的客户端计算机,或一或多个此类后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或媒体的数字数据通信(例如,通信网络)互连。通信网络的实例包含局域网(“lan”)和广域网(“wan”)、网络间(例如,因特网),以及对等网络(例如,特用对等网络)。

虽然本说明书含有许多细节,但这些不应解释为对本发明的范围或可要求何种内容的限制,而是解释为对本发明的特定实施例特有的特征的描述。本说明书在单独实施例的上下文中所述的某些特征也可在单个实施例中组合地实施。相反,在单个实施例的上下文中描述的各种特征也可单独地在多个实施例中实施或以任何适合子组合来实施。此外,尽管上文可将特征描述为以某些组合起作用且甚至最初如此主张,但在一些情况下,可将来自所主张的组合的一或多个特征从组合中删除,并且所主张的组合可针对子组合或子组合的变化。

类似地,虽然在附图中按特定次序描绘操作,但此不应被理解为要求按所展示的特定次序或按循序次序执行此类操作,或执行所有所说明的操作,以实现所要结果。在某些情况下,多任务处理和并行处理可为有利的。此外,上文所描述的实施方案中的各种系统组件的分离不应被理解为在所有实施方案中要求此类分离,且应理解,所描述的程序组件和系统一般可一起集成在单个软件产品中或封装到多个软件产品中。

因此,已描述本发明的特定实施例。其它实施例在所附权利要求书的范围内。另外,权利要求书中所述的动作可以不同次序执行且仍实现合乎需要的结果。

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