扫描期间对象的实时可视化的制作方法
本发明涉及一种计算机实现的方法,该方法在对象被扫描时(即,在扫描完成之前以及在扫描过程完成之后创建最终高精度网格(mesh)之前)实时可视化对象的预览。以这种方式,可以基于部分数据提供初步可视化,以帮助用户完成扫描。
背景技术:
1、已知对真实世界对象或环境执行3d扫描以捕获其形状的三维数据,以便生成对象的3d模型。3d扫描仪可以基于许多不同的技术。它们包括地面激光扫描仪(tls)以及手持式扫描仪,诸如海克斯康(hexagon)的absolute scanner as1。手持式激光扫描仪可以安装在绝对臂上和/或由激光跟踪器跟踪,以允许获取所测量的点的绝对坐标。
2、当用这种手持式激光扫描仪扫描真实世界对象时,当用户在对象的表面上移动扫描仪时,每秒可以采集数十万个点。例如,使用线激光,可以以单个条带的形式捕获点。在移动扫描仪时,采集越来越多的条带。这些点由计算机软件聚集(agglomerate),以供稍后用于几何尺寸和公差(gd&t)或用于重建目的。
3、在扫描对象时,用户必须确保对象的整个表面被扫描到。然而,利用现有方法,在从扫描数据计算出网格之前,无法确切知道对象的哪些部分仍然需要被扫描。例如,现有方法(诸如reshaper、polyworks或geomagic)在对大批捕获点进行网格化并将其合并到现有网格中之前首先聚集该大批捕获点。该解决方案导致两阶段的工作流,其中用户首先必须扫描表面片块(patch),然后检查可视化网格以找出缺失部分。其它方法使用所谓的截断符号距离函数从扫描点生成网格。为此,到局部表面重建的距离被记录在体素栅格(grid)中。可以使用例如众所周知的移动立方体(marching cubes)方法(william lorensen和harveycline:“marching cubes: a high resolution 3d surface construction algorithm”,计算机图形学(computer graphics),第21卷,第4期,1987年7月,第163页至第169页)从这些距离值中提取网格。然而,由于局部表面近似的计算开销和必须为每个插入点调整的值的数量,这种方法不适合每秒进行数十次到数百次更新的实时网格生成。
技术实现思路
1、因此,本发明的目的在于提供一种用于向手持式激光扫描仪的用户提供关于对象的扫描部分的视觉反馈的改进的方法。
2、一个特别的目的在于提供这样一种方法,其允许更快且实时地、特别是即时地提供视觉反馈。
3、这些目的中的至少一个通过根据以下方法和系统来实现。
4、本发明的第一方面涉及一种用于可视化对象的扫描过程的进度的第一计算机实现的方法。该方法包括以下步骤:实时地
5、- 从执行所述对象的所述扫描过程的扫描设备接收数据点;
6、- 将所接收的数据点添加到三维栅格,该三维栅格包括节点和边;
7、- 将所添加的数据点中的各个数据点分配给栅格的最近节点;
8、- 对于所述栅格的被分配有数据点的各个最近节点,计算平均数据点,其中,各个平均数据点的位置基于分配给相应最近节点的所有点的位置来计算;
9、- 生成连接所有平均数据点的网格;以及
10、- 将所述网格可视化给所述扫描设备的用户。
11、根据第一方法的一些实施方式,生成网格是使用移动立方体算法来执行的。
12、根据第一方法的一些实施方式,接收数据点包括:接收各个数据点的表面法线。例如,所述表面法线可以是估计的表面法线和/或可以对应于反向的(invert)扫描方向。根据一些实施方式,对于各个平均数据点,计算平均表面法线。根据一些实施方式,生成网格基于平均表面法线。
13、根据第一方法的一些实施方式,
14、- 所述扫描过程被连续执行,并且所述数据点被从所述扫描设备连续接收;
15、- 对于所述栅格的被分配有新的数据点的各个最近节点,计算新的平均数据点;
16、- 所述网格被连续更新以连接包括新的平均数据点的所有平均数据点;以及
17、- 连续更新的网格被实时可视化。
18、根据第一方法的一些实施方式,在接收到所述数据点之后的十分之一秒内,将所述网格可视化给所述用户。
19、根据第一方法的一些实施方式,扫描设备是手持式激光扫描仪,诸如线扫描仪,并且执行所述扫描过程包括:所述用户使所述扫描设备在所述对象的表面上移动。根据一些实施方式,从扫描设备接收数据点包括:每秒接收至少十万个数据点。
20、根据第一方法的一些实施方式,三维栅格是稀疏栅格或精细(fine)栅格。
21、根据一些实施方式,第一方法包括以下步骤:在扫描过程完成之后,基于数据点来计算对象的3d模型。
22、本发明的第二方面涉及一种第一扫描系统。该扫描系统包括:手持式激光扫描仪,该手持式激光扫描仪被配置为通过朝向对象的表面发射测量射束来扫描对象;显示设备,该显示设备包括显示器和计算单元。计算单元被配置为执行可视化过程,该可视化过程用于可视化由扫描设备执行的所述对象的扫描过程的进度,所述可视化过程包括:实时地
23、- 从所述扫描设备接收数据点;
24、- 将所接收的数据点添加到三维栅格,所述三维栅格包括节点和边;
25、- 将所添加的数据点中的各个数据点分配给所述栅格的最近节点;
26、- 对于所述栅格的被分配有数据点的各个最近节点,计算平均数据点,其中,各个平均数据点的位置基于分配给相应最近节点的所有点的位置来计算;
27、- 生成连接所有平均数据点的网格;以及
28、- 使所述显示器将所述网格可视化给所述系统的用户。
29、根据第一系统的一些实施方式,计算单元是显示设备的一部分。
30、根据第一系统的一些实施方式,计算单元被配置为在扫描过程完成之后,基于数据点来计算对象的3d模型。
31、根据第一系统的一些实施方式,手持式激光扫描仪安装到关节臂。根据一些实施方式,显示设备安装到手持式激光扫描仪或关节臂。
32、本发明的第三方面涉及一种包括用于执行第一方法的程序代码的第一计算机程序产品。例如,计算机程序产品可以由第一系统的计算单元运行。在一些实施方式中,计算机程序产品存储在非易失性存储器上。
33、本发明的第四方面涉及一种用于可视化对象的扫描过程的进度的第二计算机实现的方法。该方法包括以下步骤:实时地
34、- 从执行所述对象的所述扫描过程的扫描设备接收数据点;
35、- 估计所接收的数据点中的各个数据点处的表面法线;
36、- 将所接收的数据点添加到三维栅格,所述三维栅格包括形成单元格(cell)的节点和边,各个数据点被分配给所述单元格中的一个单元格;
37、- 对于具有被分配的至少两个数据点的各个单元格,计算平均数据点,其中,各个平均数据点的位置基于分配给相应单元格的所有点的位置来计算,并且各个平均数据点的平均表面法线基于分配给所述相应单元格的所有点的所估计的表面法线来计算;
38、- 将平均数据点信息与至少一个关联节点相关联,所述平均数据点信息至少包括所述相应单元格中的所述平均数据点的位置和平均表面法线,所述关联节点是所述相应单元格的节点;
39、- 基于所述平均数据点的位置和所述平均表面法线,将所述栅格的一个或更多个关联节点分类为内部节点,并将所述栅格的一个或更多个关联节点分类为外部节点;
40、- 对于通过所述栅格的边连接到外部节点的各个内部节点,将顶点放置在与该内部节点相关联的所述平均数据点的位置处;
41、- 生成连接所有平均数据点的网格,其中,使用所述内部节点和/或所述外部节点来限定所述网格的内侧和/或外侧;以及
42、- 将所述网格可视化给所述扫描设备的用户。
43、根据第一方法或第二方法的一些实施方式,从扫描设备接收数据点包括:连续接收多个数据点条带,各个数据点条带包括沿着相应条带排列的多个数据点,特别地其中,所述扫描设备是线扫描仪。
44、根据第一方法或第二方法的一些实施方式,估计第一条带的数据点的表面法线包括:
45、- 在第一条带的数据点、先前接收的条带的数据点和随后接收的条带的数据点之间执行三角剖分(triangulation),使得多个三角形与第一条带的各个数据点相邻,以及
46、- 将第一条带中的每个数据点的表面法线计算为与该数据点相邻的三角形的法线的归一化和。
47、在一些实施方式中,三角剖分包括:为所述第一条带的各个数据点生成:与所述先前接收的条带的两个最近数据点构成的三角形、与所述随后接收的条带的两个最近数据点构成的三角形、与所述第一条带上的相邻数据点和所述先前接收的条带的数据点构成的至少一个三角形以及与所述第一条带上的相邻数据点和所述随后接收的条带的数据点构成的至少一个三角形。
48、根据第二方法的一些实施方式,生成网格包括使用移动立方体算法。
49、根据第二方法的一些实施方式,所述平均数据点信息包括所述相应单元格中的数据点的总和以及所述相应单元格中的各个数据点的权重中的至少一个。
50、根据第二方法的一些实施方式,所述平均数据点信息被关联到多个关联节点。例如,相应单元格的各个节点是所述单元格的平均数据点信息的关联节点。
51、根据第二方法的一些实施方式,扫描过程被连续执行,并且数据点被从所述扫描设备连续接收。对于所述栅格的被分配有新的数据点的各个单元格,计算新的平均数据点。网格被连续更新以连接包括新的平均数据点的所有平均数据点,以及所连续更新的网格被实时可视化。
52、根据第二方法的一些实施方式,在接收到所述数据点之后的十分之一秒内,将所述网格可视化给所述用户。
53、根据第二方法的一些实施方式,扫描设备是手持式激光扫描仪,例如线扫描仪,并且执行所述扫描过程包括:所述用户使所述扫描设备在所述对象的表面上移动。例如,从所述扫描设备接收数据点包括:每秒接收至少十万个数据点。
54、根据第二方法的一些实施方式,三维栅格是稀疏栅格或精细栅格。
55、根据一些实施方式,第二方法包括以下步骤:在扫描过程完成之后,基于数据点来计算所述对象的3d模型。
56、本发明的第五方面涉及一种第二扫描系统。该扫描系统包括:手持式激光扫描仪,该手持式激光扫描仪被配置为通过朝向对象的表面发射测量射束来扫描对象;显示设备,该显示设备包括显示器和计算单元。计算单元被配置为执行可视化过程,所述可视化过程用于可视化由扫描设备执行的对象的扫描过程的进度,可视化过程包括:实时地
57、- 从所述扫描设备接收数据点;
58、- 估计所接收的数据点中的各个数据点处的表面法线;
59、- 将所接收的数据点添加到三维栅格,所述三维栅格包括形成单元格的节点和边,每个数据点被分配给所述单元格中的一个单元格;
60、- 对于具有被分配的至少两个数据点的各个单元格,计算平均数据点,其中,各个平均数据点的位置基于分配给相应单元格的所有点的位置来计算,并且各个平均数据点的平均表面法线基于分配给相应单元格的所有点的所估计的表面法线来计算;
61、- 将平均数据点信息与至少一个关联节点相关联,所述平均数据点信息至少包括所述相应单元格中的所述平均数据点的位置和平均表面法线,所述关联节点是所述相应单元格的节点;
62、- 基于所述平均数据点的位置和所述平均表面法线,将所述栅格的一个或更多个关联节点分类为内部节点,并且将所述栅格的一个或更多个关联节点分类为外部节点;
63、- 对于通过网格的边连接到外部节点的各个内部节点,将顶点放置在与该内部节点相关联的平均数据点的位置处;
64、- 生成连接所有平均数据点的网格,其中,使用所述内部节点和/或所述外部节点来限定所述网格的内侧和/或外侧;以及
65、- 使所述显示器将所述网格可视化给所述扫描设备的用户。
66、根据第二系统的一些实施方式,计算单元是显示设备的一部分。
67、根据第二系统的一些实施方式,计算单元被配置为基于数据点来计算对象的3d模型,例如在扫描过程完成之后基于数据点来计算对象的3d模型。
68、根据第二系统的一些实施方式,手持式激光扫描仪安装到关节臂。例如,显示设备可以安装到手持式激光扫描仪或关节臂。
69、本发明的第六方面涉及一种包括用于执行第二方法的程序代码的计算机程序产品。例如,计算机程序产品可以由第二系统的计算单元运行。在一些实施方式中,计算机程序产品存储在非易失性存储器上。
70、本文描述的方法和系统也可以以各种方式彼此组合。例如,仅关于第一方法描述的步骤可以集成到第二方法中,反之亦然。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com