可伸缩体积3d重构的制作方法_2

文档序号:9620969阅读:来源:国知局
r3Dreconstruction(用于3D重构的相机姿态估计)"的美国专利申请号13/749,497 中描述。使用其他数据计算204相机姿态也是可能的。例如,移动环境捕捉设备100可具 有跟踪其姿态的传感器,诸如全球定位系统、罗盘、加速度计或使得姿态能够被跟踪的其他 类似传感器。可以使用计算相机姿态的这些或其他方式中的一者或多者的组合。
[0042]来自实时跟踪器的相机姿态可以采用六自由度(6D0F)姿态估计的形式,它指示 深度相机的位置和定向。在一个示例中,6D0F姿态估计可以采用SE3矩阵的形式,该矩阵描 述了深度相机相对于现实世界坐标的旋转和平移。此变换矩阵可以被更加正式地表示为:
[0043]
[0044]其中Tk是深度图像帧k的变换矩阵,Rk是帧k的相机旋转,tk是帧k处的相机平 移,而欧几里德群SE3:= {R,t|ReS03,teR3}。通过乘以这个变换矩阵,可以将相机空间 中的坐标(即,来自相机视角)映射到现实世界坐标,并且可通过应用逆变换来进行反向操 作。
[0045] 3D环境建模系统将当前深度图200集成206到该环境中的各表面的密集3D模型。 这一过程可以空3D模型开始,该空3D模型它通过聚集来自捕捉到的深度图帧的信息而被 逐渐地填充。这可如在Newcombe等人的在2011年1月31日提交并在2012年8月2日发 布的题为"Three-dimensionalenvironmentreconstruction(三维环境重构)"的美国专 利公开20120194516中描述的那样来实现。
[0046] 所得的3D模型可以存储在并行处理单元处的大量存储器中,例如作为3D体素网 格210,其中每一体素存储一数值,该数值是截短的符号距离函数值。这在以上引用的美国 专利公开20120194516中描述且在本文中将被称为将3D模型存储为规则网格。在3D体素 网格210在每一体素处存储截短的符号距离函数值时,3D环境建模系统的并行处理单元存 储器的容量限制了可被表示的现实世界空间的体积。
[0047] 3D体素网格210可被可视化为存储器的立方体,其中每一存储器位置是表示正被 建模的环境的空间中的某一点的体素。因此,3D网格直接表示现实世界环境的空间部分。 由于3D体直接对应于现实世界体,所以固定大小的存储器中表示的现实世界体的大小确 定了模型分辨率。例如,如果较大的现实世界体要被建模,则存储器的每一体素表示现实世 界空间中较大的区域,并因此分辨率低于较小的现实世界体被建模的情况。然而如果更多 存储器可用,则可以更高的分辨率对较大的现实世界体建模。
[0048] 在各实施例中,分层数据结构212被用来存储3D模型208的至少一部分以使得现 实世界空间的大得多的体积能够以相同细节水平被重构,使用了并行处理单元处的减少的 存储器容量并允许实时操作。下面参考图3到10描述用于实时创建、填充、存储以及使用 分层数据结构的各示例的新过程。在这些示例中,通过使用较粗略节点来表示世界中的自 由空间并使用较精细节点来表示接近表面的符号距离函数,与规则网格210相比,分层数 据结构实现无损压缩。这考虑了以下事实:通常,环境的绝大部分是空的,使得在规则网络 210中,大多数符号距离函数被标记为自由空间。
[0049] 许多不同类型的分层数据结构可被使用,如金字塔或树。例如,包括使用空间细分 的树的分层数据结构可被使用,因为这使得表示被3D建模的表面的符号距离函数能够在 新深度图到达时被存储和更新,而无需在考虑每一深度图时完全重建分层数据结构。树数 据结构包括根节点、一层或多层内部或分叉节点、以及多个叶节点。分支将根节点连接到第 一层内部节点并将内部层节点连接到树的下一层,直至达到终端节点(称为叶节点)。可通 过将数据与节点中的一者或多者相关联来将它存储在树结构中。
[0050] 具有空间细分的分层数据结构包括一个或多个树,其中这些树的分支划分了 3D 模型所表示的现实世界空间。许多不同的空间系统策略是可能的。规则空间细分策略可被 使用,而非各向异性策略,因为相机姿态是持续更新的。规则空间细分无需假设用户将在哪 一方向上移动。例如,虽然各向异性网格可能在相机面向一个方向时很好地适用于相机,但 一旦用户转身(例如,左转90度),3D模型的网格不再被对准且造成差的采样。
[0051] 使用规则空间细分形成的分层数据结构可以用各种不同细化策略中的任何策略 来构建。某一细化策略包括用于决定何时从节点创建分支的规则和/或准则。在没有细化 的情况下,密集规则网格如图2中210处所示地生成,它在存储方面以0(η3)伸缩,其中η是 网格的一侧的分辨率。使用全双值细化(即,沿每一轴的二进制拆分,针对每一节点给出8 个子节点)以及存储在叶节点处的数据,形成完整八叉树。这给出了对于使用并行处理单 元(如图形处理单元)进行更新和遍历来说可能复杂的非常深的分层结构。在每一棵树的 每一层处使用不同的分支因子(称为Ν3树结构)也是可能的。另一选项是使用自适应细 化,由此通过将值存储在树的不同层并在它不能再概括其中的变化时拆分节点,符号距离 函数以多个分辨率被表不。
[0052] 不同分层数据结构的实证调查发现具有规则空间细分的树(如不具有自适应细 分的Ν3树)给出了良好的存储器/性能折衷。现在参考图3来描述这一类型的分层数据 结构。
[0053] 代替如图2中那样每一体素处的截短的符号距离函数值,与图2的3D体素网格 210相类似的3D网格300存储具有其子节点(如果有的话)的地址的记录,并且在一些示 例中存储与分层数据结构中该体素的子树有关的信息。该记录用比用于存储截短的符号距 离函数值少得多的存储器来存储。以此方式,规则3D网格300占用比图2的3D体素网格 210更少的存储器。
[0054] 3D网格300的体素的子集接近到目前为止被重构的符号距离函数的表面。这一子 集中的体素中的每一者变成树的根节点。在图3中,为简明起见示出了三个这样的体素,但 在实践中更多这样的体素可能存在。选择体素子集的方式被称为用于决定网格中的哪些体 素将具有子节点的细化策略。在图3的示例中,根层的三个体素具有子节点且这些子节点 中的每一者被示为在使用规则空间细分时每一条边具有根层网格的边的一半体素的立方 体。这些层1节点(也称为层1网格)302、304、306在每一体素处存储具有其子节点(如 果有的话)的地址的记录,且在一些示例中存储与分层数据结构中该体素的子树有关的信 息。每一层1网格表示与一个根层体素相同的现实世界体,但具有更精细的分辨率。
[0055] 在图3的示例中,分层数据结构具有三层,使得第二层节点308、310、312是叶节 点。然而,使用具有两个或更多个层的分层数据结构也是可能的。细化策略被用来选择层1 体素中的哪些将具有子节点。细化策略可以与在上一层处使用的细化策略相同。使用规则 空间细分,且因此每一叶节点存储具有由用户指定的分辨率的3D网格。在图3所示的示例 中,叶节点的每一条边具有第一层网格的边的一半的体素,但这是示例;可以使用其他分辨 率。每一叶层网格表示与一个第一层体素相同的现实世界体,但具有更精细的分辨率。每 一叶层体素可以存储一截短的符号距离函数值以及表示迄今为止从深度图获得的该特定 表面位置的观测的频率的权重。
[0056] 现在参考图4给出使用图3的分层数据结构来表示体积截短的符号距离函数的示 例的更多细节。为简明起见,这在两个维度上示出了图3的三层分层数据结构,具有根层网 格400、一个第一层节点406以及一个叶节点408 (但在实践中将存在多得多的中间节点和 叶节点)。
[0057] 在根层,3D网格(图4中以2D示出)具有64个体素。(以2D而非3D)将相机视 锥体(frustum)(现实世界空间体,映射到3D模型空间,它可能潜在地由相机以其当前姿态 来感测)示为三角形402,其中一个角被线401"切断"。相机视锥体是从当前相机姿态和经 校准的相机特征来被知晓的。当前相机位置(在模型空间中)是在三角形402的角403处, 而线401表示相机前方的平面,在该平面之外的各表面可被感测。既在相机视锥体内也具 有当前观测到的深度值(接近截短的符号距离函数(由线404表示))(来自当前深度图) 的六个体素被加阴影。这六个体素满足细化策略准则。在这一示例中,根层的其他体素要 么不具有子节点要么具有根据先前的深度图生成的子节点。满足该细化策略准则的这六个 体素创建了层1子节点(除非已存在一个子节点)。例如,层1子节点406被示为包括3D 网格,该3D网格在图4中以2D来被表示为四个体素有边方形。通过分配并清除并行处理 单元处的存储器中的位置,层1子节点被创建,如下文更详细地描述的。存储器被用来存储 表示由根层处的父体素所表示的现实世界空间的细分的3D体素网格。
[0058] 从层0处的满足细分策略准则的六个体素之一下来的每一个层1子节点根据层1 细化策略来被评估。例如,在图4中,层1节点具有满足层1细化策略的三个加阴影的体素。 例如,因为这三个体素在当前深度图中具有接近截短的符号距离函数404的观测到的深度 值。
[0059] 满足层1细化策略的三个加阴影的体素各自创建了叶节点(除非已存在一个叶节 点)。例如,叶节点408被示为包括3D网格,该3D网格在图4中以2D来被表示为四个体素 的块。满足叶层细化策略的这些体素中的每一者具有与同对应于该体素的现实世界表面位 置的深度值的观测频率相关的权重一起计算得到的截短的符号距离函数。在各示例中,计 算出的符号距离函数值的最大值被选择并存储在满足细化策略的叶层体素中的每一者处。 这帮助减轻在使用相机时靠近符号距离函数中的物体边缘的闪烁,相机往往在深度图中在 物体边界处引入噪声。
[0060] 在各示例中,细化策略考虑截短的符号距离函数周围的截短区。这一截短区在图 4中由线404周围的两条细线示意性地示出。细化策略可包括检查当前深度值(被转换到 模型空间)是否落入与现有的经建模的符号距离函数周围的截短区相交的体素内。在各示 例中,截短区考虑深度观测中的噪声。例如,噪声可按深度样本的深度(由符号z表示)不 确定性相关于距相机的深度的平方来增长的方式被建模成具有与深度相关的方差的高斯 分布。因此,
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1