三维扫描系统和框架的制作方法

文档序号:11237242阅读:515来源:国知局
三维扫描系统和框架的制造方法与工艺



背景技术:

真实世界对象的三维计算机模型在诸如加工原型化之类的许多应用中被使用或需要。三维(3d)重构是确定处于考虑之下的真实世界对象的形状或外观的过程。使用异构传感器(例如不同类型的相机)取得的对象的数据或图像可以用于执行重构过程。然而,可靠性、可重复性、分辨率、精确度和速度考虑一般对用于生成所检验的真实世界对象的模型的扫描仪或数字化器的构造和操作是关键的。本文中的公开内容描述了一种异构传感器的集群和转盘,该异构传感器的集群和转变可以被高效且鲁棒地使用在真实世界对象的3d重构的过程中。

附图说明

附图图示了本文所描述的原理的各种示例,并且是说明书的一部分。所图示的示例仅仅是示例,并且不限制权利要求的范围。

图1是操作在本发明的原理之下的扫描系统的透视图,其包括异构传感器集群和转盘。

图2是类似于关于图1所描述的系统的3d扫描系统的示意图。

图3图示了要扫描或数字化的对象,该对象被放置在转盘上并且在传感器集群的视野中被旋转第一增量,所述传感器集群具有类似于图1和图2中所描述和图示的深度相机和高分辨率相机的深度相机和高分辨率相机。

图4图示了表示深度相机和高分辨率相机图像平面的坐标空间之间的各种映射。

图5图示了使用3d单应性运算符h的3d点云的映射。

图6是使用本文所讨论的原理的一个示例中的扫描或数字化过程的操作步骤的流程图。

图7a和图7b是使用本文所讨论的原理的另外的示例中的扫描或数字化过程的操作步骤的流程图。

遍及各图,相同的参考标号指代类似但不必相同的元件。在图中示出并且在下文描述的示例说明但不限制本发明,本发明在以下具体实施方式之后的权利要求中加以限定。

具体实施方式

参照图1,图示了合并本发明的原理的3d扫描系统(100)。扫描系统包括转盘(102)和异构传感器集群(104)。3d扫描系统(100)还可以例如包括屏幕和输入设备或可操作连接到具有屏幕和键盘的计算设备。异构传感器集群(104)包括不同类型的视觉传感器,并且使得能够实现比可以从单个相机或传感器获取的更丰富且更鲁棒的信息的捕获。在一些示例中,如图1中所示,集群(104)的视觉传感器可以包括深度相机(106)和高分辨率相机(108)。还可以包括投影仪(110)以用于照明和校准目的。可以采用视觉传感器的其它组合。

在一些示例中,深度相机(106)可以捕获物理目标的视觉数据,其中所捕获到的视觉数据可以包括以下内容:三维(3d)深度信息(还称为“深度图”)、红外(ir)图像帧和rgb图像帧(其为rgb颜色空间中的图像帧)。在其它示例中,深度相机(106)可以产生另一颜色空间中的图像帧。“图像帧”是指构成图像的视觉数据点的集合。深度信息是指物理目标关于深度相机(106)的深度;该深度信息表示物理目标(或物理目标的部分)与深度相机(106)之间的距离。

在一些示例中,深度相机(106)可以包括ir视觉传感器、rgb视觉传感器和(一个或多个)附加传感器,以允许深度相机捕获深度信息以及rgb图像帧和ir图像帧。由深度相机捕获的rgb图像帧可以是相对低分辨率的图像帧。在其它示例中,深度相机(106)可以包括视觉传感器的其它组合,该其它组合允许深度相机(106)在可见颜色空间中捕获物理目标的深度信息和视觉数据。

集群(104)的高分辨率颜色空间相机(108)可以捕获较高分辨率rgb图像帧(或其它颜色空间中的图像帧)。在以下讨论中,对“低分辨率”和“高分辨率”的引用是在不同视觉传感器之间的相对分辨率的上下文中。换言之,“高分辨率”视觉传感器能够以比“低分辨率”视觉传感器更高的分辨率捕获视觉数据。在基于本文所描述的原理的系统的一些示例中,高分辨率相机具有近似4,000乘3,000像素的像素尺寸,而深度相机具有近似640乘480像素的像素尺寸。

参照图2,图示了类似于关于图1所描述的系统的3d扫描系统(200)的示意图。3d扫描系统(200)包括具有深度相机(206)、高分辨率相机(208)和投影仪(210)的集群(204)。本文所描述的3d扫描系统受益于在使用之前传感器集群中的相机的校准。相应地,图2还图示了校准系统(212),该校准系统能够通过链路(214)与集群(204)的各种视觉传感器通信。校准系统(212)包括校准模块(216),该校准模块能够根据用于校准集群(204)的视觉传感器的一些实现方式执行校准过程。在一些示例中,校准模块(216)可以实现为可在一个或多个处理器(218)上执行的机器可读指令。在其它示例中,校准系统(212)可以实现为硬件。

校准系统(212)还包括网络接口(220)以允许校准系统(212)通过诸如链路(214)之类的网络进行通信。而且,校准系统(212)包括用于存储数据和指令的存储介质(222)。存储介质(222)可以存储映射信息(224),其中映射信息(224)——例如已知棋盘格图案——涉及集群(204)的不同对视觉传感器之间的映射。映射信息(224)用于执行集群(204)的视觉传感器之中的校准并且同时生成3d扫描信息。一旦校准了集群(204)的视觉传感器,则由相应视觉传感器捕获的视觉数据可以适当地组合以执行各种任务,诸如与3d扫描或数字化相关联的任务。

系统校准

在使用本文所描述的3d扫描系统执行扫描操作之前,校准相机或视觉传感器的异构集合。系统的校准导致从3d点云到2d图像的投影映射以及2d图像集合之间和3d点云集合之间的单应性。在一个示例中,投影映射使由深度相机(106)捕获的3d点云和点的2d图像相关。另一方面,单应性将2-空间和3-空间中的2d和3d数据分别映射到不同的2d和3d坐标系上。

3d坐标和2d平面或图像之间的投影映射可以通过以下的等式1定义:

x=px,(等式1)

其中x表示2d坐标并且x表示3d坐标。更具体地,等式1可以写为

其中x=[uv1]t表示2d坐标,x=[xwywzw1]t表示3d坐标,zc是任意标度(具有预定义的值),k表示固有参数,r表示外来旋转参数,并且t表示外来平移参数。固有参数k被定义如下:

其中fx,fy表示视觉传感器的透镜的焦距,u0,v0表示沿视觉传感器的光轴的光学中心,并且s是表示视觉传感器的偏斜失真的偏斜系数。

外来旋转参数(r)和外来平移参数(t)是视觉传感器的几何参数的部分。旋转参数可以定义视觉传感器在几何空间中的摇摄、倾斜和偏转。平移参数可以定义视觉传感器在几何空间中的平移位置。

导出投影矩阵(p)牵涉计算视觉传感器的固有参数(k)和几何参数(r,t)。一旦被获取,固有参数(k)和外来旋转参数(r)就可以用于产生单应性运算符,该单应性运算符用于在以下之间映射数据:由传感器获取的2d图像与不同的2d空间和由传感器获取的3d点云与不同3d空间。

更具体地,一对视觉传感器之间的直接2d到2d映射可以通过2d单应性表示,使得x’=hx,其中x’和x是两个平面中的2d位置矢量。单应性使两个图像(对应于两个视觉传感器)中的像素坐标相关。2d单应性(h)可以通过3-x-3矩阵表示,其一般具有以下形式:

3d对应部分是4x4矩阵,其中x’和x是3-空间中的3d位置矢量。针对计算单应性矩阵的分量(其依赖于以上提到的固有和外来参数)的进一步细节可以在共同所有的申请序列号13/713,036(题为“calibratingvisualsensorsusinghomographyoperators”)中找到,其公开内容通过引用并入本文。

系统操作

参照图3,将要扫描或数字化的对象(310)放置在3d扫描系统(300)上,所述3d扫描系统(300)具有转盘(302)和具有类似于以上描述的深度相机和高分辨率相机的深度相机和高分辨率相机的传感器集群(304)。转盘(302)旋转到第一位置并且使用深度相机获取第一3d点云,并且使用高分辨率相机获取第一2d高分辨率图像。3d点云包括具有与每一个2d点相关联的深度或距离(例如z坐标)的2d点(例如x和y坐标)的集合。转盘(302)然后旋转预定增量(306)(例如10度)而到第二位置,并且分别使用深度相机和高分辨率相机获取第二3d点云和2d高分辨率图像。包括第一和第二点云和图像的数据可以存储在存储器中。

3d扫描(或数字化)采用以下方式使用点云和图像的对来生成。开始,针对对应点或特征而分析第一和第二2d高分辨率图像以获取2d高分辨率对应点x的第一集合。在一个示例中,高分辨率对应点的数目在数目方面为至少18个。然后采用多步2d单应性以将2d高分辨率对应点x的第一集合从高分辨率相机的图像平面映射到深度相机的图像平面x″。更具体地,参照图4,示意性地图示了表示高分辨率相机的图像平面的2d坐标空间(402)和表示深度相机的图像平面的2d坐标空间(404)。还图示了感应平面2d坐标空间(406)。如图4中所描绘的,单应性运算符hp提供表示高分辨率相机的图像平面的2d坐标空间(402)与感应平面的坐标空间(406)之间的映射。另一单应性运算符hf可以用于提供感应平面的2d坐标空间(406)与表示深度相机的图像平面的2d坐标空间(404)之间的映射。

更一般地,提供两个视觉传感器——即深度和高分辨率相机——的坐标空间之间的2d到2d映射的单应性是多步单应性,该多步单应性可以包括多个单应性运算符。使用根据一些实现方式的多步单应性(包括hp和hf)的映射可以表示如下:

其中x′对应于基于hp的中间经映射的坐标空间(并且更具体地,图4的虚拟坐标空间(406)),并且x″对应于基于hf的最终经映射的坐标空间。通过使用等式5和等式6,将2d高分辨率对应点x的第一集合映射到感应平面(406)上以产生坐标点的感应集合x′。然后将坐标点的感应集合x′映射到表示深度相机的图像平面的2d坐标空间(404)上,从而产生坐标点的第二集合x″。

然后将坐标点的第二集合x″用于从3d点云提取深度信息。具体地,由于3d点云中的深度信息关联到与深度相机相关联的2d坐标系,因此存在深度数据与坐标点的第二集合x″之间的已知像素到像素映射。以此方式,可以获取来自第一和第二3d点云的对应点。然后将对应3d点用于计算3d单应性运算符,该3d单应性运算符允许将第二3d点云映射到第一3d点云。因而可以对准3d点的两个集合。参照图5,例如,3d单应性运算符h在3d矢量[u’,v’,z’]t和[u,v,z]t之间进行映射。在一个示例中,3d单应性运算符可以使用标准ransac算法来计算,尽管可以使用其它算法。

3d单应性步骤提供3d点云对的粗略对准。使用捆束调节步骤来获取更加精确的对准。捆束调节最小化所观察到的图像位置与所预测的点之间的重投影误差。在一个示例中,调节被用公式表示为非线性最小平方问题,其中误差是所观察到的特征位置与对应3d点在相机图像上的投影之间的差异的经平方的l2范数。在另外的示例中,可以使用标准或经修改的levenberg-marquardt算法以迭代地求解最小化问题。

在3d点云的对准之后,删改和清理结果得到的3d网格——例如以移除假的或不想要的点或者填充孔或间隙。网格然后可以按需改进,这取决于例如被扫描的对象的所期望的分辨率或复杂度。在网格删改和改进之后,深度数据和深度相机的图像平面的坐标之间的已知像素到像素映射可以用于生成坐标点的经修改的集合x″。通过使用单应性运算符hp和hf的逆,然后将坐标点的经修改的集合映射回到表示高分辨率相机的图像平面的坐标系。

在以上步骤完成之后,转盘然后旋转预定增量并且过程重复。更具体地,转盘(302)旋转预定增量(306)(例如10度)而到第三位置,并且分别使用深度相机和高分辨率相机获取第三3d点云和2d高分辨率图像。第三3d点云和2d高分辨率图像然后使用以上描述的相同步骤与经删改和改进的网格以及坐标点的经修改的集合x″组合。过程重复直到转盘已旋转完整的360度为止或者直到期望数字化的对象已经被完全扫描为止。

现在参照图6,提供了根据本文所描述的原理的用于重构三维对象的表面几何形状的方法。在各种示例中,方法包括以下步骤。提供具有异构传感器的集群的系统,包括二维高分辨率相机和三维深度相机以及可操作成递增旋转的转盘(602)。将转盘旋转到第一位置并且使用二维高分辨率相机采集第一二维数据集并且使用三维深度相机采集第一三维数据集(604)。然后将转盘旋转到第二位置并且使用二维高分辨率相机采集第二二维数据集并且使用三维深度相机采集第二三维数据集(606)。然后确定第一和第二二维数据集之间的对应特征以获取高分辨率对应点的第一集合(608)。然后将高分辨率对应点的第一集合映射到深度相机的图像平面上并且确定深度数据的第一集合和第二集合之间的对应点(610)。然后使用从深度数据的第一集合和第二集合之间的对应点获取的三维单应性来对准深度数据的第一集合和第二集合并且然后使用经对准的数据生成对象的三维网格(612)。

现在参照图7a和图7b,提供了一种根据本文所描述的原理的用于重构三维对象的表面几何形状的方法。在各种示例中,方法包括以下步骤。提供具有异构传感器的集群的系统,包括二维高分辨率相机和三维深度相机以及可操作成递增旋转的转盘(702)。将转盘旋转到第一位置并且使用二维高分辨率相机采集第一二维数据集并且使用三维深度相机采集第一三维数据集(704)。然后将转盘旋转到第二位置并且使用二维高分辨率相机采集第二二维数据集并且使用三维深度相机采集第二三维数据集(706)。然后确定第一和第二二维数据集之间的对应特征以获取高分辨率对应点的第一集合(708)。然后将高分辨率对应点的第一集合映射到深度相机的图像平面上并且确定深度数据的第一集合和第二集合之间的对应点(710)。然后使用从深度数据的第一集合和第二集合之间的对应点获取的三维单应性来对准深度数据的第一集合和第二集合并且然后使用经对准的数据生成对象的三维网格(712)。

仍旧参照图7a和图7b,本公开内容的原理可以包括以下附加步骤。使用深度相机的图像平面和对应于深度相机的图像平面的像素位置的深度数据之间的像素到像素映射从三维网格确定二维坐标点的经修改的集合(714)。然后将二维坐标点的经修改的集合映射到表示高分辨率相机的图像平面的坐标系以获取高分辨率数据的经映射的集合(716)。然后将转盘旋转到第三位置并且使用二维高分辨率相机采集第三二维数据集并且使用三维深度相机采集第三三维数据集(718)。然后确定高分辨率数据的经映射的集合与第三二维数据集之间的对应特征以获取高分辨率对应点的第二集合(720)。然后将高分辨率对应点的第二集合映射到深度相机的图像平面并且确定三维网格与深度数据的第三集合之间的对应点(722)。然后使用从三维网格与深度数据的第三集合之间的对应点获取的三维单应性对准三维网格和深度数据的第三集合(724)。然后使用经对准的三维网格和深度数据的第三集合生成经更新的三维网格(726)。过程重复直到获得所期望的扫描或数字化为止。

以上描述的原理和示例提供用于重构真实世界对象的形状或外观的系统和方法。该系统和方法受益于将3d扫描问题精简成简化的2d到2d对应性问题,其中将对准建模为3d单应性,从而导致快速且鲁棒的闭环3d扫描过程。

已经呈现的前述描述仅用以说明和描述所描述的原理的示例。该描述不旨在是穷举的或者将这些原理限制到所公开的任何确切形式。鉴于以上教导,许多修改和变化是可能的。

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