CN107683165B - 用于生成计算机模型的技术以及利用它们的设备、系统和方法 - Google Patents

用于生成计算机模型的技术以及利用它们的设备、系统和方法 Download PDF

Info

Publication number
CN107683165B
CN107683165B CN201680030340.6A CN201680030340A CN107683165B CN 107683165 B CN107683165 B CN 107683165B CN 201680030340 A CN201680030340 A CN 201680030340A CN 107683165 B CN107683165 B CN 107683165B
Authority
CN
China
Prior art keywords
model
real
component
models
content creation
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
CN201680030340.6A
Other languages
English (en)
Other versions
CN107683165A (zh
Inventor
S·度达玛尼
J·S·巴卡
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN107683165A publication Critical patent/CN107683165A/zh
Application granted granted Critical
Publication of CN107683165B publication Critical patent/CN107683165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/216Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/825Fostering virtual characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)

Abstract

描述了用于生成3D并使用模型的技术。在一些实施例中,该技术采用内容创建设备来至少部分地基于可由一个或多个相机提供的深度数据和色彩数据来产生环境的3D模型。诸如位置信息、定向信息等上下文信息也可被收集或以其他方式确定并被关联于3D模型的各点。被成像环境的入口点可被标识并标记为3D模型内的锚点。多个3D模型随后可被组合成聚集模型,其中聚集模型中的各组成3D模型的锚点基本上对准。还描述了利用这些技术的设备、系统以及计算机可读介质。

Description

用于生成计算机模型的技术以及利用它们的设备、系统和 方法
技术领域
本公开涉及用于生成计算机模型的技术。更具体而言,本公开涉及用于生成现实世界环境的计算机模型以及将此类模型用于各种应用的设备、系统、方法和/或计算机可读介质。
背景技术
在过去几十年,视频游戏已变得日益流行。作为视频游戏行业极大增长的结果,现在在美国产生了接近或甚至超过每年一百亿美元的年收益。视频游戏的流行性在其他国家类似地增长,并且尤其是在日本、韩国以及欧盟。
考虑到上述情况,消费者日益需要在有趣且高度详细的图形设置的上下文中提供娱乐游戏的游戏。视频游戏中使用的对象和环境的三维(3D)计算机模型因此变得日益复杂。在许多实例中,此类模型由计算机图形艺术家使用复杂3D建模应用来产生。然而,在一些实例中,专用3D扫描仪可被用来将比例模型或实物大小的对象转换成3D计算机模型。在任一情形中,可能需要专用硬件、软件和/或高度训练的艺术家。生成要被用在复杂视频游戏和/或虚拟现实环境中的资产的3D模型因此可以是耗时且昂贵的。
在一些实例中,消费者可从以下事实得到很大快乐:视频游戏或虚拟现实环境被设置在现实世界位置或以其他方式仿真现实世界位置。这在体育比赛(例如,美式橄榄球、棒球、足球、赛车,等等)的上下文中尤其如此。对于此类游戏,游戏开发者通常尝试复制或以其他方式仿真公知的比赛位置,诸如棒球场、橄榄球场、赛道,等等。计算机图形艺术家因此可发挥辛苦努力来基于照片、测量、建筑规划等手动地创建此类位置的3D模型。虽然可以按这一方式创建此类位置的合理地准确的模型,但此类模型的产生可能相当昂贵且耗时,并且可能仍然得到并非现实世界位置的精确副本的3D模型。结果,此类模型的生成可被保留用于可能在视频游戏或虚拟现实体验中扮演重要角色的相对著名的位置。换言之,归因于与手动生产现实世界位置和/或对象的模型相关联的成本和努力,对于产生较不引人注目的现实世界位置或现实世界对象(诸如,玩家的现实世界家、本地公园、一般现实世界房屋,等等)的3D模型而言,这可能不是成本高效的或以其他方式合乎需要的。
除此之外,视频游戏现在被例行地开发成使得其中的对象和/或环境被设计成以逼真的方式来反应,例如,对玩家交互、仿真天气条件等等作出响应。例如,虚拟对象可以与对象属性(例如,物理属性,诸如质量、透明度、强度,等等)相关联,使得此类对象在游戏环境内按逼真或其他所需方式来行动。然而,对象属性与对象和/或环境的3D模型的关联通常需要此类参数与此类对象的多个单独3D模型的耗时且麻烦的手动对准,例如通过计算机图形艺术家。虽然将预开发的3D模型与对象属性进行关联的数据库是可用的,但对此类数据库的依赖可能不合需要地限制计算机图形艺术家对已存在于数据库中的对象的创造自由。
附图简述
随着以下详细描述继续,并且经过参考附图,所要求保护的主题的多个实施例的特征和优点将变得明显,在附图中相似标号描绘相似部件,并且其中:
图1描绘根据本公开的内容创建设备的一个示例。
图2描绘根据本公开的内容创建系统的示例。
图3是根据本公开的根据生成3D模型的方法的一个示例的示例操作的示图。
图4A-4D描绘根据本公开的多个3D模型可被如何编译成聚集3D模型的示例。
图5是根据本公开的根据使用内容创建设备产生视频游戏的方法的一个示例的示例操作的示图。
图6A描绘三个环境的现实世界布置的一个示例。
图6B解说了图6A的布置成直线的三个环境的聚集模型的一个示例。
虽然下列详细描述将参考说明性实施例来进行,但是,许多替代方案、修改以及其变体将对所属领域的技术人员显而易见。
详细描述
尽管本文参考用于各特定应用的解说性实施例描述了本公开,但应当理解,此类实施例只是出于示例的目的并且由所附权利要求限定的本发明不限于此。阅读本文所提供的教示的本领域技术人员将认识到在本公开范围内的附加的修改、应用、和实施方式,以及本公开的实施例将在其中有用途的附加领域。
如在背景中解释的,计算机图形艺术家通常承担生成要被用作视频游戏、虚拟现实环境等等中的资产的对象和/或环境的3D模型。虽然现在可能产生此类对象和环境的高度复杂且详细的3D模型,但这样做可能既耗时又昂贵。这可部分地归因于以下事实:在许多情形中,计算机图形艺术家使用3D建模软件来产生3D模型。尽管这样的艺术家发挥了辛苦努力,但以此方式产生的3D模型可能仍然不是现实世界对象或环境的高度准确的表示。的确,此类模型可以表示具有与它们的现实世界对应物稍微不同的尺寸、结构、纹理等的对象或环境。
近年来,使用3D成像来产生用于视频游戏、虚拟现实应用等等的3D模型的兴趣日益增长。就此,一些努力集中于使用3D成像系统来产生现实世界对象和环境的3D模型。此类系统可被用来对环境或对象“成像”以获得可被用来生成3D计算机模型(本文中也称为“计算机模型”或“3D模型”)的数据。例如,3D成像系统可以使用一个或多个深度相机(也称为z相机和/或3D相机)来获得距环境/对象的深度数据,并利用此类深度数据来使用本领域中理解的技术产生该环境/对象的3D模型。此类系统也可以利用一个或多个视觉(例如,彩色)相机来从被成像环境/对象获得色彩数据,该色彩数据可被用来对根据深度数据产生的3D模型进行“纹理化”或“喷涂”。所得的输出可以是合理地仿真被成像现实世界环境/对象的结构和外观的3D模型。的确,取决于3D成像系统的能力,可以此方式创建现实世界对象和孤立环境(例如,单个房间)的高度准确的3D模型。
虽然先前使用3D成像来产生3D模型的努力是有趣的,但它们经受各种缺陷的损害。例如,就发明人所知,现有3D成像系统通常被限于产生孤立环境或对象(诸如单个房间或单个对象)的3D模型。换言之,就发明人所知,现有3D成像系统可能不能对多个房间和/或物体同时成像。相反,为了对多个环境(例如,多个房间)成像,可能必须将3D成像系统从一个环境(房间)重定位到下一环境,这可能是不方便的且可引入下文描述的其他问题。
例如,现有3D成像系统可被用来在同一位置对多个环境(例如,房间)成像,例如通过移动3D成像系统使得它可以在所讨论的位置处对与其他环境隔离开的每一环境成像。结果,可以产生多个离散3D模型,其中每一3D模型对应于被成像环境之一。然而,就发明人所知,此类系统没有理解被成像环境之间的物理关系,并且因此没有理解从中产生的多个3D模型之间的关系。即,现有3D成像系统可能不知悉第一被成像环境相对于现实世界中的另一(例如,第二)被成像环境的相对位置,并且因此可能也不知悉这些环境的3D模型之间的位置关系。此外,就发明人所知,现有3D成像系统在它被用来对一个或多个环境进行成像时不监视或以其他方式理解3D成像系统的移动。
因此,尽管现有3D成像系统可被用来对多个环境(例如,房间)成像以促进产生对应数目的离散3D模型,但它可能不知悉被成像环境在现实世界中是如何相对于彼此布置的。因此,在这样的系统组合各离散模型以形成被成像环境的聚集模型时,它可以将离散3D模型安排成使得它们排成直线,即便在被成像环境可能在现实环境中被不同地布置时。
这一问题在图6A和6B中解说。图6A描绘了三个环境(即环境601、602、603)的现实世界布置600的一个假设示例。为清楚起见,将环境601、602、603理解为房间可以是有帮助的,但当然,可以使用任何合适类型的环境。在布置600中,环境602被布置在环境601和603之间,并且包括入口点610n,其中n是整数且在这一情形中等于4。虽然未被分开地标记,但环境601和603包括它们自己的相应入口点,这些入口点与入口点610n结合和/或共享。为理解起见,将环境601、602、603的入口点理解为门可以是有帮助的,但当然,可以使用任何合适的入口点(例如,窗、走廊,等等)。
考虑到上述情况,相应3D成像系统可被使用来单独地“扫描”或“成像”环境601、602和603中的每一者。例如,3D成像系统包括彩色(例如,可见光)相机和深度相机,并且可被放置在环境601、602、603中的每一者的中央,例如在基架上。在操作中,3D成像系统可以使用深度相机来获得距每一环境内的对象、墙等的深度信息,例如在成像系统旋转时。类似地,3D成像系统可以使用视觉相机来从每一环境获得色彩数据(例如,色彩数据)。
一旦获得了环境的深度和/或色彩数据,3D成像系统就可以例如按先前描述的方式产生环境601、602、603中的每一者的不同(即,分开的)3D模型。随后可以为3D成像系统指派组合环境601、602、603的不同模型的任务,以尽力产生反应布置600的聚集模型。然而,因为所使用的3D成像系统没有理解环境601、602和603之间的现实世界物理关系(并且具体而言是位置关系),所以它可能按没有准确地反映它们的现实世界布置(在这一情形中,布置600)的方式来组合这些环境的3D模型。例如并且如在6B中所示,3D成像系统可能产生具有布置600’的聚集模型,即其中模型601’、602’和603’被布置成直线。
此外,3D成像系统可能产生没有考虑环境601、602和603的入口点的相对位置的聚集模型。结果,在3D成像系统组合模型601’、602’和603’时,它可能这样做而没有考虑这些模型中入口点的对准和/或关系。这一概念在图6B中示出,其中布置600’包括被布置成直线的模型603’、602’和601’,并且模型602’的一个或多个入口点基本上没有分别与模型601’或模型603’的一个或多个入口点(没有被分开地标记)对准。
因此,可以明白,对于现有3D成像系统,模型601’、602’、603’以及它们的相应入口点的正确布置(例如,在被成像环境的聚集模型中)可能需要手动干预,例如由计算机图形艺术家手动干预,至少出于上述原因而言这可能是不合乎需要的。这一问题可通过以下事实而恶化:就发明人所知,现有3D成像系统没有识别被成像环境中的入口点(在上述示例中,一个或多个门),并且没有将所识别的入口点与所讨论的环境的对应3D模型的一个或多个点相关联。
作为上述问题的替换或补充,就发明人所知,现有3D成像系统还促成产生渲染或以其他方式描绘单个虚拟对象的被成像环境的3D模型。考虑其中现有3D成像系统被用来对包含门、四壁、天花板、桌子和椅子以及桌上的碗的环境(例如,房间)进行成像的用例。使用该系统,该环境的深度和色彩数据可被获得并用来产生3D模型,其中墙、天花板、桌子、椅子以及碗作为单个3D对象被建模。即,此类系统可以产生3D模型,其中门的模型被表示为与墙的模型整合在一起,桌子和椅子的模型被表示为与地板的模型整合在一起,等等。例如,现有3D成像系统可以产生环境的3D网格模型,其中门的网格没有与相邻墙的网格区分开,桌子的网格没有与地板的网格区分开,等等。相反,在现实世界中,这些对象可以是不同的并且可彼此分开。
换言之,如同一些现有3D成像系统没有理解多个环境之间的物理关系一样,它们可能也没有理解这些环境内的对象之间、对象和这些环境的边界(例如,墙)之间等等的物理关系。因此,尽管现有3D成像系统可能能够产生环境中的各种对象的准确表示,但它们可如同这些对象彼此整合在一起而非不同对象那样来在3D模型中渲染这些对象。因此,实际上难以将由一些3D成像系统所产生的环境的3D模型中的各种对象与不同属性进行关联,例如如在视频游戏和/或虚拟现实环境的开发中完成的。
考虑到上述情况,本公开的一个方面涉及一种内容创建设备/系统。就此,参考图1,其描绘了根据本公开的内容创建设备的一个示例。一般而言,内容创建设备100可以是移动或其他电子设备的形式。可以使用任何合适的移动或其他电子设备。此类设备的非限制性示例包括但不限于相机、蜂窝电话、计算机终端、台式计算机、电子阅读器、传真机、自动售货机、上网本计算机、笔记本计算机、因特网设备、支付终端、个人数字助理、媒体播放器和/或记录器、一个或多个服务器、机顶盒、智能电话、平板个人计算机、超移动个人计算机、可穿戴电子设备(例如,戴在腕上的电子设备(诸如智能手表)、戴在皮带上的智能设备(诸如智能带扣)、戴在衬衣上的智能设备(诸如智能饰针)、电子头戴式设备(诸如智能眼镜)、它们的组合,等等)、有线电话、它们的组合,等等。此类设备可以是便携式或驻定的。没有限制,在一些实施例中,本文描述的设备是移动电子设备的形式,诸如智能电话、相机(例如,移动3D成像系统)、蜂窝电话、平板个人计算机、超移动个人计算机、可穿戴电子设备,等等。没有限制,在一些实施例中,内容创建设备是智能电话、平板个人计算机、或移动3D成像系统的形式。
不管其形状因子如何且如在图1所示,内容创建设备100可包括处理器101、存储器102、可任选显示器103、通信电路系统(COMMS)104、相机模块105、一个或多个传感器106、内容创建模块107以及可任选数据库(DB)109。所有这些组件可经由合适的接口(诸如总线)彼此通信地耦合。注意,为清楚起见,图1描绘了具有有限组件的内容创建设备100,但可能通常在各种电子设备中找到的各种组件(例如,天线、复用器、电池等等,如可在现代移动通信设备中找到的)被略去。普通技术人员将理解,略去的组件可按需或按期望被包括在内容创建设备100的体系结构中。还应理解,图1的任一或所有组件可以形成与用作内容创建设备100的电子设备的类型相对应的设备平台的全部或一部分。因而,例如,在内容创建设备是智能电话时,图1的组件的全部或部分可以存在于智能电话平台上或作为其一部分。相反,在内容创建设备是平板个人计算机时,图1的组件的全部或部分可以存在于平板个人计算机平台上或作为其一部分。
注意,为清楚和易于理解起见,内容创建设备100的各种组件在图1中被解说且在本文中被描述为如同它们是单个电子设备(诸如单个移动设备)的一部分一样。应当理解,这样的描述和解说只是出于示例的目的,并且内容创建设备100的各种组件不必被纳入到单个设备中。例如,本公开设想了其中相机模块105、传感器106、CCM 107或它们的组合可以与内容创建设备100分开的实施例。例如,相机模块105(例如,深度相机120、彩色相机130,等等)的全部或部分可以形成可按有线或无线方式与内容创建设备100相耦合的分开的设备的全部或部分。在这样的实例中,这样的离散组件的聚集可在本文中称为内容创建系统。
处理器101可以是任何合适的处理器,诸如可能够在一个或多个处理器核上执行一个或多个线程的通用处理器或专用集成电路。没有限制,在一些实施例中,处理器101是通用处理器,诸如但不限于可在市场上从
Figure BDA0001481116240000071
公司、ADVANCED MICRO
Figure BDA0001481116240000072
以及
Figure BDA0001481116240000073
购得的通用处理器。在其他实施例中,处理器101可以是超长指令字(VLIW)和/或单指令多数据(SIMD)处理器(例如,一个或多个图像视频处理器,等等)的形式。应当理解,尽管图1将内容创建设备100解说为包括单个处理器101,但可以使用多个处理器。
存储器102可以是任何合适类型的计算机可读存储器。可被用作存储器102的示例存储器类型包括但不限于:半导体固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机存取存储器、闪存存储器(它可包括例如NAND或NOR类型的存储器结构)、磁盘存储器、光盘存储器、它们的组合,等等。作为补充或替换,存储器102可包括其他和/或稍后开发的类型的计算机可读存储器。没有限制,在一些实施例中,存储器102被配置成以非易失性方式将数据存储为计算机可读指令。
在被使用时,可任选显示器103可以是用于显示数据、内容、信息、用户界面等等例如以供内容创建设备100的用户消费和/或使用的任何合适的设备。因而,例如,可任选显示器103可以是液晶显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、触摸屏、它们的组合等等的形式。在一些实施例中,可任选显示器103可以是可穿戴显示器的形式或包括可穿戴显示器。例如,可任选显示器103可以是可被戴在用户头上的显示器(例如,头盔、眼镜、它们的组合,等等)的形式。
COMMS 104可包括被配置成允许内容创建设备100接收和/或传送数据或其他通信的硬件(即,电路系统)、软件、或硬件和软件的组合。例如,COMMS 104可被配置成使得内容创建设备100能够例如通过有线或无线通信链路(未示出)从传感器106接收一个或多个上下文信息信号。类似地,COMMS 104可被配置成使得内容创建设备能够从相机模块105或更具体而言从深度相机120或彩色相机130接收深度数据、差异(disparity)数据、和/或色彩数据。作为替换或补充,COMMS 104可以使内容创建设备100能够向另一电子设备发送数据和其他信号以及从另一电子设备接收数据和其他信号,诸如另一移动或驻定计算机系统(例如,第三方计算机和/或服务器、第三方智能电话、第三方膝上型计算机等等、它们的组合,等等)。COMMS 104因此可包括用于支持有线和/或无线通信的硬件,例如一个或多个应答器、天线、蓝牙TM芯片、个域网芯片、近场通信芯片、有线和/或无线网络接口电路系统、它们的组合,等等。
相机模块105可包括被配置成允许内容创建设备100对环境/对象进行成像以从被成像环境/对象获得深度数据和色彩数据中的至少一者的硬件(例如,电路系统)、软件、或硬件和软件的组合。就此且如在图1中进一步示出的,相机模块可包括深度相机120和彩色相机130。
一般而言,深度相机120可包括被配置成从被成像环境/对象获得深度和/或色彩数据的硬件(例如,电路系统)、软件、或硬件和软件的组合。就此,深度相机120可包括被配置成使用所需波长或波长范围的输出光来照亮对象/环境的光源。在一些实施例中,深度相机120包括被配置成输出可由深度相机120检测但可能对彩色相机130和/或人眼不可见的光的光源。因而例如,深度相机120的光源可以发出电磁频谱的非可见光区域中的光,诸如电磁频谱的红外或紫外区。没有限制,在一些实施例中,深度相机120的光源被配置成产生电磁频谱的红外区中的输出光,即具有约700纳米(nm)到约1毫米之间的波长的光,诸如约700到约1400nm。
在操作中,深度相机120的光源可以使用输出光来照亮环境/对象。输出光可以按任何合适的形式发出,诸如简单光斑、光斑图案、漫射光分布,等等的形式。就此,在一些实施例中,深度相机120的光源被配置成以可促进检测来自被照亮环境/对象的深度数据的图案来产生输出光。在任一情形中,深度相机120可包括可以检测输出光的一个或多个传感器,例如在它撞击在被成像环境/对象上和/或从被成像环境/对象反射时。在一些实施例中,传感器可以是光传感器,诸如但不限于互补金属氧化物半导体(CMOS)传感器。没有限制,在一些实施例中,输出光是红外光,并且传感器是CMOS红外光传感器。当然,此类传感器是出于示例起见被标识的,并且可以使用任何合适的传感器。
在任何情形中,深度相机120中使用的传感器可被配置成检测来自深度相机120的输出光,以使深度相机120能够获得与被成像环境/对象相对应的深度数据,例如在一个或多个帧中。深度相机120还可被配置成将包括以此方式获得的深度数据的一个或多个数据信号传送给例如内容创建模块(CCM)107。为易于引用,这些信号在本文中称为深度数据信号。
如图1中进一步示出的,相机模块105可进一步包括彩色相机130。彩色相机130可包括或者是被配置成从被成像环境/对象获得色彩数据的硬件(例如,电路系统)、软件、或硬件和软件的组合的形式。没有限制,彩色相机130优选地是或包括视觉相机,即被设计成记录电磁频谱的可见光区中的光的相机。更具体而言,在一些实施例中,彩色相机130可以是或包括在一个或多个帧中记录被成像环境/对象的彩色数据的视觉相机。
在操作中,深度相机120可被用来对环境/对象进行成像并在第一帧序列中获得深度数据,如上所述,并且在一个或多个信号(例如,深度信号)中将这样的数据传送给内容创建模块107。另外,彩色相机130可被用来对同一环境/对象成像,以在第二帧序列中捕捉来自该环境/对象的色彩数据,并将这样的色彩数据(例如,在色彩数据信号中)传送给内容创建模块(CCM)107。没有限制,在一些实施例中,CCM 107可被配置成控制深度相机120和彩色相机130的操作,例如以在时间上对准第一帧和第二帧的生产。即,CCM 107可以控制深度相机120和彩色相机130的操作,使得在与彩色相机130产生第二帧基本上相同的时间产生深度相机120的第一帧。此外,在一些实施例中,CCM 107可以将由深度相机120产生的第一帧与由彩色相机130产生的对应的第二帧相配准(register)。
如上所述,相机模块105(或更具体而言,深度相机120和彩色相机130)可以将包含深度数据和/或色彩数据的数据信号传送给CCM 107。尽管本公开设想了其中分开的数据信号被用来传送深度数据和色彩数据(例如,分别是深度信号和色彩信号)的实施例,但不必需使用多个信号。的确,本公开设想了其中相机模块105操作来在一个数据信号中传送深度和色彩数据的组合的实施例。在这样的实例中且为清楚起见,这样的信号在本文中可被称为相机数据信号。
考虑到上述情况,内容创建模块(CCM)107可包括或以其他方式作为配置成(例如,从深度相机120)接收被成像环境/对象的深度数据以及根据该深度数据创建被成像环境/对象的深度图(或深度的任何其他合适描述)的硬件(例如,电路系统)、软件、或硬件和软件的组合的形式。CCM 107还可包括或以其他方式作为配置成(例如,从彩色相机130)接收被成像环境/对象的色彩数据并将色彩数据配准到深度数据、深度图、或它们的组合的硬件(例如,电路系统)、软件、或硬件和软件的组合的形式。作为替换或补充,CCM 107可包括或者是包括指令的计算机可读存储介质(在这一情形中,例如CCM 107可被维护在存储器102中)的形式,该指令在由内容创建设备100的处理器(例如,处理器101)执行时可以使内容创建设备100执行根据本公开的操作,诸如3D模型生成操作、聚集模型生成操作、游戏环境生成操作、它们的组合,等等。
例如,在一些实施例中,CCM 107可以计算将彩色相机130提供的色彩数据映射到至少部分地根据深度相机120报告的深度数据来产生的深度图(或深度的其他表示)的配准参数。在一些实例中,这样的配准可以涉及将彩色相机130所记录的图像的点/色彩数据与深度图的对应点相对准。CCM 107随后可操作来针对深度图中的每一点创建2D视觉(例如,色彩)数据和深度值的链表。此后,CCM 107可以将该链表转换成被成像对象/环境的3D模型,并将该3D模型存储在内容创建设备101上,例如在存储器102中。在一些实施例中,3D模型是3D网格模型,但当然可以使用其他类型的3D模型。
传感器106一般被配置成例如在一个或多个上下文信息信号中向CCM 107提供上下文信息。一般而言且将在下文详细描述的,上下文信息可由CCM 107使用来检测或以其他方式确定内容创建设备的定向和/或位置(例如,在相机模块105产生第一和第二帧时),并且因此确定其中被成像环境和/或对象的定向和/或位置。在一些实施例中并且如稍后将描述的,上下文信息还可以使CCM 107能够标识多个被成像环境、被成像环境内的多个对象、或它们的组合之间的物理关系。
上下文信息的非限制性示例包括位置信息、运动信息、以及定向信息。在一些实施例中,位置信息可以与内容创建设备100和/或一个或多个被成像对象或环境的位置相关。这样的位置信息的一个非限制性示例是指定设备100(或更具体而言,深度相机120和/或彩色相机130)的位置的全球定位系统(GPS)坐标,例如在相机模块105被用来对环境/对象进行成像并分别记录第一帧(包含深度数据)和第二帧(包含色彩数据)时。在上下文信息包括GPS坐标的任何情形中,传感器106可包括GPS传感器。当然,使用GPS坐标作为上下文信息只是出于示例起见,且可以使用任何合适的位置信息。例如,在一些实施例中,位置信息可对应于内容创建设备100的位置,例如相对于具有已知位置的项(诸如Wi-Fi接入点)。在这样的实例中,传感器106可包括配置成根据Wi-Fi信号确定内容创建设备100的位置的Wi-Fi传感器。
运动信息可以独立地或相对于被成像环境和/或对象来反映内容创建设备100的运动。合适的运动信息的一个非限制性示例是反映内容创建设备100的运动的加速度计数据,例如在相机模块产生第一和/或第二帧时。在这样的实例中,可以理解,传感器106可包括运动传感器,诸如但不限于加速度计。当然,使用加速度计只是出于解说起见,并且可以使用任何合适的运动传感器(以及对应的运动数据)。
定向信息可以独立地或相对于被成像环境和/或对象来反映内容创建设备100的定向。作为可被使用的合适的定向信息的一个示例,论及反映内容创建设备100的定向的陀螺仪数据,例如在深度相机120和彩色相机分别记录第一和第二帧时。在这样的实例中,可以理解,传感器106可包括陀螺仪。当然,使用陀螺仪只是出于解说起见,并且可以使用任何合适的定向传感器(以及对应的定向数据)。
当然,位置、运动和定向数据只是各类型的上下文信息的示例,并且应当理解,可以使用任何合适的上下文信息。例如,在一些实施例中,上下文信息包括或者是用户输入数据的形式。在这一上下文中,用户输入数据可以指由内容创建设备(例如,通过其用户界面)接收到的一个或多个用户输入。例如,在内容创建设备位于被成像环境内的重要位置(诸如其入口点(例如,门口、拱门,等等))时可作出用户输入。如可明白的,这样的输入可促进标识被成像环境的各对象和/或特征的位置,尤其是在这样的输入与其他上下文信息(诸如上述位置、运动和/或定向数据)相组合时。
考虑到上述情况,可被用作传感器106的传感器的非限制性示例包括全球定位系统(GPS)、加速度计、陀螺仪、指南针、软件传感器(例如,用于检测用户输入)、它们的组合,等等。没有限制,在一些实施例中,传感器106包括至少GPS、加速度计以及陀螺仪。
根据上述情况,在操作中,传感器106可运作以检测并提供上下文信息给CCM 107,例如在一个或多个上下文信息信号中。在一些实施例中,上下文信息可在相机模块105(或更具体而言,深度相机120和/或彩色相机130)被用来对环境和/或对象进行成像时被检测并提供。就此,CCM 107可被配置成将传感器106的上下文信息分别与包含深度数据的第一帧和/或包含色彩数据的第二帧配准或以其他方式对准。
例如,CCM 107可被配置成控制相机模块105和传感器106的操作,使得相机模块105在与传感器106收集并提供上下文信息基本上同时收集图像数据(第一帧、第二帧,等等)。在CCM 107接收到来自传感器106的上下文信息信号时,它可以将其中的上下文信息与从相机模块105接收到的相机数据(例如,包含深度数据的第一帧和/或包含彩色数据的第二帧)相关联。例如,CCM107可以将上下文信息与由相机模块105提供的对应的第一和/或第二帧相关联。在这一上下文中,对应的第一或第二帧应当被理解为与CCM 107例如从传感器106接收到所讨论的上下文信息基本上同时由CCM 107接收到的第一帧或第二帧。就此,短语“基本上同时”意指在某一阈值时间段内,诸如从约1到约10秒、毫秒、微秒、或另一合适阈值。
在任一情形中,CCM 107可被配置成产生或使得产生将由传感器106提供的上下文信息与对应的第一帧、第二帧或它们的组合相链接的数据结构。没有限制,在一些实施例中,该数据结构可以是在时间上配准或以其他方式链接上下文信息与对应第一和第二帧的链表的形式,如上所述。如可明白的,CCM 107可随后使用这样的数据结构来标识在特定时间点与特定第一或第二帧相关联的上下文信息。
在其中上下文信息是或包括位置信息(例如,内容创建设备100的位置)的实例中,CCM 107可以使用这样的上下文信息(单独地或与其他数据(诸如深度数据或差异数据)相组合)来确定被成像环境内的一个或多个对象的位置、被成像环境中的多个对象的相对位置、它们的组合,等等。此外,在上下文信息是或包括定向信息(例如,与记录第一和/或第二帧基本上同时的内容创建设备100的定向)时,CCM 107可以使用这样的信息来标识或以其他方式确定被成像环境的定向,被成像环境内的对象的定向,在记录深度、差异和/或彩色数据时内容创建设备100的定向,或它们的组合。在一些实施例中,CCM 107可以利用位置信息、运动信息以及定向信息来确定被成像环境、被成像环境内的对象、或它们的组合的相对位置和定向,例如相对于内容创建设备100。CCM 107还可利用在来自深度相机120的一个或多个第一帧中提供的深度数据来促进这样的确定。
在一些实施例中,CCM 107可以指派或以其他方式关联位置和/或定向信息与被成像环境、被成像环境内的对象、或它们的组合。例如并根据上述内容,CCM 107可以产生或使得产生诸如链表等数据结构,该数据结构将位置和/或定向信息与环境的3D模型中的对应点、其中的对象、或它们的组合相配准。这样的数据结构随后可被存储,例如作为与由内容创建设备100产生的环境/对象的3D模型相关联的元数据。如可明白的,这样的元数据可由CCM 107用来理解所记录的帧、被成像环境、被成像对象、它们的组合等的视角(例如,在记录时相对于内容创建设备的视角),并且产生维持该视角的3D模型。此外,在一些实施例中,CCM可以使用该元数据来理解被成像环境和/或其中的对象的定向和/或位置并产生被成像环境的维持该定向和/或位置的3D模型。
在一些实施例中,CCM 107也可包括或者是被配置成检测被成像环境的入口点的硬件(例如,电路系统)、软件、或硬件和软件的组合的形式。如本文所使用的,术语“入口点”被用来指来自被成像环境的进入和/或出口点。入口点的非限制性示例包括门口、拱门、走廊、窗、它们的组合,等等。当然,其他类型的入口点被设想并可被用在本公开的上下文中。为解说和易于理解起见,将在以下用例上进行以下讨论:其中CCM 107可以检测被成像环境(即一个或多个房间)中的一个或多个门的形式的入口点。然而,应当理解,任何合适环境中的任何合适类型的入口点可被使用/检测。
就此,如上所述,CCM 107可以接收包含深度数据的第一帧和包含来自相机模块105的色彩数据的第二帧。在一些实施例中,CCM 107可以利用这些帧中的一者或多者作为用于执行根据本公开的入口点检测操作的输入图像。在一些实施例中,这样的入口点检测操作可包括例如由CCM 107或另一合适组件(诸如处理器101、内容创建设备100的图像处理单元(未示出)、远程服务器(例如,图2的服务器200)、它们的组合,等等)执行图像处理操作。没有限制,在一些实施例中,这样的图像处理操作可以是或包括对一个或多个输入图像执行一个或多个对象检测操作。
例如,CCM 107可以按任何合适方式接收第一或第二帧,如上所述。这些帧中的一者或多者可由CCM 107选择来用作输入图像,例如用于执行一个或多个对象检测操作。如可以清楚的,这样的操作的一个所需结果是产生准确地标识输入图像内的入口点的输出,并且其将所标识的入口点与被成像环境的3D模型的对应点(例如,坐标、顶点,等等)进行相关。
相应地,CCM 107可被配置成对输入图像执行一个或多个对象检测操作。CCM 107因此可包括一般可被配置成分析输入图像以检测可包含入口点的区域的一个或多个对象检测器。例如,CCM 107的对象检测器可以分析或使得分析输入图像以寻找可指示入口点的视觉线索。这样的视觉线索的非限制性示例包括但不限于与一个或多个预定义类型的入口点(诸如门、窗、拱门,等等)相关联的结构(例如,平面、片段、几何特征,等等)、纹理、和/或颜色。在一些实施例中,CCM 107内的对象检测器可以向上述因素中的一者或多者给出或多或少的权重,例如以补偿可影响输入图像的质量和/或合适性的各种因素,诸如内容创建设备100的移动、噪声、可变光照、背景干扰、它们的组合,等等。例如,在一些实施例中,在分析输入图像以寻找入口点时,入口点的结构(与颜色和/或纹理相对)可被较重地加权。
考虑到上述情况,CCM 107可以采用任何合适类型的对象检测范例。例如,CCM 107可被配置成采用利用扫描阶段、特征提取阶段、以及分类阶段的对象检测器来检测输入图像中的一个或多个入口点。在一些实施例中,CCM 107可以采用包括或者作为AdaBoost分类器的形式的对象检测器,诸如Viola-Jones检测器,它可实时地检测对象。没有限制,在一些实例中,CCM 107被配置利用Viola-Jones检测器来分析输入图像以寻找类似Haar基础函数(此后称为“基于Haar的特征或Haar特征”)且可被相关到入口点的特征。然而,应当理解,分析以寻找其他类型的特征(例如,面向直方图的梯度(HOG)特征、尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)、定向首先旋转简要(ORB)特征、局部二值模式(LBP)、平面、片段、它们的组合,等等)的对象检测器也可被使用,例如与各种机器学习算法相组合。
不管图像分析的性质如何,CCM 107可以运作以检测输入图像内的入口点。在检测到入口点时,CCM 107可被配置成以任何合适的方式标识入口点。例如,CCM 107可以将检测到的入口点与已知类型的入口点的数据库相比较,该数据库可被存储在内容创建设备100本地或远程。内容创建设备100因此可包括可任选数据库(DB)109,在图1的实施例中它被示为存储在存储器102中。当然,可任选DB 109不必被存储在存储器102中,且可按另一方式来存储。例如,在一些实施例中,可任选DB 109可被存储在远程计算系统中,诸如但不限于图2中所示的服务器200。在这样的实例中,COMMS 104可被配置成使得内容创建设备100能够经由可使用一个或多个预定有线或无线通信协议建立的有线或无线通信链路与服务器200通信。
更具体而言,CCM 107可被配置成执行或使得执行接入点检测和标识操作。在一些实施例中,这样的操作可包括将与在输入图像/视频中检测到的入口点有关的信息同可任选DB 109中的入口点相比较。在其中可任选DB 109被存储在本地的实例中,CCM 107可以执行在输入图像中检测到的入口点与DB 109中存储的对象/入口点的直接比较。另选地,在其中DB 109被存储在远程计算机系统(例如,服务器200)上的实例中,CCM 107可以使得内容创建设备将包含与在输入图像/视频中检测到的入口点有关的信息的数据信号(对象检测信号)传送给服务器200。对象检测信号可被配置成使得服务器200将与在输入图像/视频中检测到的入口点有关的信息同可任选数据库109中的对象(例如,预定义入口点)相比较,并例如在对象标识信号中将结果报告给内容创建设备100。
在任一情形中,如果该比较揭示了在输入图像中检测到的入口点与存储在DB 109中的入口点之间的匹配,则CCM 107可以将检测到的入口点认为是“真实命中”。然而,如果没有找到匹配,则CCM 107可以将检测到的入口点认为是假肯定并且该命中(即,所讨论的检测到的入口点)可被丢弃。然而,如果找到真实命中,则CCM 107可被配置成将检测到的入口点与被成像环境的3D模型的对应部分进行相关。就此,CCM 107可以标识与所标识的入口点相关联的深度和/或色彩数据,并且将这样的数据标记或以其他方式标识为对应于入口点。同样,CCM 107可以将被成像环境的3D模型的各部分贴标签、贴标记、或以其他方式标识为对应于入口点。这样的标签、标记等可例如是元数据的形式,它们可以与3D模型的对应于所标识的入口点的各点(例如坐标)相关联。在一些实施例中,这样的标签、标记等等也可以标识入口点的类型以及入口点在所讨论的3D模型内的位置。
为简明起见,3D模型中的被标识为对应于入口点的各点(例如,坐标、顶点,等等)在本文中可被称为“锚点”。如可明白的,一旦一个或多个锚点被标识,CCM 107就可跟踪这样的锚点的位置,而不管该模型的定向和/或修改如何。
尽管以上讨论集中于使用对象检测来标识入口点,但应当理解,CCM 107可被配置成检测和/或标识输入图像(例如,第一或第二帧)的其他特征并将这些特征与被成像环境的3D模型的对应部分进行关联。例如,CCM 107可被配置成标识被成像环境内的不同于入口点的对象,并将被成像环境的3D模型中的这些对象的模型与该对象的所确定的身份以及可任选地与合适的对象属性相关联。
其中CCM 107可标识被成像环境中的对象的性质一般与它可标识入口点的方式相同,并且因此这样的操作在本文中不再详细重复。一般而言,CCM 107(或内容创建设备100的另一合适组件)可以对一个或多个输入图像(例如,第一帧、第二帧,等等)执行图像处理操作。
如上所述,这样的图像处理操作可包括对一个或多个输入图像执行对象检测操作。例如,CCM 107可以利用对象检测器来分析图像以寻找可指示一个或多个对象的视觉线索,诸如上述视觉线索。在任何情形中,图像处理操作可被配置成计入可影响所考虑的输入图像的质量和/或合适性的变异因素。此外,CCM 107的这样的对象检测器可以使用任何合适的对象检测范例,诸如上述那些范例。没有限制,在一些实施例中,CCM 107可以采用包括对象分类器(诸如AdaBoost分类器)的对象检测器。
不管图像处理的性质如何,CCM 107可以检测输入图像内的一个或多个。在检测到对象时,CCM 107可被配置成以任何合适的方式标识检测到的对象。例如,CCM 107可以将检测到的对象与包含多个预定义对象的数据库相比较,该数据库可被存储在内容创建设备100本地或远程,例如在可任选数据库109中。在这样的实例中,可任选数据库19可包括可使用这样的对象的标识特征以及可任选地使用这样的对象的对象属性来交叉引用的多个预定义对象。这样的对象属性的非限制性示例包括对象的尺寸、对象的物理属性、对象的颜色、它们的组合,等等。在任一情形中,如果该比较揭示找到检测到的对象与可任选数据库109中的对象之间的匹配,则检测到的对象可被认为是真实命中。相反,如果没有找到检测到的对象的匹配,则检测到的对象可被认为是假肯定并且被丢弃。
然而,如果找到真实命中,则CCM 107可被配置成标识被成像环境的3D模型中的与检测到的对象相对应的各点(例如,坐标、顶点,等等)。例如,CCM 107可以标识与所标识的对象相关联的深度和/或色彩数据,并且将这样的数据贴标记或以其他方式标识为对应于检测到的对象。同样,CCM 107可以将被成像环境的3D模型的各部分贴标签、贴标记、或以其他方式标识为对应于所标识的对象。没有限制,在一些实施例中,这样的标签、标记等可以标识它们与之相关联的对象的类型。作为替换或补充,这样的标签、标记等等还可标识与该对象相关联的对象属性。在这样的实例中,CCM 107可以从可任选数据库109或另一合适的源获得对象属性,并将这样的属性添加到与被成像环境的3D模型的一个或多个部分相关联的标签、标记等等,例如作为元数据。这可允许CCM 107将对象属性自动指派给检测到的对象,需要用户干预。如可明白的,这可减轻或甚至移除对发挥大量努力(例如由计算机图形艺术家)来将对象的3D模型与一个或多个对象属性手动地关联的需求。
除了标识或使得标识被成像环境内的对象之外,CCM 107还可被配置成在被成像环境的3D模型内分割检测到的对象。在这一上下文中,术语“分割”和“切割”被互换地使用以指其中在被成像环境中检测到的对象的3D模型与作为整体的被成像环境的3D模型分开的操作。
例如,考虑其中CCM 107生成包括挂在房间中的墙的模型上的画作的模型的被成像环境的3D模型。在该实例中,CCM 107可以执行图像处理操作以检测并标识被成像环境中的画作,并且将画作(以及,可能的墙)标识在被成像环境的3D模型中,如上所述。此时,CCM107可以对该环境的3D模型执行一个或多个分割操作以将画作的模型与墙的模型分开,使得画作可被表示为与被成像环境的3D模型的其他分量(尤其是墙)区分开的3D模型。
就此,CCM 107可以采用任何合适的分割技术来分割被成像环境的3D模型内的所标识的对象。这样的技术的非限制性示例包括基于形状的检索技术、元形态技术、简化技术、使用码本模型的3D分割、3D网格分割、前景-背景分割、它们的组合,等等。在例如画作和墙实施例中,一种或多种分割技术(例如,前景-背景分割)可被用来将画作的3D网格模型与背景的3D网格模型隔离开。可通过从由相机模块105提供的深度数据、色彩数据等取得的测量和/或可与存储在可任选数据库中的关联于被确定为对应于画作的预定义对象的对象属性(例如,尺寸)相关联或以其他方式从中导出的测量来引导该分割。在任何情形中,分割操作的结果可以是产生与被成像环境的3D模型的其余部分(尤其是墙)区分开的画作的3D模型。
在一些实施例中,在一个或多个分割操作之后,CCM 107可被配置成更新被成像环境中的其他对象的3D模型。在例如画作和墙实施例的上下文中,将画作与墙分割可在墙的网格模型中的画作后的区域中留下空白。考虑到这一点,CCM 107可以执行一个或多个模型更新操作以填充可得自分割的这样的空白或其他缺陷。任何合适的更新技术可被用于这一目的。例如,在一些实施例中,CCM 107可以采用填充算法,执行该填充算法可以填充3D模型中的一个或多个空白或其他缺陷。在一些实施例中,填充算法可通过确定与这样的空白/缺陷的边缘相邻的一个或多个区域的特征和/或特性并至少部分地基于这些特征填充该空白/缺陷,来填充这样的空白/缺陷。在例如画作和墙示例中,CCM 107可以执行填充或内插算法,该算法确定与画作的边缘相邻的墙的模型的特征和/或特性,并更新墙的3D模型(例如,网格模型)以使用具有与墙的模型的与画作的边缘相邻的部分基本上相同的特征/特性的网格或其他模型来填充画作之后的区域。
本公开的另一方面涉及用于产生3D模型的方法。就此,参考图3,它是根据本公开的生成3D模型的方法的一个实施例的示例操作的流程图。如图所示,模型300始于框301。该方法随后可进至框302,根据框302,内容创建设备可被用来对环境(诸如房间)扫描/成像。可扫描环境的方式与以上结合内容创建设备100的操作描述的相同,并且因此不再重复。
一旦环境被扫描/成像,该方法可从框302进至框303。根据框303,内容创建设备可至少部分地基于深度数据和色彩数据来构建环境的3D模型,如上所述。3D模型中的各点可以至少部分地基于来自一个或多个传感器的输入而与上下文信息(例如,位置信息、定向信息,等等)相关联。同样在这一阶段,图像处理或其他操作可被执行以标识入口点并将这些点贴标签、贴标记或以其他方式标识为被成像环境的3D模型中的锚点。
该方法随后可进至任选框304,其中可执行对象识别和/或分割。这样的操作的性质在上文描述且因此不再详细重复。如果执行了对象识别,则可以使用一个或多个对象检测范例检测被成像环境中的对象,并且可执行各操作以标识任何检测到的对象,如上所述。如果对象是检测到的对象并且被标识,则该方法可进一步包括使用适当的标识标记来对被成像环境的3D模型的与所标识的对象相对应的部分进行标签、标记、或以其他方式标识。此外,所标识的对象可任选地与被成像环境的3D模型的其他部分分割开,并且被表示为离散的3d模型。
假定执行了对象检测并且至少一个对象被检测到并被标识,则该方法可进至可任选框305,其中对象属性可以与被成像环境的3D模型中的所标识对象相关联。可执行这一操作的方式先前已被描述,并且因此不再详细重复。在一些实施例中,根据框305的操作可包括将来自数据库的对象属性指派给所标识的对象,其中数据库被构造以便交叉引用具有对应对象属性的多个预定义对象。
如果对象识别没有被执行或执行了对象检测但没有检测到对象,则该方法可从框303或框304进至框306。根据框306,可作出与是否要对附加环境进行扫描/成像有关的确定。如果是,则该方法可循环回框302。但如果否,则该方法可进至框307,根据框307,可作出与多个环境是否已被扫描/成像并被建模有关的确定。如果是,则该方法可进至框308,根据框308,可根据多个组成3D模型来编译聚集模型,如下文所述。如果否,则该方法可进至框309并结束。
如上所述,本公开的技术可以产生或使得产生环境的3D模型,其中模型的全部或部分与上下文信息(诸如位置信息和/或定向信息)相关联,并且其中被成像环境中的入口点在其3D模型中被标识为一个或多个锚点。考虑到这一点,本公开的另一方面涉及用于根据多个离散3D模型产生聚集模型的技术,为简明起见,在本文中各离散3D模型被单独地或共同地称为“组成模型”或“各组成模型”。
如本文所使用的,术语“聚集模型”指的是可通过组合彼此离散(即,分开)的多个组成3D模型来产生的3D模型。作为示例,本文描述的技术可用于将第一环境(例如,第一房间)的第一(组成)3D模型与第二环境(例如,第二房间)的第二(组成)3D模型相组合,以产生将第一环境的3D模型与第二环境的3D模型组合在一起的聚集3D模型。当然,超过2个组成3D模型可被组合以形成聚集模型。的确,本公开设想了其中2、3、4、5、10、15、20、25、100或更多组成3D模型可被组合以形成聚集模型的实施例。
为解说起见,本公开现在将描述其中CCM 107操作来根据两个或更多个组成模型生成聚集模型的各实施例。应当理解,这一讨论是出于解说起见,并且这些操作不必由CCM107执行。的确,本公开设想了其中CCM 107以外的组件(例如,图像处理单元)可被用来根据多个组成3D模型生成聚集模型的实施例。
在一些实施例中,CCM 107可用于执行根据本公开的一个或多个聚集模型生成操作。在一些实施例中,这样的聚集模型操作可包括:访问至少第一组成3D模型和第二组成3D模型;分析第一和第二组成3D模型以标识其中的锚点;以及将第一组成3D模型与第二组成3D模型相组合以使得第一组成3D模型的至少一个第一锚点与第二组成3D模型的至少一个第二锚点基本上对准。在这一上下文中,术语“基本上对准”可被理解为意指第一组成3D模型中的第一入口点的模型的超过95%的点(例如,坐标)与第二组成3D模型中的第二入口点的模型的各点(例如,坐标)交叠。没有限制,在一些实施例中,CCM 107可用于产生其中第一组成3D模型中的一个或多个入口点的各点与第二组成3D模型中的一个或多个第二入口点的各点完全一致地交叠的聚集模型。
在一些实施例中,CCM 107可以利用与第一和第二组成3D模型的锚点相关联的上下文信息来促进组合这些模型,以使得锚点基本上交叠。具体而言,CCM107可以分析与第一和第二组成3D模型中的每一者的锚点相关联的上下文信息。CCM 107随后可以将第一组成3D模型的每一锚点的上下文信息与第二组成3D模型的每一锚点的上下文信息相比较,并且基于该比较来确定第一和第二组成3D模型可被如何组合。
例如,如上所述,本文描述的技术可以产生3D模型,其中位置和/或定向信息可以与该3D模型的锚点相关联(例如,作为上下文信息)。在这样的实例中,CCM 107可以将关联于第一组成3D模型的每一锚点的位置和/或定向信息与关联于第二组成3D模型的每一锚点的位置和/或定向信息相比较。基于该比较,CCM 107可以选择将第一组成3D模型的锚点之一与第二组成3D模型的锚点之一相对准。例如,在位置信息的情形中,CCM 107可以确定第一组成3D模型的锚点中的任一者的位置是否处于第二组成3D模型的锚点中的任一者的位置的阈值距离内。如果是,则CCM 107可以将第一和第二组成3D模型相组合以使得这些特定锚点基本上彼此对准。CCM 107随后可以将第一和第二组成3D模型相组合,例如通过在基本上对准的锚点处连结它们。例如,在第一和第二组成3D模型是网格模型时,CCM 107可以组合连结第一组成3D模型的网格与第二组成3D模型的网格,例如在基本上对准的锚点处。
在定向信息与锚点相关联时,这样的信息可被用来促进多个组成3D模型组合成聚集模型。例如,CCM 107利用定向信息来确定第一组成3D模型中的一个或多个锚点相对于第二组成3D模型的一个或多个锚点的相对定向。基于这些锚点的相对定向,CCM 107可以对组成3D模型中的一者或多者执行模型更新操作,使得第一组成3D模型的至少一个锚点被定向在与第二组成3D模型的至少一个锚点基本上相同的方向上。在这样的实例中(且可任选地由以上讨论的位置信息引导),CCM 107可以将第一和第二组成3D模型相组合以使得第一和第二组成3D模型的共同地定向的锚点基本上对准。此后,模型更新操作可被执行以将第一组成3D模型(例如,其网格)连结到第二组成3D模型(例如,在基本上对准的锚点处)。
如可明白的,在确定如何对准和/或组合多个组成3D模型时,CCM 107可具有大量灵活性。例如,在一些实施例中,CCM 107可被配置成根据多个组成3D模型产生聚集模型,其中各组成3D模型按它们的现实世界对应物的布置相同的方式被布置/组合在聚集模型中。另选地,在一些实施例中,CCM 107可被配置成根据多个组成3D模型产生聚集3D模型,其中各组成3D模型按与它们的现实世界对应物的布置不同的方式被布置/组合在聚集模型中。在任一情形,CCM 107可用于产生其中使用的各组成模型的一个或多个入口点被基本上对准的聚集模型,如上所述。
出于简明的目的,本公开现在将描述两个用例,其中CCM 107操作来组合多个组成3D模型以形成多个不同聚集模型。考虑到这样的内容,现在参考图4A,它描绘了三个环境401、402、403的现实世界布置的一个示例。在这一情形中,环境401、402、403可被理解为房间,但应当理解,可以使用任何合适的环境。
如图4A所示,环境401具有矩形形状,其中长从左到右。单个入口点(例如,门)410存在于环境401的右墙中。相反,环境402具有矩形形状,其中长从顶至底。此外,多个入口点4021-4024存在于环境402中,其中其每一面墙有一个入口点。环境403类似于环境401,除了它包括形成在其左墙中不同于环境401的入口点的位置的位置处的入口点(门)430之外。
考虑到上述缺陷,内容创建设备100可被采用来生成环境401、402和403中的每一者的不同3D模型,如上文概括地描述的。即,相机模块105可被用来收集环境401、402和403中的每一者深度和色彩数据,例如在内容创建设备100在每一环境内移动时。基本上同时,传感器106可收集上下文信息(例如,位置信息、运动信息,等等)。深度数据、色彩数据以及上下文信息随后可被提供给CCM 107,CCM 107可以使用这样的数据来产生组成3D模型401’、402’、403’,如在图4B中所示且按照先前描述的方式。CCM 107随后可对输入图像(例如,深度数据、传感器数据,等等)和/或组成3D模型401’、402’、403’执行入口点检测操作,从而标识入口点410、4201-4以及430。CCM 107随后可以将所标识的入口点贴标签、贴标记或以其他方式标识为锚点410’、4201-4’以及430’,如图4B所示。此后,CCM 107可以执行聚集模型生成操作以组合模型401’、402’、403’,如上文概括地描述的。
例如,在一些实施例中,CCM 107可被配置成至少部分地基于与模型401’、402’和403’中标识的锚点中的每一者相关联的上下文信息的比较来生成仿真环境401、402和403的现实世界布置的聚集模型。在这一实施例中,例如,CCM107可以确定与模型401’的锚点410’相关联的位置信息处于模型402’的锚点4201’的阈值距离内。在这样的实例中,CCM107随后可将锚点410’与锚点4201’基本上对准,并执行模型更新操作以在这些锚点处连结模型401’与模型402’(例如其网格)。在一些实施例中,CCM 107可以至少部分地基于与两个或更多个组成3D模型之间的锚点相关联的定向信息的比较来对准这些锚点。例如,CCM 107可以分析与不同组成3D模型的两个或更多个锚点相关联的定向信息以确定锚点是否要被定向在相同方向上。如果两个锚点被共同地定向,则CCM 107可通过将它们带入彼此附近来对准这些锚点,以使得它们彼此接触或交叠。然而,如果两个锚点没有共同地定向,则CCM107可以将所讨论的组成3D模型中的一者或两者相对于另一者重定向,以补偿各组成3D模型的定向中的任何差异,此后各模型可被对准,如上所述。
返回解说性实施例,CCM 107可以执行类似操作以标识锚点4203’和430’处于阈值距离内和/或在基本上相同的方向上对准。CCM 107随后可将锚点4203’与锚点430’基本上对准,并执行模型更新操作以在这些锚点处连结模型402’与模型403’(例如其网格)。结果可以是产生聚集模型450,其中模型401’、402’和403’按环境401、402和403相同的方式布置,其中各模型在相关入口点处被彼此连结,如图4C中所示。
在其他实施例中,CCM 107可被配置成根据多个组成3D模型生成聚集模型,其中聚集模型中的各组成3D模型按与它们的现实世界对应物的布置不同的方式被布置。如在先前示例实施例中,内容控制设备可被用来对环境401、402、403成像并产生其组成模型401’、402’、403’。模型401’、402’、403’的各点(例如,顶点)的全部或部分可以与上下文信息、对象属性等相关联,如先前描述的。此外,每一模型中的锚点可被贴标签或以其他方式标识在每一模型中,如先前描述的。
考虑到上述情况,CCM 107可以分析要包括在聚集模型中的每一组成3D模型以标识其中的锚点。因而,在这一示例中,CCM 107可以分析与模型401’、402’和403’中的每一者的锚点相关联的元数据、标签等等。CCM 107随后可以组合来自不同组成3D模型的任何两个锚点。例如,CCM 107可以选择模型402’的一个锚点以与模型403’的锚点430’相连结,并且选择模型402’的另一锚点以与模型402’的锚点420’相连结。
可选择锚点以供组合的方式不是受限的,并且可以按任何方式来实现。例如,可基于用户简档、算法、随机数生成器的输出、要包括在聚集模型中的各组成模型的相对大小、这些模型和/或其中包含的对象的定向、它们的组合,等等来选择锚点。在一些实施例中,CCM 107可用于至少部分地基于要包括在聚集模型中的各组成3D模型的几何形状、各组成3D模型的定向、各组成3D模型中所标识的对象的定向、它们的组合等等来选择供组合的锚点。没有限制,在一些实施例中,CCM 107选择供组合的锚点,使得一个组成3D模型不与另一组成3D模型交叠或以其他方式冲突。CCM 107随后可将所选锚点对准并按上述相同的方式连结它们相应的组成3D模型。值得注意的是,内容创建设备100的CCM 107或另一组件可以重定向或以其他方式重布置各组成3D模型中的一者或多者和/或其中的对象以促进所选锚点的组合。
为了解说这一概念,参考图4D,它描绘了根据组成3D模型来构造与图4C的聚集模型相同的聚集模型,但其中组成3D模型按与它们的现实世界对应物不同的方式来布置。更具体而言,在这一实施例中,CCM 107选择模型403’的锚点430’来与模型402’的锚点4201’相组合,并且选择模型402’的锚点4204来与模型401’的锚点410’相组合。如可明白的,图4D中模型401’和403’的定向不同于图4B中这些模型的定向。因此可以理解,在所选锚点处将这些模型与模型402’组合之前,CCM107可已经将模型401’、402’和/或403’相对于彼此进行了重定向或以其他方式重布置,直至每一模型的所选锚点已相对于彼此正确地定向。此时,CCM 107可以按与先前描述的方式基本上相同的方式来对准并连结各模型。
如上所述,本公开的技术可以促进产生现实世界环境的3D模型。这样的3D模型可被独立地用于各种目的,或者它们可被组合以形成一个或多个聚集模型。如可明白的,这样的模型可应用于各种各样的用例中,诸如但不限于开发虚拟空间以用于视频游戏、虚拟现实体验、它们的组合,等等。作为替换或补充,因为本文描述的3D模型可以关联上下文信息、对象属性等,所以它们也可用在虚拟历史中,例如在特定对象的历史可以根据随时间开发的相同环境的多个扫描/3D模型来被记录/开发。
在视频游戏和虚拟设备的上下文中,例如,本文描述的内容创建设备可被采用来生成现实世界位置的3D模型,诸如但不限于用户的家中。例如,内容创建设备可被用来对用户家中的每一房间成像,并随后生成这些房间的对应3D模型。如上文概括描述的,诸如位置信息、定向信息等上下文信息可以与3D模型的全部或部分相关联。另外,被成像环境内的对象可被标识、分割、或自主地关联于相关对象属性,例如通过从本地或远程存储的数据库检索这样的属性并且将这些属性与房间的3D模型内的经分割对象相关联。
根据以上描述,内容创建模块随后可被用来生成被成像环境的聚集模型,其中聚集模型准确地反映被成像环境(在这一情形中是用户的家中)中的房间、空间等的布置。另选地,内容创建模块可被用来产生聚集模型,其中房间的模型按与现实世界对应物的布置不同的方式来布置。在这样的实例中,经建模房间的布置可以在每次生成聚集模型时改变,例如以在每次该聚集模型被用作游戏环境时向用户提供动态体验。
现在转向图5,本公开的另一方面涉及生成并修改聚集模型,例如用作视频游戏环境。如图所示,方法500在框501开始。如果根据本公开的3D模型尚未被生成,则该方法可进至可任选框500,根据框500,图3的模型生成方法可被执行。一旦已经生成3D模型(或者如果3D模型先前是可用的),则该方法可进至框503。
根据该框,游戏角色可被引入3D模型,例如由CCM 107、内容创建设备107的另一组件、和/或由远程设备(诸如服务器200)的组件。任何合适的游戏角色可被使用,如本领域中一般理解的。作为替换或补充,游戏角色可以从由内容创建设备成像的对象、人、宠物等导出,例如在用作视频游戏世界的3D模型的全部或部分的创建期间。例如,在用户的狗存在于房间中的情况下,在它被根据本公开的内容创建设备成像时,该狗可被标识,例如由用户或经由执行对象/图像识别操作。被成像实体(在这一情形中,狗)的3D模型随后可被创建并与3D模型的其他元素分割开(如有必要)。
被成像实体的3D模型随后可被存储在内容创建设备100的本地或远程,例如在角色存储中。角色存储可以存在,例如作为存储在内容创建设备100、服务器200的存储器或另一合适位置中的数据结构。此外,尽管上述描述集中于根据狗的图像生成一个角色模型,但应当理解,任何数目的角色模型可被生成并存储在角色存储中。此外,应当理解,角色存储中的角色不必从由内容创建设备100捕获的图像中导出,而是可按另一方式来生成,诸如通过计算机图形艺术家使用传统手段。
在任何情形中,内容创建设备100的CCM 107或另一组件可将来自角色存储的角色插入3D模型(例如,聚集模型)以提供所需用户体验。例如,内容创建设备100的CCM 107或另一组件可插入来自角色存储的角色以充当非玩家角色(例如,盟友、对手,等等),内容创建设备100的用户可与其进行交互。
返回图5,一旦游戏角色被引入,该方法可进至元素504,根据元素504,玩家的位置可被跟踪。就此,可以理解,内容创建设备可以形成可被用来向用户提供游戏体验的可穿戴设备的全部或部分。例如,用作游戏世界的3D模型可被呈现在可任选显示器103上,并且可在用户随内容创建设备100移动时改变。换言之,在其中3D模型是用户家中的实例中,用户可以通过携带内容创建设备在其家中四处移动来与该模型交互。在用户(或更具体而言,内容创建设备100)移动时,用户家中的3D模型可被显示并更新在可任选显示器103上。GPS或其他位置传感器(例如,WIFI传感器)可被用来跟踪玩家在玩家家中的位置,并相应地更新3D模型在可任选显示器103上的呈现。
该方法随后可进至框505,根据框505,3D模型/游戏角色可被更新,例如响应于用户交互。例如,用户可以经由图形用户界面、一个或多个接口设备(例如,游戏控制器)、它们的组合等与3d模型/游戏角色交互。这样的交互的结果可以是更改3D模型、一个或多个游戏角色的状态,等等。根据方法500,CCM107、内容创建设备100的另一组件、或服务器200的组件可以响应于用户交互来更新3D模型、游戏角色等,以提供所需用户体验。
该方法随后可进至框506,根据框506,可作出与该方法是否继续有关的确定。如果是,则该方法可按需循环回框503、504或505。但如果否,则该方法可进至框507并结束。
示例
以下示例枚举了本公开的附加非限制性实施例。
示例1:根据这一示例,提供了包括处理器、存储器、相机模块以及内容创建模块(CCM)的内容创建设备,其中:所述相机模块包括用于获得现实世界环境的深度数据的深度相机和用于获得所述现实世界环境的色彩数据的视觉相机;并且所述CCM包括用于以下操作的电路系统:至少部分地基于所述深度数据来产生所述现实世界环境的三维模型;分析所述深度数据和色彩数据中的至少一者以检测所述现实世界环境中的一个或多个入口点;以及将所述三维模型的一部分与检测到的入口点进行相关。
示例2:这一示例包括示例1的任何或全部特征,并且进一步包括用于获得上下文信息的至少一个传感器,其中所述CCM还用于将所述上下文信息与所述三维模型的对应于检测到的入口点的那部分进行相关。
示例3:这一示例包括示例2的任何或全部特征,其中所述至少一个传感器包括陀螺仪、全球定位传感器、或加速度计中的一者或多者。
示例4:这一示例包括示例3的任何或全部特征,其中:所述至少一个传感器是全球定位传感器;并且所述上下文信息包括位置信息。
示例5:这一示例包括示例1到4中的任一者的任何或全部特征,其中:所述深度数据被存储在所述存储器中的一个或多个第一帧中;所述色彩数据被存储在所述存储器中的一个或多个第二帧中;以及所述CCM用于至少部分地通过对所述第一或第二帧中的至少一者执行图像处理操作来检测所述一个或多个入口点。
示例6:这一示例包括示例5的任何或全部特征,其中所述CCM还用于标识检测到的入口点的类型。
示例7:这一示例包括示例6的任何或全部特征,其中:所述图像处理操作包括对所述第一或第二帧中的至少一者执行对象检测;所述CCM还用于至少部分地通过将所述对象检测操作的输出与预定义入口点的数据库相比较来标识所述检测到的入口点的类型。
示例8:这一示例包括示例7的任何或全部特征,其中预定义入口点的数据库被存储在所述存储器中或被维护在所述内容创建设备的远程。
示例9:这一示例包括示例1到4中的任一者的任何或全部特征,其中:所述CCM还用于分析深度数据和色彩数据中的至少一者以检测所述现实世界环境内的对象;以及所述三维模型包括所述现实世界环境内的检测到的对象的表示。
示例10:这一示例包括示例9的任何或全部特征,其中:所述深度数据被存储在所述存储器中的一个或多个第一帧中;所述色彩数据被存储在所述存储器中的一个或多个第二帧中;以及所述CCM用于至少部分地通过对所述第一或第二帧中的至少一者执行图像处理操作来检测所述对象。
示例11:这一示例包括示例10的任何或全部特征,其中所述CCM还用于标识所述现实世界环境中的检测到的对象。
示例12:这一示例包括示例11的任何或全部特征,其中:所述图像处理操作包括对所述第一或第二帧中的至少一者执行对象检测;以及所述CCM用于至少部分地通过将所述图像处理操作的输出与预定义对象的数据库相比较来标识检测到的对象。
示例13:这一示例包括示例11的任何或全部特征,其中:所述CCM还用于确定与所标识的检测到的对象相对应的对象参数;以及将所述对象参数与所述三维模型中的所标识的检测到的对象的表示进行相关。
示例14:这一示例包括示例11的任何或全部特征,其中所述CCM用于至少基于所标识的对象与将多个预定义对象同对应对象参数进行相关的数据库的比较来确定对象参数。
示例15:这一示例包括示例11的任何或全部特征,其中所述CCM还用于对所述三维模型执行分割操作以将所述三维模型中所标识的对象的表示与所述三维模型的其余部分分割开。
示例16:这一示例包括示例15的任何或全部特征,其中所述分割操作造成所述三维模型中的空白,并且所述CCM还用于执行模型更新操作以填充所述空白。
示例17:这一示例包括示例1到4中的任一者的任何或全部特征,其中:所述CCM还用于组合多个组成三维模型以产生聚集模型,所述多个组成三维模型包括第一现实世界位置的第一组成模型和第二现实世界位置的第二组成模型,所述第一和第二现实世界位置按现实世界布置来被布置;以及在所述聚集模型中,所述第一和第二组成模型按与所述现实世界布置基本上相同的方式来布置。
示例18:这一示例包括示例17的任何或全部特征,其中:所述第一和第二组成模型分别包括第一和第二网格模型;以及所述CCM还用于至少部分地通过组合第一网格模型的网格与第二网格模型的网格来组合所述多个组成三维模型。
示例19:这一示例包括示例17的任何或全部特征,其中:所述第一组成模型与标识所述第一组成模型中的一个或多个第一锚点的第一元数据相关联,每一第一锚点与所述第一现实世界位置中的入口点相对应;所述第二组成模型与标识所述第二组成模型中的一个或多个第二锚点的第二元数据相关联,每一第二锚点与所述第一现实世界位置中的入口点相对应;以及所述CCM还用于至少部分地通过连结所述第一和第二组成模型来产生所述聚集模型,使得在所述聚集模型中,所述第一组成模型的第一锚点基本上对准所述第二组成模型的第二锚点。
示例20:这一示例包括示例19的任何或全部特征,其中:所述第一组成模型包括多个第一锚点;以及所述CCM还用于组合所述多个组成模型,以使得在所述聚集模型中,所述多个第一锚点中的所选一个锚点基本上对准所述第二组成模型的第二锚点。
示例21:这一示例包括示例20的任何或全部特征,其中:所述第一组成模型的所述多个第一锚点中的每一者与第一上下文信息相关联;所述第二组成模型的每一第二锚点与第二上下文信息相关联;以及所述CCM还用于至少部分地基于所述多个第一锚点中的每一者的所述第一上下文信息与关联于每一第二锚点的第二上下文信息的比较来标识所述多个第一锚点中的所述所选一个锚点。
示例22:这一示例包括示例21的任何或全部特征,其中所述上下文信息包括位置信息。
示例23:这一示例包括示例22的任何或全部特征,其中所述位置信息指定所述第一和第二锚点中的每一者的现实世界位置。
示例24:这一示例包括示例23的任何或全部特征,其中所述CCM还用于至少部分地基于确定第一锚点处于第二锚点的阈值距离内来标识所述多个第一锚点中的所选一个锚点。
示例25:这一示例包括示例21的任何或全部特征,其中所述上下文信息还包括定向信息,所述定向信息指定所述第一和第二锚点中的对应一个的定向。
示例26:这一示例包括示例25的任何或全部特征,其中所述CCM用于至少部分地基于确定第一锚点处于第二锚点的阈值距离内来标识所述多个第一锚点中的所选一个锚点。
示例27:这一示例包括示例26的任何或全部特征,其中所述CCM还用于确定所述多个第一锚点中的所选一个锚点的定向是否与所述第二锚点相同;以及如果否,则重定向所述第一组成模型和所述第二组成模型中的至少一者。
示例28:这一示例包括示例21的任何或全部特征,其中所述CCM用于标识所述多个第一锚点中的所选一个锚点,以使得在所述聚集模型中,所述多个组成三维模型中的一者或多者不与所述多个组成三维模型中的另一者相冲突。
示例29:这一示例包括示例17的任何或全部特征,其中:所述聚集模型是视频游戏世界;并且所述CCM用于将视频游戏角色引入所述视频游戏世界。
示例30:根据这一示例,提供了一种用于产生三维模型的方法,所述方法包括使用内容创建设备来:至少部分地基于现实世界环境的深度数据来产生所述现实世界环境的三维模型;分析所述深度数据和所述现实世界环境的色彩数据中的至少一者以检测所述现实世界环境中的一个或多个入口点;以及将所述三维模型的一部分与检测到的入口点进行相关。
示例31:这一示例包括示例30的任何或全部特征,其中所述方法还包括将至少一个传感器的上下文信息与所述三维模型的对应于所述检测到的入口点的那部分进行相关。
示例32:这一示例包括示例31的任何或全部特征,其中所述上下文信息包括定向信息、位置信息、或加速度计信息中的至少一者。
示例33:这一示例包括示例30的任何或全部特征,其中所述上下文信息包括位置信息。
示例34:这一示例包括示例30到33中的任一者的任何或全部特征,其中所述方法还包括:使用深度相机在一个或多个第一帧中获得所述深度数据;以及使用视觉相机用一个或多个第二帧来获得所述色彩数据;其中分析所述深度数据和色彩数据中的至少一者包括对所述第一或第二帧中的至少一者执行图像处理操作。
示例35:这一示例包括示例34的任何或全部特征,其中所述方法还包括标识检测到的入口点的类型。
示例36:这一示例包括示例35的任何或全部特征,其中:所述图像处理操作包括对所述第一或第二帧中的至少一者执行对象检测;以及所述标识是至少部分地通过将所述对象检测操作的输出与预定义入口点的数据库相比较来执行的。
示例37:这一示例包括示例36的任何或全部特征,其中预定义入口点的数据库被存储在所述内容创建设备的存储器中或被维护在所述内容创建设备的远程。
示例38:这一示例包括示例30到33中的任一者的任何或全部特征,其中所述方法还包括:分析所述深度数据和色彩数据中的至少一者以检测所述现实世界环境内的对象;以及所述三维模型包括所述现实世界环境内的检测到的对象的表示。
示例39:这一示例包括示例38的任何或全部特征,其中所述方法还包括使用深度相机在一个或多个第一帧中获得所述深度数据;以及使用视觉相机用一个或多个第二帧来获得所述色彩数据;其中分析所述深度数据和所述色彩数据中的至少一者以检测对象包括对所述第一或第二帧中的至少一者执行图像处理操作。
示例40:这一示例包括示例39的任何或全部特征,其中所述方法还包括标识在所述现实世界环境中检测到的对象。
示例41:这一示例包括示例40的任何或全部特征,其中:所述图像处理操作包括对所述第一或第二帧中的至少一者执行对象检测;以及标识检测到的对象包括至少部分地通过将所述图像处理操作的输出与预定义对象的数据库相比较。
示例42:这一示例包括示例40的任何或全部特征,其中所述方法还包括:确定与所标识的检测到的对象相对应的对象参数;以及将所述对象参数与所述三维模型中的所标识的检测到的对象的表示进行相关。
示例43:这一示例包括示例40的任何或全部特征,其中确定所述对象参数是至少部分地通过将所标识的对象与将多个预定义对象同对应对象参数进行相关的数据库的比较来执行的。
示例44:这一示例包括示例40的任何或全部特征,其中所述方法还包括:对所述三维模型执行分割操作以将所述三维模型中所标识的对象的表示与所述三维模型的其余部分分割开。
示例45:这一示例包括示例44的任何或全部特征,其中所述分割操作造成所述三维模型中的空白,并且所述CCM还用于执行模型更新操作以填充所述空白。
示例46:这一示例包括示例30到33中的任一者的任何或全部特征,其中所述方法还包括使用所述内容创建设备来:组合多个组成三维模型以产生聚集模型,所述多个组成三维模型包括第一现实世界位置的第一组成模型和第二现实世界位置的第二组成模型,所述第一和第二现实世界位置按现实世界布置来被布置;其中在所述聚集模型中,所述第一和第二组成模型按与所述现实世界布置基本上相同的方式来布置。
示例47:这一示例包括示例46的任何或全部特征,其中:所述第一和第二组成模型分别包括第一和第二网格模型;以及组合所述多个组成三维模型包括组合所述第一网格模型的网格与所述第二网格模型的网格。
示例48:这一示例包括示例46的任何或全部特征,其中:所述第一组成模型与标识所述第一组成模型中的一个或多个第一锚点的第一元数据相关联,每一第一锚点与所述第一现实世界位置中的入口点相对应;所述第二组成模型与标识所述第二组成模型中的一个或多个第二锚点的第二元数据相关联,每一第二锚点与所述第一现实世界位置中的入口点相对应;以及组合所述多个组成三维模型以产生所述聚集模型包括连结所述第一和第二组成模型,以使得在所述聚集模型中,所述第一组成模型的第一锚点基本上对准所述第二组成模型的第二锚点。
示例49:这一示例包括示例48的任何或全部特征,其中:所述第一组成模型包括多个第一锚点;以及在所述聚集模型中,所述多个第一锚点中的所选一个锚点基本上对准所述第二组成模型的第二锚点。
示例50:这一示例包括示例49的任何或全部特征,其中:所述第一组成模型的所述多个第一锚点中的每一者与第一上下文信息相关联;所述第二组成模型的每一第二锚点与第二上下文信息相关联;以及所述方法还包括至少部分地基于所述多个第一锚点中的每一者的所述第一上下文信息与关联于每一第二锚点的第二上下文信息的比较来标识所述多个第一锚点中的所述所选一个锚点。
示例51:这一示例包括示例50的任何或全部特征,其中所述上下文信息包括位置信息。
示例52:这一示例包括示例51的任何或全部特征,其中所述位置信息指定所述第一和第二锚点中的每一者的现实世界位置。
示例53:这一示例包括示例52的任何或全部特征,其中标识所述多个第一锚点中的所选一个锚点包括确定第一锚点是否处于第二锚点的阈值距离内。
示例54:这一示例包括示例50的任何或全部特征,其中所述上下文信息还包括定向信息,所述定向信息指定所述第一和第二锚点中的对应一个的定向。
示例55:这一示例包括示例54的任何或全部特征,其中标识所述多个第一锚点中的所选一个锚点包括确定第一锚点是否处于第二锚点的阈值距离内。
示例56:这一示例包括示例55的任何或全部特征,其中所述方法还包括确定所述多个第一锚点中的所选一个锚点的定向是否与所述第二锚点相同;以及如果否,则重定向所述第一组成模型和所述第二组成模型中的至少一者。
示例57:这一示例包括示例50的任何或全部特征,其中标识所述多个第一锚点中的所选一个锚点被执行,以使得在所述聚集模型中,所述多个组成三维模型中的一者或多者不与所述多个组成三维模型中的另一者相冲突。
示例58:这一示例包括示例46的任何或全部特征,其中:所述聚集模型是视频游戏世界;并且所述方法还包括将视频游戏角色引入所述视频游戏世界。
示例59:根据这一示例,提供了包括指令的至少一个计算机可读介质,所述指令在由内容创建设备的处理器执行时使得执行包括以下各项的操作:至少部分地基于现实世界环境的深度数据来产生所述现实世界环境的三维模型;分析所述深度数据和所述现实世界环境的色彩数据中的至少一者以检测所述现实世界环境中的一个或多个入口点;以及将所述三维模型的一部分与检测到的入口点进行相关。
示例60:这一示例包括示例59的任何或全部特征,其中所述指令在被执行时进一步使得执行包括以下各项的操作:将至少一个传感器的上下文信息与所述三维模型的对应于所述检测到的入口点的那部分进行相关。
示例61:这一示例包括示例60的任何或全部特征,其中所述上下文信息包括定向信息、位置信息、或加速度计信息中的至少一者。
示例62:这一示例包括示例的任何或全部特征,其中所述上下文信息包括位置信息。
示例63:这一示例包括示例59到62中的任一者的任何或全部特征,其中:所述指令在被执行时进一步使得执行包括以下各项的操作:使用深度相机在一个或多个第一帧中获得所述深度数据;以及使用视觉相机用一个或多个第二帧来获得所述色彩数据;其中分析所述深度数据和所述色彩数据中的至少一者包括对所述第一或第二帧中的至少一者执行图像处理操作。
示例64:这一示例包括示例63的任何或全部特征,其中所述指令在被执行时进一步使得执行包括以下各项的操作:标识检测到的入口点的类型。
示例65:这一示例包括示例64的任何或全部特征,其中:所述图像处理操作包括对所述第一或第二帧中的至少一者执行对象检测;以及所述标识是至少部分地通过将所述对象检测操作的输出与预定义入口点的数据库相比较来执行的。
示例66:这一示例包括示例65的任何或全部特征,其中预定义入口点的数据库被存储在所述内容创建设备的存储器中或被维护在所述内容创建设备的远程。
示例67:这一示例包括示例59到62中的任一者的任何或全部特征,其中:所述指令在被执行时进一步使得执行包括以下各项的操作:分析所述深度数据和色彩数据中的至少一者以检测所述现实世界环境内的对象;以及所述三维模型包括所述现实世界环境内的检测到的对象的表示。
示例68:这一示例包括示例67的任何或全部特征,其中所述指令在被执行时进一步使得执行包括以下各项的操作:使用深度相机在一个或多个第一帧中获得所述深度数据;以及使用视觉相机用一个或多个第二帧来获得所述色彩数据;其中分析所述深度数据和所述色彩数据中的至少一者以检测定向包括对所述第一或第二帧中的至少一者执行图像处理操作。
示例69:这一示例包括示例68的任何或全部特征,其中所述指令在被执行时进一步使得执行包括以下各项的操作:标识所述现实世界环境中检测到的对象。
示例70:这一示例包括示例69的任何或全部特征,其中:所述图像处理操作包括对所述第一或第二帧中的至少一者执行对象检测;以及标识检测到的对象包括至少部分地通过将所述图像处理操作的输出与预定义对象的数据库相比较。
示例71:这一示例包括示例69的任何或全部特征,其中所述指令在被执行时进一步使得执行包括以下各项的操作:确定与所标识的检测到的对象相对应的对象参数;以及将所述对象参数与所述三维模型中的所标识的检测到的对象的表示进行相关。
示例72:这一示例包括示例69的任何或全部特征,其中确定所述对象参数是至少部分地通过将所标识的对象与将多个预定义对象同对应对象参数进行相关的数据库的比较来执行的。
示例73:这一示例包括示例69的任何或全部特征,其中所述指令在被执行时进一步使得执行包括以下各项的操作:对所述三维模型执行分割操作以将所述三维模型中所标识的对象的表示与所述三维模型的其余部分分割开。
示例74:这一示例包括示例73的任何或全部特征,其中分割操作造成所述三维模型中的空白,以及所述指令在被执行时进一步使得执行包括以下各项的操作:执行模型更新操作以填充所述空白。
示例75:这一示例包括示例59到62中的任一者的任何或全部特征,其中:所述指令在被执行时进一步使得执行包括以下各项的操作:组合多个组成三维模型以产生聚集模型,所述多个组成三维模型包括第一现实世界位置的第一组成模型和第二现实世界位置的第二组成模型,所述第一和第二现实世界位置按现实世界布置来被布置;其中在所述聚集模型中,所述第一和第二组成模型按与所述现实世界布置基本上相同的方式来布置。
示例76:这一示例包括示例75的任何或全部特征,其中:所述第一和第二组成模型分别包括第一和第二网格模型;以及组合所述多个组成三维模型包括组合所述第一网格模型的网格与所述第二网格模型的网格。
示例77:这一示例包括示例75的任何或全部特征,其中:所述第一组成模型与标识所述第一组成模型中的一个或多个第一锚点的第一元数据相关联,每一第一锚点与所述第一现实世界位置中的入口点相对应;所述第二组成模型与标识所述第二组成模型中的一个或多个第二锚点的第二元数据相关联,每一第二锚点与所述第一现实世界位置中的入口点相对应;以及组合所述多个组成三维模型以产生所述聚集模型包括连结所述第一和第二组成模型,以使得在所述聚集模型中,所述第一组成模型的第一锚点基本上对准所述第二组成模型的第二锚点。
示例78:这一示例包括示例77的任何或全部特征,其中:所述第一组成模型包括多个第一锚点;以及在所述聚集模型中,所述多个第一锚点中的所选一个锚点基本上对准所述第二组成模型的第二锚点。
示例79:这一示例包括示例78的任何或全部特征,其中:所述第一组成模型的所述多个第一锚点中的每一者与第一上下文信息相关联;所述第二组成模型的每一第二锚点与第二上下文信息相关联;以及所述指令在被执行时进一步使得执行包括以下各项的操作:至少部分地基于所述多个第一锚点中的每一者的所述第一上下文信息与关联于每一第二锚点的第二上下文信息的比较来标识所述多个第一锚点中的所述所选一个锚点。
示例80:这一示例包括示例79的任何或全部特征,其中所述上下文信息包括位置信息。
示例81:这一示例包括示例80的任何或全部特征,其中所述位置信息指定所述第一和第二锚点中的每一者的现实世界位置。
示例82:这一示例包括示例81的任何或全部特征,其中标识所述多个第一锚点中的所选一个锚点包括确定第一锚点是否处于第二锚点的阈值距离内。
示例83:这一示例包括示例79的任何或全部特征,其中所述上下文信息还包括定向信息,所述定向信息指定所述第一和第二锚点中的对应一个的定向。
示例84:这一示例包括示例83的任何或全部特征,其中标识所述多个第一锚点中的所选一个锚点包括确定第一锚点是否处于第二锚点的阈值距离内。
示例85:这一示例包括示例84的任何或全部特征,其中所述指令在被执行时进一步使得执行包括以下各项的操作:确定所述多个第一锚点中的所选一个锚点的定向是否与所述第二锚点相同;以及如果否,则重定向所述第一组成模型和所述第二组成模型中的至少一者。
示例86:这一示例包括示例80的任何或全部特征,其中标识所述多个第一锚点中的所选一个锚点被执行,以使得在所述聚集模型中,所述多个组成三维模型中的一者或多者不与所述多个组成三维模型中的另一者相冲突。
示例87:这一示例包括示例75的任何或全部特征,其中所述聚集模型是视频游戏世界;并且所述指令在被执行时进一步使得执行包括以下各项的操作:将视频游戏角色引入所述视频游戏世界。
示例88:根据这一示例,提供了一种包括用于执行示例30到58中的任一项所述的方法的装置的设备。
示例89:根据这一示例,提供了一种内容创建设备,包括:处理装置;存储器装置;相机装置;传感器装置;以及内容创建装置,其中:所述相机装置用于获得现实世界环境的深度数据以及所述现实世界环境的色彩数据;以及所述内容创建装置用于:至少部分地基于所述深度数据来产生所述现实世界环境的三维模型;分析所述深度数据和色彩数据中的至少一者以检测所述现实世界环境中的一个或多个入口点;以及将所述三维模型的一部分与检测到的入口点进行相关。
已在本文中采用的术语和表达是用作描述的术语而非限制的术语,并且在使用此类术语和表达时,不旨在排除所示出的和所描述的特征的任何等效方案(或其部分),应当认识到,在权利要求书的范围内,各种修改都是可能的。相应地,权利要求书旨在涵盖所有此类等效方案。此处描述了各种特征、方面,以及各实施例。各特征、各方面以及各实施例对彼此组合以及变更和修改敏感,如本领域的技术人员所理解的。因此,本发明应该被视为包含这样的组合、变更,以及修改。

Claims (24)

1.一种内容创建设备,包括处理器、存储器、相机模块、至少一个传感器、以及内容创建模块(CCM),其中:
所述相机模块包括用于获得现实世界环境的深度数据的深度相机和用于获得所述现实世界环境的色彩数据的视觉相机;
所述至少一个传感器用于获得所述内容创建设备的位置作为上下文信息,其中所述至少一个传感器用于标识多个被成像环境、被成像环境内的多个对象或其组合之间的物理关系;以及
所述CCM包括用于以下操作的电路系统:
至少部分地基于所述深度数据来产生所述现实世界环境的三维模型;
分析所述深度数据和色彩数据中的至少一者以检测所述现实世界环境中的一个或多个入口点;
将所述三维模型的一部分与检测到的入口点进行相关,其中所述检测到的入口点包括门口、走廊、拱门或其组合;以及
将所述上下文信息与所述三维模型的对应于检测到的入口点的那部分进行相关,
其中所述CCM进一步包括用于分析以寻找指示入口点的视觉线索的电路系统,所述视觉线索包括与所述一个或多个入口点相关联的结构、纹理、和/或颜色,
其中在进行分析时,所述结构、纹理、和/或颜色能被不同地加权。
2.如权利要求1所述的内容创建设备,其特征在于,所述至少一个传感器包括陀螺仪、全球定位传感器、或加速度计中的一者或多者。
3.如权利要求1和2中的任一项所述的内容创建设备,其特征在于:
所述深度数据被存储在所述存储器中的一个或多个第一帧中;
所述色彩数据被存储在所述存储器中的一个或多个第二帧中;以及
所述CCM用于至少部分地通过对所述第一或第二帧中的至少一者执行图像处理操作来检测所述一个或多个入口点。
4.如权利要求3所述的内容创建设备,其特征在于:
所述图像处理操作包括对所述第一或第二帧中的至少一者执行对象检测;
所述CCM还用于至少部分地通过将所述对象检测操作的输出与预定义入口点的数据库相比较来标识所述检测到的入口点的类型。
5.如权利要求1和2中的任一项所述的内容创建设备,其特征在于:
所述CCM进一步用于分析深度数据和色彩数据中的至少一者以检测所述现实世界环境内的对象;
所述三维模型包括所述现实世界环境内的检测到的对象的表示;
所述深度数据被存储在所述存储器中的一个或多个第一帧中;
所述色彩数据被存储在所述存储器中的一个或多个第二帧中;以及
所述CCM用于至少部分地通过对所述第一或第二帧中的至少一者执行图像处理操作来检测所述对象。
6.如权利要求5所述的内容创建设备,其特征在于:
所述图像处理操作包括对所述第一或第二帧中的至少一者执行对象检测,并且所述CCM用于至少部分地通过将所述图像处理操作的输出与预定义对象的数据库相比较以标识检测到的对象的类型;
所述CCM还用于:
确定与所标识的检测到的对象相对应的对象参数;以及
将所述对象参数与所述三维模型中的所标识的检测到的对象的表示进行相关。
7.如权利要求1和2中的任一项所述的内容创建设备,其特征在于:
所述CCM还用于组合多个组成三维模型以产生聚集模型,所述多个组成三维模型包括第一现实世界位置的第一组成模型和第二现实世界位置的第二组成模型,所述第一和第二现实世界位置按现实世界布置来被布置;以及
在所述聚集模型中,所述第一和第二组成模型按与所述现实世界布置基本上相同的方式来布置。
8.如权利要求7所述的内容创建设备,其特征在于:
所述第一组成模型与标识所述第一组成模型中的一个或多个第一锚点的第一元数据相关联,每一第一锚点与所述第一现实世界位置中的入口点相对应;
所述第二组成模型与标识所述第二组成模型中的一个或多个第二锚点的第二元数据相关联,每一第二锚点与所述第一现实世界位置中的入口点相对应;以及
所述CCM还用于至少部分地通过连结所述第一和第二组成模型来产生所述聚集模型,使得在所述聚集模型中,所述第一组成模型的第一锚点基本上对准所述第二组成模型的第二锚点。
9.如权利要求8所述的内容创建设备,其特征在于:
所述第一组成模型包括多个第一锚点;以及
所述CCM还用于组合所述多个组成模型,以使得在所述聚集模型中,所述多个第一锚点中的所选一个锚点基本上对准所述第二组成模型的第二锚点。
10.如权利要求9所述的内容创建设备,其特征在于:
所述第一组成模型的所述多个第一锚点中的每一者与第一上下文信息相关联;
所述第二组成模型的每一第二锚点与第二上下文信息相关联;以及
所述CCM还用于至少部分地基于所述多个第一锚点中的每一者的所述第一上下文信息与关联于每一第二锚点的第二上下文信息的比较来标识所述多个第一锚点中的所述所选一个锚点。
11.如权利要求6所述的内容创建设备,其特征在于,所述CCM还用于对所述三维模型执行分割操作以将所述三维模型中所标识的对象的表示与所述三维模型的其余部分分割开。
12.如权利要求10所述的内容创建设备,其特征在于,分割操作造成所述三维模型中的空白,并且所述CCM还用于执行模型更新操作以填充所述空白。
13.一种用于产生三维模型的方法,包括使用内容创建设备来:
至少部分地基于现实世界环境的深度数据来产生所述现实世界环境的三维模型;
分析所述深度数据和所述现实世界环境的色彩数据中的至少一者以检测所述现实世界环境中的一个或多个入口点;
将所述三维模型的一部分与检测到的入口点进行相关,其中所述检测到的入口点包括门口、走廊、拱门或其组合;以及
将至少一个传感器的上下文信息与所述三维模型的对应于所述检测到的入口点的那部分进行相关,其中所述上下文信息是所述内容创建设备的位置,并且其中所述至少一个传感器用于标识多个被成像环境、被成像环境内的多个对象或其组合之间的物理关系,
所述分析进一步包括用于分析以寻找指示入口点的视觉线索,所述视觉线索包括与所述一个或多个入口点相关联的结构、纹理、和/或颜色,
其中在进行分析时,所述结构、纹理、和/或颜色能被不同地加权。
14.如权利要求13所述的方法,其特征在于,进一步包括:
使用深度相机在一个或多个第一帧中获得所述深度数据;以及
使用视觉相机用一个或多个第二帧来获得所述色彩数据;
其中:
所述分析所述深度数据和色彩数据中的至少一者以检测一个或多个入口点包括对所述第一或第二帧中的至少一者执行图像处理操作;以及
所述三维模型包括检测到的入口点的表示。
15.如权利要求14所述的方法,其特征在于,进一步包括:
对所述第一或第二帧中的至少一者执行对象检测操作以检测所述现实世界环境中的对象,以及
至少部分地通过将所述对象检测操作的输出与预定义入口点的数据库相比较来标识检测到的对象的类型。
16.如权利要求13所述的方法,其特征在于,进一步包括:
分析所述深度数据和色彩数据中的至少一者以检测所述现实世界环境内的对象;
其中所述分析包括对所述第一或第二帧中的至少一者执行图像处理操作。
17.如权利要求16所述的方法,其特征在于:
所述图像处理操作包括对所述第一或第二帧中的至少一者执行对象检测以检测一个或多个检测到的对象;以及
所述方法进一步包括:
至少部分地通过将所述图像处理操作的输出与预定义对象的数据库相比较来标识检测到的对象;
确定与所标识的检测到的对象相对应的对象参数;以及
将所述对象参数与所述三维模型中的所标识的检测到的对象的表示进行相关。
18.如权利要求13所述的方法,其特征在于,进一步包括使用所述内容创建设备来:
组合多个组成三维模型以产生聚集模型,所述多个组成三维模型包括第一现实世界位置的第一组成模型和第二现实世界位置的第二组成模型,所述第一和第二现实世界位置按现实世界布置来被布置;
其中在所述聚集模型中,所述第一和第二组成模型按与所述现实世界布置基本上相同的方式来布置。
19.如权利要求18所述的方法,其特征在于:
所述第一组成模型与标识所述第一组成模型中的一个或多个第一锚点的第一元数据相关联,每一第一锚点与所述第一现实世界位置中的入口点相对应;
所述第二组成模型与标识所述第二组成模型中的一个或多个第二锚点的第二元数据相关联,每一第二锚点与所述第一现实世界位置中的入口点相对应;以及
组合所述多个组成三维模型以产生所述聚集模型包括连结所述第一和第二组成模型,以使得在所述聚集模型中,所述第一组成模型的第一锚点基本上对准所述第二组成模型的第二锚点。
20.如权利要求19所述的方法,其特征在于:
所述第一组成模型的所述多个第一锚点中的每一者与第一上下文信息相关联;
所述第二组成模型的每一第二锚点与第二上下文信息相关联;以及
所述方法还包括至少部分地基于所述多个第一锚点中的每一者的所述第一上下文信息与关联于每一第二锚点的第二上下文信息的比较来标识所述多个第一锚点中的所述所选一个锚点。
21.如权利要求17所述的方法,其特征在于,进一步包括对所述三维模型执行分割操作以将所述三维模型中所标识的对象的表示与所述三维模型的其余部分分割开。
22.如权利要求21所述的方法,其特征在于,所述分割操作造成所述三维模型中的空白,并且所述方法进一步包括执行模型更新操作以填充所述空白。
23.一种包括用于执行如权利要求13到22中的任一项所述的方法的装置的设备。
24.包括指令的至少一个计算机可读介质,所述指令在由内容创建设备的处理器执行时使得执行如权利要求13到22中的任一项所述的方法。
CN201680030340.6A 2015-06-26 2016-05-27 用于生成计算机模型的技术以及利用它们的设备、系统和方法 Active CN107683165B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/751,859 US20160379405A1 (en) 2015-06-26 2015-06-26 Technologies for generating computer models, devices, systems, and methods utilizing the same
US14/751,859 2015-06-26
PCT/US2016/034731 WO2016209551A1 (en) 2015-06-26 2016-05-27 Technologies for generating computer models, devices, systems, and methods utilizing the same

Publications (2)

Publication Number Publication Date
CN107683165A CN107683165A (zh) 2018-02-09
CN107683165B true CN107683165B (zh) 2022-06-03

Family

ID=57585342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680030340.6A Active CN107683165B (zh) 2015-06-26 2016-05-27 用于生成计算机模型的技术以及利用它们的设备、系统和方法

Country Status (4)

Country Link
US (2) US20160379405A1 (zh)
EP (1) EP3314578A4 (zh)
CN (1) CN107683165B (zh)
WO (1) WO2016209551A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2016102387A4 (en) * 2015-11-04 2019-05-02 Illusio, Inc. Augmented reality imaging system for cosmetic surgical procedures
US10902567B2 (en) * 2015-11-24 2021-01-26 Koninklijke Philips N.V. Handling multiple HDR image sources
US10008046B2 (en) * 2016-06-29 2018-06-26 Here Global B.V. Method, apparatus and computer program product for adaptive venue zooming in a digital map interface
US10445861B2 (en) * 2017-02-14 2019-10-15 Qualcomm Incorporated Refinement of structured light depth maps using RGB color data
US10388077B2 (en) * 2017-04-25 2019-08-20 Microsoft Technology Licensing, Llc Three-dimensional environment authoring and generation
CN108339270B (zh) * 2018-02-09 2019-03-08 网易(杭州)网络有限公司 游戏场景中静态组件的处理方法、渲染方法及装置
US10671163B2 (en) * 2018-07-24 2020-06-02 Microsoft Technology Licensing, Llc Refining virtual mesh models through physical contacts
US11182954B2 (en) 2018-09-07 2021-11-23 Hivemapper Inc. Generating three-dimensional geo-registered maps from image data
US10922859B2 (en) * 2018-10-15 2021-02-16 Adobe Inc. Vector art object deformation techniques
DE112020002268T5 (de) * 2019-05-06 2022-02-10 Apple Inc. Vorrichtung, verfahren und computerlesbares medium zur darstellung von dateien computergenerierter realität
US11062183B2 (en) 2019-05-21 2021-07-13 Wipro Limited System and method for automated 3D training content generation
US11928783B2 (en) 2021-12-30 2024-03-12 Snap Inc. AR position and orientation along a plane
US11887260B2 (en) * 2021-12-30 2024-01-30 Snap Inc. AR position indicator
US11954762B2 (en) 2022-01-19 2024-04-09 Snap Inc. Object replacement system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681661A (zh) * 2011-01-31 2012-09-19 微软公司 在玩游戏中使用三维环境模型

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446030B1 (en) 1998-01-24 2002-09-03 Quantapoint, Inc. Method and apparatus for establishing the layout of a building
CN101509763A (zh) * 2009-03-20 2009-08-19 天津工业大学 单目高精度大型物体三维数字化测量系统及其测量方法
TW201040893A (en) * 2009-05-12 2010-11-16 Ind Tech Res Inst Method and apparatus for recognitizing types of vehicles
EP2499827A4 (en) * 2009-11-13 2018-01-03 Pixel Velocity, Inc. Method for tracking an object through an environment across multiple cameras
US10303035B2 (en) * 2009-12-22 2019-05-28 View, Inc. Self-contained EC IGU
CN101742349B (zh) * 2010-01-05 2011-07-20 浙江大学 一种对三维场景的表达方法及其电视系统
US20120173204A1 (en) * 2010-12-30 2012-07-05 Honeywell International Inc. Building map generation using location and tracking data
US8401242B2 (en) 2011-01-31 2013-03-19 Microsoft Corporation Real-time camera tracking using depth maps
US8711206B2 (en) * 2011-01-31 2014-04-29 Microsoft Corporation Mobile camera localization using depth maps
US10796494B2 (en) 2011-06-06 2020-10-06 Microsoft Technology Licensing, Llc Adding attributes to virtual representations of real-world objects
US8633970B1 (en) 2012-08-30 2014-01-21 Google Inc. Augmented reality with earth data
US9589078B2 (en) * 2012-09-27 2017-03-07 Futurewei Technologies, Inc. Constructing three dimensional model using user equipment
US9857470B2 (en) 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
CN103260015B (zh) * 2013-06-03 2016-02-24 程志全 基于RGB-Depth摄像头的三维可视监控系统
US9761053B2 (en) 2013-08-21 2017-09-12 Nantmobile, Llc Chroma key content management systems and methods
US9438775B2 (en) 2013-09-17 2016-09-06 Occipital, Inc. Apparatus for real-time 3D capture
US9630110B2 (en) * 2013-09-23 2017-04-25 Empire Technology Development Llc Location graph adapted video games
US9898844B2 (en) * 2013-12-31 2018-02-20 Daqri, Llc Augmented reality content adapted to changes in real world space geometry
US9767228B2 (en) * 2014-01-22 2017-09-19 Honeywell International Inc. Determining a deployment of an access control system
US9953111B2 (en) * 2014-06-06 2018-04-24 Matterport, Inc. Semantic understanding of 3D data
US11250630B2 (en) * 2014-11-18 2022-02-15 Hallmark Cards, Incorporated Immersive story creation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681661A (zh) * 2011-01-31 2012-09-19 微软公司 在玩游戏中使用三维环境模型

Also Published As

Publication number Publication date
EP3314578A1 (en) 2018-05-02
EP3314578A4 (en) 2019-01-16
CN107683165A (zh) 2018-02-09
US11189085B2 (en) 2021-11-30
WO2016209551A1 (en) 2016-12-29
US20160379405A1 (en) 2016-12-29
US20200184717A1 (en) 2020-06-11

Similar Documents

Publication Publication Date Title
CN107683165B (zh) 用于生成计算机模型的技术以及利用它们的设备、系统和方法
Hodaň et al. BOP challenge 2020 on 6D object localization
CN110310175B (zh) 用于移动增强现实的系统和方法
US10657652B2 (en) Image matting using deep learning
US11373354B2 (en) Techniques for rendering three-dimensional animated graphics from video
US11003956B2 (en) System and method for training a neural network for visual localization based upon learning objects-of-interest dense match regression
US9286725B2 (en) Visually convincing depiction of object interactions in augmented reality images
CN102663722B (zh) 使用深度图像的活动对象分割
CN105981076B (zh) 合成增强现实环境的构造
Simonetti Ibañez et al. Vuforia v1. 5 SDK: Analysis and evaluation of capabilities
US10363486B2 (en) Smart video game board system and methods
CN109069929A (zh) 用于玩具识别的系统和方法
CN111492374A (zh) 图像识别系统
KR102042793B1 (ko) 실제 장면의 화상을 가상 이미지와 오버레이하는 방법 및 장치, 그리고 모바일 디바이스
CN111625100A (zh) 图画内容的呈现方法、装置、计算机设备及存储介质
Hu et al. Dt-dt: top-down human activity analysis for interactive surface applications
CN106980847B (zh) 一种基于生成与共享ARMark的AR游戏与活动的方法和系统
CN113359985A (zh) 数据展示方法、装置、计算机设备以及存储介质
Johri et al. Marker-less augmented reality system for home interior and designing
Ortman et al. Guidelines for user interactions in mobile augmented reality
US11527064B1 (en) Combined 2D and 3D processing of images or spaces
Baca et al. Automated data annotation for 6-dof ai-based navigation algorithm development
Numata et al. A 3D Marker Recognition Method for AR Game Development
Cosker et al. Applications of face analysis and modeling in media production
KR20200060202A (ko) 증강현실 기반의 동화 구현 방법 및 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant