CN104854426B - 用于为了三维图像生成来标记图像的系统和方法 - Google Patents

用于为了三维图像生成来标记图像的系统和方法 Download PDF

Info

Publication number
CN104854426B
CN104854426B CN201380064573.4A CN201380064573A CN104854426B CN 104854426 B CN104854426 B CN 104854426B CN 201380064573 A CN201380064573 A CN 201380064573A CN 104854426 B CN104854426 B CN 104854426B
Authority
CN
China
Prior art keywords
image
collection
image collection
pattern
camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380064573.4A
Other languages
English (en)
Other versions
CN104854426A (zh
Inventor
小安东尼·杰拉尔德·弗朗西斯
托尔·刘易斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN104854426A publication Critical patent/CN104854426A/zh
Application granted granted Critical
Publication of CN104854426B publication Critical patent/CN104854426B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2513Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with several lines being projected in more than one direction, e.g. grids, patterns
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2545Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with one projection direction and several detection directions, e.g. stereo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2509Color coding
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B2210/00Aspects not specifically covered by any group under G01B, e.g. of wheel alignment, caliper-like sensors
    • G01B2210/52Combining or merging partially overlapping images to an overall image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

描述了用于图像标记并且生成物体的三维(3D)图像的方法和系统。在一个示例中,一种计算设备可以被配置为接收物体的第一图像集合,捕获该物体的细节。该计算设备还可以被配置为接收第二图像集合,其包括投影于该物体上的标记并且被索引为对应于该第一图像集合中的图像。该计算设备可以被配置为基于投影在该物体上的标记来在空间上对准该第二图像集合中的图像并且确定该第一图像集合中对应于该第二图像集合中空间对准的图像的相应图像。该计算设备然后可以从该第一图像集合中的相应图像生成该物体的3D图像。

Description

用于为了三维图像生成来标记图像的系统和方法
相关申请的交叉引用
本申请要求于2013年8月5日提交的美国专利申请No.13/958,776以及于2012年10月18日提交的美国临时专利申请No.61/715,363的优先权,它们通过引用全文合并于此。
技术领域
本申请涉及用于三维图像生成的方法及系统。
背景技术
在计算机图形中,三维(3D)建模涉及生成物体的3D表面的表示。该表示可以被称为3D物体数据模型,并且能够经由3D渲染而被渲染或显示为二维图像或者被显示为3D图像。3D物体数据模型使用3D空间中点的集合来表示3D物体,上述点通过诸如三角形、线条、曲面等的各种几何实体来连接。现在存在各种技术用于例如利用点云和几何形状来生成3D物体数据模型。
作为数据的集合,3D模型能够通过手工、自动地创建,或者例如能够对物体进行扫描。作为一个示例,艺术家可以手工生成物体的能够被用作3D模型的3D图像。作为另一个示例,可以从多个不同角度对给定物体进行扫描,并且所扫描的图像能够被组合以生成该物体的3D图像。作为又另一个示例,可以使用物体的图像来生成点云,所述点云能够被算法处理以生成3D图像。
3D物体数据模型可以包括定义该物体的体积的固态模型,或者可以包括表示该物体的表面(例如边界)的壳体或边界模型。由于物体的外观很大程度上取决于该物体的外貌,所以边界表示常见于计算机图形中。
3D模型在各种领域中有所使用,并且可以使用多种不同类型的接口来显示。示例接口可以提供使得用户和3D模型之间能够进行交互的功能。
发明内容
本申请公开了用于为了三维(3D)图像生成来标记图像的系统和方法。在一个方面,描述了一种方法。该方法可以包括在计算设备处接收物体的第一图像集合。该第一图像集合中的图像可以是从关于该物体的各个角度被捕获的。该方法还可以包括接收该物体的第二图像集合。该第二图像集合中的图像可以是从关于该物体的各个角度被捕获的、并且可以被索引为使得该第二图像集合中的每个图像对应于该第一图像集合中的相应图像。该第二图像集合中的图像可以是在将图案投影于该物体上的同时被捕获的。该方法可以进一步包括将该第二图像集合中的每个图像中的图案部分与该第二图像集合中在空间上相邻的图像中的相对应的图案部分进行匹配,以便在空间上对准该第二图像集合中的图像。该方法还可以包括基于该第二图像集合中的图像针对该第一图像集合中的图像的索引来确定该第一图像集合中对应于该第二图像集合中空间对准的图像的相应图像。该方法可以进一步包括基于该第一图像集合中被确定为对应于该第二图像集合中空间对准的图像的相应图像来生成该物体的3D图像。
在另一个方面,描述了一种其上存储有指令的非瞬时计算机可读介质,该指令能够由计算设备执行以使得该计算设备执行功能。该功能可以包括接收物体的第一图像集合。该第一图像集合中的图像可以是从关于该物体的各个角度被捕获的。该功能还可以包括接收该物体的第二图像集合。该第二图像集合中的图像可以是从关于该物体的各个角度被捕获的、并且可以被索引为使得该第二图像集合中的每个图像对应于该第一图像集合中的相应图像。该第二图像集合中的图像可以是在将图案投影于该物体上的同时被捕获的。该功能可以进一步包括将该第二图像集合中的每个图像中的图案部分与该第二图像集合中在空间上相邻的图像中的相对应图案部分进行匹配,以便在空间上对准该第二图像集合中的图像。该功能还可以包括基于该第二图像集合中的图像针对该第一图像集合中的图像的索引来确定该第一图像集合中对应于该第二图像集合中的空间对准的图像的相应图像。该功能可以进一步包括基于该第一图像集合中被确定为对应于该第二图像集合中的空间对准的图像的相应图像来生成该物体的3D图像。
在又另一个方面,描述了一种系统。该系统可以包括标记模块,其可以被配置为在物体上投射描绘图案的标记。该系统还可以包括图像捕获模块,其被配置为接收该物体的第一图像集合。该第一图像集合中的图像可以是从关于该物体的各个角度被捕获的。该图像捕获模块还可以被配置为接收该物体的第二图像集合。该第二图像集合中的图像可以是从关于该物体的各个角度被捕获的、并且可以被索引为使得该第二图像集合中的每个图像对应于该第一图像集合中的相应图像。该第二图像集合中的图像可以是在将图案投影于该物体上的同时被捕获的。该系统可以进一步包括图像生成模块,其耦合至该图像捕获模块并且被配置为将该第二图像集合中的每个图像中的给定图案部分与该第二图像集合中在空间上相邻的图像中的相对应图案部分进行匹配,以便在空间上对准该第二图像集合中的图像,该图像生成模块可以被配置为基于该第二图像集合中的图像针对该第一图像集合中的图像的索引来确定该第一图像集合中对应于该第二图像集合中的空间对准的图像的相应图像,并且该图像生成模块可以被配置为基于该第一图像集合中被确定为对应于该第二图像集合中的空间对准的图像的相应图像来生成该物体的3D图像。
以上发明内容仅是说明性的而并非意在以任何方式进行限制。除了以上所描述的说明性方面、实施例和特征之外,另外的方面、实施例和特征将通过参考附图和以下详细描述而是显而易见的。
附图说明
图1图示了依据一个实施例的用于物体数据建模的示例系统。
图2图示了依据一个实施例的用于物体数据建模的另一示例系统。
图3图示了依据一个实施例的用于进行图像标记和三维(3D)图像生成的示例方法的流程图。
图4A图示了依据一个实施例的物体以及绕物体进行360°旋转以捕获该物体的图像的相机。
图4B图示了依据一个实施例的在物体上投射标记的图案的示例光源。
图4C图示了依据一个实施例的在不同位置的在物体上投射标记的图案的示例光源。
图5A图示了依据一个实施例的包括标记的两个图像的示例。
图5B-5D图示了依据一个实施例的图像对准的示例迭代。
图5E图示了依据一个实施例的包括标记的物体的两个相交侧面的两个图像的示例。
图5F图示了依据一个实施例的基于在物体上投影的标记对该物体的两个相交侧面的两个图像所进行的对准。
图6图示了依据一个实施例的用于图像标记和3D图像生成的示例系统。
图7是图示在依据这里所描述的至少一些实施例布置的计算系统中使用的示例计算设备的功能框图。
图8是图示包括用于在根据这里所描述的至少一些实施例布置的计算设备上执行计算机过程的计算机程序的示例计算机程序产品的概念性部分视图的示意。
具体实施方式
以下具体实施方式参考附图描述了所公开系统和方法的各种特征和功能。在图中,除非上下文另外指示,否则相似的附图标记识别相似的组件。这里所描述的说明性系统和方法实施例不意在作为限制。可以容易理解的是,所公开的系统和方法的某些方面能够以各种不同配置进行布置和组合,所有这些都在这里得到预期。
本公开可以公开用于进行图像标记以及物体的三维(3D)图像生成的方法和系统。在一个示例中,计算设备可以被配置为接收物体的高分辨率的第一图像集合以捕获该物体的细节。该计算设备还可以被配置为接收较低分辨率的第二图像集合,其包括投影在该物体上的标记并且被进行索引以对应于第一图像集合中的图像(例如,第二图像集合中的每个图像可以对应于第一图像集合中的一个相应图像)。该计算设备可以被配置为基于投影在该物体上的标记而在空间上对准第二图像集合中的图像,并且确定该第一图像集合中对应于该第二图像集合中空间对准的图像的相应图像。该计算设备然后可以从该第一图像集合中的相应图像来生成该物体的3D图像。
现在参考附图,图1图示了依据一个实施例的用于物体数据建模的示例系统100。系统10包括输入源102,其耦合至服务器104和数据库106。服务器104还被示为耦合至数据库106和输出目标108。系统100可以包括更多或更少的组件,并且输入源102、服务器104、数据库106和输出目标108中的每一个也可以包括多个元件,或者输入源102、服务器104、数据库106和输出目标108中的每一个也可以互连。因此,系统100的所描述的功能中的一个或多个可以被划分到另外的功能或物理组件,或者被组合为较少的功能或物理组件。在一些另外的实施例中,可以向图1所示的示例增加另外的功能和/或物理组件。
系统100的组件可以被耦合或配置为能够经由网络(未示出)进行通信,例如,上述网络诸如是局域网(LAN)、广域网(WAN)、无线网络(WiFi)或互联网。此外,系统100中的任意组件可以使用有线或无线通信相互耦合。例如,输入源102与服务器104之间的通信链路可以包括有线连接,诸如串行或并行总线,或者包括无线链路,诸如蓝牙、IEEE 802.11(IEEE802.11也指IEEE 802.11-2007、IEEE 802.11n-2009或者任意其它IEEE 802.11版本),或者其它的基于无线的通信链路。
输入源102可以是可以从其接收3D物体数据模型的任意源。在一些示例中,3D模型获取(形状和外观)可以通过与提供商或制造商进行工作以3D扫描物体来实现。例如,结构光扫描仪可以捕获物体的图像并且可以使用单色立体相机和模式投影仪来恢复该物体的形状。在其它示例中,可以使用高分辨率的DSLR来捕获彩色纹理信息的图像。在又其它的示例中,可以针对每个物体接收绘图的原始计算机辅助绘图(CAD)集合。因此,输入源102可以以各种形式向服务器104提供3D物体数据模型。作为一个示例,可以将物体的多个扫描处理为融合网格和资产数据模型,并且以该形式提供给服务器104。
服务器104包括模型构建器110、物体数据模型处理器112、语义和搜索索引114、和图像库116、阴影器应用118、材料应用120以及物体数据模型渲染器/观看器122。服务器104的任何组件都可以互相耦合。此外,服务器104的任何组件都可以替选地为耦合至服务器104的单独组件。例如,服务器104可以进一步包括处理器和存储器,所述存储器包括可由该处理器执行以执行服务器104的组件的功能的指令。
模型构建器110从输入源102接收每个物体的网格数据集合,其可以包括定义密集表面网格几何形状的数据集合,并且可以以3D生成该物体的动画模型。例如,模型构建器110可以从该网格表面执行相干纹理展开,并且确定从几何形状所仿真的表面纹理。
物体数据模型处理器112也可以从输入源102接收每个物体的网格数据集合并且生成显示网格。例如,所扫描的网格图像可以利用纹理预留抽取进行抽取(例如,从五百万到120000个表面)。还可以执行纹理地图生成以确定地图渲染的色彩纹理。纹理地图生成可以包括使用具有色彩但是没有UV(2D纹理空间的坐标系统)展开的网格数据集合(H)来生成具有UV展开但是没有色彩的网格(D)。作为示例,对于图像的单个输出纹理像素,处理可以包括针对UV中的给定点确定该网格UV映射D中的三角形,并且使用三角局部坐标移动至网格上相关联的3D点。双向射线可以沿该三角形的法线进行投射以与网格H相交,并且可以将色彩、法线和位移用于输出。为了生成整个纹理图像,该图像中的每个像素都可以被处理。
在一些示例中,模型构建器110或物体数据模型处理器112可以输出物体的3D物体数据模型,其包括具有渲染该物体的3D图像所需的所有数据的组合的一个文件。在其它示例中,模型构建器110或物体数据模型处理器112可以以多个文件的形式输出3D物体数据模型,使得该3D物体数据模型文件被划分为较小的部分。
语义和搜索索引114可以接收已经被抽取并压缩的所捕获的图像或所处理的图像,并且可以执行纹理重采样并且还执行基于形状的索引。例如,对于每个物体,语义和搜索索引114可以将图像的组分(例如,每个像素)索引或标记为具有某个纹理、色彩、形状、几何形状、属性等。语义和搜索索引114可以从模型构建器110或物体数据模型处理器112接收3D物体数据模型文件或者包括3D物体数据模型的文件,并且可以被配置为利用与文件属性相关的标识符对该文件的多个部分或者每个文件单独地进行标记。
在一些示例中,语义和搜索索引114可以被配置为针对3D物体数据模型的多个方面提供注释。例如,注释可以被提供以对3D物体数据模型的一个方面中的色彩、纹理、形状、外观、描述、功能等方面进行标记或索引。可以使用注释来对图像或3D物体数据模型的任意方面进行标记,或者提供任意类型的信息。注释可以人工或自动执行。在这里的示例中,可以生成给定类型或类别的物体的带有注释的模板,其包括注释,并且该模板可以被应用于该给定类型或类别的所有物体以对所有物体应用该注释。
图形库116例如可以包括WebGL或OpenGl网格压缩以减小网格文件的大小。图形库116例如可以提供用于在浏览器上显示的形式的3D物体数据模型。在一些示例中,3D物体数据模型观看器可以被用来显示3D物体数据模型的图像。例如,3D物体数据模型观看器可以在web浏览器内使用WebGL来实施,或者使用OpenGL来实施。
阴影器应用118可以被配置为根据文件的索引(如语义和搜索索引114所标记的)对3D物体数据模型文件的部分或者对3D物体数据模型的文件应用阴影器以生成3D图像。可以执行阴影器应用118以根据文件的索引应用来自多个阴影器中的阴影器。该阴影器可以包括与3D图像的一部分的纹理、色彩、外观等相关的信息。
在一个示例中,可以执行阴影器应用118以利用如文件索引所定义的阴影属性来渲染图像。例如,具有多个表面的物体针对每个表面可以具有不同的属性,并且可以执行阴影器应用118以相应地渲染每个表面。
材料应用120可以被配置为根据文件的索引(如语义和搜索索引114所标记的)向3D物体数据模型文件的部分或者3D物体数据模型的文件应用材料以生成3D图像。可以执行材料应用120以根据文件的索引应用来自多种材料中的材料。材料应用可以应用诸如皮革、金属、木材等的任意材料,以便呈现3D图像的一部分的外观。
在一个示例中,材料应用120可以访问包括有关多种基准材料(例如黄铜、皮毛、皮革)的信息的数据库,并且具有多种材料的物体可以被划分为不同部分,以便能够执行材料应用120以渲染单独的不同部分。作为示例,汽车上的引擎盖可以包括引擎盖装饰,并且引擎盖可以被喷涂并且该装饰可以是镀铬的。能够执行材料应用120和阴影器应用118以识别两种单独的材料并且利用适当阴影对每种材料进行渲染。
物体数据模型渲染器/观看器122可以接收一个或多个3D物体数据模型文件并且执行渲染器应用118和材料应用120以渲染3D图像。
数据库106可以以从所捕获的原始数据到用于显示的经处理数据的任意数量的各种形式存储3D物体数据模型的所有数据集合。
输出目标108可以包括多种不同的目标,诸如互联网上的网页、搜索引擎、数据库等。输出目标108可以包括支持基于3D物体数据模型的产品广告或产品搜索的3D物体数据模型观看器。
在这里的示例中,系统100可以被用来获取物体的数据,对该数据进行处理以生成3D物体数据模型,并且渲染该3D物体数据模型以便进行显示。
图2图示了依据一个实施例的用于物体数据建模的另一个示例系统200。系统200包括耦合至服务器104的输入源102,该服务器104耦合至客户端设备124。输入源102和服务器104可以如图1中所描述。客户端设备124可以从服务器124的任意组件接收输出并且可以被配置为渲染3D图像。
客户端设备124包括物体数据模型渲染器/观看器126、阴影器应用128和材料应用130。物体数据模型渲染器/观看器126、阴影器应用128和材料应用130全部可以如关于参考图1所描述的服务器104的物体数据模型渲染器/观看器122、材料应用120和阴影器应用118描述的那样进行配置。
在一些示例中,客户端设备124可以从服务器104接收一个或多个3D物体数据模型文件,并且通过执行阴影器应用128和材料应用130来渲染该物体的3D图像。当执行阴影器应用128和材料应用130时,客户端设备124可以访问单独数据库以获取适当的阴影器和材料信息以应用于该图像,访问服务器104以从阴影器应用118和材料应用120获取适当的阴影器和材料信息,或者可以将有关适当阴影器和材料信息的信息进行本地存储以便应用。
在一些示例中,客户端设备124可以从服务器104接收一个或多个3D物体数据模型文件并且渲染物体的3D图像。在其它示例中,服务器104可以渲染该物体的3D图像并且将该3D图像流送至客户端设备124以便进行显示。
如所描述的,在一些示例中,3D物体数据模型可以包括各种形式的数据,诸如所捕获的原始图像数据、网格数据、经处理的数据等。3D物体数据模型的数据可以被编码并压缩,以便将有关该物体的3D几何形状的信息存储在设备上的web浏览器或应用内,所述3D几何形状与有关用于传输和显示的物体的外观的信息相关联。
在一个示例中,3D物体数据模型的数据可以通过最初将表示3D物体的三角形网格编码为包括多个顶点和多个索引的列表而被压缩。该列表中的每个顶点可以具有与该顶点相关联的若干任意参数,包括但并不限于位置、表面法线和纹理坐标。三角形索引可以以16位无符号整数格式进行存储并且顶点属性可以以32位浮点数格式进行存储。32位浮点数格式的顶点属性可以被减少为15位。在其中压缩数据被用于无法对词典编码数据进行解压缩的web浏览器或应用版本的情况下,可以使用增量压缩来以结构布局或转置布局的阵列来存储三角索引和顶点属性之间的差异。在增量压缩之后,后增量数据可以进行之字形(ZigZag)编码(例如,使用可从Google公司获得的开源协议缓冲库)。编码可以遵循格式ZigZag(x):(x<<1)^(x>>15),其中相对应的解码(在解压缩期间)遵循格式UnZigZag(x):(x>>1)^(-(x&1))。之字形编码之后可以为使用UTF-8编码的多字节字符编码。最后,经UTF-8编码的数据可以使用GNU Gzip或bzip2进行压缩以生成经压缩的3D物体数据模型文件。
3D物体数据模型文件的压缩副本例如可以被存储在服务器104中的数据库中,诸如图1中的数据库106,或者存储在客户端设备124上。在一些示例中,经压缩的3D物体数据模型文件可以被服务器104响应于来自客户端设备124的请求而提供至客户端设备124。如果使用web浏览器观看该3D物体数据模型文件,则客户端设备124可以根据物体浏览器网页中所提供的Java指令对经压缩的3D物体数据模型文件进行解压缩。物体浏览器网页的本地副本以及3D物体数据模型文件的未压缩的可搜索数据的本地副本能够被存储在客户端设备124的本地存储器中。客户端设备124可以基于web浏览器中所加载的3D物体数据模型文件的可搜索数据来显示3D物体的初始缺省视图的示例性截屏。
在一些示例中,3D物体数据文件包括有关物体的几何形状的信息,其按照材料进行归类并且被划分为要作为片段进行加载并且由客户端设备重组为多个部分的多个部分。作为一个示例,对于包括多个部分的移动电话而言,每个部分可以使用用于每种材料的单独或不同的阴影器进行渲染。因此,3D物体数据文件可以被划分为多个部分并且如以上所描述的进行压缩而保留所有部分。该客户端设备可以接收经压缩的3D物体数据文件、对该文件进行解压缩,并且通过加载该文件的每个片段来逐个重组该物体的多个部分,流送对每个阴影器的文件请求,并且重组该物体的图像。
如以上所描述的,系统100或200可以被用来获取物体的数据,对该数据进行处理以生成3D物体数据模型,并且渲染3D物体数据模型以便进行显示。图3图示了依据一个实施例的用于进行图像标记和3D图像生成的示例方法300的流程图。图3所示的方法300例如呈现了能够由图1-2的系统100或200所使用的方法的实施例。
方法300可以包括由一个或多个框302-310所图示的一个或多个操作、功能或动作。虽然这些框以连续顺序进行图示,但是这些框在一些情况下可以并行执行,和/或以与这里所描述的不同的顺序来执行。而且,各个框可以基于所期望的实施方式被组合为更少的框、划分为另外的框、和/或被去除。
此外,对于方法300以及这里所公开的其它过程和方法,流程图示出了本示例的一种可能实施方式的功能和操作。就此而言,每个框可以表示程序代码的模块、分段或一部分,其包括可由处理器执行以便实施过程中的特定逻辑功能或步骤的一个或多个指令。该程序代码可以存储在任意类型的计算机可读介质或存储器上,例如包括磁盘或硬盘的存储设备。计算机可读介质可以包括非瞬时计算机可读介质或存储器,诸如在短期内存储数据的计算机可读介质,如寄存器存储器、处理器高速缓存和随机存取存储器(RAM)。计算机可读介质还可以包括非瞬时介质或存储器,诸如辅助或持久性长期存储,例如只读存储器(ROM)、光盘或磁盘、致密盘只读存储器(CD-ROM)。计算机可读介质还可以是任意其它易失性或非易失性存储系统。例如,计算机可读介质可以被认为计算机可读存储介质、有形存储设备或者其它制品。
此外,对于方法300以及这里所公开的其它过程和方法,图3中的每个框可以表示被连线以执行该过程中的特定逻辑功能的电路。
在框302,方法300包括接收物体的第一图像集合,其中该第一图像集合中的图像是从关于该物体的各个角度被捕获的。计算设备可以被配置为接收物体的第一图像集合。该物体可以是任意的三维(3D)物体(例如包、鞋、电话、雕像等)。相机可以被配置为从不同角度捕获该物体的第一图像集合的图像。例如,该相机可以绕该对象旋转360°,以从不同角度捕获该物体的图像。
图4A图示了依据一个实施例的物体402以及使用绕物体402的360°旋转进行旋转来捕获物体402的图像的相机404。物体402可以表示任意的3D物体。相机404在图4中以关于物体402的不同角度被示出,并且可以被配置为捕获物体402的第一图像集合。该第一图像集合可以包括在不同高度以及不同角度所拍摄的图像。角度的数量例如可以基于物体402的复杂度而有所变化。例如,与不对称的更为复杂的物体相比,可以针对对称的物体捕获来自较少角度的图像。此外,各种照明或背景可以被应用于该物体,并且可以捕获描绘变化的图像。
在另一个示例中,相机404可以是固定的,而物体402可以在相机404的前方进行旋转,使得相机404可以从关于物体402的不同角度来捕获图像。在又另一个示例中,物体402可以针对相机404在给定高度进行旋转以捕获给定的图像集合,然后该高度可以改变并且物体402再次针对相机404进行旋转以捕获另一个图像集合。该过程可以根据物体402的复杂度和细节而被重复若干次。
返回参考图3,在框304,方法300包括接收第二图像集合,其中该第二图像集合中的图像是从关于该物体的各个角度被捕获的并且被索引以便对应于第一图像集合中的图像,并且其中该第二图像集合中的图像包括投影在该对象上的标记。在一些示例中,该计算设备还可以被耦合或配置为控制能够将标记投射到物体上的光源。该标记例如可以描绘由从该光源发射的光所构成的图案。该图案可以是简单的(例如,描绘曲线的点)或者是复杂的(例如,花)。该光源通常可以是电磁辐射源。光源和电磁辐射源在这里可互换地使用。电磁辐射源可以被配置为投射可见或不可见的任意波长的光束。例如,该电磁辐射源可以被配置为投射诸如具有不同颜色的激光束的可见光,并且除此之外或替选地可以被配置为投射诸如红外光的非可见光。也可以使用其它类型的标记。在一个示例中,该光源可以被激活以在物体上投射标记并且可以被去激活以去除该标记。该标记对于该物体可以是无破坏的。
相机可以被配置为且能够捕获第二图像集合中的图像,包括由该电磁辐射源所投射的标记。例如,如果该电磁辐射源在物体上投射非可见的红外光图案,则被配置为捕获第二图像集合的相机可以是能够捕获具有红外光标记的物体的图像的红外相机。
在一个示例中,用来捕获第一图像集合的相同相机可以被配置为捕获第二图像集合。在一些示例中,第一相机可以被配置为捕获第一图像集合并且第二相机可以被配置为捕获第二图像集合。在这些示例中,第一相机和第二相机可以被配置为关于给定的成像参数有所不同。例如,第一相机可以被配置为捕获较高分辨率的图像以捕获物体的细节(例如,色彩、纹路等),而第二相机则可以被配置为捕获该物体的较低分辨率的图像。可以在第一相机和第二相机之间不同配置的成像参数的其它示例可以包括光圈、焦距等。
图像分辨率是指图像所保持的细节。较高分辨率意味着较多的图像细节。图像分辨率可以以各种方式进行测量。分辨率对线条彼此能够如何接近并且仍然可见地分辨进行量化。分辨率单位能够与物理大小(例如,每mm的线条、每英寸的线条)、图片的整体大小(每图片高度的线条)或者角转承(angular subtenant)相联系。在一些示例中可以使用线条对而不是线条。线条对包括一条暗线以及一条相邻的明线。线条可以是暗线或明线。例如,每毫米10条线的分辨率意味着5条暗线与5条明线交替,或者每毫米5个线条对(5LP/mm)。在一些示例中,图像分辨率是指图像中的像素计数,其可以被指定为兆像素的数量,并且能够通过将像素列与像素行相乘并且除以一百万来计算。其它常规方式包括表述每长度单位的像素或每面积单位的像素,诸如每英寸或每平方英寸的像素。因此,较高分辨率的图像可以比较低分辨率的图像具有较高的像素计数(即,较大数量的像素)。
例如,如果给定相机被用来捕获第一图像集合和第二图像集合,则该给定相机可以针对给定成像参数被配置为捕获第一图像集合,然后在捕获第二图像集合之前可以对该成像参数进行调节。
在一个示例中,电磁辐射源可以与捕获第二图像集合中的图像的相机分离,在另一个示例中,电磁辐射源可以耦合至捕获第二图像集合的相机,并且该相机可以被配置为在捕获第二图像集合中的图像之前激活该电磁辐射源。
在一个示例中,该第二图像集合中的图像可以从与第一图像集合中的图像相同的角度和/或高度进行捕获。在其它示例中,该第二图像集合中的图像可以从与第一图像集合中的图像不同的角度和/或高度进行捕获。
第二图像集合中的图像可以被索引以对应于第一图像集合中的图像。在一个示例中,第二图像集合中的每个图像可以对应于第一图像集合中的相应图像。例如,如果第二图像集合中的图像从与第一图像集合中的图像相同的角度进行捕获,则第二图像集合中从给定角度捕获的给定图像被索引以对应于第一图像集合中从该给定角度捕获的相应图像。可能有其它的对应性安排。
图4B图示了依据一个实施例的将标记的图案408投射在物体402上的投影仪或光源406。为了进行说明,相机404被示出为在两个位置,位置A和位置B。在一个示例中,相机404可以处于位置A并且可以被配置为捕获第一图像集合中的相应图像,然后光源406可以被激活,并且仍然处于位置A的相机404可以被配置为捕获第二图像集合中的给定图像。相机404可以移动至位置B,并且例如可以重复捕获第一图像集合中的图像、将标记投射在物体上、并且捕获第二图像集合中的另一个图像的相同序列。在另一个示例中,与被配置为捕获第一图像集合的给定相机不同的相机可以被配置为捕获第二图像集合;然而,在图4B中,二者都被称作相机404。
在一个示例中,光源406可以随捕获第二图像集合的相机404旋转。在另一个示例中,光源406可以相对于物体是固定的,而相机404可以从位置A旋转至位置B。在其它示例中,物体402可以旋转,而光源406和/或相机404可以是固定的。其它布置是可能的。针对投影仪或光源406、相机404和物体102的不同部署形式在2012年7月20日提交的题为“Systemsand Methods for Image Acquisition”的美国临时专利申请序列号61/673,765中公开,其通过引用全文合并于该描述之中。
图案408仅为了进行说明而被示为两个同心圆。任意其它的图案都是可能的。可以将多个图案投射在物体上。在一个示例中,随着光源406(或物体402)旋转,图案可以被投射在物体402基本上所有的部分上,同时相机404可以捕获第二图像集合中的图像。图案408例如可以包括多种颜色。
图4C图示了依据一个实施例的在不同位置将图案408投射在物体402上的光源406。在图4C中,光源406被示为将图案投射在物体402的边缘周围,并且相机404仅为了说明而被示出在两个位置,位置C和位置D。光源406可以旋转至与相机404相同的位置并且可以被配置为在相机404捕获第二图像集合中的图像之前投射图案408。在一个示例中,由于光源406(或物体402)可以旋转,所以光源406可以被配置为在物体402上投射不同图案。
返回参考图3,在框306,方法300包括基于该标记对准物体的第二图像集合中的图像。如在框304所描述的,该计算设备可以被配置为接收第二图像集合中的包括由光源(例如,图4A-4C中的光源406)所投射的图案的部分的图像。计算设备可以被配置为基于投射在物体(例如,物体402)上的标记的图案(例如,图案408)在空间上对准第二图像集合中的图像。
作为一个示例,该计算设备可以被配置为将第二图像集合中的每个图像中的图案部分与第二图像集合中基于相应捕获角度/位置与该图像空间上相邻的给定图像中的相对应图案部分进行匹配,以便在空间上对准第二图像集合中的图像。在一些示例中,该计算设备可以被配置为使用直接对准方法在空间上对准图像,以搜索使得包括投射在物体上的给定图案部分的重叠像素之间的绝对差异的和最小化的图像对准。
在另一个示例中,该计算设备可以被配置为通过使用特征检测算法来确定该图案中的唯一视觉特征结合。特征检测可以包括对图像进行处理以搜索被表示为像素值的二维阵列或依赖于分辨率的形状原语(例如,T形、交叉X、点等)的唯一特征。该图案可以包括能够定义唯一平面的三个非共线特征。该计算设备可以被配置为检测所捕获的具有投射在物体上的相同图案的两个单独图像中的三个特征;并且可以使用定义该平面的三个特征在空间上计算两个图像的对准。
在一个示例中,在空间上对准第二图像集合中的图像可以包括对第二图像集合中的图像进行预处理。第二图像集合中的图像例如可以被校准以使得理想透镜模型和相机透镜组合、诸如失真之类的光学缺陷以及相机响应差异之间的差异最小化。作为另一个示例,可以对图像之间的颜色进行调节以补偿曝光差异。在捕获第二图像集合中的图像时的相机运动可能相关的示例中,可以连同运动补偿一起执行高动态范围的融合。本领域技术人员将会意识到,能够使用其它算法和布置以及其它部件来校准图像。
在一些示例中,物体或者物体周围且影响该物体的环境可能是动态的(例如,物体周围的照明可能在捕获该物体的图像的过程中变化)。在这些示例中,该计算设备可以被配置为在空间以及时间上对准第二图像集合中的图像以考虑物体之中或周围的变化。在这些示例中,第一图像集合中的图像以及第二图像集合中的图像可以通过捕获给定图像的时间进行识别和/或索引。
在一个示例中,该计算设备可以被配置为对投射在物体上的标记的图案的特征之间的关系差异(角度、距离等)进行分析,并且可以被配置为识别每个特征的3D位置,以及捕获第二图像集合中的每个图像的位置和角度。
如以上所描述的,作为一个示例,第二图像集合中的图像与第一图像集合中的图像相比可以为较低的分辨率。与使用第一图像集合中的高分辨率图像相对,该计算设备可以被配置为使用这样的较低分辨率的图像进行对准,以提高计算设备在执行图像对准时的计算效率。
图5A图示了依据一个实施例的第二图像集合中包括标记并且在计算设备处接收的两个图像502和504的示例。如图5中所描绘的,图像502和504分别包括图4A中所示的图案408的部分506A和506B。作为一个示例,图像502可以在相机404处于如图4A所示的位置A时被捕获,而图像504可以在相机404处于位置B时被捕获。图像502和504可以被计算设备识别为空间上相邻的图像。
作为一个示例,该计算设备可以被配置为通过将图像502中所包括的图案的部分506A与图像504中所包括的图案的部分506B相匹配来在空间上对准第二图像集合中的图像502和504。
在一个示例中,该计算设备可以被配置为进行多次迭代以基于标记对第二图像集合中的图像进行正确对准。图5B-5D图示了依据一个实施例的图像对准的示例迭代。例如,图5B和5C图示了计算设备在确定图5D中所描绘的正确对准之前可以进行的示例的不正确对准迭代。
在一个示例中,图案可以被投射为使得计算设备对准第二图像集合中的图像的计算效率可以提高。例如,图案408的圆的上半边与该圆的下半边具有不同的线条类型(例如,外圆的上半边为实线,而外圆的下半边由虚线类型形成)。计算设备可以被配置为使用本领域已知的图像识别技术来识别不同的线条类型。因此,例如,计算设备可以被配置为识别线条的误匹配,将图像502和504更快速并且更有效地对准,并且可以降低不正确的对准迭代的数量,避免或消除不正确的对准迭代。
类似地,图5E图示了依据一个实施例的包括标记的物体的两个相交侧面的两个图像508和510的示例。如图5E中所描绘的,图像508和510分别包括例如图4C中所示的图案408的部分512A和512B。作为示例,图像508可以在相机404处于位置C时被捕获,而图像510则可以在相机404处于位置D时被捕获。图像508和510可以被计算设备识别为空间上相邻的图像。
图5F图示了依据一个实施例的该物体的两个相交侧面的两个图像508和510基于该物体上所投射的标记的空间排列。例如,如图5F所示,该计算设备可以被配置为将图案部分512A和512B进行匹配以在空间上对准图像508和510。
图5A-5F中所示的空间对准可以针对所捕获的第二图像集合中的所有图像或图像子集来执行。虽然图5A-5F图示了对准两个图像,但是在其它示例中,能够由计算设备在给定时间对更多图像进行对准以匹配投射在物体上的图案的相对应部分。
使用不同线条类型来便利空间对准在这里仅是用于说明。能够使用图案的其它区分特征。例如,可以使用多于一种的颜色来投射图案。在该示例中,该计算设备可以被配置为识别投射于物体上并且包括第二图像集合中的图像的图案中的不同颜色,并且可以相应地在空间上对准第二图像集合中的图像,即该计算设备可以被配置为至少部分地基于对该图案中的多于一种的颜色进行匹配来将第二图像集合中的给定图像中的图案部分与第二图像集合中空间上相邻的图像中的相对应部分进行匹配。
作为另一个示例,该图案可以包括能够通过局部特征检测算法确定的特色特征,上述算法诸如SIFT(尺度不变特征变换)、SURF(快速鲁棒性特征)或ORB(面向快速且旋转的BRIEF)。这些算法可以识别出图像上能够被可靠地识别为对物体变化的方位或距离的特色点。该图案可以被设计为包括具有已知关系的多个这些特征,诸如更为复杂的图形结构中的三角形集群或三角形镶嵌。例如,该计算设备可以被配置为使用给定三角特征集群中的特征来将一个图像与另一个图像中的给定三角形的方位和平面进行鲁棒匹配。使用多个三角形可以在遮挡的情况下提供鲁棒性。
返回参考图3,在框308,方法300包括确定第一图像集合中对应于第二图像集合中的对准的图像的相应图像。如在方法300的框304中所描述的,第二图像集合中的图像被索引以便对应于第一图像集合中的图像。在一个示例中,第一图像集合中的图像与第二图像集合中的图像之间可以具有一对一的对应性,即第二图像集合中的每个图像可以对应于第一图像集合中的相应图像。该计算设备可以基于第二图像集合中的图像针对第一图像集合中的图像的索引而被配置为确定来自第一图像集合的对应于第二图像集合中的空间对准的图像的相应图像。
在框310,方法300包括从第一图像集合中的相应图像生成该物体的3D图像。如以上所描述的,第一图像集合中的图像可以是高分辨率图像以捕获物体的细节(例如,纹理、色彩等)。该计算设备可以被配置为使用第一图像集合中被确定为对应于第二图像集合中的对准的图像的相应图像来创建该物体的3D图像和/或3D模型,使得该物体的3D模型的用户能够观看到该物体的精细细节。
创建物体的3D图像或模型可以包含估计该物体上的点的3D坐标。该坐标可以通过在第一图像集合中所确定的图像中进行测量来确定。可以在每个图像上识别共同点。能够构建从相机位置到物体上的点的视线(或射线)。这些射线的相交(三角测量)可以确定该点的3D位置或坐标。所识别的结构能够被用来生成例如能够使用3D计算机辅助设计(CAD)工具进行观看的3D模型。在一个示例中,可以生成三角表面网格形式的3D几何模型。在另一个示例中,该模型以立体像素并且可以应用行进立方体算法将该立体像素转换为网格,这能够经过平滑操作以降低由于行进立方体算法所进行的转换而导致的3D模型表面上的粗糙度。示例的平滑操作可以将个体的三角形顶点移动至表示所连接的相邻顶点的平均值的位置以降低网格中的三角形之间的角。
在一个示例中,3D图像/模型生成可以进一步包括对平滑网格应用抽取操作以消除数据点,这会提高处理速度。在已经执行了平滑和抽取操作之后,可以基于所产生的网格与原始网格或原始数据之间的差值来计算误差值,并且该误差可以与可接受的阈值进行比较。该平滑和抽取操作可以基于该误差与可接受值的比较被再次应用于该网格。最后满足阈值的网格数据集合可以被存储为3D模型。
该三角形可以形成连接的图。以这种方式,图中的两个节点可以在存在形成从一个节点到其它节点的边缘序列(忽略边缘的方向)的情况下被连接。连接可以是图上的等同关系。例如,如果三角形A被连接至三角形B并且三角形B被连接至三角形C,则三角形A被连接至三角形C。所连接的节点的集合因此可以被称作补片。图可以在其由单个补片构成的情况下被完全连接。可以实施算法以使用先知的有关物体的其它信息(例如,对称性)。本领域技术人员将会意识到,能够使用其它算法和布置以及其它元件来生成物体的3D图像或模型。
该计算设备可以被配置为生成物体的3D图像或模型并且可以被配置为渲染用于显示的3D物体模型以创建物体的3D视觉化供用户观看。使用所生成的3D模型,用户例如能够从任意角度和缩放来观看物体。
图6图示了依据一个实施例的能够被用来实施方法300的用于进行图像标记和3D图像生成的系统600。系统600可以包括标记模块602、可以或可以不耦合至标记模块602的图像捕获模块604、以及耦合至图像捕获模块604的图像生成模块606。系统600的组件可以被配置为以彼此互连和/或与耦合至相应系统的其它组件互连的方式进行工作。
标记模块602可以被配置为在物体上投射描绘图案的标记。该物体可以是任意的3D物体。例如,标记模块602可以包括或耦合至能够在物体上投射图案的光源。该光源可以为电磁辐射源的类型,其能够在物体上投射可见和/或非可见光。电磁辐射源例如可以是能够发射不同颜色的激光束的激光源。该电磁辐射源可以被配置为投射诸如点的群组的简单图案,或者包括线条、曲线、形状等的更为复杂的图案。例如,标记模块602可以被配置为激活光源以在物体上投射标记并且对光源去激活以移除该标记。
耦合至标记模块602的图像捕获模块604可以别配置为接收该物体的图像。例如,图像捕获模块604可以包括或耦合至一个或多个相机。(多个)相机可以被配置为从不同角度捕获物体的图像。例如,(多个)相机可以绕物体旋转通过360°并且从不同角度捕获该物体的图像。在一个示例中,图像捕获模块604可以被配置为控制第一相机捕获物体的第一图像集合。该第一图像集合可以为高分辨率以捕获该物体的细节。图像捕获模块604还可以被配置为与标记模块602进行通信以激活光源并且在物体上投射标记。图像捕获模块604可以进一步被配置为控制第二相机在标记被投射于物体上的同时捕获该物体的第二图像集合。该第二图像集合可以是比第一图像集合低的分辨率。
在一个示例中,第一相机和第二相机可以从相同角度捕获第一图像集合和第二图像集合,即第一相机可以从给定角度捕获物体的第一图像,然后标记被投射于物体上,并且第二相机可以从该给定角度捕获物体的第二图像。在另一个示例中,第一相机和第二相机可以从不同角度捕获图像。第二图像集合中的图像可以被索引以对应于第一图像集合中的图像。例如,给定的第一图像由第一相机从第一给定角度捕获并且给定的第二图像由第二相机从第二给定角度(其可以与第一给定角度相同或不同)捕获,并且给定的第二图像被索引以对应于给定的第一图像。
在一些示例中,可以使用一个相机来捕获两个图像集合。在这些示例中,该相机可以捕获第一图像集合,然后标记可以被投射于该物体上并且该相机可以捕获该物体的第二图像,其对应于该第一图像但是包括标记。例如,该相机在捕获第一图像集合时可以被设置为较高的分辨率。
图像生成模块606可以与图像捕获模块604进行通信,并且可以被配置为将第二图像集合中的每个图像中的给定图案部分匹配至第二图像集合中空间上相邻的图像中的相对应图案部分,以便在空间上对准第二图像集合中的图像。
如以上所描述的,在一个示例中,第二图像集合中的图像与第一图像集合中的图像相比可以为较低的分辨率。与使用第一图像集合中的高分辨率图像相对,图像生成模块606可以被配置为使用这样的较低分辨率的图像进行对准,以提高计算效率并且减少图像生成模块606在执行图像对准时所进行的计算努力。
图像生成模块606还可以被配置为确定第一图像集合中对应于第二图像集合中空间对准的图像的相应图像。如以上所描述的,第二图像集合中的图像被索引以便对应于第一图像集合中的图像。图像生成模块606可以相应地被配置为确定来自第一图像集合中的对应于第二图像结合中空间对准的图像的相应图像。
图像生成模块606可以进一步被配置为使用第一图像集合中被确定为对应于第二图像集合中的对准的图像的相应图像来生成物体的3D图像和/或3D模型。
例如,图像生成模块606可以被配置为生成物体的3D图像或模型,并且可以被配置为渲染用于显示的3D物体模型以创建该物体的3D视觉化供用户从任意角度和缩放观看该物体的精细细节。
所描述的系统600的功能或组件中的一个或多个可以被划分为另外的功能或物理组件,或者被组合为较少的功能或物理组件。在一些另外的示例中,可以向图6所示的示例增加另外的功能和/或物理组件。再进一步地,标记模块602、图像捕获模块604和/或图像生成模块606中的任意一个可以包括处理器(例如,微处理器、数字信号处理器(DSP)等)或以处理器的形式提供,该处理器被配置为执行包括用于实施这里所描述的逻辑功能的一个或多个指令的程序代码。系统600可以进一步包括任意类型的计算机可读介质(非瞬时介质)或存储器,例如包括磁盘或硬盘的存储设备,以存储该程序代码。在其它示例中,系统600可以包括在其它系统内。
图7是图示在依据这里所描述的至少一些实施例进行布置的计算系统中使用的示例计算设备的功能框图。该计算设备可以是个人计算机、移动设备、蜂窝电话、触敏手表、平板计算机、视频游戏系统或全球定位系统,并且可以被实施为提供一种如图1-6所示的用于图像标记的系统和三维(3D)图像生成系统。在基本配置702中,计算设备700可以典型地包括一个或多个处理器710和系统存储器720。存储器总线730可以被用于在处理器710和系统存储器720之间进行通信。根据所期望的配置,处理器710可以是任意类型,包括但并不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或者它们的任意组合。还可以随处理器710使用存储器控制器715,或者在一些实施方式中,存储器控制器715可以是处理器710的内部部分。
根据所期望的配置,系统存储器720可以是任意类型,包括但并不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任意组合。系统存储器720可以包括一个或多个应用722以及程序数据724。应用722可以包括3D图像生成算法723,其被布置为依据本公开向电路提供输入。程序数据724可以包括能够指向任意类型的数据的内容信息725。在一些示例实施例中,应用722可以被布置为利用操作系统上的程序数据724进行操作。
计算设备700可以具有另外的特征或功能以及用于在基本配置702与任意设备和接口之间便利通信的另外的接口。例如,可以提供包括可移动存储设备742、非可移动存储设备744或者其组合的数据存储设备740。作为举例,可移动存储和非可移动存储设备的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘设备,诸如致密盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器,固态驱动器(SSD)以及带式驱动器。计算机存储介质可以包括以用于信息存储的任意方法或技术所实施的易失性和非易失性、非瞬时、可移动和非可移动介质,上述信息诸如计算机可读指令、数据结构、程序模块或其它数据。
系统存储器720和存储设备741是计算机存储介质的示例。计算机存储介质包括但并不限于RAM、ROM、EEPROM、闪存或其它存储器技术;CD-ROM、数字多功能盘(DVD)或其它光学存储;磁性卡盒、磁带、磁盘存储或其它磁性存储设备;或者能够被用来存储所期望的信息并且能够被计算设备700访问的任意其它介质。任意这样的计算机存储介质都可以是设备700的一部分。
计算设备700还可以包括输出接口750,其可以包括图形处理单元752,其可以被配置为经由A/V端口754或通信接口770中的一个或多个与诸如显示设备760或扬声器之类的各种外部设备进行通信。通信接口770可以包括网络控制器772,其能够被布置为通过经由一个或多个通信端口774的网络通信促成与一个或多个其它计算设备780和一个或多个传感器782的通信。一个或多个传感器782被示为处于计算设备700之外,但是也可以处于设备内部。通信连接是通信介质的一个示例。通信介质可以由计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制的调制数据信号中的其它数据体现,并且包括任意信息传递介质。调制数据信号可以是具有其一个或多个特征集合或者以将信息编码在信号中的方式进行变化的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接线路连接的有线介质,以及诸如声音、射频(RF)、红外(IR)的无线介质以及其它无线介质。
在一些实施例中,所公开的方法可以被实施为以机器可读格式在非瞬时计算机可读存储介质上编码或者编码在其它非瞬时介质或制品上的计算机程序指令。图8是图示示例计算机程序产品的概念部分视图的示意图,其包括用于在根据这里所给出的至少一些实施例布置的计算设备上执行计算机过程的计算机程序。
在一个实施例中,示例计算机程序产品800使用信号承载介质801提供。信号承载介质801可以包括一个或多个程序指令802,当被一个或多个处理器执行时,程序指令802可以提供以上参考图1-7所描述的功能或部分功能。在一些示例中,信号承载介质801可以包含计算机可读介质803,其诸如但并不限于硬盘驱动器、致密盘(CD)、数字视频盘(DVD)、数字带、存储器等。在一些实施方式中,信号承载介质801可以包含计算机可记录介质804,其诸如但并不限于存储器、读/写(R/W)CD、R/W DVD等。在一些实施方式中,信号承载介质801可以包含通信介质,诸如但并不限于数字和/或模拟通信介质(例如,光纤线缆、波导、有线通信链路、无线通信链路等)。因此,例如,信号承载介质801可以通过无线形式的通信介质805(例如,符合IEEE 802.11标准或其它传输协议的无线通信介质)进行传递。
一个或多个程序指令802例如可以是计算机可执行和/或逻辑实施的指令。在一些示例中,诸如图7的计算设备700的计算设备可以被配置为响应于由计算机可读介质803、计算机可记录介质804和/或通信介质805中的一个或多个传递至计算设备700的程序指令802而提供各种操作、功能或动作。
应当理解的是,这里所描述的布置仅是出于示例的目的。因此,本领域技术人员将会意识到,能够替代地使用其它的布置或其它元件(例如,机器、接口、功能、顺序和功能分组等),并且一些元件可以根据所期望的结果而一起被省略。另外,所描述的许多元件是可以被实施为离散或分布式组件并且以任意适当组合和位置与其它组件相结合的功能实体。
虽然这里已经描述了各个方面和实施例,但是其它方面和实施例对于本领域技术人员将是显而易见的。这里所描述的各个方面和实施例是出于说明的目的而并非意在对所附权利要求所指示的实际范围以及这些权利要求所保护的等同形式的完整范围进行限制。还要理解的是,这里所使用的术语仅是出于描述特定实施例的目的而并非意在作为限制。

Claims (22)

1.一种用于三维图像生成的方法,包括:
在计算设备处接收物体的第一图像集合,其中所述第一图像集合中的图像是从关于所述物体的各个角度被捕获的;
接收所述物体的第二图像集合,其中所述第二图像集合中的图像是从关于所述物体的各个角度被捕获的并且被索引为使得所述第二图像集合中的每个图像对应于所述第一图像集合中的相应图像,并且其中所述第二图像集合中的图像是在将图案投影于所述物体上的同时被捕获的;
将所述第二图像集合中的每个图像中的所述图案的部分与所述第二图像集合中空间上相邻的图像中的所述图案的相对应部分进行匹配,以便在空间上对准所述第二图像集合中的图像;
基于所述第二图像集合中的图像针对所述第一图像集合中的图像的索引来确定所述第一图像集合中与所述第二图像集合中的空间对准的图像相对应的相应图像;以及
基于所述第一图像集合中被确定为与所述第二图像集合中的空间对准的图像相对应的相应图像来生成所述物体的三维(3D)图像。
2.根据权利要求1所述的方法,进一步包括由光源将所述图案投射于所述物体上。
3.根据权利要求2所述的方法,其中所述光源包括电磁辐射源,所述电磁辐射源将所述图案作为以下一个或多个投射在所述物体上:(i)可见光,以及(ii)非可见光。
4.根据权利要求3所述的方法,其中所述电磁辐射源被配置为发射不同颜色的激光束以在所述物体上投射所述图案。
5.根据权利要求2所述的方法,其中在相机相对于所述物体进行旋转以捕获所述第二图像集合中的图像时,所述光源从所述物体的角度看是固定的。
6.根据权利要求2所述的方法,在相机相对于所述物体进行旋转以捕获所述第二图像集合中的图像时,所述光源相对于所述物体进行旋转。
7.根据权利要求1所述的方法,进一步包括在捕获所述第二图像集合中的图像之前激活光源以将所述图案投射在所述物体上。
8.根据权利要求1所述的方法,进一步包括:
生成所述物体的3D物体数据模型;以及
渲染所述物体的所述3D物体数据模型以便进行显示。
9.根据权利要求1所述的方法,其中所述第一图像集合中的图像的分辨率比所述第二图像集合中的图像的分辨率高。
10.一种其上存储有指令的非瞬时计算机可读介质,所述指令能由计算设备执行以使得所述计算设备执行功能,包括:
接收物体的第一图像集合,其中所述第一图像集合中的图像是从关于所述物体的各个角度被捕获的;
接收所述物体的第二图像集合,其中所述第二图像集合中的图像是从关于所述物体的各个角度被捕获的并且被索引为使得所述第二图像集合中的每个图像对应于所述第一图像集合中的相应图像,并且其中所述第二图像集合中的图像是在将图案投影于所述物体上的同时被捕获的;
将所述第二图像集合中的每个图像中的所述图案的部分与所述第二图像集合中空间上相邻的图像中的所述图案的相对应部分进行匹配,以便在空间上对准所述第二图像集合中的图像;
基于所述第二图像集合中的图像针对所述第一图像集合中的图像的索引来确定所述第一图像集合中与所述第二图像集合中的空间对准的图像相对应的相应图像;以及
基于所述第一图像集合中被确定为与所述第二图像集合中的空间对准的图像相对应的相应图像来生成所述物体的三维(3D)图像。
11.根据权利要求10所述的非瞬时计算机可读介质,其中所述图案包括多于一种的颜色,并且其中将所述第二图像集合中的每个图像中的所述图案的部分与所述第二图像集合中空间上相邻的图像中的相对应部分进行匹配至少部分地基于对所述图案的所述多于一种的颜色进行匹配。
12.根据权利要求10所述的非瞬时计算机可读介质,其中所述图案由电磁辐射源作为以下一个或多个被投射在所述物体上:(i)可见光,以及(ii)非可见光。
13.一种用于三维图像生成的系统,包括:
标记模块,所述标记模块被配置为在物体上投射描绘图案的标记;
图像捕获模块,所述图像捕获模块被配置为接收所述物体的第一图像集合,其中所述第一图像集合中的图像是从关于所述物体的各个角度被捕获的,所述图像捕获模块进一步被配置为接收所述物体的第二图像集合,其中所述第二图像集合中的图像是从关于所述物体的各个角度被捕获的、并且被索引为使得所述第二图像集合中的每个图像对应于所述第一图像集合中的相应图像,并且其中所述第二图像集合中的图像是在将所述图案投影于所述物体上的同时被捕获的;以及
图像生成模块,所述图像生成模块耦合至所述图像捕获模块并且被配置为将所述第二图像集合中的每个图像中的所述图案的给定部分与所述第二图像集合中空间上相邻的图像中的所述图案的相对应部分进行匹配,以便在空间上对准所述第二图像集合中的图像,所述图像生成模块进一步被配置为基于所述第二图像集合中的图像针对所述第一图像集合中的图像的索引来确定所述第一图像集合中与所述第二图像集合中的空间对准的图像相对应的相应图像,并且所述图像生成模块进一步被配置为基于所述第一图像集合中被确定为与所述第二图像集合中的空间对准的图像相对应的相应图像来生成所述物体的三维(3D)图像。
14.根据权利要求13所述的系统,其中所述第一图像集合由耦合至所述图像捕获模块的第一相机捕获,并且所述第二图像集合由耦合至所述图像捕获模块的第二相机捕获,并且其中所述第二相机被配置为捕获比所述第一相机低的分辨率的图像。
15.根据权利要求14所述的系统,其中所述图案由电磁辐射源作为以下一个或多个被投射在所述物体上:(i)可见光以及(ii)非可见光,并且其中所述第二相机能够捕获包括所述电磁辐射源投射在所述物体上的所述图案的图像。
16.根据权利要求15所述的系统,其中所述电磁辐射源耦合至所述标记模块并且包括激光源。
17.根据权利要求15所述的系统,其中所述电磁辐射源耦合至所述标记模块并且被配置为发射不同颜色的激光束,并且其中所述图案包括由所述电磁辐射源投射的多于一种的颜色,并且其中所述图像生成模块被配置为至少部分地基于对所述图案的所述多于一种的颜色进行匹配来将所述第二图像集合中的每个图像中的所述图案的给定部分与所述空间上相邻的图像中的所述图案的相对应部分进行匹配。
18.根据权利要求13所述的系统,其中所述第一图像集合和所述第二图像集合由耦合至所述图像捕获模块的给定相机捕获。
19.根据权利要求18所述的系统,其中所述给定相机被配置为在捕获第一图像集合时比在捕获第二图像集合时捕获更高分辨率的图像。
20.根据权利要求18所述的系统,其中所述给定相机包括电磁辐射源,并且其中所述电磁辐射源被配置为在捕获所述第二图像集合中的图像之前将所述图案投射在所述物体上。
21.根据权利要求18所述的系统,其中所述给定相机被配置为绕所述物体旋转360°以捕获所述第一图像集合和所述第二图像集合。
22.根据权利要求13所述的系统,其中所述图像生成模块被配置为生成所述物体的3D物体数据模型并且渲染所述物体的所述3D物体数据模型以进行显示。
CN201380064573.4A 2012-10-18 2013-08-30 用于为了三维图像生成来标记图像的系统和方法 Active CN104854426B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261715363P 2012-10-18 2012-10-18
US61/715,363 2012-10-18
US13/958,776 2013-08-05
US13/958,776 US9117267B2 (en) 2012-10-18 2013-08-05 Systems and methods for marking images for three-dimensional image generation
PCT/US2013/057602 WO2014062302A1 (en) 2012-10-18 2013-08-30 Systems and methods for marking images for three-dimensional image generation

Publications (2)

Publication Number Publication Date
CN104854426A CN104854426A (zh) 2015-08-19
CN104854426B true CN104854426B (zh) 2018-03-09

Family

ID=50485389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380064573.4A Active CN104854426B (zh) 2012-10-18 2013-08-30 用于为了三维图像生成来标记图像的系统和方法

Country Status (4)

Country Link
US (1) US9117267B2 (zh)
EP (2) EP2909575B1 (zh)
CN (1) CN104854426B (zh)
WO (1) WO2014062302A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140307055A1 (en) 2013-04-15 2014-10-16 Microsoft Corporation Intensity-modulated light pattern for active stereo
EP3039653A1 (en) * 2013-08-26 2016-07-06 Sculpteo Method for displaying section views of a 3d model using a fragment shader
JP6102648B2 (ja) * 2013-09-13 2017-03-29 ソニー株式会社 情報処理装置及び情報処理方法
KR102146398B1 (ko) 2015-07-14 2020-08-20 삼성전자주식회사 3차원 컨텐츠 생성 장치 및 그 3차원 컨텐츠 생성 방법
CN106937105B (zh) * 2015-12-29 2020-10-02 宁波舜宇光电信息有限公司 基于结构光的三维扫描装置及目标物体的3d图像建立方法
CN109074660B (zh) * 2015-12-31 2022-04-12 Ml 荷兰公司 单目相机实时三维捕获和即时反馈的方法和系统
WO2017123163A1 (en) * 2016-01-17 2017-07-20 Nextgen Shopping Pte Ltd Improvements in or relating to the generation of three dimensional geometries of an object
US10445898B2 (en) * 2016-02-05 2019-10-15 Sony Corporation System and method for camera calibration by use of rotatable three-dimensional calibration object
CN107121058B (zh) * 2016-02-25 2020-09-15 株式会社三丰 测量方法
US10827163B2 (en) * 2016-08-09 2020-11-03 Facebook Technologies, Llc Multiple emitter illumination source for depth information determination
US10276075B1 (en) * 2018-03-27 2019-04-30 Christie Digital System USA, Inc. Device, system and method for automatic calibration of image devices
CN111971522B (zh) 2018-03-29 2023-01-13 特威纳有限公司 车辆检测系统
DE102018002622A1 (de) * 2018-03-29 2019-10-02 Twinner Gmbh 3-D-Objekt-Erfassungssystem
US10572989B2 (en) * 2018-06-06 2020-02-25 The Boeing Company Chopped fiber additive manufacturing void detection
CN109724531B (zh) * 2018-10-18 2021-05-28 苏州光图智能科技有限公司 360°轮廓测量方法
US11070706B2 (en) * 2018-11-15 2021-07-20 Sony Corporation Notifications for deviations in depiction of different objects in filmed shots of video content
JP7508785B2 (ja) * 2020-01-31 2024-07-02 富士フイルムビジネスイノベーション株式会社 情報処理装置、及び情報処理プログラム
JP2023527695A (ja) 2020-05-11 2023-06-30 マジック リープ, インコーポレイテッド 3d環境の合成表現を算出するための算出上効率的方法
US12111180B2 (en) * 2021-07-01 2024-10-08 Summer Robotics, Inc. Calibration of sensor position offsets based on rotation and translation vectors for matched trajectories
US11704835B2 (en) * 2021-07-29 2023-07-18 Summer Robotics, Inc. Dynamic calibration of 3D acquisition systems
WO2023028226A1 (en) 2021-08-27 2023-03-02 Summer Robotics, Inc. Multi-sensor superresolution scanning and capture system
WO2023177692A1 (en) 2022-03-14 2023-09-21 Summer Robotics, Inc. Stage studio for immersive 3-d video capture
DE102022112625A1 (de) * 2022-05-19 2023-11-23 Isra Vision Gmbh Verfahren und Vorrichtung zur Ausrichtung von Kameras
US11974055B1 (en) 2022-10-17 2024-04-30 Summer Robotics, Inc. Perceiving scene features using event sensors and image sensors

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7098435B2 (en) * 1996-10-25 2006-08-29 Frederick E. Mueller Method and apparatus for scanning three-dimensional objects
CN101236660A (zh) * 2008-03-06 2008-08-06 张利群 三维扫描仪及其三维模型重构方法
CN101320473A (zh) * 2008-07-01 2008-12-10 上海大学 自由多视角、实时的三维重建系统和方法
CN101616237A (zh) * 2008-06-27 2009-12-30 索尼株式会社 图像处理装置、图像处理方法、程序和记录介质
CN102112845A (zh) * 2008-08-06 2011-06-29 形创有限公司 用于表面特征自适应性三维扫描的系统
US7978925B1 (en) * 2005-04-16 2011-07-12 Apple Inc. Smoothing and/or locking operations in video editing
US8128405B2 (en) * 2005-01-26 2012-03-06 Lockheed Martin Corporation System, method and apparatus for relaying simulation data
CN102414697A (zh) * 2009-02-24 2012-04-11 谷歌公司 指示在街道级图像之间转换的系统和方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0749937B2 (ja) * 1988-03-22 1995-05-31 工業技術院長 形状測定方法
JP2767340B2 (ja) 1991-12-26 1998-06-18 ファナック株式会社 物体の3次元位置・姿勢計測方式
US6341016B1 (en) 1999-08-06 2002-01-22 Michael Malione Method and apparatus for measuring three-dimensional shape of object
CA2306515A1 (en) 2000-04-25 2001-10-25 Inspeck Inc. Internet stereo vision, 3d digitizing, and motion capture camera
US7027642B2 (en) * 2000-04-28 2006-04-11 Orametrix, Inc. Methods for registration of three-dimensional frames to create three-dimensional virtual models of objects
US7068813B2 (en) * 2001-03-28 2006-06-27 Koninklijke Philips Electronics N.V. Method and apparatus for eye gazing smart display
US20030038933A1 (en) * 2001-04-19 2003-02-27 Dimensional Photonics Inc. Calibration apparatus, system and method
GB2377110A (en) 2001-06-30 2002-12-31 Hewlett Packard Co Movable image projection from portable data storage media
JP3962588B2 (ja) 2002-01-07 2007-08-22 キヤノン株式会社 三次元画像処理方法、三次元画像処理装置、三次元画像処理システムおよび三次元画像処理プログラム
CA2369710C (en) 2002-01-30 2006-09-19 Anup Basu Method and apparatus for high resolution 3d scanning of objects having voids
JP4043258B2 (ja) 2002-03-13 2008-02-06 オリンパス株式会社 3次元画像撮影装置
US20040222987A1 (en) 2003-05-08 2004-11-11 Chang Nelson Liang An Multiframe image processing
US7164789B2 (en) 2003-08-11 2007-01-16 Palo Alto Research Center Incorporated Three-dimensional active vision with glyph address carpet
EP1709617A2 (en) 2003-12-30 2006-10-11 Trustees Of The Stevens Institute Of Technology Three-dimensional imaging system using optical pulses, non-linear optical mixers and holographic calibration
EP1607064B1 (en) * 2004-06-17 2008-09-03 Cadent Ltd. Method and apparatus for colour imaging a three-dimensional structure
CN101198964A (zh) 2005-01-07 2008-06-11 格斯图尔泰克股份有限公司 使用红外图案照射创建对象的三维图像
AU2005331138A1 (en) 2005-04-25 2006-11-02 Yappa Corporation 3D image generation and display system
US8044996B2 (en) 2005-05-11 2011-10-25 Xenogen Corporation Surface construction using combined photographic and structured light information
US7724379B2 (en) 2005-05-12 2010-05-25 Technodream21, Inc. 3-Dimensional shape measuring method and device thereof
US20080232679A1 (en) 2005-08-17 2008-09-25 Hahn Daniel V Apparatus and Method for 3-Dimensional Scanning of an Object
CA2556533A1 (en) 2005-08-24 2007-02-24 Degudent Gmbh Method of determining the shape of a dental technology object and apparatus performing the method
US8090194B2 (en) 2006-11-21 2012-01-03 Mantis Vision Ltd. 3D geometric modeling and motion capture using both single and dual imaging
US7769205B2 (en) * 2006-11-28 2010-08-03 Prefixa International Inc. Fast three dimensional recovery method and apparatus
WO2011120526A1 (en) 2010-03-30 2011-10-06 3Shape A/S Scanning of cavities with restricted accessibility
US9686532B2 (en) 2011-04-15 2017-06-20 Faro Technologies, Inc. System and method of acquiring three-dimensional coordinates using multiple coordinate measurement devices

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7098435B2 (en) * 1996-10-25 2006-08-29 Frederick E. Mueller Method and apparatus for scanning three-dimensional objects
US8128405B2 (en) * 2005-01-26 2012-03-06 Lockheed Martin Corporation System, method and apparatus for relaying simulation data
US7978925B1 (en) * 2005-04-16 2011-07-12 Apple Inc. Smoothing and/or locking operations in video editing
CN101236660A (zh) * 2008-03-06 2008-08-06 张利群 三维扫描仪及其三维模型重构方法
CN101616237A (zh) * 2008-06-27 2009-12-30 索尼株式会社 图像处理装置、图像处理方法、程序和记录介质
CN101320473A (zh) * 2008-07-01 2008-12-10 上海大学 自由多视角、实时的三维重建系统和方法
CN102112845A (zh) * 2008-08-06 2011-06-29 形创有限公司 用于表面特征自适应性三维扫描的系统
CN102414697A (zh) * 2009-02-24 2012-04-11 谷歌公司 指示在街道级图像之间转换的系统和方法

Also Published As

Publication number Publication date
US9117267B2 (en) 2015-08-25
EP3742113A1 (en) 2020-11-25
US20140112573A1 (en) 2014-04-24
EP2909575B1 (en) 2020-10-07
CN104854426A (zh) 2015-08-19
EP3742113C0 (en) 2023-06-28
EP2909575A1 (en) 2015-08-26
WO2014062302A1 (en) 2014-04-24
EP3742113B1 (en) 2023-06-28

Similar Documents

Publication Publication Date Title
CN104854426B (zh) 用于为了三维图像生成来标记图像的系统和方法
Hedman et al. Scalable inside-out image-based rendering
Fuhrmann et al. Mve-a multi-view reconstruction environment.
US10230941B2 (en) Systems and devices for acquiring imagery and three-dimensional (3D) models of objects
US9163938B2 (en) Systems and methods for image acquisition
US10210618B1 (en) Object image masking using depth cameras or three-dimensional (3D) models
US10223839B2 (en) Virtual changes to a real object
US8436853B1 (en) Methods and systems for acquiring and ranking image sets
EP3382645B1 (en) Method for generation of a 3d model based on structure from motion and photometric stereo of 2d sparse images
US11620730B2 (en) Method for merging multiple images and post-processing of panorama
WO2012096747A1 (en) Forming range maps using periodic illumination patterns
Ley et al. Syb3r: A realistic synthetic benchmark for 3d reconstruction from images
JP2016537901A (ja) ライトフィールド処理方法
Pagani et al. Dense 3D Point Cloud Generation from Multiple High-resolution Spherical Images.
Kim et al. Symmetry-guided texture synthesis and manipulation.
CN107517346A (zh) 基于结构光的拍照方法、装置及移动设备
Taubin et al. 3d scanning for personal 3d printing: build your own desktop 3d scanner
Queguiner et al. Towards mobile diminished reality
Pesavento et al. Super-resolution 3D human shape from a single low-resolution image
Inzerillo et al. High quality texture mapping process aimed at the optimization of 3d structured light models
CN115035224A (zh) 图像处理和重构图像生成的方法和装置
Nguyen et al. High-definition texture reconstruction for 3D image-based modeling
Guggeri et al. Shape reconstruction from raw point clouds using depth carving
Nöll et al. Faithful, compact and complete digitization of cultural heritage using a full-spherical scanner
Woodward et al. Real-time stereo vision on the visionserver framework for robot guidance

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant