CN111352503A - 具有用于虚拟对象的显示的增强现实应用的电子商务平台 - Google Patents

具有用于虚拟对象的显示的增强现实应用的电子商务平台 Download PDF

Info

Publication number
CN111352503A
CN111352503A CN201911325446.0A CN201911325446A CN111352503A CN 111352503 A CN111352503 A CN 111352503A CN 201911325446 A CN201911325446 A CN 201911325446A CN 111352503 A CN111352503 A CN 111352503A
Authority
CN
China
Prior art keywords
customer
virtual object
image
computing device
images
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
CN201911325446.0A
Other languages
English (en)
Inventor
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 CN111352503A publication Critical patent/CN111352503A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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
    • 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]
    • 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/0639Item locations
    • 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
    • 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
    • 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/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Abstract

具有用于虚拟对象的显示的增强现实应用的电子商务平台。公开了用于利用至少一个虚拟对象来增强客户图像的系统和方法。从客户计算设备接收描绘客户环境的一个或多个客户图像,并且确定用于客户图像的3D特征数据。确定对应于希望的商品的虚拟对象。接收对应于虚拟对象在客户环境中的希望的位置的定位信号,并且确定使用定位信号叠加虚拟对象的每个客户图像中的对应的第一位置。基于对应的3D特征数据为每个客户图像确定虚拟对象的适当大小和定向,引起在客户图像中的对应的第一位置处的适当调整大小和定向的虚拟对象的叠加。

Description

具有用于虚拟对象的显示的增强现实应用的电子商务平台
技术领域
本公开一般地涉及利用虚拟对象增强现实,并且特别地涉及利用对应于用于销售的商品(merchant item)的虚拟对象增强描绘客户环境的一个或多个图像。
背景技术
已知的增强现实(AR)系统一般提供真实世界环境的交互式体验,其中通过诸如跨视觉和/或听觉模态(modality)的计算机生成的感知信息来 “增强”存在于真实世界中的对象。叠加的视觉可以是建设性的(即,对环境是添加性的)或者破坏性的(从环境中消减的),并且通常以被感知为真实环境的沉浸式方面的方式与真实世界环境无缝地交织(interwoven)。这样,增强现实可以更改人对真实世界环境的持续感知。这是与虚拟现实系统相比较而言的,虚拟现实系统一般利用模拟环境来完全取代用户的真实世界环境。典型地,增强和虚拟现实系统利用耳机或者特殊的眼镜,并且需要3D照相机、复杂3D模型的生成、以及诸如图像的对象识别或者配准(registration)的先进的并且计算密集型的处理技术。这样的系统典型地是复杂并且昂贵的。
发明内容
因此,在本领域中存在对于使用一般可用的照相机和设备的简化的增强现实系统和方法的需要,并且其不需要3D模型的创建或者计算密集型处理。这样的简化的系统和方法可以利用诸如膝上型计算机、平板计算机、以及移动电话之类的简单的并且现成的(readily available)个人计算设备,可以利用现成的AR功能性、软件以及硬件,将不要求密集型计算处理,可以实时或者异步地发生并且将不要求用于操作的诸如眼镜或者耳机之类的专门装备。这样的简化的系统可以用于在客户环境中的虚拟对象的显示,其中客户环境由客户提供并且控制,并且其中虚拟对象对应于用于销售的商品,虑及客户并且在某些情况下虑及商家对客户的环境中的虚拟对象进行查看并且与其进行交互。
在实施例中,一种用于利用虚拟对象来增强场所(site)的图像的计算机实现的方法可以包括:从第一计算设备接收图像,其中所述图像针对虚拟对象描绘潜在场所以及确定对应于图像的一部分的3D特征数据。可以接收对用于显示的虚拟对象的选择,并且可以接收对应于虚拟对象的希望的位置的定位信号。可以确定使用定位信号叠加虚拟对象的图像中的第一位置。可以确定基于3D特征数据的图像中的虚拟对象的适当大小和定向。可以通过在图像中的第一位置处叠加适当调整大小和定向的虚拟对象来创建用于在第一计算设备上显示的增强的图像。
在实施例中,可以使得增强的图像能够被显示在第二计算设备上。方法可以进一步包括从第一计算设备或者第二计算设备接收第二定位信号,所述第二定位信号指示虚拟对象或者虚拟对象的组成部分(component part)在增强的图像中的希望的定位。可以确定响应于第二定位信号叠加虚拟对象或者虚拟对象的组成部分的场所的增强图像中的第二位置。可以通过在第二位置处叠加虚拟对象或者虚拟对象的组成部分来实时创建更新的增强图像,用于在第一计算设备或者第二计算设备上进行显示。在实施例中,3D特征数据可以包括相对于第一计算设备的照相机的确定坐标系。3D特征数据可以包括平面表面的位置和大小。
在实施例中,一种用于利用至少一个虚拟对象来增强客户图像的计算机实现的方法可以包括:从客户计算设备接收一个或多个客户图像,其中一个或多个客户图像中的每个描绘客户环境以及确定对应于所述一个或多个客户图像中的每个的3D特征数据。可以接收对用于显示的商品的选择,并且可以确定对应于对商品的选择的虚拟对象。可以接收对应于客户环境中的虚拟对象的希望位置的定位信号,并且可以确定使用定位信号叠加虚拟对象的一个或多个客户图像中的每个中的第一位置。可以基于对应的3D特征数据来确定在一个或多个客户图像中的每个中的虚拟对象的适当大小和定向,并且方法可以包括引起在一个或多个客户图像中的每个中的对应的第一位置处的适当调整大小和定向的虚拟对象的叠加。
在实施例中,引起叠加包括将适当调整大小和定向虚拟对象和第一位置中的至少一个传输到客户计算设备。客户计算设备和商家计算设备可以处于对等关系。
在实施例中,可以从客户计算设备、商家计算设备以及另一计算设备中的至少一个接收重新定位信号,其中重新定位信号指示对虚拟对象的希望的重新定位。可以在响应于重新定位信号叠加虚拟对象的客户图像的一个或多个图像帧中确定第二位置。在实施例中,方法包括引起在一个或多个客户图像中的每个中的对应的第二位置处的适当调整大小和定向的虚拟对象的更新的叠加。在实施例中,引起更新的叠加可以包括将适当调整大小和定向的虚拟对象以及第二位置中的至少一个传输到客户计算设备。在实施例中,可以利用更新的叠加为一个或多个客户图像创建更新的增强图像,用于在客户计算设备上和/或在商家计算设备上进行显示。可以利用叠加来为一个或多个客户图像创建增强的图像,其中增强的图像是在从客户计算设备接收到一个或多个客户图像时创建的。在实施例中,可以在与从客户计算设备接收到一个或多个客户图像不同的时间处创建并且显示针对一个或多个客户图像的增强图像。
在实施例中,一种用于利用虚拟对象来增强场所的图像的计算机实现的方法可以包括:由第一计算设备捕捉图像,其中所述图像针对虚拟对象描绘潜在场所以及由第一计算设备确定对应于图像的一部分的3D特征数据。图像和3D特征数据可以被传送到第二计算设备,其中第二计算设备处于与第一计算设备的对等关系中。第二计算设备可以确定叠加虚拟对象的图像中的第一位置以及基于3D特征数据确定图像中的虚拟对象的适当大小和定向。可以由第一计算设备或者第二计算设备通过在图像中的第一位置处叠加适当调整大小和定向的虚拟对象来创建增强的图像,用于在第一计算设备和/或第二计算设备上进行显示。
在实施例中,一种用于利用虚拟对象来增强场所的图像的系统可以包括接口模块,其被配置为从第一计算设备接收图像,其中图像针对虚拟对象描绘潜在场所,接收用于显示的虚拟对象,并且接收对应于虚拟对象的希望的位置的定位信号。系统还可以包括计算模块,其被配置为确定对应于所接收的图像的一部分的3D特征数据,确定使用定位信号叠加虚拟对象的图像中的第一位置,基于3D特征数据确定虚拟对象在图像中的适当大小和定向,并且引起在图像中的第一位置处的适当调整大小和定向的虚拟对象的叠加。
在实施例中,计算模块被构造成向客户计算设备传输适当调整大小和定向的虚拟对象以及第一位置中的至少一个。在实施例中,计算模块被构造为利用叠加来为一个或多个客户图像创建增强的图像,用于在客户计算设备上进行显示。
计算模块可以被构造成通过在图像中的第一位置处叠加适当调整大小和定向的虚拟对象来创建增强的图像用于在第一计算设备上进行显示。在实施例中,接口模块可以从第一计算设备或者第二计算设备接收第二定位信号,所述第二定位信号指示虚拟对象或者虚拟对象的组成部分在增强的图像中的希望的定位。计算模块可以确定响应于第二定位信号叠加虚拟对象或者虚拟对象的组成部分的场所的增强图像中的第二位置,并且可以通过在第二位置处叠加虚拟对象或者虚拟对象的组成部分来实时创建更新的增强图像,用于在第一计算设备和第二计算设备中的一个上进行显示。在实施例中,3D特征数据可以包括相对于第一计算设备的照相机的确定坐标系。3D特征数据可以包括平面表面的位置和大小。
在实施例中,一种用于利用至少一个虚拟对象来增强客户图像的计算机实现的系统可以包括接口模块,其被使能以从客户计算设备接收一个或多个客户图像,其中所述一个或多个客户图像中的每个描绘客户环境,接收对用于显示的商品的选择,接收对应于虚拟目标在客户环境中的希望的位置的定位信号。系统可以进一步包括计算模块,其被配置为确定对应于一个或多个客户图像中的每个的3D特征数据,确定对应于对商品的选择的虚拟对象,确定使用定位信号叠加虚拟对象的一个或多个客户图像中的每个中的第一位置,基于对应的3D特征数据确定虚拟对象在一个或多个客户图像中的每个中的适当大小和定向,并且引起在图像中的第一位置处叠加适当调整大小和定向的虚拟对象和/或通过在一个或多个客户图像中的每个中的对应的第一位置处叠加适当调整大小和定向的虚拟对象来为一个或多个客户图像中的每个创建增强的图像,用于在客户计算设备上进行显示。在实施例中,可以使能一个或多个增强的图像用于在商家计算设备上的显示。在实施例中,客户计算设备和商家计算设备可以处于对等关系中。接口模块可以从客户计算设备、商家计算设备或者另一计算设备接收重新定位信号,所述重新定位信号指示对虚拟对象的希望的重新定位,并且计算模块可以确定响应于重新定位信号叠加虚拟对象的客户图像的一个或多个图像帧中的第二位置,并且可以通过在所述第二位置处叠加适当调整大小和定向的虚拟对象来实时创建一个或多个更新的增强图像。在从客户计算设备接收到一个或多个客户图像的情况下,可以实时创建至少一个增强的图像。可以在与从客户计算设备接收到一个或多个客户图像不同的时间处创建并且显示针对一个或多个客户图像中的每个的增强的图像。
附图说明
图1描绘了电子商务平台的实施例。
图2描绘了管理器的主页的实施例。
图3描绘了诸如用于在图像中叠加虚拟对象之类的增强现实应用的实施例。
图4a至图4b描绘了用于图3的示例性应用的过程的示例。
图5a至图5b描绘了用于图3的示例性应用的过程的另一个示例。
图6描绘了从四个不同视角示出咖啡桌上的虚拟花瓶的增强图像的示例性集合。
具体实施方式
现在将通过参照附图和展示描述本公开的各种说明性的非限制性实施例来详细地描述本发明。然而,本公开可以以许多不同的形式来体现并且不应当被解释为局限于在此阐述的说明性实施例。相反,提供实施例使得本公开是详尽的并且将向本领域技术人员完全地传达本公开的概念。
参照图1,描绘了用于向客户提供商品和服务的实施例电子商务平台100。虽然贯穿于本公开考虑使用所公开的装置、系统、应用以及过程来查看、评估并且购买产品和服务两者,但是为简单起见,在此的描述将指代产品。贯穿于本公开,对产品的所有引用也应当被理解为是对产品和/或服务的引用,包括要被提供的物理产品、数字内容、票据、订阅、服务以及诸如此类。
虽然贯穿于本公开考虑“商家”和“客户”可以不仅仅是个人,但是为简单起见,在此的描述一般可以指代这样的多个商家和客户。贯穿于本公开,对商家和客户的所有引用也应当被理解为是对个人、公司、团体、计算实体以及诸如此类的组的引用,并且可以表示产品的营利性或者非营利性的交换。进一步地,虽然贯穿于本公开提及“商家”和“客户”,并且如此描述它们的角色,但是电子商务平台100应当被理解为更一般地支持电子商务环境中的用户,并且贯穿于本公开,对商家和客户的所有引用也应当被理解为是对用户的引用,诸如其中用户是商家用户(例如,卖家、零售商、批发商、或者产品的提供商)、客户用户(例如,买家、购买代理人、或者产品的用户)、潜在用户(例如,正在浏览和评估产品并且尚未承诺购买的用户、针对营销和销售产品中的潜在用途评估电子商务平台100的用户以及诸如此类)、服务提供商用户(例如,装运提供商112、金融提供商以及诸如此类)、公司或者团体用户(例如,针对产品的购买、销售或使用的公司代表;企业用户;客户关系或者客户管理代理人以及诸如此类)、信息技术用户、计算实体用户(例如,用于产品的购买、销售或使用的计算机器人(bot))以及诸如此类。
电子商务平台100可以提供用于为商家提供用于管理他们的业务的在线资源和设施的集中式系统。在此描述的设施可以通过机器部分或者全部地部署,所述机器在一个或多个处理器上执行计算机软件、模块、程序代码和/或指令,所述一个或多个处理器可以是平台100的一部分或者在平台100的外部。商家可以将电子商务平台100用于管理与客户的商务(commerce),诸如通过经由在线商店138、经由应用142A-B、经由渠道110A-B、经由在物理位置(例如,物理店面(storefront)或者诸如经由售货亭(kiosk)、终端、阅读器、打印机、3D打印机以及诸如此类的其他位置)中的POS设备152实现与客户的电子商务体验,通过经由电子商务平台100管理他们的业务,以及通过经由电子商务平台100的通信设施129与客户进行交互,或者它们的任何组合。商家可以将电子商务平台100用作与客户的唯一商务存在,或者将其与其他商家商务设施结合使用,诸如通过物理商店(例如,“实体”零售商店)、商家离平台(off-platform)web站点104(例如,商务因特网web站点或者与该电子商务平台分离的由商家支持或者代表商家的其他互联网或者web性质或者资产)以及诸如此类。然而,甚至这些“其他”商家商务设施可以被合并到电子商务平台中,诸如其中商家的物理商店中的POS设备152被链接到电子商务平台100中,其中商家离平台web站点104被绑定到电子商务平台100中,诸如通过将内容从商家离平台web站点104链接到在线商店138的“购买按钮”以及诸如此类。
在线商店138可以表示包括多个虚拟店面的多租户(multitenant)设施。在实施例中,商家可以诸如通过商家设备102(例如,计算机、膝上型计算机、移动计算设备以及诸如此类)来管理在线商店138中的一个或多个店面,并且通过多个不同的渠道110A-B来向客户提供产品,多个不同的渠道110A-B(例如,在线商店138;通过POS设备152的物理店面;通过集成到web站点或者社交媒体渠道中的电子购买按钮的电子市场,集成到社交媒体渠道中的电子购买按钮诸如是在社交网络、社交媒体页面、社交媒体消息收发系统上的电子购买按钮,以及诸如此类)。商家可以跨渠道110A-B进行销售并且然后通过电子商务平台100管理他们的销售,其中渠道110A可以内部向电子商务平台100提供或者可以从电子商务渠道110B外部提供渠道110A。商家可以在他们的物理零售商店中、在弹出窗口(pop up)处、通过批发、在电话上以及诸如此类进行销售,并且然后通过电子商务平台100管理他们的销售。商家可以采用这些中的所有或者任何组合,诸如通过利用POS设备152的物理店面来维持业务、通过在线商店138维持虚拟店面以及利用通信设施129来影响(leverage)客户交互和分析132以改进销售的概率。贯穿本公开,术语在线商店138和店面可以被同义地使用,以指代通过电子商务平台100提供存在的商家的在线电子商务,其中在线商店138可以指代由电子商务平台100支持的店面的多租户集合(例如,针对多个商家)或者指代单独的商家的店面(例如,商家的在线商店)。
在实施例中,客户可以通过客户设备150(例如,计算机、膝上型计算机、移动计算设备以及诸如此类)、POS设备152(例如,零售设备、售货亭、自动结账系统以及诸如此类)或者在本领域中已知的任何其他商务接口设备来进行交互。电子商务平台100可以使得商家能够通过在线商店138、通过在物理位置(例如,商家的店面或者别处)中的POS设备152到达客户,以通过平台或者独立应用的各种特征、经由电子通信设施129的对话以及诸如此类提升与客户的商务,为可用于到达客户并且与客户交互的真实或者虚拟路径提供用于到达客户并且促进商家服务的系统。
在实施例中,并且如在此进一步描述的那样,可以通过包括处理器和存储器的处理设施来实现电子商务平台100,所述处理设施存储指令集,当指令集被执行时,使得电子商务平台100执行如在此描述的电子商务和支持功能。处理设施可以是服务器、客户端、网络基础设施、移动计算平台、云计算平台、固定计算平台或者其他计算平台的一部分,并且在电子商务平台100的电子部件、商家设备102、支付网关106、应用开发者、渠道110A-B、装运提供商112、客户设备150、销售点设备152以及诸如此类之间和之中提供电子连接性和通信。诸如在软件和交付(delivery)模型中,电子商务平台100可以被实现为云计算服务、软件即服务(SaaS)、基础设施即服务(IaaS)、平台即服务(PaaS)、桌面即服务(DaaS)、管理软件即服务(MSaaS)、移动后端即服务(MBaaS)、信息技术管理即服务(ITMaaS)以及诸如此类,其中所述软件基于订阅被许可并且被集中托管(例如,由用户使用客户端(例如,瘦客户端)经由web浏览器或者其他应用进行访问,通过POS设备进行访问以及诸如此类)。在实施例中,电子商务平台100的元素可以被实现为在诸如iOS、安卓之类的各种平台和操作系统上、在web上以及诸如此类上进行操作(例如,针对给定的用于iOS、安卓的在线商店以及针对web在多个实例中实现管理器(administrator)114,每个都具有相似的功能性)。在实施例中,可以经由诸如在客户设备和商家设备之间的对等网络实现平台的特征或者应用。
在实施例中,可以通过由电子商务平台100的服务器提供的web页来将在线商店138用于客户设备150。服务器可以从浏览器或者安装在客户设备150上的其他应用接收对于web页的请求,其中浏览器(或者其他应用)通过IP地址连接到服务器,所述IP地址通过翻译域名来获得。作为回报,服务器发送回所请求的web页。web页可以以超文本标记语言(HTML)、模板语言、JavaScript以及诸如此类或者它们的任何组合来编写,或者web页可以包括超文本标记语言(HTML)、模板语言、JavaScript以及诸如此类或者它们的任何组合。例如,HTML是描述用于web页的静态信息的计算机语言,所述静态信息诸如web页的布局、格式以及内容。web站点设计者和开发者可以使用模板语言来构建组合静态内容和动态内容的web页,所述静态内容在多个页面上是相同的,所述动态内容从一个页面到下一个页面改变。模板语言可以使得重新使用定义web页布局的静态元素成为可能,而利用来自在线商店的数据动态地填充页面。可以以HTML来编写静态元素,并且以模板语言来编写动态元素。文件中的模板语言元素可以充当占位符,使得文件中的代码被编译并且发送到客户设备150,并且然后诸如在安装主题时,模板语言被来自在线商店138的数据替换。模板和主题可以考虑标签、对象和过滤器。然后客户端设备web浏览器(或者其他应用)相应地渲染页面。
在实施例中,可以通过电子商务平台100将在线商店138用于客户,其中客户可以浏览并且购买可获得的各种产品(例如,将它们添加到购物车,以及通过购买按钮立即购买以及诸如此类)。可以以透明的方式将在线商店138用于客户,而客户不必认识到它是通过电子商务平台100提供的(而不是直接从商家提供)。商家可以使用商家可配置的域名、可定制的HTML主题以及诸如此类来定制他们的在线商店138。商家可以通过主题系统来定制他们的web站点的外观和感觉,诸如其中商家可以通过改变他们的主题来选择并且改变其在线商店138的外观和感觉,同时在在线商店的产品层级内示出相同的基础产品和业务数据。可以通过主题编辑器、使得用户能够以灵活性定制他们的web站点的设计的设计接口来进一步定制主题。还可以使用改变诸如具体颜色、字体以及预构建(pre built)布局方案之类的方面的主题特定设置来定制主题。在线商店可以实现用于web站点内容的内容管理系统。商家可以创作博客帖子或者静态页面,并且诸如通过博客、文章以及诸如此类将它们发布到他们的在线商店138中,以及配置导航菜单。商家可以将图像(例如,产品的图像)、视频、内容、数据以及诸如此类上传到电子商务平台100上,诸如用于由系统进行存储(例如,作为数据134)。在实施例中,电子商务平台100可以提供用于重新调整图像大小、将图像与产品相关联、将文本添加到图像并且将该文本与图像相关联、添加针对新产品变体的图像、保护图像以及诸如此类的功能。
如在此描述的那样,电子商务平台100可以通过多个不同的渠道110A-B为商家提供用于产品的交易设施,多个不同的渠道110A-B包括如在此描述的在线商店138、通过电话、以及通过物理POS设备152。电子商务平台100可以包括与运行在线业务相关联的业务支持服务116、管理器114以及诸如此类,诸如提供与其在线商店相关联的域服务118、用于促进与客户的交易的支付服务120、用于提供针对所购买的产品的客户装运选项的装运服务122、与产品保护和责任相关联的风险和保险服务124、商家记账以及诸如此类。可以经由电子商务平台100或者与外部设施相关联地提供服务116,诸如通过用于支付处理的支付网关116、用于加快产品的装运的装运提供商112以及诸如此类。
在实施例中,电子商务平台100可以(例如,通过电子商务平台装运设施或者通过第三方装运承运人(carrier))提供集成的装运服务122,诸如为商家提供实时更新、跟踪、自动费率计算、批量订单准备、标签打印以及诸如此类。
图2描绘了针对管理器114的主页的非限制性实施例,所述主页可以示出关于日常任务、商店的近期活动以及商家可以采取的用以构建其业务的下一个步骤的信息。在实施例中,商家可以经由商家设备102诸如从台式计算机或者移动设备登录到管理器114,并且管理他们的在线商店138的方面,诸如查看在线商店138近期活动、更新在线商店138目录、管理订单、近期访问活动、总订购活动以及诸如此类。在实施例中,诸如在图2上示出的那样,商家可以通过使用侧边栏来访问管理器114的不同部分。管理器114的部分可以包括用于访问和管理商家的业务的核心方面的各种接口,所述商家业务的核心方面包括订单、产品、客户、可用报告和折扣。管理器114还可以包括用于管理针对商店的销售渠道的接口,所述销售渠道包括在线商店、对于客户而言可用于访问商店的(一个或多个)移动应用(移动App)、POS设备和/或购买按钮。管理器114还可以包括接口,用于管理安装在商家的账户上的应用(App);应用于商家的在线商店138和账户的设置。商家可以使用搜索栏来找到产品、页面或者其他信息。取决于商家正在使用的设备102或者软件应用,可以通过管理器114使得它们能够用于不同的功能性。例如,如果商家从浏览器登录到管理器114,则他们可能能够管理他们的在线商店138的所有方面。如果商家从他们的移动设备(例如,经由移动应用)进行登录,则他们可能能够查看他们的在线商店138的所有方面或者方面的子集,诸如查看在线商店138的近期活动、更新在线商店138的目录、管理订单以及诸如此类。
关于与商家的在线商店138的商务和商家的在线商店138的访客的更详细的信息可以通过获取报告或者度量来查看,诸如显示针对商家的总体业务的销售概要、针对活跃销售渠道的具体销售和参与数据以及诸如此类。报告可以包括获取报告、行为报告、客户报告、金融报告、营销报告、销售报告、定制报告以及诸如此类。商家可能能够诸如通过使用下拉菜单查看来自不同的时间段(例如,几天、几周、几个月以及诸如此类)的针对不同渠道110A-B的销售数据。可以为想要商店的销售和参与数据的更详细视图的商家提供概览仪表板(dashboard)。可以提供在主度量部分中的活动提要(activity feed),以图示商家账户上的活动的概览。例如,通过点击“查看所有近期活动”仪表板按钮,商家可能能够看见在其账户上的近期活动的更长提要。主页可以诸如基于账户状态、成长、近期客户活动以及诸如此类示出与商家的在线商店138相关的通知。可以提供通知以协助商家对过程导航,诸如捕捉支付、将订单标记为已履行、以及将完成的订单存档以及诸如此类。
电子商务平台100可以提供通信设施129和相关联的商家接口,用于提供电子通信和营销,诸如利用用于收集和分析在商家、客户、商家设备102、客户设备150、POS设备152以及诸如此类之间的通信交互的电子消息收发聚合设施来聚合和分析通信,诸如用于增加用于提供产品的销售的可能性以及诸如此类。例如,客户可能具有与产品相关的问题,这可能在客户和商家(或者代表商家的自动化的基于处理器的代理)之间产生对话,其中通信设施129对交互进行分析,并且向商家提供关于如何改进销售的可能性的分析。
电子商务平台100可以诸如通过安全卡服务器环境来提供用于与客户进行安全的金融交易的金融设施120。电子商务平台100可以诸如在支付卡行业数据(PCI)环境(例如,卡服务器)中存储信用卡信息,以调和(reconcile)财务、为商家开账单、在电子商务平台100金融机构账户和商家的对开账户(back account)之间执行自动化清算所(clearinghouse)(ACH)转账(例如,当使用资本时)以及诸如此类。这些系统可以具有Sarbanes-OxleyAct(SOX)遵从和在其开发和操作中所需要的高级别的勤奋。金融设施120还可以诸如通过资本的借贷(例如,借贷资金、预付现金以及诸如此类)和保险的提供为商家提供金融支持。另外,电子商务平台100可以提供营销和合作伙伴服务的集合,并且控制电子商务平台100和合作伙伴之间的关系。它们还可以将新的商家与电子商务平台100连接并且利用电子商务平台100支持(onboard)新商家。这些服务可以通过使商家更容易跨电子商务平台100工作来使能商家成长。通过这些服务,可以经由电子商务平台100为商家提供帮助设施。
在实施例中,在线商店138可以支持大量独立管理的店面并且每天为各种各样的产品处理海量交易数据。交易数据可以包括客户联系信息、账单信息、装运信息、关于所购买的产品的信息、关于所提供的服务的信息、以及与通过电子商务平台100的业务相关联的任何其他信息。在实施例中,电子商务平台100可以将该信息存储在数据设施134中。可以对交易数据进行处理以产生分析132,所述分析132继而可以被提供给商家或者第三方商务实体,诸如提供通过仪表板接口、通过报告以及诸如此类提供的并且与在线商务相关的客户趋势、营销和销售见解、用于改进销售的推荐、对客户行为的评估、营销和销售建模、欺诈趋势以及诸如此类。电子商务平台100可以存储与业务和商家交易相关的信息,并且数据设施134可以具有增强、贡献、提炼以及提取数据的许多方式,其中随着时间,所收集的数据可以使能对电子商务平台100的方面的改进。
再次参考图1,在实施例中,电子商务平台100可以被配置有用于内容管理、任务自动化以及数据管理的商务管理引擎136,以使能对多个在线商店138的支持和服务(例如,与产品、库存、客户、订单、合作、供应商、报告、金融、风险与欺诈以及诸如此类相关),但是所述引擎是通过应用142A-B可扩展的,应用142A-B使能用于适应日益增长的各种商家在线商店、POS设备、产品、以及服务所要求的更大的灵活性和定制过程,其中应用142A可以在电子商务平台100的内部提供,或者可以从电子商务平台100的外部提供给应用142B。在实施例中,可以由提供平台100的相同方或者由不同方来提供应用142A。在实施例中,可以由提供平台100的相同方或者由不同方来提供应用142B。商务管理引擎136可以被配置用于通过诸如通过客户标识符、订单标识符、在线商店标识符以及诸如此类对功能和数据的划分(例如,切分(sharding))的灵活性和可扩展性。商务管理引擎136可以适应商店特定的业务逻辑,并且在一些实施例中,可以合并管理器114和/或在线商店138。
商务管理引擎136包括电子商务平台100的基础或者“核心”功能,并且这样,如在此描述的那样,并非所有支持在线商店138的功能可能都适合于包括。例如,用于包括到商务管理引擎136中的功能可能需要超过核心功能性阈值,通过该阈值可以确定功能是商务体验的核心(例如,对于诸如跨渠道、管理器接口、商家位置、行业、产品类型以及诸如此类的大多数在线商店活动是共有的),是跨在线商店138可重用的(例如,跨核心功能可被重用/修改的功能),被限制于一次单个在线商店138的上下文(例如,实现在线商店“隔离原则”,其中代码不应当能够一次与多个在线商店138进行交互,确保在线商店138不能访问彼此的数据),提供交易工作量以及诸如此类。保持对实现什么功能的控制可以使得商务管理引擎136能够保持响应性,因为许多所要求的特征由商务管理引擎136直接提供或者通过接口140A-B被使能,诸如通过经由到应用142A-B和渠道110A-B的应用编程接口(API)连接的其扩展,其中接口140A可以被提供给在电子商务平台100内部的应用142A和/或渠道110A或者通过接口142B被提供给在电子商务平台100外部的应用142B和/或渠道110B。一般而言,平台100可以包括促进与其他平台、系统、软件、数据源、代码以及诸如此类的连接和通信的接口140A-B(其可以是扩展、连接器、API以及诸如此类)。这样的接口140A-B可以是商务管理引擎136的接口140A或者更一般地是平台100的接口140B。如果没有给予限制商务管理引擎136中的功能性的关注,则可能诸如通过经由缓慢的数据库或者非关键性的后端故障的基础设施降级、通过诸如数据中心离线的灾难性的基础设施故障、通过被部署的与预期相比花费更长时间来执行的新代码以及诸如此类来危及响应性。为了防止或者减轻这些情况,商业管理引擎136可以被配置为诸如通过利用用以防止降级的超时、队列、背压(backpressure)的配置以及诸如此类来维持响应性。
虽然隔离在线商店数据对于维持在线商店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显现(surface))为商家创建新的流程以及诸如此类。商家可以被使能以通过应用搜索、推荐、以及支持128来发现并且安装应用142A-B。在实施例中,核心产品、核心扩展点、应用、以及管理器114可以被开发成一起工作。例如,应用扩展点可以被构建在管理器114内部,使得可以通过应用的方式扩展核心特征,应用可以通过扩展将功能性交付给商家。
在实施例中,应用142A-B可以通过接口140A-B将功能性交付给商家,诸如其中应用142 A-B能够将交易数据显现给商家(例如,App:“引擎,使用嵌入式app SDK在移动和web管理中显现我的app数据”),和/或其中商务管理引擎136能够要求应用根据需求执行工作(引擎:“App,给我针对该结账的地方税计算”)。
应用142A-B可以支持在线商店138和渠道110A-B、提供商家支持、与其他服务集成以及诸如此类。在商务管理引擎136可以向在线商店138提供服务的基础的情况下,应用142A-B可以为商家提供满足具体和有时候是独特的需求的方式。不同的商家将具有不同的需求,并且因此可以受益于不同的应用142A-B。可以通过使得能够根据应用为商家执行的功能的类型标记应用的应用分类法(taxonomy)(类别)的开发;通过支持搜索、排名和推荐模型的应用数据服务;通过诸如应用商店、主页信息卡、应用设置页面的应用发现接口;以及诸如此类通过电子商务平台100更好地发现应用142A-B。
应用142A-B可以通过接口140A-B连接到商务管理引擎136,诸如利用API来将通过商务管理引擎136可用并且在商务管理引擎136内的功能性和数据暴露给应用的功能性(例如,通过REST、GraphQL以及诸如此类)。例如,电子商务平台100可以将API接口140A-B提供给面向商家和合作伙伴的产品和服务,诸如包括应用扩展、过程流程服务、面向开发者的资源以及诸如此类。在客户更频繁地将移动设备用于购物的情况下,与移动使用相关的应用142A-B可以受益于对API的更广泛的使用,以支持相关的成长的商务流量。通过对应用和API的使用而提供的(例如,如为了应用开发而提供的)灵活性使得电子商务平台100能够更好地适应商家(以及通过内部API的内部开发者)的新的和独特的需要,而不要求对商务管理引擎136的持续的改变,因此在商家需要其的时候为商家提供他们需要的东西。例如,可以通过装运或者承运人服务API将装运服务122与商务管理引擎136集成,因此使得商务平台100能够提供装运服务功能性而不直接影响商务管理引擎136中运行的代码。
通过让合作伙伴通过应用开发改进并且扩展商家工作流程可以解决许多商家的问题,诸如与后勤(back-office)操作相关联的问题(面向商家的应用142A-B)以及在在线商店138中的问题(面向客户的应用142A-B)。作为开展业务的一部分,许多商家每天将将移动和web相关应用于后勤任务(例如,推销、库存、折扣、履行以及诸如此类)以及在线商店任务(例如,与他们的在线店铺相关的应用,用于限时抢购、新产品推出以及诸如此类),其中应用142A-B通过扩展/API 140A-B有助于使得产品在快速成长的市场中易于被查看并且购买。在实施例中,合作伙伴、应用开发者、内部应用设施以及诸如此类可以配备有软件开发套件(SDK),诸如通过在管理器114内创建沙盒化(sandbox)应用接口的框架。在实施例中,管理器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相关联低使用以及诸如此类的),或者应用142A或者142B由与电子商务平台100相关联的内部个人资源开发。在实施例中,应用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或者web站点或者与移动设备相关的应用)、运行他们的业务(例如,通过与POS设备相关的应用)、使他们的业务成长(例如,通过与装运(例如,代发货(dropshipping)相关的应用、自动代理的使用、过程流程开发和改进的使用)以及诸如此类。集成应用可以包括如下应用,所述应用提供参与业务的运行的有用集成,诸如装运提供商112和支付网关。
在实施例中,应用开发者可以使用应用代理来从外部位置取数据并且将其显示在在线商店138的页面上。在这些代理页面上的内容可以是动态的、能够被更新以及诸如此类。应用代理对于显示图像图库(gallery)、统计、定制表单以及其他种类的动态内容而言可以是有用的。电子商务平台100的核心应用结构可以虑及将在应用142A-B中构建的越来越多的商家体验,使得商务管理引擎136可以保持专注于更常用的商务的业务逻辑。
电子商务平台100通过使得商家能够以灵活并且透明的方式与客户连接的经策划的(curated)系统架构来提供在线购物体验。可以通过实施例示例购买工作流程来更好地理解典型的客户体验,其中客户在渠道110A-B上浏览商家的产品,诸如经由增强现实应用来评估一个或多个产品,将他们有意图购买的东西添加到他们的购物车,继续进行结账,并且为他们的购物车的内容进行支付,导致商家的订单的创建。然后,商家可以复查并且履行(或者取消)订单。然后,产品被递送给客户。如果客户不满意,则他们可能将产品返还给商家。
在示例实施例中,客户可以在渠道110A-B上浏览商家的产品。渠道110A-B是其中客户可以查看、评估并且购买产品的地方。在实施例中,渠道110A-B可以被建模为应用142A-B(可能的例外是在线商店138,其被集成在商务管理引擎136内)。推销部件可以允许商家描述他们希望销售什么以及他们在哪里销售它。在产品和渠道之间的关联可以被建模为产品发布,并且由渠道应用诸如经由产品列表API进行访问。产品可以具有许多选项,如大小和颜色,以及将可用选项扩充成所有选项的特定组合的许多变体,如特小的和绿色的变体,或者大尺寸的和蓝色的变体。产品可以具有至少一种变体(例如,“默认变体”是为没有任何选项的产品创建的)。为了促进浏览和管理,可以将产品分组为集合、为产品提供产品标识符(例如,库存单位(SKU))以及诸如此类。可以通过将产品手动分类成一类(例如,定制集合)、通过构建用于自动分类的规则集(例如,智能集合)以及诸如此类来构建产品的集合。可以通过虚拟或者增强现实接口或者应用以及诸如此类将产品作为2D图像、3D图像、旋转视图图像进行查看。
在实施例中,客户可以将他们意图购买的事物添加到他们的购物车(在替代实施例中,产品可以被直接购买,诸如通过如在此描述的购买按钮)。客户可以将产品变体添加到他们的购物车。购物车模型可以是渠道特定的。在线商店138购物车可以由多个购物车行项构成,其中每个购物车行项跟踪针对产品变体的量。商家可以使用购物车脚本基于客户的购物车的内容来向客户提供特别促销。由于将产品添加到购物车并不暗示来自客户或者商家的任何承诺,并且购物车的预期寿命可能是大约数分钟(而不是数天),所以购物车可能被保持到短暂的数据存储。
然后客户继续进行结账。结账部件可以将web结账实现为面向客户的订单创建过程。结账API可以被提供为面向计算机的订单创建过程,一些渠道应用使用该过程来代表客户(例如,针对销售点)创建订单。可以根据购物车创建结账,并且记录客户的信息,诸如邮件地址、账单以及装运详情。在结账时,商家承诺定价。如果客户输入他们的联系信息但是不继续进行支付,则电子商务平台100可以提供重新吸引(reengage)客户的机会(例如,在放弃的结账特征中)。出于那些原因,结账可以具有与购物车长得多的寿命(数个小时或者甚至数天),并且因此被保持。结账可以基于客户的装运地址来计算税款和装运成本。结账可以将税款的计算委托给税款部件并且将装运成本的计算委托给递送部件。定价部件可能使得商家能够创建折扣代码(例如,在结账时输入的将新的价格应用到结账中的项目的“秘密”字符串)。折扣可以被商家用来吸引客户并且评估营销活动的表现。可以诸如通过价格规则(例如在满足时意味着权利的集合的先决条件的集合)来在相同平台件的顶部上实现折扣和其他定制价格系统。例如,先决条件可以是诸如“订单小计大于
Figure DEST_PATH_IMAGE001
”或者“装运成本在
Figure 493832DEST_PATH_IMAGE002
之下”之类的条款,并且权利可以是诸如“整个订单20%的折扣”或者“产品X、Y以及Z减去
Figure DEST_PATH_IMAGE003
”之类的条款。
然后,客户对其购物车的内容进行支付,导致针对商家的订单的创建。渠道110A-B可以使用商务管理引擎136来移动去往并且来自客户和商家的钱、货币或者值的存储(astore of value)(诸如美元(dollar)或者加密货币)。与各种支付提供商(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关以及诸如此类)的通信可以在支付处理部件中实现。与支付网关106的实际交互可以通过卡服务器环境来提供。在实施例中,支付网关106可以接受国际支付,诸如与主要的(leading)国际信用卡处理器集成。卡服务器环境可以包括卡服务器应用、卡接收器(card sink)、主管领域(hosted fields)以及诸如此类。该环境可以充当敏感信用卡信息的安全看门人。在实施例中,大多数过程可以由支付处理作业来进行协调(orchestrate)。商务管理引擎136可以诸如通过异地(offsite)支付网关106(例如,其中客户被重新导向到另一个web站点)、手动(例如,现金)、在线支付方法(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关以及诸如此类)、礼品卡以及诸如此类支持很多其他支付方法。在结账过程的结束时,创建订单。订单是在商家和客户之间的销售的合同,其中商家同意提供在订单上列出的货物和服务(例如,订单行项目、装运行项目以及诸如此类)并且客户同意提供支付(包括税款)。可以在销售部件中对该过程建模。不依赖于商务管理引擎136结账的渠道110A-B可以使用订单API来创建订单。一旦订单被创建,就可以将订单确认通知发送给客户,并且经由通知部件将下订单通知发送给客户。当支付处理作业开始时,可以预留库存,以避免过度销售(例如,商家可以根据每个变体的库存策略来控制该行为)。库存预留可能具有短的时间跨度(数分钟)并且可能需要非常快并且可放缩,以支持限时抢购(例如,在短时间内提供的折扣或者促销,诸如以冲动购买为目标)。如果支付失败,则预留被释放。当支付成功并且创建了订单时,预留被转换成分配给特定位置的长期库存承诺。库存部件可以记录变体囤积于何处,并且跟踪使能了库存跟踪的变体的量。可以将产品变体(表示产品列表的模板的面向客户的概念)与库存项目(面向商家的概念,表示管理其量和位置的项目)解耦合。库存水平部件可以保持对如下内容的跟踪:可用于销售、承诺给订单或从库存转移部件(例如,从供应商)传入的量。
然后,商家可以复查并且履行(或者取消)订单。复查部件可以实现业务过程商家的用途,以在实际履行订单之前确保订单是适合于履行的。订单可能是欺诈性的、要求验证(例如,ID检查)、具有要求商家等待以确保他们将接收到他们的资金的支付方法以及诸如此类。风险和建议可以被保持在订单风险模型中。订单风险可能是从欺诈检测工具生成的、由第三方通过订单风险API提交的以及诸如此类。在继续履行之前,商家可能需要捕捉支付信息(例如,信用卡信息)或者等待接收到它(例如,经由银行转账、支票以及诸如此类)并且将订单标记为已支付。商家现在可以准备产品以用于进行递送。在实施例中,该业务过程可以由履行部件来实现。履行部件可以基于库存位置和履行服务将订单的行项目分组为逻辑履行工作单元。商家可以复查、调整工作单元,并且诸如通过在商家挑选产品并且将产品包装在盒子中时使用的手工履行服务(例如,在商家管理的位置处)触发相关的履行服务、购买装运标签并且输入其跟踪号码、或者仅将该项目标记为已履行。定制履行服务可以发送电子邮件(例如,不提供API连接的位置)。API履行服务可以触发第三方,其中第三方应用创建履行记录。旧有履行服务可以触发从商务管理引擎136到第三方的定制API调用(例如,由Amazon履行)。礼品卡履行服务可以提供(例如,生成号码)并且激活礼品卡。商家可以使用订单打印机应用来打印包装单(packing slip)。可以在项目被包装在盒子中并且准备好进行装运、已装运、跟踪、递送、验证为已经由客户接收以及诸如此类时执行履行过程。
如果客户不满意,他们可能能够将(一个或多个)产品返还给商家。商家可能经历的“取消销售(un-sell)”项目的业务过程可以由返还部件来实现。返还可以由各种各样的不同动作构成,各种各样的不同动作诸如是重新囤货(restock),其中曾被销售的产品实际上回到了业务中,并且是可再次销售的;退款,其中从客户处收取的钱被部分或者全部返还;会计调整,其指示退款了多少钱(例如,包括是否存在任何重新囤货费用,或者没有被返还并且保留在客户手中的货物);以及诸如此类。返还可以表示对销售的合同(例如,订单)的改变,并且其中电子商务平台100可以使商家意识到关于法律义务的遵从性问题(例如,关于税款)。在实施例中,电子商务平台100可以使得商家能够保持对销售的合同随时间的改变的跟踪,诸如通过销售模型部件来实现(例如,仅追加的基于日期的账本(ledger),其记录对项目所发生的与销售相关的事件)。
在实施例中,电子商务平台100可以提供增强现实应用,用于准许客户在客户环境中将各种产品作为虚拟对象查看。特别地,电子商务平台100可以向用户提供用以与(在图3中示出的)增强现实应用300进行交互的选项,这允许客户用户或者商家用户选择希望的项目以用于在客户提供的一个或多个图像中作为虚拟对象进行查看。在实施例中,可以提供增强现实应用,以允许在客户设备和商家设备之间的直接交互。为了便于讨论,引用了客户和商家,然而,在实施例中,要理解的是本公开适用于任何两个用户(无论是商家还是客户)和/或设备。
例如,可以使得对商家产品感兴趣的客户能够上传或者分享客户的环境的一个或多个图像,其中,在此并且贯穿本公开,一个或多个图像可以是单个图像、单独的图像的集合、或者视频图像的集合。可以记录、从存储装置上传,或者实时捕捉并且分享一个或多个图像。作为示例,对花瓶感兴趣的客户可以使用客户的移动计算设备上的照相机来捕捉架子的集合的一个或多个图像,或者从各种视点捕捉架子的视频来分享在客户的起居室中的架子的集合的一个或多个图像,其中该视频可以被实时流式传输,并且增强现实应用可以操作以利用花瓶的虚拟对象来增强客户提供的一个或多个图像,使得可以创建描绘在架子中的一个上的花瓶的增强的一个或多个图像。增强的一个或多个图像可以被创建并且然后被显示在客户计算设备上(经由web浏览器或者应用接口或者诸如此类),并且可选地还可以被类似地显示在商家的计算设备上。客户或者商家经由他们的相应计算设备可能能够提供诸如触屏输入、鼠标定位或者诸如此类的控制信号,以诸如经由拖放动作或者其他已知的操纵来定位或者重新定位花瓶。例如,花瓶最初可以被拖放在所选择的架子上的位置处,然后在相同的或者不同的架子上或者在另一表面上被重新定位和/或重新定向。客户提供的客户环境的一个或多个图像可以从房间中的各种视点描绘架子的集合,允许在增强的图像、图像的集合或者视频中对在架子上的各种位置处的花瓶的不同视角进行查看。
在另一个示例中,可以使得对诸如冰箱之类的商家产品感兴趣的客户能够上传或者分享(可能实时地)客户的厨房的一个或多个图像,并且增强现实应用可以操作来为客户提供替代现有冰箱的虚拟冰箱或者在被提供用于冰箱的空间中为客户提供虚拟冰箱。增强的一个或多个图像可以被显示在客户计算设备上以及显示在商家的计算设备上。客户或者商家经由他们相应的计算设备可能能够提供诸如触屏输入或诸如此类的控制信号,以操纵并且移动虚拟冰箱或者虚拟冰箱的各种部件,诸如以保证没有将冰箱移动到希望的空间中的障碍,或者通过打开以及关闭冰箱的各种门或者抽屉来图示冰箱的各种特征。客户提供的客户厨房的一个或多个图像以及增强的客户厨房可以采取如下形式:单个图像、图像的集合或者整个厨房的视频,包括周围的入口、门、柜台以及其他器械,虑及对冰箱的大小、适合度以及特征的评估。
在另一个示例中,多方可以合作来为客户显示不同的产品。例如,客户可能想要对于房间的设计想法并且家居商家可以与内部设计师合作来展示针对客户环境的各种产品、涂饰想法、布置以及诸如此类。可能使得客户能够上传或者分享(可能是实时的)客户的餐厅的一个或多个图像(包括视频或者视频流),并且增强现实应用可以使能与诸如家具顾问和艺术顾问之类的家居商家以及一个或多个内部设计师的合作。例如,家具顾问和艺术顾问可以一起操作来为客户提供各种设计布置,所述设计布置包括餐桌、各种餐椅、吊灯、地毯、碗架、装裱的艺术品、雕塑、墙漆颜色以及诸如此类。顾问可以操作以在相同的时间或者相继地添加不同的虚拟对象。各种设计布置可以被同时或者异步地呈现为显示在客户计算设备上、显示在商家的计算设备上以及显示在内部设计师的计算设备上的增强图像。还可以将增强图像诸如在用于同客户相关联的另一方的单独设备上与同客户相关联的另一方分享,同客户相关联的另一方诸如是家庭成员或者朋友。客户、其他方、商家、或者一个或多个内部设计师经由他们相应的计算设备可能能够提供诸如触屏输入或诸如此类的控制信号,以同时或者异步地改变、操纵、和/或移动所呈现的各种部件。在示例中,内部设计师的团队可以同时工作以在客户环境中定位各种家具并且然后将各种布置呈现给客户,客户可以稍后查看这些布置。与客户相关联的另一方可以在与客户相同的时间或者不同的时间处在他的计算设备上单独查看布置,并且可以通过提供一个或多个新客户提供的图像使两者能够当在实际客户环境中时从各种角度查看增强的设计布置,其中关于新图像对虚拟对象相应地调整大小、定位和定向。餐厅的客户提供的一个或多个图像和增强的餐厅的可以采取如下形式:单个图像、图像的集合或者整个餐厅的视频,包括周围的入口、窗户、门以及诸如此类,虑及对各种家具和布置的展示和评估。
利用这样的增强现实应用,客户将对提供环境的什么部分作为用于虚拟对象的背景行使控制,并且可以对虚拟对象的希望的定位/定向行使控制。此外或者在替代中,商家或者其他实体可以对虚拟对象的希望的定位/定向行使控制。增强现实应用将为客户提供用以评估和与各种产品交互的新方式,并且为商家提供用以展示这些产品的各种特征的能力,以及部分地通过展现产品对于特定客户位置的适用性来激发对于这些产品的渴望。
图3描绘了用于在一个或多个图像中叠加虚拟对象的应用300的实施例。用于该应用的计算和通信部件可以存在于各种位置处,诸如在客户计算设备310处、在商家计算设备320处、在单独的服务器处和/或在电子商务平台100处,并且该应用可以作为电子商务平台100的一部分存在或者存在于电子商务平台100的外部。可以在各种位置中复制应用部件。应用部件可以包括被使能接收来自客户计算设备的一个或多个客户图像的接口模块,其中一个或多个客户图像中的每个描绘客户环境、接收对用于显示的商品的选择、接收对应于在客户环境中的虚拟对象的希望的位置的定位或者重新定位信号。应用部件可以包括包含处理引擎和存储装置的计算模块,以通过如下内容来执行与确定3D特征点和3D特征数据相关的处理:评估一个或多个客户提供的图像和其他数据,检索、创建对应于所选择的项目(诸如商家产品)的虚拟对象并且重新调整对应于所选择的项目(诸如商家产品)的虚拟对象的大小,诸如通过在一个或多个客户提供的图像(其可以从存储装置提供的或者实时地提供,例如作为实时视频流提供)中的所选择或者所确定的位置处叠加虚拟对象来创建增强的图像、图像的集合或者视频,以及在客户提供的图像中的一个或多个图像中对虚拟对象或者虚拟对象的组成部分移动、重新定位、定向、重新定向、调整大小或者重新调整大小。在实施例中,3D特征数据可以包括照相机位置、照相机定向(包括但是不限于旋转、角度、翻滚、伽马、偏向、阿尔法、俯仰、贝塔以及诸如此类)、任何检测的表面、对象或者特征的位置、那些表面、对象或者特征的大小和定向、平面、与AR相关的元数据以及诸如此类。在实施例中,3D特征数据可以与图像或者一系列图像相关联,例如以等于视频的帧速率(诸如每秒60帧)的速率捕捉所述图像或者一系列图像。在实施例中,具有描绘所选择的商家产品的虚拟对象的一个或多个图像的增强现实可以被显示在客户计算设备和商家计算设备两者(以及其他计算设备)上,并且可以使得客户和商家两者(以及其他人)能够控制在客户提供的一个或多个图像中的虚拟对象的移动、大小调整以及定向。这样,客户环境的3D模型不是必要的,并且诸如经由捕捉针对商家产品的潜在场所的一个或多个图像的客户计算设备上的照相机来提供如客户希望的客户环境的那些部分。在实施例中,可以使用对等类型架构。在实施例中,可以使用屏幕镜像,使得客户计算设备或者其他计算设备处的显示器在商家计算设备或者另一计算设备中被镜像。
如在图4a-b中图示的那样,用于利用描绘一个或多个所选择的商家产品的一个或多个虚拟对象来增强一个或多个客户提供的图像的示例性过程400可以包括以下步骤。在实施例中,电子商务平台100可以被配置为经由图形用户接口为用户提供用以与增强现实应用300进行交互的功能性。例如,在步骤410处,应用诸如经由图形用户接口从客户用户接收针对增强现实的客户请求。在示例中,客户用户或者商家可以选择要被作为虚拟对象查看的希望的商家产品,这触发了对应用的请求。此外或在替代中,在步骤420处,应用可以经由图形用户接口将指令呈现给客户用户,以捕捉和/或上传针对希望的商家产品描绘希望的客户环境的一个或多个图像或者视频。指令可以包括关于提供一个或多个图像中的一个或多个项目的一个或多个尺寸的信息(例如,指示客户提供在架子的集合中的架子之间的尺寸的指示,或者提供冰箱可以插入其中的厨房中的缺口(cutout)空间的宽度、高度以及深度尺寸)。指令可以附加地请求关于要被增强的一个或多个图像中的虚拟对象表示的商家产品的希望的位置的信息。存在其他可能性。例如,在其他实施例中可以省略步骤410和步骤420。
在步骤430处,增强现实应用300可以接收包括描绘客户的环境的一个或多个图像的客户提供的视频、图像的集合或者图像(诸如以压缩或者未压缩的状态)。应用还可以接收关于在客户环境中描绘的所标识的和所标记的项目之间的尺寸(诸如在架子之间的尺寸或者用于冰箱的缺口空间的大小)的数据,或者应用可以基于所选择的产品的大小来计算尺寸(即,应用假设用于所选择的冰箱的缺口空间的宽度尺寸对应于用于销售的所选择的冰箱的宽度尺寸,或者否则诸如基于参考对象或者捕捉图像的照相机的性质来计算所述尺寸。应用还可以接收关于商家产品的初始希望的放置的信息,或者可以基于商家产品的性质或者类型以及关于所接收的图像中的一个或多个图像中操作的对象识别算法来确定初始放置(例如,表示所选择的冰箱的初始放置是在厨房的图像中识别的确定缺口之内)。
在步骤440处,检索或者创建对应于商家产品的虚拟对象。例如,对应于商家产品的3D模型可以被存储在电子商务平台(或者别处)的库中或者可以检索并且操纵来自各种视角的产品的多个2D图像以用已知的方式创建适当的虚拟对象。
在步骤450处,应用可以诸如从客户计算设备或者从商家计算设备接收定位信号,其中定位信号指示在客户环境中的虚拟对象或者虚拟对象的组成部分的希望的定位,如在一个或多个客户提供的图像中表示的那样。
在步骤460处,应用操作以确定虚拟对象关于在客户提供的一个或多个图像中描绘的一个或多个确定位置的适当的大小、定向和/或位置。这可以通过如下内容来发生:确定在示出客户提供的图像的显示器上的用户的触屏输入信号与一个或多个对应图像中的对应距离之间的对应关系,使得可以确定虚拟对象或者虚拟对象的组成部分应当移动到的或者关于其定向的位置。
在步骤470处,可以通过在确定的位置处叠加虚拟对象或者虚拟对象的组成部分来实时地创建增强的一个或多个图像,或者可以确定对应于虚拟对象关于先前的位置和/或定向应当在一个或多个尺寸中移动的量的德尔塔。还可以提供虚拟对象的新的大小信息。德尔塔信息和/或附加的调整大小信息可以被传送回到商家和/或客户计算设备,并且在计算设备处在显示的图像帧中相应地调整的虚拟对象。在实施例中,在此描述的,包括关于图4a-b描述的步骤中的任何一个或者任何组合可以由在此描述的设备和软件元素中的任何一个或多个执行。
图5a-b描绘了用于利用虚拟对象来增强客户提供的图像的示例性过程500,该示例性过程500与示例性过程400类似,但是包括被配置用于确定对应于图像中的一个或多个项目的3D特征数据的软件。这样的软件对于计算设备而言可以是原生的(native)或者向其添加的。例如,软件可以与具有照相机和其他现有传感器(运动传感器、陀螺仪、加速度计等)的计算设备结合地使用,以便定义坐标系,并且使用所定义的坐标系来跟踪在不同的所获取的图像之间的照相机的位置和定向的改变。以这样的方式,每个所获取的图像在所定义的坐标系中与照相机的对应的位置和定向相关联。例如,软件(之后还被称为“AR软件”)可以确定所定义的坐标系(例如,x、y、z笛卡尔坐标系),所述坐标系具有其原点(0,0,0),其原点(0,0,0)对应于获取第一个图像时用于获取图像的计算设备照相机所位于的位置。结合传感器数据的AR软件使能对照相机相对于所定义的坐标系的位置和定向的跟踪。
进一步地,AR软件还可以确定所捕捉的图像中的项目或者各方面的平面表面或其他特征的存在。例如,这样的AR软件工具可以存在于客户计算设备上并且可以虑及要被识别的诸如边缘之类的特征点,使得图像中的平面表面(例如,架子、桌子、地毯、柜台、壁以及诸如此类)可以被简单地以及容易地确定。与图像中的项目相关的该3D特征数据对于计算虚拟对象关于所定义的坐标系的位置和定向而言是有用的。该3D特征数据还可以被用于关于另一个图像重新校准一个图像,诸如其中计算设备位于客户环境中并且获取第二图像,所述第二图像需要利用所定义的坐标系和在特定位置处的原点关于第一图像被定向,或者在不同的时间点处被移动到不同的物理位置并且需要关于在另一时间点处使用的坐标系被定向。3D特征数据可以或可以不被传送到商家计算设备或电子商务平台。如在此描述的那样,使用来自AR软件的数据的应用的部件可以位于各种位置处,诸如位于客户计算设备处、位于商家计算设备处、位于远程服务器处或者位于这些位置的任何组合处,并且总体架构可能是对等的或者涉及服务器或者云计算资源。
所获取的AR数据可以包括相对于由软件检测的表面的原点的照相机位置和定向以及那些所检测的表面的大小和定向。例如,如果客户提供的图像描绘了具有咖啡桌的起居室,则AR数据可以包括桌子的尺寸和其表面相对于确定的坐标系的定向。如果客户想要查看客户环境中的增强图像,但是使用新的图像,则使得AR软件能够标识新的图像中的3D特征点,并且诸如通过至少部分地使用先前的图像的3D特征数据来关于先前的图像的所定义的坐标系对齐(line up)新图像。
电子商务平台100可以被配置为经由图形用户接口来为用户提供用以与增强现实应用300进行交互的功能性。例如,在步骤510处,增强现实应用可以经由诸如浏览器之类的图形用户接口从客户用户接收对于增强现实的客户请求。在该示例中,商家可以经由诸如浏览器之类的对应图形用户接口选择要被作为虚拟对象查看的一个或多个希望的商家产品,这触发了对应用的请求。在其他实施例中,客户可能选择要查看的一个或多个希望的产品,或者其他方可以选择要被作为一个或多个虚拟对象查看的一个或多个产品。
此外或替代地,在步骤520处,应用可以经由图形用户接口将指令呈现给客户用户,以捕捉和/或上传针对希望的商家产品描绘希望的客户环境的图像或者图像的集合。客户用户可以使用客户计算设备的照相机来捕捉一个或多个离散的图像,可以通过拍摄客户场所的视频来获取图像的集合,和/或可以使用所捕捉的视频来选择客户场所的一个或多个单独的图像。指令可以包括关于使用AR软件来获取关于图像中的平面表面或者其他项目或者特征的3D特征数据的信息。指令可以附加地请求关于在增强的一个或多个图像中将由虚拟对象表示的商家产品的希望的位置的信息。存在其他可能性。例如,可以在其他实施例中省略步骤510和/或步骤520。
在步骤530处,在客户计算设备处或者别处(诸如使用服务器、云计算资源或者在商家设备上)由AR软件来处理描绘客户的环境的客户提供的图像或者图像的集合,以便确定图像中所标识的项目的3D特征数据。AR软件或者应用还可以关于定义的坐标系计算图像中的尺寸。应用还可以接收关于商家产品的初始希望的放置的信息,或者可以基于商家产品的性质或者类型以及关于一个或多个客户提供的图像操作的对象识别算法来确定初始放置(例如,虚拟对象的初始放置表示所选择的冰箱在厨房的图像中识别的确定的缺口内)。可以由商家、由客户、或者由与商家和/或客户一起工作的另一顾问(例如,内部设计师)来提供希望的初始放置。
在步骤540处,检索或者创建对应于商家产品的虚拟对象。例如,对应于商家产品的3D模型可以被存储在电子商务平台(或者别处)中的库中,或者可以检索并且操纵来自各种视角的产品的多个2D图像以用已知的方式来创建适当的虚拟对象。
在步骤550处,应用可以诸如从客户计算设备或者从商家计算设备或者从另一设备接收定位信号,其中定位信号指示在客户环境中虚拟对象或者虚拟对象的组成部分的希望的位置和/或大小和/或定向,如在一个或多个客户提供的图像中表示的那样。
在步骤560处,应用操作以确定虚拟对象关于客户提供的一个或多个图像中描绘的一个或多个所确定的位置以及关于3D特征数据的方面的适当的大小、定向以及位置。如在此充分解释的那样,该步骤将所接收的定位信号以及3D特征数据考虑在内,以便确定在何处定位表面上的虚拟对象或者图像中的项目。此外,该步骤可以确定在客户提供的图像的显示器上的用户触屏输入信号与在对应的一个或多个图像中的项目的距离之间的对应关系,使得可以确定虚拟对象或者虚拟对象的组成部分应当移动到的或者关于其定向的位置。在实施例中,两个或者更多用户可以在相同会话期间(经由他们相应的设备)将不同的对象添加和/或定位到图像。这可以同时或者相继地发生。
在步骤570处,可以通过在客户提供的图像的确定位置处叠加虚拟对象或者虚拟对象的组成部分以及将增强图像或者图像的集合显示在客户计算设备上来实时或者异步地创建增强图像或者图像的集合。在实施例中,可以确定对应于虚拟对象在确定的坐标系中关于先前的位置应当在一个或多个尺寸中移动的量的德尔塔。德尔塔信息可以被传送回到商家和/或另一用户和/或传送回到客户计算设备,并且在计算设备中的一个或者两个处在所显示的图像中相应地调整虚拟对象。在实施例中,使用AR应用的不同模块或者部件在客户计算设备上创建增强的图像并且在客户计算设备上显示所述增强的图像。在实施例中,在此描述的、包括关于图5a-b描述的步骤中的任何一个或者任何组合可以由在此描述的设备和软件元素中的任何一个或多个来执行。
此外,关于给定的图像、图像的集合或者空间,可以发生不止一个会话,其中每个会话可以涉及不同的对象和/或那些对象的不同位置。在实施例中,应用可以具有使能的模式之间的切换(toggle),使得包括3D特征数据的相同集合的两个或者更多不同版本可以被作为单独的版本维护或者可以被添加到一起。信息可以被标记为属于特定的会话。例如,艺术顾问可以呈现如下餐厅的版本,包括具有被标记到第一回话的虚拟艺术品对象的墙上的装裱的艺术品。家具顾问可以呈现如下餐厅的版本,包括地毯、餐桌以及椅子的集合,其中这些项目被标记到第二会话。在第一模式中,两个版本被单独地呈现,而在第二模式中,通过从两个会话拉入(pull in)标记数据,两个版本是加性的(additive),以呈现累积的视图。
例如,在其中客户计算设备获取一个或多个图像并且处理所述一个或多个图像以获取3D特征数据的场景中,图像和3D特征数据可以被传送到商家计算设备(或者传送到控制与商家计算设备通信的web站点的平台的服务器),使得商家计算设备或者服务器可以针对一个或多个图像中的虚拟对象计算适当的位置信息(即,大小、位置以及定向)。可以关于照相机的所确定的坐标系来确定虚拟对象的位置信息,这样的信息对于图像中的每个而言是可用的,并且对象的位置信息可以被发送回到客户计算设备,使得可以实现客户提供的图像中的每个中的虚拟对象的适当大小、位置以及定向。在实施例中,商家用户可以利用浏览器来访问平台的web站点,所述web站点具有JavaScript以确定客户用户何时上传了用户提供的图像。这样的web站点可以使用WebGL,这将虑及将在商家的浏览器中发生的3D渲染以便在捕捉对应的图像时基于与客户计算设备照相机具有相同位置和定向的“虚拟照相机”来重新创建客户情景。在重新创建的情景中的3D对象将具有与对应的图像中检测到的项目(诸如平面表面)相匹配的大小、位置以及定向。web站点可以将重新创建的虚拟情景叠加在对应图像的顶部上。商家用户可以将虚拟对象拖拽到该情景上。例如,web站点可以检测商家用户的鼠标何时在检测到的3D平面表面中的一个的顶部上,并且确定在所述表面上的对应坐标,以便将情景中的虚拟对象放置在对应位置处。web站点可以使用JavaScript将对象的坐标和类型发送回到客户计算设备,其中应用对一个或多个图像进行增强以具有希望的位置中的虚拟对象,并且一个或多个图像可以被一起(all at once)显示或者单独地显示在客户计算设备和商家计算设备中的一个或两个的显示器上。虚拟对象的显示和操纵可以在商家用户和客户用户之间实时地或异步地发生。
如果客户用户或者其他用户想要在客户环境中查看增强的图像,但是使用新的图像,则可以使AR软件能够在新图像中标识3D特征点并且将新图像关于先前图像的所定义的坐标系对齐。例如,客户或者其他用户可以打开AR应用并且从与第一图像不同的位置拍摄客户环境的第二图像,诸如远离第一位置几英尺,或者使用不同的计算设备拍摄客户环境的第二图像。可以使得应用能够从第二图像获得3D特征点并且应用将这些3D特征点基本上与第一图像的3D特征点对齐,使得将第一图像的所定义的坐标系定向到第二图像的所定义的坐标系。以此方式,可以使得AR应用能够适当地并且实时地在第二图像中定位虚拟对象。
在另一个示例中,如在图6中示出的那样,增强图像的(诸如在浏览器中的)示例性显示可以包括图像的集合。如所示出的那样,用户已经上传了来自不同的视点的咖啡桌的四个或者更多图像。每个图像已经与其对应的3D特征数据相关联,诸如对应的照相机位置和定向以及对应于咖啡桌的顶部的所标识的表面。位于客户环境外部并且已经接收到该数据的商家用户或者其他用户可以将花瓶移动到咖啡桌上的位置。在视图中的每个中复制花瓶的位置,使得其他图像也在相同位置中但是从不同的视点示出花瓶,并且可以显示增强的图像中的每个以便客户在相同时间或者稍后的时间查看并且也以便商家查看。然后客户用户可以在客户计算设备上显示的图像中的一个中重新定位虚拟花瓶,并且该花瓶的改变的位置被复制用于其他图像,因为在一个图像中移动虚拟花瓶将操作以在其他图像中的每个中以对应的方式移动花瓶。在实施例中,这可以以交互的方式或者异步地完成。在实施例中,需要分享仅一个具有对应的3D特征数据的图像来实现在此描述的功能性。
在用例的实施例中,潜在客户可以使用使能AR的设备从不同的角度拍摄其咖啡桌的照片。另一用户—内部设计师—可以在浏览器中查看咖啡桌的照片并且可以将虚拟对象(诸如3D对象)拖拽到照片中,并且产品将以正确的距离和视角跨所有图像同步并且同时地出现在图像中。潜在的客户还可以看到虚拟对象出现在图像中,而且还出现在AR中,其中他们可以到处走动以从不同角度观看合适位置的虚拟对象。在另一个实施例中,潜在的客户可以稍后将其他虚拟对象放置在图片中,但是不必在那是时具有对具有咖啡桌的实际空间的访问,而是使用先前所捕捉的图像。这可以使用浏览器扩展来完成。此外,如下可能是可能的:令多个浏览器窗口打开,具有在每个浏览器窗口上实时反映的改变,这虑及事实合作。在实施例中,如下可能是可能的:进行竞赛,例如在分享空起居室的图像(连同相关联的3D特征数据)的情况下,竞赛者可以利用虚拟对象装饰空间并且将他们的创建与其他参与者分享。
在实施例中,可能仅需要在设备之间传输对应于客户获取的图像或者图像的集合的少量数据,减少带宽要求并且加速处理。在实施例中,可以传输针对虚拟对象的完整的或者部分坐标、定位和定向数据。在实施例中,图像的集合中的空间可以被映射到真实的坐标系上并且被用于跟踪虚拟对象。在其他实施例中,可以关于图像的集合中的另一对象或者参考点来跟踪虚拟对象的位置,并且虚拟对象的位置改变可以简单地作为关于该对象或者参考点相对于图像的集合的位置改变被跟踪,与相对于如在上面描述的完整的或者部分的坐标相比要求传输更少的数据。在实施例中,当从没有捕捉图像的设备操纵虚拟对象的位置或者方面时,将虚拟对象组成视频流用于传输相反,这样的设备可能仅需要传输位置改变,减少了要被传输的数据量。在实施例中,未捕捉图像的设备可以简单地传输用户输入,并且这样的输入被映射到捕捉图像的设备或者另一设备上,以表示在这样的设备上被处理以操纵虚拟对象的原生输入,这可以进一步减少要被传输的数据。例如,这样的数据可以包括指令类型(诸如添加对象或者移动对象)、对象的身份(诸如蓝色花瓶)以及针对对象的触摸/屏幕坐标(诸如X、Y),其中这样的坐标是屏幕被触摸的位置并且不是3D坐标。在实施例中,可以传输诸如来自各种视点的图像数据而不是视频数据。在实施例中,3D特征数据可以被连同对应的图像、图像的集合或者视频一起传输。在实施例中,传输空间的图像连同对应的3D特征数据可以比传输没有对应的3D特征数据的空间的视频更不带宽密集。
在实施例中,在此的公开提供改进的安全性,因为客户保持对商家可见的空间的方面的控制(诸如由于商家没有配备有空间的全3D模型并且仅可以查看由客户示出的方面的事实)。在实施例中,在此的公开提供改进的安全性,因为客户不需要针对商家操纵空间中的虚拟对象准许商家对客户设备的访问。在实施例中,客户可以创建空间的视频,但是然后从该视频选择仅某些图像并且将那些图像连同对应的3D特征数据一起分享。这允许客户保持对于所分享的信息的控制并且也减少了所需要的带宽、处理以及其他资源。
在实施例中,在客户和商家之间的交互可以是同步的(诸如通过图像的实时集合,其可以是视频)或者异步的(诸如通过图像的记录的集合,其可以是视频)。在实施例中,客户可以与商家分享空间的所记录的或者所存储的一个或多个图像。商家可以使用所记录的或者所存储的一个或多个图像来定位空间中的一个或多个虚拟对象。当客户查看所记录的一个或多个图像时,客户可能能够看到由商家定位的虚拟对象。当客户使用客户的移动设备查看真实的空间时,客户(诸如通过使用增强现实应用300)可能能够看到在客户设备上查看的或者与另一设备共享的实时图像或者照相机馈送中的虚拟对象。在实施例中,在商店处的用户存储或者记录与希望在这样的商店中销售产品的商家分享的架子布局的一个或多个图像的情况下,这些异步的交互可以是有帮助的。商家可以使用所存储的或者所记录的视频来在架子上定位虚拟产品。使用增强现实应用300,在商店处的用户之后可以使用他们的移动设备来实时查看架子,并且看到由商家放置在这样的架子上的虚拟产品,这样的产品是使用所记录的一个或多个图像来进行放置的。这可以允许商店中的用户基于对虚拟对象的放置进行镜像来在架子上放置对应的真实对象。
在实施例中,虚拟对象可以存在于数据库或者虚拟对象的其他储存库中。在实施例中,可以根据使用移动设备或者其他设备创建的真实对象的视频或者照片来创建虚拟对象。
虽然一般贯穿于本公开考虑在客户提供的图像或者图像的集合或者一系列图像(诸如视频)中利用商家产品的虚拟对象提供增强现实图像、图像的集合和/或视频,但是这样的系统和方法也可以被推广到其他用例。另外,虽然一般贯穿于本公开考虑来自商家的一个或多个产品,但是本公开也适用于来自商家的服务,诸如安装、改造、着色、清洁以及其他服务,包括可以变更在一个或多个图像中示出的空间(包括,但是不限制于空间的表面)的服务,并且其中体验可以显示在执行服务之前和之后的空间。
在此使用的诸如与图像、视频、视频流、数据(包括3D特征数据)以及诸如此类相关的术语传输、传送、接收以及诸如此类可以指代在给定设备内(诸如在设备的模块、软件部件或者硬件部件之间或在设备上的模块、软件部件或者硬件部件之间)、在给定设备上的软件内或者可以诸如通过网络在设备之间的传输、通信、接收以及诸如此类。
可以通过在处理器上执行计算机软件、程序代码和/或指令的机器来部分地或者整体部署在此描述的方法和系统。处理器可以是服务器、云服务器、客户端、网络基础设施、移动计算平台、静态计算平台或者其他计算平台的一部分。处理器可以是能够执行程序指令、代码、二进制指令以及诸如此类的任何种类的计算或者处理设备。处理器可以是或者可以包括信号处理器、数字处理器、嵌入式处理器、微处理器或者诸如协处理器(数学协处理器、图形协处理器、通信协处理器以及诸如此类)以及诸如此类的任何变体,其可以直接或者间接地促进存储于其上的程序代码或者程序指令的执行。此外,处理器可以使能对多个程序、线程以及代码的执行。线程可以被同时执行以增强处理器的性能并且以促进应用的同时操作。通过实现的方式,在此描述的方法、程序代码、程序指令以及诸如此类可以被实现在一个或多个线程中。线程可以造成(spawn)可能具有分配的与它们相关联的优先级的其他线程;处理器可以基于优先级或者基于在程序代码中提供的指令基于任何其他顺序来执行这些线程。处理器可以包括存储如在此以及在别处描述的方法、代码、指令以及程序的存储器。存储器可以通过接口来访问可以存储如在此和在别处描述的方法、代码以及指令的存储介质。用于存储能够由计算或者处理设备执行的方法、程序、代码、程序指令或者其他类型的指令的与处理器相关联的存储介质可以包括但是可以不限于CD-ROM、DVD、存储器、硬盘、闪速驱动器、RAM、ROM、高速缓存以及诸如此类如中的一个或多个。
处理器可以包括可以增强多处理器的速度和性能的一个或多个核。在实施例中,处理可以是将两个或者更多独立的核(被称为管芯)进行组合的双核处理器、四核处理器、其他芯片级的多处理器以及诸如此类。
可以通过在服务器、云服务器、客户端、防火墙、网关、集线器、路由器、或者其他这样的计算机和/或联网硬件上执行计算机软件的机器来部分地或者整体地部署在此描述的方法和系统。软件程序可以与服务器相关联的,所述服务器可以包括文件服务器、打印服务器、域服务器、互联网服务器、内联网服务器以及诸如次级服务器、主机服务器、、分布式服务器以及诸如此类的其他变体。服务器可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟的)、通信设备、以及能够通过有线或者无线介质访问其他服务器、客户端、机器以及设备的接口以及诸如此类中的一个或多个。在此以及在别处描述的方法、程序或者代码可以由服务器来执行。此外,如在本申请中描述的方法的执行所需要的其他设备可以被视为与服务器相关联的基础设施的一部分。
服务器可以提供到其他设备的接口,所述其他设备包括但是不限于客户端、其他服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器以及诸如此类。此外,该耦合和/或连接可以促进跨网络的程序的远程执行。在不偏离本公开范围的情况下,这些设备中的一些或者所有的联网可以促进在一个或多个位置处的程序或者方法的并行处理。此外,通过接口附接到服务器的设备中的任何设备可以包括能够存储方法、程序、代码和/或指令的至少一个存储介质。中央储存库可以提供要被在不同的设备上执行的程序指令。在该实现中,远程储存库可以充当针对程序代码、指令以及程序的存储介质。
软件程序可以与客户端相关联,所述客户端可以包括文件客户端、打印客户端、域客户端、互联网客户端、内联网客户端以及诸如次级客户端、主机客户端、分布式客户端以及诸如此类的其他变体。客户端可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理的和虚拟的)、通信设备以及能够通过有线或者无线介质对其他客户端、服务器、机器以及设备进行访问的接口以及诸如此类中的一个或多个。如在此处和别处描述的方法、程序或代码可以由客户端执行。此外,如在本申请中描述的方法的执行所需要的其他设备可以被视为与客户端相关联的基础设施的一部分。
客户端可以向其他设备提供接口,所述其他设备包括但是不限制于服务器、其他客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器以及诸如此类。此外,该耦合和/或连接可以促进跨网络的程序的远程执行。在不偏离本公开范围的情况下,这些设备中的一些或者所有的联网可以促进在一个或多个位置处的程序或者方法的并行处理。此外,通过接口附接到客户端的设备中的任何设备可以包括能够存储方法、程序、应用、代码和/或指令的至少一个存储介质。中央储存库可以提供要被在不同的设备上执行的程序指令。在该实现中,远程储存库可以充当针对程序代码、指令以及程序的存储介质。
在此描述的方法和系统可以通过网络基础设施部分地或者整体地部署。网络基础设施可以包括诸如计算设备、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信设备、路由设备以及在本领域中已知的其他有源和无源器件、模块和/或部件之类的元素。除了其他部件之外,与网络基础设施相关联的(一个或多个)计算和/或非计算设备可以包括诸如闪速存储器、缓冲器、栈、RAM、ROM以及诸如此类的存储介质。在此以及在别处描述的过程、方法、程序代码、指令可以由网络基础设施元素中的一个或多个来执行。
在此以及在别处描述的方法、程序代码以及指令可以在不同的设备中实现,所述不同的设备可以在有线或者无线的网络中进行操作。无线网络的示例包括第4代(4G)网络(例如,长期演进(LTE)网络)或者第5代(5G)网络,以及诸如无线局域网络(WLAN)之类的非蜂窝网络。然而,在此描述的原理可以被等同地应用于其他类型的网络。
在此处以及在别处描述的操作、方法、程序代码以及指令可以被实现在移动设备上或者通过移动设备实现。移动设备可以包括导航设备、蜂窝电话、移动电话、移动个人数字助理、膝上型计算机、掌上型计算机、上网本计算机、寻呼机、电子书阅读器、音乐播放器以及诸如此类。除了其他部件之外,这些设备可以包括诸如闪速存储器、缓冲器、RAM、ROM以及一个或多个计算设备之类的存储介质。可以使得与移动设备相关联的计算设备能够执行程序代码、方法以及存储于其上的指令。替代地,移动设备可以被配置为与其他设备协作执行指令。移动设备可以与同服务器对接的基站通信并且被配置为执行程序代码。移动设备可以在对等网络、网状网络或者其他通信网络上通信。程序代码可以被存储在与服务器相关联的存储介质上并且由嵌入在服务器中的计算设备来执行。基站可以包括计算设备和存储介质。存储设备可以存储由与基站相关联的计算设备执行的程序代码和指令。
可以在机器可读介质上存储和/或访问计算机软件、程序代码和/或指令,所述机器可读介质可以包括:保留用于计算的数字数据持续某时间间隔的记录介质、设备以及计算机部件;称为随机存取存储器(RAM)的半导体存储装置;典型地用于更永久的存储的海量存储装置,诸如光盘,如硬盘、带、鼓、卡以及其他类型之类的磁性存储装置的形式;处理器寄存器、高速缓存存储器、易失性存储器、非易失性存储器;诸如CD、DVD之类的光学存储装置;可移除介质,诸如闪速存储器(例如,USB棒或者USB钥匙(key))、软盘、磁带、纸带、打孔卡、独立RAM盘、Zip驱动器、可移除海量存储装置、离线以及诸如此类;其他计算机存储器,诸如动态存储器、静态存储器、读/写存储装置、可变存储装置、只读、随机存取、顺序访问、位置可寻址、文件可寻址、内容可寻址、网络附加存储装置、存储区域网络、条形码、磁性墨水以及诸如此类。
在此描述的方法和系统可以将物理和/或无形项目从一个状态转换成另一个状态。在此描述的方法和系统还可以将表示物理和/或无形项目的数据从一个状态转换成另一个状态,诸如从使用数据转换成标准化使用数据集。
在此,包括贯穿于附图在流程图和框图中,描述并且描绘的元素暗示了在元素之间的逻辑边界。然而,根据软件或者硬件工程实践,可以通过具有能够执行存储于其上的程序指令的处理器的计算机可执行介质将所描绘的元件及其功能在机器上实现为单片软件结构、实现为独立软件模块、或者实现为采用外部例程、代码、服务以及诸如此类的模块,或者这些的任何组合,并且所有的这样的实现可以在本公开的范围之内。这样的机器的示例可以包括但是可以不限于:个人数字助理、膝上型计算机、个人计算机、移动电话、其他手持计算设备、医疗设备、有线或者无线通信设备、换能器、芯片、计算器、卫星、平板PC、电子书、小器具(gadget)、电子设备、具有人工智能的设备、计算设备、联网设备、服务器、路由器以及诸如此类。更进一步地,在流程图和框图中描绘的元素或者任何其他逻辑部件可以被实现在能够执行程序指令的机器上。因此,虽然前述附图和描述阐述了所公开的系统的功能方面,但是不应当从这些描述推断用于实现这些功能方面的软件的特定布置,除非明确地指明或者从上下文中清楚得知。类似地,将领会的是可以改变在上面标识并且描述的各种步骤,并且步骤的顺序可以适于在此公开的技术的特定应用。所有这样的变化和修改都旨在落在本公开的范围之内。这样,除非特定应用要求,或者明确地指明或者另外从上下文中清楚得知,否则对针对各种步骤的顺序的描绘和/或描述不应当被理解为要求针对那些步骤的特定执行顺序。
在上面描述的方法和/或过程以及其步骤可以以硬件、软件、或者适合于特定应用的硬件和软件的任何组合实现。硬件可以包括通用计算机和/或专用计算设备或者特定计算设备或者特定计算设备的特定方面或者部件。过程可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或者其他可编程设备连同内部和/或外部存储器中实现。过程还可以,或者替代地,被体现在专用集成电路、可编程门阵列、可编程阵列逻辑、或者可以被配置为处理电子信号的任何其他设备或者设备的组合中。将进一步领会的是,过程中的一个或多个可以被实现为能够在机器可读介质上执行的计算机可执行代码。
可以使用如下内容来创建计算机可执行代码:诸如C之类的结构化编程语言、诸如C++之类的面向对象的编程语言或者可以被存储、编译或者解释以在上面的设备中的一个以及处理器的异构组合、处理器架构、或者不同的硬件和软件的组合、或者能够执行程序指令的任何其他机器上运行的任何其他高级或者低级编程语言(包括汇编语言、硬件描述语言以及数据库编程语言和技术)。
因此,在一个方面中,在上面描述的每个方法以及它们的组合可以被体现在计算机可执行代码中,当计算机可执行代码在一个或多个计算设备上执行时执行其步骤。在另一方面中,方法可以被体现在执行其步骤并且可以以许多方式跨设备分布的系统中,或者所有功能性可以被集成到专用的独立设备或者其他硬件中。在另一方面中,用于执行与在上面描述的过程相关联的步骤的装置可以包括在上面描述的硬件和/或软件中的任何硬件和/或软件。所有这样的排列和组合都旨在落在本公开的范围之内。

Claims (15)

1.一种用于利用至少一个虚拟对象来增强客户图像的计算机实现的方法,所述方法包括:
从客户计算设备接收一个或多个客户图像,其中一个或多个客户图像中的每个描绘客户环境;
确定对应于一个或多个客户图像中的每个的3D特征数据;
接收对用于显示的商品的选择;
确定对应于对商品的选择的虚拟对象;
接收对应于在客户环境中的虚拟对象的希望的位置的定位信号;
确定使用定位信号叠加虚拟对象的一个或多个客户图像中的每个中的第一位置;
基于对应的3D特征数据确定在一个或多个客户图像中的每个中的虚拟对象的适当大小和定向;以及
引起在一个或多个客户图像中的每个中的对应的第一位置处的适当调整大小和定向的虚拟对象的叠加。
2.如权利要求1所述的方法,其中引起叠加包括将适当调整大小和定向的虚拟对象以及第一位置中的至少一个传输到客户计算设备。
3.如权利要求1所述的方法,其中所接收的一个或多个客户图像中的每个包括3D特征数据。
4.如权利要求1所述的方法,其中3D特征数据包括相对于第一计算设备的照相机的确定的坐标系。
5.如权利要求1所述的方法,其中3D特征数据包括平面表面的位置和大小。
6.如权利要求1所述的方法,进一步包括:
从客户计算设备、商家计算设备以及另一计算设备中的至少一个接收重新定位信号,其指示虚拟对象的希望的重新定位;
响应于重新定位信号确定叠加虚拟对象的客户图像的一个或多个图像帧中的第二位置;
引起在一个或多个客户图像中的每个中的对应的第二位置处的适当调整大小和定向的虚拟对象的更新的叠加。
7.如权利要求6所述的方法,其中引起更新的叠加包括将适当调整大小和定向的虚拟对象以及第二位置中的至少一个传输到客户计算设备。
8.如权利要求6所述的方法,进一步包括利用更新的叠加针对一个或多个客户图像创建更新的增强图像以用于在客户计算设备上的显示。
9.如权利要求6所述的方法,进一步包括利用更新的叠加针对一个或多个客户图像创建更新的增强图像以用于在商家计算设备上的显示。
10.如权利要求1所述的方法,进一步包括利用叠加针对一个或多个客户图像创建增强的图像,其中在从客户计算设备接收到一个或多个客户图像的情况下创建增强的图像。
11.如权利要求10所述的方法,其中在与从客户计算设备接收到一个或多个客户图像不同的时间处创建并且显示针对一个或多个客户图像的增强的图像。
12. 一种用于利用虚拟对象增强场所的图像的系统,所述系统包括:
接口模块,被配置为从第一计算设备接收图像,其中图像针对虚拟对象描绘潜在场所,接收用于显示的虚拟对象并且接收对应于虚拟对象的希望的位置的定位信号;以及
计算模块,被配置为确定对应于所接收的图像的一部分的3D特征数据,确定使用定位信号叠加虚拟对象的图像中的第一位置,基于3D特征数据确定在图像中的虚拟对象的适当大小和定向,以及引起在图像中的第一位置处的适当调整大小和定向的虚拟对象的叠加。
13.如权利要求12所述的系统,其中所接收的图像包括3D特征数据。
14.如权利要求12所述的系统,其中3D特征数据包括相对于第一计算设备的照相机的确定的坐标系。
15.如权利要求12所述的系统,其中3D特征数据包括平面表面的位置和大小。
CN201911325446.0A 2018-12-21 2019-12-20 具有用于虚拟对象的显示的增强现实应用的电子商务平台 Pending CN111352503A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/229,369 US11321768B2 (en) 2018-12-21 2018-12-21 Methods and systems for an e-commerce platform with augmented reality application for display of virtual objects
US16/229369 2018-12-21

Publications (1)

Publication Number Publication Date
CN111352503A true CN111352503A (zh) 2020-06-30

Family

ID=68886727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911325446.0A Pending CN111352503A (zh) 2018-12-21 2019-12-20 具有用于虚拟对象的显示的增强现实应用的电子商务平台

Country Status (3)

Country Link
US (3) US11321768B2 (zh)
EP (1) EP3671659A1 (zh)
CN (1) CN111352503A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112819590A (zh) * 2021-02-25 2021-05-18 紫光云技术有限公司 一种云产品服务交付过程中产品配置信息管理的方法
CN113222337A (zh) * 2021-04-06 2021-08-06 盈机技术服务(北京)有限公司 一种远程脆弱性评估方法、装置以及存储介质

Families Citing this family (7)

* 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
JP7467074B2 (ja) * 2019-11-05 2024-04-15 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US11727475B2 (en) * 2019-12-13 2023-08-15 Shopify Inc. Systems and methods for recommending 2D image
US11922467B2 (en) * 2020-08-17 2024-03-05 ecoATM, Inc. Evaluating an electronic device using optical character recognition
US11836865B2 (en) * 2020-09-18 2023-12-05 Wichita State University Systems and methods for augmented reality visual inspections
WO2022249011A1 (en) 2021-05-25 2022-12-01 Applications Mobiles Overview Inc. System and method for providing personalized transactions based on 3d representations of user physical characteristics
IT202100017219A1 (it) * 2021-06-30 2022-12-30 Octo Net S R L Sistema per visualizzare un modello tridimensionale virtuale in un’inquadratura di un ambiente fisico

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104603865A (zh) * 2012-05-16 2015-05-06 丹尼尔·格瑞贝格 一种由移动中的用户佩戴的用于通过锚定虚拟对象充分增强现实的系统
US9129404B1 (en) * 2012-09-13 2015-09-08 Amazon Technologies, Inc. Measuring physical objects and presenting virtual articles
US20170132841A1 (en) * 2015-09-22 2017-05-11 3D Product Imaging Inc. Augmented reality e-commerce for home improvement
CN106937531A (zh) * 2014-06-14 2017-07-07 奇跃公司 用于产生虚拟和增强现实的方法和系统
CN107783648A (zh) * 2016-08-31 2018-03-09 宅妆股份有限公司 互动方法及系统
CN108475118A (zh) * 2016-01-19 2018-08-31 泰科恩促进有限公司 增强现实的远程交互式系统及相关方法
CN108604118A (zh) * 2016-03-07 2018-09-28 谷歌有限责任公司 在增强/虚拟现实环境中的智能对象大小调整和布置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070116119A1 (en) 2005-11-23 2007-05-24 Capso Vision, Inc. Movement detection and construction of an "actual reality" image
US20080071559A1 (en) 2006-09-19 2008-03-20 Juha Arrasvuori Augmented reality assisted shopping
US8312164B2 (en) * 2010-04-14 2012-11-13 Adobe Systems Incorporated Media quality enhancement among connected media communication devices
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
US20150170260A1 (en) * 2012-02-29 2015-06-18 Google Inc. Methods and Systems for Using a Mobile Device to Visualize a Three-Dimensional Physical Object Placed Within a Three-Dimensional Environment
US8989440B2 (en) 2012-03-27 2015-03-24 Way Out Ip, Llc System and method of room decoration for use with a mobile device
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
US8878846B1 (en) * 2012-10-29 2014-11-04 Google Inc. Superimposing virtual views of 3D objects with live images
JP5787866B2 (ja) 2012-12-17 2015-09-30 株式会社沖データ 画像形成ユニット、画像形成装置および画像形成方法
US9971853B2 (en) * 2014-05-13 2018-05-15 Atheer, Inc. Method for replacing 3D objects in 2D environment
US9734634B1 (en) * 2014-09-26 2017-08-15 A9.Com, Inc. Augmented reality product preview
US9754419B2 (en) 2014-11-16 2017-09-05 Eonite Perception Inc. Systems and methods for augmented reality preparation, processing, and application
US10235810B2 (en) 2015-09-22 2019-03-19 3D Product Imaging Inc. Augmented reality e-commerce for in-store retail
US20170161404A1 (en) 2015-12-04 2017-06-08 Wal-Mart Stores, Inc. Interior decorating system using three-dimensional and other properties of a space
US20180132841A1 (en) 2016-11-11 2018-05-17 Arthrex, Inc. Soft anchor with tubular sheath having flared ends
US10339714B2 (en) * 2017-05-09 2019-07-02 A9.Com, Inc. Markerless image analysis for augmented reality
US10319150B1 (en) * 2017-05-15 2019-06-11 A9.Com, Inc. Object preview in a mixed reality environment
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
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
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104603865A (zh) * 2012-05-16 2015-05-06 丹尼尔·格瑞贝格 一种由移动中的用户佩戴的用于通过锚定虚拟对象充分增强现实的系统
US9129404B1 (en) * 2012-09-13 2015-09-08 Amazon Technologies, Inc. Measuring physical objects and presenting virtual articles
CN106937531A (zh) * 2014-06-14 2017-07-07 奇跃公司 用于产生虚拟和增强现实的方法和系统
US20170132841A1 (en) * 2015-09-22 2017-05-11 3D Product Imaging Inc. Augmented reality e-commerce for home improvement
CN108475118A (zh) * 2016-01-19 2018-08-31 泰科恩促进有限公司 增强现实的远程交互式系统及相关方法
CN108604118A (zh) * 2016-03-07 2018-09-28 谷歌有限责任公司 在增强/虚拟现实环境中的智能对象大小调整和布置
CN107783648A (zh) * 2016-08-31 2018-03-09 宅妆股份有限公司 互动方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112819590A (zh) * 2021-02-25 2021-05-18 紫光云技术有限公司 一种云产品服务交付过程中产品配置信息管理的方法
CN112819590B (zh) * 2021-02-25 2023-03-10 紫光云技术有限公司 一种云产品服务交付过程中产品配置信息管理的方法
CN113222337A (zh) * 2021-04-06 2021-08-06 盈机技术服务(北京)有限公司 一种远程脆弱性评估方法、装置以及存储介质
CN113222337B (zh) * 2021-04-06 2022-07-29 盈机技术服务(北京)有限公司 一种远程脆弱性评估方法、装置以及存储介质

Also Published As

Publication number Publication date
US11842385B2 (en) 2023-12-12
US20240013288A1 (en) 2024-01-11
EP3671659A1 (en) 2020-06-24
US11321768B2 (en) 2022-05-03
US20220222741A1 (en) 2022-07-14
US20200202419A1 (en) 2020-06-25

Similar Documents

Publication Publication Date Title
US11842385B2 (en) Methods, systems, and manufacture for an e-commerce platform with augmented reality application for display of virtual objects
EP3862849A1 (en) Systems and methods for generating augmented reality scenes for physical items
US11908159B2 (en) Systems and methods for representing user interactions in multi-user augmented reality
EP3786766A1 (en) Virtual and augmented reality using light fields
US11341558B2 (en) Systems and methods for recommending a product based on an image of a scene
US11755103B2 (en) Using prediction information with light fields
US11847716B2 (en) Systems and methods for generating multi-user augmented reality content
CN114612174A (zh) 用于在产品的图像捕获期间生成推荐的系统和方法
US11494153B2 (en) Systems and methods for modifying multi-user augmented reality
US20220383397A1 (en) Customize a virtual store based on buyer preferences and movement
US20220383396A1 (en) Build and update a virtual store based on a physical store
US11430175B2 (en) Virtual object areas using light fields
US20240029279A1 (en) Systems and methods for generating augmented reality scenes
US20230419635A1 (en) Volumetric permissioning
US20240087251A1 (en) Methods for calibrating augmented reality scenes

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