三维对象建模的制作方法
【专利说明】
【背景技术】
[0001]三维打印,其也可以称作加性制造,是虑及基于所期望的对象的三维模型而“打印”三维对象的技术。例如,三维打印机可以接受三维计算机辅助设计(CAD)绘图或其它适当的三维模型作为输入,并且可以产生由模型所描述的对象的三维“打印输出”。
[0002]为了打印所期望的对象,三维打印机可以将对象的三维模型“切片”成变化的形状的数字横截面或层,并且可以根据横截面而逐层打印或构造所期望的对象。取决于三维打印机的配置,可以使用各种不同的材料来构造所打印的对象,所述材料诸如塑料、陶瓷、金属、纸、或其它适当的材料。
【附图说明】
[0003]图1是根据本文中描述的实现方式的示例性三维对象建模环境的概念图解。
[0004]图2A和2B是根据本文中描述的实现方式的示例性对象映射的概念图解。
[0005]图3是根据本文中描述的实现方式的用于在三维中对于对象进行建模的示例性过程的流程图。
[0006]图4是根据本文中描述的实现方式的示例性对象建模系统的框图。
【具体实施方式】
[0007]三维模型,诸如可以用作到三维打印机的输入的那些,经常由设计师或绘图员使用复杂的建模软件而创建。以这样的方式对三维对象进行建模可能需要显著量的技能、努力和/或时间,并且还可能是相对昂贵的过程。
[0008]本文描述的是用于对三维对象进行建模的技术,其可以由技术用户或非技术用户以同样的方式来执行,并且其可以使用诸如智能电话、平板设备、膝上型计算机、以及其它适当的计算设备之类的商业上可得到的计算设备来实现。根据所述技术,用户可以使用摄像机来捕获用户希望建模的对象的图像,所述摄像机诸如集成到智能电话或其它适当的移动设备中的摄像机。用户可以捕获对应于对象的多个视图的多个图像(例如,以静态图像或视频捕获的形式),并且所述多个图像可以用于生成对象的准确的三维模型,其在一些情况下可以用作对于三维打印机的输入。如本文中所描述的,所述技术可以包括由计算设备所提供的用户接口(例如,智能电话的显示器),所述用户接口引导用户通过标识尚未充足捕获的对象的区域而捕获对象的特定区域的附加或可替换的视图。例如,可以向用户示出缺乏充分的信息以生成准确的三维对象的对象的一个或多个区域,并且用户然后可以将摄像机聚焦于那些区域上,或者以其它方式捕获与那些区域相关联的附加图像或视图,以使得附加的视觉信息可以被获得以供在对于对象进行建模中使用。
[0009]在一个示例性的实现方式中,对三维对象进行建模的方法可以包括接收多个二维图像,所述多个二维图像描绘将在三维中被建模的对象的视图。所述方法还可以包括处理所述多个二维图像以生成对象的三维表示,并且分析对象的三维表示以确定在所述多个二维图像中是否存在充分的视觉信息以生成对象的三维模型。所述方法还可以包括响应于确定了针对对象的一部分不存在充分的视觉信息,向用户标识对象的所述部分,例如,使得可以捕获对象的所述部分的附加视图。
[0010]在另一示例性的实现方式中,移动计算系统可以包括图像捕获设备,用以捕获描绘将在三维中被建模的对象的视图的二维图像。移动计算系统还可以包括一个或多个处理器,用以在图像被图像捕获设备捕获时处理所述图像,以生成图像中描绘的对象的三维映射图(map);分析对象的三维映射图以确定在图像中是否存在充分的视觉细节以生成对象的三维模型;以及响应于确定了不存在充分的视觉细节而标识缺乏充分的视觉细节的对象的一部分。
[0011]在另一示例性实现方式中,非暂时性计算机可读存储介质可以存储指令,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器接收由图像捕获设备捕获的多个图像,所述多个图像描绘将在三维中被建模的对象的视图。所述指令还可以使得所述处理器处理所述多个图像以生成与对象相关联的视觉信息,并且确定视觉信息是否足以重构对象的良好限定的三维模型。所述指令还可以使得所述处理器响应于确定了与对象的一部分相关联的视觉信息不足以重构对象的所述部分的良好限定的三维模型,而引导用户捕获对象的所述部分的附加视图。
[0012]图1是根据本文中描述的实现方式的示例性三维对象建模环境100的概念图解。如所示出的,环境100包括移动计算设备110和目标对象120。移动计算设备110包括对象捕获引导用户接口 115,其帮助引导用户捕获目标对象120的充分的视图以使得可以创建对象的准确、良好限定的三维模型。环境100还可以包括对象建模服务器140以及三维打印机160,其可以用于在如下所述的目标对象120的适当捕获和建模之后“打印输出”目标对象120的复制品170。
[0013]环境100的示例性拓扑可以表示各种三维对象建模环境。然而,应当理解的是,仅仅出于说明性目的而示出环境100的示例性拓扑,并且可以对配置做出各种修改。例如,环境100可以包括不同的或附加的设备,或者可以以与所示出的不同的方式来实现设备。而且,虽然移动计算设备110和对象建模服务器140 —般被分别图示为智能电话和独立的服务器,但是应当理解的是,其它适当的计算设备(例如平板设备、服务器、膝上型计算机、台式计算机、工作站等等)或者单独地或一起操作的计算设备的群组(例如服务器集群等等)也可以或可替换地用于执行本文中描述的功能的全部或部分。另外,尽管在图1中没有描绘,但是各种设备可以经由一个或多个网络(诸如局域网(LAN)或广域网(WAN))或通过适当网络的组合而通信地耦合到彼此。
[0014]在操作中,移动计算设备110可以由用户操作以捕获目标对象120的多个二维图像,所述图像中的每一个对应于对象的特定视图。虽然以下讨论假设与移动计算设备110集成的摄像机,但是应当理解的是,单独的独立摄像机(未示出)或多个摄像机可以用于捕获目标对象120的图像,并且这样的所捕获的图像然后可以从单独的独立摄像机被提供到移动计算设备110以供以下文讨论的方式被处理。
[0015]图像可以以任何适当的格式被捕获和/或提供,诸如以视频馈送的帧或以目标对象120的一系列摄影静止图像。例如,在一些情况中,集成到移动计算设备110中的摄像机可以被置于视频捕获模式中,并且用户可以相对于目标对象而移动摄像机,以试图要充足地捕获各个侧面、表面以及限定目标对象120的总体结构的其它视觉细节。在另一示例中,用户可以拍摄对象的各种视图的静止照片,例如从不同的角度、距离、缩放水平等等。
[0016]基于所捕获的图像,对象捕获引导用户接口 115可以向用户指示在所捕获的图像中是否存在充分的视觉信息以生成对象的良好限定的、准确的三维模型,例如用于使用三维打印机160而创建对象的复制品170的目的。如果不是,那么对象捕获引导用户接口 115可以引导用户通过捕获对象的附加视图的迭代过程直到存在足够的视觉信息以生成三维模型为止。一旦存在充分的视觉信息以生成目标对象的良好限定的、准确的三维模型,就可以提示用户向对象建模服务器140提供视觉信息的至少一部分(例如,关键帧130),所述对象建模服务器140进而可以基于视觉信息而生成目标对象的三维模型150。三维模型150然后可以被提供给三维打印机160以供打印。
[0017]为了确定在所捕获的图像中是否存在充分的视觉信息以生成目标对象120的良好限定的、准确的三维模型,对象捕获引导用户接口 115可以处理目标对象的任何所捕获的图像以在设备110上构建目标对象的稀疏映射图。所述稀疏映射图可以包括与目标对象的视觉上令人感兴趣的特征相关联的多个各种特征点(例如,拐角、边、弯曲点、和/或其它感兴趣的点)。在一些实现方式中,可以通过使用同时定位和映射(SLAM)处理来生成目标对象的稀疏映射图。SLAM处理可以用于构建完全未知的目标对象120的映射图,或者更新部分已知的目标对象120的先前的映射图。对象捕获引导用户接口 115还可以尝试使网格适合于稀疏映射图,例如通过使用适当的网格化技术而连接适当的特征点。
[0018]稀疏映射图和/或网格然后可以用于通过向用户指示从所捕获的图像中缺乏什么视觉信息(例如,需要被“填充”细节以用于构建三维模型的目标对象的特