基于基元的三维自动扫描方法及系统与流程

文档序号:22579348发布日期:2020-10-20 16:56阅读:154来源:国知局
基于基元的三维自动扫描方法及系统与流程

本发明涉及自动地反复实施对对象物的三维扫描直到满足可信度为止的三维自动扫描方法及系统。



背景技术:

三维扫描仪是指利用图像传感器生成表示对象物的三维形状的三维模型的装置。三维扫描方式分为人员手持扫描仪调整着其位置扫描对象物的各个部位的手动方式及通过机器人等自动调整着扫描仪或对象物的位置扫描对象物的各个部位的自动方式。手动方式由于人员任意判断设定扫描仪的位置,因此具有扫描数据的准确度低且不必要的反复扫描多的问题。

自动方式虽然能够在一定程度上解决手动方式的问题,但按照预先指定的位置或路径调整着扫描仪或对象物的位置反复对对象物进行扫描,因此具有扫描数据的准确度偏差随着对象物的形状非常严重的问题。因此,现有的自动方式大部分在像工厂检查大量生产的产品的情况等作为扫描对象的对象物已经被限定的情况下,作为与之相符地预先确定扫描位置并检查对象物的用途使用。

近来的自动方式在探索通过数学计算算出用于扫描任意对象物的扫描仪的移动路径。该方式根据关于对象物的已扫描形状的曲面的完成度算出扫描仪的移动路径,因此具有不适于扫描机械部件等包括多个平面且形状急剧变化的部分多的对象物的问题。利用该方式扫描包括多个平面且形状急剧变化的部分多的机械部件的情况下,三维扫描的准确度非常低,扫描仪停留于形状急剧变化的部分持续反复进行扫描,因此具有扫描所需的时间非常长的问题。



技术实现要素:

技术问题

目的在于提供一种利用与至少一个基元的拟合(fitting)识别对象物的三维模型的形状以提高三维扫描的准确度且能够减少扫描所需的时间的基于基元的三维自动扫描方法及系统。并且,目的在于提供一种对无法或难以物理扫描的部分也能够大幅提高三维模型的准确度的基于基元的三维自动扫描方法及系统。并且,目的在于提供一种能够解决对对象物的表面变化急剧的部分持续反复扫描的现有扫描技术的问题的基于基元的三维自动扫描方法及系统。

不限于如上所述的技术课题,可从以下说明导出其他技术课题。

技术方案

根据本发明的一个方面的三维自动扫描方法包括:根据对象物的三维扫描数据推定所述对象物的三维模型的步骤;利用与至少一个基元的拟合(fitting)识别推定的所述三维模型的形状的步骤;根据用于所述形状的识别的至少一个基元与推定的所述三维模型的形状之间的近似度评价关于推定的所述三维模型的各表面点的可信度的步骤;以及在根据所述各表面点的可信度确定的一系列视角(view)扫描所述对象物的步骤。

识别所述形状的步骤可检测与所述三维模型的形状拟合(fitted)的至少一个基元,利用检测的所述至少一个基元识别推定的所述三维模型的形状。

识别所述形状的步骤能够从所述三维模型的表面中存在所述三维扫描数据的扫描点的区域检测与所述三维模型的形状拟合的至少一个基元。

所述三维自动扫描方法还可以包括将所述三维模型修正成与检测的所述至少一个基元的形状相符的步骤。

评价所述可信度的步骤可根据修正的所述三维模型的基元区域的表面点与推定的所述三维模型的表面点之间的距离与法线方向差异评价关于推定的所述三维模型的各表面点的可信度。

推定所述三维模型的步骤通过对所述三维扫描数据执行泊松重建推定所述对象物的三维模型,可评价所述可信度的步骤根据修正的所述三维模型的基元区域的等位点与推定的所述三维模型的等位点之间的距离与法线方向差异算出推定的所述三维模型的各等位点的基元可信度,根据算出的所述各等位点的基元可信度评价关于推定的所述三维模型的各等位点的可信度。

评价所述可信度的步骤可包括:算出推定的所述三维模型的各等位点的基元可信度的步骤;算出推定的所述三维模型的各等位点的平滑度可信度的步骤;算出推定的所述三维模型的各等位点的梯度可信度的步骤;以及根据算出的所述各等位点的基元可信度、算出的所述各等位点的平滑度可信度及算出的所述各等位点的梯度可信度算出推定的所述三维模型的各等位点的最终可信度的步骤。

所述三维自动扫描方法还可以包括根据检测的所述各基元的形状与扫描所述各基元的区域时所用的扫描仪的视锥体(viewfrustum)的分界预测所述各基元的未被扫描的部分,利用所述预测的部分补充推定的所述三维模型的步骤。

补充的所述步骤可将所述各基元的未被扫描的部分投影(project)到所述视锥体的分界外侧的等位面上,将投影的所述部分的表面点编入所述各基元以补充推定的所述三维模型。

所述三维自动扫描方法还可以包括以推定的所述三维模型的表面点之间的法线方向近似度与接近度为基准将与检测的所述各基元相邻的表面点编入所述各基元以扩张所述各基元的区域的步骤。

所述三维自动扫描方法还可以包括将推定的所述三维模型的等位面分割成片的步骤,可扩张所述各基元的区域的步骤为以推定的所述三维模型的表面点之间的法线方向近似度与接近度为基准将与检测的所述各基元相邻的片编入各基元以扩张所述各基元的区域。

所述三维自动扫描方法还可以包括根据用于所述形状的识别的多个基元之间的配置结构推定扫描回避区域,根据所述各表面点的可信度与推定的所述扫描回避区域确定所述一系列视角的步骤。

确定所述一系列视角的步骤确认所述多个基元是否彼此相接,将所述彼此相接的多个基元的分界推定为所述扫描回避区域。

所述至少一个基元可相当于包括平面、圆筒、圆锥、球及圆环面的多种类型的基元中至少一个类型的基元。

根据本发明的另一方面,提供一种计算机可读存储介质,其中存储有用于在计算机中运行权利要求1至14中任一项所述的方法的程序。

根据本发明的又一方面,提供一种三维自动扫描系统,包括:模型生成部,其公开对象物的三维扫描数据推定所述对象物的三维模型;形状识别部,其利用与至少一个基元的拟合(fitting)识别推定的所述三维模型的形状;扫描评价部,其根据用于所述形状的识别的至少一个基元与推定的所述三维模型的形状之间的近似度评价关于推定的所述三维模型的各表面点的可信度;以及扫描仪,其在根据所述各表面点的可信度确定的一系列视角(view)扫描所述对象物。

技术效果

利用与至少一个基元的拟合(fitting)识别对象物的三维模型的形状,根据用于形状识别的至少一个基元与推定的三维模型的形状之间的近似度评价各三维模型的表面点的可信度,在根据各表面点的可信度确定的一系列视角(view)扫描对象物,因此不仅能够提高对象物的三维扫描的准确度,还能够减少扫描所需的时间。

尤其,机械部件的形状通常可用多个基元的组合表示,因此不仅能够得到关于机械部件的非常准确的扫描数据,还大幅减少得到非常高的准确度的扫描数据所需的时间。三维扫描结果用于制造机械部件的复制品的情况下,能够大幅提高复制品的品质,能够大幅减少复制品制造时间。

检测与三维模型的形状拟合的(fitted)至少一个基元,根据检测的各基元的形状与扫描各基元的区域时使用的扫描仪的视锥体(viewfrustum)的分界预测各基元的未被扫描的部分,利用预测的部分补充三维模型,从而能够预先切断对各基元的未被扫描的部分的扫描,从而能够大幅降低扫描的反复次数。而且,各基元的未被扫描的部分为窄缝等无法或难以物理扫描的部分的情况下能够大幅提高三维模型的准确度。

以三维模型的表面点之间的法线方向近似度与接近度为基准在各基元编入与检测的各基元相邻的表面点以扩张各基元的区域,从而能够预先将位于某基元周边的等位点中是该基元的点的可能性极高的等位点设定为该基元的点,从而能够减少扫描反复次数且提高三维模型的准确度。尤其,这种各基元的区域扩张不是以点单位而是以间隔单位进行,因此能够大幅减少完成对象物的扫描所需的时间。

从用于三维模型的形状识别的多个基元之间的配置结构推定扫描回避区域,根据各三维模型的表面点的可信度与扫描回避区域确定扫描仪的一系列视角,从而能够解决对对象物的表面变化急剧的部分持续反复进行扫描的现有扫描技术的问题。即,将多个基元的分界,例如箱子的角部推定为扫描回避区域使得不再进行扫描,从而能够解决对箱子的角部持续反复扫描的问题。

不限于如上所述的效果,可从以下说明导出其他效果。

附图说明

图1~图2是本发明的一个实施例的三维自动扫描系统的构成图;

图3是本发明的一个实施例的三维自动扫描方法的流程图;

图4是示出图3所示三维自动扫描方法的一个具体例的示意图;

图5是示出图3所示三维自动扫描方法的对象物100的三维模型的阶段性变化的示意图;

图6是在图4所示43步骤的基元检测过程的具体流程图;

图7是在图4所示44步骤的三维模型的修正例示图;

图8是图4所示45步骤的具体流程图;.

图9是示出图3所示三维自动扫描方法的另一例的示意图;

图10是示出在图9所示94步骤的基元投影例的示意图。

附图标记说明

1:转台2:机械臂

3:扫描仪4:用户界面

5:模型生成部6:形状识别部

7:扫描评价部8:控制部

9:存储器

具体实施方式

以下参见附图详细说明本发明的实施例。以下说明的本发明的实施例涉及利用与至少一个基元的拟合(fitting)识别对象物的三维模型的形状以提高三维扫描的准确度且能够减少扫描所需的时间的基于基元的三维自动扫描方法及系统。以下也可能会将这种方法及系统简称为“三维自动扫描方法”及“三维自动扫描系统”。

图1~图2是本发明的一个实施例的三维自动扫描系统的构成图。参见图1~图2,本实施例的三维自动扫描系统由转台1、机械臂2、扫描仪3、用户界面4、模型生成部5、形状识别部6、扫描评价部7、控制部8及存储器(storage)9构成。本实施例的三维自动扫描系统除了上述构成要素之外还可以包括其他构成要素。如图1所示,本实施例的三维自动扫描系统还可以包括用于设置转台1与机械臂2的外壳。模型生成部5、形状识别部6、扫描评价部7、控制部8可通过提供特定功能的硬件实现,也可以通过存储有提供特定功能的软件的存储器、处理器、总线等的组合实现。存储器9可以是内存(memory)、硬盘等。

转台1起到根据控制部8的控制旋转搭载在其上面的对象物100的作用。机械臂2起到根据控制部8的控制移动安装在其末端的扫描仪3的作用。转台1与机械臂2起到旋转对象物100且移动扫描仪3的作用使得扫描仪3能够在如下说明的一系列视角(view)扫描对象物100。转台1与机械臂2只是一例而已,也可以通过其他结构使得扫描仪3能够在一系列视角扫描对象物100。例如,扫描仪3也可以通过包围对象物100的结构的三维轨道(rail)移动。

扫描仪3在控制部8控制的一系列视角扫描对象物100生成对象物100的三维扫描数据。扫描仪3在与一系列视角对应的多个视锥体(viewfrustum)依次生成关于对象物100的各个部分的三维扫描数据生成对象物100的三维扫描数据。三维扫描数据由三维建模空间内的大量扫描点的值构成。各扫描点(scannedpoint)的值由三维建模空间内的其三维坐标与颜色值等定义。本实施例的三维扫描结果提供给三维打印机用于制造对象物100的复制品的情况下,各扫描点的颜色值是无意义的,因此可以省略。

用户界面4从用户接收某些命令、信息等并传递到控制部8或显示从控制部8输入的某些图像数据。

模型生成部5从扫描仪3获取扫描仪3正在扫描的对象物100的三维扫描数据,并根据如上获取的三维扫描数据推定扫描仪3正在扫描的对象物100的三维模型以生成对象物100的三维模型。

形状识别部6利用与至少一个基元的拟合(fitting)识别模型生成部5推定的三维模型的形状。本实施例的基元的类型可以是平面(plane)、圆筒(cylinder)、圆锥(cone)、球(sphere)、圆环面(torus)等。用于识别三维模型的形状的至少一个基元相当于包括平面、圆筒、圆锥、球及圆环面的多种类型的基元中至少一个类型的基元。平面可由法线方向(normaldirection)与一个点的坐标定义,圆筒可由中心轴的方向、一个点的坐标与半径定义,圆锥可以由中心轴的方向、顶点坐标及角度定义。本实施例所属技术领域的普通技术人员应理解除了球、圆环面、其他类型的基元也可以类似地定义。

扫描评价部7根据用于形状识别部6识别形状的至少一个基元与模型生成部5推定的三维模型的形状之间的近似度评价关于模型生成部5推定的三维模型的各表面点的可信度。

控制部8根据扫描评价部7评价的三维模型的各表面点的可信度确定扫描仪3的一系列视角,并控制转台1与机械臂2的动作使得能够在一系列视角通过扫描仪3扫描对象物100。控制部8控制着扫描仪3的工作将从扫描仪3输入的三维扫描数据传递到模型生成部5。

存储器9存储模型生成部5生成的对象物100的三维模型、定义用于形状识别部6识别形状的至少一个基元的参数、扫描评价部7算出的三维模型的各表面点的可信度等用于本实施例的三维自动扫描的各种数据。

图3是本发明的一个实施例的三维自动扫描方法的流程图。参见图3,本实施例的三维自动扫描方法由图1~图2所示三维自动扫描系统按时序处理的步骤构成。因此,即使是以下省略的内容,以上关于图1~图2所示三维自动扫描系统的说明内容也可以适用于以下要说明的三维自动扫描方法。

在31步骤中扫描仪3在用户预先设定的位置扫描对象物100或在沿着用户预先设定的路径移动的过程中扫描对象物100生成对象物100的三维扫描数据。例如,控制部8可以根据通过用户界面4输入的用户的设定信息控制机械臂2与转台1的动作使得扫描仪3在某个固定的位置扫描随着转台1的旋转进行旋转的对象物100的正面与后面。31步骤的对象物扫描相当于第一回次(iteration)的扫描。之后的步骤如以下所述说明,继续反复直至三维扫描数据满足目标可信度为止。

在32步骤中模型生成部5从控制部8接收对象物100的三维扫描数据以获取在31步骤中通过扫描仪3生成的对象物100的三维扫描数据,根据如上获取的对象物100的三维扫描数据推定对象物100的三维模型。

在33步骤中形状识别部6利用与至少一个基元的拟合(fitting)识别在32步骤中推定的三维模型的形状。本实施例并非仅依赖于扫描仪3的扫描点识别对象物100的三维模型的形状,而是利用与至少一个基元的拟合识别对象物100的三维模型的形状,因此能够迅速识别通过现有的反复扫描蓄积扫描点所能达到的对象物100的基元形状。综上,本实施例能够提高对象物100的三维扫描准确度且减少扫描所需的时间。

在34步骤中扫描评价部7根据用于33步骤的形状识别的至少一个基元与在32步骤中推定的三维模型的形状之间的近似度评价在33步骤中推定的三维模型的各表面点的可信度。如以下具体说明,推定对象物100的三维模型方面使用泊松重建(poissonreconstruction),三维模型的表面点是作为通过泊松重建生成的三维模型的表面的等位面(iso-surface)的点。将这种等位面的点称为等位点(iso-point)。以下可能会混称三维的“表面”与“等位面”,而且可能混称为三维模型的“表面点”与“等位点”。

在35步骤中扫描评价部7确认在34步骤中评价的各表面点的可信度是否满足相当于扫描完成的基准。例如,之前的可信度与当前可信度的误差在相当于扫描完成的基准范围内的情况下,可确定为各表面点的可信度满足相当于扫描完成的基准。即,即使反复对对象物100的扫描但如果扫描可信度的变化甚微则扫描完成。确认到各表面点的可信度满足相当于扫描完成的基准的情况下,结束对被识别为与至少一个基元拟合的形状的区域的扫描,否则进行36步骤。

在36步骤中控制部8根据在34步骤中评价的各表面点的可信度确定扫描仪3的一系列视角(view)。在此,扫描仪3的视角是指扫描仪3对着对象物100时的视角,取决于扫描仪3的位置与转台1的旋转角。在三维扫描领域将这种扫描仪3的视角称为最佳观测方位(nextbestview,nbv)。扫描仪3的一系列视角是指基于在当前回次评价的各扫描点的可信度的扫描仪3需要在下个回次顺序扫描的nbv。

在37步骤中控制部8控制转台1与机械臂2的动作,即对象物100的旋转与扫描仪3的位置使得能够在36步骤中确定的一系列视角通过扫描仪3扫描对象物100,扫描仪3根据这种控制部8的控制在36步骤中确定的一系列视角扫描对象物100生成对象物100的三维扫描数据。在37步骤中完成三维扫描数据的生成后重新回到32步骤,反复32步骤及之后的步骤直至对象物100的扫描品质满足相当于扫描完成的基准为止。32~37步骤执行一次构成一个回次。

扫描结束的情况下在最后回次的37步骤中生成的三维扫描数据可作为本实施例的三维扫描结果提供,根据在最后回次的37步骤中生成的三维扫描数据推定的三维模型可作为本实施例的三维扫描结果提供。这种三维扫描结果可提供给三维打印机用于制造对象物100的复制品。三维扫描结果用于制造机械部件的复制品的情况下,能够大幅提高复制品的品质,能够大幅缩短复制品制造时间。

图4是示出图3所示三维自动扫描方法的一个具体例的示意图。图4示出图3所示步骤中32~34步骤的具体例。图5是示出图3所示三维自动扫描方法的对象物100的三维模型的阶段性变化的示意图。图5的(a)示出搭载在转台1的对象物100的一例。

在41步骤中模型生成部5获取通过扫描仪3生成的对象物100的三维扫描数据。图5的(b)示出如上获取的三维扫描数据的扫描点的一例。参见图5的(b),各扫描点的法线方向侧明亮显示,其反侧阴暗显示。在本实施例中各扫描点、各等位点、各样本点的法线方向是指通过各点与其周边的点形成的面的法线方向。每当反复执行图3所示三维自动扫描方法时三维建模空间内蓄积扫描点,从而三维自动扫描方法的反复次数越增加,扫描点的密度逐渐增高,其结果通过这种扫描点表示的对象物100的三维模型的准确度越来越高。

在42步骤中模型生成部5对在41步骤中获取的对象物100的三维扫描数据执行泊松重建(poissonreconstruction)以推定对象物100的三维模型。图5的(c)示出相当于对图5的(b)所示的扫描点执行泊松重建的结果的三维模型。三维扫描数据的扫描点由于扫描仪3的性能限度、扫描过程中的噪声等而无法准确地表示对象物的形状。根据三维扫描数据的扫描点,对象物100的表面凹凸不平地表示。如图5的(c)所示,泊松重建使用泊松方程式将三维扫描数据的大量扫描点表示的凹凸不平的表面变成平滑(smooth)以复原对象物100的表面。

在42步骤中推定的三维模型由三维建模空间内的大量等位点(iso-point)的值构成。各等位点的值由三维建模空间内的其三维坐标与其颜色值等定义。如上所述,将这种用多个等位点表示的对象物100的表面称为等位面。通常,等位面具有大量三角连续相连的网格结构。各三角由三个等位点定义。因此基于根据三维扫描数据的情况下,即使对象物表面的一部分不连续表示,泊松重建后对象物表面整体仍连续表示。

在43步骤中形状识别部6检测与在42步骤中推定的三维模型的形状拟合的至少一个基元,利用如上检测的至少一个基元识别在42步骤中推定的三维模型的形状。图6是图4所示43步骤的基元检测过程的具体流程图。参见图6,43步骤的基元检测过程由如下步骤构成。

在61步骤中形状识别部6根据是否与在31步骤中实际扫描的区域整合,将在42步骤中推定的三维模型的表面,即等位面分类为整合区域(matchedregion)与非整合区域(unmatchedregion)。图5的(d)示出对图5的(c)所示的等位面分类的结果。通过对比图5的(b)与(c)能够理解整合区域110明亮显示,非整合区域120阴暗显示。这种分类能够预防虽然未被实际扫描而从通过泊松重建生成的人工的部分(artificialparts)检测到基元的错误。

即,形状识别部6将具有构成在42步骤中推定的三维模型的等位面的等位点中离对象物100的扫描点在接近距离内的等位点的区域分类为整合区域,将具有其余等位点的区域分类为非整合区域。在此,接近距离是本实施例的设计人员设定的距离,可根据彼此相邻的扫描点之间的平均距离设定。接近距离过小的情况下,将比实际扫描的区域窄的区域分类为整合区域,因此检测基元所需的数据不足,因此可能无法利用可识别的基元,过大的情况下实际扫描的区域以外过宽的区域被分类为整合区域,因此含有检测基元方面不必要的数据,因此本实施例的扫描结果的误差会增大。

如以下具体说明,形状识别部6从在42步骤中推定的三维模型的等位面中整合区域,即存在三维扫描数据的扫描点的区域检测与三维模型的形状拟合的至少一个基元。非整合区域是实际上不存在三维扫描数据的扫描点,但使用泊松方程式复原用扫描点表示的表面的过程中形成的区域。因此,从非整合区域检测到的基元可能是对象物100的实际表面形状中不存在的基元。本实施例从存在三维扫描数据的扫描点的区域检测与三维模型的形状拟合的至少一个基元,从而能够大幅降低对象物100的实际表面形状中不存在的基元的检测概率。

在62步骤中将在42步骤中推定的三维模型的等位面分割成平面片(planarpatches)。形状识别部6可以从等位面随机抽出一个种子点(seedpoint),将具有从该种子点的法线方向在临界角度内的法线方向的相邻点的集合设定为一个平面片,反复这种过程直至不再生成片为止以将等位面分割成片。这种片分割可以以二维平面单位批处理各片的等位点,因此能够提高对各等位点的贴标之类的作业的处理速度。

在63步骤中形状识别部6从在61步骤中被分类为整合区域的等位面抽样一定间隔的点。如上所述,在42步骤中推定的三维模型的等位面由对多个扫描点适用泊松方程式导出的多个等位点表示。这种等位点由于其密度过低,因此不适于判别哪些种类的基元与其等位面拟合。因此,形状识别部6在确定在42步骤中推定的三维模型的等位面与基元之间的拟合时不使用等位点,而是以适于确定三维模型的等位面与基元之间的拟合的稠密间隔均匀地抽样。

在64步骤中形状识别部6根据在63步骤中抽样的样本点(sampledpoints)的法线方向确定在42步骤中推定的三维模型的至少一个主方向(majororientation),以各主方向为基准将样本点分类为平面组(planargroup)与非平面组(nonplanargroup)。形状识别部6可通过以彼此相近的分到同一组的方式对样本点的法线方向进行分组的方式确定三维模型的至少一个主方向。这种确定主方向是本实施例所属技术领域的普通技术人员公知的技术,因此省略对此进行更具体的说明。图5的(e)示出对图5的(c)所示的三维模型确定的三个主方向。

形状识别部6将具有在误差范围内与各主方向平行的法线方向的样本点分类为平面组,将其余样本点分类为至少一个非平面组。在此,误差范围是本实施例的设计者设定的范围,过小的情况下某些区域的形状很可能明明是实际平面却被识别为旋转体,过大的情况下很可能某些区域的形状明明是实际旋转体却被识别为平面。即便对以下出现的误差范围没有特别说明也能够从上述观点理解。

在65步骤中形状识别部6从在64步骤中分类的平面组识别与至少一个平面拟合的至少一个区域,根据各区域的样本点的值确定用于定义与各区域拟合的基元的参数,以此从在61步骤中分类的整合区域检测相当于平面类型的至少一个基元。形状识别部6按属于平面组的样本点中密集成临界间隔以下且其个数为平面基准以上的样本点分布的区域识别为与一个平面拟合。形状识别部6将被识别为与各平面拟合的区域的样本点的平均法线方向与任意一个点坐标确定为相当于平面类型的各基元的参数。多种类型的基元中平面可由法线方向与一个点的坐标定义。

在66步骤中形状识别部6将根据在64步骤中分类的非平面组分割成一定厚度的切片(slice)。在67步骤中形状识别部6从在66步骤中分割的切片中检测其剖面为圆(circle)的切片。即,形状识别部6在某些切片的剖面周部的样本点在误差范围内配置成圆形的情况下,将该切片的剖面检测为圆。在68步骤中形状识别部6将在67步骤中检测的圆形切片以该切片的中心的连续性为基准分组,推定各切片组的中心轴。形状识别部6将其中心相互连续而相连的切片设定为一个切片组。将连接相当于各切片组的切片的中心的线推定各切片组的中心轴。

在69步骤中形状识别部6利用在68步骤中推定的中心轴分析各切片组的轮廓形状,根据该分析结果确定用于定义与各切片组拟合的基元的参数以从在61步骤中分类的整合区域检测相当于非平面类型的至少一个基元。某个切片组的轮廓形状为直线的情况下分类为圆筒或圆锥,是曲线的情况下可分类为球或圆环面。前者的情况下,当该切片组的中心轴方向与轮廓线在误差范围内平行的情况下,形状识别部6识别为圆筒与该切片组拟合,该切片组的中心轴方向与切片组的轮廓线不平行的情况下,形状识别部6识别为圆锥与该切片组拟合。

后者的情况下,该切片组的轮廓线为圆时该圆的中心与主方向之间的距离可根据本实施例的设计者设定的距离分类为球或圆环面。作为该切片组的轮廓线的圆的中心点与主方向之间的距离为该圆的半径的一半以上的情况下,形状识别部6识别为圆环面与该切片组拟合,该圆的中心与主方向之间的距离小于该圆的半径的一半的情况下,形状识别部6识别为球与该切片组拟合。例如,形状识别部6将被确认为与圆筒拟合的切片组的中心轴方向、中心轴上的一个点的坐标、半径确定为相当于圆筒类型的基元的参数。并且,形状识别部6将被确认为与圆锥拟合的切片组的中心轴方向、顶点坐标、轮廓线与底面之间的角度确定为相当于圆锥类型的基元的参数。可理解对圆环面或球等其他非平面类型的基元也可以同样确定基元参数。

在610步骤中形状识别部6对在65~69步骤中检测的至少一个基元执行集合覆盖优化(setcoveroptimization)以优化整合区域中的至少一个基元,将如上优化的各基元的标签以62步骤中的分割的片单位批分配到位于各基元的区域的等位点。例如,实际上整合区域的基元为10个,但由于彼此之间重叠(overlap)而可能被检测为15个。集合覆盖优化可去除彼此之间的重叠将15个基元优化成10个基元以解决这种问题。集合覆盖优化是本实施例所属技术领域的普通技术人员公知的技术,因此省略对此进行具体说明。图5的(f)示出从图5的(a)所示的三维模型的整合区域检测到多个平面类型的基元130与多个圆筒类型基元140的例。

形状识别部6在整合区域的等位点中按在65~69步骤中检测到的各基元对属于各基元的区域的各等位点的值分配该基元的标签。如上所述,各等位点的值包括三维坐标、颜色值,对其分配基元标签的情况下各等位点的值将包括三维坐标、颜色值、基元标签。例如,形状识别部6可对属于第一个基元的区域的各等位点的值分配二进值“000”作为其标签,对属于第二个基元的区域的各等位点的值分配二进值“001”作为其标签。

在611步骤中形状识别部6根据三维扫描数据的扫描点的坐标值与法线方向调整(tune)在65~69步骤中检测到的各基元的参数值。形状识别部6在一定范围内调整各基元的参数值使得检测到各基元的区域的扫描点的坐标值接近法线方向表示的形状。该过程起到减小各基元的参数值的误差的作用。如上所述,各等位点被贴上某个基元的标签,该基元的参数存储到存储器9。在611步骤中调整各基元的参数值是指更新存储于存储器9的参数值。

在612步骤中形状识别部6以法线方向近似度与接近度为基准将与在65~69步骤中检测到的各基元相邻的片编入各基元以扩张各基元的区域。即,形状识别部6以在42步骤中推定的三维模型的等位点之间的法线方向近似度与接近度为基准将与在65~69步骤中检测到的各基元相邻的等位点编入各基元以扩张各基元的区域。本实施例将在65~69步骤中检测到的某些基元周边的等位点中是该基元的点的可能性极高的等位点预先设定为该基元的点,从而能够减少扫描反复次数且提高三维模型的准确度。尤其,这种各基元的区域扩张以片单位进行而不是以点单位进行,因此能够大幅减少完成对象物100的扫描所需的时间。

当在65~69步骤中检测到的某基元的边缘位置片与无标签的相邻片(unlabeledneighboringpatch)彼此连续配置且相互之间的法线方向近似度升高到扩张基准以上的情况下,形状识别部6将该基元的标签批分配到相邻片的等位点值。如上具有标签的相邻片与无标签的其他相邻片彼此连续配置且彼此之间的法线方向近似度升高到扩张基准以上的情况下,形状识别部6将该基元的标签批分配到其他相邻片的等位点值。图5的(g)示出图5的(f)所示的平面类型的基元130的区域扩张且圆筒类型的基元140的区域扩张的例。

再次参见图4,在44步骤中形状识别部6修正(modify)在42步骤中推定的三维模型使得与在43步骤中检测的至少一个基元的形状相符。这种三维模型修正过程是对在42步骤中推定的三维模型的所有等位点确定了与基元的拟合的状态下将相当于基元的等位点的位置与法线方向修正成与该基元更拟合的过程。44步骤的三维模型修正过程不是必须执行的必要过程,可以省略。扫描仪3的性能高且其测定值的误差小的情况下,基于如上所述的预测修正在42步骤中推定的三维模型可能会引起对象物100的细微的形状变化,对象物100的大小相比于扫描仪3的视锥体大小更小的情况下,原封保持在42步骤中推定的三维模型相比于对其进行修正误差反而可能会更低。

对对象物100的三维扫描,反复执行多到数十次直至确保关于三维模型的所有表面点的可信度足够高为止。本实施例的对象物100逆向设计(reverseengineering)的对象的机械部件,这种机械部件的形状可用多个基元的组合表示,因此反复对对象物100进行三维扫描的过程中三维模型逐渐推定成更接近基元的形状的可能性高。本实施例预先将三维模型修正成与基元的形状相符合,从而能够减少三维扫描的反复次数。

图7是图4所示44步骤中的三维模型的修正例示图。参见图7,具有属于圆锥类型的基元71的标签的等位点中某一个72的位置脱离由该基元71的参数定义的圆锥区域。彼此对应的等位点72与基元71的表面点73之间的距离“d”为临界距离以下且该等位点72与基元的表面点73之间的法线方向误差在临界范围(例如,-10~+10度)内的情况下,形状识别部6将等位点72的坐标值修正为表面点73的坐标值。对应于等位点72的基元的表面点73是指从该等位点72以基元71的中心轴垂直向下的线与基元71的表面的交叉点73。

在45步骤中扫描评价部7根据在44步骤中修正的三维模型的基元区域的等位点与在42步骤中推定的三维模型的等位点之间的距离与法线方向差异算出在42步骤中推定的三维模型的各等位点的基元可信度(primitiveconfidence)。可以认为在44步骤中修正的三维模型的基元区域的等位点与在42步骤中推定的三维模型的等位点之间的距离与法线方向差异越小,则用于33步骤的形状识别的至少一个基元与在42步骤中推定的三维模型的形状之间的近似度越高,算出的基元可信度越高。可以认为在44步骤中修正的三维模型的基元区域的等位点与在42步骤中推定的三维模型的等位点之间的距离与法线方向差异越大,则用于33步骤的形状识别的至少一个基元与在42步骤中推定的三维模型的形状之间的近似度越低,算出的基元可信度越低。

在46步骤中扫描评价部7根据在42步骤中推定的三维模型的各等位点周边的形状与扫描点密度,算出在42步骤中推定的三维模型的各等位点的平滑度可信度(smoothnessconfidence)。接近等位点的扫描点的法线方向近似时算出的各等位点的平滑度可信度高,差异越大则算出的平滑度可信度越低。即,是位于平坦或缓慢弯曲的部分的等位点的情况下,具有即使扫描点疏松地位于其周边也能够算出高平滑度可信度的倾向,而是位于弯曲严重或尖利的部分的等位点的情况下,具有除非扫描点以稠密的密度存在于其周边,否则算出的平滑度可信度低的倾向。算出平滑度可信度是本实施例所属技术领域的普通技术人员公知的技术,因此省略对此进行更具体的说明。

在47步骤中扫描评价部7根据在42步骤中推定的三维模型的各等位点周边的扫描点密度变化率算出在42步骤中推定的三维模型的各等位点的梯度可信度(gradientconfidence)。梯度可信度也称作完成度可信度(completenessconfidence)。各等位点周边的扫描点的密度高且扫描点之间的位置变化缓慢的情况下算出的梯度可信度高,各等位点周边的扫描点的密度低且扫描点之间的位置变化急剧的情况下算出的梯度可信度低。算出梯度可信度是本实施例所属技术领域的普通技术人员公知的技术,因此省略对此进行更具体的说明。

在48步骤中扫描评价部7根据在45步骤中算出的各等位点的基元可信度、在46步骤中算出的各等位点的平滑度可信度及在47步骤中算出的各等位点的梯度可信度算出在42步骤中推定的三维模型的各等位点的最终可信度,生成表示在42步骤中推定的三维模型的所有等位点的可信度分布,即表面可信度分布的可信度地图。例如,扫描评价部7可相乘在45步骤中算出的各等位点的基元可信度、在46步骤中算出的各等位点的平滑度可信度及在47步骤中算出的各等位点的梯度可信度算出各等位点的最终可信度。

与基元可信度一样,平滑度可信度与梯度可信度是0~1之间的规范化的值。因此,各等位点的最终可信度为0~1之间的值,越低则被选定为nbv的概率越高。算出的某基元检测区域的等位点的基元可信度高的情况下,即使平滑度可信度与梯度可信度低但可信度仍高于周边区域的等位点。因此基元检测区域被选定为nbv的概率下降。本实施例如上除了基元可信度之外还考虑平滑度可信度与梯度可信度算出各等位点的可信度,因此能够相互弥补基元可信度、平滑度可信度、梯度可信度各自的缺点。其结果,能够使得算出的各等位点的可信度非常准确。

在36步骤中控制部8根据用于33步骤的形状识别的多个基元之间的配置结构,即在43步骤中检测的多个基元之间的配置结构推定扫描回避区域,根据在34步骤中评价的各表面点的可信度与如上推定的扫描回避区域确定扫描仪3的一系列视角。控制部8根据在48步骤中生成的可信度地图表示的三维模型的表面可信度分布确定一系列nbv。控制部8根据在48步骤中生成的可信度地图表示的三维模型的表面可信度分布识别可信度比周边相对更低的等位点聚集的至少一个区域,并如上根据至少一个区域确定一系列nbv。控制部8考虑等位点的法线方向确定nbv使得能够准确地扫描对象物100的表面。

控制部8从如上确定的一系列nbv删除属于扫描回避区域的nbv以最终确定下个回次的一系列nbv。控制部8可确认在43步骤中检测的多个基元是否相接,并将彼此相接的多个基元的分界推定为扫描回避区域。例如,本实施例在扫描箱子时将箱子的角部识别为相当于平面类型的两个基元相接的分界,不对该角部进行扫描。

现有的三维自动扫描方法根据扫描点的密度、连续性等算出可信度,因此对多个基元彼此相接而变化急剧的部分算出的可信度一直都低。其结果,对上述变化急剧的部分继续进行扫描。本实施例利用与基元的拟合识别三维模型的形状,因此虽然是变化急剧的部分但仍能够准确地识别多个基元的分界,能够考虑这种形状识别的准确性将多个基元的分界设定为扫描回避区域使得不进行扫描。

图8为图4所示45步骤的具体流程图。参见图8,图4所示45步骤的基元可信度算出过程由如下步骤构成。在81步骤中扫描评价部7从在44步骤中修正的三维模型提取在43步骤中检测的基元区域的等位点。在82步骤中扫描评价部7从在42步骤中推定的三维模型,即未修正的(unmodified)模型提取与在62步骤中提取的基元区域相同的区域的等位点。在81步骤中提取的基元区域的等位点与在82步骤中提取的同一区域的等位点彼此一对一对应。彼此一对一对应的两个等位点中一个具有被修正成与基元拟合的值,另一个具有修正前的值。

在83步骤中扫描评价部7按在82步骤中提取的相同区域的各等位点,根据各等位点与通过44步骤具有其修正的值的基元区域的等位点之间的距离与法线方向差异算出在82步骤中提取的相同区域,即基元区域的各等位点的基元可信度。例如,扫描评价部7可以将该距离与法线方向差异的合计的倒数作为各等位点的基元可信度。在43步骤中检测的某基元,例如圆筒与在42步骤中推定的三维模型的某区域准确地拟合的情况下,可明确该区域的形状几乎就是圆筒。即,在43步骤中检测的某基元与42步骤中推定的三维模型的某区域准确地拟合的情况下,扫描评价部7可以将该区域的等位点的可信度评价得很高使得之后不对该区域进行扫描。

在84步骤中扫描评价部7从在42步骤中推定的三维模型提取在62步骤中提取的基元区域以外的其余区域的等位点。在85步骤中扫描评价部7对在84步骤中提取的其余区域的各等位点,根据各等位点及与其最近地配置的基元区域的等位点之间的距离与法线方向差异算出在84步骤中提取的其余区域的各等位点的基元可信度。例如,扫描评价部7可以将该距离与法线方向差异的合计的倒数作为各等位点的基元可信度。在86步骤中扫描评价部7将在83步骤中算出的基元区域的各等位点的基元可信度与在85步骤中算出的其余区域的各等位点的基元可信度规范化为0~1之间的值。

图9为示出图3所示三维自动扫描方法的另一例的示意图。图9示出图4所示例的另一例,示出了图3所示步骤中32~34步骤的具体例。在91步骤中模型生成部5获取通过扫描仪3生成的对象物100的三维扫描数据。在92步骤中模型生成部5对在91步骤中获取的对象物100的三维扫描数据执行泊松重建以推动对象物100的三维模型。在93步骤中形状识别部6检测与在92步骤中推定的三维模型的形状拟合的至少一个基元。如上,91~93步骤与图4所示例的41~43步骤相同。

在94步骤中形状识别部6根据在93步骤中检测的各基元的形状与扫描在93步骤中检测的各基元的区域时使用的扫描仪的视锥体(viewfrustum)的分界预测各基元的未被扫描的部分,利用预测的部分补充在92步骤中推定的三维模型。如上,本实施例预测各基元的未被扫描的部分,利用预测的部分补充三维模型,因此能够预先切断对各基元的未被扫描的部分的扫描,其结果能够大幅降低扫描反复次数。而且,各基元的未被扫描的部分是窄缝等无法或难以物理扫描的部分的情况下,能够大幅提高三维模型的准确度。

形状识别部6将各基元的未被扫描的部分投影(project)到该视锥体的分界外侧的等位面上,将如上投影的部分的等位点编入各基元以补充在92步骤中推定的三维模型。更具体来讲,形状识别部6将某基元的未被扫描的部分投影到该视锥体的分界外侧的等位面上,对如上投影的部分的各等位点的值分配该基元的标签,将各等位点的坐标值调整成与该基元的形状相符,将如上投影的部分的等位点编入各基元。未被扫描的部分的等位面不是实际测定的表面,而是根据泊松重建预测的表面,因此可以认为通过基元参数定义的基元形状的表面比该等位面更准确。

图10为示出图9所示94步骤中的基元投影例的示意图。参见图10,示出了对象物100为圆筒的例。从三维模型的整合区域,即扫描的区域检测到了相当于圆筒类型的基元。该基元并非全部进入如图10配置的扫描仪3的视锥体内,因此扫描仪3生成基元中一部分被视锥体的分界切除的状态的扫描点。形状识别部6可根据该基元的参数获知基元的所有形状。因此,形状识别部6可从由基元的参数定义的所有形状与用于扫描该基元的区域的视锥体的分界预测基元的未被扫描的部分。

参见图10,存在基元的扫描点的视锥体内的区域用符号“101”标出。基元通过视锥体的分界被切除的部分用粗实线102标出。粗实线102的箭头方向外侧相当于存在基元的扫描点的视锥体的分界外侧。形状识别部6将基元的未被扫描的部分投影到粗实线102的箭头方向外侧区域的等位面上,将如上投影的部分的等位点编入图10所示圆筒基元。

在95步骤中模型生成部5对具有在91步骤中获取的三维扫描数据的扫描点与在94步骤中通过投影编入各基元的等位点的三维模型执行泊松重建以重新推定对象物100的三维模型。92步骤中的泊松重建是对三维扫描数据的扫描点执行的,而95步骤中的泊松重建除了对扫描点与编入各基元的等位点执行之外与92步骤相同。在96步骤中形状识别部6检测与在95步骤中推定的三维模型的形状拟合的至少一个基元。在97步骤中形状识别部6将在95步骤中推定的三维模型修正成与96步骤中检测的至少一个基元的形状相符。97步骤和在44步骤中说明相同的理由不是必须执行的必要过程,可以省略。

在98步骤中扫描评价部7根据在98步骤中修正的三维模型的基元区域的等位点与在95步骤中推定的三维模型的等位点之间的距离与法线方向差异算出在95步骤中推定的三维模型的各等位点的基元可信度。在99步骤中扫描评价部7根据在95步骤中推定的三维模型的各等位点周边的形状与扫描点密度算出在95步骤中推定的三维模型的各等位点的平滑度可信度。在910步骤中扫描评价部7根据在95步骤中推定的三维模型的各等位点周边的扫描点密度变化率算出在95步骤中推定的三维模型的各等位点的梯度可信度。

在911步骤中扫描评价部7根据在98步骤中算出的各等位点的基元可信度、在99步骤中算出的各等位点的平滑度可信度及在910步骤中算出的各等位点的梯度可信度算出在95步骤中推定的三维模型的各等位点的最终可信度,从而生成表示在95步骤中推定的三维模型的所有等位点的可信度分布的可信度地图。96~911步骤与图4所示的43~48步骤相同,因此与其相关的说明用关于43~48步骤的说明代替。

另外,如上所述的本发明的一个实施例的三维自动扫描方法可制作成能够在计算机的处理器运行的程序,将该程序存储在能够用计算机读取的存储介质运行的计算机实现。计算机包括台式计算机、笔记本电脑、智能手机、嵌入类型的计算机等能够运行程序的所有类型的计算机。并且,上述本发明的一个实施例中使用的数据的结构可通过多种手段存储在计算机可读的存储介质。计算机可读存储介质有随机存取存储器(ram)、只读存储器(rom)、此存储介质(例如,软盘、硬盘等)、光可读介质(例如,cr-rom、dvd等)存储介质。

以上重点说明了本发明的优选实施例,本发明所属技术领域的普通技术人员应理解在不脱离本发明实质特性的范围内可以做多种变形实施。因此,应从说明的角度理解公开的实施例,而不是从限定的角度理解。本发明的范围并非是上述的说明,而是技术方案所指范围,与其等同范围内的所有差异点均应理解为包含于本发明。

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