专利名称:用于在产品的图像捕获期间生成推荐的系统和方法
专利类型:实用新型专利
专利申请号:CN202110441048.6
专利申请(专利权)人:秀铺菲公司
权利人地址:加拿大安大略省
专利发明(设计)人:B·吕,G·S·尼哈斯,S·巴特罗尼
专利摘要:提供了用于在产品的图像捕获期间生成推荐的系统和方法。该方法包括从用户设备中的相机获得相机实况流,该相机实况流包括特定产品的图像数据;至少基于对集合的一个或多个产品的图像的图像数据的图像分析,确定集合的一个或多个产品的图像所共有的一个或多个基线图像特征;将一个或多个基线图像特征与特定产品的图像数据的一个或多个图像特征进行比较,以生成一个或多个推荐;以及生成该一个或多个推荐以供与相机实况流一起显示在用户设备上。
主权利要求:
1.一种计算机实现的方法,包括:
从用户设备中的相机获得相机实况流,所述相机实况流包括特定产品的图像数据;
至少基于对集合的一个或多个产品的图像的图像数据的图像分析,确定所述集合的所述一个或多个产品的图像所共有的一个或多个基线图像特征;
将所述一个或多个基线图像特征与特定产品的图像数据的一个或多个图像特征进行比较,以生成调整特定产品的图像数据的一个或多个图像特征的一个或多个推荐;以及生成调整特定产品的图像数据的一个或多个图像特征的所述一个或多个推荐以供与相机实况流一起显示在用户设备上。
2.根据权利要求1所述的计算机实现的方法,进一步包括:重复比较和生成,直到特定产品的图像数据的一个或多个图像特征在所述一个或多个基线图像特征的阈值内。
3.根据权利要求2所述的计算机实现的方法,进一步包括:响应于特定产品的图像数据的一个或多个图像特征在所述一个或多个基线图像特征的阈值内,使得用户设备捕获特定产品的一个或多个图像。
4.根据权利要求1所述的计算机实现的方法,进一步包括:分析特定产品的图像数据以标识特定产品;和
基于所标识的特定产品获得所述集合的所述一个或多个产品的图像。
5.根据权利要求1所述的计算机实现的方法,进一步包括:在获得相机实况流之前,获得关于特定产品的信息;和基于关于特定产品的信息获得所述集合的所述一个或多个产品的图像。
6.根据权利要求1所述的计算机实现的方法,其中,所述集合的所述一个或多个产品的图像是用户先前捕获的图像。
7.根据权利要求1所述的计算机实现的方法,其中,生成用于捕获与基线图像特征更一致的特定产品的另外图像的推荐。
8.根据权利要求1所述的计算机实现的方法,其中,图像特征包括以下各项中的至少一个:图像分辨率、像素密度、图像亮度、景深、焦点、图像中产品的尺寸、图像中产品的角度、图像中产品的定向或产品与背景之间的对比度。
9.根据权利要求1所述的计算机实现的方法,其中,所述一个或多个推荐包括动画或者相关产品的形状、文本、图像中的至少一个。
10.一种系统,包括:
一个或多个处理器;
包含处理器可执行指令的处理器可读存储介质,当由所述一个或多个处理器执行时,所述处理器可执行指令将使得所述一个或多个处理器:从用户设备中的相机获得相机实况流,所述相机实况流包括特定产品的图像数据;
至少基于对集合的一个或多个产品的图像的图像数据的图像分析,确定所述集合的所述一个或多个产品的图像所共有的一个或多个基线图像特征;
将所述一个或多个基线图像特征与特定产品的图像数据的一个或多个图像特征进行比较,以生成调整特定产品的图像数据的一个或多个图像特征的一个或多个推荐;以及生成调整特定产品的图像数据的一个或多个图像特征的所述一个或多个推荐以供与相机实况流一起显示在用户设备上。
11.根据权利要求10所述的系统,其中当由所述一个或多个处理器执行时,所述处理器可执行指令将使得所述一个或多个处理器:重复比较和生成,直到特定产品的图像数据的一个或多个图像特征在所述一个或多个基线图像特征的阈值内。
12.根据权利要求11所述的系统,其中当由所述一个或多个处理器执行时,所述处理器可执行指令将使得所述一个或多个处理器:响应于特定产品的图像数据的一个或多个图像特征在所述一个或多个基线图像特征的阈值内,使得用户设备捕获特定产品的一个或多个图像。
13.根据权利要求10所述的系统,其中当由所述一个或多个处理器执行时,所述处理器可执行指令将使得所述一个或多个处理器:分析特定产品的图像数据以标识特定产品;和
基于所标识的特定产品获得所述集合的所述一个或多个产品的图像。
14.根据权利要求10所述的系统,其中当由所述一个或多个处理器执行时,所述处理器可执行指令将使得所述一个或多个处理器:在获得相机实况流之前,获得关于特定产品的信息;和基于关于特定产品的信息获得所述集合的所述一个或多个产品的图像。
15.根据权利要求10所述的系统,其中,所述集合的所述一个或多个产品的图像是用户先前捕获的图像。
16.根据权利要求10所述的系统,其中,生成用于捕获与基线图像特征更一致的特定产品的另外图像的推荐。
17.根据权利要求10所述的系统,进一步包括:
用户设备,所述用户设备包括:
所述一个或多个处理器;
耦合到所述一个或多个处理器的显示器;和
相机,所述相机包括图像传感器,并且向所述一个或多个处理器提供实况相机流。
18.一种存储处理器可执行指令的非暂时性计算机可读介质,当由一个或多个处理器执行时,所述处理器可执行指令将使得所述一个或多个处理器:从用户设备中的相机获得相机实况流,所述相机实况流包括特定产品的图像数据;
至少基于对集合的一个或多个产品的图像的图像数据的图像分析,确定所述集合的所述一个或多个产品的图像所共有的一个或多个基线图像特征;
将所述一个或多个基线图像特征与特定产品的图像数据的一个或多个图像特征进行比较,以生成调整特定产品的图像数据的一个或多个图像特征的一个或多个推荐;以及生成调整特定产品的图像数据的一个或多个图像特征的所述一个或多个推荐以供与相机实况流一起显示在用户设备上。 说明书 : 用于在产品的图像捕获期间生成推荐的系统和方法技术领域[0001] 本公开涉及捕获产品的图像,并且特别地涉及在产品的图像捕获期间生成推荐。背景技术[0002] 在一些线上目录平台中,用户可能被赋予拍摄一个或多个产品的照片的任务。产品和/或照片可能彼此相关,并且照此,照片间的一致性至关重要。例如,照片可以是对在同一商店处或同一集合中销售的不同产品的拍摄。作为另一个示例,照片可以是对同一产品的不同变体(颜色、尺寸等)的拍摄。客户可以同时查看多个相关照片,或者可以快速连续地查看相关照片。相关照片中的任何视觉差异可能导致客户体验不佳,并可能导致降低的品牌吸引力和/或销量。附图说明[0003] 将参考附图仅通过示例的方式描述实施例,其中:[0004] 图1是根据实施例的示例电子商务平台的框图;[0005] 图2是根据实施例的管理器主页的示例;[0006] 图3是根据实施例的另一个示例电子商务平台的框图;[0007] 图4是图示了根据实施例的用于在产品的图像捕获期间生成推荐的示例系统的框图;[0008] 图5是图示了根据实施例的以查找表形式的示例产品图像特征模型的图;[0009] 图6是图示了根据实施例的用于在产品的图像捕获期间生成推荐的示例方法的流程图;[0010] 图7是图示了根据实施例的用于获得集合中一个或多个产品的图像的示例方法的流程图;[0011] 图8是图示了根据实施例的用于获得集合中一个或多个产品的图像的另一示例方法的流程图;[0012] 图9图示了根据实施例的屏幕页面;[0013] 图10是图示了根据实施例的捕获一个或多个图像的示例方法的流程图;[0014] 图11图示了根据实施例的屏幕页面;和[0015] 图12图示了根据实施例的屏幕页面。具体实施方式[0016] 在一些线上目录平台中,用户可能被赋予拍摄一个或多个产品的照片的任务。产品和/或照片可能彼此相关,并且照此,照片间的一致性至关重要。例如,照片可以是对在同一商店处或同一集合中销售的不同产品的拍摄。作为另一个示例,照片可以是对同一产品的不同变体(颜色、尺寸等)的拍摄。客户可以同时查看多个相关照片,或者可以快速连续地查看相关照片。相关照片中的任何视觉差异可能导致客户体验不佳,并可能导致降低的品牌吸引力和/或销量。[0017] 视觉差异可能由纵横比、产品视角、相机角度、前景和背景之间的深度、照明、背景对象、背景杂乱、背景组成、产品在框架中的定位等方面的差异所致。[0018] 用户可以拍摄相关产品的照片,并且可以尝试使用后处理动作来校正这些照片之间的任何不一致。此时,用户可能意识到不一致的照片可能不可编辑以实现期望的一致性,并且因此将需要重新开始整个过程。这对于普通用户来说是困难和令人沮丧的,并且可能导致多次浪费的尝试。[0019] 根据一个方面,本申请提供了用于在产品的图像捕获期间生成推荐的系统和方法。该系统和方法可以从用户设备中的相机获得相机实况流,该相机实况流包括特定产品的图像数据。可以至少基于对集合的一个或多个产品的图像的图像数据的图像分析来确定集合的一个或多个产品的图像所共有的一个或多个基线图像特征。可以将一个或多个基线图像特征与特定产品的图像数据的一个或多个图像特征进行比较,并且可以生成一个或多个推荐。一个或多个推荐可以与相机实况流一起显示在用户设备上。以这种方式,推荐可以指示用户进行调整,以确保一个或多个图像特征与同一集合中的一个或多个图像的图像特征一致。[0020] 在一方面中,可以提供一种计算机实现的方法。该计算机实现的方法可以包括从用户设备中的相机获得相机实况流,该相机实况流包括特定产品的图像数据;至少基于对集合的一个或多个产品的图像的图像数据的图像分析,确定集合的一个或多个产品的图像所共有的一个或多个基线图像特征;将一个或多个基线图像特征与特定产品的图像数据的一个或多个图像特征进行比较,以生成一个或多个推荐;以及生成该一个或多个推荐以供与相机实况流一起显示在用户设备上。[0021] 在一个或多个实施例中,一个或多个推荐可以是调整特定产品的图像数据的一个或多个图像特征的推荐。[0022] 在一个或多个实施例中,该方法可以进一步包括重复比较和生成,直到特定产品的图像数据的一个或多个图像特征在一个或多个基线图像特征的阈值内。[0023] 在一个或多个实施例中,该方法可以进一步包括响应于特定产品的图像数据的一个或多个图像特征在一个或多个基线图像特征的阈值内,使得用户设备捕获特定产品的一个或多个图像。[0024] 在一个或多个实施例中,该方法可以进一步包括分析特定产品的图像数据以标识特定产品;以及基于所标识的特定产品获得该集合的一个或多个产品的图像。[0025] 在一个或多个实施例中,该方法可以进一步包括在获得相机实况流之前,获得关于特定产品的信息;以及基于关于特定产品的信息获得该集合的一个或多个产品的图像。[0026] 在一个或多个实施例中,该集合的一个或多个产品的图像可以是用户先前捕获的图像。[0027] 在一个或多个实施例中,可以生成用于捕获与基线图像特征更一致的特定产品的另外图像的推荐。[0028] 在一个或多个实施例中,图像特征可以包括以下各项中的至少一个:图像分辨率、像素密度、图像亮度、景深、焦点、图像中产品的尺寸、图像中产品的角度、图像中产品的定向或产品与背景之间的对比度。[0029] 在一个或多个实施例中,一个或多个推荐可以包括动画或者相关产品的形状、文本、图像中的至少一个。[0030] 根据另一方面,可以提供一种系统。该系统可以包括一个或多个处理器;包含处理器可执行指令的处理器可读存储介质,当该处理器可执行指令被一个或多个处理器执行时,可以使得该一个或多个处理器从用户设备中的相机获得相机实况流,该相机实况流包括特定产品的图像数据;至少基于对集合的一个或多个产品的图像的图像数据的图像分析,确定集合的一个或多个产品的图像所共有的一个或多个基线图像特征;将一个或多个基线图像特征与特定产品的图像数据的一个或多个图像特征进行比较,以生成一个或多个推荐;以及生成该一个或多个推荐以供与相机实况流一起显示在用户设备上。[0031] 在一个或多个实施例中,一个或多个推荐可以是调整特定产品的图像数据的一个或多个图像特征的推荐。[0032] 在一个或多个实施例中,当由一个或多个处理器执行时,处理器可执行指令可以进一步使得一个或多个处理器重复比较和生成,直到特定产品的图像数据的一个或多个图像特征在一个或多个基线图像特征的阈值内。[0033] 在一个或多个实施例中,当由一个或多个处理器执行时,处理器可执行指令可以进一步使得一个或多个处理器响应于特定产品的图像数据的一个或多个图像特征在一个或多个基线图像特征的阈值内,而使得用户设备捕获特定产品的一个或多个图像。[0034] 在一个或多个实施例中,当由一个或多个处理器执行时,处理器可执行指令可以进一步使得一个或多个处理器分析特定产品的图像数据以标识特定产品;并且基于所标识的特定产品获得该集合的一个或多个产品的图像。[0035] 在一个或多个实施例中,当由一个或多个处理器执行时,处理器可执行指令可以进一步使得一个或多个处理器在获得相机实况流之前获得关于特定产品的信息;并且基于关于特定产品的信息获得该集合的一个或多个产品的图像。[0036] 在一个或多个实施例中,该集合的一个或多个产品的图像可以是用户先前捕获的图像。[0037] 在一个或多个实施例中,可以生成推荐以用于捕获与基线图像特征更一致的特定产品的另外的图像。[0038] 在一个或多个实施例中,该系统可以包括用户设备,该用户设备包括一个或多个处理器;耦合到一个或多个处理器的显示器;和相机,相机包括图像传感器,并向该一个或多个处理器提供实况相机流。[0039] 根据另一方面,可以提供一种存储处理器可执行指令的非暂时性计算机可读介质,当由一个或多个处理器执行时,该处理器可执行指令可以使得一个或多个处理器实行在此描述的任何方法。[0040] 根据另一方面,可以提供一种计算机程序,当在处理器上执行时,该计算机程序被配置为实行在此描述的任何方法。[0041] 为了说明性目的,现在将在下面结合各图更详细地解释具体的示例实施例。[0042] 示例电子商务平台[0043] 在一些实施例中,尽管不是必需的,但是在此公开的方法可以在电子商务平台上或者与电子商务平台相关联地执行。因此,将通过背景的方式描述电子商务平台的示例。[0044] 图1图示了根据一个实施例的电子商务平台100。电子商务平台100可以用于向客户提供商品和服务。虽然本公开考虑使用装置、系统以及过程来购买产品和服务,但是为简单起见,在此的描述将指代产品。贯穿于本公开,对产品的所有引用也应当被理解为是对产品和/或服务的引用,包括要被提供的物理产品、数字内容、票据、订阅、服务以及诸如此类。[0045] 虽然贯穿于本公开考虑“商家”和“客户”可以不仅仅是个人,但是为简单起见,在此的描述一般可以指代这样的多个商家和客户(或“购买者”)。贯穿于本公开,对商家和客户的所有引用也应当被理解为是对个人、公司、团体、计算实体以及诸如此类的组的引用,并且可以表示产品的营利性或者非营利性的交换。进一步地,虽然贯穿于本公开提及“商家”和“客户”,并且如此描述它们的角色,但是电子商务平台100应当被理解为更一般地支持电子商务环境中的用户,并且贯穿于本公开,对商家和客户的所有引用也应当被理解为是对用户的引用,诸如其中用户是商家用户(例如,卖家、零售商、批发商、或者产品的提供商)、客户用户(例如,买家、购买代理人、或者产品的用户)、潜在用户(例如,正在浏览并且尚未承诺购买的用户、针对营销和销售产品中的潜在用途评估电子商务平台100的用户以及诸如此类)、服务提供商用户(例如,装运提供商112、金融提供商以及诸如此类)、公司或者团体用户(例如,针对产品的购买、销售或使用的公司代表;企业用户;客户关系或者客户管理代理人以及诸如此类)、信息技术用户、计算实体用户(例如,用于产品的购买、销售或使用的计算机器人(bot))以及诸如此类。[0046] 电子商务平台100可以提供用于为商家提供用于管理他们的业务的线上资源和设施的集中式系统。在此描述的设施可以通过机器部分或者全部地部署,所述机器在一个或多个处理器上执行计算机软件、模块、程序代码和/或指令,所述一个或多个处理器可以是平台100的一部分或者在平台100的外部。商家可以将电子商务平台100用于管理与客户的商务(commerce),诸如通过经由线上商店138、经由渠道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的“购买按钮”以及诸如此类。[0047] 线上商店138可以表示包括多个虚拟店面的多租户(multitenant)设施。在实施例中,商家可以诸如通过商家设备102(例如,计算机、膝上型计算机、移动计算设备以及诸如此类)来管理线上商店138中的一个或多个店面,并且通过多个不同的渠道110A‑B来向客户提供产品,多个不同的渠道110A‑B(例如,线上商店138;通过POS设备152的物理店面;通过集成到web站点或者社交媒体渠道中的电子购买按钮的电子市场,集成到社交媒体渠道中的电子购买按钮诸如是在社交网络、社交媒体页面、社交媒体消息收发系统上的电子购买按钮,以及诸如此类)。商家可以跨渠道110A‑B进行销售并且然后通过电子商务平台100管理他们的销售,其中渠道110A可以内部向电子商务平台100提供或者可以从电子商务渠道110B外部提供渠道110A。商家可以在他们的物理零售商店中、在弹出窗口(popup)处、通过批发、在电话上以及诸如此类进行销售,并且然后通过电子商务平台100管理他们的销售。商家可以采用这些中的所有或者任何组合,诸如通过利用POS设备152的物理店面来维持业务、通过线上商店138维持虚拟店面以及利用通信设施129来影响(leverage)客户交互和分析132以改进销售的概率。贯穿本公开,术语线上商店138和店面可以被同义地使用,以指代通过电子商务平台100提供存在的商家的线上电子商务,其中线上商店138可以指代由电子商务平台100支持的店面的多租户集合(例如,针对多个商家)或者指代单独的商家的店面(例如,商家的线上商店)。[0048] 在一些实施例中,客户可以通过客户设备150(例如,计算机、膝上型计算机、移动计算设备以及诸如此类)、POS设备152(例如,零售设备、售货亭、自动结账系统以及诸如此类)或者在本领域中已知的任何其他商务接口设备来进行交互。电子商务平台100可以使得商家能够通过线上商店138、通过在物理位置(例如,商家的店面或者别处)中的POS设备152到达客户,以通过经由电子通信设施129的对话以及诸如此类提升与客户的商务,为可用于到达客户并且与客户交互的真实或者虚拟路径提供用于到达客户并且促进商家服务的系统。[0049] 在一些实施例中,并且如在此进一步描述的那样,可以通过包括处理器和存储器的处理设施来实现电子商务平台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,每个都具有相似的功能性)。[0050] 在一些实施例中,可以通过由电子商务平台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浏览器(或者其他应用)相应地渲染页面。[0051] 在一些实施例中,可以通过电子商务平台100将线上商店138用于客户,其中客户可以浏览并且购买可获得的各种产品(例如,将它们添加到购物车,以及通过购买按钮立即购买以及诸如此类)。可以以透明的方式将线上商店138用于客户,而客户不必认识到它是通过电子商务平台100提供的(而不是直接从商家提供)。商家可以使用商家可配置的域名、可定制的HTML主题以及诸如此类来定制他们的线上商店138。商家可以通过主题系统来定制他们的web站点的外观和感觉,诸如其中商家可以通过改变他们的主题来选择并且改变其线上商店138的外观和感觉,同时在线上商店的产品层级内示出相同的基础产品和业务数据。可以通过主题编辑器、使得用户能够以灵活性定制他们的web站点的设计的设计接口来进一步定制主题。还可以使用改变诸如具体颜色、字体以及预构建(prebuilt)布局方案之类的方面的主题特定设置来定制主题。线上商店可以实现用于web站点内容的内容管理系统。商家可以创作博客帖子或者静态页面,并且诸如通过博客、文章以及诸如此类将它们发布到他们的线上商店138,以及配置导航菜单。商家可以将图像(例如,产品的图像)、视频、内容、数据以及诸如此类上传到电子商务平台100,诸如用于由系统进行存储(例如,作为数据134)。在一些实施例中,电子商务平台100可以提供用于重新调整图像尺寸、将图像与产品相关联、将文本添加到图像并且将该文本与图像相关联、添加针对新产品变体的图像、保护图像以及诸如此类的功能。[0052] 如在此描述的那样,电子商务平台100可以通过多个不同的渠道110A‑B为商家提供用于产品的交易设施,多个不同的渠道110A‑B包括如在此描述的线上商店138、通过电话、以及通过物理POS设备152。电子商务平台100可以包括与运行线上业务相关联的业务支持服务116、管理器114以及诸如此类,诸如提供与其线上商店相关联的域服务118、用于促进与客户的交易的支付服务120、用于提供针对所购买的产品的客户装运选项的装运服务122、与产品保护和责任相关联的风险和保险服务124、商家记账以及诸如此类。可以经由电子商务平台100或者与外部设施相关联地提供服务116,诸如通过用于支付处理的支付网关116、用于加快产品的装运的装运提供商112以及诸如此类。[0053] 在一些实施例中,电子商务平台100可以(例如,通过电子商务平台装运设施或者通过第三方装运承运人(carrier))提供集成的装运服务122,诸如为商家提供实时更新、跟踪、自动费率计算、批量订单准备、标签打印以及诸如此类。[0054] 图2描绘了针对管理器114的主页的非限制性实施例,所述主页可以示出关于日常任务、商店的近期活动以及商家可以采取的用以构建其业务的下一个步骤的信息。在一些实施例中,商家可以经由商家设备102诸如从台式计算机或者移动设备登录到管理器114,并且管理他们的线上商店138的方面,诸如查看线上商店138近期活动、更新线上商店138目录、管理订单、近期访问活动、总订购活动以及诸如此类。在一些实施例中,诸如在图2上示出的那样,商家可能能够通过使用侧边栏来访问管理器114的不同部分。管理器114的部分可以包括用于访问和管理商家的业务的核心方面的各种接口,所述商家业务的核心方面包括订单、产品、客户、可用报告和折扣。管理器114还可以包括用于管理针对商店的销售渠道的接口,所述销售渠道包括线上商店、对于客户而言可用于访问商店的(一个或多个)移动应用(移动App)、POS设备和/或购买按钮。管理器114还可以包括接口,用于管理安装在商家的账户上的应用(App);应用于商家的线上商店138和账户的设置。商家可以使用搜索栏来找到产品、页面或者其他信息。取决于商家正在使用的设备102或者软件应用,可以通过管理器114使得它们能够用于不同的功能性。例如,如果商家从浏览器登录到管理器114,则他们可能能够管理他们的线上商店138的所有方面。如果商家从他们的移动设备(例如,经由移动应用)进行登录,则他们可能能够查看他们的线上商店138的所有方面或者方面的子集,诸如查看线上商店138的近期活动、更新线上商店138的目录、管理订单以及诸如此类。[0055] 关于与商家的线上商店138的商务和商家的线上商店138的访客的更详细的信息可以通过获取报告或者度量来查看,诸如显示针对商家的总体业务的销售概要、针对活跃销售渠道的具体销售和参与数据以及诸如此类。报告可以包括获取报告、行为报告、客户报告、金融报告、营销报告、销售报告、定制报告以及诸如此类。商家可能能够诸如通过使用下拉菜单查看来自不同的时间段(例如,几天、几周、几个月以及诸如此类)的针对不同渠道110A‑B的销售数据。可以为想要商店的销售和参与数据的更详细视图的商家提供概览仪表板(dashboard)。可以提供在主度量部分中的活动提要(activityfeed),以图示商家账户上的活动的概览。例如,通过点击“查看所有近期活动”仪表板按钮,商家可能能够看见在其账户上的近期活动的更长提要(feed)。主页可以诸如基于账户状态、成长、近期客户活动以及诸如此类示出与商家的线上商店138相关的通知。可以提供通知以协助商家对过程导航,诸如捕捉支付、将订单标记为已履行、以及将完成的订单存档以及诸如此类。[0056] 电子商务平台100可以提供通信设施129和相关联的商家接口,用于提供电子通信和营销,诸如利用用于收集和分析在商家、客户、商家设备102、客户设备150、POS设备152以及诸如此类之间的通信交互的电子消息收发聚合设施来聚合和分析通信,诸如用于增加用于提供产品的销售的可能性以及诸如此类。例如,客户可能具有与产品相关的问题,这可能在客户和商家(或者代表商家的自动化的基于处理器的代理)之间产生对话,其中通信设施129对交互进行分析,并且向商家提供关于如何改进销售的可能性的分析。[0057] 电子商务平台100可以诸如通过安全卡服务器环境来提供用于与客户进行安全的金融交易的平台支付设施120。电子商务平台100可以诸如在支付卡行业数据(PCI)环境(例如,卡服务器)中存储信用卡信息,以调和(reconcile)财务、为商家开账单、在电子商务平台100金融机构账户和商家的银行账户之间执行自动化清算所(clearinghouse)(ACH)转账(例如,当使用资本时)以及诸如此类。这些系统可以具有Sarbanes‑OxleyAct(SOX)遵从和在其开发和操作中所需要的高级别的勤奋。平台支付设施120还可以诸如通过资本的借贷(例如,借贷资金、预付现金以及诸如此类)和保险的提供为商家提供金融支持。另外,电子商务平台100可以提供营销和合作伙伴服务的集合,并且控制电子商务平台100和合作伙伴之间的关系。它们还可以将新的商家与电子商务平台100连接并且利用电子商务平台100支持(onboard)新商家。这些服务可以通过使商家更容易跨电子商务平台100工作来使能商家成长。通过这些服务,可以经由电子商务平台100为商家提供帮助设施。[0058] 在一些实施例中,线上商店138可以支持大量独立管理的店面并且每天为各种各样的产品处理海量交易数据。交易数据可以包括客户联系信息、账单信息、装运信息、关于所购买的产品的信息、关于所提供的服务的信息、以及与通过电子商务平台100的业务相关联的任何其他信息。在一些实施例中,电子商务平台100可以将该信息存储在数据设施134中。可以对交易数据进行处理以产生分析132,所述分析132继而可以被提供给商家或者第三方商务实体,诸如提供通过仪表板接口、通过报告以及诸如此类提供的并且与线上商务相关的客户趋势、营销和销售见解、用于改进销售的推荐、对客户行为的评估、营销和销售建模、欺诈趋势以及诸如此类。电子商务平台100可以存储与业务和商家交易相关的信息,并且数据设施134可以具有增强、贡献、提炼以及提取数据的许多方式,其中随着时间,所收集的数据可以使能对电子商务平台100的方面的改进。[0059] 再次参考图1,在一些实施例中,电子商务平台100可以被配置有用于内容管理、任务自动化以及数据管理的商务管理引擎136,以使能对多个线上商店138的支持和服务(例如,与产品、库存、客户、订单、合作、供应商、报告、金融、风险与欺诈以及诸如此类相关),但是所述引擎是通过应用142A‑B可扩展的,应用142A‑B使能用于适应日益增长的各种商家线上商店、POS设备、产品、以及服务所要求的更大的灵活性和定制过程,其中应用142A可以在电子商务平台100的内部提供,或者可以从电子商务平台100的外部提供给应用142B。在一些实施例中,可以由提供平台100的相同方或者由不同方来提供应用142A。在一些实施例中,可以由提供平台100的相同方或者由不同方来提供应用142B。商务管理引擎136可以被配置用于通过诸如通过客户标识符、订单标识符、线上商店标识符以及诸如此类对功能和数据的划分(例如,共享)的灵活性和可扩展性。商务管理引擎136可以适应商店特定的业务逻辑,并且在一些实施例中,可以合并管理器114和/或线上商店138。[0060] 商务管理引擎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可以被配置为诸如通过利用用以防止降级的超时、队列、背压(back‑pressure)的配置以及诸如此类来维持响应性。[0061] 尽管隔离线上商店数据对于维持线上商店138和商家之间的数据隐私是重要的,但是可能存在用于跨商店收集和使用数据的原因,诸如例如,对订单风险评估系统或者平台支付设施而言,这两者都需要来自多个线上商店138的信息以良好地执行。在一些实施例中,不是违反隔离原则,可能优选的是将这些部件移出商务管理引擎136并且移动到电子商务平台100内的它们自己的基础设施中。[0062] 在一些实施例中,电子商务平台100可以提供平台支付设施120,该平台支付设施120是部件的另一个示例,所述部件利用来自商务管理引擎136的数据,但是可以位于外部,从而不违反隔离原则。平台支付设施120可以允许客户与线上商店138进行交互,以令他们的支付信息由商务管理引擎136安全地存储,使得他们仅必须输入它一次。当客户拜访不同的线上商店138时,即使他们之前从未在那里,平台支付设施120也可以回忆起他们的信息,以使能更快速和正确的结账。这可以提供跨平台的网络效果,其中随着更多的商家加入,电子商务平台100对于其商家变得更加有用,诸如因为存在因为关于客户购买的易用性而更经常地结账的更多客户。为了最大化该网络的效果,针对给定客户的支付信息可从线上商店的结账处检索,允许信息跨线上商店138全局可用。对于每个线上商店138能够连接到任何其他线上商店138以检索存储在那里的支付信息会将是困难并且容易出错的。结果,平台支付设施可以在商务管理引擎136的外部实现。[0063] 对于没有被包括在商务管理引擎136内的那些功能,应用142A‑B提供了一种将特征添加到电子商务平台100的方式。应用142A‑B可能能够访问和修改关于商家线上商店138的数据、通过管理器114执行任务、通过用户接口(例如,通过扩展/API显现(surface))为商家创建新的流程以及诸如此类。商家可以被使能以通过应用搜索、推荐和支持平台128或系统来发现并且安装应用142A‑B。在一些实施例中,核心产品、核心扩展点、应用、以及管理器114可以被开发成一起工作。例如,应用扩展点可以被构建在管理器114内部,使得可以通过应用的方式扩展核心特征,应用可以通过扩展将功能性交付给商家。[0064] 在一些实施例中,应用142A‑B可以通过接口140A‑B将功能性交付给商家,诸如其中应用142A‑B能够将交易数据显现给商家(例如,App:“引擎,使用嵌入式appSDK在移动和web管理中显现我的app数据”),和/或其中商务管理引擎136能够要求应用根据需求执行工作(引擎:“App,给我针对该结账的地方税款计算”)。[0065] 应用142A‑B可以支持线上商店138和渠道110A‑B、提供商家支持、与其他服务集成以及诸如此类。在商务管理引擎136可以向线上商店138提供服务的基础的情况下,应用142A‑B可以为商家提供满足具体和有时候是独特的需求的方式。不同的商家将具有不同的需求,并且因此可以受益于不同的应用142A‑B。可以通过使得能够根据应用为商家执行的功能的类型标记应用的应用分类法(taxonomy)(类别)的开发;通过支持搜索、排名和推荐模型的应用数据服务;通过诸如应用商店、主信息卡、应用设置页面之类的应用发现接口;以及诸如此类通过电子商务平台100更好地发现应用142A‑B。[0066] 应用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中运行的代码。[0067] 通过让合作伙伴通过应用开发改进并且扩展商家工作流程可以解决许多商家的问题,诸如与后勤(back‑office)操作相关联的问题(面向商家的应用142A‑B)以及在线上商店138中的问题(面向客户的应用142A‑B)。作为开展业务的一部分,许多商家每天将将移动和web相关应用于后勤任务(例如,推销、库存、折扣、履行以及诸如此类)以及线上商店任务(例如,与他们的线上店铺相关的应用,用于限时抢购、新产品推出以及诸如此类),其中应用142A‑B通过扩展/API140A‑B有助于使得产品在快速成长的市场中易于被查看并且购买。在一些实施例中,合作伙伴、应用开发者、内部应用设施以及诸如此类可以配备有软件开发套件(SDK),诸如通过在管理器114内创建沙盒化(sandbox)应用接口的框架。在一些实施例中,管理器114可能不具有对框架内发生什么的控制也意识不到框架内发生什么。SDK可以与用户接口套件结合使用,以产生模仿电子商务平台100的外观和感觉的接口,诸如充当电子管理引擎136的扩展。[0068] 利用API的应用142A‑B可以按需求拉取数据,但是它们还经常需要在更新发生时推送数据。可以在订阅模型中实现更新事件,更新事件诸如例如是客户创建、产品改变、或者订单取消。更新事件可以关于商务管理引擎136的改变的状态为商家提供需要的更新,诸如用于同步本地数据库、通知外部集成合作伙伴以及诸如此类。诸如通过更新事件订阅,更新事件可以使能该功能性,而不必一直轮询商务管理引擎136以检查更新。在一些实施例中,当与更新事件订阅相关的改变发生时,商务管理引擎136可以发布请求,诸如发布到预定义的回调URL。该请求的主体可以包含对象的新状态以及对动作或者事件的描述。在管理器设施114中可以手动地或者自动地(例如,经由API140A‑B)创建更新事件订阅。在一些实施例中,更新事件可以根据触发它们的状态改变被异步排队并且处理,这可以产生不被实时分发的更新事件通知。[0069] 在一些实施例中,电子商务平台100可以提供应用搜索、推荐以及支持平台128。该应用搜索、推荐以及支持平台128可以包括帮助应用的开发的开发者产品和工具、应用仪表板(例如,用来为开发者提供开发接口,提供给管理者以用于应用的管理,提供给商家以用于应用的定制以及诸如此类)、用于安装和提供关于提供对应用142A‑B的访问的许可的设施(例如,用于公共访问,诸如在在被安装之前必须符合标准的情况中,或用于商家的私人使用)、应用搜索以使得商家容易地搜索满足他们的线上商店138的需要的应用142A‑B、应用推荐以为商家提供关于他们可以如何通过他们的线上商店138改进用户体验的建议、对商务管理引擎136内的核心应用能力的描述以及诸如此类。这些支持设施可以由任何实体执行的应用开发利用,包括商家开发他们自己的应用142A‑B、第三方开发者开发应用142A‑B(例如,通过商家签约的、他们自己开发以提供给公众的、签约以与电子商务平台100相关联低使用以及诸如此类的),或者应用142A或者142B由与电子商务平台100相关联的内部个人资源开发。在一些实施例中,应用142A‑B可以被分配有应用标识符(ID),诸如用于链接到应用(例如,通过API)、搜索应用、做出应用推荐以及诸如此类。[0070] 商务管理引擎136可以包括电子商务平台100的基础功能,并且通过API140A‑B向应用142A‑B暴露这些功能。API140A‑B可以使能通过应用开发构建的不同类型的应用。应用142A‑B可能能够满足针对商家的各种各样的需要,但是可以被粗略地分组为三个类别:面向客户的应用、面向商家的应用、集成应用以及诸如此类。面向客户的应用142A‑B可以包括线上商店138或者渠道110A‑B,它们是其中商家可以列出产品并且使产品被购买的地方(例如,线上商店、用于限时抢购的应用(例如,商品或来自第三方来源的机会性销售机会)、移动商店应用、社交媒体渠道、用于提供批发购买的应用以及诸如此类)。面向商家的应用142A‑B可以包括如下应用,所述应用允许商家管理他们的线上商店138(例如,通过与web或者web站点或者与移动设备相关的应用)、运行他们的业务(例如,通过与POS设备相关的应用)、使他们的业务成长(例如,通过与装运(例如,代发货(dropshipping)相关的应用、自动代理的使用、过程流程开发和改进的使用)以及诸如此类。集成应用可以包括如下应用,所述应用提供参与业务的运行的有用集成,诸如装运提供商112和支付网关。[0071] 在一些实施例中,应用开发者可以使用应用代理来从外部位置取数据并且将其显示在线上商店138的页面上。在这些代理页面上的内容可以是动态的、能够被更新以及诸如此类。应用代理对于显示图像图库(gallery)、统计、定制表单以及其他种类的动态内容而言可以是有用的。电子商务平台100的核心应用结构可以虑及将在应用142A‑B中构建的越来越多的商家体验,使得商务管理引擎136可以保持专注于更常用的商务的业务逻辑。[0072] 电子商务平台100通过使得商家能够以灵活并且透明的方式与客户连接的经策划的(curated)系统架构来提供线上购物体验。可以通过实施例示例购买工作流程来更好地理解典型的客户体验,其中客户在渠道110A‑B上浏览商家的产品,将他们意图购买的东西添加到他们的购物车,继续进行结账,并且为他们的购物车的内容进行支付,导致商家的订单的创建。然后,商家可以复查并且履行(或者取消)订单。然后,产品被递送给客户。如果客户不满意,则他们可能将产品返还给商家。[0073] 在示例实施例中,客户可以在渠道110A‑B上浏览商家的产品。渠道110A‑B是其中客户可以查看并且购买产品的地方。在一些实施例中,渠道110A‑B可以被建模为应用142A‑B(可能的例外是线上商店138,其被集成在商务管理引擎136内)。推销部件可以允许商家描述他们希望销售什么以及他们在何处销售它。在产品和渠道之间的关联可以被建模为产品发布,并且由渠道应用诸如经由产品列表API进行访问。产品可以具有许多选项,如尺寸和颜色,以及将可用选项扩充成所有选项的特定组合的许多变体,如特小的和绿色的变体,或者大尺寸的和蓝色的变体。产品可以具有至少一种变体(例如,“默认变体”是为没有任何选项的产品创建的)。为了促进浏览和管理,可以将产品分组为集合、为产品提供产品标识符(例如,库存单位(SKU))以及诸如此类。可以通过将产品手动分类成一类(例如,定制集合)、通过构建用于自动分类的规则集(例如,智能集合)以及诸如此类来构建产品的集合。可以通过虚拟或者增强现实接口以及诸如此类将产品作为2D图像、3D图像、旋转视图图像进行查看。[0074] 在一些实施例中,客户可以将他们意图购买的事物添加到他们的购物车(在替代实施例中,产品可以被直接购买,诸如通过如在此描述的购买按钮)。客户可以将产品变体添加到他们的购物车。购物车模型可以是渠道特定的。线上商店138购物车可以由多个购物车行项构成,其中每个购物车行项跟踪针对产品变体的量。商家可以使用购物车脚本基于客户的购物车的内容来向客户提供特别促销。由于将产品添加到购物车并不暗示来自客户或者商家的任何承诺,并且购物车的寿命可能是大约数分钟,所以在一些情况下购物车可能被保持到短暂的数据存储。然而,在许多实现中,虽然客户会话可能仅持续几分钟,但是商家和/或客户可能希望具有返回到在先前会话中构建的购物车的可能性。因此,购物车(例如填充有产品项目数据和用户标识符的购物车数据结构)可以存储在平台100上的永久存储器中。[0075] 在典型会话中,客户在将一个或多个项目添加到他们的购物车之后的某个时间点继续进行结账。结账部件可以将web结账实现为面向客户的订单创建过程。结账API可以被提供为面向计算机的订单创建过程,一些渠道应用使用该过程来代表客户(例如,针对销售点)创建订单。可以根据购物车创建结账,并且记录客户的信息,诸如邮件地址、账单以及装运详情。在结账时,商家承诺定价。如果客户没有完成交易,则电子商务平台100可以将购物车数据结构保留在存储器中,使得客户可以在随后的会话中返回到部分完成的购物车(例如,在放弃的购物车特征中)。[0076] 结账可以基于客户的装运地址来计算税款和装运成本。结账可以将税款的计算委托给税款部件并且将装运成本的计算委托给递送部件。定价部件可能使得商家能够创建折扣代码。折扣可以被商家用来吸引客户并且评估营销活动的表现。可以诸如通过价格规则(例如在满足时意味着权利的集合的先决条件的集合)来在相同平台件的顶部上实现折扣和其他定制价格系统。例如,先决条件可以是诸如“订单小计大于 ”或者“装运成本在之下”之类的条款,并且权利可以是诸如“整个订单20%的折扣”或者“产品X、Y以及Z减去 ”之类的条款。[0077] 然后,客户对其购物车的内容进行支付,导致针对商家的订单的创建。渠道110A‑B可以使用商务管理引擎136来移动去往并且来自客户和商家的钱、货币或者值的存储(astoreofvalue)(诸如美元(dollar)或者加密货币)。与各种支付提供商(例如,线上支付系统、移动支付系统、数字钱包、信用卡网关以及诸如此类)的通信可以在支付处理部件中实现。与支付网关106的实际交互可以通过卡服务器环境来提供。在一些实施例中,支付网关106可以接受国际支付,诸如与主要的(leading)国际信用卡处理器集成。卡服务器环境可以包括卡服务器应用、卡接收器(cardsink)、主管领域(hostedfields)以及诸如此类。该环境可以充当敏感信用卡信息的安全看门人。在一些实施例中,大多数过程可以由支付处理作业来进行协调(orchestrate)。商务管理引擎136可以诸如通过异地(offsite)支付网关106(例如,其中客户被重新导向到另一个web站点)、手动(例如,现金)、线上支付方法(例如,线上支付系统、移动支付系统、数字钱包、信用卡网关以及诸如此类)、礼品卡以及诸如此类支持很多其他支付方法。在结账过程的结束时,创建订单。订单是在商家和客户之间的销售的合同,其中商家同意提供在订单上列出的货物和服务(例如,订单行项目、装运行项目以及诸如此类)并且客户同意提供支付(包括税款)。可以在销售部件中对该过程建模。不依赖于商务管理引擎136结账的渠道110A‑B可以使用订单API来创建订单。一旦订单被创建,就可以将订单确认通知发送给客户,并且经由通知部件将下订单通知发送给商家。当支付处理作业开始时,可以预留库存,以避免过度销售(例如,商家可以根据每个变体的库存策略来控制该行为)。库存预留可能具有短的时间跨度(数分钟)并且可能需要非常快并且可放缩,以支持限时抢购(例如,在短时间内提供的折扣或者促销,诸如以冲动购买为目标)。如果支付失败,则预留被释放。当支付成功并且创建了订单时,预留被转换成分配给特定位置的长期库存承诺。库存部件可以记录变体囤积于何处,并且跟踪使能了库存跟踪的变体的量。可以将产品变体(表示产品列表的模板的面向客户的概念)与库存项目(面向商家的概念,表示管理其量和位置的项目)解耦合。库存水平部件可以保持对如下内容的跟踪:可用于销售、承诺给订单或从库存转移部件(例如,从供应商)传入的量。[0078] 然后,商家可以复查并且履行(或者取消)订单。复查部件可以实现业务过程商家的用途,以在实际履行订单之前确保订单是适合于履行的。订单可能是欺诈性的、要求验证(例如,ID检查)、具有要求商家等待以确保他们将接收到他们的资金的支付方法以及诸如此类。风险和推荐可以被保持在订单风险模型中。订单风险可能是从欺诈检测工具生成的、由第三方通过订单风险API提交的以及诸如此类。在继续履行之前,商家可能需要捕捉支付信息(例如,信用卡信息)或者等待接收到它(例如,经由银行转账、支票以及诸如此类)并且将订单标记为已支付。商家现在可以准备产品以用于进行递送。在一些实施例中,该业务过程可以由履行部件来实现。履行部件可以基于库存位置和履行服务将订单的行项目分组为逻辑履行工作单元。商家可以复查、调整工作单元,并且诸如通过在商家挑选产品并且将产品包装在盒子中、购买装运标签并且输入其跟踪号码、或者仅将该项目标记为已履行时使用的手工履行服务(例如,在商家管理的位置处)触发相关的履行服务。定制履行服务可以发送电子邮件(例如,不提供API连接的位置)。API履行服务可以触发第三方,其中第三方应用创建履行记录。旧有履行服务可以触发从商务管理引擎136到第三方的定制API调用(例如,由Amazon履行)。礼品卡履行服务可以提供(例如,生成号码)并且激活礼品卡。商家可以使用订单打印机应用来打印包装单(packingslip)。可以在项目被包装在盒子中并且准备好进行装运、已装运、跟踪、递送、验证为已经由客户接收以及诸如此类时执行履行过程。[0079] 如果客户不满意,他们可能能够将(一个或多个)产品返还给商家。商家可能经历的“取消销售(un‑sell)”项目的业务过程可以由返还部件来实现。返还可以由各种各样的不同动作构成,各种各样的不同动作诸如是重新囤货(restock),其中曾被销售的产品实际上回到了业务中,并且是可再次销售的;退款,其中从客户处收取的钱被部分或者全部返还;会计调整,其指示退款了多少钱(例如,包括是否存在任何重新囤货费用,或者没有被返还并且保留在客户手中的货物);以及诸如此类。返还可以表示对销售的合同(例如,订单)的改变,并且其中电子商务平台100可以使商家意识到关于法律义务的遵从性问题(例如,关于税款)。在一些实施例中,电子商务平台100可以使得商家能够保持对销售的合同随时间的改变的跟踪,诸如通过销售模型部件来实现(例如,仅追加的基于日期的账本(ledger),其记录对项目所发生的与销售相关的事件)。[0080] 使用电子商务平台在图像捕获期间生成推荐的实现[0081] 电子商务平台100可以帮助或协助处于生成其产品图像过程中的商家。图3图示了图1的电子商务平台100,但是包括产品图像推荐引擎300。产品图像推荐引擎300是计算机实现的系统的示例,该系统获得并分析由用户生成的产品图像,并主动向用户提供推荐以改进产品图像一致性。在示例中,用户是正在拍摄其产品以在线上商店138中呈现的商家。在拍摄其产品的过程期间,产品图像推荐引擎确定线上商店138内特定集合的一个或多个产品的先前获得的图像所共有的一个或多个基线图像特征。商家设备102发送包括正被拍摄的产品的图像数据的实况相机流。产品图像推荐引擎300将所确定的一个或多个基线图像特征与正被拍摄的产品的图像数据的一个或多个图像特征进行比较,并向商家提供调整一个或多个图像特征以改进产品图像一致性的一个或多个推荐。[0082] 尽管产品图像推荐引擎300在图3中被图示为电子商务平台100的不同部件,但这仅是示例。产品图像推荐引擎也可以或者取而代之地由电子商务平台100的另一个部件提供。在一些实施例中,应用142A‑B中的任一个或两者提供对商家可用的产品图像推荐引擎。此外,在一些实施例中,商务管理引擎136提供产品图像推荐引擎。电子商务平台100可以包括由一方或多方提供的多个产品图像推荐引擎。多个产品图像推荐引擎可以以相同的方式、相似的方式和/或以不同的方式来实现。此外,产品图像推荐引擎的至少一部分可以在商家设备102上实现。例如,商家设备102可以作为软件应用在本地存储和运行产品图像推荐引擎。[0083] 如下面进一步详细讨论的,产品图像推荐引擎300可以实现在此描述的至少一些功能性。尽管下面描述的实施例可以与电子商务平台100相关联地实现,但是下面描述的实施例不限于图1到3的特定电子商务平台100。因此,下面的实施例将关于任何电子商务平台更一般地呈现。更广泛地,尽管以下是关于电子商务平台的示例描述的,但是本申请的主题可以被更广泛地应用。例如,它可以适用在其他场景中,在所述场景中,诸如例如,当准备一组图像板以便在指南或教科书(例如,示出特定类型或类的不同项目)、年鉴、目录、杂志等中使用的时,产生一组相关图像的一致照片是合期望的。[0084] 产品图像[0085] 如在此所使用的,术语“产品图像”是指说明或描绘产品的任何图像。在特定实施例中,产品图像用于呈现或显示在线上商店中出售的产品。例如,产品图像也可以或者取而代之地用于其他形式的媒体中,诸如广告或文章中。[0086] 生成产品图像的方式在此不受限制。例如,可以至少部分地通过使用相机或扫描仪捕获物理产品或对象的图像来生成产品图像。还考虑了至少部分使用计算机生成图像(CGI)生成的产品图像。产品图像可以是二维的(2D)或三维的(3D)。[0087] 在一些实施例中,产品图像被动画化。例如,产品图像可以包括产品的视频。产品的3D扫描可以转换为动画产品图像,其从各种角度图示产品。[0088] 如上面指出的,客户通常基于产品如何在产品图像中呈现来判断产品的质量。这可能与网上购物特别相关,因为客户通常没有检查实物产品的选项,并且因此客户可以基于产品的相关联产品图像来判断产品。在一些情况下,客户可能受到产品图像质量的影响。[0089] 如在此所使用的,产品图像的“质量”与由产品图像传达的产品的感知价值有关。影响产品图像质量的因素不限于用于生成产品图像的设备的属性。作为举例,用于拍摄产品的相机的属性和拍摄产品的条件均可能影响所得产品图像的质量。高质量产品图像是以吸引客户的方式描绘产品的图像,并且通常与更高的市场成功相关联。相比之下,低质量的产品图像是以不清晰、模糊或以其他方式不吸引客户的方式描绘产品的图像。低质量的产品图像可能导致更低的市场成功,尤其是当这些低质量的产品图像与线上商店中类似产品的高质量产品图像一起显示给客户时。因此,许多商家期望他们的产品具有高质量的产品图像。[0090] 市场成功与商品在商务市场中接受得多好相关。在一些情况下,产品图像的市场成功至少部分是依据产品图像中显示的产品的市场成功来衡量的。然而,一般来说,产品图像的市场成功可以用各种方式中的任何一种来衡量或量化。以下是可衡量度量或参数的非限制性列表,所述度量或参数指示产品图像的市场成功:[0091] ·销售数据,诸如产品的销售数量和/或金额量;[0092] ·相对于相似产品销售总数的产品销售数量;[0093] ·页面视图,包括查看产品或产品图像的客户数量(例如,与产品图像相关联的web站点链接的点击率);[0094] ·放大产品图像的客户;[0095] ·客户查看产品图像花费的平均时间;[0096] ·产品图像是否由专业产品摄影师拍摄;[0097] ·产品图像或与产品图像相关联的产品的社交媒体再共享;[0098] ·与同一商家销售的其他产品图像的一致性或相似性(例如,与同一商家销售的其他产品图像具有一致或相似参数值的产品图像,其进一步的细节在下面提供);和[0099] ·与同一商家销售的集合中的其他产品图像的一致性或相似性(例如,与同一商家销售的集合中的其他产品图像具有一致或相似参数值的产品图像,其进一步的细节在下面提供。[0100] 这些参数中被确定为满足或超过一个或多个期望的目标值的任何一个或任何组合可以指示高市场成功。另一方面,这些参数中被确定为落在期望的一个或多个目标值之下的任何一个或任何组合可以指示低市场成功。换句话说,改进产品图像的市场成功(如经由上述任何一个参数所指示或衡量的)可以直接或间接导致产品销量的增加。因此,在此提供的一些实施例涉及在图像捕获期间生成推荐,以改进与集合中的其他产品图像的一致性。[0101] 在图像捕获期间生成推荐的实现[0102] 图4是图示了用于在图像捕获期间生成推荐的示例系统400的框图。系统400包括产品图像推荐引擎402、网络426和商家设备430。[0103] 产品图像推荐引擎402包括处理器404、存储器406和网络接口408。处理器404可以由执行存储在存储器406中的指令的一个或多个处理器来实现。替代地,处理器404的一些或全部可以使用专用电路来实现,例如专用集成电路(ASIC)、图形处理单元(GPU)或编程的现场可编程门阵列(FPGA)。[0104] 在该实施例中,存储器406存储产品图像特征模型410,该产品图像特征模型410可以用于改进特定集合内的图像的产品图像一致性。换句话说,产品图像特征模型410可以存储特定集合内的一个或多个产品图像的平均图像特征。这样的图像特征的非限制性示例包括:[0105] ·图像分辨率;[0106] ·图像的像素密度;[0107] ·图像亮度;[0108] ·景深;[0109] ·焦点;[0110] ·图像中产品的尺寸(例如,依据产品所占据的面积的百分比和/或产品所占据的像素数量);[0111] ·图像中产品的角度或定向;和[0112] ·产品与背景之间的对比度。[0113] 产品图像特征模型410特定于或取决于特定的商家和/或特定的产品集合。例如,如果商家经营销售多个不同咖啡杯的线上商店,则可以生成特定于该商家和咖啡杯的产品图像特征模型。[0114] 产品图像特征模型410可以以各种方式中的任何一种来实现。产品图像特征模型的示例实现包括查找表。然而,也考虑了产品图像模型的其他实现。[0115] 在查找表实现中,表可以存储不同产品图像特征的列表、每个产品图像特征的值和阈值。这些值可以基于集合中一个或多个产品的一个或多个先前捕获的产品图像来确定。例如,所述值可以基于集合中一个或多个先前捕获的产品图像的图像特征的平均值来确定。[0116] 存储在查找表中的产品图像特征可以被称为基线图像特征。不同的查找表可以用于不同的产品集合和/或不同商家的不同产品类型。例如,线上商店中针对特定商家的每个集合可以具有相关联的查找表。[0117] 图5是以查找表500的形式图示示例产品图像特征模型的图。查找表500特定于特定商家的咖啡杯集合中的产品图像。查找表定义了产品图像的多个基线图像特征的值和阈值。该值是集合中先前获得的产品图像的平均值。阈值定义了图像特征必须与基线图像特征有多接近才被认为是一致的。在查找表500中定义的图像特征包括图像分辨率、图像亮度、景深、焦点、杯子的尺寸、杯子的倾斜度、杯子的方位角和对比度,所述图像特征在下面进一步详细讨论。[0118] 图像分辨率与图像中的像素数量有关。在查找表500中,以百万像素为单位衡量图像分辨率。图像分辨率的平均值为1500万像素,这指示对于集合中先前获得的产品图像,图像分辨率的平均值为1500万像素。阈值设置为50万像素,并且这指示1450万像素与1550万像素之间的任何图像分辨率被认为足够接近平均值以被认为是一致的。[0119] 平均图像亮度与图像的整体亮度或暗度有关。在查找表500中,平均图像亮度被定义为最大图像亮度的百分比。在实施例中,可以确定平均图像亮度,例如,使用变换算法将图像的像素转换成色调、饱和度、值(HSV),并确定值V的平均值。最大图像亮度(100%)是当每个像素设置为其亮度值从而产生完全白色的图像时。0%的图像亮度是完全黑色的图像。在其他实施例中,可以不同地定义图像亮度。图像亮度的平均值为55%,这指示对于集合中先前获得的产品图像,图像亮度的平均值为55%。阈值设置为1%,并且这指示54%和56%之间的任何图像亮度被认为足够接近平均值以被认为是一致的。[0120] 在查找表500中,景深与咖啡杯在产品图像中聚焦多少有关。景深的平均值为21cm,这指示对于集合中先前获得的产品图像,景深的平均值为21cm。阈值设置为1cm,这指示19cm和22cm之间的任何景深被认为足够接近平均值以被认为是一致的。[0121] 在查找表500中,焦点是相对于咖啡杯的前表面测量的。咖啡杯的前表面可能是任何图示被示出的地方,并且焦点理想地处于咖啡杯的该表面,以更清楚地示出这些图示。焦点的平均值为0.5cm,这指示对于集合中先前获得的产品图像,焦点的平均值为0.5cm。阈值设置为0.05cm,并且这指示0.45cm和0.55cm之间的任何焦点被认为足够接近平均值以被认为是一致的。[0122] 在查找表500中,杯子的尺寸与产品图像中咖啡杯的尺寸相关。这是依据咖啡杯在产品图像中所占据的像素百分比来衡量的。填充整个产品图像的图像将被认为占据了产品图像中100%的像素。杯子尺寸的平均值为70%,这指示对于集合中先前获得的产品图像,杯子尺寸的平均值为70%。阈值设置为2%,并且这指示68%和72%之间的任何杯子尺寸被认为足够接近平均值以被认为是一致的。[0123] 在查找表500中,杯子的倾斜度定义了产品图像中咖啡杯相对于水平的角度。在实施例中,杯子的倾斜度可以通过例如确定用户设备的传感器的定向来确定。倾斜度0°表示看起来静置在产品图像的平坦表面上的咖啡杯。与0°不同的倾斜值可能是由于咖啡杯在有斜坡的表面上,或者是由于相机相对于水平倾斜。杯子的平均倾斜度为0.2°,这指示对于集合中先前获得的产品图像,杯子的平均倾斜度为0.2°。阈值设置为0.01°,并且这指示杯子在0.19°和0.21°之间的任何倾斜度被认为足够接近平均值以被认为是一致的。[0124] 杯子的方位角定义了在产品图像中视野内的咖啡杯的部分或侧面。在查找表500中,方位角是相对于咖啡杯的手柄定义的。具有0°方位角的咖啡杯的产品图像将具有指向相机的手柄。具有90°方位角的咖啡杯的产品图像将具有从产品图像的侧面查看的咖啡杯手柄,从而允许客户欣赏手柄的形状。杯子的平均方位角是91°,这指示对于集合中先前获得的产品图像,杯子的平均方位角是91°。阈值设置为1°,并且这指示杯子在90°和92°之间的任何方位角被认为足够接近平均值以被认为是一致的。[0125] 对比度与咖啡杯从产品图像背景多么好地突出相关。在查找表500中,对比度被定义为咖啡杯的平均亮度与背景的平均亮度之比。该对比度可以大于一或小于一。例如,深色咖啡杯和浅色背景将产生小于一的对比度,而浅色咖啡杯和深色背景将产生大于一的对比度。在查找表500中,假设咖啡杯是浅色咖啡杯以及深色背景。照此,杯子的平均对比度为2:1,这指示对于集合中先前获得的产品图像,杯子的平均对比度为3:1。阈值设置为0.5,这指示2.95:1和3.05:1之间的任何对比度被认为足够接近平均值以被认为是一致的。[0126] 尽管包括在查找表500中的每个基线图像特征被示为基于集合中的一个或多个先前获得的产品图像的平均基线图像特征,但是将领会,替代方案是可用的。例如,可以使用单个先前获得的产品图像来确定基线图像特征。在该示例中,每个基线图像特征可以通过分析单个先前获得的产品图像来确定。换句话说,每个基线图像特征将不是平均基线特征,而是将被设置为等同于单个先前获得的产品图像中的基线图像特征。在另一个示例中,可以使用默认基线图像特征。例如,可以将正方形纵横比设置为默认值。在该示例中,默认基线图像特征可以由用户调整或覆盖,并且调整或覆盖的值可以被设置为用户的新的默认基线图像特征。[0127] 应当指出,查找表500中所示的特定基线图像特征、值和阈值仅作为举例提供。该示例绝不是限制性的。无论是对于咖啡杯还是另一类型的产品,其他查找表可以包括不同数量的基线图像特征、不同类型的基线图像特征、用于表征基线图像特征的不同度量、不同的平均值和不同的阈值。还考虑到查找表的不同于图5中所示格式的其他格式。[0128] 产品图像推荐引擎402可以使用查找表500来在产品的图像捕获期间生成推荐,以改进特定集合内的图像的图像一致性。例如,在图像捕获期间,如果任何图像特征不在查找表500中定义的基线图像特征的阈值内,则该图像特征可以被认为与特定集合内的其他产品图像不一致。[0129] 再次参考图4,存储器406还存储产品图像特征模型生成器412,其便于产品图像特征模型410的生成。一旦产品图像特征模型410被生成,当新数据变得可用时,它可以被更新。例如,当用户拍摄一个或多个新产品图像并将其添加到集合中时,当确定基线图像特征的平均值时,可以更新产品图像特征模型410以包括新产品图像。产品图像特征模型生成器412也可以促进这种更新。[0130] 在一些实现中,产品图像特征模型生成器412提供可由处理器404执行的软件应用,并允许用户选择或取消选择集合中的一个或多个先前获得的产品图像以在生成产品图像特征模型410时使用或忽略。[0131] 在一些实现中,产品图像特征模型生成器412提供可由处理器404执行的软件应用,并允许用户手动更新产品图像特征模型410的至少一部分。例如,产品图像特征模型生成器412可以生成查找表,并允许用户手动调整查找表中的阈值。[0132] 存储器406存储产品图像特征模型生成器412用于生成查找表的数据416。数据416可以从电子商务平台中先前获得的产品图像中获取。这些先前获得的产品图像可以包括用于和/或已经用于在线上商店上显示待售产品的产品图像。在一些实现中,数据416可以由电子商务平台的数据设施(诸如,例如图1的数据设施134)提供。数据416可以形成存储与电子商务相关的其他信息的更大数据集的一部分。替代地,数据416可以是特定于产品图像推荐的数据集。产品图像推荐引擎402可以连续或周期性地获取新信息并将其存储在数据416中。随着新信息变得可用,较旧的信息也可以从数据416中移除。[0133] 对于特定的先前获得的产品图像,数据416可以存储以下信息中的任何一个或全部:[0134] ·产品类型;[0135] ·产品集合;[0136] ·产品图像所属的商家;或者[0137] ·产品图像的图像特征。[0138] 存储器406进一步包括图像分析器414。图像分析器414可以被配置为接收产品图像,并且可以确定产品图像的图像特征。在一些情况下,图像分析器414用于确定一个或多个先前获得的产品图像的图像特征,以便存储在数据416中。图像分析器414也可以或者取而代之地用于确定作为来自商家的相机实况流的一部分接收的产品图像的产品图像特征。[0139] 在一些实现中,图像分析器414是或包括由处理器404执行的图像分析算法。图像分析算法可以包括图像分割过程,以定位产品图像中产品与背景之间的边界。例如,当确定某些图像特征、诸如产品图像被产品所占据的百分比时,这可能有帮助。[0140] 图像分析算法的示例是尺度不变特征变换(SIFT)。SIFT算法从目标图像中提取感兴趣的点,在SIFT框架中称为关键点。提取的关键点携带它们自己的位置、尺度和旋转信息,这有助于检测和描述图像的特征。然后,检测到的特征可以用于确定产品图像的图像特征。关于SIFT算法和几个其他示例图像分析算法的进一步细节可以在RichardSzeliski的ComputerVision:AlgorithmsandApplications(Springer,2010)中找到,其内容通过引用以其整体在此并入。[0141] 产品图像推荐引擎402中的网络接口408被提供用于通过网络426的通信。网络接口408的结构是特定于实现的。例如,在一些实现中,网络接口408可以包括网络接口卡(NIC)、计算机端口(例如,插头或电缆连接到的物理插座)和/或网络插口。[0142] 商家设备430是用户设备的示例。商家设备430可以是商家拥有和/或使用的移动电话、平板设备、膝上型设备或计算机。商家设备430包括处理器432、存储器434、相机436、用户接口438和网络接口440。用户接口的示例是显示屏(其可以是触摸屏)、键盘和/或鼠标。网络接口440被提供用于通过网络426进行通信。网络接口440的结构将取决于商家设备430如何与网络426对接。例如,如果商家设备430是移动电话或平板设备,则网络接口440可以包括具有天线的发射机/接收机,以向/从网络426发送和接收无线传输。如果商家设备是用网络电缆连接到网络的个人计算机,则网络接口440可以包括例如NIC、计算机端口和/或网络插口。处理器432直接执行或指示由商家设备430执行的所有操作。这些操作的示例包括处理从用户接口438接收的用户输入,准备用于通过网络426传输的信息,处理通过网络426接收的数据,以及指示显示屏显示信息。处理器432可以由执行存储在存储器434中的指令的一个或多个处理器来实现。替代地,处理器432的一些或全部可以使用专用电路(诸如ASIC、GPU或编程FPGA)来实现。相机436被提供来拍摄照片,这些照片可以被存储在存储器434中。相机436是用于生成对象图像的设备的一个示例。例如,商家设备也可以或者取而代之地包括诸如扫描仪之类的其他设备。尽管相机436被示为商家设备430的组件,但是相机可以替代地与商家设备分离实现,并且例如经由有线或无线连接与商家设备通信。[0143] 在图4中,作为举例示出了一个商家设备。一般而言,多于一个的商家设备可以与产品图像推荐引擎402通信。[0144] 产品图像推荐引擎402可以以多种方式中的任何一种来实现。例如,产品图像推荐引擎402可以由电子商务平台实现,或者作为电子商务平台提供的核心功能,或者由电子商务平台支持的应用实现。产品图像推荐引擎402也可以或者取而代之地在电子商务平台之外实现。在一些实施例中,产品图像推荐引擎部分或全部在诸如商家设备430的用户设备上实现。例如,软件应用可以安装在用户设备上,该用户设备在本地(即,在用户设备上)执行图像分析并生成推荐。软件应用可以从服务器下载产品图像特征模型410和/或图像分析器414,该服务器可以是也可以不是产品图像推荐引擎或电子商务平台的一部分。[0145] 当用户在捕获产品图像的过程中时,系统400可以向用户提供推荐。下面参考图6描述了用于在产品的图像捕获期间生成推荐的示例方法600。方法600可以由具有用于使计算设备实行所描述操作的合适计算机可执行指令的计算设备来实现。指令可以通过在计算设备上执行的应用的方式来实现。方法600可以全部或部分地由诸如商家设备430(图4)的用户设备来实现。商家设备430(图4)可以利用产品图像推荐引擎402。在一些实现中,用户设备可以将方法600的至少一些操作卸载到外部设备,诸如例如卸载到可以是产品图像推荐引擎402(图4)或者电子商务平台的一部分的服务器。[0146] 方法600包括从用户设备中的相机获得相机实况流,该相机实况流包括特定产品的图像数据(步骤610)。[0147] 在该实施例中,启动相机功能以从用户设备的相机获得实时实况流图像。实时实况流提供来自相机的图像流,其可以被称为实况模式、预览模式或取景器模式。可以使用例如图像处理器对图像实况流进行预处理。在一些情况下,该处理包括用于标识和/或跟踪特定产品的特征检测。[0148] 对实况流的处理产生经处理的实况流。该处理可以包括例如裁剪图像以获得经裁剪的实况流和/或缩放图像以获得经缩放的实况流。经处理的实况流可以显示为实况流。[0149] 该处理可以包括例如更改与检测到的特定产品相邻的图像部分,例如图像的背景部分。背景的更改可以包括模糊背景或者用统一的颜色值填充背景。[0150] 该处理可以包括例如更改实况流的图像内的图像参数。图像参数可以包括例如亮度、色调、饱和度、白平衡或其他这样的参数。[0151] 特定产品的检测可以采用特征检测,并且在一些情况下,可以由与预期物理项目相关联的一组定义的形状或特征来引导。示例可以包括盒子、罐子、瓶子、纸箱、袋子或其他这样的零售包装。在服装零售商的示例情况下,示例物理项目可以是服装形状。特征检测可以包括用于标识边缘、斑点、拐角的任何合适的技术,并且可以获得与图像中所标识的感兴趣斑块相关的特征描述符或特征向量。可以通过尝试将特征描述符与特征库或数据库相匹配来分析特征描述符。该分析可以使用尺度不变特征变换(SIFT)或其他这样的图像分析技术来以数学方式描述局部特征,并将它们与特征数据库中的条目进行比较,以便尝试识别对象。各种计算机视觉技术可以用在实现特征检测中。[0152] 在一些情况下,特定产品的检测可以进一步包括数据提取。数据提取可以包括针对例如感兴趣区域中的标志或图形的进一步特征检测。在一些情况下,可以采用文本识别算法,如光学字符识别(OCR),以从包含特定产品的图像部分提取文本。在一些情况下,特征检测可以用于标识相关联的标签、货架标签、悬挂标签或关于特定产品的其他标识数据。[0153] 方法600包括确定集合的一个或多个产品的图像所共有的一个或多个基线图像特征(步骤620)。[0154] 在该实施例中,步骤620要求获得集合中一个或多个产品的图像。该集合是特定产品将作为其一部分的产品集合。示例集合可以是“咖啡杯”,并且照此获得了由用户先前捕获的一个或多个咖啡杯的图像。该示例中的特定产品也是咖啡杯。[0155] 在实施例中,根据图7中所示的方法700,可以标识特定产品,并且可以基于标识的特定产品获得一个或多个产品的图像。方法700可以由具有用于使计算设备实行所描述操作的合适计算机可执行指令的计算设备来实现。指令可以通过在计算设备上执行的应用的方式来实现。方法700可以全部或部分地由诸如商家设备430(图4)的用户设备来实现。商家设备430(图4)可以利用产品图像推荐引擎402。在一些实现中,用户设备可以将方法700的至少一些操作卸载到外部设备,诸如例如卸载到可以是产品图像推荐引擎402(图4)或者电子商务平台的一部分的服务器。[0156] 方法700包括分析特定产品的图像数据以标识特定产品(步骤710)。步骤710可以例如使用图像分析器414(图4)来执行。在该实施例中,可以分析相机实况流包括的图像数据来标识特定产品。例如,特定产品的标识可以采用特征检测,并且在一些情况下,可以由与预期物理项目相关联的一组定义的形状或特征来引导。特征检测可以包括用于标识边缘、斑点、拐角的任何合适的技术,并且可以获得与图像中所标识的感兴趣斑块相关的特征描述符或特征向量。可以通过尝试将特征描述符与特征库或数据库相匹配来分析特征描述符。该分析可以使用尺度不变特征变换(SIFT)或其他这样的图像分析技术来以数学方式描述局部特征,并将它们与特征数据库中的条目进行比较,以便尝试识别对象。各种计算机视觉技术可以用在实现特征检测中。可以实时处理图像数据,并且可以将经处理的图像示为实况相机流。[0157] 一旦已经标识出特定产品,就可以基于所标识的特定产品获得集合中的一个或多个产品的图像(步骤720)。例如,特定产品可以被标识为咖啡杯,并且照此可以获得用户先前捕获的一个或多个咖啡杯的图像。图像可以从用户设备上的存储器获得,或者可以从外部设备获得,诸如例如从可以是产品图像推荐引擎402(图4)或者电子商务平台的一部分的服务器获得。[0158] 在另一个实施例中,根据图8中所示的方法800,可以获得关于特定产品的信息,并且可以基于该信息获得一个或多个产品的图像。方法800可以由具有用于使计算设备实行所描述操作的合适计算机可执行指令的计算设备来实现。指令可以通过在计算设备上执行的应用的方式来实现。方法800可以全部或部分地由诸如商家设备430(图4)的用户设备来实现。商家设备430(图4)可以利用产品图像推荐引擎402。在一些实现中,用户设备可以将方法800的至少一些操作卸载到外部设备,诸如例如卸载到可以是产品图像推荐引擎402(图4)或者电子商务平台的一部分的服务器。[0159] 方法800包括获得关于特定产品的信息(步骤810)。在该实施例中,在启动图像捕获之前,用户设备可以显示请求关于特定产品的信息的图形用户接口。例如,图形用户接口可以包括可选选项,例如下拉菜单,其可以用于选择特定产品将被添加到的类别。下拉菜单中列出的类别可能包括用户商店处可用的所有产品类别。用户可以选择类别之一,并且从而获得关于特定产品的信息。[0160] 可以基于关于特定产品的信息来获得集合中的一个或多个产品的图像(步骤820)。例如,关于特定产品的信息可以基于用户选择“咖啡杯”类别,并且照此可以获得用户先前捕获的并且包括在所选类别中的一个或多个咖啡杯的图像。图像可以从用户设备上的存储器获得,或者可以从外部设备获得,诸如例如从可以是产品图像推荐引擎402(图4)或者电子商务平台的一部分的服务器获得。[0161] 在另一个实施例中,关于特定产品的信息可以基于其中特定产品已经被添加到商店的商务工作流来自动确定。例如,商家可能已经查看了他们的产品集合之一,并且可以选择与选项“向集合添加新产品”相关联的可选选项。[0162] 在另一个实施例中,用户可以选择一个或多个图像来用于确定一个或多个基线特征。例如,图形用户接口可以显示在用户设备上,并且可以包括用户先前捕获的一个或多个图像。用户可以使用例如与用户设备相关联的输入接口来选择一个或多个显示的图像。例如,用户可以通过在用户设备的显示屏上对应于图像的显示位置的位置处执行轻击手势来选择图像。图形用户接口可以包括可选选项,所述可选选项当由用户选择时可以指示用户已经完成了选择一个或多个产品的图像。[0163] 在另一个实施例中,特定类别可以包括在生成推荐时将不被包括的一个或多个离群图像。例如,该类别中的一个或多个图像可以是从供应商获得的图像,并且因此不是用户先前捕获的图像。在该实施例中,当确定特定产品将被添加到哪个类别时,用户可以选择一个或多个图像来用于确定一个或多个基线特征。例如,图形用户接口可以显示在用户设备上,并且可以包括用户在该类别内先前捕获的一个或多个图像。当生成基线图像特征时,用户未选择的图像被忽略或以其他方式不被使用。[0164] 在一个或多个实施例中,针对特定产品的类别可能尚不存在。照此,图形用户接口可以包括添加新类别的可选选项。[0165] 一旦已经获得集合中的一个或多个产品的图像,就确定集合的一个或多个产品的图像所共有的一个或多个基线特征。基线图像特征的非限制性示例包括:[0166] ·图像分辨率;[0167] ·图像的像素密度;[0168] ·图像亮度;[0169] ·景深;[0170] ·焦点;[0171] ·图像中产品的尺寸(例如,依据产品所占据的面积的百分比和/或产品所占据的像素数量);[0172] ·图像中产品的角度或定向;和[0173] ·产品与背景之间的对比度。[0174] 在该实施例中,产品图像特征模型生成器412可以用于生成类似于在此描述的查找表500的查找表。具体地,一个或多个基线图像特征的平均值可以通过使用例如图像分析器414分析一个或多个产品的图像来计算。如所提及的,可以使用单个图像,并且照此,可以通过分析单个图像并确定单个图像的一个或多个基线特征来确定一个或多个基线图像特征。[0175] 如所提及的,针对特定产品的类别可能尚不存在,并且照此图形用户接口可以包括添加新类别的可选选项。可能需要用户选择新类别之外的一个或多个产品的先前捕获的图像,并且这些选择的图像可以用于确定一个或多个基线图像特征。例如,特定产品可以属于新的类别“咖啡杯”,并且用户可以选择“啤酒杯”的先前捕获图像来用于确定一个或多个基线图像特征。[0176] 方法600包括将一个或多个基线图像特征与特定产品的图像数据的一个或多个图像特征进行比较(步骤630)。[0177] 在该实施例中,确定特定产品的图像数据的一个或多个图像特征,并将其与对应的基线图像特征进行比较。如所提及的,基线图像特征可以包括杯子的尺寸。参考查找表500,集合“咖啡杯”中的一个或多个产品的图像中的咖啡杯尺寸的平均值可以被计算为70%。阈值为2%,并且这指示杯子在68%至72%之间的任何尺寸被认为足够接近平均值以被认为是一致的。特定产品的图像数据中的特定产品或咖啡杯的尺寸可以被确定为60%。照此,图像数据中特定产品的尺寸太小,因为它在基线图像特征的阈值之外。[0178] 方法600包括生成一个或多个推荐以供与相机实况流一起显示在用户设备上(步骤640)。一个或多个推荐基于一个或多个基线图像特征与特定产品的图像数据的一个或多个图像特征的比较。生成推荐以改进产品图像一致性。[0179] 推荐可以包括改变相机设置的推荐和/或改变特定产品所定位的环境中的条件的推荐。图像特征可能取决于用于拍摄产品图像的相机的能力、相机的设置以及特定产品定位的环境中的条件。以下是能力、设置和条件的非限制性列表,其可以被改变以调整一个或多个图像特征:[0180] ·相机分辨率;[0181] ·相机灵敏度;[0182] ·孔径尺寸;[0183] ·曝光时间;[0184] ·变焦设置;[0185] ·过滤;[0186] ·闪光灯设置;[0187] ·从相机到产品的距离;[0188] ·产品相对于相机的定向;[0189] ·相机模式(例如,肖像模式);[0190] ·使用的(一个或多个)光源;和[0191] ·使用的(一个或多个)背景。[0192] ·图像中产品的尺寸(例如,依据产品所占据的面积的百分比和/或产品所占据的像素数量);[0193] ·图像中产品的角度或定向;[0194] ·产品与背景之间的对比度;以及[0195] ·一个或多个背景产品的移除。[0196] 生成推荐以帮助商家生成具有图像特征的图像,该图像特征与集合中一个或多个先前捕获的图像的图像特征一致。以这种方式,商家不需要有经验或昂贵的装备以便获得或以其他方式生成在集合中的产品之间一致的图像。[0197] 在一些实现中,该推荐包括对商家的指令。例如,指令可以是改变光源、背景、从相机到产品的距离和/或产品相对于相机的定向。在一些实现中,该推荐包括可以由商家设备430自动执行的指令。例如,指令可以是改变关于相机436的灵敏度、曝光时间、变焦设置、过滤和/或闪光灯设置。在这个示例中,推荐可以是以用户通知的形式,并且指令可以在没有用户干预的情况下自动执行。[0198] 可以基于一个或多个基线图像特征与特定产品的图像数据的一个或多个图像特征的比较来生成推荐,并且这可以使用查找表来完成。当特定产品的图像数据的一个或多个图像特征在查找表中指定的阈值之外时,该图像特征被认为与基线图像特征不一致,并且因此将生成与集合中的一个或多个先前捕获的图像不一致的图像。因此生成使该图像特征在对应基线图像特征的阈值内的推荐。参考图5的查找表500,作为举例,在集合“咖啡杯”中的一个或多个产品的图像中的咖啡杯尺寸的平均值可以被计算为70%。阈值为2%,并且这指示杯子在68%与72%之间的任何尺寸被认为足够接近平均值以被认为是一致的。如果特定产品的图像数据中的特定产品或咖啡杯的尺寸是60%,则产品图像推荐引擎402可以生成放大相机或使相机更接近特定产品的推荐。[0199] 如所提及的,生成一个或多个推荐以供与相机实况流一起显示在用户设备上。可以指示用户设备在其显示屏上显示该推荐。该推荐可以与相机实况流相关联地显示。该推荐可以通知商家特定产品的图像与集合中的一个或多个先前获得的图像不一致。该推荐可以指示商家调整一个或多个能力、设置或条件来调整图像,以确保一个或多个图像特征与集合中的一个或多个图像的图像特征一致。在标识出多于一个产品的情况下,该推荐可以包括请求用户选择要成像的产品和/或可以建议用户从背景移除其他标识的产品。[0200] 推荐可以包括动画或者相关产品的形状、文本、图像中的至少一个。该推荐可以与相机实况流重叠或叠加在用户设备上,以帮助用户可视化该推荐。该推荐可以显示在屏幕页面上。图9中示出了示例屏幕页面900。如可以看出的,屏幕页面900包括相机的取景器。相机正被用于捕获咖啡杯902的图像,咖啡杯902正静置在背景906前面的表面904上。屏幕页面900包括按钮914,其允许用户捕获并保存屏幕页面900中所示的图像。推荐908、910、912与相机实况流重叠或叠加,以帮助用户更好地可视化推荐。[0201] 推荐908、910与将相机相对于咖啡杯旋转20°相关。具体地,推荐908包括指示用户将相机旋转20°的文本,并且推荐910是帮助用户可视化相机应当如何旋转的箭头。推荐910可以是动画箭头,该动画箭头在其正指向的方向上连续延伸。这些推荐可以通过将特定产品的图像数据的倾斜图像特征与查找表500中的基线倾斜图像特征进行比较来生成。[0202] 推荐912包括指示用户使用更深背景的文本。推荐912可以通过将特定产品的图像数据的对比度图像特征与基线对比度图像特征进行比较来生成。[0203] 基于推荐908、910、912,用户可以重新定向相机并改变背景。可以主动更新推荐,并且可以重复方法600的比较和生成步骤,直到图像特征在对应基线图像特征的阈值内。这可以根据图10中所示的方法1000来完成。方法1000可以由具有用于使计算设备实行所描述操作的合适计算机可执行指令的计算设备来实现。指令可以通过在计算设备上执行的应用的方式来实现。方法1000可以全部或部分地由诸如商家设备430(图4)的用户设备来实现。商家设备430(图4)可以利用产品图像推荐引擎402。在一些实现中,用户设备可以将方法1000的至少一些操作卸载到外部设备,诸如例如卸载到可以是产品图像推荐引擎402(图4)或者电子商务平台的一部分的服务器。[0204] 方法1000包括将基线图像特征与特定产品的图像数据的当前图像特征进行比较(步骤1010)。在该实施例中,特定产品的图像数据的图像特征可以以类似于在此参考步骤630所描述方式的方式连续确定。[0205] 执行检查以确定图像特征是否在基线图像特征的阈值内(步骤1020)。当确定图像特征不在基线图像特征的阈值内时,可以更新推荐(步骤1030),并且该方法返回到步骤1010,在步骤1010,将基线图像特征与更新的图像特征进行比较。[0206] 当在步骤1020期间确定图像特征在基线图像特征的阈值内时,对应的推荐可以被移除或以其他方式消失,并且特定产品的一个或多个图像被捕获(步骤1040)。在该实施例中,捕获的图像可以从实况馈送的帧中获得,或者可以作为静态图像来捕获。捕获事件可以由指令的接收来触发,例如按钮按下或屏幕轻击。例如,用户可以选择屏幕页面900的按钮914来捕获图像。[0207] 在示例中,仅当一个或多个图像特征在对应基线图像特征的阈值内时,捕获事件才可以是可用的。例如,屏幕页面900的按钮914可以被停用,直到一个或多个图像特征在对应基线图像特征的阈值内。[0208] 在另一个实施例中,捕获事件可以是自动的。例如,可以从与用户设备相关联的一个或多个传感器获得数据。可以分析数据以确定用户设备何时静止或不移动。当确定用户设备在某个时间段内静止时,可以在没有来自用户的进一步输入的情况下自动捕获一个或多个图像。[0209] 所捕获的一个或多个图像可以可用于在用户设备上的屏幕页面上显示以供复查。屏幕页面可以包括一个或多个可选选项来接受图像或重新拍摄图像。当图像被接受时,图像可以被存储在存储器中。屏幕页面可以包括基于在此描述的方法生成的附加推荐。例如,可以分析获得的图像以确定一个或多个图像特征是否仍然被认为是不一致的。作为另一个示例,在获得图像之后,可以向用户提供可选选项来降低查找表中的阈值。当用户选择可选选项时,阈值可以被更新或以其他方式降低,并且可以提示用户拍摄具有降低的阈值的另一张照片,以获得甚至更加一致的图像。[0210] 另一个示例屏幕页面1100在图11中示出,其与实况相机流同时显示多个推荐1102、1104。推荐1102、1104与图像中产品(咖啡杯902)的尺寸相关。例如,通过使用在此描述的方法,可以确定咖啡杯与对应基线图像特征相比太小,因为它在图像中占据的像素太少。照此,推荐1102包括指示用户将相机移动得更接近咖啡杯902的文本。推荐1104包括帮助用户基于对应的基线图像特征来可视化咖啡杯902的尺寸的框、轮廓或手柄。用户可以将相机移动得更接近咖啡杯902,直到咖啡杯902填充框。推荐1102、1104然后可以从屏幕页面中消失,并且可以捕获图像。[0211] 另一个示例屏幕页面1200在图12中示出,其与实况相机流同时显示推荐1202、1204。推荐1202、1204与图像中产品(咖啡杯902)的尺寸和图像中产品的角度相关。推荐1202包括指示用户移动相机使得咖啡杯902大体与推荐1204重叠的文本。推荐1204包括基于图像中产品尺寸的基线图像特征的咖啡杯图像。推荐1204可以是从集合中先前捕获的图像获得的剪切物(cut‑out)。推荐1204是半透明的,因为当咖啡杯902与推荐1204重叠时,用户能够看到它。[0212] 在另一个实施例中,手柄可以显示在产品的标识拐角周围。例如,示例屏幕页面1200可以包括在咖啡杯902的标识拐角和推荐1204周围的手柄。以这种方式,用户可以调整一个或多个图像特征,直到咖啡杯902的手柄和推荐1204的手柄重叠。[0213] 在另一个实施例中,不是以咖啡杯图像的形式示出推荐(例如图12中所示的推荐1204),推荐可以是以手柄的形式,所述手柄标识要成像的产品的拐角应当位于何处。以这种方式,用户可以调整一个或多个图像特征,直到咖啡杯902的手柄和显示的手柄重叠。[0214] 将领会,在至少一些实施例中,当启动图像捕获时,可以提供推荐。例如,当图像捕获被启动时,推荐可以自动重叠在实框相机流上,从而基于集合中一个或多个产品的图像的对应基线图像特征来指示产品尺寸。该推荐可以例如类似于图11中所示的推荐1104或图12中所示的推荐1204。以这种方式,向用户提供指示图像中产品尺寸的基线图像特征的初始推荐。[0215] 将领会,在至少一些实施例中,推荐可以包括向用户的指示进度和/或成功的反馈。例如,推荐可以请求用户调整用户设备的角度,以调整图像中产品角度的图像特征。当用户调整用户设备的角度时,图像中产品的当前角度可以与对应的基线图像特征一起显示。随着用户设备的角度被进一步调整,图像中产品的当前角度可以被更新,直到用户已经将角度调整到对应基线图像特征的阈值内。当图像中产品的角度在基线图像特征的阈值内时,可以向用户显示指示成功的通知。[0216] 在至少一些实施例中,推荐可以包括进度条,该进度条指示用户在调整一个或多个图像特征中的进度。例如,推荐可以请求用户调整用户设备的角度,以调整图像中产品角度的图像特征。当用户旋转用户设备时,可以显示进度条来更新用户在旋转用户设备中的进度。当产品在图像中的角度在基线图像特征的阈值内时,进度条可以示为满。[0217] 在至少一些实施例中,可以向用户提供指示成功调整图像特征的警报或其他反馈。例如,可以使用户设备振动或输出指示成功的听觉警报。[0218] 在至少一些实施例中,产品图像可以是三维的,并且照此用户设备可以包括例如三维相机。在该实施例中,可以基于捕获三维产品图像来提供推荐。例如,推荐可以包括在产品周围物理移动三维相机的推荐。[0219] 在至少一些实施例中,产品图像可以是产品视频的一部分。在该实施例中,可以基于捕获产品视频来提供推荐。例如,推荐可以包括关于如何在视频捕获期间移动相机和/或产品的推荐。[0220] 将理解,在此描述的示例方法的一些步骤可以以不同的顺序或同时执行,而不实质性影响其操作。[0221] 实现[0222] 可以通过在处理器上执行计算机软件、程序代码和/或指令的机器来部分地或者整体部署在此描述的方法和系统。处理器可以是服务器、云服务器、客户端、网络基础设施、移动计算平台、静态计算平台或者其他计算平台的一部分。处理器可以是能够执行程序指令、代码、二进制指令以及诸如此类的任何种类的计算或者处理设备。处理器可以是或者可以包括信号处理器、数字处理器、嵌入式处理器、微处理器或者诸如协处理器(数学协处理器、图形协处理器、通信协处理器以及诸如此类)以及诸如此类的任何变体,其可以直接或者间接地促进存储于其上的程序代码或者程序指令的执行。此外,处理器可以使能对多个程序、线程以及代码的执行。线程可以被同时执行以增强处理器的性能并且以促进应用的同时操作。通过实现的方式,在此描述的方法、程序代码、程序指令以及诸如此类可以被实现在一个或多个线程中。线程可以造成(spawn)可能具有分配的与它们相关联的优先级的其他线程;处理器可以基于在程序代码中提供的指令基于优先级或者任何其他顺序来执行这些线程。处理器可以包括存储如在此以及在别处描述的方法、代码、指令以及程序的存储器。存储器可以通过接口来访问可以存储如在此和在别处描述的方法、代码以及指令的存储介质。用于存储能够由计算或者处理设备执行的方法、程序、代码、程序指令或者其他类型的指令的与处理器相关联的存储介质可以包括但是可以不限于CD‑ROM、DVD、存储器、硬盘、闪速驱动器、RAM、ROM、高速缓存以及诸如此类如中的一个或多个。[0223] 处理器可以包括可以增强多处理器的速度和性能的一个或多个核。在实施例中,处理可以是将两个或者更多独立的核(被称为管芯)进行组合的双核处理器、四核处理器、其他芯片级的多处理器以及诸如此类。[0224] 可以通过在服务器、云服务器、客户端、防火墙、网关、集线器、路由器、或者其他这样的计算机和/或联网硬件上执行计算机软件的机器来部分地或者整体地部署在此描述的方法和系统。软件程序可以与服务器相关联的,所述服务器可以包括文件服务器、打印服务器、域服务器、互联网服务器、内联网服务器以及诸如次级服务器、主机服务器、、分布式服务器以及诸如此类的其他变体。服务器可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟的)、通信设备、以及能够通过有线或者无线介质访问其他服务器、客户端、机器以及设备的接口以及诸如此类中的一个或多个。在此以及在别处描述的方法、程序或者代码可以由服务器来执行。此外,如在本申请中描述的方法的执行所需要的其他设备可以被视为与服务器相关联的基础设施的一部分。[0225] 服务器可以提供到其他设备的接口,所述其他设备包括但是不限于客户端、其他服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器以及诸如此类。此外,该耦合和/或连接可以促进跨网络的程序的远程执行。在不偏离本公开范围的情况下,这些设备中的一些或者所有的联网可以促进在一个或多个位置处的程序或者方法的并行处理。此外,通过接口附接到服务器的设备中的任何设备可以包括能够存储方法、程序、代码和/或指令的至少一个存储介质。中央储存库可以提供要在不同的设备上被执行的程序指令。在该实现中,远程储存库可以充当针对程序代码、指令以及程序的存储介质。[0226] 软件程序可以与客户端相关联,所述客户端可以包括文件客户端、打印客户端、域客户端、互联网客户端、内联网客户端以及诸如次级客户端、主机客户端、分布式客户端以及诸如此类的其他变体。客户端可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理的和虚拟的)、通信设备以及能够通过有线或者无线介质对其他客户端、服务器、机器以及设备进行访问的接口以及诸如此类中的一个或多个。如在此处和别处描述的方法、程序或代码可以由客户端执行。此外,如在本申请中描述的方法的执行所需要的其他设备可以被视为与客户端相关联的基础设施的一部分。[0227] 客户端可以提供到其他设备的接口,所述其他设备包括但是不限制于服务器、其他客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器以及诸如此类。此外,该耦合和/或连接可以促进跨网络的程序的远程执行。在不偏离本公开范围的情况下,这些设备中的一些或者所有的联网可以促进在一个或多个位置处的程序或者方法的并行处理。此外,通过接口附接到客户端的设备中的任何设备可以包括能够存储方法、程序、应用、代码和/或指令的至少一个存储介质。中央储存库可以提供要在不同的设备上被执行的程序指令。在该实现中,远程储存库可以充当针对程序代码、指令以及程序的存储介质。[0228] 在此描述的方法和系统可以通过网络基础设施部分地或者整体地部署。网络基础设施可以包括诸如计算设备、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信设备、路由设备以及如在本领域中已知的其他有源和无源器件、模块和/或部件之类的元素。除了其他部件之外,与网络基础设施相关联的(一个或多个)计算和/或非计算设备可以包括诸如闪速存储器、缓冲器、栈、RAM、ROM以及诸如此类的存储介质。在此以及在别处描述的过程、方法、程序代码、指令可以由网络基础设施元素中的一个或多个来执行。[0229] 在此以及在别处描述的方法、程序代码以及指令可以在不同的设备中实现,所述不同的设备可以在有线或者无线的网络中进行操作。无线网络的示例包括第4代(4G)网络(例如,长期演进(LTE)网络)或者第5代(5G)网络,以及诸如无线局域网络(WLAN)之类的非蜂窝网络。然而,在此描述的原理可以被等同地应用于其他类型的网络。[0230] 在此处以及在别处描述的操作、方法、程序代码以及指令可以被实现在移动设备上或者通过移动设备实现。移动设备可以包括导航设备、蜂窝电话、移动电话、移动个人数字助理、膝上型计算机、掌上型计算机、上网本计算机、寻呼机、电子书阅读器、音乐播放器以及诸如此类。除了其他部件之外,这些设备可以包括诸如闪速存储器、缓冲器、RAM、ROM之类的存储介质以及一个或多个计算设备。可以使得与移动设备相关联的计算设备能够执行程序代码、方法以及存储于其上的指令。替代地,移动设备可以被配置为与其他设备协作执行指令。移动设备可以与同服务器对接的基站通信并且被配置为执行程序代码。移动设备可以在对等网络、网状网络或者其他通信网络上通信。程序代码可以被存储在与服务器相关联的存储介质上并且由嵌入在服务器中的计算设备来执行。基站可以包括计算设备和存储介质。存储设备可以存储由与基站相关联的计算设备执行的程序代码和指令。[0231] 可以在机器可读介质上存储和/或访问计算机软件、程序代码和/或指令,所述机器可读介质可以包括:保留用于计算的数字数据持续某时间间隔的记录介质、设备以及计算机部件;称为随机存取存储器(RAM)的半导体存储装置;典型地用于更永久的存储的海量存储装置,诸如光盘,如硬盘、带、鼓、卡以及其他类型之类的磁性存储装置的形式;处理器寄存器、高速缓存存储器、易失性存储器、非易失性存储器;诸如CD、DVD之类的光学存储装置;可移除介质,诸如闪速存储器(例如,USB棒或者USB钥匙(key))、软盘、磁带、纸带、打孔卡、独立RAM盘、Zip驱动器、可移除海量存储装置、离线以及诸如此类;其他计算机存储器,诸如动态存储器、静态存储器、读/写存储装置、可变存储装置、只读、随机存取、顺序访问、位置可寻址、文件可寻址、内容可寻址、网络附加存储装置、存储区域网络、条形码、磁性墨水以及诸如此类。[0232] 在此描述的方法和系统可以将物理和/或无形项目从一个状态变换成另一个状态。在此描述的方法和系统还可以将表示物理和/或无形项目的数据从一个状态变换成另一个状态,诸如从使用数据变换成标准化使用数据集。[0233] 包括贯穿于附图在流程图和框图中,在此描述并且描绘的元素暗示了在元素之间的逻辑边界。然而,根据软件或者硬件工程实践,可以通过具有能够执行存储于其上的程序指令的处理器的计算机可执行介质将所描绘的元件及其功能在机器上实现为单片软件结构、实现为独立软件模块、或者实现为采用外部例程、代码、服务以及诸如此类的模块,或者这些的任何组合,并且所有这样的实现可以在本公开的范围之内。这样的机器的示例可以包括但是可以不限于:个人数字助理、膝上型计算机、个人计算机、移动电话、其他手持计算设备、医疗设备、有线或者无线通信设备、换能器、芯片、计算器、卫星、平板PC、电子书、小器具(gadget)、电子设备、具有人工智能的设备、计算设备、联网设备、服务器、路由器以及诸如此类。更进一步地,在流程图和框图中描绘的元素或者任何其他逻辑部件可以被实现在能够执行程序指令的机器上。因此,虽然前述附图和描述阐述了所公开的系统的功能方面,但是不应从这些描述推断用于实现这些功能方面的软件的特定布置,除非明确地指明或者否则从上下文中清楚得知。类似地,将领会的是可以改变在上面标识并且描述的各种步骤,并且步骤的顺序可以适于在此公开的技术的特定应用。所有这样的变化和修改都旨在落在本公开的范围之内。照此,除非特定应用要求,或者明确地指明或者否则从上下文中清楚得知,否则对针对各种步骤的顺序的描绘和/或描述不应当被理解为要求针对那些步骤的特定执行顺序。[0234] 在上面描述的方法和/或过程以及其步骤可以以硬件、软件、或者适合于特定应用的硬件和软件的任何组合实现。硬件可以包括通用计算机和/或专用计算设备或者特定计算设备或者特定计算设备的特定方面或者部件。过程可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或者其他可编程设备连同内部和/或外部存储器中实现。过程还可以,或者替代地,被体现在专用集成电路、可编程门阵列、可编程阵列逻辑、或者可以被配置为处理电子信号的任何其他设备或者设备的组合中。将进一步领会的是,过程中的一个或多个可以被实现为能够在机器可读介质上执行的计算机可执行代码。[0235] 可以使用如下内容来创建计算机可执行代码:诸如C之类的结构化编程语言、诸如C++之类的面向对象的编程语言或者可以被存储、编译或者解释以在上面的设备中的一个以及处理器的异构组合、处理器架构、或者不同的硬件和软件的组合、或者能够执行程序指令的任何其他机器上运行的任何其他高级或者低级编程语言(包括汇编语言、硬件描述语言以及数据库编程语言和技术)。[0236] 因此,在一个方面中,在上面描述的每个方法以及它们的组合可以被体现在计算机可执行代码中,当计算机可执行代码在一个或多个计算设备上执行时执行其步骤。在另一方面中,方法可以被体现在执行其步骤并且可以以许多方式跨设备分布的系统中,或者所有功能性可以被集成到专用的独立设备或者其他硬件中。在另一方面中,用于执行与在上面描述的过程相关联的步骤的装置可以包括在上面描述的硬件和/或软件中的任何硬件和/或软件。所有这样的排列和组合都旨在落在本公开的范围之内。
专利地区:加拿大
专利申请日期:2021-04-23
专利公开日期:2024-06-18
专利公告号:CN114612174B