CN113222683A - 用于为实体物品生成增强现实场景的系统和方法 - Google Patents

用于为实体物品生成增强现实场景的系统和方法 Download PDF

Info

Publication number
CN113222683A
CN113222683A CN202110166438.7A CN202110166438A CN113222683A CN 113222683 A CN113222683 A CN 113222683A CN 202110166438 A CN202110166438 A CN 202110166438A CN 113222683 A CN113222683 A CN 113222683A
Authority
CN
China
Prior art keywords
scene
customer
computer
product
image
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.)
Pending
Application number
CN202110166438.7A
Other languages
English (en)
Inventor
J·瓦德
J·M·哈波亚
B·L·德尔加多
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
Shopify Inc
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 CN113222683A publication Critical patent/CN113222683A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Architecture (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供了用于生成实体物品的增强现实(AR)场景的系统和方法。AR场景可以使顾客与真实世界中的实体物品交互,同时还允许顾客在可以针对顾客和/或实体物品定制的虚拟设置中查看实体物品。根据实施例,针对实体物品生成AR场景。AR场景包括计算机生成的场景和实体物品的图像的至少一部分,其中,计算机生成的场景基于与用户和/或实体物品相关联的信息。然后在设备上显示AR场景。

Description

用于为实体物品生成增强现实场景的系统和方法
技术领域
本申请涉及增强现实(AR),并且在特定实施例中涉及AR内容的生成。
背景技术
AR涉及使用计算机生成的或虚拟的内容来增强真实世界体验。在一些情况下,AR涉及将物理真实世界内容与计算机生成的内容叠加。这种叠加可以是相长的或相消的。相长的AR将内容添加到真实世界体验,而相消的AR掩蔽真实世界体验中的内容。AR不同于虚拟现实(VR)。VR涉及创建完全计算机生成的体验,而AR维持真实世界体验中的至少一部分,但使用计算机生成的内容来改变该真实世界体验的感知。
发明内容
本公开的一些实施例涉及用于实体物品的AR场景的生成。AR场景允许用户(例如,顾客)在可以针对用户和/或实体物品而定制的特定环境或设置中查看实体物品同时还允许用户与真实世界中的实体物品交互。
因此,提供了一种如在所附权利要求中详述的方法、系统和计算机程序。
附图说明
将参考附图仅通过示例的方式描述实施例,其中:
图1是根据实施例的电子商务平台的框图;
图2是根据实施例的管理器(administrator)的主页的示例;
图3示出图1的电子商务平台,但是包括AR引擎;
图4是示出用于生成AR内容的示例系统的框图;
图5是示出根据实施例的方法的流程图;
图6至图8是示出根据一些实施例的顾客标识与长沙发相对应的产品的示图;
图9是示出根据实施例的对图6所示的长沙发的推荐场景的选择的示图;
图10是示出根据实施例的针对图6所示的长沙发的特定场景的搜索的示图;
图11和12是示出根据一些实施例的在顾客设备上显示的AR场景的示图;
图13和14是示出根据一些实施例的在顾客设备上显示的修改的AR场景的示图;
图15是示出根据实施例的AR场景中的冲突的示图;
图16和17是示出根据其他实施例的在顾客设备上显示的修改的AR场景的示图;
图18是示出根据实施例的在移动顾客设备之后显示在顾客设备上的AR场景的示图;
图19是示出根据实施例的在顾客设备上显示的AR场景的示图;以及
图20是示出根据实施例的在顾客设备上显示的修改的AR场景的示图。
具体实施方式
出于说明性目的,现在将在下文结合附图更详细地解释特定的示例实施例。
示例电子商务平台
在一些实施例中,本文公开的方法可以在诸如电子商务平台之类的商务平台上执行或与其相关联地执行。因此,将描述商务平台的示例。
图1示出了根据实施例的电子商务平台100。电子商务平台100可用于向顾客提供商家产品和服务。虽然本公开考虑使用装置、系统和过程来购买产品和服务,但是为了简单起见,本文中的描述将适用于产品。贯穿本公开的对产品的所有引用也应当被理解为是对产品和/或服务的引用,包括实体产品、数字内容、票、订阅、要提供的服务等。
虽然本公开通篇考虑“商家”和“顾客”可以不止是个人,但是为了简单起见,本文中的描述一般可以同样指代商家和顾客。贯穿本公开对商家和顾客的所有引用也应当被理解为对个人、公司、企业、计算实体等的群组的引用,并且可以表示为了盈利或不为了盈利的产品交换。此外,虽然本公开通篇涉及“商家”和“顾客”,并且如此描述了它们的角色,但是电子商务平台100应当被理解为更一般地支持电子商务环境中的用户,并且贯穿本公开对商家和顾客的所有引用也应当被理解为对用户的引用,诸如其中用户是商家用户(例如,产品的销售者、零售商、批发商或提供商)、顾客用户(例如,产品的购买者、购买代理或用户)、预期用户(例如,浏览并且尚未承诺购买的用户、评估电子商务平台100以潜在地用于营销和销售产品的用户等)、服务提供商用户(例如,配送提供商112、金融提供商等)、公司或企业用户(例如,代表购买、销售或使用产品的公司;企业用户;顾客关系或顾客管理代理等)、信息技术用户、计算实体用户(例如,用于产品的购买、销售或使用的计算机器人)等。
电子商务平台100可以提供用于向商家提供用于管理其业务的在线资源和设施的集中式系统。本文所述的设施可通过在可以是平台100的一部分或在其外部的一个或多个处理器上执行计算机软件、模块、程序代码和/或指令的机器来部分或全部部署。商家可以利用电子商务平台100来管理与顾客的商务,这诸如通过经由在线商店138、经由渠道110A-B、经由物理位置(例如,实体店面或其他位置,诸如经由售货亭、终端、读取器、打印机、3D打印机等)中的POS设备152实现与顾客的电子商务体验、通过经由电子商务平台100管理其业务、以及通过经由电子商务平台100的通信设施129与顾客交互、或其任何组合。商家可以将电子商务平台100用作与顾客的唯一商务存在或者与其他商家商务设施结合利用,诸如经由物理商店(例如,“实体”零售商店)、商家平台外网站104(例如,与电子商务平台独立地由商家支持或代表商家的商务互联网网站或其他互联网或web资产)等。然而,甚至这些“其他”商家商务设施可被结合到电子商务平台中,诸如其中商家的物理商店中的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)等,诸如在软件和交付模型中,在其中软件基于订阅被许可并且被集中托管(例如,由用户使用客户端(例如,瘦客户端)经由web浏览器或其他应用访问、通过由POS设备访问等)。在一些实施例中,电子商务平台100的元素可以被实现为在各种平台和操作系统上操作,诸如iOS、Android、在web上等(例如,管理器114在针对iOS、Android的给定在线商店以及针对web的多个实例中实现,每个具有类似的功能)。
在一些实施例中,在线商店138可以通过由电子商务平台100的服务器提供的网页来提供给顾客设备150。服务器可以从安装在顾客设备150上的浏览器或其他应用接收对网页的请求,其中,浏览器(或其他应用)通过IP地址连接到服务器,IP地址通过转换域名来获得。作为回应,服务器发送回所请求的网页。网页可以用超文本标记语言(HTML)、模板语言、JavaScript等或其任何组合来编写、或包括超文本标记语言(HTML)、模板语言、JavaScript等或其任何组合。例如,HTML是描述网页的静态信息的计算机语言,诸如网页的布局、格式和内容。网站设计者和开发者可以使用模板语言来构建网页,网页组合了在多个页面上相同的静态内容和从一个页面到下一个页面改变的动态内容。模板语言可以使得可以在利用来自在线商店的数据动态地填充页面的同时重新使用定义网页布局的静态元素。静态元素可以用HTML编写,而动态元素可以用模板语言编写。文件中的模板语言元素可以充当占位符,使得文件中的代码被编译并发送到顾客设备150,然后模板语言被来自在线商店138的数据替换,诸如当安装主题时。模板和主题可以考虑标签、对象和过滤器。客户端设备web浏览器(或其他应用)然后相应地渲染页面。
在一些实施例中,在线商店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的目录、管理订单、最近访问活动、总订单活动等。在一些实施例中,商家可能能够通过使用边注栏(sidebar)来访问管理器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 Act(SOX)合规以及在它们的开发和操作中所需的高水平的注意程度。金融设施120还可以诸如通过资金的借出(例如,借出资金、现金预付等)和保险的提供来向商家提供金融支持。另外,电子商务平台100可以提供一组营销和合作方服务,并且控制电子商务平台100和合作方之间的关系。它们还可以将新的商家与电子商务平台100连接并装载在其上。这些服务可以通过使商家更容易地跨电子商务平台100工作来实现商家增长。通过这些服务,可以经由电子商务平台100向商家提供帮助设施。
在一些实施例中,在线商店138可以支持大量独立管理的店面,并且每天针对各种产品处理大量交易数据。交易数据可以包括顾客联系信息、账单信息、配送信息、关于所购买的产品的信息、关于所提供的服务的信息、以及与通过电子商务平台100的业务相关联的任何其他信息。在一些实施例中,电子商务平台100可以将该数据存储在数据设施134中。交易数据可以被处理以产生分析132,其继而可以被提供给商家或第三方商务实体,从而诸如提供顾客趋势、营销和销售洞察力、用于改进销售的推荐、对顾客行为的评估、营销和销售建模、欺诈趋势等,其与在线商务有关,并且通过仪表板接口、通过报告等来提供。电子商务平台100可以存储关于业务和商家交易的信息,并且数据设施134可以具有增强、贡献、细化和提取数据的许多方式,其中随着时间的推移,所收集的数据可以使得能够改进电子商务平台100的各方面。
再次参考图1,在一些实施例中,电子商务平台100可以被配置有用于内容管理、任务自动化和数据管理的商务管理引擎136,以使得能够对多个在线商店138(例如,与产品、库存、顾客、订单、合作、供应商、报告、财务、风险和欺诈等相关)进行支持和服务,但是可通过应用142A-B扩展,这些应用使得能够实现适应日益增长的各种商家在线商店、POS设备、产品和服务所需的更大灵活性和定制过程,其中,应用142A可以在电子商务平台100内部提供或者从电子商务平台100外部提供应用142B。在一些实施例中,应用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,或者通过被提供给电子商务平台100外部的应用142B和/或渠道110B的接口140B。通常,平台100可包括接口140A-B(其可以是扩展、连接器、API等),其便于与其他平台、系统、软件、数据源、代码等的连接和通信。更概括地说,这样的接口140A-B可以是商务管理引擎136的接口140A或平台100的接口140B。如果没有对商务管理引擎136中的限制功能给予关注,则可能损害响应性,诸如通过经由慢速数据库的基础设施降级或非关键后端故障、通过诸如关于数据中心离线的灾难性基础设施故障、通过花费比预期更长的时间来执行的部署的新代码等。为了防止或减轻这些情形,商务管理引擎136可被配置成维持响应性,诸如通过利用超时、排队、反向压力来防止降级等的配置。
尽管隔离在线商店数据对于维护在线商店138与商家之间的数据隐私是重要的,但可能存在收集和使用跨商店数据的原因,诸如例如利用订单风险评估系统或平台支付设施,这两者都需要来自多个在线商店138的信息以良好地执行。在一些实施例中,不是违反隔离原则,而可以优选的是将这些组件移出商务管理引擎136并移入其自己的电子商务平台100内的基础设施中。
在一些实施例中,电子商务平台100可以提供平台支付设施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在移动和web管理器中展示我的app数据)、和/或在商务管理引擎136能够要求应用执行按需工作的情况下(引擎:“App,给我用于该结帐的本地税务计算”)。
应用142A-B可以支持在线商店138和渠道110A-B,提供商家支持,与其他服务整合等。在商务管理引擎136可以向在线商店138提供服务基础的情况下,应用142A-B可以为商家提供满足特定的并且有时是独特的需要的方式。不同的商家将具有不同的需要,因此可以受益于不同的应用142A-B。应用142A-B可以更好地通过电子商务平台100被发现,这是通过开发应用分类(类别),所述应用分类(类别)使得应用能够根据它为商家执行的功能类型被标记;通过支持搜索、排名和推荐模型的应用数据服务;通过应用发现接口,诸如应用商店、家庭信息卡、应用设置页面;等等。
应用142A-B可以通过接口140A-B连接到商务管理引擎136,例如利用API来向应用的功能展示通过商务管理引擎136和在其内可用的功能和数据(例如,通过REST、GraphQL等)。例如,电子商务平台100可向面向商家和面向合作方的产品和服务提供API接口140A-B,诸如包括应用扩展、过程流服务、面向开发者的资源等。随着顾客更频繁地使用移动设备来购物,与移动使用相关的应用142A-B可以受益于对API的更广泛的使用,以支持相关增长的商务业务量。通过使用应用和API(例如,如为应用开发所提供的)而提供的灵活性使得电子商务平台100能够更好地适应商家(以及通过内部API的内部开发者)的新的和独特的需要,而不需要对商务管理引擎136进行持续的改变,因而在商家需要时向他们提供他们所需要的东西。例如,可以通过配送或承运商服务API将配送服务122与商务管理引擎136整合,因而使得电子商务平台100能够提供配送服务功能,而不直接影响在商务管理引擎136中运行的代码。
许多商家问题可以通过让合作方通过应用开发来改进和扩展商家工作流来解决,诸如与后台操作(面向商家的应用142A-B)相关联的问题以及在线商店138(面向顾客的应用142A-B)中的问题。作为进行业务的一部分,许多商家将每天使用移动和web相关的应用来进行后台任务(例如,推销、库存、折扣、履行等)和在线商店任务(例如,与其在线商店相关的应用,用于快销、新产品出售等),其中,应用142A-B通过扩展/API 140A-B帮助使产品在快速增长的市场中易于看到和购买。在一些实施例中,合作方、应用开发者、内部应用设施等可以被提供有软件开发工具包(SDK),诸如通过在管理器114内创建将应用接口沙盒化的框架。在一些实施例中,管理器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(例如,在线商店、用于快销的应用(例如,商家产品或来自第三方源的机会性销售机会)、移动商店应用、社交媒体渠道、用于提供批发购买的应用等)。面向商家的应用142A-B可以包括允许商家管理其在线商店138(例如,通过与web或网站或移动设备相关的应用)、运行其业务(例如,通过与POS设备相关的应用)、增长其业务(例如,通过与配送(例如,投递配送)相关的应用、使用自动化代理、使用过程流开发和改进)等的应用。整合应用可以包括提供参与业务运行的有用整合的应用,例如配送提供商112和支付网关。
在一些实施例中,应用开发者可以使用应用代理来从外部位置获取数据并将其显示在在线商店138的页面上。这些代理页面上的内容可以是动态的、能够被更新等等。应用代理可以有用于显示图像图库、统计、定制表单和其他种类的动态内容。电子商务平台100的核心应用结构可以允许在应用142A-B中建立数量不断增加的商家体验,使得商务管理引擎136可以保持关注于更普遍利用的商务业务逻辑。
电子商务平台100通过策划的系统架构来提供在线购物体验,该架构使得商家能够以灵活且透明的方式与顾客连接。典型的顾客体验可以通过示例性示例购买工作流来更好地理解,其中,顾客在渠道110A-B上浏览商家的产品,将他们想要购买的东西添加到他们的购物车中,进行结账,并为他们的购物车的内容付费,从而为商家创建订单。然后,商家可以审阅并履行(或取消)订单。然后将产品交付给顾客。如果顾客不满意,他们可以将产品退货给商家。
在示例实施例中,顾客可以在渠道110A-B上浏览商家的产品。渠道110A-B是顾客可以查看和购买产品的地方。在一些实施例中,渠道110A-B可以被建模为应用142A-B(可能的例外是在线商店138,其被整合在商务管理引擎136内)。推销组件可以允许商家描述他们想要出售什么以及他们在哪里出售它。产品和渠道之间的关联可以被建模为产品发布并且由渠道应用访问,诸如经由产品列表API。产品可以具有许多选项,如尺寸和颜色,以及将可用选项扩展到所有选项的特定组合的许多变体,如超小和绿色的变体或尺寸大和蓝色的变体。产品可以具有至少一个变体(例如,为没有任何选项的产品创建“默认变体”)。为了便于浏览和管理,产品可以被分组为集合、提供的产品标识符(例如,库存单位(SKU))等。产品集合可以通过将产品手动分类为一个(例如,定制集合)、通过构建用于自动分类的规则集(例如,智能集合)等来构建。产品可以通过虚拟或增强现实接口等被查看为2D图像、3D图像、旋转视图图像。
在一些实施例中,顾客可以将他们想要购买的东西添加到他们的购物车(在替选实施例中,可以直接购买产品,诸如通过如本文所述的购买按钮)。顾客可以将产品变体添加到他们的购物车中。购物车模型可以是渠道特定的。在线商店138购物车可以由多个购物车排列项组成,其中,每个购物车排列项跟踪产品变体的数量。商家可以使用购物车脚本来基于其购物车中的内容向顾客提供针对性的促销。由于向购物车添加产品并不意味着来自顾客或商家的任何承诺,并且购物车的预期寿命可以是大约几分钟(而不是几天),因此购物车可以被持久保存到短暂的数据储存区中。
然后,顾客进行结账。结账组件可以将web结账实现为面向顾客的订单创建过程。结账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调用(例如,由Amazon的履行)。礼品卡履行服务可以提供(例如,生成号码)并激活礼品卡。商家可以使用订单打印机应用来打印包裹单。当物品被包装在盒子中并且准备好配送、被配送、跟踪、交付、验证为被顾客接收到时等,可以执行履行过程。
如果顾客不满意,他们可能能够将(一个或多个)产品退货给商家。业务过程商家可以经历“取消销售”物品,其可以由退货组件实现。退货可以由各种不同的动作组成,例如回货,其中,被售出的产品实际上回到企业中并且可再次销售;退款,其中,从顾客处收取的钱被部分或全部退回;记下退还多少钱的会计调整(例如,包括是否存在任何回货费用、或未退还并仍留在顾客手中的货物);等等。退货可以表示对销售合同(例如,订单)的改变,并且其中,电子商务平台100可以使商家知道关于法律义务(例如,关于税)的合规问题。在一些实施例中,电子商务平台100可以使商家能够跟踪销售合同随时间的变化,诸如通过销售模型组件(例如,记录发生到物品的与销售相关的事件的仅附加基于日期的分类账)实现的。
电子商务平台中增强现实的实现
增强现实(AR)可以在商务中用于提供改进的顾客或买方体验。电子商务平台100可以实现用于各种不同应用中的任何应用的AR,其示例在本文别处描述。图3示出了图1的电子商务平台100,但是包括AR引擎300。AR引擎300是生成AR内容以供电子商务平台100、顾客设备150和/或商家设备102使用的计算机实现的系统的示例。
尽管AR引擎300被图示为图3中的电子商务平台100的不同组件,但是这仅是一个示例。AR引擎还可以或替代地由驻留在电子商务平台100内部或外部的另一组件来提供。在一些实施例中,应用142A-B中的任一个或两个提供了可用于顾客和/或商家的AR引擎。此外,在一些实施例中,商务管理引擎136提供了AR引擎。电子商务平台100可以包括由一方或多方提供的多个AR引擎。多个AR引擎可以以相同的方式、相似的方式和/或不同的方式来实现。此外,AR引擎的至少一部分可以在商家设备102和/或顾客设备150中实现。例如,顾客设备150可以在本地存储和运行AR引擎作为软件应用。
如下面进一步详细讨论的,AR引擎300可以实现这里描述的功能中的至少一些。尽管以下描述的实施例可以与诸如(但不限于)电子商务平台100之类的电子商务平台相关联地实现,但是以下描述的实施例不限于电子商务平台。
AR在商务中的应用
AR可以用于创建用于商务应用的产品的计算机生成的表示。产品的计算机生成的表示可以与由顾客设备捕获的真实世界图像叠加。例如,产品的计算机生成的表示可以与真实世界位置的图像叠加,这可以使顾客在他们感兴趣的环境中看到产品。在一些情况下,AR可以被家具零售商用于使顾客查看他们家中的虚拟家具。作为示例,长沙发的计算机生成的表示可以覆盖于顾客的起居室的图像,使得可以欣赏到长沙发在起居室中的大小和外观。在其他情况下,AR可以用于提供允许顾客试穿虚拟衣服的“虚拟试衣室”。例如,衬衫的计算机生成的表示可以覆盖于顾客的图像,使得顾客可以评估衬衫的适合性。
使用AR来创建产品的计算机生成的表示的缺点在于,许多顾客希望在决定是否购买产品之前与产品进行物理交互。产品的计算机生成的表示不能提供与产品的物理真实世界物品相关联的完整感官体验,其通常包括外观、感觉、气味等的组合。例如,考虑对购买用于他们家中的房间的长沙发感兴趣的顾客。房间中的长沙发的计算机生成的表示可能不能为顾客提供足够的信息来决定是否购买该长沙发,因为顾客不能感觉到该长沙发的材料或评估坐在该长沙发上的舒适度。类似地,覆盖于顾客的图像的衣品的计算机生成的表示可能不能为顾客提供足够的信息来决定是否购买该衣服。虽然计算机生成的表示可以向顾客提供服装看起来如何的指示,但是顾客不能使用产品的计算机生成的表示来评估服装的其他感官属性。
为了与真实世界中的产品的实体物品交互,顾客经常行进到产品物理存在的位置。这种位置的示例包括实体店或“实体”零售店。然而,在这些位置处的环境可能不允许顾客理解产品在其预期的设置中看起来如何。例如,顾客可能想要购买用于他们明亮的阳光照射的起居室的长沙发,但是出售长沙发的家具陈列室并不类似于明亮的阳光照射的房间。因此,顾客可能必须基于他们对长沙发在阳光照射的房间中看起来如何的预期来做出决定。类似地,顾客可能想要购买用于特定事件的衣服,但是试衣室可能不提供合适的环境来评估衣服在事件处的美观。
本公开的一个方面涉及一种用于生成实体物品的AR场景的计算机实现的方法。这种方法可以允许顾客既与实体物品交互又可视化实体物品在某些设置中看起来如何。在一些情况下,AR场景可以描绘在特定于实体物品和/或顾客的设置中的实体物品。所生成的AR场景包括实体物品的图像和计算机生成的场景。计算机生成的场景可以与图像中的实体物品叠加,以使顾客在不同的设置或环境中可视化实体物品。计算机生成的场景可以是特定于实体物品和/或顾客的。
为实体物品生成AR场景
图4是示出用于生成AR内容的示例性系统400的框图。系统400包括AR引擎402、网络420、顾客设备430、商家设备450和一个或多个社交媒体平台460。
AR引擎402支持AR内容的生成,包括用于物理真实世界物品的AR场景。AR引擎402的位置是实现特定的。在一些实施例中,AR引擎402至少部分地由电子商务平台来提供,作为电子商务平台的核心功能或者作为由电子商务平台支持或与电子商务平台通信的应用或服务。例如,AR引擎402可以是图3的AR引擎300。在一些实施例中,AR引擎402至少部分地由诸如顾客设备或商家设备之类的用户设备来实现。在其他实现中,AR引擎402被实现为独立服务以生成AR内容。也可以考虑AR引擎402的其他实现。虽然AR引擎402被示为单个组件,但是AR引擎402可以替代地由例如经由网络420进行通信的多个不同组件来提供。
AR引擎402包括处理器404、存储器406和网络接口408。处理器404可以由执行存储在存储器406中的指令的一个或多个处理器来实现。或者,处理器404中的一些或全部可使用专用电路来实现,例如专用集成电路(ASIC)、图形处理单元(GPU)或经编程的现场可编程门阵列(FPGA)。
存储器406存储顾客数据410、产品数据412、图像分析模型414、场景推荐模型416和AR场景生成模型418。
顾客数据410包括与使用或者可能潜在地使用AR引擎402的一个或多个顾客相关联的信息。在一些实施例中,顾客数据410包括与电子商务平台100的顾客相关联的信息。例如,顾客数据410可以包括数据134的至少一部分。其他实现是可能的。例如,在其中AR引擎402是独立服务的实现中,顾客数据410包括从外部源获得的信息,例如电子商务平台100或者由特定顾客(例如,经由安装在顾客设备上的购物应用)或由商家商店(例如,经由存储其顾客信息的数据库)直接可用的顾客信息的某个其他存储库中的数据134。对于给定的顾客,以下是可以包括在顾客数据410中的信息的非限制性列表:
·顾客的身份,例如诸如他们的姓名和/或顾客编号;
·顾客的年龄、性别、身高和/或其他细节;
·顾客的(一个或多个)衣服尺寸,包括衬衫、裙子、裤子和/或鞋子尺寸;
·与顾客相关联的一个或多个位置,例如诸如他们的工作场所、家和/或喜爱的度假目的地。这可以包括每个位置的几何形状、设置和其他细节;
·与顾客相关联的其他顾客的身份,例如诸如他们的朋友和家人。这可以包括其他顾客的年龄、性别、身高和/或其他细节;
·顾客拥有的或者以其他方式与顾客相关联的任何宠物;
·顾客拥有或以前表示有兴趣的一个或多个产品。这些产品可以由顾客在电子商务平台的相关联的产品页面上查看,例如被添加到电子商务平台上的顾客的购物车和/或从电子商务平台购买;
·顾客的任何风格偏好或与顾客相关联的其他偏好。
在一些实施例中,顾客数据410包括与顾客相关联的一个或多个图像。这些图像可以与上面列出的顾客信息相关。例如,与顾客相关联的图像可以包括:顾客的图像;与顾客相关联的一个或多个位置的图像;与顾客相关联的其他顾客的图像;以及顾客拥有的一个或多个产品的图像。这些图像的形式在此不受限制。在一些实施例中,图像可以由摄像机捕获并且被提供给AR引擎402。也考虑计算机生成的图像。例如,图像可以采用人、位置和/或产品的虚拟表示的形式。图像可以是二维(2D)或三维(3D)的。
在一些实施例中,顾客数据410包括与顾客相关联的一个或多个3D模型。这些3D模型还可以涉及上面列出的顾客信息。3D模型是对象的数学表示,例如诸如人、位置或物品。3D模型定义了对象的真实世界尺寸。在一些情况下,3D模型定义了对象的坐标系和/或默认定向。用于生成3D模型的可能方法包括摄影测量(从一系列2D图像创建3D模型)、3D扫描(围绕对象移动扫描器以捕获所有角度)和3D建模(从图像或通过手)。在一些实施例中,存储在顾客数据410中的图像被用于生成3D模型。存储在顾客数据410中的其他信息(诸如人的位置或高度的几何形状)也可以用于帮助生成3D模型。
顾客数据410可以以多种不同方式中的任何一种来获得。在一些实施例中,顾客数据410至少部分地由顾客和/或商家提供。顾客数据410还可以或替代地至少部分地从第三方(例如从(一个或多个)社交媒体平台460)获得。诸如3D模型的一些顾客数据410可以在AR引擎402处本地生成。
产品数据412包括与一个或多个产品相关联的信息。这些产品可以在在线商店、实体商店或两者中销售。在一些实施例中,产品数据412对应于在电子商务平台100上销售的任何或所有产品。例如,产品数据412可以包括数据134的至少一部分。其他实现是可能的。例如,在AR引擎402是独立服务的实现中,产品数据412包括从外部源获得的信息,例如电子商务平台100或与商家店铺相关联的产品信息的某个其他存储库中的数据134。以下是可以包括在用于每个产品的产品数据412中的信息的非限制性列表:
·产品的名称和/或其他标识符;
·产品的图像;
·产品的虚拟表示,例如诸如产品的3D模型;
·销售产品的(一个或多个)商家;
·产品的用途;
·与产品相关联的位置、环境或设置;
·产品的尺寸;
·产品的不同变体,例如诸如产品的(一种或多种)颜色;
·补充产品的调色板;
·与产品相关联或互补的其他产品的列表。
至少一些产品数据412可以由一个或多个商家来提供。例如,商家设备450可以将与产品相关联的信息发送到AR引擎402。AR引擎402还可以或替代地通过例如从电子商务平台或在线商店提取信息来获得与产品相关联的信息。在一些实施例中,商家可以标识与特定产品互补的一个或多个产品。例如,特定产品可以是由商家出售的产品集合中的一个。
在一些实施例中,顾客可以提供与添加到产品数据412的产品相关联的信息。顾客评论和/或社交媒体账户可以用于收集指示产品非常适合于特定用途和/或设置的信息。例如,顾客可以在在线商店和/或电子商务平台中对一件夹克进行评论。这些评论表明,该夹克在雨中工作良好。此外,可以在(一个或多个)社交媒体平台460上的图像中标记该夹克,所述图像描绘了夹克在雨中穿着的情况。AR引擎402可以使用这些资源中的任一个或两个来确定夹克在雨中使用(即,雨是与夹克相关联的环境或设置),并将该信息添加到产品数据412。
尽管顾客数据410和产品数据412被分开示出了,但是应当注意,这仅仅是示例。至少一部分顾客数据410和产品数据412可以替代地作为单个数据集来提供。例如,一些信息可以与产品和顾客相关联。考虑从(一个或多个)社交媒体平台460获得的图像,其示出了穿戴特定产品的物品的特定顾客。该图像可以与特定顾客相关联,并且与存储器406中的特定产品相关联。
提供图像分析模型414以分析由AR引擎402存储和/或接收的图像。例如,为了基于实体物品的接收图像生成AR场景,可能首先需要确定接收图像的一个或多个属性。图像分析模型414可以以可由处理器404执行的软件指令的形式来提供。许多不同算法中的任何算法都可以被包括在图像分析模型414中。这种算法的非限制性示例包括:
·对象识别算法;
·文本识别算法;
·用于检测机器可读码的算法,例如诸如条形码和快速响应(QR)码;
·运动检测算法;
·图像分割算法;以及
·表面、拐角和/或边缘检测算法。
关于图像分析算法的进一步细节可以在Richard Szeliski的Computer Vision: Algorithms and Application(Springer,2010)中找到。
图像分析模型414可以标识或检测图像中的实体物品的特征。这种特征的示例包括图像中的实体物品的拐角、表面、边缘和/或尺寸。特征检测可以以3D执行,并且可以允许将坐标系(例如,笛卡尔坐标系)映射到图像上。特征检测还可以允许使用图像分析模型414来确定图像中的实体物品的大小和定向。在一些实施例中,图像分析模型414被用于确定对应于特定产品的实体物品。
在一些实施例中,用户输入可以帮助对实体物品的图像的特征检测。例如,用户可以选择图像内的实体物品(例如,通过在套索选择中围绕手指边缘跟踪他们的手指)。然后,可以将特征检测限制到所跟踪的区域,以避免检测到不相关的特征。
可以将实体物品的多于一个图像输入到图像分析模型414中。例如,从相对于实体物品的不同位置拍摄的实体物品的多个图像可以允许改进的特征检测。特别地,实体物品的多个图像可以允许更准确地确定实体物品的尺寸。例如,可以从实体物品的视频或从包括设置在不同位置的多个摄像机的设备获得多个图像。
在图像分析模型414接收实体物品的视频的情况下,图像分析模型414可以执行初始特征检测操作以定位实体物品的特征。然后,可以实时在从馈送视频接收的后续图像中跟踪这些特征。
场景推荐模型416包括推荐其中表示实体物品的场景的一个或多个算法(可能以可由处理器404执行的软件指令的形式)。推荐场景可以对应于适合于表示实体物品的特定环境和/或设置。推荐场景还可以或替代地对应于与特定顾客相关的特定环境和/或设置。换句话说,推荐场景可以以某种方式与实体物品和/或顾客互补。
基于对场景推荐模型416的一个或多个输入来确定推荐场景。这种输入的示例包括:图像中描绘的实体物品的特征(例如,使用图像分析模型414确定的);与对应于实体物品的产品相关联的信息(例如,从产品数据412获得的);以及与顾客相关联的信息(例如,从顾客数据410获得的)。场景推荐模型416的输出不是完全生成的AR场景,而是其中表示实体物品的推荐场景。AR然后可以用于描绘推荐场景中的实体物品,如以下进一步详细讨论的。
基于与顾客相关联的并且可能是特定于顾客的信息而推荐的场景可以被认为是针对顾客个性化的场景。类似的评述适用于基于与实体物品相关联的以及可能特定于实体物品的信息而推荐的场景。换句话说,可以针对特定物品和/或顾客调整推荐场景。
在一些实施例中,场景推荐模型416生成或以其他方式提供推荐场景的感官内容,包括例如视觉、听觉和/或触觉内容。例如,场景可以包括一个或多个3D模型。感官内容可以从顾客数据410或产品数据412中获得。或者,感官内容可以存储在存储器406中的其他地方,或者甚至远离存储器406而存储。
在一些实施例中,场景推荐模型416是或包括机器学习(ML)模型。ML模型可使用本领域中已知的任何形式或结构来实施。ML模型的示例结构包括但不限于:
·一个或多个人工神经网络;
·一个或多个决策树;
·一个或多个支持向量机;
·一个或多个贝叶斯网络;和/或
·一个或多个遗传算法。
使用可以从顾客(例如从(一个或多个)社交媒体平台460)和/或商家(例如从在线商店)获得的真实世界场景中的物品的文本、图像或视频来训练ML模型。在一些实施例中,使用产品数据412中的数据样本来训练ML模型。在一些实施例中,使用为特定顾客生成的先前AR场景来训练ML模型。例如,顾客数据410可以存储顾客过去选择的场景,并且可以根据这些顾客偏好来训练ML模型。
用于训练ML模型的方法是实现特定的,并且在此不受限制。训练方法的非限制性示例包括:
·监督学习;
·无监督学习;
·强化学习;
·自学习;
·特征学习;以及
·稀疏字典学习。
一旦得到训练,ML模型就可以接收与产品相关联的信息和/或与用户相关联的信息,并且输出在其中使用AR来描绘实体物品的推荐场景。作为一个示例,训练数据集可以包括将曲棍球运动衫与特定曲棍球竞技场相关联的图像、视频和/或文本。例如,曲棍球运动衫可对应于在该曲棍球竞技场中进行比赛的曲棍球球队。图像和视频可以描绘在曲棍球场所穿的曲棍球运动衫,并且文本可以包括在曲棍球场内比赛的曲棍球球队的名字。在训练期间,曲棍球运动衫与曲棍球竞技场之间的相关性可以通过ML模型来标识。当经训练的ML模型在使用中并且接收曲棍球运动衫的图像作为输入时,ML模型然后可以推荐曲棍球竞技场作为向顾客显示曲棍球运动衫的场景。在一些实施例中,ML模型进一步标识曲棍球场与顾客家在同一城市(例如,使用顾客数据410),且因此曲棍球场与顾客相关联。在ML模型已经推荐了曲棍球场作为显示曲棍球运动衫的场景之后,可以通过场景推荐模型416获得曲棍球场地的3D模型以形成曲棍球运动衫的场景。
AR场景生成模型418包括能够生成物理真实世界物品的AR场景的一个或多个算法(可能以处理器404可执行的指令的形式)。对AR场景生成模型418的可能输入包括:实体物品的图像;图像的一个或多个特征(例如,使用图像分析模型414确定的);在其中表示实体物品的场景;在其处定位实体物品的场景内的定位点(例如,从用户设备接收的);以及相对于实体物品的定向的场景的定向(例如,从用户设备接收的)。其中表示实体物品的场景可包括视觉、听觉和/或触觉内容。在一些实施例中,场景包括一个或多个3D模型。场景可以由场景推荐模型416提供,或者它可以由顾客或商家直接提供。在一些实施例中,AR场景生成模型418可以不接收场景作为输入。相反,AR场景生成模型418可以预先配置有其中表示实体物品的场景。
AR场景生成模型418的输出是包括虚拟或计算机生成的场景和实体物品的图像的至少一部分的AR场景。实体物品的图像的该部分包括实体物品的描绘。计算机生成的场景与实体物品的描绘叠加以形成AR场景。
在一些实施例中,所生成的AR场景包含实体物品的多个表示。多个表示可以包括对应于一个用户的实体物品的图像和对应于不同用户的另一实体物品的虚拟表示。这是社交购物的一个示例,其中,多个用户能够向AR场景中添加物品。例如,顾客可能希望与室友购买家具以用于在共享起居空间中使用。在该示例中,顾客和室友分别被称为主用户和次用户。次用户在AR引擎402中与主用户相关联。例如,主用户和次用户可能已经彼此被授予了在顾客数据410中存储的某些许可。这样,AR引擎402能够基于由主用户和次用户两者提供的图像或其他内容来生成AR场景。AR引擎402还使得主用户和次用户都能够查看描绘相同或相似设置的相应AR场景。主用户可能希望从特定的商店购买长沙发,而次用户可能希望从不同的商店购买咖啡桌。AR引擎402标识主用户拍摄的图像中的期望的长沙发,并生成长沙发周围的共享起居空间的AR场景。在次用户捕获咖啡桌的图像时,在次用户的咖啡桌周围生成共享起居空间的另一AR场景。咖啡桌的虚拟表示在向主用户示出的AR场景中示出,而长沙发的虚拟表示也在向次用户示出的AR场景中示出。因此,主用户和次用户都可以看到具有长沙发和咖啡桌的共享起居空间的AR场景。AR场景可以在其他社交购物场景中扩展到多于两个用户。
尽管图像分析模型414、场景推荐模型416和AR场景生成模型418被示为单独的模型,但这仅是一个示例。一些实施例可以将这些模型中的任何两个或更多个的功能组合在单个模型中。例如,可以提供单个模型来执行图像分析并生成场景推荐。可以替代地提供单个模型来确定推荐场景并基于该推荐场景生成AR场景。也考虑其他实施例。
图4的网络接口408被提供用于通过网络420进行通信。网络接口408的结构是实现特定的。例如,网络接口408可以包括网络接口卡(NIC)、计算机端口(例如,插头或电缆连接到的物理出口)和/或网络插口。
顾客设备430是用户设备的一个示例。顾客设备430可以是顾客拥有和/或使用的移动电话、平板电脑、膝上型电脑、投影仪、耳机或计算机。在一些实施例中,顾客设备430是或包括植入设备或可穿戴设备,诸如嵌入在服装材料中的设备或由用户穿戴的设备,诸如眼镜,其具有允许用户观看真实世界并且同时观看与真实世界重叠的虚拟元素的内置显示器。顾客设备430包括处理器432、存储器434、用户接口436、网络接口438和摄像机440。用户接口的一个示例是显示屏(其可以是触摸屏)、手势识别系统、键盘和/或鼠标。提供网络接口438以用于通过网络420进行通信。网络接口438的结构将取决于顾客设备430如何与网络420对接。例如,如果顾客设备430是移动电话、耳机或平板电脑,那么网络接口438可以包括具有天线的发送器/接收器,以向/从网络420发送和接收无线传输。如果商家设备是通过网络电缆连接到网络的个人计算机,那么网络接口438可包括例如NIC、计算机端口和/或网络插口。处理器432直接执行或指示由顾客设备430执行的所有操作。这些操作的示例包括处理从用户接口436接收的用户输入、准备用于通过网络420传输的信息、处理通过网络420接收的数据、以及指示显示屏显示信息。处理器432可以由执行存储在存储器434中的指令的一个或多个处理器来实现。或者,处理器432中的一些或全部可使用专用电路来实施,例如ASIC、GPU或经编程的FPGA。
提供摄像机440来以照片和/或视频形式捕获图像,其可以存储在存储器434中。摄像机440是用于捕获实体物品图像的设备的一个示例。顾客设备还可以包括或替代地包括诸如3D扫描器之类的其他设备,例如,其可以用于生成3D模型。尽管摄像机440被示为顾客设备430的组件,但摄像机也可替代地与顾客设备分开实现,并经由例如有线或无线连接与顾客设备通信。
在一些实施例中,顾客设备430能够标识顾客感兴趣的和/或与顾客设备紧密接近的产品。例如,由摄像机440捕获的条形码或QR码的图像可用于标识对应于条形码或QR码的产品。顾客设备430还可以包括或替代地包括射频标识(RFID)扫描器(未示出)以检测产品上的RFID标签,该RFID标签可以用于标识产品。存储在存储器434中并由处理器432执行的应用可以将条形码、QR码或RFID与特定产品相匹配。特定产品可以替代地使用顾客设备430通过经由用户接口436的直接顾客输入来标识。例如,知道产品的名称或标识号,顾客就可以使用存储在存储器434中的应用来搜索产品。
在一些实施例中,顾客设备430具有AR能力。例如,类似于AR引擎402的AR引擎可以部分地或全部地在顾客设备430上实现。软件应用可以安装在顾客设备430上,其执行图像分析、产生场景推荐和/或本地(即,在顾客设备430上)生成AR场景。软件应用可以从AR引擎402接收顾客数据410、产品数据412、图像分析模型414、场景推荐模型416和/或AR场景生成模型418。
应当注意,顾客设备430可能实际上不是顾客带到商店的顾客的个人设备。相反,顾客设备430可以属于商家并且可被提供以供顾客使用。例如,顾客设备430可以是位于商家的商店处的耳机或智能镜子,其供顾客使用并且已经具有预加载的用于商家产品的场景。顾客甚至可能不主动使用顾客设备430。例如,在智能镜子的情况下,一旦顾客接近智能镜子,就可以生成AR场景。
商家设备450可以是由商家拥有和/或使用的移动电话、平板电脑、膝上型电脑或计算机。商家设备450包括处理器452、存储器454、用户接口456和网络接口458。用户接口的一个示例是显示屏(其可以是触摸屏)、键盘和/或鼠标。提供网络接口458用于通过网络420进行通信。网络接口458的结构将取决于商家设备450如何与网络420对接。例如,如果商家设备450是移动电话或平板电脑,那么网络接口458可以包括具有天线的发送器/接收器,以向/从网络420发送和接收无线传输。如果商家设备是通过网络电缆连接到网络的个人计算机,那么网络接口458可包括例如NIC、计算机端口和/或网络插口。处理器452直接执行或指示由商家设备450执行的所有操作。这些操作的示例包括处理从用户接口456接收的用户输入、准备用于通过网络420传输的信息、处理通过网络420接收的数据、以及指示显示屏显示信息。处理器452可以由执行存储在存储器454中的指令的一个或多个处理器来实现。或者,处理器452中的一些或全部可使用专用电路来实现,例如ASIC、GPU或经编程的FPGA。
在图4中,通过示例的方式示出了一个顾客设备和一个商家设备。通常,多于一个顾客设备和/或商家设备可以与AR引擎402通信。
(一个或多个)社交媒体平台460有利于内容的创建和共享。在一些情况下,该内容包括与顾客和/或产品相关联的信息。如上所述,AR引擎402可以从(一个或多个)社交媒体平台460获得信息以帮助生成AR场景。(一个或多个)社交媒体平台460与网络420通信。
系统400可以用于为与真实世界中的产品的实体物品交互的顾客生成AR场景。下面参考图5描述生成AR场景的一个示例,图5是示出根据实施例的方法500的流程图。方法500将被描述为由图4的AR引擎402执行,其中,所得到的AR场景从AR引擎402被发送到顾客设备430以用于显示在顾客设备430上。然而,方法500可以替代地在顾客设备430本身上执行。
步骤502是可选步骤,其包括在存储器406中存储生成AR场景的模型。该模型包括AR场景生成模型418,并且可选地包括图像分析模型414和场景推荐模型416。在一些实施例中,步骤502还包括生成模型以生成AR场景。例如,在场景推荐模型416包括ML模型的情况下,步骤502可包括训练(一个或多个)ML模型。
步骤504包括使用处理器404获得实体物品的图像。该图像由与顾客相关联的顾客设备430捕获。例如,图像可以已经由摄像机440捕获,并且经由网络420被发送到AR引擎402。然后,图像可以存储在存储器406中。或者,图像可以是存储在存储器434、(一个或多个)社交媒体平台460和/或顾客数据410中的先前捕获的图像。
在步骤504获得的图像的形式在此不受限制。在一些实施例中,图像是照片,并且在其他实施例中,图像是视频的一帧。图像可以是二维(2D)或三维(3D)的。在一些实施例中,实体物品的3D图像或实体物品的多个2D图像可以被转换成实体物品的3D模型。
应当注意,在方法500完全在顾客设备430上执行的情况下,步骤504可能不包括通过网络420发送图像。相反,图像可以简单地由处理器432从摄像机440或从存储器434获得。
步骤506是可选步骤,其包括使用处理器404确定对应于实体物品的产品。换句话说,实体物品被标识为产品的物品。这也可以称为产品标识,并且可以以多种不同方式中的任何一种来执行。
在一些实施例中,步骤506包括使用图像分析模型414来分析在步骤504中获得的图像。例如,图像分析模型414可以实现对象识别操作以便用产品数据412中的信息来交叉引用图像中的实体物品的描绘,从而找到与实体物品相匹配的产品。
在一些实施例中,步骤506包括接收产品的显式或隐式指示。这种指示的非限制性示例包括:顾客使用顾客设备430扫描产品的条形码、QR码或RFID标签;以及顾客使用用户接口436搜索产品。作为示例,顾客可以访问和搜索产品数据412以定位对应于实体物品的产品。商家还可以或替代地使用商家设备450提供产品的指示。
步骤508包括使用处理器404获得与顾客和实体物品中的至少一个相关联的信息。该信息可以存储在顾客数据410和/或产品数据412中。或者,信息可存储在其他位置,例如诸如顾客设备430、商家设备450或(一个或多个)社交媒体平台460。
在一些实施例中,步骤508包括获得其中显示实体物品的场景。例如,步骤508可以包括将与顾客和/或实体物品相关联的信息输入到场景推荐模型416中,并且生成用于实体物品的推荐场景。如上所述,场景推荐模型416可以是或包括ML模型。在这种情况下,步骤508可以包括将与顾客和/或实体物品相关联的信息输入到ML模型中以产生推荐场景。或者,步骤508可以包括从顾客设备430或商家设备450接收指示或以其他方式提供用于实体物品的场景的直接输入。
在一些实施例中,步骤508包括获得与顾客和实体物品中的至少一个相关联的3D模型。例如,该3D模型可以是与顾客和/或实体物品相关联的特定场景。考虑其中步骤504包括获得试穿一双跑鞋的顾客的图像的情况。在这种情况下,步骤508可以包括获得指示顾客更喜欢在他们的房屋附近的特定公园中跑步的信息(例如,该信息可以是从社交健身平台上的顾客的账户获得的)以及获得公园的3D模型。该3D模型将与顾客和他们正在试穿的该双跑鞋相关联。
在一些实施例中,步骤508包括获得多个3D模型。多个3D模型中的至少一些(但不必是全部)与顾客和实体物品中的至少一个相关联。在这些实施例中,方法500还可以包括接收从多个3D模型中对3D模型的选择的步骤。例如,可以通过用户接口436向顾客呈现多个3D模型。顾客可以使用用户接口436来选择特定的3D模型以形成所生成的AR场景的基础。再次参考其中步骤504包括获得试穿一双跑鞋的顾客的图像的情况,步骤508可以包括获得顾客跑步的位置的多个3D模型。可以使用用户接口436向顾客呈现这多个3D模型,并且顾客可以选择他们的房屋附近的公园的3D模型以形成所生成的AR场景的基础。
在步骤506中确定了与实体物品相对应的产品的情况下,则在步骤508获得的信息可以与用户和产品中的至少一个相关联。在一些实施例中,步骤508包括获得与顾客和在步骤506确定的产品中的至少一个相关联的附加产品的指示。例如,与顾客相关联的附加产品可以是顾客所拥有的产品或者顾客的朋友或家庭成员所拥有的产品。与在步骤506确定的产品相关联的附加产品可以是由同一商家销售的任何产品、已知与在步骤506确定的产品一起使用的任何产品、或以某种方式与在步骤506确定的产品互补的任何产品。再次参考其中步骤504包括获得试穿一双跑鞋的顾客的图像的情况,步骤508可以包括获得由顾客拥有并且由与该双跑鞋相同的商家出售的跑步短裤的指示。因此,跑步短裤是与顾客和跑鞋相关联的附加产品。步骤508还可以包括获得跑步短裤的3D模型。
在一些实施例中,在步骤508获得的信息包括与顾客和实体物品中的至少一个相关联的一个或多个图像。然后,例如,可以使用摄影测量或3D建模从图像生成3D模型。
在一些实施例中,在步骤508获得的信息可以取决于顾客所处的国家或地区。例如,与北美的餐桌相关联的产品可以包括刀叉,而与日本的餐桌相关联的产品可以包括筷子。
在步骤510中,处理器404生成包括计算机生成的场景和至少一部分图像的AR场景。图像的该部分包括实体物品,以便描绘AR场景中的实体物品。计算机生成的场景包括视觉内容,并且还可以包括音频内容和触觉内容。实体物品的图像与计算机生成的场景叠加,从而创建AR场景,AR场景以与实体物品的真实世界设置不同的设置描绘实体物品。
应当注意,在步骤504获得的图像中可以包括多个实体物品,并且这些实体物品中的任何一个或全部可以在AR场景中描绘。这样,AR场景可以包括实体物品的多个描绘。
在步骤510中生成的AR场景的计算机生成的场景是基于在步骤508中获得的信息的。这样,计算机生成的场景可以与产品或顾客互补。如果在步骤508获得的信息包括位置的指示,那么计算机生成的场景可以包括该位置的虚拟表示。如果在步骤508中获得的信息包括人或宠物的指示,那么计算机生成的场景可以包括该人或宠物的虚拟表示。如果在步骤508获得的信息包括产品的指示,那么计算机生成的场景可以包括该产品的虚拟表示。如上所述,在步骤508中获得的信息的至少一部分可以是一个或多个3D模型的形式,诸如位置、人、宠物或产品的3D模型。在这种情况下,计算机生成的场景将至少部分基于(一个或多个)3D模型。
在一些实施例中,步骤510包括确定图像中的实体物品的特征。例如,使用图像分析模型414,可以检测实体物品的边缘、拐角、表面。可选地,在3D中检测特征。顾客输入可用于帮助特征检测。例如,顾客可以使用用户接口436来使用套索选择标识图像中的实体物品的轮廓。这可以帮助标识图像中的实体物品的粗略边界,其可以使用图像分析模型414来进一步细化。实体物品的特征可以帮助标识包括实体物品的图像的部分,并从图像中获得实体物品的描绘。
在一些实施例中,步骤510还包括确定实体物品的真实世界尺寸,并相对于实体物品的尺寸缩放计算机生成的场景。该缩放可以帮助确保在AR场景中适当地描绘实体物品的大小。在一些情况下,可以使用图像分析模型414来确定实体物品的尺寸。图像分析模型414可以可能使用实体物品的多个图像来确定实体物品的尺寸。然而,实体物品的尺寸可以以其他方式来确定。例如,如果在步骤506中确定与实体物品相对应的产品,那么可以从例如产品数据412中获得产品的尺寸。实体物品的尺寸也可作为顾客输入经由用户接口436或作为商家输入经由用户接口456来接收。
在一些实施例中,步骤510包括将描绘实体物品的图像的部分锚定到计算机生成的场景中的虚拟点。锚定图像的部分可以包括定义实体物品在计算机生成的场景中的锚定点和/或定向,以便相对于计算机生成的场景适当地定位实体物品的描绘。在一些情况下,计算机生成的场景定义坐标系,并且图像中的实体物品的特征被映射到该坐标系上以定位AR场景中的实体物品的描绘。在一些实施例中,使用用户接口436、456中的任一个从顾客或商家接收AR场景中的实体物品的锚定点和/或定向的指示。然而,实体物品的锚定点和/或定向可能不由用户指示,并且可以替代地针对特定场景被预先配置。
在一些实施例中,至少部分地使用AR场景生成模型418来执行步骤510。作为示例,为了生成AR场景,AR场景生成模型418可以接收以下项作为输入:实体物品的图像;图像中的实体物品的特征;实体物品的尺寸;3D模型;以及实体物品在3D模型中的锚定点和定向。AR场景生成模型418然后可以处理3D模型和实体物品的图像以生成AR场景。AR场景生成模型418缩放3D模型以适当地传达锚定点处的实体物品的大小。换句话说,3D模型被缩放以使得其与实体物品的大小成比例。AR场景生成模型418还基于场景中的实体物品的期望定向来重定向3D模型。在3D模型被缩放和定向之后,捕获3D模型的2D渲染。该2D渲染是用于AR场景的计算机生成的场景的一个示例。使用图像中的实体物品的外边缘,AR场景生成模型418可以将2D渲染叠加或覆盖在实体物品的图像上。2D渲染被覆盖在实体物品的图像上,使得实体物品的描绘在锚定点处可见,这产生了用于实体物品的AR场景。可以针对要添加到AR场景的其他3D模型重复该过程。
再次考虑以下情况:(i)步骤504包括获得试穿一双跑鞋的顾客的图像;以及(ii)步骤508包括获得顾客的房屋附近的公园的3D模型以及获得顾客所拥有的一条跑步短裤的3D模型。在这种情况下,在步骤510生成的AR场景包括描绘顾客和他们正在试穿的该双跑鞋的图像的部分。在步骤510生成的AR场景还包括根据顾客的房屋附近的公园的3D模型和根据跑步短裤的3D模型的计算机生成的场景。计算机生成的场景可以覆盖或掩蔽在试穿该双跑鞋的顾客的图像上。例如,如果顾客在商店里试穿跑鞋,计算机生成的场景就可以掩蔽在与商店对应的图像部分上。最终的AR场景描绘的是顾客在公园中,其中,顾客穿着跑鞋和跑步短裤。
在另一示例中,顾客在商店里购买搁架单元。用于搁架单元的AR场景可以包括在搁架上示出的产品的虚拟表示。这些产品可以由顾客拥有,或者它们可以是已经被商家标识为可以与搁架单元互补的产品。
尽管上述示例中的一些包括在步骤510中使用3D模型来产生AR场景,但是应当注意,不需要在所有实施例中都使用3D模型。作为一个示例,在步骤508获得的信息可以指示顾客将在明亮的阳光房间中使用实体物品,并且在步骤510生成的AR场景可以包括使实体物品的图像变亮以使其类似于阳光房间的计算机生成的场景。换言之,实体物品的真实世界场景被增强以添加或去除光源。作为另一示例,在步骤508获得的信息可以是与顾客和/或实体物品相关联的2D图像,并且2D图像可以用于在步骤510形成计算机生成的场景。虽然可能不能重新定向基于2D图像的场景,但是在一些情况下2D图像仍然可以是适当的。例如,在基于海滩的2D图像的计算机生成的场景的情况下,顾客可能并不介意海滩总是以相同定向显示。
步骤512包括指示顾客设备430显示在步骤510中生成的AR场景。在一些实施例中,步骤512由处理器404来执行,其经由网络420向顾客设备430发送内容。该内容包括特定AR场景、以及在用户接口436上向顾客显示AR场景的指令。然而,在方法500在顾客设备430上执行的实施例中,步骤512可以包括处理器432指示用户接口436显示AR场景。
再次考虑在步骤510生成的AR场景包括以下内容的情况:(i)在步骤504中获得的图像的部分,其示出顾客和他们正在试穿的一双跑鞋;以及(ii)计算机生成的场景,其描绘顾客房屋附近的公园并且描绘穿着跑步短裤的顾客。当在步骤512之后向顾客呈现该AR场景时,顾客能够评估跑鞋和短裤在他们房屋附近的公园中一起看起来如何。有利地,顾客能够在该环境中查看和评估鞋子,同时还与鞋子进行物理交互。因此,顾客能够确定鞋子是否恰当适合和舒适。
在一些实施例中,AR场景包括虚拟辅助化身或与虚拟辅助化身一起显示,以回答查询并提供关于产品的附加细节。例如,顾客可能希望购买用于在宴会厅场合使用的扬声器。AR引擎标识期望的扬声器并生成宴会厅的AR场景。AR场景包括虚拟辅助化身以回答顾客关于扬声器规格的问题。虚拟辅助化身还可建议在生成的AR场景中扬声器的最高效使用。
方法500可重复或连续地实时产生用于实体物品的AR场景。这在图5中示出为从步骤512到步骤504的箭头。例如,可以以实体物品的实时视频的形式接收图像流,其中,流中的每个图像对应于步骤504的一个实例。在每个图像中,实体物品的视图可以连续地改变,从而导致图像中实体物品的大小和定向的改变。可以重复执行步骤510以生成用于实体物品的每个图像的新AR场景。在一些实施例中,执行图像分析以实时跟踪视频馈送中的产品。顾客设备可包括传感器(例如,运动传感器、陀螺仪和加速度计)以跟踪不同获取的图像之间的摄像机的位置和定向的改变,其可被用于帮助跟踪图像中的实体物品描绘的改变。对于每个生成的AR场景,实体物品的描绘都可以相对于计算机生成的场景而锚定于特定点和特定定向,并且因此图像中的物品的定向和/或大小的改变可以导致计算机生成的场景的改变。换句话说,计算机生成的场景相对于实体物品的描绘被锁定在适当位置。这提供了动态AR场景的生成。应当注意,步骤506、508中的任一个或两者对于实体物品的视频可能仅执行一次。
步骤514是可选步骤,其包括处理器404接收修改或改变在步骤510中生成的AR场景的请求。例如,在观看AR场景之后,顾客可以请求对AR场景的某个方面的修改。这种修改的非限制性示例包括:
·对AR场景的设置或环境的改变;
·对AR场景中的实体物品的大小、锚定点和/或定向的改变;
·将顾客或其他人加入AR场景或从该AR场景中去除顾客或其他人;
·对AR场景中描绘的顾客或其他人的大小、位置和/或定向的改变;
·向AR场景中添加或从该AR场景中去除另一物品(不同于实体物品);
·对AR场景中的另一物品(不同于实体物品)的大小、位置和/或定向的改变。
在一些实施例中,由顾客使用用户接口436生成修改特定AR场景的请求。例如,顾客可以使用鼠标、键盘、触摸屏或手势或语音识别系统来生成修改特定AR场景的请求。然后,将该请求从顾客设备430发送到AR引擎402。使用商家设备450的商家也可以生成修改特定AR场景的请求。
在一些实施例中,修改AR场景的请求包括移动AR场景中描绘的实体物品、调整AR场景中描绘的实体物品的大小和/或重定向AR场景中描绘的实体物品的请求。这允许AR场景中的实体物品的交互放置和/或配置。移动AR场景中描绘的实体物品可以对应于实体物品相对于计算机生成的场景的锚定位置的改变。
在接收到修改或改变特定AR场景的请求后,方法500返回到步骤510,以基于该请求生成修改的AR场景。这在图5中使用从步骤514到步骤510的箭头示出。在生成修改的AR场景之后,步骤512指示顾客设备430显示修改的AR场景。
在一些实施例中,步骤510可以包括基于在步骤508中获得的信息来生成多个AR场景,并且步骤512包括指示顾客设备510显示多个AR场景。方法500可以包括从顾客接收从多个AR场景中对特定AR场景进行选择的其他步骤。在选择之后,然后可以仅向顾客示出特定AR场景。
在一些实施例中,执行步骤504的两次迭代以实现社交购物。在步骤504的第一迭代中,处理器404获得第一实体物品的第一图像,该第一图像由与第一顾客相关联的第一顾客设备捕获。在步骤504的第二迭代中,处理器404获得不同于第一实体物品的第二实体物品的第二图像,第二图像由与第二顾客相关联的第二顾客设备捕获。可以对第一实体物品执行步骤506的第一迭代,其中,标识出对应于第一实体物品的产品。可以对第二实体物品执行步骤506的第二迭代,其中,标识出对应于第二实体物品的产品。对第一图像执行步骤508的第一迭代,其中,获得与第一顾客和第一实体物品中的至少一个相关联的信息。还可以执行步骤508的第二迭代,其中,获得与第二顾客和第二实体物品中的至少一个相关联的信息。在这些实施例中,在步骤510中生成第一AR场景,其包括第一图像的至少一部分、来自第二图像的产品的虚拟表示以及计算机生成的场景。在步骤510中还可以生成第二AR场景,其包括第二图像的至少一部分、来自第一图像的产品的虚拟表示以及计算机生成的场景。两个产品的虚拟表示可以基于从顾客设备发送的图像或3D模型,或者可以基于经由产品查找来访问的3D模型。计算机生成的场景可以基于在步骤508确定的任何信息,并且对于第一和第二AR场景两者可以是相同的。第一AR场景可以在步骤512之后被显示在第一顾客设备上,并且第二AR场景可以在步骤512之后被显示在第二顾客设备上。两个AR场景可以在彼此相同的相对位置描绘它们的场景中的对象(物理的和虚拟的),使得第一AR场景中的第一实体物品和第二AR场景中的第一实体物品的虚拟表示在第一和第二AR场景中的相同位置中显示,并且对于第二实体物品及其虚拟表示是相同的。因此,两个顾客能够共享类似的购物体验。
方法500是通过示例的方式提供的。还考虑了用于生成AR场景的其他方法。例如,在一些实施例中,可以省略方法500的步骤504。考虑透明显示设备位于顾客和实体物品之间使得顾客可以通过显示设备来查看实体物品的情况。可以执行步骤508、510以获得与顾客和实体物品中的至少一个相关联的计算机生成的场景。计算机生成的场景然后可以在显示设备的允许顾客查看实体物品的部分周围显示在透明显示设备上,以便在虚拟场景中描绘实体物品。可以跟踪顾客相对于显示设备的位置,以便在显示设备上适当地覆盖计算机生成的场景。
用于物理产品的示例性AR场景
现在将参考图6至图17,其提供了为有兴趣为他们的起居室购买长沙发602的顾客生成AR场景的示例。长沙发602是顾客在真实世界商店中与之交互的产品的实体物品。
图6至图8是示出根据一些实施例的顾客标识与长沙发602相对应的产品的图。长沙发602具有RFID标签,该RFID标签可由与顾客相关联的顾客设备601读取,其可用于提供对应于长沙发602的产品的指示。RFID标签具有特定范围610。图6示出了在RFID标签的范围610之外的顾客设备601。由于顾客设备601在范围610之外,所以顾客设备601不检测到长沙发602。图6还示出了在顾客设备601上显示的屏幕页600。屏幕页600包括没有检测到RFID标签的指示606、以及输入产品标识符(ID)以手动搜索产品的选项608。
图7示出了在长沙发602上的RFID标签的范围610内的顾客设备601(即,顾客非常接近长沙发602)。因此,RFID可被顾客设备601读取。图7还示出了显示在顾客设备601上的屏幕页700,其包括已经检测到RFID标签的指示702和对应于长沙发602的产品的指示704。
顾客可以选择指示704,在这种情况下,顾客设备601显示图8所示的屏幕页800。屏幕页800包括对应于沙发602的产品的指示802,其包括图像和产品ID。顾客可以将图像和/或产品ID与真实世界长沙发602进行比较,以确认产品与长沙发602相匹配。屏幕页800还包括用于生成长沙发602的AR场景的选项804。
在一些实施例中,在方法500的步骤506期间,向顾客显示屏幕页600、700、800。然而,应当注意,标识与图6至图8所示的长沙发602相对应的产品的方法仅是示例。顾客设备601还可以使用长沙发602的条形码、QR码和/或图像来标识与长沙发602相对应的产品。
图9是示出根据实施例的对用于长沙发602的推荐场景的选择的示图。图9包括在顾客设备601上示出的屏幕页900。屏幕页900包括多个推荐场景902、904、906,其中,显示了长沙发602。场景902、904、906中的每一个与相应的3D模型相关联。场景902基于用户起居室的图像(例如,使用用户起居室的图像来生成),场景904基于公寓的图像,而场景906基于庭院的图像。所有场景902、904、906都与长沙发602相关联,至少是因为场景902、904、906都描绘了可以使用长沙发602的位置。例如,场景902、904、906中的任何一个或全部可以基于存储在系统400的产品数据412中的图像。场景902还与顾客相关联,因为场景902描绘了顾客的家。这样,场景902可以基于在系统400的顾客数据410中存储的图像。
对场景902、904、906中的一个的选择可以导致基于该场景的用于长沙发602的AR场景的生成。屏幕页900还包括搜索特定场景的选项908。
图10是示出根据实施例的对长沙发602的特定场景的搜索的示图。图10包括在顾客设备601上示出的屏幕页1000。屏幕页1000包括搜索栏1002和其中显示长沙发602的多个场景1004、1006。场景1004、1006中的每一个都与相应的3D模型相关联。场景1004、1006与搜索栏1002中的搜索标准相匹配。在一些实施例中,将搜索栏1002中的搜索标准与关联于顾客的信息和/或关联于长沙发602的信息进行比较。如果搜索标准与关联于顾客的任何信息或关联于长沙发602的信息相匹配,那么该信息被用于产生推荐场景。场景1004与顾客相关联,而场景1006与长沙发602相关联。对场景1004、1006之一的选择可以导致基于该场景的长沙发602的AR场景的生成。
在一些实施例中,在方法500的步骤508之后生成屏幕页900、1000中的任一个或两者。
图11是示出根据实施例的在顾客设备601上显示的示例AR场景1101的示图。图11包括示出基于图9的场景902的AR场景1101的屏幕页1100。例如,AR场景1101可以在由顾客选择场景902之后生成。AR场景1101包括长沙发602的描绘1102和计算机生成的场景1104。屏幕页1100还包括AR场景1101对应于顾客的起居室的指示1110、以及访问AR场景1101的菜单的选项1112。
长沙发602的描绘1102表示由顾客设备601拍摄的长沙发602的图像的一部分。顾客设备601主动地实时捕获长沙发602的图像。计算机生成的场景1104示出了顾客的起居室,其包括与顾客相关联的多个其他产品1108。计算机生成的场景1104是根据场景902的3D模型的2D渲染。基于长沙发602的尺寸、描绘1102在计算机生成的场景1104中的锚定点、以及描绘1102在计算机生成的场景1104中的定向来生成(例如,缩放)2D渲染。值得注意的是,长沙发602被示为与计算机生成的场景1104成比例。当对应于长沙发602的产品被确定时,长沙发602的尺寸可能就已经被确定,如图8所示。或者,长沙发602的尺寸可能已经使用图像处理被确定。描绘1102在计算机生成的场景1104中的锚定点和定向可以是针对场景902预先确定的,或者可以例如已经经由顾客设备601作为来自顾客的输入而被接收。在所示的示例中,描绘1102被锚定到顾客的起居室中的墙壁1106,并且被定向为背对墙壁1106。因此,计算机生成的场景1104与长沙发602的图像重叠,使得长沙发602的描绘1102示为靠着墙壁1106。
在一些实施例中,在方法500的步骤510中生成AR场景1101。
图12是示出根据实施例的在顾客设备601上显示的AR场景1101的另一示图。图12包括示出用于AR场景1101的菜单1202的屏幕页1200。可以响应于选项1112的选择而将顾客引导到屏幕页1200。
菜单1202包括在AR场景1101内移动一个或多个产品的选项、改变产品大小的选项、查看任何尺寸警告的选项、发起社交购物的选项、向AR场景1101添加一个或多个虚拟模型的选项、向AR场景1101添加一个或多个推荐产品的选项、购买产品(即,长沙发602)的选项、以及退出AR场景1101的选项。
图13是示出根据实施例的在顾客设备601上显示的修改的AR场景1301的示图。图13包括具有修改的AR场景1301和用于移动AR场景1301中的物品的选项1302的屏幕页1300。在所示示例中,可用于移动的仅有物品是长沙发602的描绘1102。屏幕页1300还包括使得顾客能够在修改的AR场景1301中移动物品的多个命令1304。当顾客使用命令1304中的一个或多个时,创建修改AR场景的请求并将其发送到产生AR场景的AR引擎。响应于接收到该请求,AR引擎生成AR场景的修改版本,该修改版本与在顾客设备601上显示修改的AR场景的指令一起被发送到顾客设备601。可以使用移动菜单1202中提供的一个或多个产品的选项来访问屏幕页1300。
应当注意,命令1304仅是使顾客能够在AR场景中移动物品的一个示例。在另一示例中,顾客可以使用由触摸屏检测的手势来移动AR场景中的物品。可以由顾客选择“移动产品”的选项,其允许用户使用手势来移动场景内的物品的锚定点和定向。
为了产生修改的AR场景1301,顾客使用命令1304来生成将长沙发602的描绘1102从起居室的墙壁1106移动到另一墙壁1308的请求。实际上,这改变了计算机生成的场景1104中的长沙发602的描绘1102的锚定点和定向。修改的AR场景1301包括长沙发602的描绘1102和与计算机生成的场景1104相比更新或修改的计算机生成的场景1306。计算机生成的场景1306是根据与场景902对应的3D模型的2D渲染,其从不同角度示出顾客的起居室。计算机生成的场景1306与长沙发602的描绘1102重叠,使得描绘1102被示出为靠着起居室的墙壁1308而不是起居室的墙壁1106。
图14是示出根据实施例的在顾客设备601上显示的修改的AR场景1401的另一示图。图14包括具有AR场景1401和改变长沙发602的描绘1102的大小的菜单1402的屏幕页1400。菜单1402包括长沙发602的两个大小选项:(i)对应于顾客正在查看的长沙发602的实际大小的原始大小,以及(ii)在真实生活中不能被顾客现实地用来查看的“XL”大小。例如,菜单1402可以使用菜单1202中的改变产品大小的选项来访问。
响应于顾客选择菜单1402中的“XL”选项,AR场景1401被生成并显示在顾客设备601上。AR场景1401包括长沙发602的描绘1102和修改或更新的计算机生成的场景1404。计算机生成的场景1404类似于计算机生成的场景1306,但是包括长沙发602的“XL”大小的尺寸(以虚线示出)的指示1406。指示1406允许顾客查看和欣赏顾客起居室中的长沙发602的“XL”大小的比例,即使该大小在商店中不是物理上可用的。
在一些实施例中,屏幕页1300、1400中的任一个或两者与修改在方法500的步骤514中接收的AR场景的请求相关联。
在一些情况下,AR场景中的虚拟产品或对象可在2D或3D空间中与实体物品的图像重叠。这种重叠也被称为冲突。图15是示出根据实施例的AR场景1501中的冲突的示图。图15包括示出AR场景1501的屏幕页1500。AR场景1501包括长沙发602的描绘1102和计算机生成的场景1504。计算机生成的场景1504包括与长沙发602的描绘1102冲突的灯1506的虚拟表示。灯1506与描绘1102冲突的部分以虚线示出,以便不使描绘1102模糊。屏幕页1500包括AR场景1501中的冲突的指示1502,例如,其可以响应于顾客选择选项以查看菜单1202中的尺寸警告而被访问。
响应于AR场景中的冲突,顾客可以采取多种不同动作中的任何一种来纠正该冲突。在一些实施例中,顾客可以通过将实体物品的描绘的锚定点移动到不同的位置来修改AR场景。顾客还可以或替代地选择呈现实体物品的不同场景。
图16是示出根据实施例的在顾客设备601上显示的修改的AR场景1601的又一示图。图16包括具有AR场景1601和菜单1602的屏幕页1600,以使得能够进行社交购物。在所示的示例中,菜单1602指示已经找到另一用户(“用户2”),其可以是顾客的朋友或家人。顾客通过菜单1602与用户2一起实现了社交购物。作为响应,屏幕页1600还包括顾客设备601连接到用户2的指示1608。例如,菜单1602可以使用菜单1202中的发起社交购物的选项来访问。
AR场景1601包括长沙发602的描绘1102、物理真实世界桌子的描绘1606和计算机生成的场景1306。桌子的描绘1606是由与用户2相关联的顾客设备捕获的桌子的虚拟表示。桌子的描绘1606可以使用存储在存储器中的桌子的3D模型来生成,或者由与用户2相关联的顾客设备生成。AR场景1601允许顾客查看长沙发602和桌子一起在顾客的起居室中看起来如何。类似的AR场景也可以被显示在与用户2相关联的顾客设备上。
图17是示出根据实施例的在顾客设备601上显示的修改的AR场景1701的又一示图。图17包括具有AR场景1701和菜单1702的屏幕页1700,菜单1702提供在AR场景1701中包括一个或多个虚拟模型的选项。在所示的示例中,菜单1702指示两个可能的AR模型是可用的,包括顾客的宠物的模型和虚拟宠物的模型。在一些实施例中,顾客的宠物的模型存储在AR引擎402中的顾客数据410中,并且虚拟宠物的模型是存储在AR引擎402中的产品数据412中的商家推荐模型。每个虚拟模型对应于相应的3D模型。菜单1702可以使用包括例如菜单1202中提供的一个或多个虚拟模型的选项来访问。
AR场景1701包括长沙发602的描绘1102和计算机生成的场景1704。计算机生成的场景1704示出了顾客的起居室以及覆盖有长沙发602的描绘1102的顾客的宠物的虚拟表示1706。在该示例中,示出了顾客的宠物坐在长沙发上。宠物的表示1706被缩放到长沙发602的大小以使顾客可以相比于他们的宠物来欣赏长沙发602的大小。换句话说,宠物的表示1706示出为相对于长沙发602的尺寸而成比例。AR场景1701响应于顾客在菜单1702中选择他们的宠物而被生成并显示在顾客设备601上。
在一些实施例中,屏幕页1700与修改在方法500的步骤514中接收的AR场景的请求相关联。
应当注意,宠物仅是可以添加到AR场景的虚拟模型的一个示例。总的来说,虚拟模型可以包括与顾客和/或产品相关联的任何人、动物或对象。例如,父母可能希望在孩子不在时为他们的孩子购买一件衣服。AR引擎生成描绘孩子穿着该件衣服以允许父母欣赏该衣服的外观和合适性的AR场景。孩子的描绘可以是可从诸如菜单1702之类的菜单中选择的虚拟模型。
图18是示出根据实施例的在移动顾客设备601之后显示在顾客设备601上的AR场景1801的示图。图18包括具有AR场景1801的屏幕页1800。AR场景1801包括长沙发602的描绘1802和计算机生成的场景1804。在该示例中,顾客设备601从与图11中所示的不同角度来捕获长沙发602的图像。这样,长沙发602的描绘1802不同于图11所示的描绘1102。例如,持有顾客设备601的顾客可能已经移动到不同的位置以从不同的视角来查看长沙发602。类似于AR场景1101,描绘1802被锚定到顾客的起居室中的墙壁1106,并且被定向为背对墙壁1106。计算机生成的场景1804相比于计算机生成的场景1104进行了更新,以将描绘1804的锚定点保持在墙壁1106处。这是跟踪图像中的实体物品并基于这些图像实时生成AR场景的示例。
在一些实施例中,在方法500中的步骤510中生成AR场景1801。
现在将参考图19和20,其提供了为有兴趣购买裙子1902的顾客生成AR场景的示例。裙子1902是顾客在真实世界商店中试穿的产品的实体物品。顾客使用镜子1904查看裙子。顾客还使用与顾客相关联的顾客设备1903来捕获裙子1902的图像。
图19是示出根据实施例的在顾客设备1903上显示的AR场景1901的示图。图19包括示出AR场景1901的屏幕页1900。AR场景1901包括顾客穿着裙子1902的描绘1906和计算机生成的场景1908。顾客穿着裙子1902的描绘1906表示由顾客设备1903拍摄的图像的一部分。在所示的示例中,顾客设备1903主动地捕获顾客穿着裙子1902的图像。
计算机生成的场景1908描绘海滩场景。该海滩场景可以基于与顾客相关联的位置或与服装相关联的位置的3D模型。作为示例,裙子1902可以是意图在海滩上穿着的裙子。AR场景1901可以使顾客欣赏她们在海滩的环境中穿着该裙子将看起来如何。在一些实施例中,AR场景1901还可以包括用于海滩场景的音频,诸如波浪的声音。
屏幕页1900还包括AR场景1901对应于海滩的指示1910和访问用于AR场景1901的菜单的选项1912。例如,该菜单可以类似于图12所示的菜单1202。
图20是示出根据实施例的在顾客设备1903上显示的修改的AR场景2001的示图。图20包括具有AR场景2001和用于选择要添加到AR场景2001中的产品的菜单2002的屏幕页2000。例如,菜单2002可以通过选项1912来访问。在所示的示例中,粉色人字拖鞋和沙滩凉鞋是在菜单2002中可用的产品。粉色人字拖鞋是顾客先前已经购买的产品,因此与顾客相关联。粉色人字拖鞋也与海滩相关联,因为它们可能打算在海滩上穿。沙滩凉鞋是由商家针对裙子1902推荐的产品。例如,沙滩凉鞋和裙子1902两者都可以在沙滩上穿,并且具有互补的特征和/或颜色。
AR场景2001包括顾客穿着裙子1902的描绘1906和经更新或修改的计算机生成的场景2004。计算机生成的场景2004包括与计算机生成的场景1908相同的海滩场景,并且还包括商家购买的粉色人字拖鞋的虚拟表示2008。因此,AR场景2001可以使顾客查看顾客穿着粉色人字拖鞋和裙子1902在海滩上的表示。AR场景2001可以响应于顾客选择菜单2002中的粉色人字拖鞋而生成,这是修改AR场景的请求的示例。
屏幕页2000还包括使顾客能够在菜单2002中的推荐产品之间切换的多个命令2006。在一些实施例中,镜子1904实现了手势识别系统,该手势识别系统可以使用户使用手势在推荐产品之间切换。
尽管屏幕页600、700、800、900、1000、1100、1200、1300、1400、1500、1600、1700、1800、1900、2000都显示在采用诸如蜂窝电话的手持设备形式的顾客设备上,但是这仅是示例。屏幕页600、700、800、900、1000、1100、1200、1300、1400、1500、1600、1700、1800、1900、2000中的任何一个或全部都可以替代地显示在本文描述的顾客设备的任何其他示例上。例如,图19和20的镜子1904可以替代地是捕获顾客的图像并显示AR场景1901、2001的智能镜子。
结论
尽管已经参考本发明的具体特征和实施例描述了本发明,但是在不脱离本发明的情况下可以对其进行各种修改和组合。因此,说明书和附图应被简单地看作是对由所附权利要求限定的本发明的一些实施例的说明,并且被认为覆盖了落入本发明的范围内的任何和所有修改、变化、组合或等同物。因此,尽管已经详细描述了本发明及其优点,但是在不背离由所附权利要求限定的本发明的情况下,可以在此进行各种改变、替换和变更。此外,本申请的范围不限于说明书中描述的过程、机器、制造、物质组成、装置、方法和步骤的特定实施例。如本领域普通技术人员从本发明的公开内容中将容易理解的,根据本发明,可以利用目前存在的或以后将开发的、执行与本文所述的相应实施例基本相同的功能或实现与本文所述的相应实施例基本相同的结果的过程、机器、制造、物质组成、装置、方法或步骤。因此,所附权利要求旨在将这些过程、机器、制造、物质组成、装置、方法或步骤包括在其范围内。
此外,本文中例示的执行指令的任何模块、组件或设备可以包括或以其他方式访问用于存储信息的非暂时性计算机/处理器可读存储介质,诸如计算机/处理器可读指令、数据结构、程序模块和/或其他数据。非暂时性计算机/处理器可读存储介质的示例的非穷举列表包括磁带盒、磁带、磁盘存储或其他磁存储设备、诸如压缩盘只读存储器(CD-ROM)、数字视频盘或数字多功能盘(DVD)、Blu-ray DiscTM或其他光学存储之类的光盘、以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术。任何这样的非暂时性计算机/处理器存储介质都可以是设备的一部分或者可访问或可连接到设备。本文描述的任何应用或模块都可以使用计算机/处理器可读/可执行指令来实现,所述指令可以由这样的非暂时性计算机/处理器可读存储介质存储或以其他方式保持。
本教导还可以扩展到以下编号段落中的一个或多个的特征:
1. 根据本公开的一个方面,提供了一种计算机实现的方法。该方法包括:获得实体物品的图像,所述图像被与用户相关联的设备捕获;获得与所述用户和所述实体物品中的至少一个相关联的信息;生成包括计算机生成的场景和所述图像的至少一部分的AR场景,所述计算机生成的场景基于所述信息;以及指示所述设备显示所述AR场景。
2. 在一些实施例中,获得信息包括获得与用户和实体物品中的至少一个相关联的三维(3D)模型。计算机生成的场景是基于所述3D模型的。
3. 在一些实施例中,获得信息包括获得与用户和实体物品中的至少一个相关联的多个3D模型,所述多个3D模型包括所述3D模型。在这些实施例中,该方法还包括接收从所述多个3D模型对所述3D模型的选择。
4. 在一些实施例中,该方法还包括确定与实体物品相对应的产品,其中,信息与用户和产品中的至少一个相关联。
5. 在一些实施例中,产品是第一产品,并且获得信息包括获得与用户和第一产品中的至少一个相关联的第二产品的指示。在这些实施例中,计算机生成的场景包括所述第二产品的虚拟表示。
6. 在一些实施例中,确定与实体物品相对应的产品包括接收所述产品的指示。
7. 在一些实施例中,确定与实体物品相对应的产品包括分析所述图像。
8. 在一些实施例中,生成AR场景包括:确定所述实体物品的尺寸;以及相对于所述实体物品的尺寸来缩放所述计算机生成的场景。
9. 在一些实施例中,生成AR场景包括将图像的所述部分锚定到所述计算机生成的场景中的虚拟点。
10. 在一些实施例中,该方法还包括:接收修改AR场景的请求;基于所述请求来生成修改的AR场景;以及指示所述设备显示所述修改的AR场景。
11. 在一些实施例中,图像是第一图像,实体物品是第一实体物品,设备是第一设备,并且用户是第一用户。该方法还包括:获得第二实体物品的第二图像,所述第二图像被与第二用户相关联的第二设备捕获,其中,所述AR场景还包括所述第二实体物品的虚拟表示。
12. 在一些实施例中,获得信息包括使用机器学习模型来获得信息。
13. 在一些实施例中,生成AR场景包括生成音频内容和触觉内容中的一个或多个、以及视觉内容。
14. 根据本公开的另一方面,提供了一种系统,其包括用于存储信息的存储器和用于执行如本文所公开的任何方法的一个或多个处理器。

Claims (15)

1.一种计算机实现的方法,包括:
获得实体物品的图像,所述图像由与用户相关联的设备捕获;
获得与所述实体物品相关联的第一信息,所述第一信息包括所述实体物品的尺寸;
获得与所述用户和所述实体物品中的至少一个相关联的第二信息,所述第二信息包括定义用于在增强现实中呈现所述实体物品的环境的信息;
基于至少所述第一信息和所述第二信息来生成增强现实AR场景,所述增强现实AR场景包括所述环境的计算机生成的场景并且与其成比例地描绘在所述环境中的所述实体物品;以及
指示所述设备显示所述AR场景。
2.根据权利要求1所述的计算机实现的方法,其中:
获得所述第二信息包括获得所述环境的三维3D模型,其用于在与所述用户和所述实体物品中的至少一个相关联的增强现实中呈现所述实体物品,并且
所述计算机生成的场景是基于所述3D模型而生成的。
3.根据权利要求2所述的计算机实现的方法,还包括:
接收从用于在增强现实中呈现所述实体物品的多个可能环境中对所述环境的选择,其中,所述3D模型是基于从可能环境的多个3D模型中的所述选择来选择的。
4.根据前述权利要求中任一项所述的计算机实现的方法,还包括:
确定与所述实体物品相对应的产品,
其中,所述第二信息与所述用户和所述产品中的至少一个相关联。
5.根据权利要求4所述的计算机实现的方法,其中:
所述产品是第一产品,
所述第二信息还包括与所述用户和所述第一产品中的至少一个相关联的第二产品的指示,并且
所述计算机生成的场景还包括所述第二产品的虚拟表示。
6.根据权利要求4或5所述的计算机实现的方法,其中,确定与所述实体物品相对应的产品包括接收所述产品的指示。
7.根据权利要求4至6中任一项所述的计算机实现的方法,其中,确定与所述实体物品相对应的产品包括分析所述实物产品的所述图像。
8.根据前述权利要求中任一项所述的计算机实现的方法,其中,生成所述AR场景包括相对于所述实体物品的尺寸来缩放所述计算机生成的场景。
9.根据前述权利要求中任一项所述的计算机实现的方法,其中,生成所述AR场景包括将所述图像的一部分锚定到所述计算机生成的场景中的虚拟点。
10.根据权利要求1所述的计算机实现的方法,还包括:
接收修改所述AR场景的请求;
基于所述请求来生成修改的AR场景;以及
指示所述设备显示所述修改的AR场景。
11.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述图像是第一图像,所述实体物品是第一实体物品,所述设备是第一设备,并且所述用户是第一用户,所述方法还包括:
获得第二实体物品的第二图像,所述第二图像由与第二用户相关联的第二设备捕获,其中,所述AR场景还包括所述第二实体物品的虚拟表示。
12.根据前述权利要求中任一项所述的计算机实现的方法,其中,获得所述第一信息和所述第二信息中的至少一个包括使用机器学习模型来获得所述第一信息和所述第二信息中的至少一个。
13.根据前述权利要求中任一项所述的计算机实现的方法,其中,生成所述AR场景包括生成音频内容和触觉内容中的一个或多个以及视觉内容。
14.一种系统,包括:
存储器,用于存储:(i)实体物品的图像,所述图像由与用户相关联的设备捕获,(ii)与所述实体物品相关联的第一信息,以及(iii)与所述用户和所述实体物品中的至少一个相关联的第二信息;
处理器,被配置为执行根据前述权利要求中任一项所述的方法。
15.一种计算机程序,所述计算机程序当由计算机执行时使所述计算机执行根据权利要求1至13中任一项所述的方法的步骤。
CN202110166438.7A 2020-02-06 2021-02-05 用于为实体物品生成增强现实场景的系统和方法 Pending CN113222683A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/783322 2020-02-06
US16/783,322 US11676200B2 (en) 2020-02-06 2020-02-06 Systems and methods for generating augmented reality scenes for physical items
EP20215725.1A EP3862849A1 (en) 2020-02-06 2020-12-18 Systems and methods for generating augmented reality scenes for physical items
EP20215725.1 2020-12-18

Publications (1)

Publication Number Publication Date
CN113222683A true CN113222683A (zh) 2021-08-06

Family

ID=73855946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110166438.7A Pending CN113222683A (zh) 2020-02-06 2021-02-05 用于为实体物品生成增强现实场景的系统和方法

Country Status (8)

Country Link
US (2) US11676200B2 (zh)
EP (1) EP3862849A1 (zh)
JP (1) JP7495034B2 (zh)
KR (1) KR102684040B1 (zh)
CN (1) CN113222683A (zh)
AU (1) AU2021200682A1 (zh)
CA (1) CA3105792A1 (zh)
SG (1) SG10202100198PA (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838600B2 (en) 2018-02-12 2020-11-17 Wayfair Llc Systems and methods for providing an extended reality interface
US11557060B2 (en) 2018-11-05 2023-01-17 Wayfair Llc Systems and methods for scanning three-dimensional objects
US20210358294A1 (en) * 2020-05-15 2021-11-18 Microsoft Technology Licensing, Llc Holographic device control
JP6960714B1 (ja) * 2021-03-31 2021-11-05 功憲 末次 表示システム
US20220327608A1 (en) * 2021-04-12 2022-10-13 Snap Inc. Home based augmented reality shopping
US20220335510A1 (en) * 2021-04-20 2022-10-20 Walmart Apollo, Llc Systems and methods for personalized shopping
US12026763B2 (en) * 2021-05-14 2024-07-02 Inter Ikea Systems B.V. Augmented reality conversion system
US11790558B1 (en) * 2021-06-30 2023-10-17 Amazon Technologies, Inc. Generation of synthetic image data with varied attributes
US11699269B2 (en) * 2021-08-25 2023-07-11 Bank Of America Corporation User interface with augmented work environments
CN113962513A (zh) * 2021-09-08 2022-01-21 昆明埃舍尔科技有限公司 一种基于物联网和ar/mr的产品包装实现方法及装置
CN113836448B (zh) * 2021-09-22 2023-10-20 抖音视界有限公司 一种信息展示方法、装置、计算机设备及存储介质
US20230306689A1 (en) * 2022-03-25 2023-09-28 At&T Intellectual Property I, L.P. Aligning metaverse activities with multiple physical environments
US20230341990A1 (en) * 2022-04-20 2023-10-26 Htc Corporation Visual content generating method, host, and computer readable storage medium
US11688149B1 (en) * 2022-08-03 2023-06-27 Eqpme Inc. Systems and methods for dynamic interaction with an augmented reality environment
US12002176B2 (en) 2022-08-03 2024-06-04 Eqpme Inc. Systems and methods for dynamic interaction with an augmented reality environment
US20240087251A1 (en) * 2022-09-09 2024-03-14 Shopify Inc. Methods for calibrating augmented reality scenes

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010734A1 (en) * 2000-02-03 2002-01-24 Ebersole John Franklin Internetworked augmented reality system and method
US20080071559A1 (en) * 2006-09-19 2008-03-20 Juha Arrasvuori Augmented reality assisted shopping
US20120120113A1 (en) 2010-11-15 2012-05-17 Eduardo Hueso Method and apparatus for visualizing 2D product images integrated in a real-world environment
US9449342B2 (en) 2011-10-27 2016-09-20 Ebay Inc. System and method for visualization of items in an environment using augmented reality
US9355470B2 (en) * 2011-11-30 2016-05-31 The Board Of Trustees Of The Leland Stanford Junior University Method and system for interactive layout
US20130293530A1 (en) * 2012-05-04 2013-11-07 Kathryn Stone Perez Product augmentation and advertising in see through displays
US20140278274A1 (en) * 2012-07-24 2014-09-18 Stanley J. Osher Automatic optimization of scene configuration
US10430018B2 (en) * 2013-06-07 2019-10-01 Sony Interactive Entertainment Inc. Systems and methods for providing user tagging of content within a virtual scene
JP2015099545A (ja) 2013-11-20 2015-05-28 株式会社東芝 画像生成システム及び画像生成プログラム
KR102415667B1 (ko) 2018-05-29 2022-07-01 엘지전자 주식회사 이동 단말기
US11803664B2 (en) * 2018-10-09 2023-10-31 Ebay Inc. Distributed application architectures using blockchain and distributed file systems
US10963952B2 (en) * 2018-12-03 2021-03-30 Sap Se Augmented reality-based real estate property analysis

Also Published As

Publication number Publication date
KR20210100555A (ko) 2021-08-17
JP2021125258A (ja) 2021-08-30
AU2021200682A1 (en) 2021-08-26
TW202135010A (zh) 2021-09-16
US20230260013A1 (en) 2023-08-17
CA3105792A1 (en) 2021-08-06
EP3862849A1 (en) 2021-08-11
US20210248669A1 (en) 2021-08-12
JP7495034B2 (ja) 2024-06-04
KR102684040B1 (ko) 2024-07-10
SG10202100198PA (en) 2021-09-29
US11676200B2 (en) 2023-06-13

Similar Documents

Publication Publication Date Title
KR102684040B1 (ko) 물리적 아이템에 대한 증강 현실 장면을 생성하기 위한 시스템 및 방법
US11568620B2 (en) Augmented reality-assisted methods and apparatus for assessing fit of physical objects in three-dimensional bounded spaces
US11908159B2 (en) Systems and methods for representing user interactions in multi-user augmented reality
US11836877B2 (en) Systems and methods for generating augmented reality content based on distorted three-dimensional models
CN114526736B (zh) 用于店内路线推荐的计算机实现的系统和方法
US11494153B2 (en) Systems and methods for modifying multi-user augmented reality
CN113538085A (zh) 用于店内产品推荐的计算机实现的系统和方法
US11847716B2 (en) Systems and methods for generating multi-user augmented reality content
US20230230152A1 (en) Systems and methods for generating customized augmented reality video
CN112991001A (zh) 用于推荐2d图像的系统和方法
US20230260249A1 (en) Systems and methods for training and using a machine learning model for matching objects
TWI853140B (zh) 為實體項目產生擴增實境場景之系統及方法
US20230377027A1 (en) Systems and methods for generating augmented reality within a subspace
US20230070271A1 (en) Systems and methods for identifying items having complementary material properties
US20240029279A1 (en) Systems and methods for generating augmented reality scenes
US20240087267A1 (en) Systems and methods for editing content items in augmented reality
US20230394751A1 (en) Image generation based on tracked 3d scanning

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