使用光学标记自动排列三维扫描数据的设备和方法 【技术领域】
本发明涉及通过使用光学标记自动排列三维(3D)扫描数据的设备和方法,且更具体地,涉及根据一个坐标系自动排列以不同位置和角度扫描的多个3D扫描数据的相对位置的设备和方法。
背景技术
通常,光学3D扫描器可通过扫描仅在扫描器视域内的物体的表面来求取3D数据。为了扫描该物体被遮挡在3D扫描器视线外的其他区,应当使待被扫描的物体旋转或移动,或者应当将扫描器本身移动并定位到能够看见该物体的一部分或若干部分地地方。则可通过以不同的方位和角度来观测该物体获得一完整的3D扫描,由此可将如此获得的3D数据排列和集成到唯一的统一坐标系。
在这种情况下,如此获得的3D数据应当被集成到唯一的统一坐标系中的原因是如果将该扫描器移动到不同的位置和角度以记录该物体,则根据扫描器的位置可由不同的坐系统来限定每个3D扫描数据。
为匹配这些不同的坐标系,必须知道扫描器已被移动的距离。有两种计算该距离的算法。一种是通过使用移动扫描器的数控设备获得绝对距离,另一种是通过仅参考该扫描数据来计算该距离。
在后一种情况下,所进行的扫描必须使得多个扫描数据彼此重叠且在该扫描数据的重叠位置输入相应的点。然后参考所述相应点排列扫描数据,使得限定多个扫描数据的各个坐标系结合到一个统一的坐标系。
在此情况下,在手工输入相应点时,很容易出现差错,这取决于操作员输入它们的精确度。具体地,如果在物体的表面上没有异常特征,则更可能出现更多的差错。此外,大的或复杂的物体要求通过改变扫描器的位置和角度进行大量扫描操作, 由此会拖延相应点的输入并使扫描操作更易出错。另一缺点在于操作员的疏忽会造成错误输入或遗漏相应的点,由此造成频繁出现不精确的排列。
为克服上述缺陷,最近引入了一种方法,其采用附于物体表面的小的可检测到的物体,称为标记或目标,用以由操作员识别它们并精确地输入相应点。此外,还开发了一种技术,使用该技术可通过图像处理算法来自动识别相应点。
如图1所示,传统的标记4被任意地附于物体2的表面,且以重叠方式逐部分地扫描该物体2的表面。
当通过上述扫描方法获得多个扫描数据时,操作员可手动地标记相应的标记,如图2所示。
在通过扫描物体2的表面获得第一和第二扫描数据I1和I2后,如图2所示操作员检索共同放置在该两个扫描数据I1和I2中的标记M1和M2的个数,并通过匹配作为相应点的标记来排列该两个扫描数据I1和I2。
同时,在自动识别相应点的技术中,通过图像处理来检索彼此具有不同图案用于识别的标记,且如果将具有同样图案的标记设置在两个不同的扫描数据中,则可根据该标记自动地排列该两个扫描数据。
然而,通过使用上述标记识别扫描数据的相应点的传统技术具有一缺点。即,由于附于该物体表面上的标记的物理尺寸,可能会丢失标记所覆盖的物体的表面的部分的数据。
尽管可通过插入或在移动标记后重新扫描来恢复丢失的数据,还有其他的缺点就是这些方法不精确且要求大量的工作小时。
【发明内容】
本发明提供一种通过使用光学标记自动排列3D扫描数据的设备和方法,其中,所述光学标记为非接触型以便物体的扫描部分得到保护且不变形。
根据本发明的一个目的,提供一种使用光学标记自动排列3D扫描数据的设备,其中,通过以不同的角度扫描物体获得所述扫描数据,包括:标记产生装置,用于将多个光学标记投射到物体的表面上;图案投射装置,用于将图案投射到该物体的表面上以获得该物体的3D扫描数据;图像获得装置,用于获得包括投射到该物体的表面上的该物体的2D图像数据,以及用于通过投射到该物体表面上的图案获得该物体的3D扫描数据;以及控制装置,用于自该2D图像数据和3D扫描数据之间的关系求取光学标记的3D位置,并根据该光学标记的3D位置计算该3D扫描数据的相对位置。
根据本发明的一个目的,提供一种使用光学标记自动排列3D扫描数据的方法,该方法包括以下步骤:将图像获得装置移动到适于获得该物体的若干部分的图像的位置;通过标记产生装置将该光学标记投射到该物体的表面,并通过图像获得装置获得包括投射在该物体的表面上的光学标记的物体的部分的2D图像数据;通过图案投射装置将图案投射到该物体的表面上,并获得该物体的部分的3D扫描数据,所述图案被图像获得装置投射到该物体上;以及从2D图像数据和3D扫描数据之间的关系求取光学标记的3D位置,并根据所述光学标记的3D位置排列从该物体的不同的部分获得3D扫描数据。
【附图说明】
为了更好地了解本发明的特征和目的,应结合附图参考以下详细描述,所述附图中,
图1是用以示出将传统标签型标记附于物体上的该物体的3D扫描的示例图;
图2是用以示出使用标签型标记作为参考标记的不同扫描数据的排列的示例图;
图3为一示意图,用以示出根据本发明第一实施例的使用光学标记自动排列3D扫描数据的设备的构造;
图4a-4c为示意图,用以示出根据本发明第一实施例的使用光学标记获得2D图像数据的状态的例子,以及使用图案获得3D扫描数据的状态;
图5为一示意图,用以示出根据本发明第一实施例的从通过激活及去激活光学标记获得的2D图像数据导出标记的2D位置的状态的例子;
图6为一示意图,用以示出从标记的2D位置和相机镜头的中心位置导出标记的3D位置的状态的例子;
图7a-7b为示意图,用以举例说明根据本发明第一实施例借助于对相互不同的图像数据的三角比较搜索相应标记的操作;
图8a-8d为示意图,用以举例说明根据本发明第一实施例的在两个不同图像数据的三角形比较中,匹配处于相互不同的位置的两个三角形结构的转换操作;
图9为示意图,用以举例说明根据本发明第一实施例的借助于获得针对相互不同的图像数据的虚拟标记检索相应标记的操作;
图10a-10b为流程图,用以示出根据本发明第一实施例使用光学标记自动排列3D扫描数据的方法的操作;
图11为示意图,用以示出根据本发明第二实施例使用光学标记自动排列3D扫描数据的设备的构造;
图12为流程图,用以示出根据本发明第二实施例使用光学标记自动排列3D扫描数据的方法的操作;
图13为流程图,用以示出根据本发明第三实施例使用光学标记自动排列3D扫描数据的方法的操作;
图14为一示意图,用以示出根据本发明第四实施例的使用光学标记自动排列3D扫描数据的设备的构造;
图15为一示意图,用以示出根据本发明第五实施例的使用光学标记自动排列3D扫描数据的设备的构造;
图16为一示意图,用以示出根据本发明第六实施例的使用光学标记自动排列3D扫描数据的设备的构造;
图17a-17b为流程图,用以示出根据本发明第六实施例使用光学标记自动排列3D扫描数据的方法的操作;
图18为一示意图,用以示出借助于一基准坐标系在排列扫描数据的过程中出现的差错;
图19为一示意图,用以示出借助于一绝对坐标系在排列扫描数据的过程中出现的差错;
图20为一示意图,用以示出根据本发明第七实施例的使用光学标记自动排列3D扫描数据的设备的构造;
图21a-21b为流程图,用以示出根据本发明第七实施例使用光学标记自动排列3D扫描数据的方法的操作;
图22为通过使用在图20中描述的大域图像获得部分获得图像的例子的图;
图23为通过使用在图20描述的大域图像获得部分和图像获得部分获得的图像的例子图;
图24为示意图,用以示出根据本发明第八实施例的使用光学标记自动排列3D扫描数据的设备的构造;
图25a和25b为流程图,用以示出根据本发明第八实施例使用光学标记自动排列3D扫描数据的方法的操作;
图26a为通过使用在图24中描述的一对大域图像获得部分获得的图像的例子的图;
图26b为通过使用在图24中描述的一对大域图像获得部分和一图像获得部分获得的图像的例子图;
图27为示意图,用以说明本发明第八实施例的原则;
图28为示意图,用以说明根据本发明第九实施例的使用光学标记自动排列3D扫描数据的设备的构造;
图29为流程图,用以说明根据本发明第九实施例使用光学标记自动排列3D扫描数据的方法的操作;
图30为一流程图,用以说明根据本发明第十实施例的使用光学标记自动排列3D扫描数据的设备的构造;
图31为用以说明根据本发明第十一实施例的标记发生器的构造的示意图。
【具体实施方式】
以下将结合附图详细描述本发明的第一实施例。
图3为说明根据本发明第一实施例的使用光学标记自动排列3D扫描数据的设备的结构图,其中,该设备包括一标记发生器12,图案投射器16,图像获得部分18,移动驱动部分20,移动机构22,图像输入部分24,标记闪烁控制器26,图案投射器控制器28,微处理器30和缓冲器32。
被设计以将可由图像获得部分18识别的标记投射在物体10的表面上的标记发生器12包括多个标记输出部分14,用于沿不规则方向将多个光学标记同步地投射在该物体10的表面上。
优选的,该多个标记输出部分14采用能够将多个红点投射在物体10的表面上的激光指示器,以便可容易地区分投射在物体10表面上的点的位置和由图像获得部分18获得的图像,所述图像获得部分18例如相机等。
标记发生器12绝不限于激光指示器,且可采用任何激光学标记,只要其能够正确地在物体的表面聚焦且能够容易地被控制以重复闪烁。
可沿物体的周围设置多个标记发生器12,以将光学标记投射在该整个物体10的表面上,且可根据该物体10的尺寸和形状来改变所述光学标记的个数。此外,在扫描期间,应当将标记发生器12固定在物体上,以便标记的位置在该物体的表面上不改变。
图中所示的图案投射器16投射预定的图案以便可获得该物体10的3D扫描数据。即,通过使用投射器,例如LCD投射器等,将空间编码的光束投射在该物体10的表面上,或将激光束投射在物体10的表面上,以便可通过图像获得部分18来获得该物体的3D扫描数据。
而且,优选的,图案投射器16采用一滑动投射器,其包括光源,图案膜,和用于投射预定图案的透镜,或者电子LCD投射器,或用于投射激光条纹图案的激光二极管。具有条纹图案的图案膜被一预定的进给装置进给在光源和透镜之间,其允许一系列的条纹图案投射在该物体10上。
图案膜可具有不同间隙的条纹图案(striped pattern),如在由本申请人于2002年2月28日申请的韩国专利申请No.2002-10839中所公开的,该专利申请的名称为“使用多个条纹图案的3D扫描设备和方法”。其同样适用于使用激光条纹图案的扫描装置。
此外,优选在获得3D扫描数据的同时不应当将标记投射在物体10上,因为扫描数据可能会被物体10上的标记破坏。
图像获得部分18包括能够接收图像的图像传感器,例如电荷耦合器件(CCD)相机或CMOS相机。图像获得部分18通过在将标记光学地投射在该物体10的表面上时拍摄该物体来获得图像。
图像获得部分18可以被配置为与图案投射器16分离,但优选将图像获得部分18与图案投射器16一体地安装,因为与投射器16一体的图像获得部分18结构简单,且易于在不进行校准的情况下匹配2D图像数据和3D图像数据。
图像获得部分18获得2D图像数据和3D扫描数据,同时同步光学标记的闪烁周期和图案的闪烁周期,其详细内容示于图4a,4b,4c中。
如图4a所示,图像获得部分18通过拍摄该物体10的一特定部分获得第一图像数据40,在物体的该部分上,任意投射有多个光学标记(RM)。
接下来,如图4b所示,图像获得部分18通过拍摄如图4a所示的物体10的该相同部分获得第二图像数据42,同时标记发生器12被关闭以防止物体10的表面被投射有所述激光学标记。
接下来,如图4c中所示,图像获得部分18通过拍摄物体10获得3D扫描数据,在物体10上投射有自图案投射器16的条纹图案,同时,标记发生器12关闭。具体的,获得形式为第一至第五扫描数据4a-44e的3D扫描数据,其分别对应于具有不同条纹图案PT1-PT5的物体10表面上的相同部分。尽管在本实施例中,图案膜具有5中不同的条纹图案,其不限于此,且可具有更多种图案。
图像驱动部分20根据微处理器30的驱动控制相对于物体10移动图案投射器16和图像获得部分18,以便能够获得整个物体10的图像。
移动机构22接收来自移动驱动部分20的信号,以相对于该物体向一预定方向移动图案投射器16和图像获得部分18。尽管在本实施例中采用移动驱动部分20,用于电动地移动图案投射器16和图像获得部分18,显然,也可手动地操作移动机构22。
图中所示图像输入部分24接收从图像获得部分18获得的图像数据,且标记闪烁控制器26用来根据微处理器的控制来使标记发生器12的光学标记闪烁。
投射控制器28控制图案投射器16的图案膜的进给速度和方向,且还控制光源的闪烁用于投射。
微处理器30接收并分析通过图像输入部分24以不同角度拍摄的该2D图像数据和3D扫描数据,并自动将该3D扫描数据排列在一单一一致的坐标系中。
如图5所示,为寻求激光学标记的2D位置,微处理器30对具有激光学标记(RM)的第一图像数据40和不具有激光学标记(RM)的第二图像数据42进行图像处理,结果,获得仅包括激光学标记(RM)的第三图像数据46。
如图6所示,微处理器30从图像获得部分18的相机透镜中心50和使用标记位置求取的2D图像数据52之间的关系计算标记的3D位置。对应于相应标记的标记(a’,b’,c’)的3D位置可通过估计交叉点来获得,在所述交叉点,连接图像获得部分18的相机透镜中心50和在2D图像数据中的任意标记的位置(a,b,c)的直线与3D扫描数据54相交。
在图案投射器16和图像获得部分18一体配置的情况下,有可能快速获得标记的3D位置。然而,如果图案投射器16和图像获得部分18被分别配置,则应当执行对图案投射器16和图像获得部分18的坐标的校准,用于获得标记的3D位置。通过上述步骤,可获得以不同角度拍摄的3D扫描数据的3D位置。
与此同时,扫描数据优选应当包括多于4-5个标记,且相邻的两个扫描数据应当包括3个或更多的共同标记。这是因为必须使用3个或更多的点来限定3D空间中的唯一位置,且获得相应的标记也要求3个或更多的点(以下描述)。
此外,本发明中可能的是,每个标记使用不同的图案来区分彼此。然而,设备的配置及其制造可能会复杂,因为成百上千个标记输出部分应当投射不同形状的标记。
在本发明中,在自动排列通过以重叠方式拍摄物体获得的相邻区的3D扫描数据中,通过使用有关基于各3D扫描数据在微处理器30处计算的标记的相对位置的信息,使得这些标记彼此得到区分。例如,由标记形成的三个点可构成一个三角形,且由三个不同的点构成的三角形彼此不同,以便通过比较角度和其长度可区分每个三角形。由此,可区分对应于三角形顶点的一个标记和另一个标记。以下将对该过程进行详细描述。
如在图7a和7b中所示,在一个扫描数据60包括M个标记点,而相邻该一个扫描数据60的另一个扫描数据62包括N个标记点的情况下,扫描数据60包含MC3个不同的三角形,且另一个扫描数据包含NC3个不同的三角形。然后,比较该两个扫描数据总共MC3×NC3次,可获得相应对三角形。
首先,如在图7a中所示,微处理器30根据包含在一个扫描数据60中的标记获得的点构建多个三角形T1和T2,并根据包含在另一扫描数据62中的标记获得的点构建多个三角形T3和T4。
接下来,如图7b所示,微处理器30寻求一对相互对应的三角形,例如T1和T3,其分别包含在两个扫描数据60和62中。
可使用不同的方法来比较这些三角形。其中一个是通过比较每边的长度来寻求一对对应的三角形。换句话说,比较每个三角形的三条边(a1,a2,a3)(b1,b2,b3),且如果每条边的长度与对方相同,且如果每条边的顺序完全相同,则可确定该两个三角形对应。
在寻求具有三条相同边的三角形中,以递减顺序排列每一边的长度,例如,如果检测具有相同边的至少多于两个的三角形,则检查每边的顺序。即,如果从最长边沿逆时针顺序或顺时针顺序比较的每条边相同,则判定两个三角形对应。
在如上解释中描述的在各扫描数据中区分对应的三角形或标记后,移动扫描数据以便可将这些标记定位在单一一致坐标系中的相同点上。也就是说,三角形中的一个用做基准,而对应的三角形向该基准移动,且结果,该两个坐标系匹配。
位于两个不同的扫描数据中的两个三角形的匹配过程示于图8a-8d。如图8a所示,在给出两个三角形的情况下,每个三角形尺寸和形状相同但位于不同扫描数据处,在确定两个对应的三角形时得知有关顶点和边的信息。
如图8b所示,通过使用转换矩阵(T)使两个对应三角形中的选择的顶角中的一个相匹配,这里,与一个三角形相关的基准坐标系被设置为A,另一坐标系被设置为B。对其进行的转换矩阵(T)在以下公式1中定义:
公式1……T=T(A1-B1)
接下来,如图8c中所示,进行旋转转换以通过使用旋转矩阵(R1)匹配一条相应边,这里由公式2来定义旋转矩阵(R1):
公式2……R1=R(Θ1)
图8d所示为通过使用旋转矩阵(R2)进行的旋转转换以匹配剩余的一个相应顶点,这里,由公式3来定义旋转矩阵(R2)
公式……R2=R2(Θ2)
结果,通过转换矩阵M来进行总的匹配处理,其由公式4来定义:
公式4……M=T·R1·R2
由此,通过以下公式5将包括在一个扫描数据中的点(P)移动到另一个扫描数据中的新位置:
公式5……P`=MXP
与此同时,很可能会出现计算错误,因为物理尺寸不能被数学地定义为点,而是具有实际的尺寸。由此,在微处理器30如上所述匹配不同的扫描数据后,微处理器30处理得更复杂精细以获得更精确的匹配。即,基于成网的数据进一步调整标记的位置,其被称为“配准(registering)”。通过这些处理,可将每个扫描数据更精确地结合到单一一致的坐标系中。以下进行详细描述。
在包括多个点的点云数据A和包括多个点的点云数据B要被结合到单一一致的坐标系的情况下,坐标系A被移动并旋转以结合到坐标系B。在此情况下,如果A的n个点是P={pi},且与其对应的B的点为Q={xi},则可通过用于使P和Q之间的距离最小化的最小二乘法来获得移动和旋转转换,且该转换被应用于A。结果,由A和B代表的点云数据的平均距离被最小化,且重复这些处理直到P和Q之间的平均距离在容差范围内为止。
还可通过使用最小二乘法获得出自多个点云数据的对应点,且在以下公式6中给出对其应用的公式:
公式6
(Q)=1NPΣi=0NP||xi-(R(QR)pi+QT)||2]]>
这里,Q为配准的状态向量,且Q被限定为[QR|QT]2,其中,QR=四元数向量,且QR=[q0q1q2q3]t(q≥0,q02+q12+q22+q32=1)。QT为转换向量且被定义为[q4q5q6]t。
在上述公式6中,f(Q)定义xi减(R(QR)pi+QT)的平方的平均距离,且这时,可通过最小二乘法计算(R(QR)和QT。在公式6中,(R(QR)可由一如下式7的3×3的旋转矩阵来定义:
公式7
q02+q12-q22-q322(q1q2-q0q3)2(q1q3+q0q2)2(q1q2+q0q3)q02+q22-q12-q322(q2q3-q0q1)2(q1q3-q0q2)2(q2q3+q0q1)q02+q32-q12-q22]]>
此外,在由P={pi}限定一组扫描数据和由X={xi}限定一组基准数据(X)的情况下,由下式8给出P和X的质心:
公式8
μp=1NpΣi=jNppi]]>
μx=1NxΣi=jNxxi]]>
此外,P和X的互协方差矩阵由下列公式9给出:
公式9
Σpx=1NpΣi=1Np[(pi-μp)(xi-μx)t]=1NpΣi=1Np[pixti]-μpμtx]]>
反对称矩阵(Aij)的循环混合(cyclic compounds)被用来形成列向量(Δ)。然后该向量(Δ)被用来形成对称的4×4矩阵Q(∑px),它由下列公式10给出:
公式10
Aij=(∑px-∑pxT)ij
Δ=[A23 A31 A12]T
Q(Σpx)=tr(Σpx)ΔTΔΣpx+ΣpxT-tr(Σpx)I3]]>
其中,I3是3×3的单位矩阵。在上面的公式10中,QT是对应Q(∑px)的最大本征值的本征向量,四元数(Q0,Q1,Q2,Q3)是通过使用该本征向量得到的,该旋转矩阵通过将该四元数代入公式7得到。同时,通过使用上面公式7给出的R(QR)从下列公式11能够得到QT(q4,q5,q6)。
公式11
QT=μx-R(QR)μp
结果,由下列公式12给出最后矩阵:
公式12
q02+q12-q22-q322(q1q2-q0q3)2(q1q3+q0q2)q42(q1q2+q0q3)q02+q22-q12-q322(q223-q0q1)q52(q1q3-q0q2)2(q2q3+q0q1)q02+q32-q12-q22q60001]]>
当每个3D扫描数据的对应标记(marker)被得到时,微处理器30基于所述一个扫描数据60计算用于总转换的矩阵作为基准坐标,由此将所有的3D扫描数据自动排列到该基准坐标系。
同时,除了图8a到图8d所示的方法之外,可以通过使用最小二乘法将坐标系本身映射到该基准坐标系,其代表在找到对应三角形之后对准扫描数据。
处于顶点的对应标记的信息在寻找对应三角形的过程中被得到,例如是公式6中的P和X,最佳转换矩阵由下列公式13给出:
公式13
RT01]]>
用于点云数据(P)的公式能够由下面的公式14来定义,所述点云数据待由坐标映射方法排列:
公式14
P′=TP
同时,如上面所解释的用于寻找一对对应三角形的方法中,3个以上的对应标记应该被包括在每个扫描数据重叠的区中。因此,在只有2个对应标记被包括在该区的情况中,应该采纳其它方法来寻找对应的标记。
因为每个带有标记的扫描数据具有3D信息,所以寻找对应的标记是可能的,即使只有2个对应标记被包括在该重叠区中。如图9所示,在扫描数据64和66的一重叠区上只有2个对应标记,它们分别是两个标记(RM1,RM2)和(RM3,RM4)。通过比较标记所在位置的两个垂直向量以及两个标记之间的距离来寻找对应标记。
同时,如果有太多的标记被投射到每个扫描数据或者标记被统一投射,就有增加获得不准确对应标记的可能性。在这种情况中,附加的标记和3D扫描数据被用来产生附加参考。例如,在有3个对应标记的情况中,由三个标记形成三角形,然后从该三角形的重心垂直画线。然后得到该垂线与3D扫描数据的交点作为第四参考点。下一步,通过利用在标记处或者标记周围的物体表面的平均垂直向量信息能够找到对应标记。
另外,在只有2个对应标记是可用的情况中,通过连接两个标记画直线,并且从该直线中心在垂直于该直线的平面上画圆。然后得到该圆和3D扫描数据的交点作为第四和第五参考点。
根据本发明的优选实施例,很明显,除了上面所提的方法之外,通过在标记周围产生附加参考点来完成3D扫描数据的自动对准也是可能的。
如图3所示,关于通过对3D扫描数据的自动排列处理而新得到的标记的信息被寄存在缓冲器32中。
下面,将参考图10a和10b详细解释上面提到的根据本发明第一实施例的操作,其中S表示步骤。
首先,微处理器30控制移动驱动部分20启动移动机构22,将与图案投射器16集成的图像获得部分18移动到适于扫描物体10的位置(S10)。
然后,微处理器30控制标记闪烁控制器26以允许多个被设置在标记发生器12上的标记输出部分14将标记任意投射在物体10的表面(S11)。
下一步,图像获得部分18拍摄物体10的指定域获得包括投射到物体10表面上的光学标记的2D图像,然后微处理器30经由图像输入部分24接收到该2D图像数据(S12)。
接下来,微处理器30控制标记闪烁控制器26关闭标记发生器12,从而标记可以不被投射到物体10上(S13)。在这个状态,图像获得部分18拍摄如上的同一域获得没有标记的2D图像,然后微处理器30经由图像输入部分24接收该2D图像数据(S14)。
微处理器30控制投射控制器28在标记发生器12被关闭时启动图案投射器16。然后,预定图案(例如,其间具有不同间隙的条纹的图案或多条纹的图案)从图案投射器16被投射到物体10的表面上。下一步,图像获得部分18拍摄具有投射到它上的条纹图案的物体10得到3D扫描数据,然后微处理器30经由图像输入部分24接收该3D扫描数据(S15)。
在这个状态,微处理器30通过图像处理具有标记的2D图像数据和不具有标记的2D图像数据来计算标记的2D位置(16)。
接下来,微处理器30通过使用标记的2D位置和3D扫描数据来计算标记的3D位置。也就是,标记的3D位置能够通过估计连接图像获得部分18的相机镜头中心与2D图像数据中任意标记的位置的直线和3D扫描数据相交的交点来得到(S17)。
同时,微处理器30识别缓冲器32的寄存器是否为空(S18)。如果缓冲器32的寄存器为非空,比较在S17获得的标记的3D位置(当前3D扫描数据)和储存在缓冲器32的寄存器中标记的3D位置(换言之,与当前3D扫描数据部分重叠的3D数据)相比较来搜索对应标记(S19)。
当根据前面所提的搜索过程通过比较包括在当前3D扫描数据中标记和寄存在缓冲器32的寄存器中的标记找到对应的标记时,微处理器30计算匹配两个3D扫描数据的转换矩阵(S20)。在缓冲器32的寄存器中寄存的3D扫描数据的位置被作为基准坐标系给出,将当前扫描数据转换到该基准坐标系(S21)。
下一步,微处理器30把从当前扫描数据中新得到的标记寄存到缓冲器32的寄存器中(S22)。然后,微处理器30识别对3D扫描数据的自动排列是否已经完成(S23)。如果该排列没有完成,则该过程返回到S10,然后重复步骤S10到S23。
现在参考附图详细描述本发明的第二实施例。
图11是根据本发明第二实施例使用光学标记自动排列3D扫描数据的设备的结构图。在全部附图中,与第一实施例相同的参考数字和符号表示在功能和操作上等价的部分,为了简化,省略了对这些部分的解释。
根据本发明第二实施例的自动排列3D扫描数据的设备包括标记发生器70,图案投射器16,图像获得部分18,移动驱动部分20,移动机构22,图像输入部分24,单独标记闪烁控制器74,投射控制器28,微处理器76和缓冲器32。
标记发生器70包含多个标记输出部分72并向物体10的表面随机投射能被图像获得部分18辨认的标记。
标记发生器70按顺序逐一打开1-N标记输出部分72以响应单独标记闪烁控制器74,对于图像获得部分18所获得的每个图像其使不同的标记能够被包括。
单独标记闪烁控制器74根据微处理器76的控制以预定顺序单独地顺序闪烁安装在标记发生器70的多个标记输出部分72。通过分析2D图像数据和由图像输入部分24输入的3D扫描数据微处理器76执行对应于在多个角度拍摄的多个3D扫描数据的坐标系的排列。也就是,微处理器76建立图像作为参考图像,该图像是当所有标记被关闭时由图像获得部分18所拍照的,然后将该参考图像与当标记被打开时所拍摄的多个图像逐一相比较。通过上面的过程,每个标记的2D位置被得到。
接下来,微处理器76执行与第一实施例所执行的同样过程。换句话说,微处理器分析2D图像数据和3D扫描数据来计算标记的3D位置,寻找对应的标记来得到转换矩阵和将多个3D扫描数据转换到该基准坐标系。
现在结合图12所示的流程表详细解释这里所描述的依据本发明第二实施例的操作。
首先,微处理器76控制移动驱动部分来启动移动机构22,其将与图案投射器16集成的图像获得部分18移动到适于扫描物体10的位置(S30)。
在这样的情况下,微处理器76得到由图像获得部分18在所有光学标记被关闭时拍摄的图像数据作为参考图像。然后,微处理器76控制单独标记闪烁控制器74以打开安装在标记发生器70中的多个标记输出部分72中首先指定的标记输出部分72,使第一个标记被投射到物体10的表面上(S31)。然后,由图像获得部分18拍摄得到作为第一个图像数据的图像(S32)。
接下来,微处理器76控制单独标记闪烁控制器74依照预定的顺序打开第二指定的标记输出部分使第二个光学标记投射到物体10上(S33)。然后,得到第二个图像数据(S34)。下一步,微处理器76识别包含在图像中的标记是否为预定的多个标记中的最后一个(第N个)(S35)。如果该标记不是最后的标记,重复执行步骤S33和S34直到第N个图像数据被得到。
期间,如果识别出该标记是最后的一个,在标记发生器70被关闭以防止光学标记被投射时,微处理器76控制投射控制器28启动图案投射器16以将用于3D扫描的预定图案(例如,之间具有不同间隔的条纹或者多条纹图案)由图案投射器16投射到物体10上。
这时,如果图像获得部分18拍摄具有投射到它上面的图案的物体10以得到3D扫描数据,微处理器76从图像输入部分24接收3D扫描数据(S36)。
微处理器76将第一到第N个图像数据的每一个与参考图像进行比较并且在每个比较中寻找由光学标记所形成的亮点,帮助每个标记的2D位置被很容易找到(S37)。
接下来,微处理器76通过分析标记的2D位置和3D扫描数据来计算标记的3D位置,参考标记的3D位置寻找包括在重叠区的对应标记并计算转换矩阵,将多个3D扫描数据转换到基准坐标系中(S38),这与第一实施例中所描述的相同。
接下来,微处理器76识别3D扫描数据的自动排列是否已经完成(S39)。如果该排列还没有完成,该流程返回到S30,在移动驱动部分22的控制下通过启动移动机构22将图案投射器16和图像获得部分18移动到合适位置。重复步骤S30到S38。
接下来,结合附图详细描述本发明的第三实施例。
依据本发明第三实施例的自动排列3D扫描数据设备的结构与图11所示的相同。然而,该方法在第二实施例和第三实施例之间是不同的。也就是说,在第二实施例中,每一个包含彼此不同的一个标记的N个图像必须被分别拍摄。然而,在第三实施例中,log2(N+1)个图像被拍摄,每一个包括一组用于二进制化的标记。
在微处理器76的控制下,单独标记闪烁控制器74将安置在标记发生器70上的标记输出部分72分为若干个组用于二进制化,并逐组打开标记。
例如,如果标记输出部分72的个数为16,单独标记闪烁控制器74用重叠的方式将16个标记输出部分72分为4组。
换句话说,例如,第一组包含第9到第16个标记,第二组包含第5到第8个标记和第13到第16个标记,第三组包含第3,第4,第7,第8,第11,第12,第15,第16个标记,第4组包含偶数的标记(第2,第4,第6,第8,第10,第12,第14,第16),它们都在表1中给出。
表一 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 第一 图像 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 第二 图像 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 第三 图像 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 第四 图像 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
“0”代表标记被关闭,而“1”代表标记被代开。
如表1所规定的,第一标记始终保持关闭状态,而第16标记始终保持打开状态,所有标记都分别具有固有值(intrinsic values)。
微处理器76控制单独标记闪烁控制器76使N个标记被逐组投射,和比较由图像获得部分18所得到的log2(N)个图像数据,并计算这些标记的2D位置。
在16个标记被逐组投射以得到表1所示的第一到第四图像数据的情况下,这16个标记由它们的二进制码区别,这些二进制码代表它们的打开和关闭状态,也就是,标识符(ID)。因此,能够得到这16个标记的2D位置。例如,第10标记被识别为二进制数“1001”,第13标记被识别为二进制数“1100”。同时,总保持在关闭状态的第一标记不被使用,这样总共15个标记能被用在实际感测中。
结果,即使1024(210)个标记被使用,用上面标记的二进制化,10个图像数据就足够区分这些标记。另外,微处理器76通过这些标记的2D位置和3D扫描数据来计算这些标记的3D位置,寻找对应的标记,计算转换矩阵,和通过该转换矩阵移动多个3D扫描数据。上面的过程与在第一实施例中所描述的相同。
现在参考图3所示的流程图详细解释所描述的本发明第三实施例的操作。
如表1所示,所要解释的实施例中,安装在标记发生器70处的16个标记输出部分可用来投射总共16个标记并且从图像获得部分18得到四个2D图像数据。
首先,微处理器76控制移动驱动部分20来驱动移动机构22,其将与图案投射器16集成的图像获得部分18移动到适合扫描物体10的位置(S40)。
下一步,微处理器76控制单独标记闪烁控制器74打开标记输出部分72,以便属于第一组的标记(第9-第16标记)能够被投射(S41)。由图像获得部分18所拍摄的第一图像数据经由图像输入部分24被得到(S42)。
接下来,微处理器76控制单独标记闪烁控制器74打开标记输出部分72以便第N组标记,例如,第5-第8和第13-第16标记被投射(S43),从而得到由图像获得部分18所拍摄的第N个图像数据(S44)。
然后,微处理器76识别包含在该图像数据中的标记组是否为最后一个(S45),如果它不是最后一个,流程返回到S43重复该过程。
期间,作为S45识别的结果,如果该标记组是最后一组,投射控制器28驱动图案投射器16将图案投射到物体10的表面上,同时标记发生器70被关闭以防止光学标记被投射。
在这时,当通过拍摄被投射有图案的物体10在图像获得部分18中获得3D扫描数据时,微处理器76通过图像输入部分24接收该3D扫描数据(S46)。
接下来,微处理器76比较从图像获得部分18得到的第一到第N个图像,从而得到这些标记相关于第一到第四图像数据的二进制信息。因此,每个标记的ID,也就是这些标记的2D位置被得到(S47)。
同时,微处理器76通过分析这些标记的2D位置和3D扫描数据来计算这些标记的3D位置,并参考这些标记的3D位置寻找包括在两个不同的3D扫描数据的重叠区中的对应标记,计算转换矩阵,和通过该转换矩阵将其中一个3D扫描数据转换到基准坐标系(S48),这与第一实施例中所描述的相同。
微处理器76识别3D扫描数据的自动排列是否被完成(S49)。如果3D扫描数据的自动排列还没有被完成,则流程被返回到S40。因此,重复步骤S40到S48。
接下来,将参考附图详细描述本发明的第四实施例。
如图14所示,依据本发明第四实施例的自动排列3D扫描数据设备包括图案投射器16,图像获得部分18,移动驱动部分20,移动机构22,图像输入部分24,投射控制器28,缓冲器32,标记发生器80,单闪烁控制84,和微处理器86。
在全部图中,与第一实施例相同的参考数字和符号表示在功能和操作上等价的部分,为了简化,省略了对这些部分的解释。
标记发生器80将图像获得部分18可以认出的标记投射到物体10的表面上。标记发生器80布置有多个用于以无规则的角度向物体10的整个表面上投射多个光学标记的标记输出部分82。
依据单独标记闪烁控制器84的控制标记发生器80选择性地闪烁多个标记输出部分82。依据微处理器86的控制单独标记闪烁控制器84单独地控制多个标记输出部分82。
微处理器86分析从物体10得到的被扫描数据用于在单一一致的坐标系中自动排列3D扫描数据。微处理器86经由图像输入部分24接收由图像获得部分18在多个角度拍摄的2D图像数据和3D扫描数据来分析它们用于在一个坐标系上自动排列,它的详细操作程序与第一实施例中的微处理器的操作程序相同。
然而,在第一实施例和第四实施例之间的不同在于在执行获得物体10的一个区的2D图像数据和3D扫描数据过程之后,投射在该区上的标记以预定的周期闪烁(例如,大约0.5秒),同时投射到其它区上的标记受单独标记闪烁控制器84的控制保持“开”状态。
相反地,当其它区的标记以预定周期闪烁时,获得过程已经被结束的区的标记保持“开”状态是可能的。
换句话说,在图像数据和扫描数据已经被获得的一个区与其它区之间标记的条件被不同地建立。因此,操作者很容易对区进行区分。
接下来,将参考附图详细描述本发明的第五实施例。如图15所示,依据本发明第五实施例的自动排列3D扫描数据的设备包括图案投射器16,图像获得部分18,移动驱动部分20,移动机构22,图像输入部分24,投射控制器28,缓冲器32,标记发生器90,标记单独闪烁/颜色控制器94和微处理器96。
在全部图中,与第一实施例相同的参考数字和符号表示在功能和操作上等价的部分,为了简化,省略了对这些部分的解释。
标记发生器90将图像获得部分18能够认出的图案投射到物体的表面上。标记发生器80被设置有多个标记输出部分82用于以任意角度将多个光学标记投射到物体10的表面上。
标记发生器90是这样被构造的,即依据标记单独闪烁/颜色控制器94的控制从每个标记输出部分92能够选择性地投射至少两种以上的不同颜色。例如,每个标记输出部分92被装有两个以上的光源,每个具有不同的颜色,使得这些光源能够被选择性地发光。
依据微处理器96的控制标记单独闪烁/颜色控制器94控制被设置在标记发生器90上的多个标记输出部分92的闪烁和单独色彩。
微处理器96分析由图像获得部分18从多个角度拍摄的2D图像数据和3D扫描数据,用于将3D扫描数据自动排列在一个坐标系上。详细的操作程序与本发明第一实施例中的相同。
然而,在第五实施例和第一实施例之间有一些不同。微处理器96依据本发明第五实施例控制标记单独闪烁/颜色控制器94,使得被投射到图像数据和扫描数据已经被获得的区上的标记与被投射到其它区上的标记有不同的颜色。
通过依据区区分颜色,操作者用裸眼就能够很容易检查2D图像数据和3D扫描数据是否从该区被获得,这给扫描操作提供方便。
接下来,将参考附图16详细描述本发明第六实施例。
如图16所示,自动排列3D扫描数据的设备包括标记发生器12,图案投射器16,图像获得部分18,图像输入部分24,标记闪烁控制器26,投射控制器28,缓冲器32,旋转台100,旋转驱动部分102,旋转机构104和微处理器106。
在全部图中,与第一实施例相同的参考数字和符号表示在功能和操作上等价的部分,为了简化,省略了对这些部分的解释。
旋转台100与安放在旋转台100上部盘上的物体10一起转动,也使布置在上部盘周围的多个标记发生器12转动。
依据微处理器106的控制,旋转驱动部分102被驱动旋转机构104来转动旋转台100,使得该物体能够被设定到适合扫描的角度。
在这里,尽管本发明第六实施例中的旋转驱动部分102被用来电动地转动旋转台100,但应该很明显的是旋转机构104可以被手动旋转以使操作者随意控制旋转台100。
另外,只要标记发生器和物体能够在固定状态被一起转动,不但旋转台100而且其它部分也可能在这里被应用。
微处理器106接收由图像获得部分18在多个角度拍摄的2D图像数据和3D扫描数据并分析这些数据用于将3D扫描数据自动排列在一个坐标系上,它的详细操作程序与第一实施例中微处理器的相同。
然而,在本发明第六实施例中有所不同,因为在扫描过程期间转动的是物体10和标记发生器12而不是图像获得部分18和图案投射器16。
现在将参考图17a和17b详细解释这里所描述的依据本发明第六实施例的自动排列3D扫描数据设备的操作程序。
首先,微处理器106控制旋转驱动部分102驱动旋转机构104,从而以预定角度转动旋转台100,使得物体10能够被转动到适合扫描的位置(S50)。
在这样条件下,微处理器106控制标记闪烁控制器26打开安装在标记发生器12上的多个标记输出部分14,从而允许多个标记投射在物体10的表面上(S51)。
在光学标记被投射的同时,图像获得部分18拍摄物体10从而获得包含光学标记的2D图像,微处理器106经由图像输入部分24接收由图像获得部分18得到的2D图像数据(S52)。
随后,微处理器106控制标记闪烁控制器26关闭标记发生器12,从而防止光学标记被投射到物体10上(S53)。下一步,拍摄没有标记的物体10的相同区并经由图像输入部分24接收其2D图像数据(S54)。
另外,微处理器106控制投射控制器28驱动图案投射器16同时标记发生102被关闭以防止光学标记被投射。因此,指定的图案(例如,具有间隙的条纹的图案或者多条纹图案)被投射到物体10的表面用于3D扫描。
当图像获得部分18拍摄被投射有指定图案的物体10以获得3D扫描数据的时候,微处理器106经由图像输入部分24接收该3D扫描数据(S55)。
微处理器106通过图像处理包含和缺少光学标记的2D图像数据来计算标记的2D位置(S56)。
接着,微处理器30通过标记的2D位置和3D扫描数据来计算标记的3D位置(S57)。也就是,通过估计连接图像获得部分18的相机镜头中心与2D图像数据中任意标记的位置的直线与3D扫描数据交叉的交点能够获得标记的3D位置。
同时,微处理器106识别缓冲器32的寄存器是否为空(S58)。
作为S58识别的结果,如果缓冲器32的寄存器不空,微处理器106将S57获得的标记的3D位置和被包括在储存于缓冲器32的寄存器的3D扫描数据中的标记的3D位置进行比较,从而寻找彼此对应的标记(S59)。
在S59的寻找过程中通过比较包括在当前3D扫描数据中的标记和存储在缓冲器32的寄存器中的标记从而得到对应标记之后,微处理器106通过分析对应标记的关系计算转换矩阵(S60),并将当前扫描数据转换到基准坐标,根据该坐标定义缓冲器32的寄存器列出的3D扫描数据(S61),这与第一实施例中所描述的相同。
然后,微处理器106将标记寄存在缓冲器32的寄存器,作为下一次计算的参考(S62)。接着,微处理器106检查从物体10所得到的3D扫描数据的自动排列是否被完成(S63)。
作为检查的结果,如果识别出从物体10所得到的3D扫描数据的自动排列未被完成,流程返回到S50。因此,通过依据旋转驱动部分102启动旋转机构104和将旋转台转到差不多指定角度而得到物体10其它区的2D图像数据和3D扫描数据。步骤S50到S62被重复执行。
从上面的描述可明显看到,本发明第六实施例被这样构造是为了允许物体10被移动,这样容易从比本发明第一实施例的物体相对较小的物体得到和排列3D扫描数据,在第一实施例中投射器和图像获得部分被构造用来移动。
在这里,标记发生器被固定在旋转台上以防止它们之间的相对移动,直到完成该扫描过程。
此时,在前面提到的实施例中使用基准坐标的排列方法有缺点,即如果被扫描区的数目很大,错误就会增加。因为在上面的方法中,是通过将一个3D扫描数据结合到基准坐标系来执行排列的,已经得到的它的相邻3D扫描数据在其中被定义,并且排列过程在该物体的所有区上被重复。因此,在一个过程中的不小心错误在该排列结束时会被放大。
例如,图18a和18b举例说明通过扫描两个彼此重叠的相邻区而得到的两个扫描数据。虚线表示物体的实际数据,实线表示与实际数据不一致的扫描数据。
在这样的情况下,如果图18a和图18b中的任何一个扫描数据是作为参考而另一个数据被附加(排列)到该参考,在附加中错误可能增加,这导致图9c。换句话说,被扫描区的数目增加可能增加出错的机会。
为了解决前面提到的问题,在本发明的第七和第八实施例中介绍用绝对坐标系代替基准坐标系排列3D扫描数据的方法。
在这些实施例中的绝对坐标系与所述的基准坐标系不同,即物体所述区的每个3D扫描数据被映射到绝对坐标。因此,在获得3D扫描数据中发生的错误没有被传递到获得的相邻3D扫描数据。
例如,图19a和19b举例说明从扫描两个相邻区得到的两个扫描数据,并且该扫描数据的一部分重叠。如果图19a和19b的两个扫描数据被分别转换到绝对坐标系并且如图19d所示被相互附加,则在两个扫描数据中分别发生的错误不会如图19c所示被相加,使得如此所描述的由于图像获得部分的不准确而引起的错误放大问题能够被防止。
首先,将参考附图详细描述本发明的第七实施例。
示于图20的依据所述第七实施例的自动排列3D扫描数据的设备包括标记发生器12,投射器16,图像获得部分18,第一移动驱动部分20,第一移动机构22,标记闪烁控制器26,投射控制器28,缓冲器32,大域图像获得部分110,图像输入部分112,第二移动驱动部分114,第二移动机构116,微处理器118,和参考物体120。在全部图中,与第一实施例相同的参考数字和符号表示在功能和操作上等价的部分,为了简化,省略了对这些部分的解释。
大域图像获得部分110包含用于接收图像的图像传感器,如CCD相机或者互补金属氧化物半导体(CMOS)相机。当标记从标记发生器12投射到物体10的表面上时,由大域图像获得部分110拍摄并得到其图像。大域图像获得部分110被从图像获得部分18分离定位来拍摄和获得物体10的大域的图像。
大域图像获得部分110被优选采用具有比图像获得部分18相对更高精确度的图像传感器来获得部分该扫描域的图像。
图像输出部分112从图像获得部分18和大域图像获得部分110接收图像数据。
依据微处理器118的驱动控制,第二移动驱动部分114驱动第二移动机构116将大域图像获得部分110移动到适合获得物体10的大部分图像的位置。
应该指出的是,尽管在本发明的第七实施例中,大域图像获得部分110被第二移动驱动部分114电动地移动,也可以通过操作第二移动机构来移动它。
在标记发生器12将多个光学标记投射到物体10的表面上的同时,通过分析大域图像获得部分110在两个或者更多的方向所拍摄的物体10和参考物体120的图像数据,微处理器118计算该大扫描域的每个标记的3D位置。由此得到的标记的3D位置作为绝对坐标系。
另外,微处理器118经由图像输入部分112接收由图像获得部分18在多个角度拍摄的多个2D图像数据和3D扫描数据,并分析它们,将每个3D扫描数据转换到该绝对坐标系,导致物体10的全部3D扫描数据的排列。
所述参考物体120,其尺寸(尺度)信息被预先输入到微处理器118的指定形状的物体,被靠近物体10放置。参考物体120的图像经由大域图像获得部分110与物体10的图像一起获得。
因此所解释的根据本发明的第七实施例用于自动排列3D扫描数据的装置的操作过程现在将参考图21a和21b中所示的流程图进行详细描述。
首先,物体10被放置在标记发生器12旁边,且参考物体120被设置在物体10附近的指定位置。然后,微处理器118控制第二移动驱动部分114驱动第二移动机构116,以便大域图像获得部分110移动到适合扫描物体10的位置。
下一步,微处理器118控制标记闪烁控制器26启动在标记发生器12被装配的多个标记输出部分14,因此多个标记可以被任意投射在物体10的表面上(S70)。
物体10的大域和参考物体120被大域图像获得部分18拍照,以获得包括光学标记的2D图像数据。然后微处理器118经由图像输入部分112接收从大域图像获得部分110获得的2D图像数据(S71)。
在图23中,显示了包括经由大域图像获得部分110获得的物体10的整个域和参考物体120的图像的示例。符号“RM”表示投射在物体10的表面上的光学标记,而参考符号“BI”指的是由大域图像获得部分110所获得的图像。
下一步,微处理器118控制第二移动驱动部分114驱动第二移动机构,以便将大域图像获得部分118移动至适合扫描物体10的另一部分的位置(S72)。
下一步,微处理器118控制大域图像获得部分118对包括参考物体120的物体10的大域进行拍照,因此在不同于S71的方向获得包括光学标记的2D图像。该2D图像经由图像输入部分112被微处理器118接收(S73)。
微处理器118然后控制标记闪烁控制器26关断标记发生器12,由此防止光学标记被投射在物体10的表面上(S74)。
微处理器118结合由大域图像获得部分110在不同方向获得的物体10的大域的2D图像并根据已知的参考物体120的维度(dimension)计算包括在所结合的2D图像中标记(S75)。下一步,微处理器118寄存如此计算的每个标记的3D位置在缓冲器32(S76)。
接着,微处理器118控制第一移动驱动部分20驱动第一移动机构22,因此与图案投射器16集成的图像获得部分18被移动至适合扫描物体10的位置(S77)。
在上述环境下,微处理器118控制标记闪烁控制器26接通在标记发生器12被装配的多个标记输出部分14,以允许多个标记被任意投射在物体10的表面上(S78)。
在图像获得部分18对物体10的大域的一部分(见图23中的“NI”)进行拍照,同时光学标记被投射在物体10的表面上,微处理器18接收经由图像输入部分112被图像获得部分18获得的2D图像数据(S79)。
下一步,微处理器118控制标记闪烁控制器26关断标记发生器12,由此防止光学标记被投射在物体10的表面上(S80)。在这种条件下,上述大域的相同部分被图像获得部分18拍照,以获得不包括光学标记的2D图像。该获得的2D图像数据因此经由图像输入部分112被输入至微处理器中(S81)。
而且,微处理器118控制投射控制器28激活图案投射器16,同时标记发生器12被关断以避免光学标记被投射,因此预定的图案(例如,具有彼此之间具有不同间隙的条的图案或多条图案)被投射在物体10的表面上。
当具有图案的被投射的物体10被图像获得部分18所投射以获得3D扫描数据时,微处理器118经由图像输入部分112接收该3D扫描数据(S82)。在这种环境下,微处理器118通过对包括标记的该2D图像数据和不包括标记的2D图像数据进行图像处理来计算标记的2D位置(S83)。
微处理器118从标记的2D位置和3D扫描数据计算标记的3D位置。也就是说,标记的3D位置可以通过估计连接图像获得部分18的摄像机透镜中心和2D图像数据中的三个任意标记的位置的直线与3D扫描数据相交的交点而获得(S84)。
接下来,微处理器118将在S84发现的标记的3D位置与在S76存储在缓冲器32的寄存器中的标记相比较,以搜索对应的标记,换句话说,就是与其3D位置中相同的标记(S85)。
当采用存储在缓冲器32中的寄存器中的标记通过比较包括在当前3D扫描数据中的光学标记,对应的标记被发现时,微处理器118计算转换矩阵,以将当前3D扫描数据中的标记转换为绝对坐标系(S86)。然后,当前扫描数据被转换矩阵移动以便被排列在绝对坐标系上,由此存储在缓冲器32的寄存器中的标记的3D位置被限定(S87)。
下一步,微处理器118判别关于从物体10获得的3D数据的自动排列是否完成,换句话说,从物体10的部分获得的3D数据是否被全部排列(S88)。
如果没有完成,流程返回到S77。因此,微处理器控制第一移动驱动部分20以驱动第一移动机构22,由此投射器16和图像获得部分18被移动至适合扫描物体但还没有扫描的位置。步骤S77至步骤S78被重复执行。
虽然在第七实施例中,大域图像获得部分和图像获得部分被引入两个不同的元件,但可能优选的是一个图像获得部分用于获得物体的大域的图像和物体的大域的部分图像二者。
下一步,参考附图24对本发明的第八实施例进行详细描述。
根据图24所示的本发明的第八实施例使用光学标记动态排列3D扫描数据的设备包括标记发生器12、图案投射器16、图像获得部分18、移动驱动部分20、移动机构22、标记闪烁控制器26、投射控制器28、缓冲器32、一对或多个大域图像获得部分130和132、图像输入部分134和一个微处理器136。这些图中,相同的参考数字和符号用于指定在功能和操作上与第一实施例中相等同的部分,而且为简单起见,对这些部分的描述被忽略。
这一对大域图像获得部分130和132包括图像传感器,用于接收图像,例如CCD摄像机或CMOS摄像机。该摄像机被相互固定,而且它们捕捉来自不同角度的相同物体的图像,其方法称为StereoVision。
大域图像获得部分130和132被优选采用比图像获得部分10具有相对较高分辨率的图像传感器,用于获得该域的部分的图像。图像输入部分134旨在用于接收图像获得部分18和大域获得部分130和132所获得的图像数据。
微处理器136通过分析在两个不同方向由大域图像获得部分130和132所拍照的物体10的图像数据为大扫描域计算每个标记的3D位置,同时多个光学标记被标记发生器12投射在物体10的表面上。因此所获得的标记的3D位置作为绝对坐标系。
而且,微处理器136经由图像输入部分134接收由图像获得部分18在各个角度所拍照的多个2D图像数据和3D扫描数据,并分析它们,而且将每个3D扫描数据转换为绝对坐标,其导致物体10的整体3D扫描数据的排列。
下一步,参考图25a和25b所示的流程图详细描述根据本发明第八实施例用于自动排列3D扫描数据的设备的操作过程。
首先,预定的物体10被放置在标记发生器12旁边,且微处理器136控制标记闪烁控制器26接通在标记发生器12出所装配的多个标记输出部分14,允许多个标记被任意投射在物体10的表面上(S90)。
当物体10的大域被大域图像获得部分130和132在不同方向以重叠方式被投射时,微处理器118分别经由图像输入部分134接收来自大域图像获得部分130和132的两个2D图像数据,同时来自标记发生器12的光学标记被投射在物体10上(S91)。
图26所示为由大域图像获得部分130和132所获得的物体10的大扫描域的图像的示例。参考符号“RM”表示投射在物体10的表面上的光学标记,“BI-1”是由大域图像获得部分132所获得的图像,且“BI-2”是由由大域图像获得部分130所获得的图像。
接下来,微处理器136控制标记闪烁控制器26关断标记发生器12,由此防止光学标记被投射在物体10的表面上(S92)。
根据在两个不同方向由大域图像获得部分130和132所拍照的两个2D图像数据(S93),微处理器136计算包括在物体的大扫描域内的标记的3D位置。换句话说,从这对大域图像获得部分130和132的位置和投射在物体10上的每个标记的2D位置之间的关系,每个标记的3D位置被三角测量计算,其细节在后面被解释。下一步,微处理器136寄存如此被计算每个标记的3D位置在缓冲器32的寄存器中(S94)。
微处理器136然后控制移动驱动部分20驱动移动机构22,由此与图案投射器16结合的图像获得部分18移动至适合扫描物体10的位置(S95)。
在这种条件下,微处理器136控制标记闪烁控制器26接通在标记发生器12处装配的多个标记输出部分14,由此将多个标记任意投射在物体10的表面上(S96)。
当物体10的大扫描域外的一部分(图26b中的“NI”)被图像获得部分18拍照,以获得包括光学标记的2D图像数据,微处理器136经由图像输入部分134接收2D图像数据(S97)。
接下来,微处理器136控制标记闪烁控制器26关断标记发生器12,防止光学标记被投射在物体10上(S98)。在这种条件下,当上述相同的部分被图像获得部分18拍照,以获得不包括光学标记的2D图像数据,微处理器136经由图像输入部分112接收该2D图像数据(S99)。
而且,微处理器136控制投射控制器28激活图案投射器16,同时标记发生器12被关断,以避免光学标记被投射。因此,预定的图案(例如,具有相互之间有不同间隙的条的图案或多条的图案)被投射在物体10的表面上。
当具有图案的被投射的物体10被图像获得部分18拍照以获得3D扫描数据时,微处理器136经由图像输入部分112接收该3D扫描数据(S100)。
在这种环境下,微处理器136分析包括标记的2D图像数据和不包括标记的2D图像数据,以计算标记的2D位置(S101)。
而且,微处理器136根据标记的2D位置和3D扫描数据计算标记的3D位置(S102)。也就是说,标记的3D位置可以通过估计连接图像获得部分18的相机透镜中心和2D图像数据中的任意标记的位置的直线与3D扫描数据相交的交点而获得。
接下来,微处理器136比较在S102所发现的标记的3D位置和在S94存储在缓冲器32的寄存器中的标记的3D位置,以搜索相应的标记(S103)。
当通过上述的标记搜索步骤发现相应的标记时,微处理器136计算转换矩阵,以转换当前3D扫描数据中的标记(S104)。当前扫描数据可以由转换矩阵移动,以便被排列在绝对坐标上,缓冲器32的寄存器中存储的标记的3D位置由此被限定(S105)。
下一步,微处理器136参考从物体10获得的3D数据判断自动排列是否完成,换句话说,从对于物体10的整个扫描数据域的部分所获得的3D扫描数据是否被全部排列(S106)。
如果没有完成,流程返回到S95。因此,微处理器控制移动驱动部分20,用于驱动移动机构22,由此图案投射器16和图像获得部分18被移动至适合扫描物体但尚未被扫描的位置。步骤S95至步骤S106被重复执行。
虽然在第八实施例中,一对大域图像获得部分、一个图像获得部分和一个标记发生器单独配置,但作为一种改进,这对大域图像获得部分和标记发生器可以被结合配置。在这种情况下,这可以是更方便的,因为无需根据光学标记被投射的域设置这对大域图像获得部分的位置。
作为本发明第八实施例的另一种改进,一对大域图像获得部分和一个图像获得部分被结合构建。在这种情况下,在获得绝对坐标的过程中,扫描域可以变得稍小且精度也可以降低,然而,在获得扫描域的图像的部分过程中,没有必要以重叠的方式拍照。因此,扫描过程的数量可以减少。
下面将详细解释上述本发明的第八实施例的原理。
本发明第八实施例中所公开的大域图像获得部分130和132可以被两个面向一个物体的摄像机模型化,其可以根据应用领域被改进。在第八实施例中,两个摄像机被平行设置,如图27所示。图27中的变量定义如下。
X:将被获得的一个点的位置
b:摄像机透镜中心之间的基线距离
f:摄像机的焦距
B:由每个摄像机所获得的图像平面
Xl,Xr:图像平面上的点的图像的相应位置
P,Q:每个摄像机的透镜中心
一种通过使用立体图像来获得点的位置的方法可以在公式(方程式)15和16中被限定。
公式15
x′lf=x+b/2z,]]>和x′rf=x-b/2z]]>
y′lf=y′rf=yz]]>
x′l-x′rf=bz]]>
公式16
x=b(x′l+x′r)/2x′l-x′r,y=b(y′l+y′r)/2x′l-x′r,z=bfx′l-x′r]]>
下一步,结合附图描述本发明的第九实施例。
在本发明的第九实施例中,多个投射器、图像获得部分和标记发生器被安排在物体的周围,使得投射器和图像获得部分无需移动以获得与物体的整个扫描域相关的2D图像和3D扫描数据,并且一个扫描操作使得获得2D图像和3D扫描数据称为可能,由此简化了工作且缩短了其中消耗的时间。
图28所示为示出根据本发明第九实施例使用光学标记自动排列3D扫描数据的设备的构建示意图,其中该设备包括N个标记发生器142、M个图案投射器146、L个图像获得部分148、一个图像输入部分150、一个投射控制器152、一个标记闪烁控制器154、一个微处理器156和一个缓冲器158。
N个标记发生器142,旨在将由图像获得部分148可识别的标记投射在一个物体的表面上,被设置有多个标记输出部分144,用于将多个光学标记以任意的扫描方向投射在物体10的整个表面上。
N个标记发生器142指向物体10,且彼此离开一个预定的间隔,而且标记被如此排列以便覆盖整个物体。
M个图案投射器146将预定的图案或激光条图案投射在物体10的表面上,以获得3D扫描数据。LCD投射器可以用于将空间编码束或激光束投射在物体10的表面上,由此经由图像获得部分148获得3D扫描数据。
M个图案投射器146指向物体10,且彼此离开一个预定的间隔,从每个图案投射器146投射的空间编码束被制作以覆盖物体10的整个域。
包括能接收图像的图像传感器的L个图像获得部分148,例如CCD摄像机或CMOS摄像机拍照并获得物体10的图像。优选的是L个图像获得部分148中的每一个与一个单独的图案投射器146结合,而不是被分离。
而且,N个图像获得部分148,如图28所示,指向物体10,且彼此离开一个预定的间隔,图像获得部分148的扫描域覆盖物体10的整个域。
图像输入部分150接收从L个图像获得部分148获得的每个图像数据,且投射控制器152控制图案膜(pattern film)的传送速度和传送方向以及光源的闪烁周期,以便投射图案膜。
标记闪烁控制器154根据微处理器156的控制周期性地闪烁来自N个标记发生器142的光学标记。
微处理器156分别根据从L个图像获得部分148所获得的2D图像数据和3D扫描数据计算在每个域上的标记的3D位置,并根据标记的3D位置在每个重叠域上搜索相应的标记,并通过使用相应的标记计算转换矩阵。结果是,微处理器156通过转换矩阵排列每个3D扫描数据。缓冲器158存储用于计算所必需的数据及其所得数据。
因此,下一步,结合图29所示的流程图详细描述根据本发明第九实施例使用光学标记自动排列3D扫描数据的设备的操作过程。
首先,物体10被放置在适合扫描的位置,N个标记发生器142、M个图案投射器146和L个图像获得部分148被设置在物体10周围。然后,微处理器156控制标记闪烁控制器154启动多个标记输出部分144,其每一个被装配在N个标记发生器142,由此允许多个标记被任意投射在物体10的表面上(S110)。
当物体10的扫描域从每L个图像获得部分148被拍照以获得2D图像同时光学标记被投射在物体10的表面上时,微处理器156经由图像输入部分150接收从L个图像获得部分148获得的L个2D图像数据(S111)。
接下来,微处理器156控制标记闪烁控制器154关断N个标记发生器142,由此防止光学标记被投射在物体的表面上(S112)。在这种条件下,当上述物体10的相同域被每个L个图像获得部分148拍照以获得不包括光学标记的L个2D图像时,微处理器156经由图像输入部分150接收L个2D图像数据(S113)。
而且,微处理器156控制投射控制器152操作M个投射器146,同时N个标记发生器142被关断,以防止光学标记被投射。因此,预定的图案(例如,具有彼此之间具有不同间隙的条的图案或多条图案)从M个图案投射器146被投射在物体10的表面上。
当具有图案的被投射的物体10被L个图像获得部分148拍照以获得L个3D扫描数据时,微处理器156经由图像输入部分150接收L个3D扫描数据(S114)。在这种环境下,微处理器156通过对包括标记的该2D图像数据和不包括标记的2D图像数据进行图像处理来计算标记的2D位置(S115)。
而且,微处理器156从标记的2D位置和3D扫描数据计算标记的3D位置(S116)。也就是说,标记的3D位置可以通过估计连接L个图像获得部分18的摄像机透镜中心和2D图像数据中的任意标记的位置的直线与3D扫描数据相交的交点而获得。
接下来,微处理器118将该标记的3D位置与L个3D扫描数据比较,以搜索相应的标记(S117)。
当通过搜索过程发现相应的标记时,微处理器156计算转换矩阵,以转换当前3D扫描数据中的标记(S118)。L个3D扫描数据中的一个被建立作为基准坐标,而当前3D扫描数据根据所得到的用于排列的转换矩阵移动(S119)。
其次,结合附图详细描述本发明的第十实施例。本发明第十实施例的元件几乎和第九实施例的相同,然而,操作过程彼此不同。因此,第十实施例将基于图28所示的第九实施例的配置和图30所示的流程图进行描述。
首先,其维数已知的参考物体被放置在适合扫描的位置,且N个标记发生器142、M个图案投射器146和L个图像获得部分148被分别设置在参考物体周围。为校准,参考物体可以被特定制造,或者如果其维数已知可以是实际的物体。
在这种条件下,微处理器156控制标记闪烁控制器154关断在N个标记发生器142装配的相应的标记输出部分144,以允许多个标记被任意投射在参考物体的表面上(S120)。
微处理器156执行校准,以搜寻参考物体和L个图像获得部分148之间的相关(S121)。下面描述其详细的操作过程。
在步骤S121,来自N个标记发生器142的光学标记被投射在参考物体的表面上,而且当物体10的扫描域被L个图像获得部分148拍照以获得包含光学标记的2D图像时,微处理器156经由图像输入部分150接收L个2D图像数据。
接下来,微处理器156控制投射控制器152操作M个图案投射器146。因此,预定的图案(例如,具有彼此之间具有不同间隙的条的图案或多条图案)从M个图案投射器146被投射在参考物体的表面上。当具有图案的被投射的参考物体被L个图像获得部分148拍照以获得L个3D扫描数据时,微处理器156经由图像输入部分150接收L个3D扫描数据。
在这种条件下,微处理器156通过计算分别连接L个图像获得部分148中装配的摄像机的每个中心与每个2D图像数据中包括的标记的直线与3D扫描数据相交的交点来估计L个3D扫描数据中的标记的3D位置。
接下来,微处理器156将标记的3D位置与每个L个3D扫描数据作比较,以搜索对应的标记,并从对应标记的关系计算转换矩阵。然后,微处理器156寄存获得的转换矩阵于缓冲器158的寄存器中,由此在S121完成了校准。
当在S121完成所述的校准后,参考物体被移走,且物体10被放置在参考物体曾经被移走的地方,且微处理器156控制标记闪烁控制器154关断N个标记发生器142,由此防止光学标记被投射在物体10的表面上(S122)。
在这种环境下,当物体10的扫描域被L个图像获得部分148拍照以获得不包括光学标记的L个2D图像时,微处理器156经由图像输入部分150接收L个2D图像数据。
而且,微处理器156控制投射控制器152激活M个图案投射器146,同时N个标记发生器142关断以防止光学标记被投射。因此,预定的图案(例如,具有彼此之间具有不同间隙的条的图案或多条图案)从M个图案投射器146被投射在物体10的表面上。
当具有图案的被投射的物体10被L个图像获得部分148拍照以获得L个3D扫描数据时,微处理器156经由图像输入部分150接收L个3D扫描数据(S124)。
微处理器156读出存储在缓冲器158的寄存器中的转换矩阵,并设置L个3D扫描数据中的一个为基准,并通过转换矩阵移动L-1个3D扫描数据(S125)。
当对于另一个物体或相同物体,扫描为必需时,从S121至S123的校准可被忽略。由于3D扫描数据可由存储在缓冲器158的寄存器中的转换矩阵排列,扫描时间可被减少。然而,如果需要,从S121至S123的校准可对每次扫描执行,且可根据操作者的意愿或系统配置被容易地改变,改进或变更。
下一步,描述本发明的第十一实施例。第十一实施例提供了不同于本发明的第一至第十实施例中使用的标记发生器和外围设备。
第十一实施例的标记发生器,如图31所示,包括多个X轴的光源、一个闪烁控制器、一个绕X轴旋转的多面体镜164、一个旋转驱动部分166、一个旋转机构168、多个Y轴的光源170、一个闪烁控制器172、一个绕Y轴旋转的多面体镜174、一个旋转驱动部分176和一个旋转机构178。
多个X轴的光源160产生具有极佳直线传播特性的束,例如被发射到多面体镜164的反射表面的激光束。X轴的光源可以是,例如,激光指点器。闪烁控制器162根据一个微处理器(未示)的控制闪烁每个光源160。
被装配有多个反射表面的多面体镜164被旋转机构168旋转,以反射多个束,由此将多个束投射在一个物体(OB)的表面上。旋转驱动部分166驱动旋转机构168旋转多面体镜至一个方向,以响应微处理器的控制。
多个Y轴的光源170产生具有极佳直线传播特性的束,例如被发射到多面体镜174的反射表面的激光束。光源可以是,例如,激光指点器。闪烁控制器172根据一个微处理器(未示)的控制闪烁每个光源。
被装配有多个反射表面的多面体镜被旋转机构178旋转,以反射多个束,由此将多个束投射在物体(OB)的表面上。旋转驱动部分176驱动旋转机构178旋转多面体镜至一个方向,以响应微处理器的控制。
下一步,因此详细解释本发明第十一实施例的标记发生器的操作过程。
首先,由旋转驱动部分166和旋转驱动部分176产生的驱动功率根据微处理器的控制信号被施加至旋转机构168和旋转机构178、分别被驱动功率驱动的旋转机构168和旋转机构178旋转多面体镜164和174。
当光源160和170被闪烁控制器162和172点亮以响应微处理器的控制信号时,由多个光源160和170产生的束被发射至多面体镜164和174的反射表面。然后,束被投射在物体(OB)的表面上。
多面体镜164和174被旋转以使反射表面的角度不同。因此,在物体(OB)的表面上,多个束的线在X轴和Y轴方向形成,而且X轴和Y轴的线相交的交点分别变成光学标记(RM)。
例如,如果X轴的光源的数量是m,且Y轴的光源的数量是n,交点的m*n数量可以形成在物体(OB)的表面上,且交点的m*n数量变成相应的光学标记(RM)。因此,采用较少数量的光源产生相对较大数量的光学标记是可能的。
虽然参考附图结合其优选实施例对本发明进行了充分描述,但应注意的是各种修改和改进对本领域的技术人员是显而易见的。这样的修改和改进应被理解为如后附的权利要求所限定的本发明的范围内,除非其脱离。
由上述内容显而易见的得出,本发明的公开提供了一种使用光学标记自动排列从不同角度和位置获得的3D扫描数据的设备和方法。因此本发明的优点是:不具有实物量的光学标记用于找出双向不同扫描数据的相对位置,使得扫描数据不被丢失或损坏,即使在标记存在在部位。另一个优点是:扫描物体,无需将标记放置在物体上或将标记从物体上移走,因此扫描过程中提供了方便和安全,且防止对作为附着和移走标记的结果的物体的损坏。还有一个优点是:本发明可以被无限使用。