3d扫描数据自动对齐的系统和方法

文档序号:6129505阅读:553来源:国知局
专利名称:3d扫描数据自动对齐的系统和方法
技术领域
本发明的示例性实施例一般涉及3D扫描数据,更具体涉及一种自动 确定3D扫描数据用的坐标系的机制。
背景技术
3D扫描通过收集代表被扫描三维对象形状的高分辨率点来捕获三 维对象的物理几何信息。 一旦捕获了原始3D扫描数据,就可以将其变换 成CAD部件模型,以进一步处理,从而复制或修改三维对象的设计。这 种捕获三维对象的3D扫描数据以将其提供给CAD应用程序、从而可以 重新设计对象的过程被称作反向工程。
当使用3D扫描仪或数字变换器测量点时,在测量设备中使所有测量 点的坐标所参考的基本坐标系定位和取向。制造商设定坐标系的规格, 并因而对于坐标系没有不可接受的工业标准,主要原因是设备结构的多 样性。在CMM(坐标测量机)的情况下,探针的移动是直线式的,并且终 端用户知道如何使CMM台上的待测量部件定位和取向,从而易于追踪测 量坐标信息。通常的习惯是在实际测量开始之前使用CMM设定坐标系参 数。
对于3D扫描,捕获点的方法略微不同于其他类型的测量系统,并带 来额外的难题。3D扫描设备是便携式的,因而所述设备具有在扫描对象 的过程中改变测量坐标系的能力。待扫描的对象经常也被再定位(例如翻 转目标对象以捕获底部几何形状)。在一些应用中,3D扫描系统识别与对 象连接以追踪3D扫描仪或对象的再定位和再取向的目标设备。在扫描过 程中扫描仪和对象移动的结果是3D空间中的一组任意取向的3D点或网 格数据。当终端用户需要设计复制3D扫描数据的CAD模型时,在建模过 程中构建适合坐标系作为整体坐标参考是首先和最重要的步骤。通过手 动搜寻3D扫描数据中的几何线索来定义这种整体坐标系不是一种简单的
过程(由于上述过程中的变量)。定义整体坐标系需要反复试验,这很耗时 并易出错。
用于判断所定义的整体坐标系的适合性的一种重要度量是所述坐标 系造成的整体偏差误差量。整体偏差误差是原始3D扫描数据和重建模的 CAD模型之间的距离差异。 一旦设立了整体坐标参考系,建模特征如挤 压、旋转、放样或扫描通常将参考整体坐标系。略微不同的整体坐标系 可能造成显著的偏差误差差异。常规技术允许终端用户控制建模参数, 以逐个特征地最小化偏差误差。然而,在最小化峰值误差的同时,最小
化偏差误差的总和相当困难。坐标系用于生成CAD特征(如使用坐标系轴 的挤压),并与扫描数据比较以确定偏差。峰值偏差指网格的最大偏差点 或区域,而平均偏差是网格的所有点或区域的总体均值。需要一种定义 整体坐标系的自动机制,这种坐标系能够最小化偏差误差的总和,同时 最小化原始3D扫描数据的峰值误差。

发明内容
本发明的示例性实施例提供一种识别和定义整体坐标系的自动机 制,这种整体坐标系最适于用于形成网格模型的原始3D扫描数据的集合。 更具体而言,被识别的坐标系能够最小化偏差误差的总和,同时最小化 原始3D扫描数据的峰值误差。本发明以完全自动的方式从原始3D扫描数 据搜寻适合的坐标系。识别出能够使整体偏差误差最小的多个坐标系, 并呈现给用户。在基于所选坐标系变换3D扫描数据的对齐之前,还允许 终端用户交互式地编辑建议的坐标系参数。
在本发明的一个方面中,提供一种自动确定3D扫描数据用的坐标 系的方法,所述方法包括提供3D扫描数据的集合的步骤。所述3D扫描 数据用于生成代表三维对象表面的网格模型。所述方法还程序化地确定 所述3D扫描数据用的多个坐标系。此外,所述方法生成所述确定的坐标 系的排名表。
在本发明的另一个方面中,提供一种自动确定3D扫描数据用的坐 标系的系统,所述系统包括3D扫描数据的集合。所述3D扫描数据用于 生成代表三维对象表面的网格模型。所述系统还包括用于程序化地确定 所述3D扫描数据用的多个坐标系的坐标确定工具。所述坐标确定工具生 成所述确定的坐标系的排名表。此外,所述系统包括所述坐标确定工具 生成的图形用户界面。所述图形用户界面能够使用户选择所述排名表中 的坐标系。


本发明由所附权利要求中的特征来限定。参考下面结合附图所作的 说明,可以更好地理解本发明的上述优点以及本发明的其他优点,在附 图中.-
图l示出适于实施本发明示例性实施例的环境;
图2是本发明示例性实施例的顺序步骤的流程图,用于确定3D扫描 数据集合用的整体坐标系;
图3是本发明示例性实施例的顺序步骤的流程图,用于分类网格模型 中的区域并计算定义坐标系用的参数;
图4是本发明示例性实施例的顺序步骤的流程图,用于组合和平均相 似的参数;
图5A示出没有与整体坐标系对齐的输入网格的图5B示出在图5A的网格分割成功能区域之后网格的图6A-图6F示出计算各区域用的坐标系用的基本参数的图7示出本发明的示例性实施例生成的图形用户界面,列出了确定的 坐标系,并能够使用户选择坐标系;以及
图8示出使用选择的坐标系变换网格后网格模型的生成图。
具体实施例方式
在CAD设计中越来越多地使用3D扫描数据,这使得找到用来对齐3D 扫描数据的可靠坐标系越来越重要。本发明通过程序化地确定3D扫描数 据用的可能坐标系、基于坐标系造成最小偏差误差的可能性排列确定的 坐标系并将排列的坐标系呈现给用户审阅和选择,解决了这种需要。排 列的坐标系通过图形用户界面呈现给用户,图形用户界面允许用户在将
坐标系应用至3D扫描数据之前定制所选坐标系。
图l示出适于实施本发明示例性实施例的环境。计算设备2是扫描数
据4的集合、适于设计CAD模型的CAD应用程序6和本发明的坐标确定工 具8的主机。计算设备2可以是安装有处理器并能够支持CAD应用程序6 和坐标确定工具8执行的工作站、服务器、膝上型电脑、大型计算机、PDA 或其他计算设备。扫描数据4的集合可以从预先存储的扫描数据集合输入 或可以就在用坐标确定工具8确定扫描数据用的坐标系之前获得。例如, 扫描数据4可以通过与计算设备2连接或与其通讯的3D扫描仪10从目标对 象12获得。扫描数据4是代表被扫描对象形状的三维高分辨率点的集合。 在一种实施中,扫描数据4是一组三角形网格,但使用其他形式的扫描数 据也被认为是在本发明的范围内。例如,扫描数据4可以是点、四边形网 格、四面体网格或六面体网格。网格组一起形成代表被扫描对象表面的 网格模型。
坐标确定工具8以软件执行,并程序化地确定扫描数据4用的可能坐 标系。坐标确定工具8可以是独立应用程序、CAD应用程序6的插件或另 一种应用程序,或者坐标确定工具8可以是其他类型的可执行处理过程。 坐标确定工具8也生成确定的坐标系的排名表,并通过图形用户界面32在 显示器30上呈现给用户20。
如上所述,坐标确定工具8确定扫描数据4用的坐标系,并为用户排 列坐标系。图2是坐标确定工具8的顺序步骤的流程图,用于识别3D扫描 数据的集合用的优选坐标系。顺序步骤从分割网格模型(3D扫描数据)开 始,将网格模型分割成多个区域(步骤50)。然后,坐标确定工具8分类区 域,并计算定义坐标系用的基本参数(步骤52)。在下面的图3中进一步讨 论区域的分类和参数的计算。坐标确定工具8组合相似的参数,并平均组 合中的参数(步骤54)。结合下面的图4更详细地讨论参数的组合和平均。 在已经组合和平均相似的参数之后,坐标确定工具8程序化地识别从所述 参数中坐标系是精确确定的(well-determined)参数组合(步骤56)和从所述 参数中坐标系的一个自由度是不确定的参数组合(步骤58)。
笛卡儿(Cartesian)坐标由空间中的点(xO, y0, zO)和三个正交方向定 义。点的分量(即xO)可以由x-方向的面和法线指示。空间中的点还可以
由向量和面的交点、三个非平行面的交点以及二个共面的非平行线的交 点指示。坐标方向的分量由面法线或向量指示。此外,给定两个正交线 (即从向量或面法线),那么第三个正交线被指示,并因而指示三个正交 方向。如果有足够的信息生成一个坐标(艮卩三个正交方向和两组点),那 么可以生成多个坐标(即中心位置在两组点的每一个的两个坐标,具有 共用正交方向)。
如果用于指示精确确定的坐标系的一个或多个元素失去,那么该坐 标系被认为一个或多个自由度不确定。其例子是空间中的点和向量。通 过额外的第二正交方向,可以指示第三个正交方向,从而得到精确确定 的坐标系。
例如,精确确定的坐标系可以包括三个正交面;两个正交面与一条 线,线与任一面正交,其中线-面交点是原点;以及共面的正交线,其中 交点是原点。同样, 一个自由度不确定的坐标系可以是具有两个正交面 且原点任意选择的坐标系。可选择地,不确定的坐标系可以具有非共面 的两条正交线,并且具有任意选择的原点,作为两条线之间的中点。相 似地,不确定的坐标系可以具有正交线和面,其中一个轴是任意选择的。
在识别坐标系之后,坐标确定工具8为所识别的坐标系评分,并将它 们汇集成呈现给终端用户20的排名表或其他形式,其中得分最高的坐标 系是覆盖最大面积并且具有最低误差分布的坐标系,精确确定的坐标系 其得分在不确定的坐标系之前(步骤60)。所确定的坐标系的排名表通过图 形用户界面32呈现给用户20,从而能够使用户选择所需的坐标系。用户 也能够定制所选的坐标系(步骤62)。例如,当坐标系与原点对齐时,用户 可以选择哪个面将是X, Y和Z (或前、上和右)。用户还可以改变原点。 在用户选择和任选定制确定的坐标系之一后,将坐标系应用到扫描数据 4,并基于所选坐标系再次对齐(步骤64)。
图3讨论在分割网格模型之后区域的分类和定义坐标系用的参数的 计算。可以使用已知分割方法程序化地分割网格模型,如基于曲率的分 割方法,或可以响应于区域选择和分割过程进行分割。在分割网格模型 之后,坐标确定工具8分类多个不同类型的区域,包括平面区域、圆柱 区域、圆锥区域、环形区域、球形区域和不规则区域以及旋转区域、挤
压区域(这指示着计算的向量)。
平面区域指示法线方向和法线方向中的点的分量。此外,平面区域 所指面还可以指示全部点,其中所有三个分量均在所指面的中心。从区 域计算的向量指示方向和与向量方向正交的两个方向中的点的两个分
量。此外,从区域计算的向量还可以指示全部点,其中所有三个分量均 在所指向量的起点或终点。圆柱区域与从区域计算的向量具有相同指示。 圆锥区域和环形区域均指示方向和点。球形区域仅指示点。
分类和计算过程包括分类网格模型中的平面区域(步骤70)。对于这 些平面区域中的每一个,坐标确定工具8计算包括法向量和面上的一个 点的参数。坐标确定工具8也分类圆柱区域并对于每一区域计算包括方
向向量和线上的一个点的旋转线参数(步骤72)。相似地,坐标确定工具8
也分类圆锥区域并对于每一区域计算包括方向向量和线上的一个点的旋
转线参数(步骤74)。在分类环形区域后,坐标确定工具8对于每一区域 计算包括方向向量和线上的一个点的旋转线参数以及计算中心点(步骤 76)。同样,在分类球形区域后,坐标确定工具8计算中心点,包括对于 每一区域计算方向向量和线上的一个点(步骤78)。坐标确定工具8也分 类不规则区域(步骤80)。对于不规则区域,坐标确定工具8可以计算参 数,包括计算轴,包括自动计算旋转轴和挤压轴。应该认识到,除了上 面具体说明的那些区域之后,可以分类其他类型的区域,并对各区域进 行适合计算,这也在本发明的范围内。相似地,应该理解,分类区域和 进行计算的顺序不限于图3所述的顺序。在计算每个区域的参数之后, 坐标确定工具8计算并存储每个参数的误差分布平均值(步骤82)。误差 分布可以如下确定
误差分布=距离(区域上的点,搜寻的几何形状)
同时误差分布平均值可以按如下表示
误差分布平均值Sum(误差分布)/点数

误差分布平均值=参考几何形状的归一化误差统计量,其中所述几 何形状不是源于基本的最佳拟合几何形状(平面、圆柱、圆锥、环形、球 形),而是源于另一种计算,如挤压轴计算。本发明还可以从生成参考面、参考点和参考向量的其他拟合算法(如 生成参考向量的旋转轴和挤压轴算法)得出归一化误差统计量,并使用它 代替误差分布平均值。
在分类区域和计算区域用的坐标系用的基本参数之后,坐标确定工 具8组合相似的参数并平均它们。图4讨论了参数的组合和平均。当向量 (面的法线或线的方向向量)在预定的容差范围内彼此平行时,坐标确定工
具8组合并平均向量(步骤90)。当线在容差范围内彼此共线时,坐标确定 工具8也组合并平均线(步骤92)。此外,当面在容差范围内彼此共面时, 坐标确定工具8组合并平均面(步骤94),以及当中心点在容差范围内彼此 重合时,组合并平均中心点(步骤96)。
当平均相似的参数时,从中提取参数的网格区域的面积用作权重因
数。平均值可以如下表示
Sum(面积x误差分布平均值—参数)
参数平均值=--------—…一……-----------........----------------一-—-
Sum(面积x误差分布平均值—1)
术语"参数平均值"指一组的平均参数之一。例如,对于图5A-图8 所讨论的网格模型,对于参数向量方向,应注意到,所有计算的向量在 1.5。内平行。因此,如果坐标确定工具8中的容差范围允许这种偏差(即 容差设置为2°),那么所有向量将与同一组相关(来自圆柱最佳拟合的4 个向量,来自旋转轴的4个向量,以及来自挤压轴的5个向量),并按照
上述公式一起平均。圆柱最佳拟合算法的平均误差分布和来自旋转轴和 挤压轴算法的归一化误差统计量用在上示的加权的"参数平均值"公式的
"误差分布平均值"中。因此,按照上述公式,"参数平均值"(如向量方向) 是所有组的区域的向量的方向的加权平均值。本发明对于面、线和中心 点,也可以使用相同的平均技术。
参考图5A-图8进一步解释本发明的示例性实施例。图5A示出没有 与整体坐标系IOO对齐的输入网格102的图。图5B示出在图5A的网格 分割成功能区域112, 114, 116, 118, 120禾B 122之后网格的图。参见 图6A-图6D可以看到对分类的区域的参数的计算。图6A-图6D示出计 算各区域用的坐标系用的基本参数的图。坐标确定工具8使用的对齐算 法从网格模型的功能区域中提取参考几何形状开始。图6A示出将拟合面
算法应用到底部平面区域122和更深色区域123。拟合面算法生成各区域
的最佳拟合面。这两个面在可接受的容差内彼此正交,并因而指示第三 个正交方向。
图6B示出挤压轴算法,生成应用到所有各区域130, 132, 134, 136 以及131的参考向量,然而,仅示出了在可接受的容差内平行的计算的 挤压轴向量(130, 131, 132, 134, 136)。图6C示出旋转轴算法,生成 应用到四个接近圆柱形对象的参考向量,生成参考向量130', 132', 134' 和136'。图6D示出最佳拟合圆柱轴算法,生成也应用到四个接近圆柱 形对象的参考向量,生成参考向量130", 132", 134"和136"。由于图 6B-图6C中的向量组在容差内平行并共线,因此如前所述,它们被平均 成一组平均的向量。图6E示出平均的向量130'", 131"', 132'", 134'" 和136"'。这些平均的向量每一个投射在平行面122上,生成所指示的点。 图6F示出所指示的点140, 141, 142, 143和144。使用图6A和图6E 的实体和所指示的点,有多于足够的信息生成坐标,并且从面、向量和 所指示的点生成多个坐标。
图7示出本发明的示例性实施例生成的图形用户界面32,以排名顺序 200列出了确定的坐标系,并能够使用户选择坐标系。借助于两个正交方 向和所指示的第三个正交方向,用户给出三个正交方向,并从相关平均 的、计算的和最佳拟合的实体,基于五个所指示的点140, 141, 142, 143 和144作为坐标中心点,以五个坐标选择150, 151, 152, 153和154呈现。 一旦用户已经选择了建议的坐标(即150),那么当坐标系与原点对齐时, 用户通过选择哪个面210, 220和230将是X, Y和Z(或前、上和右),还能 够进一步改变X, Y,和Z方向,并能够选择原点。如果用户通过选择不 同的面作为基本面而选择改变基本面,那么本发明自动调节坐标系。一 旦用户已经选择了确定的坐标系之一,那么如图8所示,网格模型102就 与选择的坐标系250对齐。
本发明可以作为体现在一种或多种介质之上或之中的一种或多种计 算机可读程序而提供。这类介质可以是软盘、硬盘、光盘、通用数字光 盘、闪存卡、PROM、 RAM、 ROM或磁带。通常,计算机可读程序可以 任何编程语言执行。可以使用的语言的一些例子包括FORTRAN、C、C++、 C弁或JAVA。软件程序可以存储在一种或多种介质之上或之中作为目标代
码。可以使用硬件加速,并且所有或部分代码可以在FPGA或ASIC上
运行。代码可以在虚拟环境如虚拟机中运行。用于运行代码的多个虚拟 机可以设在单一处理机上。
因为可以在不脱离本发明范围的情况下作出一定变化,因此上述说 明书所包含的或者附图中所显示的全部内容均应被解释成说明性的,而 不仅仅是字面含义。本领域技术人员应该意识到,在不脱离本发明范围 的情况下,附图所示的顺序步骤和结构可以改变,并且这里所包含的说 明仅是对本发明多种可能描述的个别例子。
权利要求
1.一种自动确定3D扫描数据用的坐标系的方法,包括提供3D扫描数据的集合,所述3D扫描数据用于生成代表三维对象表面的网格模型;程序化地确定所述3D扫描数据用的多个坐标系;以及生成所述多个确定的坐标系的排名表。
2. 如权利要求l所述的方法,还包括基于所述多个确定的坐标系之一变换所述网格模型的对齐。
3. 如权利要求1所述的方法,还包括通过图形用户界面将所述排名表呈现给用户,所述图形用户界面能 够使所述用户选择所述排名表中的坐标系;基于用户指示,通过所述图形用户界面选择所述排名表中的坐标系;以及基于所选坐标系变换所述网格模型的对齐。
4. 如权利要求3所述的方法,其中所述用户在变换所述网格模型的 对齐之前定制所选坐标系。
5. 如权利要求4所述的方法,其中当所述坐标系与原点对齐时,所 述用户改变X, Y和Z面之一。
6. 如权利要求4所述的方法,其中所述用户改变原点。
7. 如权利要求l所述的方法,其中所述确定还包括 分割所述网格模型;以及 在所分割的网格模型中分类多个区域。
8. 如权利要求7所述的方法,其中所分类的区域是平面区域、圆柱 区域、圆锥区域、环形区域、球形区域和不规则区域之一。
9. 如权利要求7所述的方法,还包括计算用于定义至少一个所分类的区域用的坐标系的参数。
10. 如权利要求9所述的方法,其中所述参数计算包括计算法向量、 方向向量、旋转线、点和中心点中的至少一个。
11. 如权利要求9所述的方法,其中所述确定还包括 组合多个所计算的参数;以及 平均所组合的参数。
12. 如权利要求9所述的方法,其中所述确定还包括 识别从所述参数中坐标系是精确确定的至少一组参数。
13. 如权利要求9所述的方法,其中所述确定还包括 识别从所述参数中坐标系的一个自由度是不确定的至少一组参数。
14. 如权利要求9所述的方法,其中所述确定还包括 识别从所述参数中坐标系是精确确定的至少一组参数; 识别从所述参数中坐标系的一个自由度是不确定的至少一组参数;以及将所识别的从所述参数中坐标系是精确确定的至少一组参数和所识 别的从所述参数中坐标系的一个自由度是不确定的至少一组参数拣选进 所述排名表。
15. —种自动确定3D扫描数据用的坐标系的系统,包括3D扫描数据的集合,所述3D扫描数据用于生成代表三维对象表面 的网格模型;用于程序化地确定所述3D扫描数据用的多个坐标系的坐标确定工 具,所述坐标确定工具生成所述多个确定的坐标系的排名表;以及 所述坐标确定工具生成的图形用户界面,所述图形用户界面能够使 用户选择所述排名表中的坐标系。
16. 如权利要求15所述的系统,其中基于选自所述排名表中的多个 坐标系的一个坐标系变换所述网格模型的对齐。
17. 如权利要求16所述的系统,其中所述图形用户界面能够使所述用户在变换所述网格模型的对齐之前定制所选坐标系。
18. —种计算设备用的物理介质,所述物理介质容纳用于自动确定3D扫描数据用的坐标系的计算机可执行指令,所述指令包括用于提供3D扫描数据的集合的指令,所述3D扫描数据用于生成代表三维对象表面的网格模型;用于程序化地确定所述3D扫描数据用的多个坐标系的指令;以及 用于生成所述多个确定的坐标系的排名表的指令。
19. 如权利要求18所述的介质,其中所述指令还包括 用于基于所述多个确定的坐标系之一变换所述网格模型的对齐的指令。
20. 如权利要求18所述的介质,其中所述指令还包括 用于通过图形用户界面将所述排名表呈现给用户的指令,所述图形用户界面能够使所述用户选择所述排名表中的坐标系;用于基于用户指示,通过所述图形用户界面选择所述排名表中的坐 标系的指令;以及用于基于所选坐标系变换所述网格模型的对齐的指令。
21. 如权利要求20所述的介质,其中所述用户在变换所述网格模型 的对齐之前定制所选坐标系。
22. 如权利要求18所述的介质,其中所述确定还包括-用于分割所述网格模型的指令;以及 用于在所分割的网格模型中分类多个区域的指令。
23. 如权利要求22所述的介质,其中所述指令还包括用于计算用于定义至少一个所分类的区域用的坐标系的参数的指令。
24. 如权利要求23所述的介质,其中所述确定还包括 用于组合多个所计算的参数的指令;以及 用于平均所组合的参数的指令。
25. 如权利要求23所述的介质,其中所述确定还包括 用于识别从所述参数中坐标系是精确确定的至少一组参数的指令。
26. 如权利要求23所述的介质,其中所述确定还包括 用于识别从所述参数中坐标系的一个自由度是不确定的至少一组参数的指令。 ,
27. 如权利要求23所述的介质,其中所述确定还包括 用于识别从所述参数中坐标系是精确确定的至少一组参数的指令; 用于识别从所述参数中坐标系的一个自由度是不确定的至少一组参数的指令;以及用于将所识别的从所述参数中坐标系是精确确定的至少一组参数和 所识别的从所述参数中坐标系的一个自由度是不确定的至少一组参数拣 选进所述排名表的指令。
全文摘要
本发明讨论一种识别和定义整体坐标系的自动机制,这种整体坐标系最适于用于形成网格模型的原始3D扫描数据的集合。更具体而言,被识别的坐标系能够最小化偏差误差的总和,同时最小化原始3D扫描数据的峰值误差。本发明以完全自动的方式从原始3D扫描数据搜寻适合的坐标系。识别出能够使整体偏差误差最小的多个坐标系,并呈现给用户。在基于所选坐标系变换3D扫描数据的对齐之前,还允许终端用户交互式地编辑建议的坐标系参数。
文档编号G01B21/04GK101105396SQ20071012278
公开日2008年1月16日 申请日期2007年7月9日 优先权日2006年7月13日
发明者李东勋, 裴奭勋, 赵成旭, 金承烨 申请人:乐必峰软件公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1