首页> 中国专利> 用于使用深度学习来提供个性化产品推荐的系统和方法

用于使用深度学习来提供个性化产品推荐的系统和方法

摘要

本公开的实施例提供了一种使用机器学习模型来使得计算装置能够在面部图像中检测和标识化妆品的系统、方法和计算机可读介质。在一些实施例中,模型训练系统可以通过分析与标记数据相关联的面部图像来收集用于构建机器学习模型的训练数据。在一些实施例中,推荐系统可以被配置为使用由模型训练系统生成的机器学习模型来检测面部图像中的产品,并且基于检测到的产品向装扮数据存储器添加信息,和/或基于检测到的产品从装扮数据存储器提供针对类似装扮的推荐。

著录项

说明书

相关申请的交叉引用

本申请要求申请日为2018年10月25日的第16/171,153号美国专利申请的权益,其内容以引用的方式全部并入本文。

发明内容

本发明内容被提供为以简化形式引入下面在具体实施方式中进一步描述的概念的选择。本发明内容不旨在识别所要求保护主题的关键特征,也不旨在用作确定所要求保护主题的范围的帮助。

在一些实施例中,提供了一种训练机器学习模型以检测面部图像中的化妆品的方法。计算装置基于非图像数据确定存在于面部图像中的产品。计算装置提取包括与产品相关联的面部特征的面部图像的部分。计算装置将面部图像的该部分和产品的标识添加到训练数据集。计算装置使用训练数据集来训练机器学习模型以检测面部图像中的产品。

在一些实施例中,提供了一种使用一个或多个机器学习模型来处理面部图像的方法。计算装置使用一个或多个机器学习模型来检测面部图像中的一种或多种产品。计算装置基于面部图像中的一种或多种产品来确定一个或多个推荐装扮。计算装置确定与一个或多个推荐装扮相关联的一种或多种产品。计算装置向用户呈现一个或多个推荐装扮或一种或多种产品。

在一些实施例中,提供了一种用于训练机器学习模型以检测面部图像中的化妆品的系统。系统包括:用于基于非图像数据确定存在于面部图像中的产品的电路;用于提取包括与产品相关联的面部特征的面部图像的部分的电路;用于将面部图像的该部分和产品的标识添加到训练数据集的电路;以及用于使用训练数据集来训练机器学习模型以检测面部图像中的产品的电路。

附图说明

在结合附图时,该发明的前述方面和许多伴随优点将通过参考以下具体实施方式变得更好理解,从而将变得更容易地接受,附图中:

图1是示出了根据本公开的各个方面的面部图像的逻辑处理的示例性实施例的示意图;

图2是示出了根据本公开的各个方面的模型训练系统的示例性实施例和推荐系统的示例性实施例的框图;

图3A至图3B是示出了根据本公开的各个方面的训练一个或多个机器学习模型以检测面部图像中的化妆品的方法的示例性实施例的流程图;以及

图4是示出了根据本公开的各个方面的使用一个或多个机器学习模型来提供基于装扮的推荐的方法的示例性实施例的流程图。

具体实施方式

通常,化妆品的消费者将看到具有他们想要模仿的装扮—可包括化妆品、衣服、发型和/或配件的特征的组合—的人的图片。然而,这些图片通常不以任何详细的方式标记出关于使用什么化妆品,因此其他消费者能够成功地再现装扮的机会是极低的。消费者期望能够使用技术以自动确定图片中描绘的一种或多种化妆品。这种技术也由于其他原因而是期望的。例如,提供有这些新能力的计算装置的技术还将允许自动构建装扮集合,自动构建装扮集合是基于用所描绘产品的详细信息而扩充的公开可用图片,并且提供了这种数据集合的使用以确定与给定装扮类似的装扮。

图1是示出了根据本公开的各个方面的面部图像的逻辑处理的示例性实施例的示意图。示出了面部图像102,其描绘了使用一种或多种化妆品的人的面部。计算机视觉技术可以用于识别面部图像内的特定面部特征,诸如眼睛、嘴唇、脸颊和眉毛。一旦检测到面部特征,就可以提取面部图像102的部分。例如,可以提取眼睛部分104、嘴唇部分106和/或脸颊部分108。面部图像102可以与标记信息相关联,该标记信息标识在面部图像102中使用的化妆品。例如,标记信息可以标识所用的口红、所用的眼影、所用的腮红等的品牌、颜色、纹理和/或光洁度。一旦部分的面部图像(例如,嘴唇部分106)与相关产品(例如,所标识的口红)相关联,面部图像106的该部分和产品信息就可以被添加到一组训练数据以用于训练机器学习模型112。面部图像的各个部分104、106、108可以被添加到单独的训练数据集,以训练用于检测在单独的面部特征上的产品的相应的机器学习模型110、112、114。

图2是示出了根据本公开的各个方面的模型训练系统的示例性实施例和推荐系统的示例性实施例的框图。在一些实施例中,模型训练系统200被配置为收集面部图像,基于面部图像生成训练数据,并且基于训练数据来训练一个或多个机器学习模型。在一些实施例中,推荐系统250被配置为使用由模型训练系统200生成的机器学习模型来检测面部图像中的产品,并且基于检测到的产品向装扮数据存储器260添加信息,和/或基于检测到的产品从装扮数据存储器260提供类似装扮的推荐。在一些实施例中,模型训练系统200和推荐系统250可以各自由一个或多个计算装置提供,并且可以使用任何合适的通信技术彼此通信,包括但不限于以太网、WiFi、3G、4G、LTE和因特网。在一些实施例中,模型训练系统200和推荐系统250可以由单个的、组合的系统提供。

如图例示,模型训练系统200包括数据摄取引擎202、特征识别引擎204、模型训练引擎206、训练数据存储器208和模型数据存储器210。

在一些实施例中,数据摄取引擎202被配置为获得面部图像和标记信息,从面部图像和标记信息可以生成训练数据。面部图像和标记信息可由数据摄取引擎202存储在训练数据存储器208中。在一些实施例中,数据摄取引擎202可从一个或多个社交网络系统212接收内容,社交网络系统212包括但不限于照片墙(Instagram)、推特(Twitter)和品趣志(Pinterst)。这种系统上的社交媒体帖子可以包括面部图像以及描述了面部图像中描绘了什么的文本信息。可以包括或不包括诸如主题标签的语义划界内容的文本信息可以具体地标识面部图像中描绘的一种或多种产品。在一些实施例中,数据摄取引擎202可类似地从诸如博客的网站检索信息,其中博客帖子可包括面部图像和描述所描绘产品的文本信息。在一些实施例中,数据摄取引擎202可被配置为从张贴到社交网络系统212的视频信息中提取面部图像信息,并且可被配置为使用语音到文本转换技术从视频信息中提取文本信息。

在一些实施例中,数据摄取引擎202可被配置为从实验室测试系统214接收信息。实验室测试系统214可生成描绘应用于旨在复制实际面部特征的测试对象或测试设备的产品的面部图像,并且实验室测试系统214可将这种面部图像连同标识所描绘的产品的信息一起提供给数据摄取引擎202。在一些实施例中,实验室测试系统214还可提供描述产品的特定信息,包括但不限于镜面测量信息和颜色测量信息。

在一些实施例中,特征识别引擎204可以被配置为提取描绘特定面部特征的面部图像的部分。例如,特征识别引擎204可以接收面部图像,并且可以提取描绘眼睛、嘴唇、脸颊、眉毛或任何其他面部特征的面部图像的部分。在一些实施例中,特征识别引擎204可以通过创建仅包括所检测到的面部特征的新的较小图像来提取面部图像的一部分。在一些实施例中,特征识别引擎204可以通过提供原始面部图像内的定位所检测的面部特征的坐标来提取面部图像的一部分。面部图像的各部分可以和相关联的标记信息一起存储在训练数据存储器208中。

在一些实施例中,模型训练引擎206可以被配置为使用存储在训练数据存储器208中的训练数据来训练可以标识面部图像的一部分中的产品的一个或多个机器学习模型。在一些实施例中,模型训练引擎206可以为各个要处理的面部特征生成单独的机器学习模型。一旦被创建,机器学习模型就可以被存储在模型数据存储器210中。

如图例示,推荐系统250包括特征识别引擎252、产品检测引擎254、产品推荐引擎256、模型数据存储器258和装扮数据存储器260。在一些实施例中,特征识别引擎252与模型训练系统206的特征识别引擎204类似,至少在于其可以被配置为提取描绘特定面部特征的面部图像的部分。在一些实施例中,产品检测引擎254可以被配置为接收由特征识别引擎252提取的面部图像的部分,然后使用存储在模型数据存储器258中的机器学习模型来标识面部图像的部分所描绘的产品。在一些实施例中,产品检测引擎254然后可以将所标识的产品一起作为装扮存储在装扮数据存储器260中。在一些实施例中,产品推荐引擎256可以接收由产品检测引擎254所标识的产品,并且基于所标识的产品来分析装扮数据存储器260中的装扮以确定要推荐的一种或多种其它产品。

下面提供模型训练系统200、推荐系统250及其部件的功能的进一步细节。

通常,如本文所用的,词语“引擎”指代以硬件或软件指令具体实施的逻辑,其可以用编程语言编写,诸如C、C++、COBOL、JAVA

如本领域普通技术人员所理解的,如本文所述的“数据存储器”可以是被配置为存储数据以供计算装置访问的任何合适的装置。数据存储器的一个示例是在一个或多个计算装置上执行并可通过高速网络访问的高度可靠的高速关系数据库管理系统(DBMS)。数据存储器的另一示例是键值存储器。然而,可以使用能够响应于查询而快速且可靠地提供所存储的数据的任何其他合适的存储技术和/或装置,并且计算装置可以是本地可访问的而不是通过网络可访问的,或者可以被提供为基于云的服务。数据存储器还可以包括以组织的方式存储在计算机可读存储介质上的数据,如下面进一步描述的。本领域的普通技术人员将认识到,在不脱离本公开的范围的情况下,本文所述的单独的数据存储器可以被组合成单个数据存储器,和/或本文所述的单个数据存储器可以被分成多个数据存储器。

图3A至图3B是示出了根据本公开的各个方面的训练一个或多个机器学习模型以检测面部图像中的化妆品的方法的示例性实施例的流程图。从开始方框,方法300进行到方框302,其中模型训练系统200的数据摄取引擎202接收多个面部图像。数据摄取引擎202可从任何源接收多个面部图像。例如,在一些实施例中,数据摄取引擎202可以从社交网络系统212,诸如通过请求来自社交网络系统212的包括特定主题标签的社交媒体帖子,检索多个面部图像。在一些实施例中,数据摄取引擎202可从诸如平板电脑、智能电话、或带有摄像头的笔记本电脑或台式计算机的用户终端计算装置接收面部图像,其中在终端用户计算装置上运行的软件使用用户终端计算装置的摄像头来捕捉面部图像。在这种实施例中,软件还可以提示用户标识面部图像所描绘的人使用的产品。在一些实施例中,多个面部图像可以包括由模型训练系统200的操作者从诸如营销材料组或实验室生成的图像组的数据集而生成的训练数据。在一些实施例中,数据摄取引擎202可将摄取的面部图像与任何伴随信息一起保存在训练数据存储器208中,该伴随信息诸如来自社交媒体帖子的文本信息或由软件收集的标记信息。

然后,方法Q300进行到在for循环开始方框303与for循环结束方框315之间定义的for循环,其中,多个面部图像中的各个面部图像被处理。从for循环开始方框303,方法300进行到方框304,其中数据摄取引擎202确定与面部图像相关联的标记数据。在一些实施例中,如果面部图像与社交媒体帖子或其他因特网内容相关联,则数据摄取引擎202可审阅与面部图像相关联的主题标签或其他文本以找到可被用于标识所描绘产品的品牌名称、产品名称、颜色、纹理或光洁度的文本标识。在一些实施例中,如果产品包装在面部图像中可见,则数据摄取引擎202可以识别产品包装上的文本,可以与包装的存储图像相比较地识别包装,或者可以分析在包装上描绘的条形码以便确定标记数据。在一些实施例中,可由操作者为面部图像创建标记数据并将其提供给数据摄取引擎202。

接着,在方框306处,数据摄取引擎202确定由标记数据标识的一种或多种产品。在一些实施例中,包括在标记数据中的产品名称、颜色、纹理和/或光洁度可以通过数据摄取引擎202与唯一地标识产品的库存单位(SKU)相关联。在一些实施例中,数据摄取引擎202可以将标记数据内的部分信息(诸如产品名称和无光洁度的颜色,或仅产品名称)与从实验室测试系统214获得的实验室测试数据交叉引用,以便提出所描绘的特定产品、颜色、光洁度和纹理的详细标识。

方法300然后进行到在for循环开始方框308与for循环结束方框314之间定义的另一for循环,其中针对由数据摄取引擎202标识的每种产品来处理面部图像。从for循环开始方框308,方法300进行到方框310,其中模型训练系统200的特征识别引擎204提取包括与产品相关联的面部特征的面部图像的部分。例如,如果产品是口红,那么特征识别引擎204提取包括面部的嘴唇的面部图像的部分。作为另一示例,如果产品是眼影、眼线或睫毛膏,那么特征识别引擎204提取包括面部的至少一只眼睛的面部图像的部分。

在方框312处,将面部图像的所提取的部分与产品的标识一起存储在训练数据存储器208中的面部特征的训练集中。方法300然后进行到for循环结束方框314。如果任何的另外产品被标识,那么方法300返回到for循环开始方框308以处理下一产品。否则,方法300进行到for循环结束方框315。如果要处理另外的面部图像,那么方法300返回到for循环开始方框303,以处理下一个面部图像。否则,方法300进行到延续终端(“终端A”)。

从终端A(图3B),方法300进行到在for循环开始方框316与for循环结束方框324之间定义的for循环,其中,针对方法300所支持的各个面部特征(例如,眼睛、嘴唇、脸颊)训练机器学习模型。从for循环开始方框316,方法300进行到方框318,其中模型训练系统200的模型训练引擎206从训练数据存储器208检索面部特征的训练数据。例如,如果面部特征是嘴唇,那么模型训练引擎206从训练数据存储器208检索包括嘴唇的多个面部图像的部分、以及标识面部图像的该部分中的产品的信息。在方框320处,模型训练引擎206使用所检索的训练数据来训练针对面部特征的机器学习模型。可以使用任何合适类型的机器学习模型,包括但不限于卷积神经网络(CNN),也可以使用用于训练机器学习模型的任何合适的技术,包括但不限于梯度下降法。

在方框322处,模型训练引擎206将机器学习模型存储在模型数据存储器210中。方法300然后进行到for循环结束方框324。在for循环结束方框324处,如果要处理更多的面部特征,则方法300返回到方框316以处理下一个面部特征。否则,方法300进行到结束方框并终止。

图4是示出了根据本公开的各个方面的使用一个或多个机器学习模型来提供基于装扮的推荐的方法的示例性实施例的流程图。在一些实施例中,方法400可以使用具有模型数据存储器258的推荐系统250,该模型数据存储器预先加载有由上述方法300训练的和/或存储在模型训练系统200的模型数据存储器210中一个或多个机器学习模型。

从开始方框,方法400进行到方框402,其中推荐系统250接收要处理的装扮图像。装扮图像可以以与如上所述由数据摄取引擎202收集的面部图像类似的方式接收,其中装扮图像可以从社交网络系统212或在用户终端计算装置上执行的软件接收。在一些实施例中,可以通过用与社交网络系统212上的推荐系统250相关联的特定主题标签或标识符标记装扮图像,将装扮图像提供给推荐系统250。装扮图像可以描绘面部,并且可以包括可以由机器学习模型检测的一种或多种产品。

在方框404处,推荐系统250的特征识别引擎252提取包括面部特征的装扮图像的一个或多个部分。特征识别引擎252可以提取与面部特征相对应的装扮图像的部分,针对该面部特征,机器学习模型已经由模型训练系统200进行了训练,并且,该面部特征可以使用类似于上述讨论的与特征识别引擎204相关的那些技术的技术来提取。

然后,方法400前进到在for循环开始方框406与for循环结束方框412之间定义的for循环,其中处理各个提取的面部特征以识别其中描绘的产品。从for循环开始方框406,方法400进行到方框408,其中推荐系统的产品检测引擎254从模型数据存储器258检索用于面部特征的机器学习模型。例如,如果面部特征是嘴唇,则产品检测引擎254从模型数据存储器258检索已被训练来检测嘴唇上的产品的机器学习模型。接着,在方框410处,产品检测引擎254将描绘面部特征的装扮图像的部分提供给机器学习模型以标识应用于面部特征的产品。在一些实施例中,机器学习模型的输出可以包括产品、颜色、纹理和/或光洁度的标识。在一些实施例中,机器学习模型的输出还可以包括置信度得分,该置信度得分是关于产品的标识是正确的可能性。

方法400然后进行到for循环结束方框412。如果还有面部特征需要处理,那么方法400返回到for循环开始方框406,以处理下一个面部特征。否则,如果所有面部特征都已经被处理,那么方法400进行到方框414,其中产品推荐系统250的产品推荐引擎256基于装扮图像中检测到的产品来确定一种或多种推荐产品。在一些实施例中,可以通过在数据存储器260中的至少一个装扮和从被推荐的装扮推荐产品,确定一种或多种被推荐的产品,其中,数据存储器260中的至少一个装扮是基于在装扮图像中检测到的产品而被推荐的。

为了找到至少一个推荐的装扮,在一些实施例中,产品推荐引擎256可以查阅装扮数据存储器260以找到与装扮图像中检测到的产品的一些方面匹配的其他装扮。例如,产品推荐引擎256可搜索存储的装扮,这些装扮包括与在装扮图像中检测到的产品匹配的至少一种产品和在装扮图像中未检测到的至少一种产品。作为另一示例,产品推荐引擎256可搜索存储的装扮,这些装扮包括在与装扮图像中的产品相比时具有至少一个匹配或互补颜色或光洁度的产品。在一些实施例中,产品推荐引擎256可对装扮数据存储器260中的装扮执行聚类分析以确定类似的装扮类型,并且可在装扮图像中的产品组合将被分配到的聚类内找到推荐的装扮。一旦基于检测到的产品确定了至少一个推荐装扮,则包括在推荐装扮中的产品可以被用作推荐产品。

一旦确定了推荐产品,在方框416处,产品推荐引擎256呈现一种或多种推荐产品。在一些实施例中,产品推荐引擎256可呈现产品本身。在一些实施例中,产品推荐引擎256可以呈现与推荐装扮相关联的图像以及推荐产品的标识。在一些实施例中,该呈现可以在用于与推荐系统250交互的软件内。在一些实施例中,该呈现可以在另一渠道内,诸如电子邮件或目标网站内容。在一些实施例中,关于推荐的装扮和/或产品的反馈可以被软件接受,并且用于改进将来的推荐。

方法400然后进行到结束方框并终止。

上述方法400主要描述了使用机器学习模型来检测产品,然后使用这些检测到的产品来找到类似的装扮。在一些实施例中,机器学习模型还可以用于在公开可用图片中检测产品,然后基于这些图片将新的装扮添加到装扮数据存储器260。在一些实施例中,装扮以使用与图片相关联的内容(诸如为社交媒体文本/参与度、对文章或博客帖子的评论等)的情感分析来扩充的方式被添加到装扮数据存储器260,以便对装扮的质量进行排名以供在将来推荐中使用。

虽然已经示出并描述了例示性实施例,但是应当理解,在不脱离本发明的精神和范围的情况下,可以在其中进行各种改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号