针对在线产品目录的自动图像选择的制作方法

文档序号:24398290发布日期:2021-03-26 23:36阅读:101来源:国知局
针对在线产品目录的自动图像选择的制作方法

1.本公开内容的实施方式一般地涉及图像,并且更具体地涉及针对在线产品目录的自动图像选择。


背景技术:

2.选择用于表示物品或物品类别的库存图像目前是由人手动执行的。例如,人工审核员从各个卖家为物品发布的一组图像中选择库存图像。除了耗费时间和资源之外,该过程提供了不一致的结果,因为每个人工审核员可能对什么构成合适的库存图像具有不同的意见并且在决定时依赖于他们的个人偏好。
附图说明
3.在不一定按比例绘制的附图中,相同的附图标记可以描述不同视图中的相似的部件。具有不同字母后缀的相同附图标记可以表示相似部件的不同实例。在附图的图中通过示例而非限制的方式示出了一些实施方式,在附图中:
4.图1示出了根据一些示例实施方式的提供针对在线产品目录的自动图像选择的系统配置。
5.图2是根据一些示例实施方式的图像选择系统的框图。
6.图3是根据一些示例实施方式的模型训练模块的框图。
7.图4是根据一些示例实施方式的训练机器学习模型的流程图。
8.图5是根据一些示例实施方式的使用机器学习模型对图像进行分类的流程图。
9.图6是示出根据一些示例实施方式的使用机器学习模型选择图像的方法的流程图。
10.图7是示出了根据一些示例实施方式的用户界面的屏幕截图,该用户界面呈现了在在线市场上被提供以供出售的物品的列表和对应的库存图像。
11.图8是示出了可以结合本文中描述的各种硬件架构使用的代表性软件架构的框图。
12.图9是示出根据一些示例实施方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种方法的机器的部件的框图。
具体实施方式
13.在下面的描述中,出于说明的目的,阐述了各种细节以提供对本发明的各种实施方式的透彻理解。然而,对于本领域技术人员将明显的是,可以在没有这些具体细节的情况下或者在具有微小改变的情况下实践本主题。
14.在说明书中对“一个实施方式”或“实施方式”的引用意指结合该实施方式描述的特定特征、结构或特性被包括在本主题的至少一个实施方式中。因此,在整个说明书的各个
地方出现的短语“在一个实施方式中”或“在实施方式中”的出现不一定都指代同一实施方式。
15.出于说明的目的,阐述了具体配置和细节以提供对本主题的透彻理解。然而,对于本领域普通技术人员将明显的是,可以在没有本文呈现的具体细节的情况下或者以如本文中所描述的各种组合来实践所描述的主题的实施方式。此外,可以省略或简化公知的特征以免使所描述的实施方式不清楚。在整个说明书中可以给出各种示例。这些示例仅是对特定实施方式的描述。权利要求的范围或含义不限于所给出的示例。
16.公开了用于针对在线产品目录的自动图像选择的系统、方法和非暂态计算机可读介质。在线市场向用户提供在线购买和销售物品的能力。例如,在线市场允许卖家向在线市场发布描述卖家提供以供出售的物品的列表。买家可以浏览所发布的列表并且购买他们期望的列出物品。每个列表可以包括被列出以供出售的物品的图像。例如,卖家可以拍摄物品的图像并且将图像上传到在线市场以将其包括在列表中。当买家评估是否购买所列出的物品时,买家可以查看这些发布的图像。
17.为了帮助买家识别特定物品,在线市场可以提供被列出以供在线市场出售的单独物品或物品类别的列表。例如,在线市场可以列出物品类别例如智能电话,以及列出单独物品例如智能电话的特定样式和型号(例如,iphone x、三星galaxy等)。每个列出的单独物品或物品类别可以由买家选择,以使得在线市场向买家呈现提供出售的单独物品或类别内的物品的列表。
18.每个列出的单独物品或物品类别可以被指定表示物品或物品类别的库存图像。如前所述,这个过程目前由人工审核员手动执行,该过程是低效的并且基于人工审核员的不同的个人偏好会提供不一致的结果。为了缓解这个问题,在线市场利用图像选择系统,该图像选择系统通过使用机器学习模型来使图像选择过程自动化,该机器学习模型被训练成预测图像表示单独物品(例如,产品)或物品类别的适合性。
19.基于一组训练图像和相应特征数据来训练机器学习模型。训练图像包括来自发布到在线市场的先前和/或当前列表的图像,这些图像被标记和/或加标签以指示图像是否适合表示物品和/或物品类别。相应特征数据可以包括描述图像和/或包括图像的列表的各种特征的组合。例如,特征数据可以包括:描述列表中的物品的物品特征(例如,价格、用于列出物品的工具)、描述物品的卖家的卖家特征(例如,列表的数目或销售成功率)、描述物品(例如,类别中出售的物品)的类别的类别特征以及描述图像本身的图像特征(例如,尺寸、对比度、亮度或角度)。
20.所得到的经训练的机器学习模型基于以上列出的特征来输出图像的概率值。也就是说,机器学习模型接收物品的图像作为输入,并且输出概率得分,概率得分指示图像适合表示物品或物品类别的估计概率。图像选择系统使用机器学习模型来生成物品的被包括在发布到在线市场的列表中的多个图像的概率得分,并且基于所得到的概率得分选择图像之一来表示物品或物品类别。例如,图像选择系统可以选择具有最高概率得分的图像。在线市场将由图像选择系统选择的图像指定为物品和/或物品类别的库存图像。
21.图1示出了根据一些示例实施方式的提供针对在线产品目录的自动图像选择的示例系统配置100。如图所示,多个装置(即,客户端装置102、客户端装置104、在线市场系统106和图像选择系统108)连接至通信网络110,并且被配置成通过使用通信网络110来彼此
通信。通信网络110是任何类型的网络,包括诸如内联网的局域网(“lan”)、诸如因特网的广域网(“wan”)或其任何组合。此外,通信网络110可以是公共网络、专用网络或其组合。通信网络110使用与一个或更多个服务提供商相关联的任何数目的通信链路——包括一个或更多个有线通信链路、一个或更多个无线通信链路或其任意组合——来实现。另外,通信网络110被配置成支持使用任何数目的协议格式化的数据的传输。
22.多个计算装置可以连接至通信网络110。计算装置是能够与其他计算装置进行网络通信的任何类型的通用计算装置。例如,计算装置可以是诸如台式机或工作站的个人计算装置;商业服务器;或诸如膝上型计算机、智能电话或平板个人计算机(pc)的便携式计算装置。计算装置可以包括图9所示的机器900的特征、部件和外围设备中的一些或全部。
23.为了利于与其他计算装置的通信,计算装置包括通信接口,该通信接口被配置成从与该计算装置网络通信的另一计算装置接收诸如请求、数据等的通信并且将该通信传递到在该计算装置上执行的适当的处理模块。通信接口还向与计算装置网络通信的其他计算装置发送通信(例如,传输数据)。
24.在系统100中,用户通过使用客户端装置102和104来与在线市场系统106交互,以利用由在线市场系统106提供的服务,客户端装置102和104通过直接和/或间接通信连接至通信网络110。在线市场系统106提供在线市场,该在线市场使得用户能够发布供出售的物品以及购买由其他用户发布以出售的物品。例如,在线市场服务160可以包括被拍卖以供出售的物品和/或以设定价格列出以供出售的物品。
25.尽管所示的系统100仅包括两个客户端装置102、104,但这仅是为了便于说明而不意指在进行限制。本领域技术人员将理解,系统100可以包括任何数目的客户端装置102、104。此外,在线市场系统106可以并发地接受来自任何数目的客户端装置102、104的连接并且与这些客户端装置进行交互。在线市场系统106支持来自各种不同类型的客户端装置102、104(例如台式计算机;移动计算机;移动通信装置,例如移动电话、智能电话、平板电脑;智能电视;机顶盒;和/或任何其他网络使能的计算装置)的连接。因此,客户端装置102和104可以具有不同的类型、能力、操作系统等。
26.用户经由在客户端装置102和104上安装的客户端侧应用来与在线市场服务106进行交互。在一些实施方式中,客户端侧应用包括在线市场系统106专用的部件。例如,该部件可以是独立应用、一个或更多个应用插件和/或浏览器扩展。然而,用户还可以经由诸如web浏览器的第三方应用与在线市场系统106进行交互,该第三方应用驻留在客户端装置102和104上并且被配置成与在线市场系统106通信。在任一情况下,客户端侧应用呈现用户界面(ui)以供用户与在线市场系统106进行交互。例如,用户经由与文件系统集成的客户端侧应用或者经由使用web浏览器应用显示的网页来与在线市场系统106进行交互。
27.在线市场系统106是被配置成有利于在线市场(例如,ebay、amazon)的一个或更多个计算装置,在该在线市场中,用户(例如,卖家)可以生成和发布提供出售物品的列表,并且其他用户(例如,买家)可以查看所发布的列表并且根据需要选择购买所提供的物品。例如,在线市场系统106提供用户界面,在该用户界面中用户可以查看发布到在线市场服务106的物品列表。每个物品列表可以提供描述所列出的以供出售的一个或多个物品的细节。例如,物品列表可以包括物品描述(例如,书面描述)、图像、出售价格、当前出价价格、剩余拍卖时间等。
28.在线市场系统106还可以提供使得用户能够购买物品和/或对物品进行出价的功能。例如,在线市场系统106可以提供用户界面元素(例如,按钮、文本字段等),用户可以使用该用户界面元素来选择购买物品、出价等以及提供财务信息(例如,信用卡号、银行账号)和个人信息(例如,送货地址、账单地址等)以完成购买。
29.为了在在线市场上列出供出售的物品,用户利用在线市场系统106创建用户账户。用户账户可以包括用户的个人信息(例如,姓名、地址、电子邮件地址、电话号码等)和财务信息(例如,信用卡信息、银行账户信息等)。一旦用户创建了用户账户,用户就可以使用其用户账户利用在线市场系统106的功能,包括在在线市场上列出供出售的物品。在线市场系统106向用户提供了列表界面,该列表界面使得用户能够创建新的列表以及提供该列表的数据。例如,列表界面可以包括提示用户提供列表的指定信息的数据字段,例如价格、描述等。列表界面还可以包括诸如按钮的用户界面元素,该用户界面元素使得用户能够上传物品的图像以及提交和/或发布已完成列表。也就是说,用户可以在用户在包括在列表界面中的数据字段中进行填充之后发布列表。
30.为了帮助买家识别特定物品,在线市场系统106可以提供被列出以供在线市场系统106出售的单独物品或物品类别的列表。例如,在线市场系统106可以提供包括物品类别(例如,智能电话、工具等)和/或单独物品(例如,iphone x、三星galaxy、fender stratocaster、gibson sg等)的列表的用户界面。在用户界面内可以选择每个列出的单独物品或物品类别,以使得呈现提供供出售的特定物品或物品类别的单独列表。例如,买家可以选择要与发布到在线市场系统106的提供各种乐器(例如,吉他、鼓、键盘等)以供出售的列表一起呈现的乐器的物品类别。替选地,买家可以选择要仅与提供供出售的fender stratocasters的列表一起呈现的单独物品fender stratocaster。
31.每个列出的单独物品或物品类别可以被指定表示物品或物品类别的库存图像。库存图像为买家提供识别单独物品或物品类别的视觉帮助。如前所述,选择和指定库存图像的过程目前由人工审核员手动执行。这个过程既低效又会导致不一致的结果。例如,手动指定库存图像需要人工审核员手动查看多个图像并对多个图像进行评级,这是缓慢且乏味的过程。此外,基于人工审核员的不同个人偏好,由人工审核员提供的等级可能是不一致的。例如,被一个审核员认为适合作为库存图像的图像可能会被另一审核员视为不合适。
32.为了缓解这个问题,在线市场系统106利用图像选择系统108的功能来使图像选择过程自动化。尽管图像选择系统108与在线市场系统106被分开示出,但这是为了便于说明而不意指进行限制。在一些实施方式中,图像选择系统108的一些或全部功能被并入作为在线市场系统106的一部分。
33.图像选择系统108通过使用机器学习模型来选择物品或物品类别的库存图像,该机器学习模型被训练成预测图像表示单独物品(例如,产品)或物品类别的适合性。也就是说,机器学习模型接收标识物品或物品类别的图像和数据作为输入,并且输出指示该图像表示物品或物品类别的合适程度的概率得分。被指定了相对较高的概率得分的图像被确定为比被指定了相对较低的概率得分的图像更适合作为库存图像来表示物品或物品类别。
34.图像选择系统108可以确定包括在被发布到在线市场系统106的列表中的物品或物品类别的多个图像的概率得分。然后,图像选择系统108可以基于所确定的概率得分来选择图像之一作为物品或物品类别的库存图像。例如,图像选择系统108可以选择具有最高概
率得分的图像或被指定了高于预定阈值得分的概率得分的图像。
35.图像选择系统108可以对多个物品和/或物品类别重复该过程。例如,图像选择系统108可以确定每个物品和/或物品类别的图像组的概率得分,并且基于所确定的概率得分来选择每个物品和/或物品类别的库存图像。
36.图像适合性可以基于各种因素,例如图像亮度、对比度、分辨率、背景颜色、存在水印或涂鸦文本、是否能够从图像中清楚地辨别所关注的物品等。例如,图像适合性可以基于诸如定义最小和最大尺寸范围的图像的尺寸。角度视图是图像适合性的另一因素,例如角度是否提供了对所拍摄的物品或产品是什么的良好理解,以及角度是否提供了最佳视图。背景也可以是因素。例如,杂乱或忙碌的背景可能会分散对图像中拍摄的物品的注意。相应地,简单朴素的单色背景(例如,白色或灰白色)可以是优选的。其他因素可以包括:图像是否包括盒子或其他包装,或者人是否可见或部分可见。水印或涂鸦可能是可接受的,然而,当确定适合性时,水印或涂鸦也是可以考虑的因素。可以考虑的其他因素是:图像内是否存在多个图像或视图、图像是否模糊/清晰、图像是否被裁剪等。
37.与仅基于图像的视觉方面来评定图像的人工审核员相比,图像选择系统108使用的机器学习模型考虑不仅描述图像而且还描述物品或物品类别、包括该图像的列表以及发布该列表的卖家的各种类型数据的组合。例如,特征数据可以包括描述包括图像的列表的物品特征,例如与列表相关联的价格、卖家用来列出物品的工具、物品有效的天数、列表已经接收的查看次数等。特征数据还可以包括描述发布列表的卖家的卖家特征,例如,卖家发布的列表的数目、卖家的历史销售成功率、卖家发布的列表的平均观看次数等。特征数据还可以包括描述物品或物品类别的类别特征,例如该类别中所售物品的数目、物品的历史销售成功率、物品在出售前列出的平均天数等。特征数据还可以包括描述图像本身的图像特征,例如图像的尺寸、对比度、亮度、展示物品的角度、图像中物品的尺寸、图像内物品的尺寸等。
38.图像选择系统108从在线市场系统106收集每个图像的特征数据的这种组合。图像选择系统108将所收集的特征数据作为输入提供给机器学习模型以确定与每个图像相关联的概率得分。
39.类似地,图像选择系统108基于一组训练图像和特征数据的组合来训练机器学习模型。训练图像包括来自发布到在线市场系统106的先前和/或当前列表的图像。图像选择系统108从在线市场系统106收集训练图像的特征数据的组合。每个训练图像被(例如,由人工审核员)附加地标记和/或加标签以指示该图像是否适合表示物品和/或物品类别。
40.图2是根据一些示例实施方式的图像选择系统108的框图。为了避免不必要的细节模糊本发明的主题,从图2中省略了与传达对本发明的主题的理解没有密切关系的各种功能部件(例如模块)。然而,技术人员将容易地认识到,各种附加的功能部件可以通过图像选择系统108来支持以有利于本文未具体描述的附加功能。此外,图2中描绘的各种功能模块可以驻留在单个计算装置上,或者可以以各种布置(例如在基于云的架构中使用的布置)分布在若干计算装置上。
41.如图所示,图像选择系统108包括数据收集模块202、概率得分确定模块204、图像选择模块206、输出模块208、模型训练模块210和数据存储装置212。
42.数据收集模块202收集数据,该数据由图像选择系统108使用来选择表示物品或物
品类别的库存图像。如前所述,数据收集模块202使用机器学习模型,该机器学习模型输出概率得分,该概率得分指示图像适合于作为库存图像表示物品或物品类别的估计概率。机器学习模型使用不同类型的特征数据的组合来确定图像的概率得分。例如,特征数据可以包括描述包括图像的列表的物品特征,例如与列表相关联的价格、卖家用来列出物品的工具、物品有效的天数、列表已经接收的查看次数等。特征数据还可以包括描述发布列表的卖家的卖家特征,例如,卖家发布的列表的数目、卖家的历史销售成功率、卖家发布的列表的平均观看次数等。特征数据还可以包括描述物品或物品类别的类别特征,例如该类别中所售物品的数目、物品的历史销售成功率、物品在出售前列出的平均天数等。特征数据还可以包括描述图像本身的图像特征,例如图像的尺寸、对比度、亮度、展示物品的角度、图像中物品的尺寸、图像内物品的尺寸等。
43.数据收集模块202从在线市场系统106收集机器学习模型所使用的特征数据。例如,数据收集模块202与在线市场系统106通信以请求特征数据。在图像选择系统108被并入作为在线市场系统106的一部分的实施方式中,数据收集模块202可以从存储在线市场系统106的用户简档和列表数据的数据存储装置212收集特征数据。数据收集模块202可以收集物品或物品类别的多个图像的一组特征数据。数据收集模块202将收集的特征数据提供给概率得分确定模块204。
44.概率得分确定模块204使用与图像相关联的特征数据作为到机器学习模型中的输入来确定概率得分,该概率得分指示图像适合作为库存图像表示物品或物品类别的估计概率。在下面关于图5更详细地描述由概率得分确定模块204执行的分类过程。概率得分确定模块204对物品或物品类别的多个图像重复该过程,得到物品或物品类别的图像的一组概率得分。
45.图像选择模块206基于物品或物品类别的图像的一组概率得分来选择图像作为库存图像表示物品或物品类别。例如,图像选择模块206可以选择具有最高概率得分的图像。作为另一示例,图像选择模块206可以选择具有超过阈值概率得分的概率得分的图像。
46.输出模块208向在线市场系统106提供数据,该数据标识由图像选择模块206选择作为物品或物品类别的库存图像的图像。然后,在线市场系统106可以在将物品或物品类别包括在列表中时将作为库存图像的所标识的图像指定给在线市场系统106的用户。
47.模型训练模块210训练由图像选择系统108使用的机器学习模型。如前所述,使用一组训练图像和各种相关联的特征数据来训练机器学习模型。训练图像可以包括来自先前发布到在线市场系统106的历史列表的图像。每个训练图像可以被人工审核员标记或加标签以指示训练图像是否适合表示物品或物品类别。例如,每个训练图像可以用1或0标记,以指示该图像是否适合表示物品或物品类别。作为另一示例,可以使用更宽的值范围(例如,0至5)来指示图像适合表示物品或物品类别的级别。
48.模型训练模块210使用标记的训练图像和相关联的特征数据来生成(例如,训练、验证和测试)机器学习模型。在下面关于图3和图4更详细地描述该过程。所得到的机器学习模型为给定的输入图像提供概率得分,该概率得分指示该图像适合表示给定物品或物品类别的估计概率。
49.图3是根据一些示例实施方式的模型训练模块210的框图。为了避免以不必要的细节模糊本发明的主题,从图3中省略了与传达对本发明的主题的理解没有密切关系的各种
功能部件(例如模块)。然而,技术人员将容易地认识到,各种附加的功能部件可以通过模型训练模块210来支持以有利于本文未具体描述的附加功能。此外,图3中描绘的各种功能模块可以驻留在单个计算装置上,或者可以以各种布置(例如在基于云的架构中使用的布置)分布在若干计算装置上。
50.如图所示,模型训练模块210包括训练数据访问模块302、训练数据分配模块304、训练模块306、验证模块308和测试模块310。
51.训练数据访问模块302访问用于生成机器学习模型的训练数据(例如,标记的训练图像和对应的特征数据)。训练数据访问模块302可以从数据存储装置212并且/或者从在线市场系统106访问训练数据。训练数据可以包括多组训练数据,每组训练数据均与特定物品或物品类别相关联。即,每组训练数据包括描述指定物品或在指定物品类别内的物品的图像。每组训练数据被分别用于训练机器学习模型以确定相应的物品或物品类别的概率得分。
52.训练数据分配模块304分配来自每组训练数据的训练数据,以用于训练、验证或测试与该组训练数据相关联的物品或物品类别的机器学习模型。在一些实施方式中,训练数据分配模块304分配训练数据的大部分以训练机器学习模型,并且分配较小百分比的训练数据用于验证和测试。例如,训练数据分配模块304可以分配80%的训练数据用于训练机器学习模型以及将10%的训练数据分配给机器学习模型的每次验证和测试。
53.训练模块306基于被分配用于训练的训练数据来训练机器学习模型。在一些实施方式中,训练模块306将训练数据的视觉特征和文本特征分开,并且使用分开的视觉特征和文本特征来训练机器学习模型内的单独的模型。例如,一个模型输出基于视觉特征的概率得分,而另一模型输出基于文本特征的概率得分。训练模块306训练组合器,该组合器根据基于视觉特征生成的概率得分和基于文本特征生成的概率得分来生成图像的最终概率得分。关于图4更详细地讨论由训练模块306执行的训练流程。
54.验证模块308在机器学习模型的训练期间执行验证过程。验证过程使用被分配用于验证的一组训练数据来调整经训练的模型的参数。例如,验证模块308可以使用交叉验证或其他各种类似的模型验证技术。验证过程使用被分配用于验证的训练数据来估计机器学习模型将如何准确地执行。可以基于验证过程的结果来调整机器学习模型以进一步精调机器学习模型。
55.测试模块310使用在机器学习模型的训练期间未使用的训练数据(例如,被分配用于测试的训练数据)来测试所生成的机器学习模型的性能。测试模块310使用该训练数据作为到所生成的机器学习模型中的输入以生成概率得分。然后,测试模块310将得到的概率得分与人提供的标记进行比较以评估机器学习模型的表现情况。例如,如果更高百分比的图像被指定了与人提供的标记一致的概率得分,则测试模块310确定机器学习模型表现良好。测试模块310可以向训练模块306和/或验证模块308提供反馈以用于进一步细化机器学习模型。
56.图4是根据一些示例实施方式的训练机器学习模型的流程图。为了避免以不必要的细节模糊本发明的主题,从图4中省略了与传达对本发明的主题的理解没有密切关系的各种细节。然而,技术人员将容易地认识到,各种附加细节可以通过训练模块306来执行以有利于本文未具体描述的附加功能。
57.如图所示,训练模块306使用训练数据来训练机器学习模型。训练数据包括已由人工审核员加标签的物品的图像以及相关联的数据,例如关于列表、物品、卖家等的数据。训练模块306将训练数据402分成视觉训练数据和文本训练数据。视觉训练数据是基于图像的视觉特征,例如从图像本身导出的视觉特征,而文本训练数据包括文本特征,例如来自列表、卖家简档的数据等。
58.训练模块306使用视觉训练数据和由人工审核员指定的对应标记来训练卷积神经网络404。卷积神经网络输出基于视觉训练数据的视觉特征。训练模块306使用由卷积神经网络输出的得到的视觉特征来训练视觉分类器408。例如,视觉分类器可以是贝叶斯分类器。视觉分类器输出基于视觉特征的概率得分。
59.训练模块306使用文本训练数据和由人工审核员指定的对应标记来训练文本特征提取器406。文本特征提取器输出基于文本训练数据的文本特征。训练模块306使用由卷积神经网络输出的得到的文本特征来训练文本分类器410。例如,文本分类器可以是贝叶斯分类器。文本分类器输出基于文本特征的概率得分。
60.训练模块306使用所得到的基于视觉和文本的概率得分以及由人工审核员指定的对应标记来训练组合器412。组合器412根据基于视觉和文本的概率得分生成最终概率得分。
61.图5是根据一些示例实施方式的使用机器学习模型对图像进行分类的流程图。为了避免以不必要的细节模糊本发明的主题,从图5中省略了与传达对本发明的主题的理解没有密切关系的各种细节。然而,技术人员将容易地认识到,各种附加细节可以通过概率得分确定模块204来执行以有利于本文未具体描述的附加功能。
62.如图所示,概率得分确定模块204将输入数据502提供到输出概率得分514的机器学习模型中。输入数据502包括:被包括在由在线市场系统106发布的列表中的图像、标识物品或物品类别的数据、以及与图像相关联的其他数据(例如描述列表、物品、卖家、类别等的数据)。概率得分确定模块204将输入数据502分成视觉输入数据和文本输入数据。视觉输入数据是基于图像的视觉特征,例如从图像本身导出的视觉特征,而文本输入数据包括文本特征,例如来自列表、卖家简档的数据等。
63.概率得分确定模块204使用视觉输入数据作为到卷积神经网络504中的输入。卷积神经网络504输出基于视觉训练数据的视觉特征。然后,概率得分确定模块204使用由卷积神经网络504输出的得到的视觉特征作为视觉分类器508的输入。视觉分类器508又输出基于输入数据的视觉特征的概率得分。
64.概率得分确定模块204使用文本输入数据作为到文本特征提取器506中的输入。文本特征提取器506输出基于文本训练数据的文本特征。然后,概率得分确定模块204使用由文本特征提取器506输出的得到的文本特征作为到文本分类器510中的输入。文本分类器510又输出基于输入数据的文本特征的概率得分。概率得分确定模块204使用所得到的基于视觉和文本的概率得分作为到组合器512中的输入。组合器512根据基于视觉和文本的概率得分生成最终概率得分。
65.图6是示出根据一些示例实施方式的使用机器学习模型选择图像的方法600的流程图。方法600可以以计算机可读指令实施以由一个或更多个处理器执行使得方法600的操作可以部分地或全部地由图像选择系统108执行;相应地,下面以示例的方式参考方法600
进行描述。然而,应当理解,方法600的操作中的至少一些操作可以部署在各种其他硬件配置上,并且方法600不旨在限于图像选择系统108。
66.在操作602处,数据收集模块202收集物品的第一图像的一组特征数据。数据收集模块202从在线市场系统106收集特征数据。例如,数据收集模块202与在线市场系统106通信以请求特征数据。在图像选择系统108被包括作为在线市场系统106的一部分的实施方式中,数据收集模块202可以从存储在线市场系统106的用户简档和列表数据的数据存储装置212收集特征数据。
67.在操作604处,数据收集模块202收集物品的第二图像的一组特征数据。
68.在操作606处,概率得分确定模块204基于第一图像的特征数据来确定第一图像的概率得分。概率得分确定模块204使用第一图像的特征数据作为到输出概率得分的机器学习模型中的输入。所得到的概率得分指示第一图像适合作为库存图像表示物品或物品类别的估计概率。
69.在操作608处,概率得分确定模块204基于第二图像的特征数据来确定第二图像的概率得分。例如,概率得分确定模块204使用第二图像的特征数据作为到机器学习模型中的输入。所得到的概率得分指示第二图像适合表示物品或物品类别的估计概率。
70.在操作610处,图像选择模块206基于第一概率得分和第二概率得分来选择表示物品的第一图像。图像选择模块206基于物品或物品类别的图像的一组概率得分来选择表示物品或物品类别的图像作为库存图像。例如,图像选择模块206可以选择具有最高概率得分的图像。作为另一示例,图像选择模块206可以选择概率得分超过阈值概率得分的图像。
71.图7是根据一些示例实施方式的用户界面700,其呈现在在线市场上被提供以供出售的商品类别列表以及对应的库存图像。如图所示,每个列出的物品类别702、706、710与表示物品类别的图像704、708、712一起呈现。例如,所列出的物品类别“计算机监视器”702与计算机监视器的图像704一起呈现。作为另一示例,所列出的类别“台式计算机”706与台式计算机的图像708一起呈现。同样,所列出的类别“蜂窝电话”710与蜂窝电话的图像712一起呈现。每个列出的物品类别702、706、710可以是可选择的,以使得呈现提供在物品类别702、706、710内的供出售的物品的列表。例如,有兴趣购买计算机监视器的用户可以选择要与发布到在线市场的提供供出售的计算机监视器的列表一起呈现的所列出的类别“计算机监视器”702。同样,有兴趣购买台式计算机的用户可以选择要与发布到在线市场的提供供出售的台式计算机的列表一起呈现的所列出的类别“台式计算机”706。
72.软件架构
73.图8是示出示例软件架构806的框图,该示例软件架构806可以与本文中描述的各种硬件架构结合使用。图8是软件架构806的非限制性示例并且应当理解,可以实现许多其他架构以有利于本文中描述的功能。软件架构806可以在诸如图9的机器900的硬件上执行,机器900包括处理器904、存储器914和(输入/输出)(i/o)部件918等。代表性硬件层852被示出并且可以表示例如图9的机器900。代表性硬件层852包括具有相关联的可执行指令804的处理单元854。可执行指令804表示软件架构806的可执行指令,包括本文中描述的方法、部件等的实现。硬件层852还包括也具有可执行指令804的存储器和/或存储模块存储器/存储装置856。硬件层852还可以包括其他硬件858。
74.在图8的示例架构中,软件架构806可以被概念化为层的堆叠,其中每个层提供特
定功能。例如,软件架构806可以包括诸如操作系统802、库820、框架/中间件818、应用816和表示层814的层。在操作上,这些层中的应用816和/或其他部件可以通过软件堆栈来调用api调用808,并且响应于api调用808接收诸如消息812的响应。所示出的层本质上是代表性的,并且并非所有软件架构都具有所有的层。例如,一些移动或专用操作系统可能不提供框架/中间件818,而其他操作系统可以提供这样的层。其他软件架构可以包括附加层或不同的层。
75.操作系统802可以管理硬件资源并且提供公共服务。操作系统802可以包括例如内核822、服务824和驱动器826。内核822可以用作硬件层与其他软件层之间的抽象层。例如,内核822可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务824可以给其他软件层提供其他公共服务。驱动器826可以负责控制底层硬件或与底层硬件对接。例如,根据硬件配置,驱动器826包括显示驱动器、摄像装置驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
76.库820提供由应用816和/或其他部件和/或层使用的公共基础设施。库820提供功能,该功能允许其他软件部件以比与底层操作系统802功能(例如,内核822、服务824和/或驱动器826)直接对接的方式更容易的方式来执行任务。库820可以包括系统库844(例如,c标准库),系统库844可以提供函数例如存储器分配函数、串操纵函数、数学函数等。另外,库820可以包括api库846诸如媒体库(例如,支持各种媒体格式诸如mpeg4、h.264、mp3、aac、amr、jpg、png的呈现和操纵的库)、图形库(例如,可以用于在显示器上呈现2d和3d图形内容的opengl框架)、数据库库(例如,可以提供各种关系数据库功能的sqlite)、网络库(例如,可以提供网络浏览功能的webkit)等。库820还可以包括各种各样的其他库848,以向应用816和其他软件部件/模块提供许多其他api。
77.框架/中间件818(有时也称为中间件)提供可以由应用816和/或其他软件部件/模块使用的更高层次的公共基础设施。例如,框架/中间件818可以提供各种图形用户接口(gui)功能、高层资源管理、高层位置服务等。框架/中间件818可以提供可以由应用816和/或其他软件部件/模块使用的广泛的其他api,其中一些可以专用于特定操作系统802或平台。
78.应用816包括内置应用838和/或第三方应用840。代表性内置应用838的示例可以包括但不限于联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息发送应用和/或游戏应用。第三方应用840可以包括由除特定平台的供应商之外的实体使用androidtm或iostm软件开发工具包(sdk)开发的应用,并且可以是在诸如ios
tm
、android
tm
、电话的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用840可以调用由移动操作系统(例如,操作系统802)提供的api调用808,以有利于本文中描述的功能。
79.应用816可以使用内置操作系统功能(例如,内核822、服务824和/或驱动器826)、库820和框架/中间件818来创建用户接口以与系统的用户交互。替选地或另外地,在一些系统中,与用户的交互可以通过表示层例如表示层814进行。在这些系统中,应用/部件“逻辑”可以与应用/部件的和用户交互的方面分开。
80.图9是示出根据一些示例实施方式的机器900的部件的框图,机器900能够从机器
可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种方法。具体地,图9以计算机系统的示例形式示出了机器900的图形表示,在该计算机系统内可以执行用于使机器900执行本文讨论的方法中的任何一种或更多种的指令910(例如,软件、程序、应用、小应用、应用程序或其他可执行代码)。因此,指令910可以用来实现本文中描述的模块或部件。指令910将通用的未编程的机器900转变为被编程成以所描述的方式执行所描述和所示出的功能的特定机器900。在替选实施方式中,机器900用作独立装置操作或者可以耦接(例如,联网)至其他机器。在联网部署中,机器900可以在服务器-客户端网络环境中用作服务器机器或客户端机器,或者在对等(或分布式)网络环境中用作对等机器。机器900可以包括但不限于服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动装置、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能家用电器)、其他智能装置、网络家用电器、网络路由器、网络交换机、网络桥接器或能够顺序地或其他方式执行指定由机器900要采取的动作的指令910的任何机器900。此外,虽然仅示出了单个机器900,但是术语“机器”还应被认为包括单独地或联合执行指令910以执行本文中讨论的方法中的任何一种或更多种方法的机器的集合。
81.机器900可以包括可以被配置成例如经由总线902彼此通信的处理器904、存储器/存储装置906和i/o部件918。存储器/存储装置906可以包括诸如主存储器或其他存储器存储装置的存储器914以及存储单元916,这两者都能够由处理器904诸如经由总线902访问。存储单元916和存储器914存储实施本文所描述的方法或功能中的任一种或更多种的指令910。指令910还可以在其被机器900执行期间完全地或部分地驻留在存储器914内、存储单元916内、至少一个处理器904内(例如,在处理器的高速缓冲存储器内)或其任何合适的组合内。相应地,存储器914、存储单元916和处理器904的存储器是机器可读介质的示例。
82.i/o部件918可以包括用于接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量等的各种各样的部件。包括在特定机器900中的特定i/o部件918将取决于机器的类型。例如,诸如移动电话的便携式机器很可能包括触摸输入装置或其他这样的输入机构,而无头服务器机器(headless server machine)很可能不包括这样的触摸输入装置。将理解的是,i/o部件918可以包括在图9中未示出的许多其他部件。根据功能对i/o部件918进行分组仅出于简化以下讨论的目的,并且分组决不是限制性的。在各种示例实施方式中,i/o部件918可以包括输出部件926和输入部件928。输出部件926可以包括视觉部件(例如,显示器,诸如等离子显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt))、听觉部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。输入部件928可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
83.在其他示例实施方式中,i/o部件918可以包括生物计量部件930、运动部件934、环境部件936或位置部件938以及各种其他部件。例如,生物计量部件930可以包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基
于脑电图的识别)等的部件。运动部件934可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件936可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声音传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,用于检测危险气体的浓度以确保安全或者用于测量大气中的污染物的气体检测传感器)或可以提供与周围物理环境对应的指示、测量或信号的其他部件。位置部件938可以包括定位传感器部件(例如,gps接收器部件)、海拔高度传感器部件(例如,检测可以得到海拔高度的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。
84.可以使用各种各样的技术来实现通信。i/o部件918可以包括通信部件940,通信部件940能够进行操作以经由耦接924和耦接922分别将机器900耦接至网络932或装置920。例如,通信部件940可以包括网络接口部件或其他合适的装置以与网络932对接。在其他示例中,通信部件940可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(nfc)部件、部件(例如,低能耗)、部件和经由其他形式提供通信的其他通信部件。装置920可以是另外的机器或各种外围装置(例如,经由usb耦接的外围装置)中的任一种。
85.此外,通信部件940可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件940可以包括射频识别(rfid)标签阅读器部件、nfc智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品代码(upc)条形码的一维条形码、诸如快速反应(qr)码的多维条形码、aztec码、数据矩阵、数据符号(dataglyph)、最大码(maxicode)、pdf417、超码(ultra code)、ucc rss-2d条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件940得出各种信息,例如经由因特网协议(ip)地理位置得出位置、经由wi-fi信号三角测量得出位置、经由检测可以指示特定位置的nfc信标信号得出位置等。
86.术语表
87.该上下文中的“载波信号”是指能够存储、编码或携载由机器900执行的指令910的任何无形介质并且包括数字或模拟通信信号或其他无形介质以有利于这些指令910的通信。可以使用传输介质经由网络接口装置并且使用多个公知的传输协议中的任何一个来通过网络932发送或接收指令910。
88.该上下文中的“客户端装置”是指与通信网络932对接以从一个或更多个服务器系统或其他客户端装置获得资源的任何机器900。客户端装置可以是但不限于移动电话、台式计算机、膝上型计算机、pda、智能电话、平板电脑、超级本、上网本、多个膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、stb或用户可以使用以访问网络932的任何其他通信装置。
89.该上下文中的“通信网络”是指网络932的一个或更多个部分,该网络932可以是自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一类型的网络或者两个或更多个这样的网络的组合。例如,网络932或网络932的一部分可以包括
无线网络或蜂窝网络,并且耦接可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线服务(gprs)技术、gsm演进的增强数据率(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
90.该上下文中的“机器可读介质”是指能够临时或永久地存储指令910和数据的部件、装置或其他有形介质,并且可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(eeprom))和/或其任何合适的组合。术语“机器可读介质”应当被认为包括能够存储指令910的单个介质或多个介质(例如,集中式或分布式数据库或者相关联的高速缓冲存储器和服务器)。术语“机器可读介质”还应被认为包括能够存储由机器900执行的指令910(例如,代码)的任何介质或多个介质的组合,使得指令910在由机器900的一个或更多个处理器904执行时使机器900执行本文中所描述的任何一种或更多种方法。相应地,“机器可读介质”是指单个存储设备或装置,以及包括多个存储设备或装置的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。
91.该上下文中的“部件”是指具有由功能或子例程调用、分支点、api或被提供用于对特定处理或控制功能进行分区或模块化的其他技术定义的边界的装置、物理实体或逻辑。部件可以经由它们的接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的封装功能硬件单元以及通常执行相关功能的特定功能的程序的一部分。部件可以构成软件部件(例如,在机器可读介质上嵌入的代码)或硬件部件。硬件部件是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或处理器组904)可以通过软件(例如,应用816或应用部分)被配置为进行操作以执行如本文中所描述的某些操作的硬件部件。也可以机械地、电子地或其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件部件还可以包括通过软件被临时配置成执行某些操作的可编程逻辑或电路。例如,硬件部件可以包括由通用处理器904或其他可编程处理器904执行的软件。一旦通过这样的软件被配置,则硬件部件成为特定的机器900(或机器900的特定部件),该特定的机器900被唯一地定制成执行配置的功能并且不再是通用处理器904。应理解的是,机械地、在专用和永久配置的电路系统中、或在临时配置的电路系统(例如,由软件配置)中实现硬件部件的决定可以由成本和时间考虑来驱动。相应地,短语“硬件部件”(“硬件实现的部件”)应当被理解成包含有形实体,即为被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中所描述的某些操作的实体。考虑其中硬件部件被临时配置(例如,被编程)的实施方式,硬件部件中的每一个无需在任一时刻处均被配置或实例化。例如,在硬件部件包括通过软件配置而成为专用处理器的通用处理器904的情况下,通用处理器904可以在不同时间处被配置成分别不同
的专用处理器(例如,包括不同的硬件部件)。软件相应地配置特定处理器904或处理器904以例如在一个时刻处构成特定硬件部件并且在不同的时刻处构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息并且从其他硬件部件接收信息。相应地,所描述的硬件部件可以被认为是通信上耦接的。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中的信号传输(例如,通过适当的电路和总线902)来实现通信。在其中多个硬件部件在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件部件可以访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在通信上耦接的存储器设备中。然后,另外的硬件部件可以在随后的时间处访问存储器设备,以检索和处理所存储的输出。硬件部件还可以发起与输入或输出装置的通信,并且可以对资源进行操作(例如,信息的收集)。本文中描述的示例方法的各种操作可以至少部分地由被临时配置(例如,通过软件)或永久配置成执行相关操作的一个或更多个处理器904来执行。无论是临时配置还是永久配置,这样的处理器904可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中所使用的,“处理器实现的部件”是指使用一个或更多个处理器904实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中一个或更多个特定处理器904是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器904或处理器实现的部件执行。此外,一个或更多个处理器904还可以操作成支持“云计算”环境中的相关操作的执行或者操作为“软件即服务”(saas)。例如,至少一些操作可以由一组计算机(作为包括处理器904的机器900的示例)执行,其中这些操作能够经由网络932(例如,因特网)并经由一个或更多个适当的接口(例如,api)来访问。某些操作的执行可以分布在处理器904之间,不仅驻留在单个机器900内,还部署在多个机器900内。在一些示例实施方式中,处理器904或处理器实现的部件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器904或处理器实现的部件可以跨多个地理位置分布。
92.该上下文中的“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生应用于操作机器900的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器904可以是中央处理单元(cpu)、简化指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、asic、射频集成电路(rfic)或其任何组合。处理器还可以是具有两个或更多个独立处理器904(有时称为“核”)的多核处理器,其可以同时执行指令910。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1