用于增强表面重构的轮廓求全的制作方法

文档序号:10628126阅读:283来源:国知局
用于增强表面重构的轮廓求全的制作方法
【专利摘要】描述了表面重构轮廓求全的实施例,其从一个或多个视点所捕捉的图像来提供场景的密集重构。使用轮廓求全随机场模型可以推断出房间布局以及房间中被部分遮挡的物体的完整范围以增强重构体。经增强的重构体随后能够被任意表面重构管道用来示出之前被遮挡的物体和表面。
【专利说明】用于増强表面重构的轮廓求全
【背景技术】
[0001] 诸如微软公司的Kineet⑩的商品深度相机和传感器的可用性已经支持研发出多 种可W从所捕捉的深度图像来密集地重构任意场景的方法。从深度图像生成场景的密集3D 重构的任务在过去数年间已经有了长足的进展。虽然该进展的一部分是由于算法改进,但 是廉价深度相机的采用W及色彩和深度信号的融合方面也已经取得了大幅的发展。
[0002] 深度和彩色图像的组合使用已经被成功论证可用于经由离线和在线算法两者来 产生室内场景的大规模模型。大多数红、绿、蓝和深度(RGB+D)重构方法需要从多个视点展 示场景W提供基本上准确并且完整的表面重构。
[0003] 准确且完整的表面重构在增强现实(AR)应用中特别重要,增强现实(AR)应用越来 越多地被用于娱乐和商业用途。例如,近来所引入的游戏平台要求用户从多个角度扫描内 部场景W构建该场景的模型。使用深度重构的模型,平台覆盖W图形方式所生成的角色和 游戏要素。在另一个示例中,家具零售商支持消费者在并不必离开他们的家的情况下对他 们的家具在被安装后看上去如何进行视觉化。运些AR应用经常要求高保真的密集重构从而 能够W貌似真实的方式产生所仿真的诸如照明、阴影和物体交互之类的物理现象。

【发明内容】

[0004] 提供该
【发明内容】
而W简化形式对随后将在下文的【具体实施方式】中进一步进行描 述的概念的选择进行介绍。该
【发明内容】
并非意在标识所请求保护主题的关键特征或必要特 征,其也并非意在被用来W任何方式对所请求保护主题的范围进行限制。
[0005] 总体上,本文所描述的表面重构轮廓求全(contour completion)技术的实施例推 断出完整重构的场景的布局W及该重构场景中被部分遮挡的物体的完整范围。
[0006] 在该表面重构轮廓求全技术的一个实施例中,部分地重构的Ξ维(3D)场景被完成 或者说求全。接收(例如,从表面重构管线)Ξ维场景的部分重构体(volume),并且在该部分 重构体中检测表面。该表面随后被分类为不同的类型。经分类的表面被用来推断场景边界 W及物体在该部分重构体中被部分遮挡的表面的边界。该部分重构体随后被更新W示出所 推断的物体在该场景中被部分遮挡的表面的边界W及场景边界。
【附图说明】
[0007] 本公开的具体特征、方面和优势将关于W下描述、所附权利要求W及附图而更好 地被理解,其中:
[000引图1描绘了用于实践本文所描述的表面重构轮廓求全技术的一个实施例的示例性 过程的流程图。
[0009] 图2描绘了用于实践本文所描述的表面重构轮廓求全技术的另一个实施例的另一 种示例性过程的流程图。
[0010] 图3描绘了用于实施本文所描述的表面重构轮廓求全技术的一个示例性实施例的 系统。
[0011] 图4描绘了在表面重构管线中使用表面重构轮廓求全技术的一个实施例w增强重 构体的示图。
[0012] 图5是可W被用来实践表面重构轮廓求全技术的各个实施例的示例性计算环境的 示意图。
【具体实施方式】
[0013] 在W下对表面重构轮廓求全技术的实施例的描述中对附图进行参考,该附图形成 描述的一部分的并且利用图示示例的方式而示出,通过该示例本文所描述的表面重构轮廓 求全技术的实施例可W被实践。所要理解的是,在不背离所请求保护主题的范围的情况下, 可W利用其它实施例并且可W进行结构变化。
[0014] 1.0表面重构轮廓求全
[0015] W下部分提供对本文所描述的表面重构轮廓求全技术的介绍,W及用于实践运些 实施例的过程和架构的示例性实施方式。还提供了各个实施例和部件的细节。
[0016] 作为引文,随后的一些示图W-种或多种结构部件为背景的概念进行了描述,上 述结构部件W各种方式被称为功能、模块、特征、要素等。图中所示的各个部件能够W任意 方式来实施。在一种情况下,图中所图示的将各个部件划分为不同单元可W反映出相对应 不同组件在实际实施方式中的使用。可替换地或除此之外,图中所示的任意单个组件都可 W由多个实际组件所实施。可替换地或除此之外,图中所描绘的任意两个或更多单独部件 可W反映由单个实际部件所执行的不同功能。
[0017] 其它示图W流程图的形式对概念进行描述。W运种形式,某些操作被描述为W某 种顺序执行的作为组成部分的不同的框。运样的实施方式是说明性而非限制性的。本文所 描述的某些框能被分组在一起并且在单个操作中被执行,某些框能够被细分为多个分量 框,并且某些框能够W不同于运里所图示的顺序来执行(包括并行地执行框的方式)。流程 图中所示出的框能够W任意方式被实施。
[001引 1.1介绍
[0019] 总iiiry本文所描述的表面重构轮廓求全技术从一个或多个有限视点执行表面重 构,并且对场景中被遮挡或者对于捕捉场景的一个或多个相机不可见的部分进行"填充"。 基本的场景理解要求对物体在3D空间中如何交互和延伸具有高水平的知识。虽然大多数场 景理解研究设及到语义和像素标记(labelling),但是已经深入到推断物体或表面的程度 的工作却相对很少,尽管运是人类能力的普遍且基本的属性所在。诸如例如微软公司的 Kinect⑧化Sion的在线表面重构管线高度适用于增强现实(AR)应用,但是能够从被整合 到管线之中的场景增强阶段获益。表面重构轮廓求全技术的实施例提供运样的场景增强。
[0020] 表面重构轮廓求全技术的实施例提供许多优势。场景重构中的空桐和间隙通过对 场景中被遮挡表面的轮廓进行求全而被填充。运使得不必从多个视点捕捉场景W便显示出 被遮挡物体和场景表面的真实范围和形状。此外,对场景重构进行增强几乎不要求用户方 面的工作并且实时地进行。所创建的增强表面重构还能够与许多类型的表面重构管线一起 使用。
[0021] -些表面重构轮廓求全技术实施例采用了轮廓求全随机场(CCRF)模型。该模型在 2D场景中完成或延伸轮廓。其还对场景及其物体的范围进行推断。此外,其将经推断的场景 要素的有效重新整合提供到3D场景表示形式中W允许它们被诸如AR应用的下游应用所使 用。
[0022] 在一个实施例中,场景的部分密集重构被接收,其被表示为立体像素(voxel)网格 中的点云,其中每个立体像素的状态可W是被表面占据、空闲(于表面)或者其状态为未知。 应当注意的是,该表示是表面的非常一般的表示并且能够通过从许多其它类型的场景表示 (例如网格)W及捕捉该场景的相机的位置进行采样而生成。在一个实施例中,该技术使用 实时的密集表面映射和追踪过程来计算该重构体,该重构体还可W针对立体像素而指定表 面法线和截取符号距离函数(TSDF)。例如,微软公司的Kinect⑩化Sion就是可W被使用的 运种实时的密集表面映射和追踪处理。其将活动体保存在图形处理单元(GPU)存储器中,其 利用来自深度相机或传感器的新的深度观察进行更新,上述深度相机或传感器诸如例如是 微软公司的Kinect⑩传感器。每个深度帖使用迭代最接近点技术进行追踪,并且每个深度 帖对被表示为截取符号距离函数(TSDF)网格的重构体进行更新。在任意点,TSDF体都可W 被擅染(例如,通过使用射线投影)或变换为明确的表面(例如,通过使用行进立方体方法或 类似方法)。应当注意的是,虽然表面轮廓求全的一个实施例采用了微软公司的Kinect⑩ 化Sion和Kinect⑥相机/传感器所创建的部分场景重构体,但是能够随该技术而采用任意 其它类型的场景重构方法和深度相机。
[0023] 给定重构体,在一个实施例中,首先对表面进行检测。例如,场景中的平面表面被 检测并且每一个平面表面被分类为场景布局的一部分(地板、墙面、天花板)或者场景中的 内部物体的一部分。平面的标识随后被用来通过使用运里所描述的CCRF模型求解分类问题 而对它们进行扩展。不同于基本上支持短边界的成对出现的马尔科夫随机场,CCRF模型支 持标签中的不连续性W跟随所检测的诸如线条或曲线的轮廓基元。本文所描述的表面重构 轮廓求全技术的实施例使用该模型来完成用于场景的地板映射并且对房间中的平面物体 的范围进行估计。最后,原始输入的体被增强从而绘制出经扩展和填充的场景。应当注意的 是,虽然该描述主要讨论了平面表面,但是运里所描述的表面重构轮廓求全技术也能够应 用于许多其它类型的物体。例如,能够对圆柱状物体进行检测并且该圆柱状表面将被映射 至平面,其中W与本文所描述的相类似的方式进行完成。运同样应用于许多其它类型的表 面,诸如例如圆锥体和球体。
[0024] 1.2示例性过程
[00巧]如上文所讨论的,Kinect?化Sion是实时的密集表面映射和追踪管线。其将活动 体保持在GPU存储器中,定期利用来自Kinect⑥相机/传感器的新的深度观察进行更新。每 个深度帖被追踪并且对被表示为截取符号距离函数(TSDF)体/网格的重构体进行更新。在 任意点,该TSDF体都可W被擅染(例如,通过使用射线投影)或者使用行进立方体算法(或类 似算法)被变换为明确的表面。本文所描述的表面重构轮廓求全技术的实施例通过在某些 关键帖(例如,其中增加了实质性的新数据的事件)访问TSDF体而对该管线进行延伸,并且 利用所推断的被遮挡表面的边界对其进行增强。随着新的深度观察掲示出之前被遮挡的立 体像素,所推断的增强被逐步淘汰。本文所描述的表面重构轮廓求全技术的实施例可W被 用来W很少的改变而增强其它表面重构方法。
[0026]图1描绘了用于对场景的密集部分3D重构进行求全的示例性过程100。在该实施例 中,对场景的密集部分3D重构体中的表面(例如平面表面)进行检测,如框102中所示。所检 测的表面随后被分类为不同类型的表面,如框104中所示。例如,所检测的表面能够被分类 为墙壁、天花板、地板和内部表面。
[0027] 该场景的密集部分3D重构体随后使用经分类的表面W及轮廓求全过程被增强,从 而示出场景边界W及物体在该场景中被部分遮挡表面的更大部分,该轮廓求全过程对该场 景中的被遮挡表面的轮廓进行求全或补全,如框106中所示。
[0028] 图2描绘了另一个示例性过程200。在该实施例200中,部分重构的Ξ维(3D)场景被 求全。
[0029] 如框202中所示,接收(例如,从表面重构管线)Ξ维场景的密集3D部分重构体。该 部分3D重构体能够从保存该场景的部分重构体的表面重构管线接收,其利用场景的新的深 度观察而被更新。该密集重构体可W被表达为立体像素的体(3D点云上的覆盖)。每个立体 像素能够被标记为具有在该立体像素所观察到的表面(例如,被占据)、其中在该立体像素 没有观察到的表面的空闲状态,或者被标记为未知(不知在该立体像素处是否存在表面)。
[0030] 对部分重构体中的表面进行检测,如框204中所示。能够使用化U曲变换对表面进 行检测并且点可W被关联至运些表面中的每一个表面。运些表面可W是任意类型的表面, 只要它们能够被映射至平面。在该技术的一些实施例中所采用的检测表面的细节将在下文 进行更为详细地讨论。
[0031] 如框206中所示,所检测的表面被分类为不同类型的表面。运例如能够通过该使用 语义标记W及分类器来进行,该分类器将表面分类为诸如墙壁、地板、天花板和内部表面之 类的场景边界。可W使用经训练的分类器将表面分类为语义类,该分类器使用地面真实标 签和3D特征来预测每个表面。该分类器捕捉每个表面的属性,包括其高度、大小和表面法线 分布。可W使用随机森林分类器对表面进行分类,但是也可W使用许多其它类型的分类器, 作为示例,如支持矢量机(SVM)、增强型线性分类器等。在该技术的一些实施例中所采用的 对表面进行分类的细节将在下文进行更为详细地讨论。
[0032] 如框208中所示,经分类的表面被用来定义处于场景的部分重构体中的场景边界。 运例如可W通过使用之前所讨论的轮廓求全随机场(CCRF)模型来进行。该CCRF模型通过使 得能量函数最小化来对场景中被遮挡表面的轮廓进行求全,该能量函数确定轮廓线条上的 点是否位于表面上并且将该点标记为处于或不处于表面轮廓上。被指定W是否属于表面轮 廓的不同标签的两个相邻的点在确定该点是否属于表面轮廓时被指定W惩罚。场景中的被 遮挡表面的轮廓可W使用被拟合到该表面的轮廓的可见部分的线条和抛物线来求全。随后 将更为详细地描述用于使用CCRF模型来求全轮廓的示例性过程。
[0033] 如框210所示,还对物体在部分重构体中被部分遮挡的表面的边界进行推断。同 样,运例如可W通过使用之前所讨论的CCRF模型来进行。物体在场景中被遮挡的轮廓可W 使用被拟合到物体被遮挡表面的轮廓的可见部分的线条和抛物线来求全。
[0034] 如框212所示,该部分3D重构体随后被增强W示出所确定的场景中的物体被部分 遮挡的表面的边界W及场景边界。用于增强部分3D重构体的示例性过程在随后更为详细地 进行描述。
[0035] 已经提供了用于实践该技术的示例性过程,后续的部分讨论了用于实践该技术的 示例性系统。
[003引 1.3示例性系统
[0037] 图3提供了用于实践本文所描述的实施例的示例性系统300。表面重构轮廓求全模 块302处于诸如关于图5更为详细描述的计算设备500上。
[0038] 如图3所示,表面重构轮廓求全模块304的表面检测模块302检测所输入的部分3D 重构体306中的表面。该部分重构体306能够从表面重构管线308接收,表面重构管线308保 存场景的部分重构体并且利用场景的新的深度观察对该场景进行更新。
[0039] 应当注意的是,部分3D重构体306可W通过网络310从表面重构管线308接收(例 如,如果该表面重构管线处于服务器或计算云上)。可替换地,该表面重构管线可W与表面 重构轮廓求全模块302处于相同的计算设备500上。(应当注意的是,整个管线可W处于计算 云上。可W包括来自一个或多个客户端的深度视频形式的输入,将它们进行融合并且可W 生成最终的求全。最终的模型(或当前深度视图)随后可W被发送回客户端。)
[0040] 部分3D重构体306可W被表达为立体像素的体(3D点云上的覆盖)。每个立体像素 能够被标记为具有该立体像素处所观察到的表面(被标记为被占据),在该立体像素处没有 观察到表面的空闲状态,或者被标记为未知(不知该立体像素处是否存在表面)。
[0041] 表面分类模块312对部分3D重构体306中所检测到的表面进行分类。表面能够使用 化U曲变换进行检测并且点能够被关联至运些表面中的每一个表面。表面分类模块312例如 通过使用语义标记和分类器将所检测的表面分类成不同类型的表面,该分类器将表面分类 为诸如墙壁、地板、天花板和内部表面之类的场景边界。经分类的表面被用来定义该场景的 部分重构体中的场景边界。运例如可W通过使用轮廓求全模块314W及之前所讨论的CCRF 模块316来进行。场景中被遮挡表面的轮廓可W使用被拟合到表面轮廓的可见部分的线条 和抛物线而被求全。
[0042] 物体在部分重构体306中被部分遮挡的表面的边界也使用轮廓求全模块314而被 确定。同样,运例如可W通过使用之前所讨论的CCRF模型314来进行。物体在场景中被遮挡 的轮廓还可W使用被拟合到被遮挡物体的表面轮廓的可见部分的线条和抛物线而被求全。
[0043] 所求全的部分3D重构体306中的经检测和分类的表面的轮廓被增强模块318用来 创建增强3D重构体320,增强3D重构体320描绘了物体在该场景中的被部分遮挡的表面的更 大部分W及场景边界。增强3D重构体320随后被反馈到表面重构管线308。增强3D重构体320 可W被实时更新。
[0044] 1.4细节和示例性计算
[0045] 已经提供了用于实践表面重构轮廓求全实施例的示例性过程和示例性系统的描 述,W下部分将提供对示例性表面重构管线的描述,该表面重构管线可W与各种表面重构 轮廓求全技术实施例的细节和示例性计算一起被使用。
[OOW 1.4.1示例性表面重构管线
[0047]如之前所描述的,表面重构轮廓求全技术的实施例可W与各种表面重构管线一起 被使用。随该技术的一个示例性实施例一起使用的一种运样的表面重构管线是微软公司的 K虹ect煩化Sion管线。在W下段落中对该管线进行简要描述W便提供有关可W随该技术 使用的示例性表面重构管线的一些背景信息。
[004引 K:inect?Fusi0n系统通过随时间从多个视点整合来自深度相机或传感器的深度 数据而对具有平滑表面的单个密集表面模型进行重构,作为示例,上述深度相机或传感器 是微软公司的Kinect⑩。在相机/传感器移动时对相机姿态进行追踪(其位置和方位),并 且由于每一帖的姿态w及其如何与其它帖的姿态相关是已知的,所w物体或环境的运些多 个视点能够被融合(平均)在一起形成单个重构立体像素体。该立体像素体在空间中可W被 认为是大的虚拟立方体(重构体),位于真实世界中的该场景周围,并且深度数据(即,表面 所在之处的测量)随着传感器在周围移动而被整合到其之中。
[0049] Kinect⑥化Sion处理管线从原始深度数据到3D重构设及到多个阶段。第一阶段 是深度图转换,其从Kinect⑥相机/传感器取得原始深度数据并且将其转换为W米为单位 的浮点深度数据,随后是针对有向点云的可选转换,其由相机坐标系统中的3D点/顶点W及 运些点处的表面法线(表面的方向)所组成。
[0050] 第二阶段计算全球/世界相机姿态(其位置和方向)并且使用迭代对齐算法在每一 帖中追踪Kinect⑧传感器移动时的该姿态,从而Kinect⑧化Sion系统始终知道相对于最 初的起始帖的当前传感器/相机姿态。在Kinect⑩i''usi〇n中有两种算法。第一种可W被用 来将从重构所计算的点云与来自Kinect⑧相机深度的新到来的点云进行对齐,或者是独 立的(例如,用于将观看相同场景的两个单独相机进行对齐)。第二种算法在随重构体一起 工作时提供了更为准确的相机追踪结果,然而,运对于在场景中移动的物体而言可能较不 鲁棒。
[0051] 第Ξ阶段是将来自已知传感器姿态的深度数据融合(或"整合")为相机周围的空 间的单个体表示。运种深度数据的整合对每个帖连续执行,利用运行平均(running average) W减少噪声,而且对场景中的一些动态变化进行处理。
[0化2]该重构体能够从传感器姿态(其通常是当前的Kinect够传感器姿态但是并不局 限于此)进行射线投影,并且运样所产生的点云可W针对3D重构体所擅染的可视图像进行 阴影处理。
[0053] 1.4.2 输入
[0054] 该表面重构轮廓求全技术可W与各种输入表示一起被使用。
[0化日]在一个示例性实施例中,该3D重构体被表示为诸如W上关于Kinect⑩化sion管 线所描述的3D感应点的云。运些点处于环境中的表面上。注意到,输入可W具有不同的表示 形式,诸如环境的不完整网格,或者表面的隐含表示形式(诸如存储在空间中的规则点处的 3D函数,并且其在该表面的一侧为正而在另一侧则为负)。将W下描述扩展到不同的表示是 可能的,但是所有那些表示都可W被近似为3D点的云。
[0056] 在一个实施例中,接收(3D点云上的)立体像素网格W及表面法线的集合。该网格 中的每个立体像素表示(被占据的)表面观察、空闲空间或未知,并且每个被占据立体像素 已经被指定W表面法线。虽然该技术的一个实施例使用截取符号距离函数(TSDF)W及 Kinect⑩化Sion所产生的表面法线,但是对运Ξ种状态进行编码的任意立体像素网格和 相对应的表面法线都将是满足要求的。
[0057] 如将要在W下段落中更为详细描述的,给定该输入,该技术实施例首先检测表 面一例如平面表面一并且将每个表面分类为作为场景布局的一部分(地板、墙壁、天花板) 或者该场景中的内部物体的一部分。使用每个平面的标识,执行两个阶段的场景扩展。首 先,完成提供房间的封闭3D模型的地板映射。第二,确定该房间中的物体的表面范围,例如 该房间中管线物体的平面表面。最后,对原始输入体进行增强W对所扩展和填充的场景加 W表示。示例性过程的多个阶段在图4中进行了展示。如图4所示,框402,对所接收的3D部分 密集重构体进行分析W找出主要平面。如框404所示,该主要平面被分类为天花板、墙壁、地 板W及内部平面。如框406所示,对场景边界W及任何被部分遮挡的内部物体的形状进行推 断。如框408所示,所推断的场景边界和内部对象被用来产生完整的重构场景。框402至408 的每个动作的示例性计算的细节在W下段落中进行详细描述。
[0化引 1.4.3平面检测和分类
[0059] 如图4框402所示,对所接收的3D部分密集重构体进行分析W找出主要平面。W下 段落描述了该技术如何从基于部分立体像素的重构来检测主体平面。所有可能的3D平面的 空间都由巧所表示,并且出现在该场景中的平面的集合由Η来表示。使得在该场景中可见 的所有3D点的集合由Ρ={ρι,.. .ρν}来表示。该技术通过最小化W下能量函数而针对Η来估 计最为可能的标记:
[0060]
0.)
[0061] 其中λ是平面数量的惩罚,并且fi是对并未由任何平面所解释的点的数量进行惩 罚的函数:fi化)=min{minheH[S(pi,h),Ab]},其中函数δ在Pi落在平面h上时返回数值0,否 则为无穷。单独最小化第一项具有简单的(trivial)退化解决方案,其中平面针对集合Η中 的每个点Pi而被包括。然而,该情况被充当正则项的能量的第二项所避免并且增加了随Η的 基数(cardinality)而线性增大的惩罚。
[0062] 1.4.3.1检测表面集合
[0063] 在表面重构轮廓求全技术的一个示例性实施例中采用贪婪策略,其从空集开始并 且反复增加导致最大能量减小的元素。该方法已经被观察到实现了良好的近似。其通过使 用化U曲变换选择有限表面(例如平面)集合而开始。在一个实施例中,每个3D点及其表面法 线对W其方位角Θ、高度ΦΚ及距原点P的距离作为参数的平面等式进行投票。运些投票中的 每一个投票在大小为A X E X D的累加器矩阵中进行累加,其中A是方位角容器的数量,E是 高度容器的数量而D则是距离容器的数量(在一个实施例中,使用A=128,E = 64,并且D通过 利用最大和最小点将大小为5cm的容器边缘间隔开来而动态选取)。在每个点都被投票之 后,运行非最大值抑制过程来避免接受过于相似的多个平面。
[0064] 一旦已经确定了候选表面(例如,平面)的集合,该技术就按照它们已经接收到的 投票的数量将它们降序排列并且将点迭代地关联至每个平面。点可W在其之前并不与任何 其它表面相关联的情况下或者在其平面差距和局部表面法线差异足够小(在一个实施例 中,使用平面差距阔值0.1 W及角度差距阔值0.1)的情况下被关联至一个平面。作为另外的 启发式方法,每个新的平面及其相关联的点被分割为连接的分量的集合,运确保了平面在 局部是连接的。
[00化]1.4.3.2利用语义标记进行的表面/平面分类
[0066] 如图4的框404所示,一旦已经确定平面集合,每一个平面就独立低被分类为四种 语义类别之一:地板、墙壁、天花板、W及内部。为了运么做,在一个实施例中,使用捕捉每个 平面的包括其在房间中的高度、大小W及表面法线分布的属性的过程,使用地面真实标签 和3D特征对随机森林分类器进行训练W预测每个平面的类别。被分类为地板、墙壁和天花 板之一的平面被用于推断地板平面和场景边界,而内部平面则在后续步骤中被扩展并且被 填充。
[0067] -个实施例使用快速抛物线拟合过程,其在后续更为详细地被描述。W输入图像 开始,找到接触点和轮廓边缘。接下来,接触点被对齐并且使用若干半径对抛物线进行拟合 W找到最佳拟合。
[006引 1.4.4场景求全
[0069] 给定所检测和分类的平面的集合,运里所描述的表面重构轮廓求全技术的实施例 推断场景的真实范围(即,其获得封闭的房间结构),并且基于来自场景自身的证据对内部 平面进行扩展,如图4的框406中所示。
[0070] 1.4.4.1作为像素标记问题的表面边界求全
[0071] W下段落对用来估计如在一个示例性实施例中从俯视图中所看到的表面(例如平 面)边界的数学计算进行描述。边界求全被表征为像素标记问题。考虑表示场景的俯视图中 的网格位置的节点集合S。假设网格中的节点ies的部分标记可W被观察并且利用变量yi; iES进行编码,其中yi=l、yi = 0和yi = -l分别表示i属于该平面、不属于该平面W及其从属 关系并不确定。在给定y的情况下,期望对X所表示的平面的真实范围进行估计。特别地,二 进制变量XI被用来对平面是否覆盖该俯视图中的节点i的位置进行编码。Xi=l表示节点i属 于该平面,而Χι = 〇则表示其不属于该平面。
[0072] 针对像素标记问题的传统方法是使用成对的马尔科夫随机场(MRF)模型。在成对 MRF模型下任意标记y的能量被定义为:
[007;3] E(X)= Zies<l)i(Xi)+ZijeN<l)ij(Xi,Xj)+K (2)
[0074]其中Φι对指定标签xi的成本进行编码,并且Φ 11则是支持相邻的(N个)节点采用 相同标签的成对势(potential),并且K是常数。该一元势函数迫使所估计的标签X与观察y 相符,即如果yi声-1并且且xi声yi则Φ i(xi) = inf,并且针对所有其它情形Φ i(yi) =0,同时 成对势采取Ising模型的形式。该模型下的最大后验(MAP)标记可W使用图形切割而在多项 式时间中进行计算。然而,其结果由于该成对模型并未对有关应当如何计算边界的任何信 息进行编码而是平庸的。其简单地支持具有少量不连续性的标签。
[007引 1.4.4.2轮廓求全随机场
[0076] 该技术的一个实施例采用如之前所讨论的CCRF模型。现在描述用于应用CCRF模型 来对遮挡表面的轮廓进行求全的数学计算。
[0077] 已经观察到,虽然大量相邻像素配对采用不同的标签,但是运些像素中的大多数 像素具有一致的外观。因此,定义了对具有大量图形-背景变换类型的分段进行惩罚的势。 运与对绝对数量的变换进行惩罚的标准MRF形成对比。该CCRF模型并不受到短的边界偏差 的影响,因为能量在变换为相同类型一即,具有相同的外观一的情况下并不随着变换的数 量而增长。
[0078] 不同于其中在基于外观进行聚类的非连续边缘群组上定义较高阶的势的方法,在 CCRF中,在重叠边缘集合上定义较高阶的势,其中每个集合遵循一些简单(低维度)的原语 曲线形状,诸如直线或圆。用于CCRF的能量函数可W被写为:
[0079] Ε(χ)=ΣικΦ?(χ〇+Σ8 却 Wg(x) (3)
[0080] 其中Wg是曲线求全势(completion potentials),并且G是一个集合,其中的每个 曲线g表示遵循该曲线的一组节点(边缘)。该曲线求全势具有递减的返回属性。更为正式 地:
[0081]
(4)
[0082] 其中Eg是定义曲线或边缘群组g的边缘的集合。F是非递减的凹函数。在实验中,F 被定义为具有上限的线性函数,目阳(t)=min{A*t,0},其中λ是该函数的斜率并且Θ是上限。 能够看到的是,一旦几条边缘截取?. > 则该群组中的其余边缘就可W在没有任何惩罚的 情况下被截取。该模型的运种表现并不妨碍标记中的边界包括大量的边缘,只要它们属于 相同的群组(曲线)即可。
[0083] 1.4.4.2.1将曲线求全势变换为成对模型
[0084] 已经展示了等式(4)形式的势可W被变换为增加了辅助变量的成对的势的总和。 具体而言,曲线求全势上的最小化能够被写为其中每条边缘增加一个变量并且每个边缘群 组增加一个变量的次模成对伪布尔函数的最小化形式。较高阶曲线求全势(4)上的最小化 问题能够被变换为:
?
[0085]
[0086] 其中hg是对应于群组g的二进制辅助值,并且邸,的/径每是对应于构成边缘群组 g的边缘的二进制辅助变量。
[0087] 1.4.4.2.2约束边缘群组
[008引除了上文中较高阶的项之外,对边缘群组的集合引入了一系列约束。特别地,边缘 群组能够W层级方式进行组织从而可能边缘的集合具有双亲并且每个双亲仅有单一的孩 子可W是活动的。运些约束使用二进制辅助变量进行规格化:
[0089]
[0090] 其中c(g)表示针对每个双亲g的孩子边缘群组的集合。增加运些约束并不改变干 扰机制,因为该技术遵循所描述的贪婪干扰方法,贪婪干扰方法用来通过使用图形剪切求 解一系列次模伪布尔函数最小化问题而使得CCRF能量(3)最小化。由于该策略是贪婪的,所 W该技术简单地并不允许孩子边缘群组在其双亲还没有活动的情况下被选择。运些群组的 确切属性在下文进行描述。
[0091] 1.4.5定义边缘群组
[0092] 如框406所示,本文所描述的表面重构轮廓求全技术的实施例对场景边界和内部 表面进行推断。在一个实施例中,运是通过沿每个已知像素的轮廓而检测线条和抛物线并 且推断(或推演化alluncinating))边缘群组来进行的。CCRF模型随后被用来推断编码的范 围。
[0093] 在一个实施例中,考虑两种类型的边缘群组来定义表面的边缘,也就是直线和抛 物线。虽然之前的工作已经论证了化U曲变换检测诸如圆形和楠圆形的其它形状的能力,但 是运样的高参数形状要求大体上更多的存储器和计算。已经发现线条和抛物线对于捕捉所 遇到的大多数情形而言足够灵活,并且运些被该表面重构轮廓求全技术用来对表面的轮廓 求全。
[0094] 1.4.5.1 检测线条
[00M]为了检测线条,在一个实施例中,使用经修改的化U曲变换来不仅检测线条而且还 检测变换的方向(平面至自由空间或反之亦然)。在一个实施例中,使用具有3个参数的累加 器:P、从原点到线条的距离、从原点到线条的矢量与X轴之间的角度Θ、Κ及指示变换方向 (上下方向和左右方向)的四元变量d(在一个实施例中,该技术对于Θ使用400个角度容器并 且个单位将容器P均匀间隔开来。所允许的最小投票数量被设置为10)。在投票累加之 后,运行非最大值抑制并且针对每条所形成的线条创建边缘群组。
[0096] 1.4.5.2检测抛物线
[0097] 针对抛物线的标准化U曲变换需要四个参数。为了避免运样的设及的计算和存储 器要求,引入了新颖且简单的启发式方法。首先,该技术识别输入图像中落在自由空间、所 占据像素和未知像素的交点处的每个点。运些交点被称作接触点。此外,被平面所占据并且 界定自由空间的所有像素被称作轮廓点。
[0098] 为了闭合被遮挡的轮廓,抛物线对接触点的集合进行连接或者在接触点处继续直 至其到达图像结尾。注意到,仅界定相同遮挡区域的接触点才可能被桥接。因此,创建了接 触点配对集合ξ,将根据接触点配对集合ξ对抛物线进行估计。如果接触点全部都界定相同 的遮挡区域,则每个接触点与其最近的邻居形成配对。针对每个接触点配对,抛物线针对紧 邻地界定每个接触点的所有轮廓点进行拟合。由于抛物线可W被旋转,首先运些界定轮廓 点被旋转从而使得将接触点相连的线条的法线与Υ轴对齐。为了避免对轮廓的过度或不足 拟合,使用若干半径对轮廓点进行采样并且该抛物线最大程度地与所观察到的轮廓保持相 符。如果轮廓点不能成对,或者如果配对仅提供了不良拟合,则抛物线针对每一侧单独地使 用其紧邻的轮廓点邻居进行拟合。该快速抛物线拟合过程在表1中进行概括。
[0099]
[0100] 表1:快速抛物线拟合过程
[0101] 1.4.5.3 推演边缘
[0102] 虽然使用所检测的线条或曲线在许多情况下可W支持推断出正确的表面边界,但 是在其它情况下,在图像中并不存在应当如何对形状进行求全的依据。增加在求全中使用 的边缘群组将有助于提供表现出简单闭合和对称性的形状。更具体地,针对每个所检测到 的观察线条,在形状的遮挡侧上增加另外的并行边缘群组。
[0103] 1.4.6推断场景边界
[0104] 如图4的框406所示,确定所分类表面的边缘并且推断场景边界和内部表面边界。 概言之,通过将线条和抛物线针对输入图像进行拟合而获得边缘群组,因此支持进行与运 些边缘相符的变换。如等式6所示,并非所有边缘群组都能够同时且并行地活动,并且被用 来推演一系列边缘的任何线条都被认为是其孩子推演线条的双亲。因此,每次(最多)仅有 单个推演线条是活动的。
[0105] 为了扩展并填充场景边界,输入TSDF的自由空间W及(分类器所预测的)墙壁平面 被投影到地板平面上。给定由运些投影所引入的2D点云,点被离散化W形成投影图像,在投 影图像中每个像素 yi取自由空间、墙壁或未知的数值。为了推断出整个场景布局,CCRF(等 式3)得W被应用W推断未知像素的数值。在运种情况下,自由空间被认为是所要扩展的区 域(yi = l),并且墙壁要作为周边区域W避免被填充(yi=〇)。墙壁的线条和曲线首先被检测 W创建一系列边缘群组。接下来,如果yi = 〇则Φ i(xi = 1) = 并且如果yi = l则Φ i(xi = 〇) =°°。最后,在一个实施例中,增加轻微偏差W对准自由空间Φ i(Xi = 〇) = e,其中e = le-6。
[0106] 1.4.7扩展平面表面
[0107] 如图4的框406所示,一旦已经对场景边缘求全,也就推断出了内部平面表面的完 整范围。针对每个内部平面而言,TSDF如下被投影到所检测的2D平面上。首先,使用主成分 分析(PCA)找出针对平面的坐标基础并且分别估计该平面的主要和次要轴线Μ和N。接下来, 创建大小为2Ν+1Χ 2Μ+1的图像,其中该图像的中屯、像素对应于该平面的几何中屯、。沿大小 为2Ν+1Χ 2Μ+1的平面基础对网格进行采样,其中在每个网格位置被采样的TSDF数值被用来 指定图像的每个像素。如果所采样的TSDF数值被占用则yi被设置为1,如果其是自由空间则 yi被设置为0,并且如果其未知则yi被设置为-1。实际上,远离该平面的若干立体像素也被采 样(沿表面法线方向)。该启发式方法具有减少传感器噪声的影响W及来自平面拟合的误差 的效果。
[0108] 一旦已经创建了 Y,则该图像中的所有线条和抛物线都被检测并且必要线条被推 演从而创建边缘群组。接下来,局部的势W之前所描述的相同方式而被指定。
[0…9] 1.5增强原始体
[0110] 如图4的框408所示,随推断的场景边界和内部对象被用来增强该3D重构体。该场 景求全的结果是封闭的场景边界,W及经拓展的内部物体表面平面。作为管线中的最终步 骤,对所输入的原始TSDF进行增强。在一个实施例中,针对场景边缘,所产生的表示边界的 多段线条被简化并且对从地板到天花板高度沿着该边界的点进行采样。对于内部平面而 言,该技术对平面的扩展部分中的点进行采样。针对每个采样点(按照所要求的被密集采 样,在运种情况下为T ),从最接近于该点的立体像素并且W两个方向一其法线和与其法线 相反的方向一遍历该体中的bresenham线。针对每个所约到的立体像素,利用到表面的距离 更新TSDF数值。如果原始体的大小不足W保存新的场景边界,则在对其进行增强之前创建 新的更大的体并且将原始TSDF复制到那里。
[0111] 在起始的表面重构管线中,经增强的TSDF利用新的证据将持续更新(例如,随着用 户移动)。经增强的区域随着它们所填充的立体像素变为已知而被逐步淘汰。
[0…]2.0示例性使用情形和可替换实施例:
[0113] W下段落提供了一些示例性使用情形和可替换实施例。许多其它的使用情形和实 施例是可能的。
[0114] 2.1游戏应用
[0115] 本文所描述的表面重构轮廓求全技术的实施例能够被用来在各种游戏应用中增 强场景。例如,能够利用深度传感器来扫描房间并且可W创建该房间的3D部分重构体。运随 后能够被用来增强该3D部分重构体从而示出被部分遮挡的物体和物品。图形生成的角色和 游戏要素也可W进行叠加。
[0116] 2.2室内设计/构造
[0117] 本文所描述的表面重构轮廓求全技术的实施例可W被用来在各种室内设计和构 造应用中增强场景。所捕捉房间的增强模型可W被用来示出该房间的所有方面从而允许消 费者对他们的家具在房间中安装时看上去如何进行视觉化。
[011引 2.3 3D打印
[0119] 在3D打印中,3D模型被发送到3D打印机,W便该3D打印机创建物理物体。本文所描 述的表面重构轮廓求全技术的实施例可W被用来创建运样的模型。
[0120] 2.4机器人应用
[0121] 在一些情况下,室内机器人被用来遍历房间W例如找人或寻找爆炸性设备。运里 所描述的表面重构轮廓求全技术的实施例可W被用来创建运样的房间模型W便引导机器 人通过之前未绘制地图的空间。
[0122] 2.5物体裁切
[0123] 在一些情况下,用户可能想要从建模的场景或重构体的现有几何中裁切掉物体。 运里所描述的表面重构轮廓求全技术的实施例可W被用来替换物体裁切W对重构体求全。
[0124] 3.0示例性操作环境
[0125] 本文所描述的表面重构轮廓求全技术的实施例在多种类型的通用或专用计算系 统环境或配置内可操作。图5图示了如本文所描述的表面重构轮廓求全技术的各种实施例 和要素可W在其上进行实施的通用计算机系统的简化示例。注意到,在图5所示的简化计算 设备500中W中断线或虚线所表示任何框都表示该简化计算设备的可替换实施例。如下文 所描述的,任何或全部的运些可替换实施例都可W结合贯穿本文所描述的其它可替换实施 例一起使用。简化计算设备500通常在具有至少一些最小计算能力的设备中被发现,诸如个 人计算机(PC)、服务器计算机、手持计算设备、膝上计算机或移动计算机,诸如蜂窝电话和 个人数字助理(PDA)的通信设备,多处理器系统、基于微处理器的系统、机顶盒、可编程消费 者电器、网络PC、小型计算机、主机计算机,W及音频或视频媒体播放器。
[0126] 为了允许设备实施本文所描述的表面重构轮廓求全技术的实施例,该设备应当具 有充分的计算能力和系统存储器W支持基本计算操作。特别地,图5所示的简化计算设备 500的计算能力总体上由一个或多个处理单元(510)所图示,并且还可W包括一个或多个图 形处理单元(GPU)515,它们中的任一者或其二者与系统存储器520进行通信。注意到,简化 计算设备500的(多个)处理单元510可W是专用微处理器(诸如数字信号处理器(DSP)、超长 指令字(VLIW)处理器、现场可编程口阵列(FPGA)或其它微控制器),或者可W是具有一个或 多个处理核屯、的常规中央处理器(CPU)。
[0127] 此外,图5所示的简化计算设备500还可W包括诸如通信接口 530的其它部件。简化 计算设备500还可W包括一个或多个常规计算机输入设备540(例如,指示设备、键盘、音频 (例如语音)输入设备、视频输入设备、触觉输入设备、手势识别设备、用于接收有线或无线 数据传输的设备等)。简化计算设备500还可W包括其它可选部件,诸如一个或多个常规计 算机输出设备550(例如,(多个)显示设备555、音频输出设备、视频输出设备、用于传送有线 或无线数据传输的设备等)。注意到,用于通用计算机的典型通信接口 530、输入设备540、输 出设备550和存储设备560对于本领域技术人员而言是公知的并且将不在运里进行详细描 述。
[0128] 图5所示的简化计算设备500还可W包括各种计算机可读媒体。计算机可读媒体可 W是可W被计算机500经由存储设备560所访问的任意可用媒体,并且可W包括可W是可移 除570和/或不可移除580的易失性和非易失性媒体,用于存储诸如计算机可读或计算机可 执行指令、数据结构、程序模块或其它数据。计算机可读媒体包括计算机存储媒体和通信媒 体。计算机存储媒体是指有形的计算机可读或机器可读媒体或存储设备,诸如数字多功能 盘(DVD)、紧致盘(CD)、软盘、带式驱动器、硬盘驱动器、光驱动器、固态存储器设备、随机访 问存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器巧EPROM)、闪存或者其它存 储器技术、磁性卡带、磁带、磁盘存储或者其它磁性存储设备。
[0129] 诸如计算机可读或计算机可执行指令、数据结构、程序模块等的信息的保存还可 W通过使用任意的各种W上所提到的通信媒体(与计算机存储媒体相对)对一个或多个调 制数据信号或载波进行编码来实现,或者通过其它传输机制或通信协议来实现,并且可W 包括任意的有线或无线信息传递机制。注意到,术语"调制数据信号"和"载波"一般是指使 得其一个或多个特征W在信号中编码信息的方式进行设置或改变的信号。例如,通信媒体 可W包括有线媒体,诸如承载一个或多个调制数据信号的有线网络或直接线路连接,W及 无线媒体,诸如声(acoustic)、射频(RF)、红外、激光W及用于传送和/或接收一个或多个调 制数据信号或载波的其它无线媒体。
[0130] 此外,体现本文所描述的各种表面重构轮廓求全技术实施例中的一些或全部或者 其一部分的软件、程序、和/或计算机程序产品可计算机可读指令或其它数据结构形式 而从计算机可读或机器可读媒体或存储设备和通信媒体的任何期望组合进行存储、接收、 传送、或读取。
[0131] 最后,本文所描述的表面重构轮廓求全技术的实施例可W进一步在由计算设备所 执行的诸如程序模块的计算机可执行指令的总体背景下进行描述。一般而言,程序模块包 括执行特定任务或实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。该表面重 构轮廓求全技术的实施例还可W在分布式计算环境中进行实践,在该分布式计算环境中进 行实践中任务由一个或多个远程处理设备所执行,或者在通过一个或多个通信网络进行链 接的一个或多个设备的云内进行实践。在分布式计算环境中,程序模块可W位于本地W及 包括媒体存储设备的远程计算机存储媒体中。此外,W上所提到的指令可W部分或整体被 实施为硬件逻辑电路,该硬件逻辑电路可W包括或不包括处理器。
[0。。4.0其它实施例
[0133]还应当注意的是,W上所提到的本文所描述的任意或所有可替换实施例都可 任何所期望的组合被用来形成另外的混合实施例。虽然已经W特定于结构特征和/或方法 动作的语言对主题进行了描述,但是所要理解的是,所附权利要求中所限定的主题并不必 局限于W上所描述的具体特征或操作。上文所描述的具体特征和动作作为实施权利要求的 示例形式而被公开。
【主权项】
1. 一种用于对部分重构的三维场景(3D)进行求全的计算机实施过程,包括: 接收三维场景的密集部分重构体; 检测所述部分重构体中的表面; 将所述表面分类到不同类型的表面; 使用经分类的所述表面确定所述场景的所述部分重构体的场景边界; 使用经分类的所述表面确定物体在所述部分重构体中被部分遮挡的表面的边界;以及 更新所述部分重构体以示出物体在所述场景中被部分遮挡的表面的所确定的边界以 及所述场景边界。2. 根据权利要求1所述的计算机实施过程,其中所述部分重构从表面重构管线被接收, 所述表面重构管线保存利用所述场景的新的深度观察而被更新的所述场景的所述部分重 构体。3. 根据权利要求1所述的计算机实施过程,还包括使用轮廓求全过程来更新场景边界 的轮廓以及物体在所述部分重构体中被部分遮挡的所述表面的所述边界的轮廓。4. 根据权利要求3所述的计算机实施过程,其中所述场景中的表面的所述轮廓和所述 场景中的物体的所述轮廓通过使用被拟合到所述表面的所述轮廓的可见部分的线条和抛 物线而被求全。5. 根据权利要求4所述的计算机实施过程,还包括通过以下操作来将抛物线拟合到表 面的轮廓的可见部分: 将所述表面的所述轮廓的所述可见部分投影到二维图像上; 标识所述图像中落在自由空间、被占据和未知的像素的交叉处的接触点; 在所述图像中找出处于平面表面的轮廓上并且界定自由空间的轮廓点;以及 通过拟合抛物线以使得所述抛物线连接至接触点集合或者所述抛物线从接触点继续 直至所述抛物线到达图像结尾,来封闭被遮挡的轮廓。6. 根据权利要求3所述的计算机实施过程,其中所述轮廓求全过程使得能量函数最小 化,所述能量函数确定点是否处于表面的轮廓上并且将所述点标记为处于或不处于所述表 面的所述轮廓上;并且 其中被指定以是否属于表面的轮廓的不同标签的两个相邻的点在确定所述点是否属 于所述表面的所述轮廓时被指定以惩罚。7. 根据权利要求1所述的计算机实施过程,其中每个表面被分类为语义类别。8. 根据权利要求7所述的计算机实施过程,其中每个表面被分类到地板、墙壁、天花板 和内部的语义类别中,并且其中被分类为地板、墙壁和天花板之一的表面被用来推断场景 边界,并且其中内部表面被扩展并且被填充。9. 根据权利要求7所述的计算机实施过程,其中所述平面表面使用经训练的分类器而 被分类到所述语义类别中,所述经训练的分类器使用地面真实标签和3D特征来预测每个表 面的类别,并且所述经训练的分类器捕捉每个表面的属性,所述属性包括所述表面的高度、 大小和表面法线分布。10. -种用于对场景的密集部分3D重构进行求全的计算机实施过程,包括: 检测场景的所述密集部分3D重构体中的表面; 将所检测的表面分类到不同类型的表面; 使用经分类的所述表面和轮廓求全过程对所述场景的所述密集部分3D重构体进行增 强,以示出物体在所述场景中被部分遮挡的表面的更大部分以及场景边界。
【文档编号】G06T17/00GK105993034SQ201580008585
【公开日】2016年10月5日
【申请日】2015年2月9日
【发明人】L·沙皮拉, R·加尔, E·奥菲克, P·科利, N·西尔贝曼
【申请人】微软技术许可有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1