CN114510626B - 用于提供增强的媒体的***和方法 - Google Patents

用于提供增强的媒体的***和方法 Download PDF

Info

Publication number
CN114510626B
CN114510626B CN202111209661.1A CN202111209661A CN114510626B CN 114510626 B CN114510626 B CN 114510626B CN 202111209661 A CN202111209661 A CN 202111209661A CN 114510626 B CN114510626 B CN 114510626B
Authority
CN
China
Prior art keywords
real world
media
model
space
world space
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
CN202111209661.1A
Other languages
English (en)
Other versions
CN114510626A (zh
Inventor
B·L·德尔加多
S·勒鲁
D·博尚
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.)
Xiu Pufei Co
Original Assignee
Xiu Pufei Co
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 Xiu Pufei Co filed Critical Xiu Pufei Co
Publication of CN114510626A publication Critical patent/CN114510626A/zh
Application granted granted Critical
Publication of CN114510626B publication Critical patent/CN114510626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开部分涉及包括属于真实世界空间的三维(3D)空间信息的空间意识媒体。空间意识媒体可以将该3D空间信息映射到诸如图像之类的媒体,例如,以为媒体提供3D空间上下文。这可以允许用户更灵活且高效地与真实世界空间中与他们相关的虚拟内容进行交互。根据一个实施例,空间意识媒体被增强以提供覆盖有相对于真实世界空间的3D空间特征定义的3D模型的渲染的真实世界空间的图像。在增强空间意识媒体之前,可以基于3D模型和/或空间意识媒体来确定3D模型相对于真实世界空间的3D空间特征的推荐位置。

Description

用于提供增强的媒体的***和方法
技术领域
本申请涉及增强的媒体,并且在特定实施例中,涉及提供增强的媒体。
背景技术
AR涉及使用计算机生成的或虚拟的内容来增强真实世界体验。在一些情况下,AR涉及将虚拟内容叠加在物理真实世界内容之上。这种叠加可以是建设性的或破坏性的。建设性的AR向真实世界体验添加了内容,而破坏性的AR掩盖了真实世界体验中的内容。AR不同于虚拟现实(VR)。VR涉及完全虚拟体验的创建,而AR至少保留了一部分真实世界体验,但是使用虚拟内容更改了对真实世界体验的感知。
发明内容
传统AR体验的一个限制是,用户通常需要物理地存在于真实世界空间中,以便用虚拟内容来增强该真实世界空间。然而,在一些情况下,当用户没有存在于该真实世界空间中时,用户可能希望增强和查看真实世界空间。传统AR体验的另一个限制是,它们通常一次仅可以从一个视角查看,但是用户可以从同时从多个不同视角查看AR体验中受益。传统AR体验的进一步限制是,一旦结束,AR体验可能就需要通过例如扫描真实世界空间来重新初始化。
本公开的一些方面涉及生成和存储“空间意识媒体”,其包括例如对应于真实世界空间的视觉、音频和/或触觉内容以及标识真实世界空间的三维(3D)空间特征的信息。在一些情况下,可以用虚拟内容来增强空间意识媒体,以创建虚拟用户体验。增强的空间意识媒体,其在本文中也被称为增强的媒体,可以被实现来帮助克服传统AR体验的上述限制。
在一些实施例中,对应于特定真实世界空间的空间意识媒体可以存储在服务器上,并由来自世界任何地方的设备访问。空间意识媒体可以包括真实世界空间的图像和标识真实世界空间的3D空间特征的信息。标识真实世界空间的3D空间特征可以允许以逼真的方式生成虚拟内容并将其覆盖在图像上,使得虚拟内容可以看起来物理地存在于真实世界空间中。因为空间意识媒体可以被远程访问,所以当增强空间意识媒体时,设备不需要物理地存在于真实世界空间中。空间意识媒体还可以允许设备同时从多个不同的视角查看增强的真实世界空间。另外,并且与AR体验相比,设备可以在不同时间增强相同的空间意识媒体,而不需要任何重新初始化。
根据本公开的一个方面,提供了一种计算机实现的方法,包括获得搜索查询的结果。搜索查询可以源自与用户相关联的设备处的用户输入,并且结果可以包括多个3D模型。例如,多个3D模型中的每一个可以对应于不同的产品。该方法还可以包括从存储器获得所存储的媒体,该所存储的媒体包括真实世界空间的图像和标识真实世界空间的3D空间特征的信息。可选地,所存储的媒体还包括真实世界空间的照明信息。该方法可以进一步包括基于所存储的媒体和多个3D模型中的至少一些模型来提供增强的媒体。所提供的增强的媒体可以包括增强的媒体的多个不同实例,每个增强的媒体的多个不同实例包括覆盖有相对于3D空间特征定义的多个3D模型中的至少一些中的相应一个的渲染的真实世界空间的图像的至少一部分。可选地,输出增强的媒体的多个不同实例以用于在设备上同时显示。
在一些实施例中,图像是从第一视角与用户相关联的真实世界空间的第一图像,所存储的媒体进一步包括从第二视角与用户相关联的真实世界空间的第二图像,并且所提供的增强的媒体进一步包括增强的媒体的不同实例,每个实例包括用相对于3D空间特征定义的多个3D模型中的至少一些中的相应一个的渲染覆盖的真实世界空间的第二图像的至少一部分。
在一些实施例中,提供增强的媒体包括基于第一视角来渲染3D模型中的至少一些和/或基于第二视角来渲染3D模型中的至少一些。
在一些实施例中,该方法进一步包括当设备正在显示增强的媒体的多个不同实例的增强的媒体的第一实例时,从设备接收相对于真实世界空间的3D空间特征虚拟地重新定位多个3D模型中的至少一些中的特定3D模型的指令。增强的媒体的第一实例可以包括覆盖有相对于3D空间特征定义的特定3D模型的渲染的真实世界空间的第一图像的至少一部分。该方法然后可以包括基于该指令相对于真实世界空间的3D空间特征重新定义特定的3D模型,并且提供增强的媒体的更新的第一实例。增强的媒体的更新的第一实例可以包括覆盖有相对于真实世界空间的3D空间特征重新定义的特定3D模型的第一更新渲染的第一图像的至少一部分。此外,该方法可以包括从设备接收基于第二图像显示增强的媒体的更新的第二实例的指令,并且提供增强的媒体的更新的第二实例,该更新的第二实例包括覆盖有相对于真实世界空间的3D空间特征重新定义的特定3D模型的第二更新渲染的第二图像的至少一部分。
在一些实施例中,所存储的媒体包括真实世界空间的视频,对应于视频的第一帧的第一图像以及对应于视频的第二帧的第二图像。
在一些实施例中,该方法进一步包括生成所存储的媒体,这可以在多个不同的会话中完成。例如,生成所存储的媒体可以包括基于真实世界空间的3D扫描来标识3D空间特征;捕获真实世界空间的第一图像;在捕获第一图像之后,在真实世界空间的3D扫描内重新初始化设备;以及在重新初始化该设备之后,使用该设备来捕获真实世界空间的第二图像。在真实世界空间的3D扫描内重新初始化设备可以包括确定设备相对于3D空间特征的位置。
在一些实施例中,图像由进一步的设备捕获,该进一步的设备可以与关联于搜索查询的设备相同或不同。然后,所存储的媒体进一步可以包括当捕获进一步的设备的第一图像和相机参数时该进一步的设备相对于3D空间特征的位置。
在一些实施例中,真实世界空间的3D空间特征包括真实世界空间内的表面。对于增强的媒体的多个不同实例中的每一个,相对于表面定义多个3D模型中的至少一些中的相应一个,使得多个3D模型中的至少一些中的相应一个的渲染描绘搁置在表面上的对应对象。
本公开的一些方面涉及自动确定3D模型相对于由空间意识媒体定义的真实世界空间的3D空间特征的合适位置。然后,可以基于所确定的3D模型的位置来增强空间意识媒体,以便在真实世界空间中的该位置处描绘由3D模型表示的对象。这可以使得***能够在没有任何用户输入的情况下,在真实世界空间内的上下文相关位置中示出虚拟对象。
根据本公开的另一个方面,提供了一种计算机实现的方法,包括从与用户相关联的用户设备接收对资源的请求,以及回复或响应于该请求。回复可以包括获得包括与用户相关联的真实世界空间的图像和标识真实世界空间的3D空间特征的信息的媒体,获得对象的3D模型,和/或基于媒体和3D模型中的至少一个,确定3D模型相对于真实世界空间的3D空间特征的推荐位置。回复可以进一步包括指令用户设备显示资源,该资源包括增强的媒体,其中图像的至少一部分覆盖有在相对于3D空间特征的位置处定义的3D模型的渲染。
在一些实施例中,真实世界空间的3D空间特征包括真实世界空间内的表面,3D模型的推荐位置包括表面上的坐标,并且3D模型相对于表面被定义,使得增强的媒体描绘搁置在表面上的对象。
在一些实施例中,确定3D模型相对于真实世界空间的3D空间特征的推荐位置包括向经训练的机器学习(ML)模型提供输入,该输入基于媒体和3D模型中的至少一个,并且基于ML模型的输出来获得3D模型相对于真实世界空间的3D空间特征的位置。
在一些实施例中,ML模型的输入包括标识真实世界空间的3D空间特征的至少一些信息。这里,可以使用训练数据集来训练ML模型,该训练数据集包括标识多个真实世界空间的3D空间特征和那些真实世界空间中3D模型的用户定义位置的信息。这些3D模型可以包括3D模型和类似于3D模型的其它3D模型中的一个或两个。如果训练数据集仅包括3D模型的用户定义位置,则那么ML模型可以是特定于3D模型的。替代地,如果训练数据集也或者代替地包括类似于3D模型的其它3D模型的用户定义位置,则那么ML模型可以特定于一种类型的对象。例如,所有的3D模型可以表示相同类型的对象。
在一些实施例中,ML模型的输入包括对象的产品信息。可以使用训练数据集来训练ML模型,该训练数据集包括多个对象的产品信息和对应3D模型相对于真实世界空间的3D空间特征的用户定义位置。这里,ML模型可以特定于真实世界空间。
在一些实施例中,ML模型的输入包括标识与用户相关联的真实世界空间的3D空间特征的信息和对象的产品信息中的至少一些。可以使用训练数据集来训练ML模型,该训练数据集包括标识多个真实世界空间的3D空间特征的信息、多个对象的产品信息以及那些真实世界空间中对应3D模型的用户定义位置。例如,对于多个真实世界空间和/或对象,ML模型可以被一般化。
在一些实施例中,3D模型的位置与真实世界空间的特定3D空间特征重叠,并且该特定3D空间特征在增强的媒体中被移除。这里,信息可以进一步将特定3D空间特征标识为可移动的。特定的3D空间特征可以帮助确定3D模型的位置。例如,确定3D模型相对于真实世界空间的3D空间特征的推荐位置可以包括确定真实世界空间的特定3D空间特征与对象相关,并且基于特定3D空间特征相对于真实世界空间的其它3D空间特征的位置来确定3D模型的推荐位置。
根据本公开的又另一个方面,提供了一种***,该***包括例如用于存储诸如媒体、空间信息、用户定义位置、指令和模型之类的信息的存储器,以及被配置为施行本文中公开的任何方法的一个或多个处理器。
根据本公开的进一步的方面,提供了一种存储计算机可执行指令的非暂时性计算机可读介质,当由计算机执行时,所述指令使计算机施行本文中公开的任何方法。
本教导提供了一种方法、***和计算机程序,如随后的权利要求中详述的。
附图说明
将参考附图仅通过示例的方式描述实施例,其中:
图1是根据实施例的电子商务平台的框图;
图2是根据实施例的管理员的主页的示例;
图3图示了图1的电子商务平台,但是包括空间意识媒体引擎;
图4图示了根据实施例的形成与客厅相关联的空间意识媒体的一部分的客厅的图像;
图5图示了图4的图像,但是其中使用阴影线标识了客厅的不同3D表面;
图6至8图示了与图4的客厅相关联的增强的空间意识媒体的示例实例;
图9是图示根据实施例的用于实现空间意识媒体的***的框图;
图10是图示根据实施例的用于生成空间意识媒体的方法的流程图;
图11是图示根据实施例的用于提供增强的空间意识媒体的方法的流程图;
图12至14图示了根据实施例的使用增强的空间意识媒体通过在线商店向顾客呈现产品的示例;
图15图示了图9的***,但是包括3D模型位置记录和3D模型位置生成器;
图16是图示根据实施例的用于训练和实现ML模型以确定3D模型相对于真实世界空间的3D空间特征的位置的过程的流程图;
图17是图示根据实施例的用于使用自动确定的3D模型的位置来提供增强的空间意识媒体的方法的流程图;以及
图18至21图示了根据实施例的部分通过在真实世界空间中自动定位3D模型而提供的在线商店中的用户体验的示例。
具体实施方式
为了说明性的目的,下面将结合各图更详细地解释特定示例实施例。
示例电子商务平台
在一些实施例中,本文中公开的方法可以在商务平台上或与商务平台相关联地施行,所述商务平台在本文中将被称为电子商务平台。因此,将描述电子商务平台的示例。
图1图示了根据一个实施例的电子商务平台100。电子商务平台100可以用于向顾客提供商家产品和服务。虽然本公开设想使用装置、***和过程来购买产品和服务,但是为了简单起见,本文中的描述将涉及产品。贯穿本公开对产品的所有引用也应该理解为对产品和/或服务的引用,包括物理产品、数字内容、票据、订阅、要提供的服务等。
虽然贯穿本公开设想“商家”和“顾客”可以不仅仅是个人,但是为了简单起见,本文中的描述一般可以指照此的商家和顾客。贯穿本公开对商家和顾客的所有引用也应该理解为对个人、公司、企业、计算实体等的群体的引用,并且可以表示产品的盈利或非盈利交换。另外,虽然贯穿本公开涉及“商家”和“顾客”,并且描述了他们的角色,但是电子商务平台100应该被理解为更一般地支持电子商务环境中的用户,并且贯穿本公开对商家和顾客的所有引用也应该被理解为对用户的引用,诸如在用户是商家-用户(例如,产品的销售者、零售商、批发商或提供商)、顾客-用户(例如,产品的购买者、购买代理或用户)、预期用户(例如,浏览且尚未承诺购买的用户、评估电子商务平台100在营销和销售产品等方面的潜在用途的用户)、服务提供商用户(例如,运输提供商112、金融提供商等)、公司或企业用户(例如,购买、销售或使用产品的公司代表;企业用户;顾客关系或顾客管理代理等)、信息技术用户、计算实体用户(例如,用于购买、销售或使用产品的计算机器人)等。
电子商务平台100可以提供集中式***,用于向商家提供用于管理其业务的在线资源和设施。本文中描述的设施可以部分或全部通过在一个或多个处理器上执行计算机软件、模块、程序代码和/或指令的机器来部署,所述处理器可以是平台100的一部分或在平台100外部。商家可以通过以下利用电子商务平台100来管理与顾客的商务,诸如通过在线商店138、通过渠道110A-B、通过物理位置(例如,物理店面或其它位置,诸如通过信息亭、终端、阅读器、打印机、3D打印机等)的POS设备152来实现与顾客的电子商务体验、通过电子商务平台100来管理他们的业务、以及通过电子商务平台100的通信设施129来与顾客交互、或其任何组合。商家可以利用电子商务平台100作为与顾客的唯一商务存在,或者结合其它商家商务设施,诸如通过物理商店(例如,“实体”零售店)、商家平台外网站104(例如,商务互联网网站或者由商家或代表商家独立于电子商务平台支持的其它互联网或网络财产或资产)等。然而,甚至这些“其它”商家商业设施也可以被合并到电子商务平台中,诸如其中商家的物理商店中的POS设备152被链接到电子商务平台100中,其中商家平台外网站104被绑定到电子商务平台100中,诸如通过将内容从商家平台外网站104链接到在线商店138的“购买按钮”等。
在线商店138可以表示包括多个虚拟店面的多租户设施。在实施例中,商家可以诸如通过商家设备102(例如,计算机、膝上型计算机、移动计算设备等)来管理在线商店138中的一个或多个店面,并且通过多个不同的渠道110A-B(例如,在线商店138;通过POS设备152的物理店面;电子市场,通过集成到网站或社交媒体渠道中的电子购买按钮,诸如在社交网络、社交媒体页面、社交媒体消息传递***上;等)来向顾客提供产品。商家可以跨渠道110A-B销售,并且然后通过电子商务平台100来管理他们的销售,其中渠道110A可以在电子商务平台100内部提供或者从电子商务渠道110B外部提供。商家可以在他们的物理零售店中、在弹出窗口处、通过批发、通过电话等进行销售,并且然后通过电子商务平台100来管理他们的销售。商家可以采用这些的全部或任何组合,诸如通过利用POS设备152的物理店面来维持业务,通过在线商店138来维持虚拟店面,以及利用通信设施129来利用顾客交互和分析132来提高销售的概率。贯穿本公开,术语在线商店138和店面可以同义地用于指通过电子商务平台100提供存在的商家的在线电子商务,其中在线商店138可以指由电子商务平台100支持的店面的多租户集合(例如,对于多个商家)或者个人商家的店面(例如,商家的在线商店)。
在一些实施例中,顾客可以通过顾客设备150(例如,计算机、膝上型计算机、移动计算设备等)、POS设备152(例如,零售设备、信息亭、自动结账***等)或本领域已知的任何其它商务接口设备进行交互。电子商务平台100可以使得商家能够通过在线商店138、通过物理位置(例如,商家的店面或别处)的POS设备152来联系顾客,以通过经由电子通信设施129的对话等来促进与顾客的商务,从而提供了一种用于联系顾客的***,并为可用于联系顾客和与顾客交互的真实或虚拟路径促进商家服务。
在一些实施例中,并且如本文中进一步描述的,电子商务平台100可以通过包括处理器和存储器的处理设施来实现,该处理设施存储指令集,当被执行时,所述指令集使电子商务平台100施行如本文中描述的电子商务和支持功能。处理设施可以是服务器、客户端、网络基础设施、移动计算平台、云计算平台、固定计算平台或其它计算平台的一部分,并且在电子商务平台100的电子组件、商家设备102、支付网关106、应用开发者、渠道110A-B、运输提供商112、顾客设备150、销售点设备152等之间提供电子连接和通信。电子商务平台100可以被实现为云计算服务、软件即服务(SaaS)、基础设施即服务(IaaS)、平台即服务(PaaS)、桌面即服务(DaaS)、受管软件即服务(MSaaS)、移动后端即服务(MBaaS)、信息技术管理即服务(ITMaaS)等,诸如在软件和交付模型中,其中软件在订阅的基础上被许可并集中托管(例如,由用户使用客户端(例如,瘦客户端)经由网络浏览器或其它应用访问,通过由POS设备访问等)。在一些实施例中,电子商务平台100的元素可以被实现为在各种平台和操作***上操作,所述平台和操作***诸如iOS、Android、网络上等(例如,管理员114在iOS、Android和网络的给定在线商店的多个实例中被实现,每个实例具有类似的功能)。
在一些实施例中,在线商店138可以通过由电子商务平台100的服务器提供的网页服务于顾客设备150。服务器可以从安装在顾客设备150上的浏览器或其它应用接收对网页的请求,其中浏览器(或其它应用)通过IP地址连接到服务器,该IP地址通过翻译域名获得。作为回报,服务器发送回所请求的网页。网页可以以超文本标记语言(HTML)、模板语言、JavaScript等、或其任何组合来编写或包括这些语言。例如,HTML是一种描述网页的静态信息(诸如网页的布局、格式和内容)的计算机语言。网站设计者和开发人员可以使用模板语言来构建网页,所述网页组合了静态内容和动态内容,所述静态内容在多个页面上是相同的,所述动态内容从一个页面到下一个页面改变。模板语言可以使得可能重用定义网页布局的静态元素,同时用来自在线商店的数据动态填充页面。静态元素可以以HTML编写,并且动态元素可以以模板语言编写。文件中的模板语言元素可以充当占位符,使得文件中的代码被编译并发送到顾客设备150,并且然后模板语言被来自在线商店138的数据替换,诸如当安装主题时。模板和主题可以考虑标签、对象和过滤器。客户端设备网络浏览器(或其它应用)然后相应地渲染页面。
在一些实施例中,在线商店138可以由电子商务平台100服务于顾客,其中顾客可以浏览和购买各种可用产品(例如,将它们添加到购物车、通过购买按钮立即购买等)。在线商店138可以以透明的方式服务于顾客,而顾客不必知道它正在通过电子商务平台100(而不是直接从商家)提供。商家可以使用商家可配置的域名、可定制的HTML主题等来定制他们的在线商店138。商家可以通过主题***来定制他们的网站的外观和感觉,诸如其中商家可以通过改变他们的主题来选择和改变他们的在线商店138的外观和感觉,同时在在线商店的产品层次结构内示出相同的底层产品和商业数据。主题可以通过主题编辑器进一步定制,所述主题编辑器是使得用户能够灵活地定制他们网站的设计的设计接口。主题也可以使用特定于主题的设置进行定制,所述设置改变诸如特定颜色、字体和预先构建的布局方案之类的方面。在线商店可以实现网站内容的内容管理***。商家可以创作博客帖子或静态页面,并诸如通过博客、文章等将它们发布到他们的在线商店138,以及配置导航菜单。商家可以将(例如,用于产品的)图像、视频、内容、数据等上传到电子商务平台100,诸如用于(例如作为数据134)由***存储。在一些实施例中,电子商务平台100可以提供用于调整图像大小、将图像与产品相关联、添加文本并将文本与图像相关联、为新产品变体添加图像、保护图像等的功能。
如本文中所描述的,电子商务平台100可以通过包括在线商店138的多个不同渠道110A-B、通过电话以及通过如本文中所描述的物理POS设备152向商家提供产品交易设施。电子商务平台100可以包括与运行在线业务相关联的业务支持服务116、管理员114等,诸如提供与其在线商店相关联的域服务118、用于促进与顾客交易的支付服务120、用于为购买的产品提供顾客运输选项的运输服务122、与产品保护和责任相关联的风险和保险服务124、商家账单等。服务116可以经由电子商务平台100或者与外部设施相关联地提供,诸如通过用于支付处理的支付网关106、用于加速产品运输的运输提供商112等。
在一些实施例中,电子商务平台100可以提供集成运输服务122(例如,通过电子商务平台运输设施或通过第三方运输公司),诸如向商家提供实时更新、跟踪、自动费率计算、批量订单准备、标签打印等。
图2描绘了管理员114的主页面的非限制性实施例,该主页面可以示出关于日常任务、商店的最近活动、以及商家为构建他们的业务可以采取的接下来的步骤的信息。在一些实施例中,商家可以经由商家设备102(诸如从台式计算机或移动设备)登录到管理员114,并管理他们的在线商店138的各方面,诸如查看在线商店138的最近活动、更新在线商店138的目录、管理订单、最近的参观活动、总订单活动等。在一些实施例中,商家可能能够通过使用边注栏来访问管理员114的不同部分,诸如图2上所示出的。管理员114的各部分可以包括用于访问和管理商家的业务的核心方面的各种接口,包括订单、产品、顾客、可用报告和折扣。管理员114还可以包括用于管理商店的销售渠道的接口,该接口包括在线商店、可用于顾客访问商店的(一个或多个)移动应用(移动App)、POS设备、和/或购买按钮。管理员114还可以包括用于管理安装在商家的账户上的应用(App)的接口;适用于商家的在线商店138和账户的设置。商家可以使用搜索栏来寻找产品、页面或其它信息。取决于商家正在使用的设备102或软件应用,可以通过管理员114为它们启用不同的功能。例如,如果商家从浏览器登录到管理员114,则他们可能能够管理他们的在线商店138的所有方面。如果商家从他们的移动设备(例如,经由移动应用)登录,则他们可能能够查看他们的在线商店138的所有方面或方面的子集,诸如查看在线商店138的最近活动、更新在线商店138的目录、管理订单等。
关于商务和商家的在线商店138的参观者的更详细的信息可以通过收购报告或度量(诸如显示商家的总体业务的销售总结、活跃的销售渠道的特定销售和参与数据等)来查看。报告可以包括收购报告、行为报告、顾客报告、金融报告、营销报告、销售报告、定制报告等。商家可能能够诸如通过使用下拉菜单来查看来自不同时间段(例如,天、周、月等)的不同渠道110A-B的销售数据。可以为想要更详细地查看商店的销售和参与数据的商家提供概览仪表板。可以提供主页度量部分中的活动馈送来图示商家的账户上的活动的概览。例如,通过点击“查看所有最近活动”仪表板按钮,商家可能能够在其账户上看到最近活动的更长的馈送。主页面可以诸如基于账户状态、增长、最近的顾客活动等示出关于商家的在线商店138的通知。可以提供通知来协助商家导航通过诸如捕获支付、将订单标记为经履行、将完成的订单存档等之类的过程。
电子商务平台100可以提供用于提供电子通信和营销的通信设施129和关联的商家接口,诸如利用电子消息传递聚合设施来收集和分析在商家、顾客、商家设备102、顾客设备150、POS设备152等之间的通信交互,以聚合和分析通信,诸如为了增加提供产品的销售的潜力等。例如,顾客可能具有与产品相关的疑问,这可能在顾客和商家(或表示商家的基于自动处理器的代理人)之间产生对话,其中通信设施129分析交互并向商家提供关于如何改进销售的概率的分析。
电子商务平台100可以诸如通过安全卡服务器环境为与顾客的安全金融交易提供金融设施120。电子商务平台100可以诸如在支付卡行业数据(PCI)环境(例如,卡服务器)中存储***信息,以调和金融、给商家开账单、(例如,当使用资本时)在电子商务平台100的金融机构账户和商家的后台账户之间施行自动清算所(ACH)转账等。这些***可能遵从萨班斯-奥克斯利(Sarbanes-Oxley)法案(SOX),并且具有在其开发和操作中要求的高度的勤奋。金融设施120还可以诸如通过资本借贷(例如,借贷资金、现金预付等)向商家提供金融支持和提供保险。此外,电子商务平台100可以提供营销和合作伙伴服务的集合,并控制电子商务平台100和合作伙伴之间的关系。他们还可以用电子商务平台100连接并搭载新商家。这些服务可以通过使商家更容易跨电子商务平台100工作来使得商家能够增长。通过这些服务,可以经由电子商务平台100向商家提供帮助设施。
在一些实施例中,在线商店138可以支持大量独立管理的店面,并且每天为各种产品处理大量交易数据。交易数据可以包括顾客接触信息、账单信息、运输信息、关于采购的产品的信息、关于呈现的服务的信息、以及通过电子商务平台100与业务相关联的任何其它信息。在一些实施例中,电子商务平台100可以将该数据存储在数据设施134中。交易数据可以被处理以产生分析132,该分析132继而可以被提供给商家或第三方商务实体,诸如提供与在线商务相关的消费者趋势、营销和销售洞察、用于改进销售的推荐、顾客行为的评价、营销和销售建模、欺诈趋势等,并且通过仪表板接口、通过报告等来提供。电子商务平台100可以存储关于业务和商家交易的信息,并且数据设施134可以具有提高、贡献、提炼和提取数据的许多方式,其中随着时间的推移,收集的数据可以使得能够改进电子商务平台100的各方面。
再次参考图1,在一些实施例中,电子商务平台100可以配置有用于内容管理、任务自动化和数据管理的商务管理引擎136,以使得能够支持和服务于(例如,与产品、库存、顾客、订单、协作、供应商、报告、金融、风险和欺诈等相关的)多个在线商店138,但是可以通过应用142A-B可扩展,该应用142A-B使得能够适应日益增长的各种商家在线商店、POS设备、产品和服务所要求的更大的灵活性和定制过程,其中应用142A可以在电子商务平台100内部提供,或者应用142B可以从电子商务平台100之外提供。在一些实施例中,应用142A可以由提供平台100的相同方或由不同方提供。在一些实施例中,应用142B可以由提供平台100的相同方或由不同方提供。商务管理引擎136可以通过功能和数据的划分(例如,切分)——诸如通过顾客标识符、订单标识符、在线商店标识符等——来配置用于灵活性和可缩放性。商务管理引擎136可以适应商店特定业务逻辑,并且在一些实施例中,可以合并管理员114和/或在线商店138。
商务管理引擎136包括电子商务平台100的基础或“核心”功能,并且像这样,如本文中所描述的,并非所有支持在线商店138的功能都可以适合包括在内。例如,包括在商务管理引擎136中的功能可能需要超过核心功能阈值,通过该阈值可以确定该功能是商务体验的核心(例如,对于大多数在线商店活动是共同的,诸如跨渠道、管理员接口、商家位置、行业、产品类型等),跨在线商店138是可重用的(例如,可以跨核心功能重用/修改的功能),一次限于单个在线商店138的上下文(例如,实现在线商店“隔离原则”,其中代码应该不能够一次与多个在线商店138交互,从而确保在线商店138不可能访问彼此的数据),提供交易工作负载等。维持对实现什么功能的控制可以使得商务管理引擎136能够保持响应,因为许多所要求的特征由商务管理引擎136直接服务,或者通过接口140A-B来启用,诸如通过其到应用142A-B和渠道110A-B的应用编程接口(API)连接的扩展,其中接口140A可以提供给电子商务平台100之内的应用142A和/或渠道110A,或者通过接口140B提供给电子商务平台100之外的应用142B和/或渠道110B。一般而言,平台100可以包括接口140A-B(其可以是扩展、连接器、API等),该接口140 A-B促进与其它平台、***、软件、数据源、代码等的连接和通信。这样的接口140A-B可以是商务管理引擎136的接口140A,或者更一般地是平台100的接口140B。如果不给予注意以限制商务管理引擎136中的功能,则响应性可能被损害,诸如通过基础设施降级、通过缓慢的数据库或非关键后端故障、通过灾难性的基础设施故障(诸如具有离线的数据中心)、通过部署比预计花费更长来执行的新代码等。为了防止或减轻这些情形,商务管理引擎136可以被配置为维持响应性,诸如通过利用超时、队列、背压以防止降级等的配置。
尽管隔离在线商店数据对于维护在线商店138和商家之间的数据隐私是重要的,但是诸如例如用订单风险评估***或平台支付设施收集和使用跨商店数据可能是有原因的,这两者都要求来自多个在线商店138的信息良好地施行。在一些实施例中,可以优选地将这些组件移出商务管理引擎136并移入电子商务平台100内它们自己的基础设施,而不是违反隔离原则。
在一些实施例中,电子商务平台100可以提供平台支付设施120,该平台支付设施120是利用来自商务管理引擎136的数据的组件的另一个示例,但是可以位于外部以便不违反隔离原则。平台支付设施120可以允许与在线商店138交互的顾客使他们的支付信息由商务管理引擎136安全地存储,使得他们仅必须输入其一次。当顾客参观不同的在线商店138时,即使他们以前从未在那里,平台支付设施120也可以重新调用他们的信息,以使得能够更快速和正确地结账。这可以提供跨平台的网络效果,其中随着更多的商家加入,电子商务平台100变得对其商家更有用,诸如因为存在更多的顾客由于关于顾客采购的易用性而更频繁地结账。为了最大化该网络的效果,给定顾客的支付信息可以从在线商店的结账处可检索,从而允许使信息跨在线商店138全球可用。对于每个在线商店138,能够连接到任何其它在线商店138来检索存储在那里的支付信息将是困难的和易出错的。作为结果,平台支付设施可以在商务管理引擎136外部实现。
对于不包括在商务管理引擎136内的那些功能,应用142A-B提供了一种向电子商务平台100添加特征的方式。应用142A-B可能能够访问和修改商家的在线商店138上的数据,通过管理员114施行任务,通过(例如,通过扩展/API显露的)用户接口为商家创建新的流程等。可以使得商家能够通过应用搜索、推荐、以及支持128来发现和安装应用142A-B。在一些实施例中,核心产品、核心扩展点、应用、和管理员114可以被开发为一起工作。例如,应用扩展点可以构建在管理员114之内,使得核心特征可以通过应用的方式来扩展,这可以通过扩展向商家交付功能。
在一些实施例中,应用142A-B可以通过接口140A-B向商家交付功能,诸如其中应用142A-B能够向商家显露交易数据(例如,App:“引擎,使用嵌入式app SDK在移动和网络管理中显露我的app数据”),和/或其中商务管理引擎136能够请应用按需求施行工作(引擎:“App,给我该结账的本地税计算”)。
应用142A-B可以支持在线商店138和渠道110A-B、提供商家支持、与其它服务集成等。在商务管理引擎136可以向在线商店138提供服务的基础的情况下,应用142A-B可以为商家提供使特定且有时独特的需要满意的方式。不同的商家将具有不同的需要,并因此可以受益于不同的应用142A-B。应用142A-B可以通过电子商务平台100被更好地发现:通过应用分类法(类别)的开发,该应用分类法(类别)使得应用能够根据其为商家施行的功能类型而被标记;通过支持搜索、排名、和推荐模型的应用数据服务;通过应用发现接口,诸如应用商店、家信息卡、应用设置页面等。
应用142A-B可以通过接口140A-B连接到商务管理引擎136,诸如利用API(例如,通过REST、GraphQL等)将通过商务管理引擎136和在商务管理引擎136内可用的功能和数据显露给应用的功能。例如,电子商务平台100可以向面向商家和合作伙伴的产品和服务提供API接口140A-B,诸如包括应用扩展、过程流程服务、面向开发者的资源等。随着顾客更频繁地使用移动设备购物,与移动使用相关的应用142A-B可以受益于更广泛地使用API来支持相关的增长的商务流量。通过使用应用和API提供的(例如,如为应用开发提供的)灵活性使得电子商务平台100能够更好地适应商家(和通过内部API的内部开发者)的新的且独特的需要,而不要求对商务管理引擎136的不断改变,因此当商家需要它时向他们提供他们需要的东西。例如,运输服务122可以通过运输或载体服务API与商务管理引擎136集成,因此使得电子商务平台100能够提供运输服务功能,而不直接影响商务管理引擎136中运行的代码。
许多商家难题——诸如与后台操作(面向商家的应用142A-B)相关联的并在在线商店138(面向顾客的应用142A-B)中的难题——可以通过让合作伙伴通过应用开发改进和扩展商家工作流程来解决。作为做业务的一部分,许多商家将针对后台任务(例如,推销、库存、折扣、履行等)和在线商店任务(例如,与他们的在线店铺相关的应用,用于快闪销售、新产品提供等)而每天使用移动和网络相关的应用,其中应用142A-B通过扩展/ API 140A-B帮助在快速增长的市场中使产品易于查看和采购。在一些实施例中,合作伙伴、应用开发者、内部应用设施等可以诸如通过在管理员114内创建沙箱应用接口的帧而被提供有软件开发工具包(SDK)。在一些实施例中,管理员114可能不具有对帧内发生了什么的控制,也不知道帧内发生了什么。SDK可以与用户接口工具包结合使用,以产生模仿电子商务平台100的外观和感觉的接口,诸如充当商务管理引擎136的扩展。
利用API的应用142A-B可以按需求拉取数据,但是当更新发生时,它们通常也需要使数据被推送。更新事件可以在订阅模型中实现,所述更新事件诸如例如,顾客创建、产品改变或订单取消。更新事件可以向商家提供关于商务管理引擎136的经改变状态的所需要的更新,诸如用于同步本地数据库、通知外部集成合作伙伴等。更新事件可以启用这个功能,而不必一直轮询商务管理引擎136以诸如通过更新事件订阅来检查更新。在一些实施例中,当与更新事件订阅相关的改变发生时,商务管理引擎136可以诸如向预定义的回调URL发布请求。这个请求的主体可能包含对象的新状态以及动作或事件的描述。更新事件订阅可以在管理员设施114中手动创建,或者(例如,经由API 140A-B)自动创建。在一些实施例中,更新事件可以从触发它们的状态改变异步地排队和处理,这可以产生非实时分布的更新事件通知。
在一些实施例中,电子商务平台100可以提供应用搜索、推荐和支持128。应用搜索、推荐和支持128可以包括帮助应用开发的开发者产品和工具、应用仪表板(例如,向开发者提供开发接口、向管理员提供应用的管理、向商家提供应用的定制等)、用于安装和提供关于提供对应用142A-B的访问的许可的设施(例如,用于公众访问,诸如其中在安装之前必须满足准则,或者为了由商家私人使用)、应用搜索以使商家容易搜索使他们的在线商店138的需要满意的应用142A-B、应用推荐以向商家提供关于他们可以如何通过他们的在线商店138改进用户体验的建议、商务管理引擎136内的核心应用能力的描述等。这些支持设施可以由任何实体——包括开发他们自己的应用142A-B的商家、开发应用142A-B的第三方开发者(例如,由商家签约、他们自己开发以提供给公众、签约以供与电子商务平台100相关联地使用等)、或者由与电子商务平台100相关联的内部个人资源开发的应用142A或142B——施行的应用开发来利用。在一些实施例中,应用142A-B可以被分配应用标识符(ID),诸如用于(例如,通过API)链接到应用、搜索应用、做出应用推荐等。
商务管理引擎136可以包括电子商务平台100的基本功能,并通过API 140A-B向应用142A-B暴露这些功能。API 140A-B可以启用通过应用开发构建的不同类型的应用。应用142A-B可能能够使商家的各种各样的需要满意,但是可以粗略地分组为三个类别:面向顾客的应用、面向商家的应用、集成应用等。面向顾客的应用142A-B可以包括在线商店138或渠道110A-B,所述在线商店138或渠道110A-B是商家可以列出产品并使它们被采购的地方(例如,在线商店、用于快闪销售的应用(例如,商家产品或来自第三方来源的投机销售机会)、移动商店应用、社交媒体渠道、用于提供批发采购的应用等)。面向商家的应用142A-B可以包括允许商家(例如,通过与网络或网站或与移动设备相关的应用)管理他们的在线商店138、(例如,通过与POS设备相关的应用)运行他们的业务、(例如,通过与运输相关的应用(例如,直接运输)、使用自动代理人、使用过程流程开发和改进)增长他们的业务等。集成应用可以包括提供参加业务运行的有用集成的应用,诸如运输提供商112和支付网关。
在一些实施例中,应用开发者可以使用应用代理来从外部位置获取数据,并将它显示在在线商店138的页面上。这些代理页面上的内容可以是动态的、能够被更新的等。应用代理对于显示图像库、统计数据、定制表格、和其它种类的动态内容可能是有用的。电子商务平台100的核心应用结构可以允许在应用142A-B中构建越来越多的商家体验,使得商务管理引擎136可以保持专注于更通常利用的商务的业务逻辑。
电子商务平台100通过精选的(curated)***架构提供在线购物体验,该***架构使得商家能够以灵活和透明的方式与顾客连接。通过实施例示例采购工作流程可以更好地理解典型的顾客体验,其中顾客在渠道110A-B上浏览商家的产品,将他们意图购买的东西添加到他们的购物车,继续进行结账,并为他们的购物车的内容付费,从而导致为商家创建订单。然后,商家可以审查并履行(或取消)订单。产品然后被交付给顾客。如果顾客不满意,则他们可能把产品返回给商家。
在示例实施例中,顾客可以在渠道110A-B上浏览商家的产品。渠道110A-B是其中顾客可以观看和购买产品的地方。在一些实施例中,渠道110A-B可以被建模为应用142A-B(可能的例外是在线商店138,其被集成在商务管理引擎136内)。推销组件可以允许商家描述他们想要出售什么以及他们在哪里出售它。产品和渠道之间的关联可以被建模为产品公布,并由渠道应用(诸如经由产品列表API)访问。产品可能具有许多选项(比如大小和颜色)以及许多变体,所述变体将可用选项扩大成所有选项的特定组合,比如超小和绿色的变体,或者大尺寸和蓝色的变体。产品可能具有至少一个变体(例如,为没有任何选项的产品创建“默认变体”)。为了促进浏览和管理,产品可以被分组成集合、提供的产品标识符(例如,存货单元(SKU))等。产品的集合可以通过手动将产品分类成一个(例如,定制集合)、通过构建用于自动分类的规则集(例如,智能集合)等来构建。产品可以通过虚拟或增强现实接口被视为2D图像、3D图像、旋转视图图像等。
在一些实施例中,顾客可以将他们意图购买的东西添加到他们的购物车(在替代实施例中,可以诸如通过如本文中所描述的购买按钮直接采购产品)。顾客可以将产品变体添加到他们的购物车。购物车模型可能是渠道特定的。在线商店138购物车可以由多个购物车行项目构成,其中每个购物车行项目跟踪产品变体的数量。商家可以基于顾客的购物车的内容来使用购物车脚本向顾客提供特殊促销。因为将产品添加到购物车不意味着来自顾客或商家的任何承诺,并且购物车的预期寿命可能在几分钟(不是几天)的数量级,所以在一些情况下,购物车可能持续存在于短暂的数据存储。
然后顾客继续结账。结账组件可以将网络结账实现为面向顾客的订单创建过程。结账API可以作为面向计算机的订单创建过程来提供,一些渠道应用使用其来代表顾客创建订单(例如,用于销售点)。结账可以从购物车创建,并记录顾客的信息,诸如电子邮件地址、账单、和运输细节。结账时,商家承诺定价。如果顾客输入他们的联系信息但不继续支付,则电子商务平台100可以提供(例如,在被放弃的结账特征中)重新与顾客接合的机会。出于那些原因,结帐可以具有比购物车更长得多的寿命(几个小时或甚至几天),并且因此是持久的。结账可以基于顾客的运输地址来计算税和运输成本。结账可以将税的计算委托给税组件,并将运输成本的计算委托给交付组件。定价组件可以使得商家能够创建折扣代码(例如,当在结账时输入时对结账中的项目应用新价格的“秘密”字符串)。商家可以使用折扣来吸引顾客,并评估营销运动的绩效。折扣和其它定制价格***可以在相同的平台部分之上诸如通过价格规则(例如,当满足先决条件的集合时,意味着权利的集合)实现。例如,先决条件可能是诸如“订单小计大于$100”或“运输成本低于$10”之类的项目,并且权利可能是诸如“整个订单20%的折扣”或“产品X、Y和Z减$10”之类的项目。
顾客然后为他们的购物车的内容付费,从而导致为商家创建订单。渠道110A-B可以使用商务管理引擎136来将钱、货币或价值存储(诸如美元或加密货币)移动到顾客和商家以及从顾客和商家移动钱、货币或价值存储(诸如美元或加密货币)。可以在支付处理组件内实现与各种支付提供商(例如,在线支付***、移动支付***、数字钱包、***网关等)的通信。与支付网关106的实际交互可以通过卡服务器环境来提供。在一些实施例中,支付网关106可以接受国际支付,诸如与领先的国际***处理器集成。卡服务器环境可以包括卡服务器应用、卡接收器、托管字段等。该环境可能充当敏感***信息的安全把关***。在一些实施例中,大部分过程可以由支付处理作业来协调。商务管理引擎136可以支持许多其它支付方法,诸如通过场外支付网关106(例如,其中顾客被重定向到另一个网站)、手动(例如,现金)、在线支付方法(例如,在线支付***、移动支付***、数字钱包、***网关等)、礼品卡等。在结账过程结束时,创建订单。订单是商家和顾客之间的销售合同,其中商家同意提供订单上列出的商品和服务(例如,订单行项目、运输行项目等),并且顾客同意提供支付(包括税)。这个过程可以在销售组件中建模。不依赖于商务管理引擎136结账的渠道110A-B可以使用订单API来创建订单。一旦订单被创建,订单确认通知就可以被发送给顾客,并且下订单通知经由通知组件被发送给商家。当支付处理作业开始避免过度出售时,可以预订库存(例如,商家可以从每个变体的库存策略控制这种行为)。库存预订可以具有短时间跨度(几分钟),并且可能需要非常快速且可缩放,以支持快闪销售(例如,短时间提供的折扣或促销,诸如针对冲动购买)。如果支付失败,则预订被释放。当支付成功并创建订单时,预订将转换成分配给特定位置的长期库存承诺。库存组件可以记录变体存货在哪里,并跟踪已启用了库存跟踪的变体的数量。它可以将产品变体(表示产品列表的模板的面向顾客的概念)与库存项目(表示其数量和位置被管理的项目的面向商家的概念)分离。库存水平组件可以保持跟踪可用于销售的、承诺给订单的、或从库存转账组件(例如,从供应商)传入的数量。
然后,商家可以审查并履行(或取消)订单。审查组件可以实现业务过程商家的使用,以确保订单在实际履行它们之前适合于履行。订单可能是欺诈性的,要求验证(例如,ID检查),具有要求商家等待以确保他们将接收到他们的资金的支付方法等。风险和推荐可以持续存在于订单风险模型中。订单风险可能从欺诈检测工具生成,由第三方通过订单风险API提交等。在继续进行履行之前,商家可能需要捕获支付信息(例如,***信息)或等待(例如,经由银行转账、支票等)接收它,并将订单标记为经支付。商家现在可以准备产品来交付。在一些实施例中,这个业务过程可以由履行组件来实现。履行组件可以基于库存位置和履行服务来将订单的行项目分组到逻辑履行工作单元中。商家可以审查、调整工作单元,并触发相关的履行服务,诸如通过当商家挑选和包装盒子中的产品时(例如,在商家管理的位置处)使用的手动履行服务,采购运输标签并输入其跟踪号码,或者只将项目标记为经履行。定制履行服务可以发送电子邮件(例如,不提供API连接的位置)。API履行服务可以触发第三方,其中第三方应用创建履行记录。遗留履行服务可以触发从商务管理引擎136到第三方的定制API调用(例如,由亚马逊履行)。礼品卡履行服务可以提供(例如,生成号码)并激活礼品卡。商家可以使用订单打印机应用打印包装单。履行过程可以当项目被包装在盒子中并准备好运输、被运输、跟踪、交付、验证为由顾客接收等时执行。
如果顾客不满意,则他们可能能够将(一个或多个)产品返回给商家。商家可以通过“取消出售”项目的业务过程可以由返回组件来实现。返回可能由各种不同的动作组成,诸如重新存货,其中被出售的产品实际上回到了业务中并再次可出售;退款,其中从顾客收集的钱被部分或完全返回;注意多少钱被退款的会计调整(例如,包括是否存在任何重新存货费,或没有返回并保持在顾客的手中的商品)等。返回可以表示对销售合同(例如,订单)的改变,并且其中电子商务平台100可以使商家知道关于法律义务(例如,关于税)的遵从问题。在一些实施例中,电子商务平台100可以使得商家能够保持跟踪销售合同随时间的推移的改变,诸如通过销售模型组件(例如,记录发生于项目的与销售相关的事件的仅附加基于日期的总账)来实现。
通过电子商务平台实现虚拟内容
在一些情况下,增强现实(AR)可以由电子商务平台实现,以提供用于改进的顾客体验的虚拟内容。例如,AR可以允许顾客在与他们相关的真实世界空间内(诸如在他们家的房间中)查看3D虚拟产品。这可以允许顾客在购买产品之前更好地领会产品在他们家内的大小和外观。
然而,传统的AR体验有一些限制。一个这样的限制是,用户必须物理地存在于真实世界空间中,以查看该真实世界空间内的3D模型。这并不总是实际的。例如,顾客可能想在他们乘火车上下班期间在线购买家具。在这种情形下,顾客将无不能够使用AR体验来查看他们家中的家具。
传统AR体验的另一个限制是,用户通常一次仅能够从一个视角查看虚拟3D模型。许多AR兼容的设备(例如,诸如智能手机和耳机)通常仅提供AR场景的一个视角。虽然用户可能能够移动AR设备来修改视角,但是可能不可能同时查看两个不同的视角。然而,使得能够从多个视角同时查看AR场景可能是存在价值的。例如,当顾客正在试图确定沙发在他们房屋的房间的哪里看起来最好时,顾客同时从多个视角查看沙发的3D模型可能是有益的。这可以允许用户更好地领会沙发从房间的各种不同位置看起来如何,而不必在房间内物理移动。尽管一些AR***可以实现多个相机来提供AR场景的多个同时视角,但是这些***的成本和复杂性可能妨碍它们在一些应用(包括电子商务)中的使用。
传统AR体验的进一步的限制是,每次用户开始AR体验时,通常均要求用户初始化AR体验。初始化AR体验尤其可以包括获得真实世界空间的3D扫描,作为例如同步定位和映射(SLAM)过程的一部分。对于用户来说,多次初始化AR体验可能是费力的。
根据本公开的一个方面,提供空间意识媒体来帮助克服上面概述的AR的不足。空间意识媒体是包括或以其它方式与属于真实世界空间的3D空间信息相关联的所存储的媒体。如本文中别处进一步详细讨论的,空间意识媒体可以允许用户更灵活且有效地与真实世界空间中与他们相关的虚拟内容进行交互。例如,在商务应用中,空间意识媒体可以被增强,以允许顾客在任何时间和从任何位置查看真实世界空间中与他们相关的产品的3D模型。
图3图示了图1的电子商务平台100,但是包括空间意识媒体引擎300。空间意识媒体引擎300是生成、存储和/或增强供电子商务平台100、顾客设备150和/或商家设备102使用的空间意识媒体的计算机实现***的示例。
尽管空间意识媒体引擎300在图3中被图示为电子商务平台100的不同组件,但是这仅为一个示例。空间意识媒体引擎也可以或代替地由驻留在电子商务平台100内部或外部的另一个组件提供。在一些实施例中,应用142A-B中的任一个或两个提供对顾客和/或商家可用的空间意识媒体引擎。此外,在一些实施例中,商务管理引擎136提供空间意识媒体引擎。电子商务平台100可以包括由一方或多方提供的多个空间意识媒体引擎。多个空间意识媒体引擎可以以相同的方式、类似的方式和/或不同的方式来实现。此外,空间意识媒体引擎的至少一部分可以在商家设备102和/或顾客设备150中实现。例如,顾客设备150可以作为软件应用本地存储和运行空间意识媒体引擎。
空间意识媒体引擎300可以实现本文中描述的至少一些功能。尽管下面描述的实施例可以与电子商务平台(诸如(但不限于)电子商务平台100)相关联地实现,但是下面描述的实施例不限于图1至3的特定电子商务平台100。另外,本文中描述的实施例根本不一定需要与电子商务平台相关联地实现或者涉及电子商务平台。一般而言,空间意识媒体的任何应用都可以实现本文中公开的***和方法。
空间意识媒体
如上所述,空间意识媒体是包括或以其它方式与属于真实世界空间的3D空间信息相关联的媒体。该3D空间信息可以标识真实世界空间的3D空间特征,例如诸如真实世界空间中的表面、边缘、拐角和/或照明。真实世界空间中的照明的非限制性示例(其也可以称为真实世界空间的照明信息)包括真实世界空间中光源的位置、方向性、颜色和亮度。在一些实施例中,空间意识媒体包括相对于真实世界空间的3D空间特征定义的视觉、音频和/或触觉内容。空间意识媒体的非限制性示例包括:
●真实世界空间的一个或多个图像以及标识真实世界空间中的3D空间特征的对应信息。例如,在图像中捕获的每个表面的形状、尺寸、取向、位置和/或反射率可以通过该信息以3D表征。
●真实世界空间的视频和标识真实世界空间中的3D空间特征的对应信息。
●在真实世界空间内捕获的音频记录以及标识真实世界空间中的3D空间特征的对应信息。例如,这可能使得能够基于音频记录来生成空间音频内容。
●真实世界空间的触觉纹理和标识真实世界空间中的3D空间特征的对应信息。例如,触觉纹理可以被映射到这些3D空间特征,从而允许用户感受真实世界空间的不同表面。
应当注意,空间意识媒体可以包括上面提供的示例的组合。
图4和图5图示了根据实施例的与真实世界房屋的客厅402相关联的空间意识媒体。在一些情况下,客厅402是用户的个人客厅,并且因此空间意识媒体可以与该用户相关联,并且甚至特定于该用户。
图4图示了客厅402的图像400,其形成了与客厅402相关联的空间意识媒体的一部分。空间意识媒体进一步包括例如标识客厅402中3D表面的位置、大小和形状的3D空间信息。应当注意,如本文中所使用的,位置可以包括位置和取向二者。
图5图示了图像400,但是其中使用阴影线标识了客厅402的不同3D表面500、502、504、506、508、510、512、514。这些表面500、502、504、506、508、510、512、514中的任何、一个、一些或全部可以由与客厅402相关联的空间意识媒体存储为3D空间信息。如图5中所示出的,表面500、502、504、506、508、510、512、514被映射到图像400,使得图像400与3D空间信息叠加。以这种方式,通过标识表面500、502、504、506、508、510、512、514的3D空间信息,图像400被“空间意识”。
图4和5中所图示的空间意识媒体可以进一步包括映射到客厅402的3D空间特征的音频内容和/或触觉内容。例如,触觉内容可以使得用户能够感受表面500、502、504、506、508、510、512、514的纹理。
空间意识媒体可以被增强以包括虚拟内容。在一些实施例中,增强空间意识媒体包括将3D模型的渲染覆盖到由空间意识媒体提供的真实世界空间的图像上。3D模型可以相对于由空间意识媒体标识的真实世界空间的3D空间特征来定义。例如,可以为3D模型分配已经映射到真实世界空间的坐标系内的位置。然后,可以基于3D模型的位置和图像的视角或视点来生成3D模型的渲染。在一些情况下,3D模型可以虚拟地定位在真实世界空间的表面上。3D模型的渲染的大小和取向可以逼真地描绘搁置在该表面上的3D模型。3D模型也可以由用户相对于真实世界空间的3D空间特征虚拟地可移动。这可以导致生成增强的空间意识媒体的进一步实例,其包括在新位置处渲染3D模型。术语“增强的媒体”和“增强的空间意识媒体”在本文中一般可互换使用。
在商务应用中,当顾客不能够与物理产品交互时,增强空间意识媒体可以允许顾客查看虚拟产品并与之交互。例如,空间意识媒体可以被增强以将产品的虚拟表示叠加到在图像中捕获的真实世界环境上,这可以使产品看起来存在于真实世界环境中。图像可以具有顾客的家或者与顾客相关的另一个位置,从而允许顾客在他们感兴趣的环境中查看产品。
图6和7图示了与客厅402相关联的增强的空间意识媒体的示例实例600、700。增强的空间意识媒体的实例600包括图像400,所述图像400覆盖有立式厨房混合器的表示602。表示602逼真地描绘了搁置在客厅402的表面506上的混合器,所述表面506对应于客厅402的桌子。在一些实现中,表示602是混合器的3D模型的渲染。该3D模型可能已经使用包括在客厅402的空间意识媒体中的3D空间信息虚拟地定位在客厅402的表面506上。3D模型的渲染(形成表示602)可能已经基于3D模型相对于图像400的视点的位置而生成。
增强的空间意识媒体的实例700包括图像400,其覆盖有立式厨房混合器的不同表示702。表示702仍然描绘了搁置在表面506上的混合器,但是与表示602相比在新的位置处。更特别地,混合器在表示602、702中以不同的取向示出。在一些实现中,表示702是在3D模型响应于用户输入而已经被虚拟地重新定位之后混合器的3D模型的渲染。例如,用户可能已经生成了将混合器的3D模型相对于客厅402的3D空间特征移动到由表示702描绘的位置的指令。以这种方式,增强的空间意识媒体的实例700可以被认为是实例600的更新版本。
空间意识媒体的一个优点是,在生成和存储之后,用户稍后可以在任何时间访问空间意识媒体,以与相关联的真实世界空间中的虚拟内容进行交互。另外,用户不必物理地在真实世界空间内。用户可以从其它位置访问和增强空间意识媒体。例如,增强的空间意识媒体的实例600、700可能已经由远离客厅402的用户和/或用户设备生成。相比之下,使用AR,用户可能必须物理地在客厅402中以查看混合器的3D模型。
在一些实施例中,在被生成和存储之后,相同的空间意识媒体可以被用户增强多次。例如,使用与客厅402相关联的空间意识媒体,顾客可以在一天查看图像400内的立式厨房混合器的3D模型,并且然后在另一天查看图像400内的另一个产品的3D模型。这可以允许顾客更高效地浏览不同的产品并在客厅402内查看那些产品。相比之下,使用AR,用户可能需要当第二天发起AR会话时重新初始化他们的设备(例如,对房间重新施行3D扫描以检测特征)。
空间意识媒体不限于单个图像。在一些实施例中,空间意识媒体包括真实世界空间的多个不同图像,每个图像均是从真实世界空间中的不同视角或视点捕获的。由空间意识媒体提供的3D空间信息可以与所有图像相关。例如,真实世界空间的多个图像可以每个被映射到真实世界空间的单个3D扫描。多个图像可以共享真实世界空间的相同3D空间信息。
包括真实世界空间的多个图像的空间意识媒体可以使得用户能够从多个不同的视角查看该真实世界空间内的3D模型。基于由空间意识媒体提供的3D空间信息,3D模型可以虚拟地定位在真实世界空间内。然后,可以用基于图像的视角和3D模型的相对位置生成的3D模型的渲染来增强每个图像。因为多个图像共享真实世界空间的相同3D空间信息,所以在每个增强的图像中,3D模型相对于真实世界空间的3D空间特征可能看起来在相同的位置处。
图8图示了与客厅402相关联的增强空间意识媒体的另一个示例实例800。增强的空间意识媒体的实例800包括客厅402的图像802,但是从客厅402的不同于图像400的视点来看。图像802还形成与客厅402相关联的空间意识媒体的一部分。由空间意识媒体标识的客厅402的3D空间特征可以被映射到图像802,以提供图像802的3D空间信息,所述空间意识媒体可以包括但不限于图5中所示出的表面500、502、504、506、508、510、512、514。
在一些实现中,图像400、802中的每一个具有在坐标系内定义的对应位置,该位置被映射到客厅402并由客厅402的空间意识媒体存储。这些位置可以包括坐标系内的坐标、取向和视角,从而允许确定每个图像400、802的视场。
如图8中所示出的,图像802覆盖有搁置在表面506上的立式厨房混合器的表示804。表示804一般描绘了在客厅402内与图6的表示602相同的位置的混合器。然而,表示804从图像802的视点捕获混合器。以这种方式,增强的空间意识媒体的实例600、800在客厅402内的相同位置处描绘了混合器,但是从不同的视角。在一些实现中,表示602、804每个是在相对于客厅402的3D空间特征的位置处定义的混合器的相同3D模型的不同渲染。每个渲染可以基于图像400、802的相应视点来生成,从而提供客厅402内的混合器的不同视角。
可以跨由空间意识媒体提供的多个图像来跟踪3D模型的移动。例如,在用户输入生成将混合器的3D模型从图6的表示602所示出的位置移动到图7的表示702所示出的位置的指令的情况下,图像400、802二者都可以被增强以描绘3D模型的新位置。
在一些实现中,对应于相同空间意识媒体的多个增强的图像可以同时呈现给用户。例如,增强的空间意识媒体的实例600、800可以同时呈现给用户。有利地,例如,这可以允许用户从多个视角同时查看3D模型,而不必在客厅402内物理移动,这通常将在AR体验中是需要的。
在一些实现中,由空间意识媒体提供的多个图像对应于捕获真实世界空间的视频的不同帧。作为示例,图像400、802可以是客厅402的视频的不同帧。在增强不同的帧以包括3D模型的相应渲染之后,3D模型将在增强的视频中的真实世界空间内看起来在相同的位置。在视频的一帧内虚拟移动3D模型也可以反映在所有其它帧中。
用于实现空间意识媒体的示例***和方法
现在将进一步详细地讨论用于生成、存储和增强空间意识媒体的***和方法。虽然这些***和方法的一些实现是在商务应用的上下文中描述的,但是应当注意,本公开绝不限于商务。本文中公开的***和方法也可以在空间意识媒体的任何其它应用中实现。
图9是图示根据实施例的用于实现空间意识媒体的***900的框图。***900包括空间意识媒体引擎902、网络920和多个用户设备930、950。
用户设备930、950可以使得相应用户能够参与空间意识媒体。用户设备的非限制性示例包括移动电话、平板、膝上型计算机、投影仪、耳机和计算机。例如,用户设备可以是由顾客拥有和/或操作的顾客设备,或者是由商家拥有和/或操作的商家设备。在一些实现中,用户设备930、950中的任一个或两个包括植入设备或可穿戴设备,诸如嵌入在服装材料中的设备或由用户穿戴的设备,诸如眼镜。
用户设备930包括处理器932、存储器934、用户接口936、网络接口938和传感器940。类似地,用户设备950包括处理器952、存储器954、用户接口956、网络接口958和传感器960。用户设备930将通过下面的示例的方式来描述。然而,应当注意,用户设备930的描述也可以应用于用户设备950。
用户接口936可以包括例如显示屏(其可以是触摸屏)、手势识别***、扬声器、耳机、麦克风、触觉设备、键盘和/或鼠标。例如,用户接口936可以至少部分地由嵌入在服装和/或配饰中的可穿戴设备来实现。用户接口936可以向用户呈现内容,包括视觉、触觉和音频内容。
网络接口938被提供用于通过网络920进行通信。网络接口938的结构将取决于用户设备930如何与网络920对接。例如,如果用户设备930是移动电话、耳机或平板,则那么网络接口938可以包括具有天线的发射器/接收器,以向网络920发送无线传输以及从网络920接收无线传输。如果用户设备是用网络线缆连接到网络的个人计算机,则那么网络接口938可以包括例如网络接口卡(NIC)、计算机端口(例如,插头或线缆连接到的物理插座)和/或网络插座。
处理器932直接施行或指令由用户设备930施行的所有操作。这些操作的示例包括处理从用户接口936接收的用户输入、准备信息用于通过网络920传输、处理通过网络920接收的数据以及指令显示屏显示信息。处理器932可以由执行存储在存储器934中的指令的一个或多个处理器来实现。替代地,处理器932的一些或全部可以使用专用电路来实现,所述专用电路诸如专用集成电路(ASIC)、图形处理单元(GPU)或编程的现场可编程门阵列(FPGA)。
可以提供传感器940来获得真实世界空间的测量值。如本文中别处所讨论的,这些测量值可用于检测、表征和/或以其它方式标识真实世界空间的3D空间特征。传感器940可以包括例如一个或多个相机、麦克风、触觉传感器(例如,振动和/或压力传感器)、雷达传感器、激光雷达传感器和声纳传感器。尽管传感器940被示出为用户设备930的组件,但是传感器940也可以或代替地与用户设备930分开实现,并且可以例如经由有线和/或无线连接与用户设备930和/或空间意识媒体引擎902通信。
传感器940、960中的一个或两个可能没有在用户设备930、950中实现。例如,用户设备950可以是没有传感器的台式计算机,其使得对应的用户能够查看预先生成的空间意识媒体并与之交互。以这种方式,传感器940、960可以被认为是可选的。
在图9中,通过示例的方式示出了两个用户设备。多于两个用户设备可以与空间意识媒体引擎902通信。
网络920可以是实现不同设备之间的有线和/或无线连接的计算机网络,所述设备包括空间意识媒体引擎902和用户设备930、950。网络920可以实现本领域已知的任何通信协议。通信协议的非限制性示例包括局域网(LAN)、无线LAN、互联网协议(IP)网络和蜂窝网络。
空间意识媒体引擎902支持空间意识媒体的生成、存储和/或增强。该空间意识媒体可以从空间意识媒体引擎902输出,用于在用户设备930、950中的任一个或两个上呈现。
空间意识媒体引擎902是作为示例提供的。还设想了空间意识媒体引擎的其它实现。在一些实现中,空间意识媒体引擎在用户设备930、950中的一个或两个上实现。例如,软件应用或实例可以安装在用户设备930上,所述用户设备930在本地(即,在用户设备930上)生成、存储和/或增强空间意识媒体。在一些实现中,空间意识媒体引擎至少部分由诸如例如电子商务平台之类的平台提供。例如,可以提供空间意识媒体引擎作为电子商务平台的核心功能,或者作为电子商务平台支持的或与之通信的应用或服务。在一些实现中,空间意识媒体引擎至少部分地由用户设备(诸如顾客设备或商家设备)实现。在一些实现中,空间意识媒体引擎被实现为独立服务,以生成、存储和/或增强空间意识媒体。虽然空间意识媒体引擎902被示出为单个组件,但是空间意识媒体引擎可以代替地由经由网络通信的多个不同组件来提供。
如所图示的,空间意识媒体引擎902包括处理器904、存储器906和网络接口908。处理器904可以由执行存储在存储器906中或另一个非暂时性计算机可读介质中的指令的一个或多个硬件处理器来实现。替代地,处理器904的一些或全部可以使用专用电路(诸如ASIC、GPU或编程的FPGA)来实现。
网络接口908被提供用于通过网络920进行通信。网络接口908的结构是特定于实现的。例如,网络接口908可以包括NIC、计算机端口和/或网络插座。
存储器906存储空间意识媒体生成器910、空间意识媒体记录912、3D模型记录914和增强媒体生成器916。
空间意识媒体生成器910包括、采用和/或实现能够生成空间意识媒体的一个或多个算法(可能以由处理器904可执行的软件指令的形式)。与图4和图5的客厅402相关联的空间意识媒体是可以使用空间意识媒体生成器910生成的空间意识媒体的示例。一般而言,空间意识媒体可以以多种不同方式中的任何一种生成。
图10是图示用于生成空间意识媒体的示例方法1000的流程图,其将被描述为由空间意识媒体引擎902施行。例如,空间意识媒体生成器910可以包括指令,当由处理器904执行时,所述指令使处理器904施行方法1000。然而,方法1000的至少一部分也可以或代替地在别处(诸如在用户设备930、950中的一个或两个处)施行。
步骤1002包括检测、表征和/或以其它方式标识真实世界空间的3D空间特征。例如,这些3D空间特征可以包括真实世界空间的表面、边缘、拐角和/或光源。一旦被标识,3D空间特征可以提供真实世界空间在3D中的表示、地图、布局和/或模型。可选地,3D空间特征可以在映射到真实世界空间的坐标系内定义。
在步骤1002的一些实现中,空间意识媒体引擎902获得真实世界空间的测量值。空间意识媒体引擎902然后分析测量值以标识真实世界空间的3D空间特征。例如,3D空间特征的形状、尺寸、方向、位置、纹理和/或反射率可以基于测量值的分析来确定。
在一些实现中,在步骤1002中获得和分析的测量值包括真实世界空间的一个或多个图像。可以对图像施行图像分析,以从图像标识真实世界空间的3D空间特征。例如,空间意识媒体生成器910可以包括、采用和/或实现一个或多个图像分析算法来分析由空间意识媒体引擎902接收和/或存储的图像。这样的算法的非限制性示例包括:
●表面、拐角和/或边缘检测算法;
●对象识别算法;
●运动检测算法;和
●图像分割算法。
关于图像分析算法的进一步细节可以在Richard Szeliski的Computer Vision: Algorithms and Applications(《计算机视觉:算法和应用》)ISBN:978-1-84882-935-0(Springer,2010)中找到,其内容通过引用以其整体合并在本文中。
在一些实现中,在步骤1002中获得和分析的测量值可以包括或以其它方式提供真实世界空间的一个或多个3D扫描。获得3D扫描可以包括用真实世界空间移动或旋转传感器以捕获真实世界空间的多个角度。激光雷达、雷达和摄影测量(从一系列2D图像创建3D模型)是用于生成真实世界空间的3D扫描的示例方法。
在一些实现中,在步骤1002中,从真实世界空间内的不同位置捕获多个扫描。这些位置可以称为“探测点”。例如,每次扫描可以是全景图像。除了从扫描获得3D空间信息之外,或者代替从扫描获得3D空间信息,扫描可以被存储以在虚拟内容中实现逼真的反射,该虚拟内容使用空间意识媒体被添加到真实世界空间。例如,如果虚拟反射表面被添加到真实世界空间,则那么该表面可以基于在最近的探测点捕获的扫描而被增强,以描绘在该表面上被反射的真实世界空间的图像。
在步骤1002中,可以从多个不同来源中的任何来源获得测量值。在一些实现中,从用户设备930、950中的一个或两个获得测量值。例如,传感器940可以捕获真实世界空间的测量值,并且用户设备930可以将那些测量值传输到空间意识媒体引擎902,以生成真实世界空间的空间意识媒体。在一些情况下,真实世界空间可以是用户设备930的特定于用户的空间,诸如例如用户房屋的房间。
在一些实现中,真实世界空间的任何、一个、一些或全部标识的3D空间特征可以被“标记”以提供特征的附加信息或上下文。这些标签可以被认为是真实世界空间的3D空间特征的元数据。作为示例,可以使用标签来指示对应于地板、桌子、墙壁和/或窗户的表面。另外,诸如灯和家具之类的对象可以使用标签来指示。经由用户接口936、956中的一个或两个获得的用户输入可以为真实世界空间的3D空间特征提供一个或多个标签。替代地或附加地,图像分析可以自动检测和标记真实世界空间的3D空间特征。真实世界空间的3D空间特征的标签可以与标识3D空间特征的3D空间信息一起存储。参考图5中示出的客厅402的空间意识媒体,例如,表面500可以被标记为“地板”,表面502、504、508可以被标记为“沙发”,表面506可以被标记为“咖啡桌”,表面510可以被标记为“墙壁”,以及表面512、514可以被空间意识媒体标记为“窗帘”。
步骤1004包括获得对应于真实世界空间的媒体。该媒体可以包括来自真实世界空间的视觉、音频和/或触觉内容。在一些实现中,媒体是从与步骤1002中获得的测量值相同的来源获得的。例如,用户设备930可以将真实世界空间的测量值和真实世界空间的图像传输到空间意识媒体引擎902。
在一些实现中,在步骤1004中获得的媒体用于帮助在步骤1002中标识3D空间特征。照此,步骤1004可以发生在步骤1002之前。作为示例,在步骤1004中获得的至少一些媒体可以包括在步骤1002中分析的测量值,以帮助标识真实世界空间的3D空间特征。如果在步骤1004中获得了真实世界空间的图像,则那么可以在步骤1002中分析该图像以标识真实世界空间中的3D空间特征。
在一些实现中,在步骤1004中获得的媒体可以包括用户定义的信息或元数据。例如,使用用户接口936,用户可以用短语“客厅”、“明亮”和“黄色”来标记客厅的图像,以帮助空间意识媒体引擎902将该媒体与某些特性相关联。这些标签可以与媒体一起存储。
步骤1006包括将步骤1002中标识的3D空间特征映射到步骤1004中获得的媒体。可以施行该映射,使得3D空间特征与媒体相关,以为媒体提供空间信息。换句话说,媒体可以链接到所标识的3D空间特征。例如,媒体中表示的表面的大小、形状、取向、位置、纹理和/或反射率可以从3D空间特征获得。图5图示了被映射到所获得的媒体(即图像400)的3D空间特征(即,表面500、502、504、506、508、510、512、514)的示例。在步骤1006之后,可以获得真实世界空间的空间意识媒体。
在一些实现中,步骤1006包括确定或以其它方式获得在步骤1004中获得的媒体在真实世界空间中被捕获的位置。例如,考虑在步骤1004中获得真实世界空间的图像的情况。步骤1006可以包括确定捕获真实世界空间内的图像的相机的位置(包括位置和取向)。例如,该位置可以包括被映射到真实世界空间的坐标系内的坐标。相机的位置以及相机的参数然后可以用于确定图像在真实世界空间中的视场。例如,相机的这些参数可以包括焦距、视角和放大率。在步骤1002中标识的真实世界空间的3D空间特征可以基于图像的视场被映射到图像,可选地不需要对图像施行图像分析。以这种防护四,捕获真实世界空间的图像的相机的位置和参数可以提供将图像映射到真实世界空间的3D空间特征的手段。
在一些实现中,步骤1002、1004、1006中的任何、一个、一些或全部至少部分使用同时定位和映射(SLAM)过程来施行。
如图10中从步骤1006到步骤1004的箭头所图示的,这些步骤可以施行多次。在步骤1004、1006的不同实例中,不同的视觉内容、音频内容和/或触觉内容可以被添加到空间意识媒体。例如,考虑通过在步骤1002中通过基于或使用真实世界空间的3D扫描来标识3D空间特征,在步骤1004中捕获真实世界空间的图像,并在步骤1006中将该图像映射到3D空间特征来生成空间意识媒体的用户。稍后,用户可能想要用来自不同视角的真实世界空间的附加图像来补充空间意识媒体。在步骤1004的进一步实例中,用户可以捕获该附加图像,并且在步骤1006的进一步实例中将该附加图像映射到3D扫描。
在一些情况下,用户和/或用户设备可能在步骤1004的不同实例之间物理地离开与空间意识媒体相关联的真实世界空间。例如,用户可能想要在多个不同的会话中将图像或其它媒体添加到空间意识媒体。当用户和/或用户设备重新进入真实世界空间以捕获真实世界空间的附加图像时,空间意识媒体引擎902可能不知道用户和/或用户设备在真实世界空间内的位置。结果,空间意识媒体引擎902可能没有足够的信息来将在步骤1004的进一步实例中获得的附加图像映射到最初在步骤1002中标识的3D空间特征。在这些情况下,可以施行步骤1002的进一步实例来重新标识真实世界空间的3D空间特征,并帮助将附加图像映射到3D空间特征。这由图10中从步骤1006到步骤1002的箭头示出。施行步骤1002的进一步实例可以被称为“重新初始化”。
在一些实现中,步骤1002的进一步实例包括在步骤1002的第一实例中获得的真实世界空间的3D扫描内重新初始化用户和/或用户设备。重新初始化可以包括确定用户和/或用户设备相对于由3D扫描标识的3D空间特征的位置。例如,步骤1002的进一步实例可以包括测量真实世界空间的至少一部分,以将用户设备定位在真实世界空间内。这些测量可以包括真实世界空间的一个或多个图像。可以施行图像分析来识别图像内对应于在3D扫描中标识的3D空间特征的对象和/或图案,潜在地允许基于图像中3D空间特征的相对位置来确定用户设备的位置。应当注意,步骤1002的进一步实例可能不需要测量整个真实世界空间,而仅需要测量真实世界空间的一部分,以标识已知的3D空间特征并相对于那些已知的3D空间特征定位用户和/或用户设备。照此,步骤1002的进一步实例可能不包括真实世界空间的全3D扫描。
在步骤1002的进一步实例之后,空间意识媒体引擎902可以知道用户和/或用户设备相对于真实世界空间中的3D空间特征的位置。然后,在步骤1004的进一步实例中可以获得真实世界空间的附加图像,并且在步骤1006的进一步实例中将其映射到真实世界空间的3D空间特征。
在一些实现中,步骤1004的进一步实例可以发生在步骤1002的进一步实例之前。例如,步骤1002的进一步实例可以包括对在步骤1004的进一步实例中获得的附加图像施行图像分析,以识别附加图像中先前标识的3D空间特征。
再次参考图9,空间意识媒体记录912存储空间意识媒体的一个或多个实例。例如,空间意识媒体可以在使用空间意识媒体生成器910生成之后被添加到空间意识媒体记录912。存储在空间意识媒体记录912中的空间意识媒体也可以或代替地从其它来源获得,诸如从用户设备930、950中的一个或两个获得。在一些实现中,当附加媒体被添加到存储的空间意识媒体时,空间意识媒体记录912可以被更新。
空间意识媒体以其存储在空间意识媒体记录912中的方式在本文中不受限制,并且可以取决于空间意识媒体是如何生成的。一般而言,存储的空间意识媒体可以包括属于真实世界空间的媒体的一个或多个实例、标识真实世界空间中的3D空间特征的3D空间信息、和/或分配给媒体和/或3D空间特征的任何标签。
在一些实现中,空间意识媒体中包括的媒体和3D空间信息一起存储在空间意识媒体记录912中。例如,如果空间意识媒体包括真实世界空间的图像,则那么该图像和在该图像中捕获的3D空间特征可以以3D图像或3D模型的形式存储。例如,图像中的至少一些像素可以是分配的XYZ坐标。
在其它实现中,空间意识媒体中包括的媒体和3D空间信息被分开存储。例如,真实世界空间的3D扫描和真实世界空间的图像可以分开存储在空间意识媒体记录912中。3D扫描和图像之间的映射也可以存储在空间意识媒体记录912中,从容允许基于该映射来标识在图像中捕获的3D空间特征。例如,映射可以包括捕获图像的相机相对于3D空间特征和相机视场的位置(包括位置和方向)。
3D模型记录914可以包括对象、项目、建筑物、位置、风景、人、解剖特征、动物和/或任何其它类型的实体的虚拟3D模型。3D模型是用长度、宽度和高度定义的实体的数学表示。3D模型可以定位或以其它方式定义在3D坐标系内,例如,该3D坐标系可以是笛卡尔坐标系、圆柱坐标系或极坐标系。3D模型可以完全是计算机生成的,或者可以基于真实世界实体的测量值来生成。从真实世界实体生成3D模型的可能方法包括摄影测量和3D扫描。
如图6至图8所图示的,例如,3D模型可以在空间意识媒体中实现。这可以允许在真实世界空间的表示内以各种不同的角度查看虚拟对象。另外,当用户正在使用具有3D能力的用户设备(诸如例如耳机)与空间意识媒体交互时,3D模型可以允许生成虚拟对象的3D表示。例如,虚拟对象的3D表示可以通过在用户的每只眼睛中显示虚拟对象的稍微不同的视角来实现,从而给予对象3D效果。
存储在3D模型记录914中的3D模型也可以具有相关联的音频内容和/或触觉内容。例如,3D模型记录914可以存储由模型发出的或者以其它方式与模型相关联的声音和/或可以为模型提供感觉的触觉反馈。
在一些实现中,存储在3D模型记录914中的一个或多个3D模型提供商家在线销售的产品的虚拟表示。如本文中别处进一步详细讨论的,可以使用这些3D模型来增强空间意识媒体,以向顾客呈现产品。
3D模型记录914中的3D模型可以以多种不同方式中的任何一种获得。在一些实现中,3D模型中的至少一些是从空间意识媒体引擎902的用户获得的,诸如例如从顾客或商家获得的。商家可以为其商店中销售的任何、一个、一些或所有产品生成一个或多个3D模型。这些3D模型可以由商家直接提供给空间意识媒体引擎902,和/或空间意识媒体引擎902可以从电子商务平台上的商家账户和/或从商家的在线商店获得3D模型。3D模型也可以从其它平台(诸如例如社交媒体平台)获得。此外,一些3D模型可以在空间意识媒体引擎902本地生成。例如,由空间意识媒体引擎902获得的图像或扫描可以用于生成3D模型。
增强媒体生成器916包括、采用和/或实现能够生成增强的空间意识媒体的实例的一个或多个算法(可能以由处理器904可执行的软件指令的形式)。图6至8提供了增强的空间意识媒体的实例的示例。
为了生成增强的空间意识媒体的实例,对增强媒体生成器916的可能输入包括:
●例如可选地从空间意识媒体记录912获得的空间意识媒体。
●例如可选地从3D模型记录914获得的一个或多个3D模型。
●3D模型相对于空间意识媒体标识的3D空间特征的位置或“锚点”。例如,虚拟位置可以从用户设备930、950中的一个或两个处的用户输入获得。替代地,如本文中别处所讨论的,位置可以由例如空间意识媒体引擎902自动确定。
由增强媒体生成器916输出的增强的空间意识媒体的实例可以包括添加到空间意识媒体的视觉、触觉和/或音频内容。该视觉、触觉和/或音频内容可以从相对于对应真实世界空间的3D空间特征定义的3D模型获得,或者以其它方式基于该3D模型。以这种方式,当被添加到空间意识媒体时,视觉、触觉和/或音频内容可以匹配真实世界空间的3D空间特征。
视觉内容可以允许用户查看由空间意识媒体提供的图像内的虚拟对象。该视觉内容可以基于对象相对于图像在对应真实世界空间中的视点的虚拟位置来生成和/或覆盖有图像。
触觉内容可以允许用户虚拟地触摸和感觉增强的空间意识媒体内的对象。在一些情况下,触觉内容可以更改由空间意识媒体标识的3D空间特征的纹理。例如,触觉内容可以至少部分地使用具有内置触觉的服装来实现。
音频内容可以允许用户在增强的空间意识媒体内听到声音。音频内容可以实现具有对应于增强的空间意识媒体内的音频内容源的虚拟位置的方向性的空间音频。在一些实现中,通过独立控制播放到用户的每只耳朵中的声音来产生空间音频。
响应于用户输入,增强的空间意识媒体的实例可以由增强媒体生成器916连续或间歇地更新。例如,如果3D模型被移动到相对于空间意识媒体的3D空间特征的新虚拟位置,则那么可以生成包括更新的虚拟内容的增强的空间意识媒体的新实例,以反映3D模型的新位置。
现在参考图11,示出了图示根据实施例的用于提供增强的媒体的方法1100的流程图。方法1100将被描述为由图9的空间意识媒体引擎902施行。例如,增强媒体生成器916可以包括指令,当由处理器904执行时,所述指令使处理器904施行方法1100。然而,方法1100的至少一部分可以代替地在别处施行,诸如例如在用户设备930和/或用户设备950处施行。
步骤1102是可选步骤,其包括获得搜索查询的结果。搜索查询可能源自设备处的用户输入,诸如用户设备930、950中的一个。结果可以包括匹配搜索查询的多个3D模型。这些3D模型可以从3D模型记录914或从别处获得。
在一些实现中,搜索查询用于获得用其来增强空间意识媒体的3D模型。例如,如果用户希望用虚拟橡皮鸭来增强空间意识媒体,则那么搜索查询可以包括搜索字符串“橡皮鸭”,并且搜索查询的结果可以包括橡皮鸭的多个3D模型。
在一些实现中,生成搜索查询以搜索在线商店中的产品。例如,用户设备930的用户可能已经将搜索查询输入到在线商店的搜索栏中以搜索一种类型的产品。在步骤1102中获得的搜索查询的结果可以包括对应于匹配搜索查询的在线商店销售的不同产品的3D模型集合。在线商店可以向空间意识媒体引擎902提供这些3D模型。替代地或附加地,在线商店可以提供匹配搜索查询或者甚至匹配搜索查询本身的产品列表,并且空间意识媒体引擎902可以例如从3D模型记录914获得产品的3D模型。
在一些实现中,步骤1102包括获得源自用户设备930处的用户输入的多个搜索查询的结果。这些搜索查询中的每一个的结果可以包括一个或多个3D模型。再次参考上面所描述的在线商店示例,用户设备930的用户可能已经将多个搜索查询输入到在线商店中来搜索各种不同类型的产品。每个搜索查询的组合结果可以在步骤1102中获得。
应当注意,步骤1102可能不总是在方法1100的每个实现中施行。在一些实现中,独立于搜索查询,3D模型可以被直接提供给空间意识媒体引擎902或者以其它方式由空间意识媒体引擎902获得。
步骤1104包括从存储器906或从另一个计算机可读介质获得存储的空间意识媒体。例如,空间意识媒体可以从空间意识媒体记录912获得。空间意识媒体可以包括真实世界空间的图像和标识真实世界空间的3D空间特征的信息。然而,一般而言,在步骤1104中获得的空间意识媒体可以是本文中所描述的任何空间意识媒体。例如,空间意识媒体也可以或替代地包括真实世界空间的多个图像、真实世界空间的视频、真实世界空间的音频记录和/或真实世界空间的触觉纹理。
在一些实现中,在步骤1104中获得的空间意识媒体经由/基于用户设备930处的用户输入来选择,或者甚至由用户设备930直接提供。例如,用户可能希望在特定的真实世界空间中查看在步骤1102中获得的3D模型,并相应地选择空间意识媒体。该真实世界空间可以是与用户相关联的真实世界空间,诸如用户房屋的房间。空间意识媒体可以代替地对应于由用户选择的非个人或通用空间。
在一些实现中,空间意识媒体引擎902可以自动选择或建议在步骤1104中获得的空间意识媒体。例如,空间意识媒体引擎902可以基于搜索查询和/或步骤1102的搜索查询的结果,从空间意识媒体记录912选择空间意识媒体。分配给空间意识媒体的标签可以用于将搜索字符串和/或搜索结果与空间意识媒体相匹配。可选地,查找表和/或机器学习模型可以由空间意识媒体引擎902实现,以将搜索字符串和/或搜索结果与空间意识媒体相匹配。
再一次考虑其中生成搜索查询以搜索在线商店中的产品的示例。除了获得匹配搜索查询的产品的3D模型之外,空间意识媒体引擎902还可以选择属于真实世界空间的空间意识媒体,该空间意识媒体提供合适的设置来显示产品。例如,空间意识媒体可以包括显式或隐式匹配搜索查询的标签。所选择的空间意识媒体可以与用户相关联或者是非个人的。
步骤1106包括提供基于在步骤1104中获得的空间意识媒体和在步骤1102中获得的关于搜索查询的结果的增强的媒体。例如,增强的媒体可以基于搜索查询的结果中包括的3D模型中的至少一些。提供增强的媒体可以包括空间意识媒体引擎902生成增强的媒体和/或从另一个设备接收增强的媒体。如本文中别处所概述的,增强的媒体可以包括添加到空间意识媒体的视觉、听觉和/或触觉内容。
在一些实现中,在步骤1106处提供的增强的媒体包括增强的媒体的多个不同实例。增强的媒体的多个不同实例可以每个包括覆盖有在步骤1102中获得的3D模型中的至少一些中的相应一个的渲染的真实世界空间的图像的至少一部分。真实世界空间的该图像可以由在步骤1104中获得的空间意识媒体提供,并且可以相对于由空间意识媒体标识的真实世界空间的3D空间特征来定义。还可以使用用户定义的和/或自动生成的3D模型的位置,相对于真实世界空间的3D空间特征来定义3D模型。因此,在增强的媒体的每个实例中,相应3D模型的渲染可以覆盖有图像以逼真地描绘真实世界空间内的3D模型。
增强的媒体的多个不同实例可能同时提供,但是情况可能并非总是如此。代替地,可以在不同的时间提供增强的媒体的多个实例。例如,可以单独或成组地提供多个不同的实例。以这种方式,步骤1106可以发生在多个不同的阶段中。
在一些实现中,由空间意识媒体标识的真实世界空间的3D空间特征可以包括真实世界空间内的表面。可以相对于表面定义一个或多个3D模型,使得3D模型与表面相邻。然后,每个3D模型的渲染可以描绘搁置在表面上的对应产品或其它对象。
在一些实现中,空间意识媒体包括标识和表征真实世界空间中的照明的照明信息。该照明信息可以用于生成3D模型的渲染,该渲染更准确地描绘真实世界空间内的产品或对象。例如,来自真实世界空间中的光源的阴影、眩光和/或反射可以被合并到渲染中,以图示真实世界空间中的实际照明。
在一些实现中,在步骤1104中获得的空间意识媒体包括真实世界空间的多个图像,其中第一图像来自真实世界空间中的第一视角,并且第二图像来自真实世界空间中的第二视角。在这些实现中,在步骤1106中提供的增强的媒体可以包括增强的媒体的不同实例,每个实例包括覆盖有相对于真实世界空间的3D空间特征定义的至少一些3D模型中相应一个的渲染的第一图像的至少一部分,并且进一步包括增强的媒体的不同实例,每个实例包括覆盖有3D模型中的至少一些中的相应一个的渲染的第二图像的至少一部分。为了获得包括在增强的媒体的这些实例中的渲染,步骤1106可以包括基于第一图像的第一视角来渲染一个或多个3D模型。步骤1106还可以或代替地包括基于第二图像的第二视角来渲染一个或多个3D模型。因此,3D模型的渲染可以反映空间意识媒体中的第一和第二图像的视点。
根据示例,如果在步骤1102中获得的搜索查询的结果中包括第一3D模型和第二3D模型,则那么在步骤1106中提供的增强的媒体可以包括:
●第一实例,包括覆盖有基于第一视角的第一3D模型的渲染的第一图像的至少一部分;
●第二实例,包括覆盖有基于第一视角的第二3D模型的渲染的第一图像的至少一部分;
●第三实例,包括覆盖有基于第二视角的第一3D模型的渲染的第二图像的至少一部分;以及
●第四实例,包括覆盖有基于第二视角的第二3D模型的渲染的第二图像的至少一部分。
在步骤1106中用于生成增强的媒体的多个3D模型可以被定义在相对于真实世界空间的3D空间特征的不同位置处。例如,第一3D模型可以被定义在相对于真实世界空间的3D空间特征的第一位置处,并且第二3D模型可以被定义在相对于真实世界空间的3D空间特征的第二位置处。增强的媒体的第一实例和增强的媒体的第三实例二者可以在相对于真实世界空间的3D空间特征的第一位置处描绘第一3D模型。类似地,增强的媒体的第二实例和增强的媒体的第四实例二者可以在相对于真实世界空间的3D空间特征的第二位置处描绘第二3D模型。
在商业应用中,在步骤1106中提供的增强的媒体的多个实例可以允许用户快速且容易地比较特定真实世界空间中的不同产品。例如,第一3D模型和第二3D模型可能对应于两种不同的产品。用户可以使用增强的媒体的第一和第二实例来从第一视角比较这两个产品。用户可以进一步使用增强的媒体的第三和第四实例来从第二视角比较两个产品。因为存储了空间意识媒体,所以用户可以在不同时间在真实世界空间的确切相同的第一和第二图像中查看不同的产品。可选地,真实世界空间可能是特定于用户的或者以其它方式与用户相关联,并且因此用户能够在与他们相关的空间内查看两个产品。
步骤1108是可选步骤,其包括将步骤1106中提供的增强的媒体输出到设备,诸如例如用户设备930、950中的一个或两个。例如,如果增强的媒体包括诸如增强的图像之类的视觉内容,则那么步骤1108可以包括输出视觉内容以用于在设备上显示。音频和/或触觉内容也可以或代替地被输出以用于在设备上呈现。
在一些实现中,在步骤1108中向其输出增强的媒体的设备可以是用于生成步骤1102的搜索查询的相同设备。例如,用户可以使用用户设备930生成搜索查询,并且匹配搜索查询的3D模型可以用于提供增强的媒体,该增强的媒体然后被输出以用于在用户设备930上呈现。
在一些实现中,在步骤1108中向其输出增强的媒体的设备与首先生成空间意识媒体的用户相关联。另外,在步骤1108中向其输出增强的媒体的设备可以是帮助生成空间意识媒体的相同设备。例如,用户可能已经通过使用用户设备930获得真实世界空间中的测量值和/或媒体而生成了空间意识媒体。稍后,当用户和/或用户设备930不存在于真实世界空间中时,用户可以实现方法1100来增强该空间意识媒体。可以输出增强的媒体以用于在用户设备930上显示。替代地,空间意识媒体可能已经由用户设备930生成,并且增强的媒体可以输出到另一个设备,诸如例如用户设备950。在这种情况下,另一个设备可能不具有3D能力。例如,步骤1108可以通过运行在台式计算机上的互联网浏览器来施行,其可能一般不能够生成空间意识媒体和/或AR体验。然而,在步骤1108中,浏览器可能仍然能够显示或以其它方式输出增强的媒体。
步骤1110是包括接收指令的可选步骤。例如,该指令可以源自用户设备930、950中的一个处的用户输入。在步骤1110中接收的指令类型在本文中不受限制。指令的非限制性示例包括:
●输出用于在设备上显示的增强的媒体实例的指令;
●向空间意识媒体或增强的媒体实例添加3D模型的指令;
●从增强的媒体实例移除3D模型的指令;以及
●相对于对应真实世界空间的3D空间特征移动增强的媒体实例中的3D模型的指令。
在步骤1110的一些实现中,当用户设备930正在显示上面定义的增强的媒体的第一实例时,从用户设备930接收指令。该指令可能要相对于真实世界空间的3D空间特征虚拟地重新定位第一3D模型。例如,用户设备930的用户可能想要在真实世界空间中的新位置处查看第一3D模型,并生成将3D模型移动到该位置的指令。
响应于接收到该指令,可以第二次施行步骤1106,以基于该指令来提供更新的增强的媒体。这使用图11中从步骤1110到步骤1106的箭头来图示。步骤1106的第二次出现可以包括基于该指令来相对于真实世界空间的3D空间特征重新定义第一3D模型。这种重新定义可能导致3D模型相对于真实世界空间的3D空间特征被移动到由指令指示的新位置。步骤1106的第二次出现可以进一步包括基于重新定义的3D模型来提供增强的媒体的更新的第一实例,其中增强的媒体的更新的第一实例包括覆盖有相对于真实世界空间的3D空间特征重新定义的第一3D模型的更新的渲染的第一图像的至少一部分。第一3D模型的更新渲染描绘了真实世界空间内新位置中的第一3D模型。
图6和图7分别图示了增强的媒体的第一实例和增强的媒体的更新的第一实例的一个示例。立式厨房混合器的表示602可以对应于混合器相对于客厅402的3D空间特征的第一位置,并且混合器的表示702可以已经响应于将厨房混合器移动到新位置的指令而生成。
应当注意,相对于真实世界空间的3D空间特征虚拟地重新定位第一3D模型的指令可能影响增强的媒体的多个不同实例。作为示例,步骤1110的第二次出现可以包括从用户设备930接收显示上面定义的但被更新以反映第一3D模型的新位置的增强的媒体的第三实例的指令。增强的媒体的更新的第三实例可以包括在相对于真实世界空间的3D空间特征的新位置处重新定义的第二图像和第一3D模型的至少一部分。然后可以施行步骤1106的第三次出现,其包括提供增强的媒体的更新的第三实例。
在一些实现中,多个用户可以同时与步骤1106中提供的相同增强的媒体交互。例如,在步骤1108中,增强的媒体可以被输出到用户设备930、950二者。另外,用户设备930、950二者可以用于生成在步骤1110中接收的指令。与用户设备930、950相关联的不同用户可以每个查看增强的媒体的一个或多个不同实例,向增强的媒体添加3D模型和/或相对于真实世界空间的3D空间特征虚拟地移动3D模型。这是共享的增强的媒体会话的示例。
在进一步的实现中,多个用户可以在不同的会话中独立地增强空间意识媒体并与之交互。例如,方法1100可以为用户设备930、950提供单独的增强的媒体。例如,考虑驻留在相同房屋中的两个用户。一个用户可能正在使用增强的媒体的实例查看房屋中沙发的虚拟表示,而另一个用户可能正在使用增强的媒体的不同实例查看房屋中灯的虚拟表示。增强的媒体的这些实例可以从相同的空间意识媒体生成。借助于空间意识媒体引擎902存储的空间意识媒体,两个用户可以正在同时与增强的媒体的不同实例进行交互,而不会彼此干扰。
应当注意,图11中的步骤1102、1104、1106、1108、1110的次序仅作为示例示出。还设想步骤1102、1104、1106、1108、1110的不同次序。例如,步骤1104可以在步骤1102之前施行。附加地或替代地,步骤1102、1104、1106、1108、1110中的两个或更多个可以结合施行。
增强的媒体的进一步示例
图12至14图示了使用增强的空间意识媒体向顾客呈现产品的示例。例如,这些示例可以至少部分地使用图9的空间意识媒体引擎902和/或图11的方法1100来实现。
图12图示了根据实施例的显示在线商店的屏幕页面1202的用户设备1200。屏幕页面1202使得用户能够对在线商店中销售的产品施行搜索。屏幕页面1202包括包含搜索查询1206的搜索栏1204。在所图示的示例中,搜索查询1206包括搜索字符串“客厅装饰”。屏幕页面1202进一步包括匹配搜索查询1206的多个产品1208、1210、1212的列表。
在一些实现中,当在线商店从用户设备1200接收到搜索查询1206时,在线商店可以编译产品列表1208、1210、1212,并输出该列表以用于在用户设备1200上显示。另外,在线商店可以获得对应于产品1208、1210、1212的一个或多个3D模型。这些3D模型可以被提供给空间意识媒体引擎,以便生成用其向用户呈现产品1208、1210、1212的增强的空间意识媒体。以这种方式,产品1208、1210、1212和/或对应的3D模型的列表是搜索查询1206的结果的示例,该搜索查询1206可以由空间意识媒体引擎在方法1100的步骤1102中获得。空间意识媒体引擎可以由在线商店实现,但是情况可能并非总是如此。空间意识媒体引擎可以作为单独的服务或应用来实现。
图13图示了显示在线商店的另一个屏幕页面1300的用户设备1200。响应于对屏幕页面1202中的产品1208的选择,屏幕页面1300可能已经被生成并输出以用于在用户设备1200上显示。例如,屏幕页面1300可以是产品1208的产品页面。屏幕页面1300包括产品1208的描述1308和购买产品1208的选项1310。
屏幕页面1300进一步包括两个选项1304、1306,其图示了显示产品1208的增强空间意识媒体的不同实例。可以经由用户设备1200处的用户输入来选择选项1304、1306中的任一个,以在用户设备1200上显示增强的空间意识媒体的对应实例。在所图示的示例中,在屏幕页面1300中选择选项1304,并且因此在屏幕页面1300中示出了对应于选项1304的增强空间意识媒体的实例1302。经由用户设备1200处的用户输入对选项1306的选择可以导致生成并输出进一步的屏幕页面以用于在用户设备1200上显示,该屏幕页面显示对应于选项1306的增强的空间意识媒体的实例代替实例1302。以这种方式,用户可以在与选项1304、1306相关联的增强的空间意识媒体的不同实例之间切换。
选项1304和实例1302每个包括覆盖有真实世界客厅的图像1314的产品1208的3D模型的渲染1312。选项1306包括覆盖有客厅的不同图像1318的产品1208的相同3D模型的不同渲染1316。图像1314、1318可以由属于客厅的空间意识媒体提供。如选项1304、1306和实例1302中所示出的,产品1208被描绘为搁置在客厅的地板上。相对于由空间意识媒体定义的客厅的3D空间特征,产品1208的3D模型可能已经被定义在该位置处。图像1314、1318每个示出客厅的不同视角,并且渲染1312、1316从图像1314、1318的不同视角反映产品1208的3D模型的位置。以这种方式,选项1304、1306对应于提供客厅中产品1208的不同视点的增强的空间意识媒体的实例。
在一些实现中,在方法1100的步骤1106中生成与选项1304、1306相关联的增强的空间意识媒体的实例。屏幕页面1300可以使得用户能够相对于客厅的3D空间特征移动产品1208的3D模型,这可以导致生成增强的空间意识媒体的更新实例。
被增强以提供选项1304、1306的原始空间意识媒体可以在方法1100的步骤1104中获得。这种空间意识媒体可能特定于用户设备1200的用户,或者以其它方式与用户设备1200的用户相关联。例如,客厅可以是用户房屋的房间,并且用户可能先前已经生成了空间意识媒体来个性化他们的在线购物体验。用户设备1200可能已经被用于捕获图像1314、1318和/或测量客厅的3D空间特征。在一些实现中,用户可能已经提供了使用属于客厅的空间意识媒体来显示产品1208的明确指令。替代地,空间意识媒体可能已经被自动选择。例如,空间意识媒体可能已经被标记为对应于客厅,并且可能已经基于搜索查询1206中包括的短语“客厅”而被选择。
在一些实现中,被增强以提供选项1304、1306的空间意识媒体与顾客不相关联。例如,客厅可以是用于在在线商店中显示客厅产品的房屋的通用房间。在一些情况下,非个人空间意识媒体可能是用户隐私的首选。例如,非个人空间意识媒体的使用可以避免共享用户家的图像。替代地,用户设备1200的用户可能简单地没有任何存储的与他们的客厅相关联的空间意识媒体,并且因此可以代替地实现属于非个人/通用客厅的空间意识媒体。
图14图示了显示在线商店的又另一屏幕页面1400的用户设备1200。屏幕页面1400包括两个选项1404、1406以查看增强的空间意识媒体的不同实例、对应于选项1404的增强的空间意识媒体的实例1402、产品1210的描述1408和购买产品1210的选项1410。经由用户设备1200处的用户输入对选项1406的选择可以导致生成并输出进一步屏幕页面以用于在用户设备1200上显示,其中该进一步屏幕页面显示对应于选项1406的增强的空间意识媒体的实例代替实例1402。在一些实现中,响应于对屏幕页面1202中的产品1210的选择,屏幕页面1400被生成并输出到用户设备1200。
选项1404、1406可以对应于与图13的选项1304、1306相同的空间意识媒体,但是描绘了产品1210而不是产品1208。选项1404和实例1402每个包括覆盖有客厅的图像1314的产品1210的3D模型的渲染1412。选项1406包括覆盖有图像1318的产品1210的3D模型的不同渲染1416。产品1210的3D模型相对于客厅的3D空间特征的位置可以大体上与产品1208的3D模型的位置相同。在一些实现中,在方法1100的步骤1106中生成对应于选项1304、1306、1404、1406的增强的空间意识媒体的所有实例。
由屏幕页面1300、1400提供的选项1304、1306、1404、1406可以使得用户能够浏览在线商店的产品1208、1210,并在与用户相关的真实世界空间内查看那些产品。因为空间意识媒体是预先生成和存储的,所以用户和/或用户设备1200不需要物理地在客厅内来虚拟地将产品1208、1210添加到客厅。用户也能够在客厅的确切相同的图像1314、1318内查看产品1208、1210中的每一个,即使产品1208、1210在不同的时间和/或从不同的位置被查看。这可以允许用户在相同的设置中比较产品1208、1210。另外,用户能够从多个不同的视角同时查看产品1208、1210。这可能有助于为用户实现高效、灵活和个性化的在线购物体验。
尽管在图13和14中未示出,但是对应于选项1304、1306、1404、1406的增强的空间意识媒体的实例可以描绘由产品1208、1210产生的阴影。例如,客厅的空间意识媒体可以包括照明信息。使用该照明信息、产品1208、1210的3D模型的属性以及3D模型的位置,可以预测产品1208、1210在客厅中将投射的阴影。然后,这些阴影可以在增强的空间意识媒体的实例中描绘。产品1208、1210上的反射和眩光也可以或代替地在3D模型的渲染1312、1316、1412、1416中描绘。
确定空间意识媒体中的产品放置
如上所述,空间意识媒体可以允许虚拟产品和/或其它对象在个性化上下文中呈现给顾客。在一些实现中,当用户正在查看在线内容时,增强空间意识媒体是自动完成的,而顾客不必特别请求增强空间意识媒体。例如,考虑广告用例。当向用户呈现数字广告时,如果广告描绘了真实世界空间中对顾客来说是个人的产品,则广告对用户来说可能更有趣和引人注目。因此,产品的广告可以实现增强的空间意识媒体,该增强的空间意识媒体在对用户来说是个人的真实世界空间内描绘产品。换句话说,广告可以针对用户个性化。
在一些情况下,当用户浏览在线商店时,可以自动生成增强的空间意识媒体来向用户为产品做广告。然而,基于增强的空间意识媒体的广告绝不限于在线商店,并且可以更一般地在任何媒体中实现。
与使用3D模型自动生成增强的空间意识媒体相关联的挑战是,3D模型相对于对应真实世界空间的3D空间特征的虚拟位置可能需要自动确定。相比之下,当用户使用3D模型发起空间意识媒体的增强时,那么用户可以提供3D模型相对于真实世界空间的3D空间特征的期望或合适的位置。使用户选择3D模型的位置对于用户来说可能不方便,或者甚至当空间意识媒体被自动增强时也是不可能的。
在没有3D模型相对于由空间意识媒体定义的真实世界空间的3D空间特征的合适位置的情况下,可能难以以上下文相关的方式使用3D模型来增强空间意识媒体。考虑广告用例。可能需要真实世界空间中产品的3D模型的合适位置,以有效地增强空间意识媒体来创建引人注目的广告。如果产品被描绘在真实世界空间中令人厌恶或荒谬的位置中,则那么广告可能对用户没有效果,或者甚至产生反效果。例如,增强用户客厅的图像以在用户的沙发后面或用户的沙发顶部显示电视将不允许用户欣赏他们客厅中的电视的实际外观,并且可能不会增加用户购买电视的兴趣。另一方面,如果电视在用户沙发前方的合适位置处显示,则那么用户可能更欣赏在他们的客厅中电视的实用外观,并且更被迫购买电视。
因此,存在对自动确定3D模型相对于由空间意识媒体定义的真实世界空间的3D空间特征的合适位置的***和方法的需求。本公开的一些实施例实现查找表、机器学习(ML)模型、启发式函数和/或满足该需求的其它计算机实现的函数。例如,在使用产品的3D模型增强空间意识媒体之前,可以实现ML模型来确定3D模型相对于由空间意识媒体定义的真实世界空间的3D空间特征的合适位置或放置。这可以允许增强的空间意识媒体在没有任何用户输入的情况下,在真实世界空间内的上下文相关位置中描绘产品。
在一些实施例中,查找表、ML模型、启发式函数和/或其它计算机实现的函数也被实现或代替地被实现来自动化增强空间意识媒体的其它方面。例如,ML模型可以被训练来推荐用其呈现产品的3D模型的空间意识媒体。
用于在真实世界空间中虚拟定位3D模型的示例***和方法
图15图示了图9的***900,但是具有存储在存储器906中的3D模型位置记录1500和3D模型位置生成器1502。一般而言,3D模型位置记录1500存储关于3D模型相对于空间意识媒体的3D空间特征的先前放置的信息。至少部分基于3D模型位置记录1500,3D模型位置生成器1502可以当增强空间意识媒体时推荐、建议或以其它方式提供3D模型的位置。3D模型相对于空间意识媒体的3D空间特征的位置也可以被称为3D模型的“锚点”。
在一些情况下,由3D模型位置生成器1502输出的3D模型的推荐位置可以被输入到增强的媒体生成器916中。该推荐位置可以定义3D模型在增强的空间意识媒体的一个或多个实例内虚拟定位在何处。
3D模型位置记录1500可以存储从用户输入收集的信息或数据。例如,当用户设备930处的用户输入选择特定3D模型相对于由空间意识媒体定义的真实世界空间的3D空间特征的位置时,那么该位置可以由空间意识媒体引擎902获得并存储在3D模型位置记录1500中。用户输入可以包括在用户接口936上施行的轻拍、点击和/或拖放操作。当用户发起生成增强的空间意识媒体时,可以选择3D模型的位置。当用户创建将3D模型移动到不同位置的指令时,3D模型的位置也可以或者代替地在生成增强的媒体之后被选择。在一些情况下,在方法1100的步骤1110中,用户输入可以由空间意识媒体引擎902获得。因为3D模型的位置是用户定义的,所以该位置可以被认为是真实世界空间中由3D模型表示的对象的真实的、合适的和/或上下文相关的位置。
在3D模型位置记录1500中以其定义3D模型的位置的方式在本文中不受限制。在一些实现中,3D模型的位置被定义为映射到真实世界空间的坐标系内的坐标和/或取向。在一些实现中,相对于真实世界空间的所标识的3D空间特征来定义3D模型的位置。例如,绘画的3D模型的位置可以被定义为在真实世界空间的垂直墙壁上距离真实世界空间中的最低表面(其可以对应于真实世界空间的地板)1.5米。也可以存储垂直墙壁上的3D模型的确切坐标。
在一些情况下,空间意识媒体提供的3D空间信息可能延伸超出标识真实世界空间的表面。更特定的特征,诸如真实世界空间中的家具、墙壁、地板、灯和/或窗户,仅举几个示例,可以在空间意识媒体中被标识或标记。3D模型的位置可以相对于这些标记的3D空间特征来定义。例如,绘画的3D模型的位置可以被定义为距离指向绘画的光源0.5米。
在3D模型位置记录1500中,用户定义的3D模型位置可以以多种不同方式中的任何一种来布置或组织。在一些实现中,位置数据依据3D模型和/或依据由3D模型表示的对象来组织。当用户使用特定3D模型增强空间意识媒体时,那么可以创建3D模型的用户定义位置的数据条目,并将其添加到3D模型的数据集和/或由3D模型表示的对象的数据集。该数据条目尤其可以包括空间意识媒体的标识符(ID)、(例如,从空间意识媒体记录912获得的)关于空间意识媒体的信息、以及3D模型相对于空间意识媒体的3D空间特征的用户定义位置。例如,关于空间意识媒体的信息可以包括标识空间意识媒体的3D空间特征的信息和分配给空间意识媒体的任何标签。以这种方式,数据集可以提供关于3D模型和/或由3D模型表示的对象在不同真实世界空间中适合的地方的指示。
下面的表1提供了在空间意识媒体的不同实例中存储特定3D模型的多个用户定义位置的示例。表1中的列可以被认为是对应于3D模型相对于相应真实世界空间的3D空间特征的用户定义位置的不同数据条目。
表1:不同空间意识媒体中特定3D模型的多个用户定义位置
空间意识媒体ID SAM-135 SAM-722 SAM-906
空间意识媒体标签 “厨房”;“明亮” “客厅”;“地下室” “餐厅”;“宽敞”;“黄色”
提供位置的用户ID U-109360 U-668574 U-234791
从该位置到对应真实世界空间的最低表面的距离 1.00m 1.10m 1.5m
从该位置到对应真实世界空间的最近垂直墙壁的距离 0.2m 0.1m 0.2m
从该位置到对应真实世界空间中的桌子表面的距离 0m 0m 0m
从该位置到对应真实世界空间中的沙发的距离 N/A 2.2m N/A
在一些实现中,3D模型位置记录1500定义不同类型的对象,并且可以基于它们表示的类型的对象来组织3D模型的用户定义位置。相同类型的对象可能在某些方面彼此类似,使得这些对象中的一个的合适位置也可能是其它对象的合适位置。可以是相同类型的对象的非限制性示例包括相同产品的对象(例如,对象可以是相同产品的不同变体)、相同产品类型或类别的对象、相同颜色的对象和/或具有相同标签的对象。对应于相同类型的对象的3D模型的用户定义位置可以被组合在由3D模型位置记录1500存储的数据集中。作为示例,3D模型位置记录1500可以组合对应于白色办公椅的任何对象的数据条目。
在一些实现中,依据空间意识媒体和/或依据对应于空间意识媒体的真实世界空间,在3D模型位置记录1500中组织位置数据。例如,当用户使用3D模型增强空间意识媒体时,那么可以创建3D模型的用户定义位置的数据条目,并将其添加到该空间意识媒体和/或对应于该空间意识媒体的真实世界空间的数据集。该数据条目尤其可以包括3D模型的ID、(例如,从3D模型记录914获得的)关于3D模型的信息以及3D模型相对于真实世界空间的3D空间特征的用户定义位置。以这种方式,数据集可以提供关于不同的3D模型在由空间意识媒体定义的真实世界空间中适合的地方的指示。
关于3D模型的信息可以由3D模型位置记录1500存储和/或使用,以帮助将不同的3D模型与真实世界空间中的用户定义位置相关。当3D模型对应于产品时,关于3D模型的信息可以包括产品信息,诸如例如产品特征、产品类型或类别(其可以是分层的)、尺寸、(一个或多个)颜色、产品描述、标签和/或元字段。产品信息可以从3D模型记录914和/或从销售产品的商家获得。在一些情况下,产品信息可以包括放置信息,诸如标识产品的合适房间或位置的标签。例如,放置信息可以由已经购买产品的顾客和/或销售产品的商家提供。
下面的表2提供了为特定空间意识媒体存储多个用户定义位置的示例。表2中的列可以被认为是不同的数据条目,其对应于空间意识媒体中相应3D模型的用户定义位置。
表2:特定空间意识媒体中不同3D模型的多个用户定义位置
在一些实现中,3D模型位置记录1500定义了不同类型的真实世界空间,并且可以基于这些类型的真实世界空间来组织3D模型位置数据。相同类型的真实世界空间可能在物理上彼此分离,但是提供了类似的场景、设置或环境。例如,不同类型的房间,诸如客厅、卧室、厨房等,每个均可以被认为是不同类型的真实世界空间。在一些情况下,两个不同的真实世界空间可能具有类似的外观。例如,街区或公寓楼可能包括具有类似尺寸、布局和/或其它3D空间特征的多个类似单元。这些单元可能被认为属于相同类型的真实世界空间。产品在这些单元中的一个中的合适位置也可以是在其它单元中的合适位置。可以在3D模型位置记录1500中收集和组合属于任何、一些或所有这些单元的空间意识媒体中的3D模型的用户定义位置,以便增加单元的数据集的大小。
在一些实现中,用户定义位置由用户在3D模型位置记录1500中组织。例如,当用户使用3D模型增强空间意识媒体时,那么可以创建3D模型在空间意识媒体中的用户定义位置的数据条目,并将其添加到特定于该用户的数据集。数据条目可以包括关于3D模型和空间意识媒体的信息。
应当注意,表1和表2仅是可以由3D模型位置记录1500实现的数据结构的一些示例。一般而言,例如,3D模型的位置可以存储在任何形式的列表、(任何维度的)阵列和/或数据树中。
3D模型位置生成器1502包括、实现和/或采用一个或多个算法(可选地以由处理器904可执行的软件指令的形式),该算法可以输出、推荐或以其它方式提供3D模型相对于由空间意识媒体定义的真实世界空间的3D空间特征的位置(包括位置和取向)。这些算法可以基于存储在3D模型位置记录1500中的信息来训练或以其它方式生成。例如,可以训练算法来预测或模拟3D模型的用户定义位置。
3D模型位置生成器1502用其可以推荐3D模型相对于真实世界空间的3D空间特征的位置的准确度和精确度可以取决于空间意识媒体如何定义3D空间特征。如果空间意识媒体仅标识真实世界空间的表面,那么3D模型的推荐位置可能基于表面的大小、取向和相对位置。考虑例如其中3D模型位置生成器1502被实现为推荐电视的3D模型的位置的情况。基于存储在3D模型位置记录1500中的用户定义位置,3D模型位置生成器1502可以确定用户通常将该3D模型和/或电视的其它3D模型放置在距离真实世界空间中的最低表面近似0.7 m的水平表面上。这可能对应于距离真实世界空间的地面近似0.7米的桌子表面。因此,3D模型位置生成器1502可以推荐真实世界空间的类似表面以用于定位电视的3D模型。
在一些实现中,由空间意识媒体提供的3D空间信息超越了标识真实世界空间中的表面。例如,真实世界空间中的诸如家具、灯和窗户之类的对象可以在空间意识媒体中被标识或标记。3D模型位置生成器1502然后可能能够基于标记对象的位置来提供3D模型位置的更详细的推荐。再次参考其中3D模型位置生成器1502被实现为推荐电视的3D模型的位置的情况,3D模型位置生成器1502可以确定用户通常将电视的其它3D模型放置在距离空间意识媒体中被标记为沙发的特征大约3 m的地方。因此,3D模型位置生成器1502可以推荐电视的3D模型的位置,该位置距离被标记为沙发的特征类似的距离。
在一些实现中,空间意识媒体中的3D空间信息将一些3D空间特征标识或标记为可移动的。可移动3D空间特征是在真实世界空间中不固定的特征,诸如对象。照此,3D空间特征可以被其它对象替换。作为示例,图5的表面502、504、506、508可以被标识为可移动的3D空间特征,因为它们对应于客厅402中的家具,而表面500、510可以被标识为客厅402的固定结构。
当增强空间意识媒体时,空间意识媒体生成器910可以准许用3D模型替换可移动3D空间特征。这可以被称为“削弱的现实”。为了替换增强的媒体中真实世界空间的特征,3D模型位置生成器1502可以为真实世界空间内的3D模型选择位置,使得3D模型的渲染将叠加在该特征之上。在一个示例中,与客厅相关联的空间意识媒体可以包括将沙发标识为可移动3D空间特征的空间信息。3D模型位置生成器1502因此可以推荐与真实世界空间中的沙发重叠的3D模型的位置。在这样的情况下,在增强的空间意识媒体的实例中,可以用3D模型的渲染来替换沙发。在另一个示例中,真实世界空间中的灯具可以通过在增强的媒体中在灯具顶部渲染吊灯的3D模型来替换。
在3D模型位置生成器1502中实现的算法可以包括一个或多个查找表、ML模型、启发式函数和/或其它计算机实现的函数。
由3D模型位置生成器1502实现的查找表可以特定于3D模型或特定的空间意识媒体。例如,特定于3D模型的查找表可以通过使用存储在3D模型位置记录1500中的数据集来确定3D模型在不同空间意识媒体和/或不同类型的真实世界空间中的平均和/或最常见位置来实现。类似地,通过使用存储在3D模型位置记录1500中的数据集来确定空间意识媒体中不同3D模型、不同对象和/或不同类型的对象的平均和/或最常见位置,可以实现特定于空间意识媒体的查找表。查找表也可以或代替地特定于特定对象、特定类型的对象和/或一种类型的真实世界空间。
ML模型可以由3D模型位置生成器1502使用本领域已知的任何形式或结构来实现。ML模型的示例结构包括但不限于:
一个或多个人工神经网络;
一个或多个决策树;
一个或多个支持向量机;
一个或多个贝叶斯网络;
一个或多个遗传算法;或
它们的组合。
由3D模型位置生成器1502实现的ML模型可以使用存储在3D模型位置记录1500中的数据或使用任何其它数据源来训练。用于训练ML模型的方法是特定于实现的,并且在本文中不受限制。训练方法的非限制性示例包括:
●监督式学习;
●无监督式学习;
●强化学习;
●自学习;
●特征学习;以及
●稀疏字典学习。
在监督式学习中,通过分析训练数据集中的输入数据、进行定量比较以及将结论与训练数据集中的已知结果进行交叉引用来施行训练。这些分析和比较的迭代细化允许ML模型在ML模型预测的结果和已知结果之间实现更大的确定性。这个过程迭代地继续,直到解收敛或达到所期望的准确度。
在无监督式学习中,ML模型从训练数据集中确定并绘制其自己的连接。这可以通过查看训练数据集中自然出现的数据关系或模式来完成。实现无监督式学习的一种方法是聚类分析,其中目标是发现训练数据集内的组或聚类。聚类是由ML模型类似地处理的变量集。在聚类分析中,ML模型将对训练数据集进行细分,以确定具有高组内类似性和低组间类似性的聚类。聚类分析中使用的聚类数量可以在ML模型中可配置。
类似于查找表,由3D模型位置生成器1502实现的ML模型可以特定于3D模型、对象、一种类型的对象、特定空间意识媒体和/或一种类型的真实世界空间。ML模型的特异性可以由用于训练ML模型的训练数据集决定。ML模型特异性的非限制性示例包括:
●使用一个3D模型的用户定义位置训练的ML模型。ML模型可能被认为是特定于该3D模型的,并且可能不用于确定任何其它3D模型的位置。
●使用一个对象或一种类型的对象的用户定义位置进行训练的ML模型。ML模型可能被认为是特定于该对象或该类型的对象的,并且可能仅用于确定表示该对象或该类型的对象的3D模型的位置。
●使用相对于空间意识媒体的3D空间特征的用户定义位置进行训练的ML模型。ML模型可以被认为是特定于该空间意识媒体的,并且可以仅用于确定3D模型相对于空间意识媒体的3D空间特征的位置。
●使用相对于一种类型的真实世界空间的3D空间特征的用户定义位置进行训练的ML模型。ML模型可以被认为是特定于该类型的真实世界空间的,并且可以仅用于确定3D模型相对于属于该类型的真实世界空间的空间意识媒体的3D空间特征的位置。
●使用一个用户或一个用户集合提供的用户定义位置进行训练的ML模型。ML模型可以被认为是特定于该用户或用户集合的。
应当注意,上面提供的ML模型特异性的不同示例的组合是设想的。例如,ML模型可以使用一种类型的对象相对于一种类型的真实世界空间的3D空间特征的用户定义位置来训练。
在一些情况下,ML模型可能被训练为没有任何特异性。例如,ML可以用于确定任何空间意识媒体中任何3D模型的位置。
图16是图示根据实施例的用于训练和实现ML模型1602以确定3D模型相对于真实世界空间的3D空间特征的位置的过程1600的流程图。如所示出的,过程1600实现空间意识媒体引擎902的空间意识媒体记录912、3D模型记录914、3D模型位置记录1500、3D模型位置生成器1502和增强媒体生成器916。照此,过程1600可以由空间意识媒体引擎902来施行。
在过程1600中,由3D模型位置生成器1502实现和/或采用ML模型1602。空间意识媒体记录912、3D模型记录914和/或3D模型位置记录1500提供了用于训练ML模型1602的训练数据集1604。在ML模型1602被用于确定3D模型的位置之前,ML模型1602被初始训练。ML模型1602也可以使用训练数据集1604被连续或间歇地训练,例如,当新信息在空间意识媒体记录912、3D模型记录914和/或3D模型位置记录1500中变得可用时,训练数据集1604被更新。
在训练之后,ML模型1602可以接收由空间意识媒体记录912和3D模型记录914中的至少一个提供的输入1606,并且提供包括3D模型相对于真实世界空间的3D空间特征的位置的输出1608。在一些实现中,输出1608可以包括在映射到真实世界空间的坐标系内定义的坐标和取向向量。例如,输出1608可以包括定义3D模型位置的(x,y,z)坐标和定义3D模型取向的[x,y,z]向量。在一些实现中,输出可以定义3D模型相对于真实世界空间的特定3D空间特征的位置。例如,输出可以定义要放置3D模型在其上的表面,并且可选地定义该表面上的3D模型的(x,y)坐标。输出1608可以被发送到增强媒体生成器916,以至少部分地基于3D模型相对于真实世界空间的3D空间特征的位置来生成增强的媒体。
在一些实现中,ML模型1602特定于一个3D模型。例如,ML模型1602可以被配置为提供3D模型相对于不同真实世界空间的3D空间特征的位置。表1提供了可以用于训练ML模型1602特定于3D模型的训练数据集的示例。在这些实现中,输入1606可以包括标识由从空间意识媒体记录912获得的空间意识媒体定义的真实世界空间的3D空间特征的信息。可选地,输入1606包括关于空间意识媒体的其它信息,诸如例如分配给空间意识媒体的任何标签。输出1608可以提供3D模型相对于那些3D空间特征的建议或推荐位置。
在一些实现中,ML模型1602可以特定于对象或一种类型的对象。ML模型1602可以被配置为提供表示该对象或该类型的对象的任何3D模型相对于不同真实世界空间的3D空间特征的位置。在这些实现中,输入1606可以包括标识由从空间意识媒体记录912获得的空间意识媒体定义的真实世界空间的3D空间特征的信息。输入1606还可以包括关于要定位的特定3D模型和/或对象的信息,但是情况可能并非总是如此。ML模型1602可以代替地被配置为独立于3D模型和/或对象来确定位置。
在一些实现中,ML模型1602特定于特定的空间意识媒体。ML模型1602可以被配置为提供不同3D模型相对于由空间意识媒体定义的3D空间特征的位置。(上面的)表2提供了训练数据集的示例,该训练数据集可以用于训练ML模型1602特定于空间意识媒体。在这些实现中,输入1606可以包括关于要定位在空间意识媒体中的3D模型和/或关于由3D模型表示的对象的信息。例如,该信息可以从3D模型记录914获得。如果3D模型对应于产品,那么信息可以包括产品信息。使用关于3D模型和/或对象的信息,ML模型1602可以产生输出1608,该输出1608包括3D模型相对于由空间意识媒体定义的3D空间特征的建议位置。
在一些实现中,ML模型1602特定于特定类型的真实世界空间,诸如房屋中一种类型的房间。ML模型1602的输入1606可以包括关于3D模型和/或关于由3D模型表示的对象的信息,该对象要被放置在属于该类型的真实世界空间的空间意识媒体中。如上所述,一种类型的真实世界空间可以对应于公寓楼或街区中的类似单元。如果ML模型1602特定于公寓楼中的单元,并且多个用户一致地将厨房桌子的3D模型定位在那些单元内的某个位置处,那么这可以反映在训练数据集1604中,并且导致输出1608向单元的居民提供厨房桌子的3D模型的类似位置。
在一些实现中,ML模型1602可能特定于一种类型的对象和一种类型的真实世界空间二者。照此,ML模型1602可以用于推荐对应于与该类型的真实世界空间相关联的不同空间意识媒体中的该类型的对象的3D模型的位置。这里,输入1606可以包括关于空间意识媒体的信息和/或关于相对于由空间意识媒体定义的3D空间特征定位的3D模型的信息。
过程1600可以用于多个不同应用中的任何一种。例如,在没有任何用户输入的情况下生成增强的空间意识媒体时,自动确定3D模型的位置可能是有用的。在广告用例中,基于使用过程1600获得的位置,可以用3D模型来增强与用户相关联的空间意识媒体。所得到的增强的媒体可以在真实世界空间中特定于用户的上下文相关位置提供产品的吸引人的描绘。自动确定3D模型相对于真实世界空间的3D空间特征的位置也可以应用于AR应用中,例如,在AR体验内自动定位3D模型。
图17是图示根据实施例的用于使用自动确定的3D模型的位置来提供增强的空间意识媒体的方法1700的流程图。方法1700将被描述为由图15的空间意识媒体引擎902施行。例如,存储器906可以存储指令,当由处理器904执行时,所述指令使处理器904施行方法1700。然而,方法1700的至少一部分可以代替地在别处施行,诸如例如在用户设备930和/或用户设备950处施行。
步骤1702是可选步骤,其包括接收对资源的请求,该资源可以是或包括例如屏幕页面(诸如例如网站的网页或移动应用的页面)、计算机文件和/或另一个数字资源。在一些情况下,可以经由网络920从用户设备930、950中的一个接收请求。用户接口936处的用户输入可以生成请求,该请求然后被传输到空间意识媒体引擎902。
在一些实现中,步骤1702中请求的资源涉及一个或多个产品,或者更一般地涉及一个或多个对象。例如,资源可以是显示在线商店中可用产品的在线商店的屏幕页面。该资源也可以或代替地是包括产品广告的屏幕页面。可以在步骤1702中请求的资源中实现增强的空间意识媒体,来以真实和个性化的方式向用户呈现产品或对象。
步骤1704、1706、1708、1710一般涉及回复或响应于在步骤1702中接收的请求。然而,应当注意,步骤1704、1706、1708、1710中的任何、一个、一些或全部可以在没有在步骤1702中获得对资源的请求的情况下施行。
步骤1704包括从存储器906或另一个计算机可读介质获得空间感知介质。例如,空间意识媒体可以从空间意识媒体记录912获得。空间意识媒体可以包括真实世界空间的图像和标识真实世界空间的3D空间特征的信息。然而,一般而言,在步骤1704中获得的空间意识媒体可以是本文中描述的任何空间意识媒体。例如,空间意识媒体也可以或代替地包括真实世界空间的多个图像、真实世界空间的视频、真实世界空间的音频记录和/或真实世界空间的触觉纹理。在步骤1704中获得的空间意识媒体可以与生成在步骤1702中接收的请求的用户设备的用户相关联。在一些情况下,步骤1704可以类似于图11的步骤1104。
在一些实现中,在步骤1704中获得的特定空间意识媒体是经由用户设备处的用户输入来选择的。替代地或附加地,所获得的空间意识媒体可以由空间意识媒体引擎902基于步骤1702中请求的资源来自动选择或推荐。例如,如果资源是沙发的产品页面,则空间意识媒体引擎902可以自动选择或建议以某种方式与沙发相关联的空间意识媒体。空间意识媒体可以对应于客厅,并且可以基于例如分配给沙发和/或空间意识媒体的一个或多个标签来选择。可以实现查找表、ML模型和/或其它功能,以将空间意识媒体与步骤1702中请求的资源相匹配。
步骤1706包括从存储器906或从另一个计算机可读介质获得对象的3D模型。例如,3D模型可以从3D模型记录914获得。3D模型表示的对象可能是在线商店中销售的产品,但是情况可能并非总是如此。该对象更一般地可以是任何真实世界或虚拟对象。
3D模型可以以多种不同方式中的任何一种获得。在一些情况下,可以基于搜索查询来选择3D模型,该搜索查询形成在步骤1702中接收的对资源的请求的一部分。例如,当用户设备930正在浏览在线商店时,用户设备930可以生成产品搜索查询。对于匹配产品搜索查询的每个产品,在步骤1706中可以获得对应的3D模型。
在一些情况下,在步骤1706中获得的3D模型可以对应于在屏幕页面上广告的产品。当用户设备930在步骤1702中请求屏幕页面时,可以获得3D模型,以便生成包括在屏幕页面中的广告。
步骤1708包括确定步骤1706中获得的3D模型相对于由步骤1704中获得的空间意识媒体定义的真实世界空间的3D空间特征的推荐位置。推荐位置可以在真实世界空间内提供合适的、真实的、自然的或上下文相关的位置,以呈现由3D模型描绘的对象。在一些情况下,推荐的位置是基于先前的用户定义位置,以便模仿用户偏好的位置。
步骤1708可以基于空间意识媒体和对象的3D模型中的至少一个来施行。当基于空间意识媒体施行步骤1708时,空间意识媒体引擎902可以解析由空间意识媒体定义的3D空间特征和/或分配给空间意识媒体的任何标签,以确定推荐位置。当基于对象的3D模型来施行步骤1708时,空间意识媒体引擎902可以解析对象的产品信息和/或分配给3D模型的任何标签,以确定推荐位置。
在一些实现中,使用3D模型位置生成器1502和/或过程1600来施行步骤1708。例如,3D模型位置生成器1502可以使用查找表、ML模型、启发式函数和/或其它计算机实现的函数来生成或以其它方式确定3D模型的推荐位置。
当实现ML模型时,步骤1708可以包括向ML模型提供输入,并且基于ML模型的输出,获得3D模型相对于真实世界空间的3D空间特征的位置。对ML模型的该输入可以基于空间意识媒体和3D模型中的至少一个。然而,ML模型的确切输入是实现特定的,并且可能取决于ML模型的特异性。
在一些情况下,对在步骤1708中实现的ML模型的输入可以包括标识由在步骤1704中获得的空间意识媒体定义的真实世界空间的3D空间特征的至少一些信息。这是基于空间意识媒体施行的步骤1708的示例。对ML模型的输入也可以或代替地包括关于由在步骤1706中获得的3D模型表示的对象的信息。如果对象对应于产品,那么该信息可以是或包括该对象的产品信息。这是基于在步骤1706中获得的3D模型的步骤1708的示例。
用于训练在步骤1708中实现的ML模型的训练数据集在本文中不受限制。在一些实现中,ML模型的训练数据集包括标识多个不同真实世界空间的3D空间特征以及一个或多个3D模型在那些真实世界空间中的用户定义位置的信息。这些3D模型可以包括在步骤1706中获得的3D模型。3D模型也可以或代替地包括类似于3D模型的其它3D模型,诸如对应于相同对象和/或相同类型的对象的3D模型。然而,在一些情况下,ML模型特定于在步骤1706中获得的3D模型,并且因此仅该3D模型的用户定义位置可以用于训练ML模型。
在一些实现中,ML模型的训练数据集包括关于多个对象的信息和对应3D模型相对于由在步骤1704中获得的空间意识媒体定义的真实世界空间的3D空间特征的用户定义位置。作为训练数据集的结果,ML模型可能特定于这个真实世界空间。多个对象中的任何、一个、一些或全部可以对应于产品,并且因此训练数据集可以包括对象的产品信息。
在一些实现中,ML模型的训练数据集包括标识多个真实世界空间的3D空间特征的信息、关于多个对象的信息以及那些真实世界空间中对应3D模型的用户定义位置。多个真实世界空间可以对应于相同类型的真实世界空间和/或多个对象可以对应于相同类型的对象。替代地,训练数据集可以应用于多种类型的对象和多种类型的真实世界空间,并且因此ML模型可以广泛地用于推荐真实世界空间中3D模型的位置。
在步骤1708的一些实现中,3D模型的推荐位置与真实世界空间的3D空间特征重叠。例如,该3D空间特征可以被空间意识媒体标记或以其它方式标识为可移动,并且因此空间意识媒体引擎902可以被准许为3D模型选择与可移动3D空间特征重叠的位置。相比之下,如果另一个3D空间特征没有被标识为可移动,则那么可以选择3D模型的位置,以便不与该另一个3D特征重叠。
在一些实现中,可移动3D空间特征可以包括对应于或关联于由3D模型表示的对象的标签。例如,可移动3D空间特征和对象可以对应于相同类型的对象。然后,在步骤1708中确定的3D模型的位置可以基于可移动3D空间特征相对于真实世界空间的其它3D空间特征的位置。作为示例,如果空间意识媒体包括将特定3D空间特征标识为可移动沙发的信息,并且3D模型对应于沙发,则那么空间意识媒体引擎902可以为3D模型提供对应于(即,重叠于)真实世界沙发的位置的推荐位置。
步骤1710包括指令用户设备显示在步骤1702中请求的资源。如上所述,该资源可以是屏幕页面、计算机文件和/或另一个数字资源。在步骤1710中被指令显示资源的用户设备可以是在步骤1702中提供对资源的请求的相同用户设备。例如,在步骤1702中,用户设备930可能已经生成了对在线商店的屏幕页面的请求,并且在步骤1710中,屏幕页面可以被生成并连同显示屏幕页面的指令一起被传输到用户设备930。
资源可以包括基于在步骤1704中获得的空间意识媒体、在步骤1706中获得的3D模型以及在步骤1708中确定的3D模型的位置的增强的媒体。例如,可以使用方法1100的步骤1106来生成该增强的媒体。资源中包括的增强的媒体的形式是实现特定的。一般而言,本文中公开的任何增强的媒体都可以包括在资源中。作为示例,如果空间意识媒体包括真实世界空间的图像,则那么增强的媒体可以包括覆盖有在相对于真实世界空间的3D空间特征的确定位置处定义的3D模型的渲染的图像的至少一部分。如果3D模型的位置与真实世界空间的可移动3D空间特征重叠,则那么可移动3D空间特征可以在增强的媒体中被移除。增强的媒体还可以或代替地包括基于在步骤1706中获得的3D模型和在步骤1708中确定的3D模型的位置的音频和/或触觉内容。
在一些实现中,由空间意识媒体标识的真实世界空间的3D空间特征包括真实世界空间的表面。在步骤1708中确定的3D模型的推荐位置可以包括该表面上的坐标。然后,可以相对于表面定义3D模型,使得增强的媒体描绘搁置在表面上的对象。作为示例,空间意识媒体可以对应于用户的厨房,并且厨房中的柜台可以是由空间意识媒体表征的3D空间特征。厨房中咖啡机的3D模型的推荐位置可以包括厨房柜台上的坐标,该坐标可以基于该咖啡机或厨房中其它咖啡机的先前放置。然后,增强的媒体可以包括覆盖有3D模型渲染的厨房图像,使得咖啡机看起来像是搁置在厨房的柜台上。例如,咖啡机的3D模型的推荐位置还可以包括咖啡机的取向,使得咖啡机背向墙壁。
在真实世界空间中虚拟定位3D模型的进一步示例
图18至21图示了部分通过在真实世界空间中自动定位3D模型来提供的用户体验的示例。这种用户体验将被描述为正在由在线商店实现,但是这仅是示例。其它计算***也可以实现这样的用户体验。例如,图18至21的用户体验可以由空间意识媒体引擎902和/或方法1700提供。
图18图示了显示在线商店的屏幕页面1802的用户设备1800。屏幕页面1802包括搜索栏1804,其包括具有术语“花瓶”的搜索查询。该搜索查询可能已经由用户设备1800处的用户输入生成,并且然后被传输到在线商店,所述在线商店响应于接收到搜索查询而生成屏幕页面1802。在图示的示例中,屏幕页面1802呈现匹配搜索查询的第一产品和第二产品(分别称为“棕色花瓶”和“红色花瓶”)。附加产品也可以匹配搜索查询,例如,当用户在屏幕页面1802上向上或向下滚动时,所述搜索查询可以在用户设备1800上显示。搜索查询是对可以在方法1700的步骤1702中获得的资源(即,屏幕页面1802)的请求的示例。
第一产品和第二产品每个在屏幕页面1802中的增强的空间意识媒体的相应实例1806、1808中显示。实例1806包括第一产品的3D模型的渲染1820,以及实例1808包括第二产品的3D模型的渲染1822。在图示的示例中,这些渲染被覆盖到图8的客厅402的相同图像802上。用于生成实例1806、1808的空间意识媒体包括图像802,并且可以进一步包括标识客厅402的3D空间特征的信息。这些3D空间特征可以包括但绝不限于图5中所图示的表面500、502、504、506、508、510、512、514。例如,可以在方法1700的步骤1704中获得空间意识媒体,并且可以在步骤1706中获得第一和第二产品的3D模型。
在一些实现中,客厅402可以是特定于用户设备1800的用户的。照此,增强的空间意识媒体的实例1806、1808可以在个性化上下文中向用户显示第一和第二产品。用户可能还能够更容易地比较第一和第二产品,因为每个产品均被描绘在客厅402的相同图像802中。如所示出的,用户可以在客厅402中同时查看和比较第一和第二产品。
屏幕页面1802进一步包括多个选项1810、1812、1814、1816,所述选项允许用户查看增强的空间意识媒体的不同实例。在图18中,选项1810、1814分别对应于增强的空间意识媒体的实例1806、1808,并且在屏幕页面1802中被选择。因此,实例1806、1808被包括在屏幕页面1802中。用户设备1800处的用户输入可以选择其它选项1812、1816中的二者任一,这可以导致在用户设备1800上显示增强的空间意识媒体的不同实例。
图19图示了显示在线商店的另一个屏幕页面1900的用户设备1800。屏幕页面1900一般对应于屏幕页面1802,但是选择选项1812而不是选项1810。结果,显示增强的空间意识媒体的不同实例1902代替实例1806。实例1902对应于与实例1806相同的用于客厅402的空间意识媒体,并且还包括第一产品的3D模型的渲染1904。然而,渲染1904覆盖到图4至7的客厅402的图像400上,这示出了客厅402与图像802不同的视角。实例1902中的3D模型的渲染1904示出了第一产品的不同角度,以反映客厅402的不同视角。以这种方式,增强的空间意识媒体的实例1806、1902可以允许用户从不同的视点欣赏客厅402内的第一产品的外观。
在增强的空间意识媒体的实例1806、1808、1902中,第一和第二产品一般被描绘在客厅402内的相同位置处。该位置包括图5中所示出的客厅402的表面506上的特定点以及相对于表面506和客厅402的其它3D空间特征的特定取向。在一些实现中,在方法1700的步骤1708中自动生成客厅402中第一和第二产品的3D模型的位置。用户设备1800的用户可能不提供指示3D模型的位置的任何指令。换句话说,除了生成和传输搜索查询之外,可以在没有任何用户输入的情况下提供增强的空间意识媒体的实例1806、1808、1902。
在一些实现中,特定于匹配第一和第二产品的一种类型的对象的ML模型被用于确定3D模型在客厅402中的位置。例如,这样的ML模型可能是特定于花瓶的。通过训练,ML模型可以将花瓶的3D模型的用户定义位置与类似于表面506的表面相关,从而导致ML模型为第一和第二产品的3D模型推荐表面506。ML模型也可以或代替地特定于客厅402的空间意识媒体或匹配客厅402的一种类型的真实世界空间。
尽管在一些情况下第一和第二产品可能对应于相同类型的产品,但是第一和第二产品仍然可以适合于客厅402中的不同位置。图20图示了显示在线商店的又另一屏幕页面2000的用户设备1800。屏幕页面2000一般对应于屏幕页面1802,但是用包括增强的空间意识媒体的实例2002代替实例1806。实例2002包括客厅402的图像802和第一产品的渲染2004。渲染2004描绘了在图5中所示出的客厅402的表面500上的位置处的第一产品,该表面500一般对应于客厅402的地板。值得注意的是,由渲染2004描绘的第一产品的位置不同于由实例1808中的渲染1822描绘的第二产品的位置。
实例1808、2002中第一和第二产品的不同位置可能已经通过独立确定每个位置而获得。在一个示例中,特定于第一产品的ML模型用于生成实例2002中所示出的位置。该ML模型可以将第一产品的用户定义位置与类似于表面500的表面相关。例如,用户可能经常将第一产品的3D模型放置在对应于真实世界空间的地板的表面上。特定于第二产品的不同ML模型可以用于生成实例1808中所示出的位置。
在另一个示例中,特定于客厅402或一般特定于客厅的单个ML模型可以用于推荐第一和第二产品的位置。该ML模型可以接收关于第一和第二产品的信息作为输入,这导致ML模型为第一和第二产品推荐不同的位置。例如,第一和第二产品的大小、重量、颜色和/或标签可能不同,当输入到ML模型中时,所述大小、重量、颜色和/或标签导致不同的推荐位置。
在一些实现中,第一和第二产品可能不使用相同的空间意识媒体来呈现。图21图示了显示在线商店的进一步屏幕页面2100的用户设备1800。屏幕页面2100一般对应于屏幕页面1802,但是用包括增强的空间意识媒体的实例2102代替实例1808。实例2102包括覆盖到真实世界办公空间的图像2106上的第二产品的3D模型的渲染2104。该办公空间不同于与实例1806相关联的客厅402,但是对于用户设备1800的用户来说可能仍然是个人的。例如,办公空间可以对应于用户的工作场所。
在一些实现中,自动选择对应于客厅402的空间意识媒体来显示第一产品,并且自动选择对应于办公空间的空间意识媒体来显示第二产品。例如,可以实现一个或多个ML模型来确定在其中呈现第一和第二产品的合适的空间意识媒体。ML模型的输出可能建议第一产品在客厅中显示,以及第二产品在办公室中显示。然后可以基于这些建议来生成实例1806、2102。这可能有助于在合适的真实世界环境中描绘第一和第二产品,从而允许用户查看第一和第二产品的真实设置。
在一些实现中,办公空间中第二产品的确定位置可以对应于办公空间中真实世界对象的位置。这个真实世界对象可以被办公空间的空间意识媒体标识为可移动的3D空间特征。因此,实例2102可能已经从图像2106移除了该3D空间特征,以在其位置示出第二产品的3D模型的渲染2104。另外,可移动3D空间特征可以包括与搜索查询“花瓶”相关的标签。基于该标签,空间意识媒体引擎可能已经确定可移动3D空间特征的位置是第二产品的合适位置。作为示例,办公空间可以包括真实世界花盆,该花盆被办公空间的空间意识媒体标识为可移动3D特征。花盆可以进一步被空间意识媒体标记为“花瓶”。基于标签和花盆被标识为可移动3D特征,空间意识媒体引擎可能已经推荐花盆的位置作为第二产品的位置。照此,花盆在实例2102中被移除,并且第二产品的3D模型的渲染2104被提供在其位置。
结论
尽管已经参考本发明的特定特征和实施例描述了本发明,但是在不脱离本发明的情况下,可以对其进行各种修改和组合。因此,说明书和附图被简单地视为由所附权利要求限定的本发明的一些实施例的说明,并且被设想覆盖落入本发明范围内的任何和所有修改、变化、组合或等同物。因此,尽管已经详细描述了本发明及其优点,但是在不脱离由所附权利要求限定的本发明的情况下,可以在本文中进行各种改变、替代和更改。此外,本申请的范围不意图限于说明书中描述的过程、机器、制造、物质的组成、部件、方法和步骤的特定实施例。如本领域普通技术人员从本发明的公开内容中容易领会的,根据本发明,可以利用目前存在的或以后要开发的过程、机器、制造、物质的组成、部件、方法或步骤,它们施行与本文中描述的对应实施例大体上相同的功能或实现大体上相同的结果。因此,所附权利要求意图将这样的过程、机器、制造、物质的组成、部件、方法或步骤包括在其范围内。
此外,本文中例示的执行指令的任何模块、组件或设备可以包括或者以其它方式能够访问用于存储信息的非暂时性计算机/处理器可读存储介质,诸如计算机/处理器可读指令、数据结构、程序模块和/或其它数据。非暂时性计算机/处理器可读存储介质的示例的非穷举列表包括磁带盒、磁带、磁盘存储装置或其它磁性存储设备、光盘,诸如压缩盘只读存储器(CD-ROM)、数字视频碟或数字多功能碟(DVD)、蓝光碟(Blu-ray Disc™)或其它光学存储装置、以任何方法或技术实现的易失性和非易失性、可移除和不可移除介质、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器或其它存储器技术。任何这样的非暂时性计算机/处理器存储介质可以是设备的一部分,或者可访问或可连接到设备。本文中描述的任何应用或模块可以使用计算机/处理器可读/可执行指令来实现,所述指令可以由这样的非暂时性计算机/处理器可读存储介质来存储或以其它方式保持。
本教导还可以扩展到以下编号条款中的一个或多个的特征:
条款
1.一种计算机实现的方法,包括:
获得搜索查询的结果,所述搜索查询源自与用户相关联的设备处的用户输入,并且所述结果包括多个三维(3D)模型;
从存储器获得存储的媒体,所述存储的媒体包括真实世界空间的图像和标识真实世界空间的3D空间特征的信息;以及
基于所存储的媒体和多个3D模型中的至少一些来提供增强的媒体,所提供的增强的媒体包括增强的媒体的多个不同实例,所述增强的媒体的多个不同实例每个均包括覆盖有相对于3D空间特征定义的所述多个3D模型中的至少一些中的相应一个的渲染的真实世界空间的图像的至少一部分。
2.根据条款1所述的计算机实现的方法,其中输出增强的媒体的多个不同实例以用于在设备上同时显示。
3.根据条款1所述的计算机实现的方法,其中:
所述图像是从第一视角与用户相关联的真实世界空间的第一图像;
所述存储的媒体进一步包括从第二视角与用户相关联的真实世界空间的第二图像;以及
所提供的增强的媒体进一步包括增强的媒体的不同实例,每个实例包括覆盖有相对于3D空间特征定义的多个3D模型中的至少一些中的相应一个的渲染的真实世界空间的第二图像的至少一部分。
4.根据条款3所述的计算机实现的方法,其中提供增强的媒体包括基于第一视角来渲染所述3D模型中的至少一些。
5.根据条款3所述的计算机实现的方法,其中提供增强的媒体包括基于第二视角来渲染所述3D模型中的至少一些。
6.根据条款3所述的计算机实现的方法,进一步包括:
当设备正在显示增强的媒体的多个不同实例中的增强的媒体的第一实例时,从设备接收相对于真实世界空间的3D空间特征虚拟地重新定位所述多个3D模型中的至少一些中的特定3D模型的指令,其中所述增强的媒体的第一实例包括覆盖有相对于3D空间特征定义的特定3D模型的渲染的真实世界空间的第一图像的至少一部分;
基于指令,相对于真实世界空间的3D空间特征重新定义特定3D模型;
提供增强的媒体的更新的第一实例,所述增强的媒体的更新的第一实例包括覆盖有相对于真实世界空间的3D空间特征重新定义的特定3D模型的第一更新渲染的第一图像的至少一部分;
从设备接收显示基于第二图像的增强的媒体的更新的第二实例的指令;以及
提供包括覆盖有相对于真实世界空间的3D空间特征重新定义的特定3D模型的第二更新渲染的第二图像的至少一部分的增强的媒体的更新的第二实例。
7.根据条款3所述的计算机实现的方法,其中所述存储的媒体包括真实世界空间的视频,第一图像对应于视频的第一帧,以及第二图像对应于视频的第二帧。
8.根据条款3所述的计算机实现的方法,进一步包括生成所存储的媒体,所述生成包括:
基于真实世界空间的3D扫描来标识3D空间特征;
捕获真实世界空间的第一图像;
在捕获第一图像之后,在真实世界空间的3D扫描内重新初始化设备;以及
在重新初始化设备之后,使用设备捕获真实世界空间的第二图像。
9.根据条款8所述的计算机实现的方法,其中在真实世界空间的3D扫描内重新初始化设备包括确定设备相对于3D空间特征的位置。
10.根据条款1所述的计算机实现的方法,其中所述图像由进一步设备捕获,并且所述存储的媒体进一步包括当捕获进一步设备的第一图像和相机参数时进一步设备相对于3D空间特征的位置。
11.根据条款1所述的计算机实现的方法,其中所述存储的媒体进一步包括真实世界空间的照明信息。
12.根据条款1所述的计算机实现的方法,其中:
真实世界空间的3D空间特征包括真实世界空间内的表面;以及
对于增强的媒体的多个不同实例中的每一个,相对于表面定义所述多个3D模型中的至少一些中的相应一个,使得所述多个3D模型中的至少一些中的相应一个的渲染描绘了搁置在表面上的对应对象。
13.根据条款1所述的计算机实现的方法,其中多个3D模型中的每一个对应于不同的产品。
14.一种***,包括:
存储器,用于存储:
搜索查询的结果,所述搜索查询源自与用户相关联的设备处的用户输入,并且所述结果包括多个三维(3D)模型;和
存储的媒体,包括真实世界空间的图像和标识真实世界空间的3D空间特征的信息;以及
至少一个处理器,用于基于存储的媒体和所述多个3D模型中的至少一些来提供增强的媒体,所提供的增强的媒体包括增强的媒体的多个不同实例,所述增强的媒体的多个不同实例每个均包括覆盖有相对于3D空间特征定义的多个3D模型中的至少一些中的相应一个的渲染的真实世界空间的图像的至少一部分。
15.根据条款14所述的***,其中所述增强的媒体的多个不同实例被输出以用于在设备上同时显示。
16.根据条款14所述的***,其中:
所述图像是从第一视角与用户相关联的真实世界空间的第一图像;
所述存储的媒体进一步包括从第二视角与用户相关联的真实世界空间的第二图像;以及
所提供的增强的媒体进一步包括增强的媒体的不同实例,每个实例包括覆盖有相对于3D空间特征定义的多个3D模型中的至少一些中的相应一个的渲染的真实世界空间的第二图像的至少一部分。
17.根据条款16所述的***,其中所述至少一个处理器要基于第一视角来渲染所述3D模型中的至少一些。
18.根据条款16所述的计算机实现的方法,其中所述至少一个处理器要基于第二视角来渲染所述3D模型中的至少一些。
19.根据条款16所述的***,其中所述至少一个处理器进一步要:
当设备正在显示增强的媒体的多个不同实例中的增强的媒体的第一实例时,从设备接收相对于真实世界空间的3D空间特征虚拟地重新定位所述多个3D模型中的至少一些中的特定3D模型的指令,其中所述增强的媒体的第一实例包括覆盖有相对于3D空间特征定义的特定3D模型的渲染的真实世界空间的第一图像的至少一部分;
基于指令,相对于真实世界空间的3D空间特征重新定义特定的3D模型;
提供增强的媒体的更新的第一实例,所述增强的媒体的更新的第一实例包括覆盖有相对于真实世界空间的3D空间特征重新定义的特定3D模型的第一更新渲染的第一图像的至少一部分;
从设备接收显示基于第二图像的增强的媒体的更新的第二实例的指令;以及
提供包括覆盖有相对于真实世界空间的3D空间特征重新定义的特定3D模型的第二更新渲染的第二图像的至少一部分的增强的媒体的更新的第二实例。
20.根据条款16所述的***,其中所述存储的媒体包括真实世界空间的视频,第一图像对应于视频的第一帧,以及第二图像对应于视频的第二帧。
21.根据条款16所述的***,其中所述至少一个处理器进一步要:
基于真实世界空间的3D扫描来标识3D空间特征;
捕获真实世界空间的第一图像;
在捕获第一图像之后,在真实世界空间的3D扫描内重新初始化设备;以及
在重新初始化设备之后,使用设备捕获真实世界空间的第二图像。
22.根据条款21所述的***,其中所述至少一个处理器确定设备相对于3D空间特征的位置,以在真实世界空间的3D扫描内重新初始化设备。
23.根据条款14所述的***,其中所述图像由进一步设备捕获,并且所述存储的媒体进一步包括当捕获进一步设备的第一图像和相机参数时进一步设备相对于3D空间特征的位置。
24.根据条款14所述的***,其中:
真实世界空间的3D空间特征包括真实世界空间内的表面;以及
对于增强的媒体的多个不同实例中的每一个,相对于表面定义所述多个3D模型中的至少一些中的相应一个,使得所述多个3D模型中的至少一些中的相应一个的渲染描绘了搁置在表面上的对应对象。
25.一种存储计算机可执行指令的非暂时性计算机可读介质,当由计算机执行时,所述指令使计算机进行以下操作:
获得搜索查询的结果,所述搜索查询源自与用户相关联的设备处的用户输入,并且所述结果包括多个三维(3D)模型;
从存储器获得存储的媒体,所述存储的媒体包括真实世界空间的图像和标识真实世界空间的3D空间特征的信息;以及
基于所存储的媒体和多个3D模型中的至少一些来提供增强的媒体,所提供的增强的媒体包括增强的媒体的多个不同实例,所述增强的媒体的多个不同实例每个均包括覆盖有相对于3D空间特征定义的所述多个3D模型中的至少一些中的相应一个的渲染的真实世界空间的图像的至少一部分。

Claims (20)

1.一种计算机实现的方法,包括:
获得对应于产品的多个三维(3D)模型,所述多个3D模型包括第一3D模型和不同于第一3D模型的第二3D模型;
从存储器获得存储的媒体,所述存储的媒体包括真实世界空间的图像和标识真实世界空间的3D空间特征的信息;以及
基于存储的媒体和多个3D模型中的至少一些来提供增强的媒体,所提供的增强的媒体包括增强的媒体的多个不同实例,所述增强的媒体的多个不同实例包括:
增强的媒体的第一实例,包括覆盖有相对于真实世界空间的3D空间特征定义的第一3D模型的渲染的真实世界空间的图像的至少一部分,和
增强的媒体的第二实例,包括覆盖有相对于真实世界空间的3D空间特征定义的第二3D模型的渲染的真实世界空间的图像的至少一部分,
其中输出增强的媒体的多个不同实例以用于在设备上同时显示。
2.根据权利要求1所述的计算机实现的方法,进一步包括获得搜索查询的结果,所述搜索查询源自与用户相关联的设备处的用户输入,并且所述多个3D模型与所述搜索查询的结果相关联。
3.根据权利要求2所述的计算机实现的方法,其中从存储器获得存储的媒体包括基于搜索查询从存储器中存储的媒体的多个实例中自动选择存储的媒体。
4.根据权利要求3所述的计算机实现的方法,其中所述多个3D模型中的每一个对应于所述产品中相应的不同产品,并且自动选择存储的媒体基于所述产品。
5.根据权利要求1所述的计算机实现的方法,其中:
所述图像是从第一视角与用户相关联的真实世界空间的第一图像;
所述存储的媒体进一步包括从第二视角与用户相关联的真实世界空间的第二图像;以及
所提供的增强的媒体进一步包括增强的媒体的不同实例,每个实例包括覆盖有相对于3D空间特征定义的所述多个3D模型中的至少一些中的相应一个的渲染的真实世界空间的第二图像的至少一部分。
6.根据权利要求5所述的计算机实现的方法,其中提供增强的媒体包括基于第一视角或第二视角来渲染3D模型中的至少一些。
7.根据权利要求5所述的计算机实现的方法,其中所述存储的媒体包括真实世界空间的视频,第一图像对应于视频的第一帧,以及第二图像对应于视频的第二帧。
8.根据权利要求5所述的计算机实现的方法,进一步包括生成存储的媒体,所述生成包括:基于真实世界空间的3D扫描来标识3D空间特征;
捕获真实世界空间的第一图像;
在捕获第一图像之后,在真实世界空间的3D扫描内重新初始化设备;以及
在重新初始化设备之后,使用设备捕获真实世界空间的第二图像。
9.根据权利要求1所述的计算机实现的方法,其中所述图像由另外的设备捕获,并且存储的媒体进一步包括当捕获所述另外的设备的图像和相机参数时所述另外的设备相对于3D空间特征的位置。
10.根据权利要求1所述的计算机实现的方法,其中:
真实世界空间的3D空间特征包括真实世界空间内的表面;以及
对于增强的媒体的多个不同实例中的每一个,相对于表面定义所述多个3D模型中的至少一些中的相应一个,使得所述多个3D模型中的至少一些中的相应一个的渲染描绘了搁置在表面上的对应对象。
11.一种***,包括:
存储器,用于存储:
对应于产品的多个三维(3D)模型,所述多个3D模型包括第一3D模型和不同于第一3D模型的第二3D模型;
存储的媒体,包括真实世界空间的图像和标识真实世界空间的3D空间特征的信息;以及
至少一个处理器,用于基于存储的媒体和多个3D模型中的至少一些来提供增强的媒体,所提供的增强的媒体包括增强的媒体的多个不同实例,所述增强的媒体的多个不同实例包括:
增强的媒体的第一实例,包括覆盖有相对于真实世界空间的3D空间特征定义的第一3D模型的渲染的真实世界空间的图像的至少一部分,和
增强的媒体的第二实例,包括覆盖有相对于真实世界空间的3D空间特征定义的第二3D模型的渲染的真实世界空间的图像的至少一部分,
其中输出增强的媒体的多个不同实例以用于在设备上同时显示。
12.根据权利要求11所述的***,其中所述至少一个处理器进一步用于获得搜索查询的结果,所述搜索查询源自与用户相关联的设备处的用户输入,并且所述多个3D模型与所述搜索查询的结果相关联。
13.根据权利要求12所述的***,其中所述至少一个处理器用于通过基于搜索查询从存储器中存储的媒体的多个实例中自动选择存储的媒体来从存储器获得存储的媒体。
14.根据权利要求13所述的***,其中所述多个3D模型中的每一个对应于所述产品中相应的不同产品,并且自动选择存储的媒体基于所述产品。
15.根据权利要求11所述的***,其中:
所述图像是从第一视角与用户相关联的真实世界空间的第一图像;
所述存储的媒体进一步包括从第二视角与用户相关联的真实世界空间的第二图像;以及
所提供的增强的媒体进一步包括增强的媒体的不同实例,每个实例包括覆盖有相对于3D空间特征定义的所述多个3D模型中的至少一些中的相应一个的渲染的真实世界空间的第二图像的至少一部分。
16.根据权利要求15所述的***,其中所述至少一个处理器用于基于第一视角或第二视角来渲染3D模型中的至少一些。
17.根据权利要求15所述的***,其中所述存储的媒体包括真实世界空间的视频,第一图像对应于视频的第一帧,以及第二图像对应于视频的第二帧。
18.根据权利要求15所述的***,其中所述至少一个处理器进一步用于:
基于真实世界空间的3D扫描来标识3D空间特征;
捕获真实世界空间的第一图像;
在捕获第一图像之后,在真实世界空间的3D扫描内重新初始化设备;以及
在重新初始化设备之后,使用设备捕获真实世界空间的第二图像。
19.根据权利要求11所述的***,其中所述图像由另外的设备捕获,并且存储的媒体进一步包括当捕获所述另外的设备的图像和相机参数时所述另外的设备相对于3D空间特征的位置。
20.一种存储计算机可执行指令的非暂时性计算机可读介质,当由计算机执行时,所述指令使计算机进行以下操作:
获得对应于产品的多个三维(3D)模型,所述多个3D模型包括第一3D模型和不同于第一3D模型的第二3D模型;
从存储器获得存储的媒体,所述存储的媒体包括真实世界空间的图像和标识真实世界空间的3D空间特征的信息;以及
基于存储的媒体和多个3D模型中的至少一些来提供增强的媒体,所提供的增强的媒体包括增强的媒体的多个不同实例,所述增强的媒体的多个不同实例包括:
增强的媒体的第一实例,包括覆盖有相对于真实世界空间的3D空间特征定义的第一3D模型的渲染的真实世界空间的图像的至少一部分,和
增强的媒体的第二实例,包括覆盖有相对于真实世界空间的3D空间特征定义的第二3D模型的渲染的真实世界空间的图像的至少一部分,
其中输出增强的媒体的多个不同实例以用于在设备上同时显示。
CN202111209661.1A 2020-10-28 2021-10-18 用于提供增强的媒体的***和方法 Active CN114510626B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17/082216 2020-10-28
US17/082,216 US11276247B1 (en) 2020-10-28 2020-10-28 Systems and methods for providing augmented media
EP21173750.7 2021-05-13
EP21173750.7A EP3992811A1 (en) 2020-10-28 2021-05-13 Systems and methods for providing augmented media

Publications (2)

Publication Number Publication Date
CN114510626A CN114510626A (zh) 2022-05-17
CN114510626B true CN114510626B (zh) 2024-06-18

Family

ID=75919250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111209661.1A Active CN114510626B (zh) 2020-10-28 2021-10-18 用于提供增强的媒体的***和方法

Country Status (4)

Country Link
US (3) US11276247B1 (zh)
EP (1) EP3992811A1 (zh)
CN (1) CN114510626B (zh)
CA (1) CA3131589A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11321768B2 (en) 2018-12-21 2022-05-03 Shopify Inc. Methods and systems for an e-commerce platform with augmented reality application for display of virtual objects
US11276247B1 (en) 2020-10-28 2022-03-15 Shopify Inc. Systems and methods for providing augmented media
US20230334494A1 (en) * 2022-04-18 2023-10-19 Tmrw Foundation Ip S. À R.L. Cryptographic digital assets management system
TWI828527B (zh) * 2023-01-19 2024-01-01 王一互動科技有限公司 自動導覽的方法及電子裝置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009517138A (ja) * 2005-11-23 2009-04-30 カプソ・ビジョン・インコーポレイテッド 動き検出と「実体像」イメージの構築
US9782668B1 (en) * 2012-07-31 2017-10-10 Niantic, Inc. Placement of virtual elements in a virtual world associated with a location-based parallel reality game
US10235810B2 (en) * 2015-09-22 2019-03-19 3D Product Imaging Inc. Augmented reality e-commerce for in-store retail
GB2545102A (en) 2015-12-04 2017-06-07 Wal Mart Stores Inc Interior decorating system using three-dimensional and other properties of a space
US11113883B2 (en) * 2017-12-22 2021-09-07 Houzz, Inc. Techniques for recommending and presenting products in an augmented reality scene
US11651555B2 (en) * 2018-05-31 2023-05-16 Microsoft Technology Licensing, Llc Re-creation of virtual environment through a video call
US10573019B1 (en) 2018-09-25 2020-02-25 Ebay Inc. Augmented reality digital content search and sizing techniques
US11922489B2 (en) 2019-02-11 2024-03-05 A9.Com, Inc. Curated environments for augmented reality applications
US11276247B1 (en) 2020-10-28 2022-03-15 Shopify Inc. Systems and methods for providing augmented media
US11593870B2 (en) 2020-10-28 2023-02-28 Shopify Inc. Systems and methods for determining positions for three-dimensional models relative to spatial features

Also Published As

Publication number Publication date
US20230260241A1 (en) 2023-08-17
US11670065B2 (en) 2023-06-06
CN114510626A (zh) 2022-05-17
US20220157035A1 (en) 2022-05-19
US11276247B1 (en) 2022-03-15
EP3992811A1 (en) 2022-05-04
CA3131589A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
US11568620B2 (en) Augmented reality-assisted methods and apparatus for assessing fit of physical objects in three-dimensional bounded spaces
KR102684040B1 (ko) 물리적 아이템에 대한 증강 현실 장면을 생성하기 위한 시스템 및 방법
US11593870B2 (en) Systems and methods for determining positions for three-dimensional models relative to spatial features
CN114510626B (zh) 用于提供增强的媒体的***和方法
US11908159B2 (en) Systems and methods for representing user interactions in multi-user augmented reality
US11494153B2 (en) Systems and methods for modifying multi-user augmented reality
US11847716B2 (en) Systems and methods for generating multi-user augmented reality content
US20240233286A1 (en) Augmented reality enabled dynamic product presentation
EP4099276A1 (en) Systems and methods for supplementing digital media with three-dimensional (3d) models
US20240242424A1 (en) Augmented reality enabled dynamic product presentation
US11941750B2 (en) Augmented reality enabled dynamic product presentation
US11893693B2 (en) Systems and methods for generating digital media based on object feature points
US20230377027A1 (en) Systems and methods for generating augmented reality within a subspace
TW202123131A (zh) 用於推薦二維影像之系統及方法

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