自动发布系统
文献发布时间:2023-06-19 10:24:22
技术领域
本公开内容涉及计算机操作的车辆、计算机系统和计算机可读存储介质。
背景技术
每年,在线购买花费了数千亿美元。虽然因特网的普及和运输成本的降低增加了在线销售,但是在线销售的许多方面仍然繁琐且耗时。例如,创建列出待售物品的发布需要描述该物品,为该物品拍摄照片,识别制造商、型号和生产年份,评估该物品的状况以及估计运输成本。这些任务对个人销售者和二手物品的销售者特别繁重,这是因为时间和费用无法通过大量销售获得补偿。对于在线销售的其他挑战包括存储物品直到这些物品被售出为止、确定如何包装物品以及将包装后的物品运输至传送服务。因此,许多以其他方式会被售出的物品被保存在存储装置中或被简单地扔掉。在那些确实售出的物品中,低质量的发布通常会压低价格,从而使销售者和在线销售平台的情况更糟。
在线销售者以及他们操作的平台面临的另一问题是不准确的发布。销售者可能有意或无意地对物品贴错标签、错报物品的状况、错报物品的功能等。不准确的发布,无论是偶然的还是有意的,都会损害销售者和在线销售平台的声誉。
正是针对这些和其他技术考虑,提出了本文所作的本公开内容。
发明内容
本文提供并且描述了一种机器人自动发布系统。在一个实施方式中,机器人销售助理从销售者接收物品、自动地生成描述该物品的发布、存储该物品直到该物品被售出为止以及将该物品发送出去以进行传送。机器人销售助理可以是下述自主车辆,该自主车辆驾驶至该物品、提取该物品并且将该物品放置在发布隔间中。发布隔间可以包括多个传感器和电子设备,用于识别物品、验证物品是否符合销售者要求并且生成描述该物品的发布。一旦物品被售出,机器人销售助理就可以将物品交给包装传送公司或将物品直接传送至购买者。
机器人销售助理可以使用摄像装置来捕获物品的图像以包括在发布中。机器人物品操纵臂和/或转盘可以抬起、旋转或以其他方式操纵物品以将不同的视角暴露于摄像装置。可以通过在物品在转盘上旋转时或在一个或更多个摄像装置围绕物品旋转时捕获一系列图像来创建物品的三维渲染。通过包括来自各个视角的许多图像,可以改善发布的质量。
图像也可以用于识别物品。机器人销售助理可以从物品的图像中识别条形码、QR码、品牌、型号、序列号或其他标识信息。在其他实施方式中,机器人销售助理可以使用基于机器学习的图像识别系统来识别物品。
物品的身份可以用于生成描述以包括在发布中。标识信息可以直接包括在描述中。标识信息还可以用于检索描述、用户手册或有关该物品的其他更详细的信息以包括在发布中。
物品的身份还可以用于确认由销售者提供的物品的描述。如果物品的身份与由销售者提供的描述不匹配,则机器人销售助理可以警告销售者该差异。机器人销售助理还可以询问销售者是否继续销售,或者是否应当将物品退还至销售者。如果机器人销售助理确定销售者有意错误地描述了物品,则机器人销售助理可以警告在线销售平台潜在的欺诈活动。
在一些实施方式中,机器人销售助理可以确定物品的重量和一个或更多个尺寸。可以根据秤确定重量,而可以基于3-D模型或基于激光的测量确定尺寸。物品的重量和尺寸可以作为物品描述的一部分包括在发布中,用于估计适合于该物品的包装材料的尺寸和数量,用于估计运输成本以及/或者用于验证销售者提供的物品的描述。
在一些实施方式中,机器人销售助理包括机械人臂,该机械人臂创建定制包装以适合所测量的尺寸。定制包装可以由下述一个或更多个材料制成,例如纸板、塑料、泡沫包装或纸,并且定制包装可以采取盒子、泡沫包装信封、管、扁平信封等的形式。例如,机器人销售助理可以切割和折叠盒子、构造纸板管、切割和折叠泡沫包装信封、或者以其他方式构造定制包装以适合物品的测量尺寸。
机械人臂不限于诸如圆柱体或长方体的形状,而是可以基于3-D模型构造与物品的形状一致的定制形状。保形包装可以减少包装的材料成本。保形包装还可以减小包装的体积,这可以减少存储和运输成本。
在利用定制包装对物品进行包装之前,机器人销售助理可以对物品施加保护填充。例如,机器人销售助理可以针对被识别为易碎的物品分配和/或施加特殊包装材料或包装,例如气泡膜包装、纸或泡棉。所施加的特殊包装材料的量可以基于物品的测量尺寸、3-D模型、物品的确定的易碎性等。可以基于对用于制造物品的材料的确定、物品的尺寸、类似物品的历史损坏率等来将该物品识别为易碎的。填充可能会增加物品的大小,并且因此在构造定制包装时,机器人销售助理可能会包括增加物品的大小。
附加传感器可以用于确定物品的状况。可以使用红外传感器、紫外光传感器、光强度传感器等来确定物品在接收之前是否已经损坏,或者物品被磨损的程度。例如,高光谱成像可以使用超出正常人类视觉范围的光来推断物品的年龄。麦克风可以用于确定物品在移动时是否发出非预期的嘎嘎声。测量光强度的传感器可以与摄像装置结合使用来确定物品是否被磨损或弄脏。
机器人销售助理还可以包括计算设备接口,以识别和评估电子产品的状况。例如,机器人销售助理可以将通用串行总线(USB)线缆插入物品中,以验证物品的身份。机器人销售助理还可以使用蓝牙、Wi-Fi或其他无线连接来连接至物品并且确定物品的身份。此外,机器人销售助理可以利用计算设备接口来确定物品的根据图像、序列号或其他外部标识信息不明显的属性。例如,机器人销售助理可以使用USB连接来确定电子物品内存储设备的容量。
通过执行许多销售物品的任务,机器人销售助理减少了由销售者所产生的开销。这增加了销售者值得销售的物品的数目。通过生成包括图片、标识信息和全面描述的更全面的发布,机器人销售助理可以改善销售量和毛利率。通过检索和存储要售出的物品,机器人销售助理减轻了销售者的存储成本,从而进一步增加了值得销售的物品的数目。并且通过确保发布准确,改善了销售者和在线销售平台的声誉。
应当理解,上面描述的以及下面进一步详细描述的主题可以被实现为计算机控制的装置、计算机实现的方法、计算设备或者诸如计算机可读存储介质的制品。通过阅读以下具体实施方式并查看相关联的附图,这些特征和各种其他特征将是明显的。
提供本发明内容是为了以简化形式介绍一系列构思,这些构思在下面的具体实施方式中进一步描述。本发明内容既不旨在识别所要求保护的主题的关键特征或必要特征,本发明内容也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开内容的任何部分中提到的任何或所有缺点的实现方式。
附图说明
参照附图描述具体实施方式。在附图中,附图标记的最左边的(一个或多个)数字标识该附图标记首次出现在其中的附图。不同附图中的相同附图标记指示类似或相同的项。
图1A是示例性机器人销售助理的系统图;
图1B是示例性机器人销售助理的路线概述;
图2A是示出根据本文公开的一个实施方式的发布隔间的各方面的框图;
图2B是示出在从多个角度捕获物品的图像时的发布隔间的各方面的框图;
图2C是示出在将通信线缆插入物品中时的发布隔间的各方面的框图;
图3A是示出根据本文公开的一个实施方式的由机器人销售助理生成的发布的各方面的图;
图3B是示出根据本文公开的一个实施方式的由机器人销售助理生成的另一发布的各方面的图;
图4是示出根据本文公开的一个实施方式的说明性例程的各方面的流程图;
图5是示出根据本文公开的一个实施方式的说明性例程的各方面的流程图;
图6是示出用于能够执行本文所描述的软件部件的计算机的示例计算机架构的各方面的计算机架构图。
图7是示出计算机环境的说明性示例的数据架构图。
具体实施方式
以下具体实施方式提出了用于下述自主车辆的技术,该自主车辆接收物品并且自动地生成描述该物品的发布。在各种实施方式中,与机器人臂或转盘结合的一个或更多个传感器用于识别物品。一旦被识别,机器人销售助理可以检索有关该物品的补充信息、生成描述该物品的发布、存储该物品以及/或者将该物品移动至仓库直到该物品被售出为止。机器人销售助理还可以包装物品、将物品传送至购买者以及/或者将物品运输至传送服务以传送至购买者。
所公开的技术可以增强物品识别和描述的功能和效率。仅作为一个示例,通过正确地识别物品并且生成对这些物品的完整且准确的描述,物品可以较快地售出,从而减少了售出这些物品所需的计算资源量。同时,当使用公开的技术已经完整且准确地描述了期望的物品时,购买者可以花费较少的计算资源来定位该期望的物品。这样,所公开的技术改善了计算设备的性能和效率。
所公开的技术还可以改善对贴错标签或伪造物品的检测。正确识别物品还允许更有效的包装。通过所公开的技术的实现方式也可以实现除了本文具体提及的那些益处之外的技术益处。
应当理解,虽然本文所公开的技术主要是在在线销售的背景下描述的,但是本文所描述的技术也可以用于在其他背景下识别、描述、包装和/或传送物品,这对于本领域技术人员而言将是明显的。
参照附图,其中贯穿若干附图,相似的附图标记表示相似的元件,将描述用于自动发布系统的各种技术的各方面。在以下详细描述中,参照了构成本文的一部分的附图,并且这些附图是通过说明特定配置或示例的方式示出的。
在图1A中,示出了实现自动发布系统的机器人销售助理100。在一些实施方式中,物品104的销售者107请求机器人销售助理100执行用于销售物品104的步骤中的一些或全部,例如从销售者指定的取件地点108取回物品104、生成描述物品104并且指示该物品104待售的发布、存储物品104直到物品104被售出为止、包装物品104以及/或者将物品104提供至包装传送服务110以用于传送至购买者。销售者107可以向销售设备113请求这些动作中的一些或全部,销售设备113可以是智能电话、平板电脑、膝上型计算机或其他计算设备。例如,销售者107可以使用销售设备113或在销售设备112上运行的应用为物品104拍摄照片、写出物品104的描述、设置销售者指定的取件地点108以及/或者请求在销售者指定的取件地点108处提取物品104。
在一些实施方式中,机器人销售助理100可以是能够驾驶至销售者指定的取件地点108(也被称为“取件地点108”)的自主车辆。在其他实施方式中,机器人销售助理100可以是被拖至销售者指定的取件地点108的便携式单元。在又一些实施方式中,机器人销售助理100可以是无人机109或其他能够飞行至销售者指定的取件地点108的无人驾驶飞行器。在一些实施方式中,销售者107使用销售设备113设置指定的取件地点108并且请求提取。然而,机器人销售助理100根本不需要移动,而是可以永久地位于商店、商场或其他方便的位置中,在这种情况下,销售者107可以将物品104以至少部分的方式带至机器人销售助理100以用于处理。
虽然图1将机器人销售助理100描绘为单个车辆,但是机器人销售助理100的不同功能方面可以由不同的车辆执行。例如,机器人销售助理100可以是例如位于购物中心中的固定单元。具有抓钩106的取回车辆101(图1A中未示出)可以与机器人销售助理100结合工作。取回车辆101可以是卡车、汽车或与机器人销售助理100一起工作的其他车辆。取回车辆101可以被派遣至销售者指定的取件地点108,以取回用于由机器人销售助理100进行处理的物品104。然后,取回车辆101可以与机器人销售助理100会合,并且使用抓钩106来将取回的物品104放置在发布隔间102中。在另一实施方式中,一个或更多个无人机109可以与机器人销售助理100结合工作。当机器人销售助理100是固定的时,无人机109可以从销售者指定的取件地点108取回物品104。例如,无人机109可以从商场停车场中的销售者指定的取件地点108取回物品104。在另一实施方式中,机器人销售助理100或取回车辆101可以配备有一个或更多个无人机109。这样的移动机器人销售助理100可以驾驶经过附近,从而派遣无人机109以从销售者指定的取件地点108取回物品104。
机器人销售助理100包括一个或更多个发布隔间102,物品104可以放置在其中以进行处理。在一些实施方式中,由销售者107将物品104放置在发布隔间102中,而在其他实施方式中,抓钩106或无人机109取回物品104并且将物品104放置在发布隔间102中。销售者107可以通过自动门114获得对发布隔间102的访问。可以通过密码、安全令牌、生物计量扫描仪或其他安全凭证来使自动门114安全,从而确保只有经授权的人才能够访问发布隔间102。下面结合图2A更详细地描述发布隔间102。
销售者107也可以使用这些安全凭证来登录在线销售平台。一旦登录,销售者107就可以查看物品104的发布、编辑发布、更新发布或删除发布。
一旦机器人销售助理100已经接收到物品104,机器人销售助理100就可以生成该物品104待售的发布广告。在一些实施方式中,机器人销售助理100存储物品104,直到物品104被售出为止。在其他实施方式中,机器人销售助理100将物品104传送至仓库112,直到物品104被售出为止。在物品104处于机器人销售助理100或仓库112保管的任何时候,机器人销售助理100可以选择可用于包装物品104的包装材料。该选择可以基于通过发布隔间102测量的物品104的属性例如大小、重量、状况、易碎性等来进行。包装材料还可以基于有关物品104的补充信息222(如图2A所示)例如从产品手册、制造商的规格或其他在线来源得到的信息来选择。机器人销售助理100可以部分地基于用于制造物品的材料来识别易碎物品。例如,由玻璃、电子部件或羊皮纸制成的物品可以被认为是易碎的,而由塑料或装订纸制成的物品可以被认为是较不易碎的。制成物品的材料可以由传感器204至214中的一个或更多个确定,或者根据对补充信息222的分析确定。特殊包装例如泡沫包装、刚性容器等可以应用于易碎物品,以减少易碎物品将在存储和运送期间损坏的可能性。
在一些实施方式中,机器人销售助理100包括计算设备130,计算设备130可以执行存储器中包括的指令以实现实施方式的各方面。计算设备130可以实现下面结合图2A描述的物品识别引擎218,并且下面结合图6和图7更详细地描述计算设备130。机器人销售助理100可以利用(一个或多个)网络120与服务器设备140进行通信。服务器设备140可以托管由机器人销售助理100生成的发布。服务器设备140还可以使发布可供潜在买方111使用。机器人销售助理100还可以利用(一个或多个)网络120来检索有关物品104的补充信息222例如产品描述、产品手册等。
图1B示出了示例性机器人销售助理100的路线概述。在该示例中,机器人销售助理100已经离开仓库112以从销售者取件地点108取回物品104。在一些实施方式中,机器人销售助理100与取回车辆101结合工作,取回车辆101也可以取回物品104和/或发射无人机109以取回物品104。
图1B描绘了三个街道和三个销售者取件地点,每个街道上有一个销售者取件地点。销售者取件地点108A在缅因街(Main street)118A上,销售者取件地点108B在亚什兰大街(Ashland Ave)118B上,并且销售者取件地点108C在托马斯大街(Thomas Ave)118C上。无人机109连同卡车沿街道118导航至销售者取件地点108是所公开技术的一个实施方式。然而,类似地设想了沿任何类型的大道例如铁路线、运河或空中走廊行驶的任何类型的车辆例如船、火车、自行车或气垫船。此外,虽然图1B示出了与无人机协同工作的卡车,但是类似地设想了车辆的任何组合。例如,类似地设想了货船连同轻便小汽车、火车连同卡车等或其组合。
图1B示出了用于在销售者取件地点108A、108B和108C处提取一个或更多个物品104的路线150上的机器人销售助理100。机器人销售助理100可以基于下述许多因素来规划路线150,例如:到销售者取件地点108中的每一个的行进时间以及在销售者取件地点108中的每一个之间的行进时间。用于提取物品和处理物品的车辆的速度和容量也是因素,例如:无人机109的数目、无人机容量、取回车辆101的数目和取回车辆容量。
所取回的物品的特性也是车辆选择和路线规划中的因素,例如:每个取件地点108处的物品104的数目、单独地和针对每个取件地点108的总的物品104的估计重量和尺寸、物品类型——例如物品是否易燃、易碎、具有高价值等。在一些实施方式中,销售者107手动输入对物品104的描述,包括重量、尺寸、易燃性、易碎性、价值等。在其他实施方式中,可以从发布中得出这些特性,包括图片、描述、对于类似或相同物品104的其他发布的描述、产品手册以及从该发布链接的其他信息。可以基于要提取的物品104的特性针对特定路线150选择车辆类型。可以选择用于满足所要提取的物品104的个体要求的车辆类型,例如,可以针对包括重物品104的路线150选择具有强大机器人臂的车辆。也可以选择用于满足在路线上提取的物品104的集体要求例如总体积、重量、冷藏要求等的车辆类型。
机器人销售助理100本身的特性也是路线规划中的因素,包括发布隔间102的数目和处理速度、机器人销售助理100用以保存已处理物品104的可用的物品存储容量105等。路线150可以限定每个车辆采取的路径、无人机发射点120、无人机收集点122以及用于在将由发布隔间102处理物品104时的时间表。
例如,可以基于机器人销售助理100、取回车辆101、无人机109与物品104之间的距离来计算行进时间。对于所有车辆,考虑了沿可导航道路118的距离。然而,无人机可能并不总是受到道路的限制,并且因此也可以考虑直线(即欧几里得)距离。行进时间也可能会受到道路状况、天气、交通和其他障碍的影响。估计的收集时间——即,车辆固定物品104以行进所需的时间——也可以是沿路线提取物品时行进时间的因素。
路线选择也可能受每个取件地点108处的物品104的数目、重量、大小和类型的影响。可以根据无人机容量来分析要取回的物品的数目、重量、大小和类型。对于每个无人机109,无人机容量可以确定一次或更多次通过时对无人机能够取回的物品的重量、大小、数目和类型(例如易燃、易碎等)的限制。在一些实施方式中,将无人机容量与物品重量、大小和类型进行比较,以确定无人机是否能够取回物品。各个物品的重量、大小和类型也可以用于确定是否可以在单程中从单个取件地点同时取回多个物品104,是否可以在卸载它们之前从多个取件地点108取回多个物品104等。如果物品集体重量过大或者如果物品集体需要的空间超过了无人机的承载能力,则无人机可能无法在单程中取回多个物品。基于这些限制,即使无人机109被最好地定位成行进至取件地点108,无人机109可能也无法在该位置处取回物品,并且因此机器人销售助理100提取物品可能更有效。
然而,无人机109不限于单程到达特定的取件地点108——机器人销售助理100可以规划其中无人机109重复地将物品从一个或更多个取件地点108移动至暂存区域的路线。在一些实施方式中,暂存区域是机器人销售助理100或取回车辆101将经过/返回作为路线150的一部分的区域。物品可以积聚在暂存区域处,直到机器人销售助理100返回以对物品进行处理为止。以这种方式,不能在同一行程中从取件地点108取回多个物品104的无人机109可以在多个行程中从取件地点108取回多个物品104,并且将物品104卸载至暂存区域。
可以以多种方式来优化路线150。路线150可以被优化以尽可能快地取回物品——即,路线150可以被优化使得物品104在最少的时间量内被取回并且放置至机器人销售助理100中。另外地或可替选地,路线150可以被优化以使能量成本最小化。路线150还可以被优化以使噪声敏感区域周围的无人机飞行时间最小化。
在一些实施方式中,路线150被优化以使物品处理吞吐量最大化。机器人销售助理100可以具有用于处理物品的有限数目的发布隔间102,并且因此规划路线150使得向机器人销售助理100提供稳定的物品流以最大程度利用发布隔间102可以是有利的。使物品处理吞吐量最大化不同于尽可能快地取回所有物品,这是因为机器人销售助理100、取回车辆101和无人机109可以被路由以向发布隔间102提供物品,以在路线的早期和整个路线中进行处理。相比之下,如果大部分或所有物品在路线的末端处变得可用于处理,则发布隔间102将变得被积压,而机器人销售助理100将在积压被处理时闲置。通过使发布隔间102的吞吐量最大化,路线150可以允许机器人销售助理100消除在处理多组物品中的积压。在一些实施方式中,路线150被优化使得机器人销售助理在其返回仓库112时正在处理最后的物品104,从而填充物品存储装置105,此时可以卸载已处理的物品104并且机器人销售助理100可以走上另一路线150以取回新的一组物品104。
在一些实施方式中,基于与机器人销售助理100一起工作的取回车辆101的数目和容量来规划路线150。还可以基于可用于机器人销售助理100和取回车辆101的无人机109的数目和容量来规划路线150。可以发射和收集无人机的速度也可以是规划路线150的因素。
如图1B所描绘的,机器人销售助理100已经驶下亚什兰大街,并且发射了无人机109A和109B以从销售者取件地点108A和108B取回物品。无人机109A从无人机发射点120A发射,而无人机109B从无人机发射点120B发射。在该示例中,机器人销售助理100与取回车辆101结合工作,取回车辆101从无人机发射点120C发射无人机109C。每个无人机109飞行至相应的销售者取件地点。当机器人销售助理100沿道路118行进时,无人机109可以在障碍物上方或周围飞行,从而增加了机器人销售助理100的有效范围,并且允许并行取回物品104。
在一些实施方式中,路线150可以识别无人机收集点122,机器人销售助理100在该无人机收集点122收集已经从取件地点108取回物品104的无人机109。例如,无人机109A可以在无人机收集点122A处与机器人销售助理100相遇,无人机109A已经从销售者取件地点108A取回物品104A。类似地,无人机109B可以在无人机收集点122B处与机器人销售助理100相遇,而无人机109C可以在无人机收集点122C处与取回车辆101相遇。由取回车辆101收集的物品可以在卡车移交点124处转移至机器人销售助理100。
机器人销售助理100可以将物品放置在暂存隔间103中,同时使发布隔间102可用于处理暂存的物品。一旦通过发布隔间102针对物品生成了发布,就可以将物品转移至物品存储装置105,在物品存储装置105中,物品可以等待被卸载至仓库112、传送至买方111或包装以转移至包装传送服务110。
图2A示出了示出根据本文公开的一个实施方式的发布隔间102的各方面的框图200。物品104A——在该示例中为智能电话——已经放置在转盘202的顶部上。物品104A可以通过销售者107、机器人销售助理100的抓钩106、取回车辆101的抓钩106、无人机109等放置在转盘202上。在一些实施方式中,物品操纵臂216将物品104放置在转盘202上,或者物品操纵臂216可以使物品104在转盘202上居中。在另一实施方式中,物品104被放置在不可旋转的桌子、秤204或不能用作转盘的其他表面上。
一旦放置在转盘202上,就可以通过下述一个或更多个传感器来分析物品104,例如秤204、摄像装置206、紫外线摄像装置208、红外摄像装置210、条形码读取器211、麦克风212、通信线缆213(例如USB线缆)、激光距离测量装置214和/或气味传感器215。物品104可以在从上述传感器中的一个或更多个中得到关于物品104的信息之前、期间或之后由转盘202或物品操纵臂216物理操纵。以这种方式,物品操纵臂允许传感器从不同的视角感知物品104。
秤204可以用于确定物品104的重量。如下面更详细地讨论的,物品的重量可以用于确定运输成本、选择包装材料以及检测伪造物品。
摄像装置206(在本文也被称为传感器206)可以是捕获静止图像和/或视频的任何设备。可以将一个或更多个静止图像和/或视频308(如图3A所示)添加至发布,以帮助潜在买方估算所提供的物品104,并且向潜在买方提供物品状况的保证。摄像装置206还可以捕获强度值,该强度值可以用于识别物品104上的磨损。在一些实施方式中,摄像装置206在转盘202旋转时捕获物品104的图像,从而确保从多个角度拍摄物品104。另外地或可替选地,物品操纵臂216可以提取物品104并且向摄像装置206呈现不同的视角以生成来自不同角度的图像。例如,物品操纵臂216允许物品104的置于转盘202上的一部分被拍照。
紫外线(UV)摄像装置208基于来自紫外线光谱的不可见光生成图像。UV光可以用于确定物品的状况和/或推断物品的年龄。例如,物品的被磨损的部分在由UV摄像装置208捕获的图像中可以具有不同的图案。对物品的磨损程度可以提供对物品104的年龄和状况的代表。物品的年龄和状况反过来可以是估计物品104的剩余使用寿命的因素。
另外地或可替选地,UV摄像装置208可以与UV光结合使用以捕获UV诱发的荧光。UV诱发的荧光可以识别物品104上留下的生理流体例如唾液和尿液以及霉菌和其他残留物的存在。这些残留物中的一个或更多个的检测可以用于更新物品104的估计状况。这些残留物中的一个或更多个的检测也可以在发布305(图3A)的一个或更多个捕获图像308或描述314(图3A)中突出显示。
红外(IR)摄像装置210基于来自红外光谱的不可见光生成图像。IR光可以用于估计物品的温度,即热成像。在一个实施方式中,物品104可以具有指定的操作温度范围。机器人销售助理100可以打开物品104并且在使用物品104时使用红外摄像装置210测量物品104的温度。可以将测量的温度与指定的温度范围进行比较,或者与可与物品104相比较的物品的温度进行比较。与指定的温度范围的偏差可以在发布305的描述314中指出,并且可以用作确定物品104的状况的因素。在一个实施方式中,机器人销售助理100可以在测试过热的同时使用通信线缆213来操作物品104。在一个实施方式中,机器人销售助理100可以使用物品操纵臂216打开物品104A。
IR摄像装置210还可以用于检测物品上/中水的存在,并且因此检测物品104中潜在的水损害。例如,IR摄像装置210可以感知在水或其他液体在物品104内蒸发的情况下的较低温度。水损害可以是确定物品104的状况时所包括的另一因素。
摄像装置206、UV摄像装置208、IR摄像装置210或其组合可以与图像处理算法结合使用以检测物品104上的污渍。一种图像处理算法识别常见的污渍,例如草、血、油、蜡笔、漂白等。另一图像处理算法识别物品104上的装饰图案,例如波卡圆点、人字形或条纹,并且然后将物品104中偏离图案的部分识别为污渍。另一图像处理算法识别物品104上的褪色、腐蚀(例如生锈)和其他形式的磨损。可以基于机器学习或其组合来对图像处理算法进行手工编码。污渍的存在——包括突出显示污渍的图片——可以包括在发布中。在估计物品104的状况和/或物品104的建议价格时,也可以使用污渍的存在。
物品操纵臂216本身可以用于测试物品104的状况。例如,物品操纵臂216可以向物品104施加力以确定物品104的柔性。物品操纵臂216可以针对秤204施加力以测量所施加的力的量。在另一实施方式中,两个或更多个物品操纵臂可以用于推、拉、挤压、扭转或以其他方式向物品104施加力以确定包括柔性、刚性、牢固性等的物理特性。
摄像装置206可以测量由一个或更多个物品操纵臂116引起的推、拉、挤压、扭转和其他物理变形的量。例如,摄像装置206可以在柔性测试期间捕获物品104的图像,并且图像处理算法可以测量由物品操纵臂216诱发的柔性的量。柔性、刚性、牢固性等可以暗示物品状况,并且因此暗示价格,例如如果一些蔬菜是柔性的,则可以认为这些蔬菜处于不佳的状况;而如果金属管是刚性的,则可以认为金属管处于良好的状况。在一些实施方式中,可以通过将测量的柔性值与从类似物品的历史测量、物品柔性的公开规格等中得出的预期柔性值进行比较来估计物品104的状况。
气味传感器215可以用于确定物品104的状况。气味传感器215可以捕获由物品104散发的颗粒物,并且对其进行化学分析或光谱分析以识别气味。气味传感器215可以识别众所周知的气味,例如香水、尿液、动物气味、烟雾(例如香烟烟雾)、汽油、烧焦或燃烧的气味、霉菌、霉病等。除了考虑到物品104的状况之外,还可以将气味添加至发布,作为描述的一部分。
条形码读取器211可以用于扫描在物品104上显示的条形码、QR码或其他编码的数字。在一个实施方式中,物品识别引擎218使条形码读取器211扫描物品104上的条形码217以确定物品识别符220。机器人销售助理100可以进而使用物品识别符220向服务器设备140查询与物品104有关的补充信息。对补充信息的查询可以利用无线网络120从制造商的网站或从任何其他公共数据源查找补充信息。
麦克风212可以用于记录从物品104发出的声音。麦克风212可以用于确定物品104在其运行时的音量水平。例如,机器人销售助理100可以将通信线缆213机器人连接至物品104,或者以其他方式打开并操作物品104。一旦物品104被打开,麦克风212可以确定物品104是否在指定的分贝范围内运行——例如,是否在由物品产品手册、制造商等规定的分贝范围内运行。使用麦克风212检测到的音量水平也可以与由类似物品——例如具有与机器人销售助理先前测量的相同的物品识别符220的物品——产生的平均音量水平进行比较。物品104是否在指定的分贝范围内运行可以是确定物品104的状况的因素,例如较低的音量可以对应较好的评级。除了制造商指定的音量范围之外,物品104的描述314可以包括测量的运行时间音量。
麦克风212还可以在物品104在转盘202上转动或由物品操纵臂216保持、摇动、倾斜、旋转或以其他方式移动时记录音频。基于物品104的补充信息222,例如产品手册的内容、从制造商检索的产品信息等,机器人销售助理100可以确定在移动物品104时任何声音是否是预期的。在其他实施方式中,机器人销售助理100可以通过与由机器人销售助理100先前处理过的类似物品所发出的声音进行比较来确定如果存在则预期什么声音。例如,如果机器人销售助理100已经接收了具有相同物品识别符220的数千个玩具以供出售,并且如果机器人销售助理100已经测量了当玩具被物品操纵臂216倾斜、旋转或以其他方式操纵时从玩具发出的声音,则机器人销售助理100可以确定被评估的特定玩具的新实例在以相同方式操纵时是否产生了预期的声音。如果麦克风212检测到非预期的声音,则可以相应地更新物品104的描述314中的物品104的状况,并且可以将非预期的声音添加至物品的描述。例如,机器人销售助理100可以将“一般”或“不佳”的状况分配至产生非预期的声音的物品。
通信线缆213可以用于与物品104通信接口。通信线缆213可以是例如通用串行总线(USB)线缆、闪电线缆、串行线缆、1394
通信线缆213还可以与其他传感器结合使用以对物品104执行测试。机器人销售助理100可以使用通信线缆213以使物品104执行测试,在此期间麦克风212测量音频输出。例如,机器人销售助理100可以在物品处于负载状态时测量物品的冷却风扇的声级。类似地,机器人销售助理100可以使用通信线缆213以使物品104执行测试,在此期间红外摄像装置210可以测量物品104的温度。这些测试和其他测试的结果可以包括在发布的描述部分中。
通信线缆213还可以用于识别物品104中包括的功能。例如,通信线缆213可以启动基准测试以评估物品104的速度、等待时间和其他性能指标。通信线缆213还可以识别由物品104所支持的特征,例如物品104中包括的软件、软件版本等。通信线缆213还可以用于识别物品104中包括的硬件部件,例如特定的显示屏尺寸、无线网络接口等。物品功能可以包括在发布的描述中,用于估计价格等。
通信线缆213还可以用于检测伪造设备。例如,计算设备130可以使用通信线缆213来验证销售者提供的描述。机器人销售助理100可以将通信线缆213插入物品104中,从而允许计算设备130扫描物品104的内部部件,例如存储器、存储装置、CPU等。可以将内部部件的列表和与销售者提供的描述相关联的内部部件的列表进行比较。例如,如果销售者提供的描述指示智能电话具有128千兆字节(GB)的存储空间,但是使用通信线缆213进行的内部扫描指示该物品实际上具有64千兆字节,则销售者和/或在线销售平台可以被通知。在另一实施方式中,可以排除销售者提供的描述,或者可以在发布中将销售者提供的描述替换为基于内部扫描生成的描述。
通信线缆213还可以用于检测下述伪造设备,该伪造设备将较便宜、能力较差或在其他方面功能较差的产品封装在较昂贵、能力较更强或在其他方面功能较强的产品的壳体/壳/外壳内。例如,计算机图形卡可能看起来是来自主要图形卡制造商的新型高端产品,而实际上内部部件来自过时的、能力较差的图形卡。物品识别引擎218可以将基于图像的身份与从通信线缆213得到的内部部件的列表进行比较,以确定物品是真实的还是伪造的。
在其他实施方式中,计算设备130可以使用通信线缆213来执行物品104的出厂重置。这防止了销售者偶然地将物品104上包含的个人信息暴露于公众。
激光距离测量装置214可以用于确定物品104的大小。在一个实施方式中,激光距离测量装置214附着至万向节,并且相对于物品104向上、向下、向左、向右、向前和向后移动。以这种方式,可以在三个空间维度的每一个中对物品104进行距离测量。另外地或可替选地,激光距离测量装置214可以围绕物品104旋转,同时将焦点保持在物品104A的中心上。在该实施方式中,激光距离测量装置214可以识别物品104的轮廓,即,通过在旋转物品104时测量从激光距离测量装置214到物品104的距离来识别物品104的轮廓。在任一情况下,当激光距离测量装置相对于物品104移动时,激光距离测量装置214可以通过记录物品104与激光距离测量装置214之间的距离来确定物品104的大小。
在一些实施方式中,物品识别引擎218使用发布隔间102中包含的传感器来识别物品104——即,确定物品识别符220。物品识别符220可以包括唯一编号,例如MAC地址。物品识别符220还可以包括与唯一编号结合的产品类别,例如与国际标准书籍编号(ISBN)结合的产品类别“书籍”。在其他域中,物品识别符还可以包括品牌、型号和版本信息。本领域普通技术人员将意识到,这些是示例,并且存在唯一地识别物品的许多其他方式。
一旦确定,就可以使用物品104的物品识别符220来检索物品104的补充信息222。补充信息222可以包括品牌、型号、制造商、型号年份、尺寸、重量、颜色、已安装软件的版本、手册、到制造商描述的链接等。补充信息还可以包括用于构造物品104的材料。通过了解制造物品104的材料,机器人销售助理100可以更好地识别磨损或损坏的材料。例如,如果对智能电话104的补充信息222指示壳体由铝制成,则UV摄像装置208可以被配置成识别铝的磨损和划伤。然而,如果补充信息222指示物品104由木材、布料、不锈钢、皮革或任何其他材料制成,则可以相应地校准和利用UV摄像装置208和其他磨损检测传感器。
在一个实施方式中,该补充信息可以用于选择摄像装置206的一个或更多个角度、缩放水平和距离以获得物品104的相关和有用的照片。例如,机器人销售助理100可以分析产品手册中包括的照片以确定摄像装置206的视角,即角度、缩放水平和距离。机器人销售助理100在确定摄像装置视角时还可以考虑物品104的大小、重量和其他尺寸方面。
在一些实施方式中,可以对已经被成功识别的物品进行扫描以查看该物品特定的磨损、缺陷或其他方面。这些特定于物品的扫描结果可以包括在物品的描述中或影响物品的状况。在其他实施方式中,特定于物品的扫描结果可以用于描述发布中包括的一个或更多个图像。特定于物品的扫描可以由制造商、在线销售平台或由购买者反馈手动指定。
例如,如果确定物品104为便携式计算设备例如智能电话,则在线销售平台可能已经确定屏幕是否破裂对于买方是重要的。这样,计算设备130可以分析由摄像装置206捕获的图像,以确定物品的屏幕是否破裂或以其他方式损坏。如果发现屏幕损坏的证据,则可以使该物品的状况降级。此外,裂缝的图片可以连同描述——例如裂缝多大、裂缝位于哪里等——包括在发布中。
在一个实施方式中,机器人销售助理100从销售者107接收销售者生成的描述201。机器人销售助理100可以使用补充信息222来确定销售者生成的描述201是否准确。例如,机器人销售助理100可以将销售者生成的描述201中包括的型号编号与补充信息222中包括的型号编号进行比较。类似地,机器人销售助理100可以将声称的存储容量与补充信息222中列出的存储容量进行比较。
另外地或可替选地,机器人销售助理100可以通过与测量值进行比较来确定补充信息222的准确性。例如,如果补充信息222中包括的产品手册列出了物品大小和重量,则机器人销售助理100可以将列出的大小和重量与通过激光距离测量装置214测量的大小和通过秤204测量的重量进行比较。差异可以防止机器人销售助理100生成或公布发布。可选地,机器人销售助理100可以将差异报告至销售者107和/或将公布该发布的公司。
物品识别符220还可以用于查找类似物品——即具有相同物品识别符220的物品——的发布。在其他实施方式中,可以通过将当前物品的图像与来自其他发布的图像进行比较,或者通过将来自传感器204至214的测量值与针对其他发布而测量的值进行比较来识别类似物品。一旦被识别,就可以使用类似物品来确定价格信息、状况等。例如,物品识别引擎218可以分析价格数据、传感器数据以及从类似物品的图像得到的数据。趋势例如物品价格与由UV摄像装置208捕获的值范围之间的负相关性、或对于该物品的特定颜色的较高价格可以用于估计当前物品的平价。在另一实施方式中,来自类似物品的发布的描述可以用于生成当前物品的描述。
图2B是示出在从多个角度捕获物品104A的图像228A至228F(统称为“228”)时的发布隔间102的各方面的示例实施方式200的框图。如所描绘的,物品104A——智能电话——在转盘202上逆时针旋转。在物品104A旋转时,摄像装置206A和206B捕获物品104A的一系列图像228A至228F。这些图像可用于发布,从而为潜在购买者给出了对待售物品的清晰视觉理解。
图2C是示出在将嵌入在物品操纵臂216中的通信线缆213插入物品104中时的发布隔间102的各方面的框图。在一些实施方式中,物品操纵臂216将通信线缆213的USB插头233插入物品104A的USB端口234中。通信线缆213的另一端可以插入计算设备130中,计算设备130然后可以如上面结合图2A所述的与物品104A进行交互。类似地,可以设想其他类型的通信接口,包括闪电线缆、火线线缆等。另外地或可替选地,物品操纵臂216可以将电力线缆插入物品104A中,使得在电池电力下不起作用的物品可以与计算设备130通信。另外地或可替选地,除了利用通信线缆213扫描物品104A之外,物品操纵臂216还可以用于通过操纵人机接口例如触摸屏、键盘等来导航物品104A上的菜单。
图3A是示出根据本文公开的一个实施方式的由机器人销售助理100生成的发布305A的各方面的图。图3A将浏览器应用302描绘为已经导航至发布305A的发布URL 304A。发布305A包括发布标题306A、捕获图像308A、补充信息310A、价格信息312A、描述314A和运输信息316A。
虽然图3A描绘了托管在网络浏览器中的发布305A,但是类似地设想了任何其他类型的应用。例如,专用的应用可以用于导航至并显示如305A的发布。
发布标题306A可以从物品识别符220和/或补充信息222得出。例如,发布标题306A可以从产品手册、制造商的描述等得出。在图3A中,发布标题306A描述了智能电话。这样,除了通用描述(例如“智能电话”)之外,机器人销售助理100还可以包括模型(例如“TornadoExtreme”)。然而,不同类型的物品可以在标题中包括不同的属性。例如,对于制造商或型号编号未知的古董或手工制作的物品可以包括用于创建该物品的材料的描述。标题306A可以包括物品104的任何数目和类型的属性,例如颜色、品牌和型号等。标题306A还可以包括物品的状况,例如“像新的一样”或“二手的”。
如上面讨论的,图像308A可以包括由(一个或多个)摄像装置206从许多不同角度拍摄的物品104A的图像228。图像308A还可以包括由UV摄像装置208或IR摄像装置210捕获的图像,例如,揭示生理流体或霉菌的UV图像、或指示在正常操作范围之外操作的电子产品的过热或欠热状况的IR图像。图像308A还可以包括从补充信息310A得到的一个或更多个图像,包括来自与物品104相关联的产品手册的图像。
补充信息310A可以包括与物品104相关联的属性。例如,补充信息310A可以包括型号编号。型号编号可以直接压印在物品104上,或者可以从序列号、条形码或从物品104提取的其他标识信息中推断出来。部分基于型号编号,补充信息还可以包括物品104A最初附带的手册。补充信息310A还可以包括从物品的年龄得出的物品104A的估计状况、由传感器204至214获得的值等。
价格信息312A可以包括由机器人销售助理100建议的价格。该价格可以部分地基于物品104的原始要价、物品104的估计状况、与已经出售的物品104的其他实例的比较等来估计。另外地或可替选地,机器人销售助理100可以基于在限定的时间段内售出的类似物品的价格例如最近售出的类似物品的价格来建议价格。主动列出但未售出的类似物品也可以用来建议价格。
在一些实施方式中,机器人销售助理100可以识别物品104的属性,这些属性是“价格影响”属性——当在发布中提及时影响销售价格的属性。在一些实施方式中,物品的属性是物品的物理特性,例如制造物品的材料、物品的状况等。属性还可以包括物品的非物理特性,例如品牌、制造商、原产国等。可以基于对类似物品的发布的分析——包括对标题、描述、关键字、图片等的分析——来识别属性,以确定与最终销售价格的相关性。例如,对手提包发布的分析可以确定,与由人造皮革制成的手提包相比,由真皮革制成的手提包的最终销售价格较高。在维持准确的描述的同时,机器人销售助理100可以选择包括在与较高的最终销售价格相关的发布标题中的属性。同时,机器人销售助理100可以使与较低的销售价格相关联的属性的影响最小化或完全避免与较低的销售价格相关联的属性。
描述314A可以包括物品104的基于文本的描述。基于文本的描述314A可以部分地基于补充信息310A例如制造商的描述而自动生成。在电子物品例如智能电话104A的情况下,描述314A可以列出规格,例如容量、屏幕大小、操作系统版本等。
运输信息316A可以包括基于包装材料和运输成本的成本估计,基于包装材料和运输成本的成本估计又可以从补充信息310A得出。例如,补充信息310A可以包括产品尺寸、重量、易碎性以及确定包装大小和运输成本的其他因素。
图3B是示出根据本文公开的一个实施方式的由机器人销售助理100生成的发布305B的各方面的图。发布305B包括发布标题306B、捕获图像308B、补充信息310B、价格信息312B、描述314B和运输信息316B。
发布标题306B可以从物品识别符220和/或补充信息222得出。在图3B中,物品104B是书籍,并且因此标题306B包括该书籍的状况、标题和作者。然而,这仅是一个示例——发布标题306B中可以包括任何其他补充信息,并且不同的物品类型将包括补充信息的不同部分。
如上面讨论的,图像308B可以包括由(一个或多个)摄像装置206从许多不同角度拍摄的物品104B的图像228。图像308B还可以包括由UV摄像装置208或IR摄像装置210捕获的图像,例如揭示生理液体或霉菌的UV图像。图像308B还可以包括从补充信息310B得出的一个或更多个图像,包括由物品104B的出版商提供的图像。
补充信息310B可以包括与物品104B相关联的属性。例如,补充信息310B可以包括ISBN编号。ISBN编号可以直接压印在物品104上,或者可以从物品104B提取的标识信息中推断出来。部分基于ISBN编号,补充信息还可以包括与物品104B相关联的评论或审查,例如由客户、专业审查人员等创建的评论或审查。补充信息310B还可以基于如上所述由传感器206至214获得的值来包括物品104B的状况。
价格信息312B可以包括由机器人销售助理100建议的价格。该价格可以部分地基于物品104B的原始要价、物品104B的估计状况、与已经出售的物品104B的其他实例的比较等来估计。
描述314B可以包括物品104B的基于文本的描述。基于文本的描述314B可以部分地基于补充信息310A而自动生成。在书籍例如物品104B的情况下,描述314B可以包括由出版商提供的书籍的摘要,该摘要从社区编辑的百科全书等提取。描述314B还可以包括对物品104B的审查、星级评定等。
运输信息316B可以包括基于包装材料和运输成本的成本估计,基于包装材料和运输成本的成本估计又可以从补充信息310B得出。例如,补充信息310B可以包括产品尺寸、重量、易碎性以及确定包装大小和运输成本的其他因素。
图4是示出用于实现本文公开的技术中的一些的例程400的各方面的图。本领域普通技术人员应当理解,本文所公开的方法的操作不一定以任何特定顺序呈现,并且以(一个或多个)替选顺序来执行这些操作中的一些或全部是可行的并且是设想的。为了便于描述和说明,已经以所演示的顺序呈现了操作。在不脱离所附权利要求书的范围的情况下,可以添加、省略、一起执行和/或同时执行操作。
还应当理解,所示出的方法可以在任何时间结束,并且不需要被整体执行。如本文所限定的,可以通过执行包括在计算机存储介质上的计算机可读指令来执行方法中的一些或全部操作和/或基本等效的操作。如在描述和权利要求书中所使用的,术语“计算机可读指令”及其变型在本文中被广泛地使用以包括例程、应用、应用模块、程序模块、程序、部件、数据结构、算法等。计算机可读指令可以在各种系统配置上实现,所述各种系统配置包括单处理器系统或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、其组合等。尽管下面描述的示例例程是在计算设备上操作的,但是可以理解,该例程可以在任何计算系统上执行,所述任何计算系统可以包括协同工作以执行本文公开的操作的多个计算机。
因此,应当理解,本文所描述的逻辑操作被实现为(1)一系列计算机实现的动作或在计算系统例如本文所描述的那些计算系统上运行的程序模块以及/或者(2)计算系统内互连的机器逻辑电路或电路模块。实现方式是取决于计算系统的性能和其他要求的选择问题。因此,可以以软件、固件、专用数字逻辑及其任意组合来实现逻辑操作。
例程400在操作401处开始,操作401示出了将物品接收至机器人销售助理的发布隔间中。
然后,例程400进行至操作403,操作403示出了利用基于图像的扫描仪识别物品。
然后,例程400进行至操作405,操作405示出了检索有关所识别的物品的补充信息。
然后,例程400进行至操作407,操作407从摄像装置生成物品的图像数据,其中摄像装置的视角基于所检索的补充信息。
接下来,操作409示出了生成针对物品的发布,其中发布包括图像数据和补充信息。
图5是示出用于实现本文公开的技术中的一些的例程500的各方面的图。
例程500在操作501处开始,操作501示出了接收有关物品已经被放置在发布隔间中的指示。
然后,例程500进行至操作503,操作503示出了接收销售者生成的物品的描述。
然后,例程500进行至操作505,操作505示出了使基于图像的扫描仪确定物品的身份。
然后,例程500进行至操作507,操作507示出了检索有关所识别的物品的补充信息。
操作509示出了当销售者生成的物品的描述与物品的描述一致时,生成针对物品的发布。
图6示出了用于能够提供本文描述的功能的计算机——诸如例如被配置成实现上面参照图1至图5描述的功能的计算设备——的示例计算机架构。因此,图6所示的计算机架构600示出了适于实现本文所描述的功能的服务器计算机或其他类型计算设备的架构。计算机架构600可以被用来执行本文所呈现的各种软件部件以实现所公开的技术。
图6所示的计算机架构600包括:中央处理单元602(“CPU”);系统存储器604,系统存储器604包括随机存取存储器606(“RAM”)和只读存储器(“ROM”)608;以及系统总线66,系统总线66将存储器604耦接至CPU 602。包含诸如在启动期间帮助在计算机架构600内的元件之间传递信息的基本例程的固件被存储在ROM 608中。计算机架构600还包括用于存储操作系统614、其他数据例如补充信息222以及一个或更多个可执行程序例如物品识别引擎218的大容量存储设备612。
大容量存储设备612通过连接至总线66的大容量存储控制器(图6中未示出)而连接至CPU 602。大容量存储设备612及其相关联的计算机可读介质针对计算机架构600提供非易失性存储。尽管本文所包含的计算机可读介质的描述涉及大容量存储设备例如固态驱动器、硬盘或光学驱动器,但是本领域技术人员应当理解,计算机可读介质可以是可以由计算机架构600访问的任何可用的计算机存储介质或通信介质。
通信介质包括计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据例如载波或其他传输机制,并且包括任何传送介质。术语“调制数据信号”是指以编码信号中的信息的方式改变或设置其特性中的一个或更多个的信号。作为示例而非限制,通信介质包括:有线介质例如有线网络或直接有线连接;以及无线介质例如声学、射频、红外和其他无线介质。上述的任何组合也应当被包括在计算机可读介质的范围内。
作为示例而非限制,计算机可读存储介质可以包括以用于存储信息例如计算机可读指令、数据结构、程序模块或其他数据的任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质。例如,计算机介质包括但不限于:RAM、ROM、EPROM、EEPROM、闪存或其他固态存储技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、BLU-RAY或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可以用于存储期望的信息并且可以由计算机架构600访问的任何其他介质。出于权利要求书的目的,短语“计算机存储介质”、“计算机可读存储介质”及其变型本身并不包括波、信号和/或其他暂态和/或无形通信介质。
根据各种实现方式,计算机架构600可以在使用通过网络650和/或另一网络(图6中未示出)到远程计算机的逻辑连接的网络化环境中操作。实现计算机架构600的计算设备可以通过连接至总线66的网络接口单元616而连接至网络650。应当理解,网络接口单元616也可以用于连接至其他类型的网络和远程计算机系统。
计算机架构600还可以包括用于接收和处理来自许多其他设备包括键盘、鼠标或电子笔(图6中未示出)的输入的输入/输出控制器618。类似地,输入/输出控制器618可以向显示屏、打印机或其他类型的输出设备(图6中也未示出)提供输出。
应当理解,本文描述的软件部件可以在被加载至CPU 602中并且被执行时将CPU602和整个计算机架构600从通用计算系统转换成被定制以促进本文呈现的功能的专用计算系统。CPU 602可以由任意数目的晶体管或其他分立电路元件构成,晶体管或其他分立电路元件可以单独地或共同地假定任意数目的状态。更具体地,CPU 602可以响应于包含在本文所公开的软件模块内的可执行指令而操作为有限状态机。这些计算机可执行指令可以通过指定CPU 602如何在状态之间转变来转换CPU 602,从而转换构成CPU 602的晶体管或其他分立硬件元件。
对本文所呈现的软件模块进行编码还可以对本文所呈现的计算机可读介质的物理结构进行转换。在本描述的不同实现方式中,物理结构的具体转换可能取决于各种因素。这样的因素的示例可以包括但不限于用于实现计算机可读介质的技术、计算机可读介质被表征为主存储装置还是辅助存储装置等。如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过对半导体存储器的物理状态进行转换而被编码在计算机可读介质上。例如,该软件可以对构成半导体存储器的晶体管、电容器或其他分立电路元件的状态进行转换。该软件还可以对这样的部件的物理状态进行转换,以在其上存储数据。
作为另一示例,可以使用磁性或光学技术来实现本文公开的计算机可读介质。在这样的实现方式中,本文所呈现的软件可以在该软件被编码在磁介质或光学介质中时对磁介质或光学介质的物理状态进行转换。这些转换可以包括改变给定磁性介质内位置的磁性特征。这些转换还可以包括改变给定光学介质内位置的物理特性或特征,以改变这些位置的光学特征。在不脱离本描述的范围和精神的情况下,可以进行物理介质的其他转换,并且前述示例仅被提供以利于本讨论。
鉴于以上内容,应当理解,在计算机架构600中发生了许多类型的物理转换以存储和执行本文所呈现的软件部件。还应当理解,计算机架构600可以包括其他类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理以及本领域技术人员已知的其他类型的计算设备。
还可以设想,计算机架构600可以不包括图6中示出的所有部件,可以包括未在图6中明确示出的其他部件,或者可以利用与图6中示出的架构完全不同的架构。例如并且不限于此,本文所公开的技术可以与用于通过并行化来改进性能的多个CPU、用于较快计算的图形处理单元(“GPU”)和/或张量处理单元(“TPU”)一起使用。如本文所使用的术语“处理器”包括CPU、GPU、TPU和其他类型的处理器。
图7示出了能够执行上面关于图1至图7描述的技术和处理的示例计算环境。在各种示例中,计算环境包括主机系统702。在各种示例中,主机系统702在网络704上操作、与网络704通信时操作或作为网络704的一部分操作。
网络704可以是各种接入网络或者可以包括各种接入网络。例如,一个或更多个客户端设备706(1)……706(N)可以经由网络704和/或其他连接与主机系统702通信。主机系统702和/或客户端设备可以包括但不限于下述各种设备中的任何一种:所述各种设备包括便携式设备或固定设备例如服务器计算机、智能电话、移动电话、个人数字助理(PDA)、电子书设备、膝上型计算机、台式计算机、平板计算机、便携式计算机、游戏控制台、个人媒体播放器设备或者任何其他电子设备。
根据各种实现方式,可以由作为网络704的一部分执行或者与网络704通信时执行的一个或更多个服务器来提供主机系统702的功能。服务器可以托管各种服务、虚拟机、门户和/或其他资源。例如,可以托管一个或更多个门户、网站和/或其他信息或提供对一个或更多个门户、网站和/或其他信息的访问。
主机系统702可以包括(一个或多个)处理器708和存储器710。存储器710可以包括操作系统712、(一个或多个)应用714和/或文件系统716。此外,存储器710可以包括性能规格、物品属性、图片以及如上面关于图1至图7所描述的生成和消耗的其他数据。
(一个或多个)处理器708可以是单个处理单元或者多个单元,所述多个单元中的每一个可以包括多个不同的处理单元。(一个或多个)处理器可以包括微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元(CPU)、图形处理单元(GPU)、安全处理器等。可替选地或另外地,本文所描述的技术中的一些或全部可以至少部分地由一个或更多个硬件逻辑部件执行。例如但不限于,可以使用的说明性类型的硬件逻辑部件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、状态机、复杂可编程逻辑器件(CPLD)、其他逻辑电路、片上系统(SoC)以及/或者基于指令执行操作的任何其他设备。在其他能力之中,(一个或多个)处理器可以被配置成获取并执行存储在存储器710中的计算机可读指令。
存储器710可以包括一个计算机可读介质或计算机可读介质的组合。如本文所使用的,“计算机可读介质”包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储信息例如计算机可读指令、数据结构、程序模块或其他数据的任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质。计算机存储介质包括但不限于:相变存储器(PCM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、闪存或其他存储技术、致密盘ROM(CD-ROM)、数字多功能盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备或者可以用于存储信息以由计算设备访问的任何其他介质。
相比之下,通信介质包括计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据例如载波。如本文所限定的,计算机存储介质不包括通信介质。
主机系统702可以经由网络接口718在网络704上通信。网络接口718可以包括各种类型的网络硬件和软件,用于支持两个或更多个设备之间的通信。
本技术可以涉及在一个或更多个机器中发生的操作。如本文所使用的,“机器”是指用指令编程以执行专门的计算操作的物理数据存储和处理硬件。应当理解,两个或更多个不同的机器可以共享硬件部件。例如,同一集成电路可以是两个或更多个不同机器的一部分。
应当理解,本文描述的方法可以在任何时间结束,并且不需要被整体执行。可以通过执行包括在计算机存储介质上的如下面所限定的计算机可读指令来执行本文所描述的方法的一些或全部操作以及/或者基本上等同的操作。如在描述和权利要求书中所使用的,术语“计算机可读指令”及其变型在本文中被广泛地使用以包括例程、应用、应用模块、程序模块、程序、部件、数据结构、算法等。计算机可读指令可以在各种系统配置上实现,所述各种系统配置包括单处理器系统或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、其组合等。
因此,应当理解,本文所描述的逻辑操作被实现为(1)一系列计算机实现的动作或在计算系统上运行的程序模块以及/或者(2)计算系统内互连的机器逻辑电路或电路模块。实现方式是取决于计算系统的性能和其他要求的选择问题。因此,本文所描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以以软件、固件、专用数字逻辑及其任意组合来实现。
如本文所述,结合本文所述的附图,例程的操作在本文中被描述为至少部分地由应用、部件和/或电路来实现。尽管以下说明涉及指定附图的部件,但是可以理解,例程的操作也可以以许多其他方式来实现。例如,例程可以至少部分地由计算机处理器或其他计算机的一个处理器或多个处理器来实现。另外,可替选地或者另外地,例程的一个或更多个操作可以至少部分地由单独工作的计算机或者与其他软件模块结合工作的计算机来实现。
例如,例程的操作在本文被描述为至少部分地由应用、部件和/或电路来实现,这些应用、部件和/或电路在本文被统称为模块。在一些配置中,模块可以是动态链接库(DLL)、静态链接库、由应用编程接口(API)产生的功能、经编译的程序、解释程序、脚本或任何其他可执行指令集。数据和/或模块例如本文所公开的数据和模块,可以以数据结构存储在一个或更多个存储器部件中。可以通过寻址至数据结构的链接或引用来从数据结构中检索数据。
最后,尽管已经以特定于结构特征和/或方法动作的语言描述了本文所呈现的各种技术,但是应当理解,在所附表示中限定的主题不必限于所描述的特定特征或动作。相反,这些特定特征和动作是作为实现所要求保护的主题的示例形式来公开的。
- 灰度发布系统和基于灰度发布系统的应用发布方法
- 软件发布系统及方法、软件开发发布系统