CN112905889A - 服饰搜索方法及装置、电子设备和介质 - Google Patents
服饰搜索方法及装置、电子设备和介质 Download PDFInfo
- Publication number
- CN112905889A CN112905889A CN202110236401.7A CN202110236401A CN112905889A CN 112905889 A CN112905889 A CN 112905889A CN 202110236401 A CN202110236401 A CN 202110236401A CN 112905889 A CN112905889 A CN 112905889A
- Authority
- CN
- China
- Prior art keywords
- searched
- clothing
- image
- person
- apparel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Library & Information Science (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种服饰搜索方法及装置、电子设备和介质,涉及图像处理技术领域,尤其涉及计算机视觉及智能搜索技术领域。服饰搜索方法的实现方案为:确定待搜索图像中的待搜索服饰的类别和人物属性信息;提取所述待搜索服饰的图像特征,根据所述图像特征,从已存储的与所述待搜索服饰同类别的多个服饰商品中确定所述待搜索服饰的候选服饰集;根据所述人物属性信息,从所述候选服饰集中确定至少一个目标服饰,将所述至少一个目标服饰作为所述待搜索服饰的搜索结果。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及计算机视觉及智能搜索技术领域,具体涉及一种服饰搜索的方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
随着移动互联网及电子商务的发展,传统的基于文字搜索的购物方法已经不能满足用户的需求,用户希望可以通过商品图像来搜索得到商品信息。尤其在服饰类商品的线上购买场景中,通过图像来搜索服饰的情况愈发普遍。用户通过电商应用(APP)提供的图像搜索接口,对路人的服饰进行拍照上传或者选择本地存储的图像(例如明星街拍图像等)进行上传,来搜索同款服饰。但是这种搜索方法通常不能很好地搜索出用户期望的服饰商品。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种服饰搜索的方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种服饰搜索方法,包括:确定待搜索图像中的待搜索服饰的类别和人物属性信息;提取待搜索服饰的图像特征,根据该图像特征,从已存储的与待搜索服饰同类别的多个服饰商品中确定待搜索服饰的候选服饰集;以及根据人物属性信息,从候选服饰集中确定至少一个目标服饰,将上述至少一个目标服饰作为待搜索服饰的搜索结果。
根据本公开的另一方面,提供了一种服饰搜索装置,包括:识别模块,被配置为确定待搜索图像中的待搜索服饰的类别和人物属性信息;第一搜索模块,被配置为提取待搜索服饰的图像特征,根据该图像特征,从已存储的与待搜索服饰同类别的多个服饰商品中确定待搜索服饰的候选服饰集;以及第二搜索模块,被配置为根据人物属性信息,从候选服饰集中确定至少一个目标服饰,将上述至少一个目标服饰作为待搜索服饰的搜索结果。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述任一方面的服饰搜索方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行上述任意方面的服饰搜索方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,该计算机程序在被处理器执行时实现上述任一方面的服饰搜索方法。
根据本公开的一个或多个实施例,通过确定待搜索服饰的类别,根据待搜索服饰的图像特征从已存储的与待搜索服饰同类别的多个服饰商品中确定候选服饰集,提高了搜索效率,保证了候选服饰集与待搜索服饰的相关性,初步保证了搜索结果的准确性。通过确定待搜索服饰的人物属性信息,从而确定待搜索服饰适用的人群。根据人物属性信息来从候选服饰集中筛选出目标服饰,进一步保证了搜索结果的准确性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
图2示出了根据本公开的实施例的示例性服饰人物联合检测模型的结构框图;
图3示出了根据本公开的实施例的用于训练服饰人物联合检测模型的示例性样本图像的示意图;
图4示出了根据本公开的实施例的服饰搜索方法的流程图;
图5A至5C示出了根据本公开的实施例的三个示例性待搜索图像的示意图;
图6示出了根据本公开的实施例的交并比(IoU)的计算方法的示意图;
图7示出了根据本公开的另一实施例的服饰搜索方法的流程图;
图8A至8C示出了根据本公开的实施例的客户端设备上的示例性服饰搜索界面的示意图;
图9示出了根据本公开的实施例的服饰搜索装置的结构框图;
图10示出了根据本公开的另一实施例的服饰搜索装置的结构框图;
图11示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
下面将结合附图详细描述本公开的实施例。
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。
在本公开的实施例中,服务器120可以运行使得能够执行基于图像处理的服饰搜索方法的一个或多个服务或软件应用。
在某些实施例中,服务器120还可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103、104、105和/或106的用户。
在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。
用户可以使用客户端设备101、102、103、104、105和/或106来上传待搜索图像,以便搜索待搜索图像中的待搜索服饰的同款服饰商品。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了六种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何种类以及数量的客户端设备。
客户端设备101、102、103、104、105和/或106可以包括各种类型的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算机设备可以运行各种类型和版本的软件应用程序和操作系统,例如Microsoft Windows、AppleiOS、类UNIX操作系统、Linux或类Linux操作系统(例如Google Chrome OS);或包括各种移动操作系统,例如Microsoft Windows Mobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。
网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。
服务器120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103、104、105和106的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103、104、105和106的一个或多个显示设备来显示数据馈送和/或实时事件。
在一些实施方式中,服务器120可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。
系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如音频文件和视频文件的信息。数据存储库130可以驻留在各种位置。例如,由服务器120使用的数据存储库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据存储库130可以是不同的类型。在某些实施例中,由服务器120使用的数据存储库可以是数据库,例如关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。
在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
为了本公开实施例的目的,在图1的示例中,客户端设备101、102、103、104、105和106处部署有客户端应用,客户端应用可以是电子商务应用程序,该电子商务应用程序可以提供与电子商务相关的各种功能,例如,搜索商品、购买商品、观看电商直播、对商品或商家进行评价,等等。与此相应,服务器120可以是与电子商务应用程序一起使用的服务器,数据库130中可以存储有商品信息(包括商品的图像、介绍视频、文字描述等)、商家信息等供电子商务应用程序使用的数据。该服务器120基于数据库130中存储的相关数据,向客户端设备中运行的客户端应用提供电子商务服务,例如商品搜索及购买服务、商品推荐服务、电商直播服务等。
在本公开的实施例中,客户端设备处部署的客户端应用包括图像搜索接口。用户可以通过该接口将包含用户期望搜索的服饰(即待搜索服饰)的图像(即待搜索图像)上传至服务器120。服务器120基于用户上传的图像,从数据库130中存储的服饰商品中搜索出与待搜索服饰相同或相似的服饰(即搜索出待搜索服饰的同款或相似款服饰),并将搜索出的相同或相似的服饰作为搜索结果,返回给客户端设备中的客户端应用。客户端应用通过相应的界面将搜索结果展示给用户。
为了实现上述通过图像来搜索服饰的目的,并且保证搜索结果的准确性,服务器120采用计算机视觉领域的特征提取、目标检测技术,对用户上传的待搜索图像进行分析处理,识别出待搜索图像中的服饰、人物的相关信息,这些相关信息例如包括待搜索图像中的服饰的类别和位置信息、以及人物的人物属性信息和位置信息等。将这些相关信息应用于后续对待搜索服饰的搜索过程中,使得搜索结果更加准确,实现智能搜索。
根据一些实施例,服务器120中部署有服饰人物联合检测模型,该模型能够对用户上传的待搜索图像进行分析处理,识别出待搜索图像中的服饰、人物的相关信息。
图2示出了根据本公开的实施例的示例性服饰人物联合检测模型200的结构框图。如图2所示,模型200包括特征提取模块210和目标检测模块220。特征提取模块210,所述特征提取模块210包括可变卷积核,所述特征提取模块210被配置为提取输入图像(包括样本图像和待搜索图像)的特征信息;目标检测模块220,被配置为对所述特征提取模块提取出的所述特征信息进行处理,以确定所述输入图像中的各个服饰的类别和第一位置信息,以及各个人物的人物属性信息和第二位置信息。
本公开实施例的服饰人物联合检测模型能够同时实现对服饰、人物两种目标的检测,即检测出输入图像中的各个服饰的类别和第一位置信息,以及各个人物的人物属性信息和第二位置信息,大大提高了检测效率。此外,通过对服饰、人物两种目标进行同时、联合检测,充分考虑了输入图像中的上下文信息,提高了检测结果的准确性。通过采用可变卷积核,显著提升了对不规则形态的服饰、不同姿态的人物的检测准确率。
以下详细描述特征提取模块210和目标检测模块220。
如图2所示,特征提取模块210接收输入图像,并提取该输入图像的特征信息。需要说明的是,模型200在训练阶段和应用阶段所接收的输入图像不同。在模型200的训练阶段,输入图像为已标注的样本图像;在模型200的应用阶段(即将训练好的模型200部署至服务器120,用于进行服饰搜索的阶段),输入图像为用户通过客户端应用上传的包含待搜索服饰的待搜索图像。图2所示的实施例旨在说明模型200的结构,训练阶段与应用阶段输入的图像的不同不会影响模型200的结构。因此图2中没有对训练阶段与应用阶段输入的图像进行区分,而将二者统称为输入图像。
在一些实施例中,特征提模块210例如可以是ResNet(残差网络),以便能够提取输入图像的更深层的特征。根据一些实施例,ResNet可以进一步采用特征金字塔网络结构(Feature Pyramid Networks,FPN),以提取出输入图像的不同尺度的特征信息,使得模型200对不同尺寸的服饰、人物均能达到良好的检测效果。
具体地,特征提取模块210采用多个卷积核来提取图像的特征信息。根据一些实施例,特征提取模块210包括至少一个可变卷积核(图2中示出了两个可变卷积核212和214)。可变卷积核的形状不像传统卷积核一样为正方形(传统卷积核的尺寸通常为k*k,且k通常为单数),而可以是任意不规则形状。通过采用可变卷积核,显著提升了对不规则形态的服饰、不同姿态的人物的检测准确率。
继续参考图2,目标检测模块220以特征提取模块210输出的特征信息为输入,对该特征信息进行处理,以确定输入图像中各个服饰的类别和第一位置信息,以及各个人物的人物属性信息和第二位置信息。
服饰的类别可以是上装、下装、鞋子等较为概括的类别,也可以是外套、卫衣、T恤、短裤、长裤等细分类别,还可以是结合了服饰的材质、风格等信息的更加细分的类别,例如毛呢外套、牛仔外套、中性风外套等。服饰的第一位置信息用于指示该服饰在输入图像中的位置区域(通常为矩形区域)。
人物的人物属性信息例如包括性别(男性/女性)、年龄(例如老年/中年/青年/少年/孩童等)等。人物的第二位置信息用于指示该人物在输入图像中的位置区域(通常为矩形区域)。
需要说明的是,为了使本公开的实施例更加便于理解,在本说明书中,将通过对图像进行分析处理所得出(例如服饰人物联合检测模型对样本图像或待搜索图像进行处理所输出的)的服饰的位置信息记为第一位置信息,将通过对图像进行分析处理所得出的(例如服饰人物联合检测模型对样本图像或待搜索图像进行处理所输出的)的人物的位置信息记为第二位置信息。本领域技术人员可以理解,第一位置信息、第二位置信息为经分析处理而得出,是计算值。
在下文中,将样本图像中标注的服饰的位置信息记为第一位置标签,将样本图像中标注的人物的位置信息记为第二位置标签。本领域技术人员可以理解,第一位置标签、第二位置标签为标注得出,是真实值。
应当理解,在本说明书中,第一位置信息、第二位置信息、第一位置标签、第二位置标签仅用于对图像中服饰、人物的位置信息的计算值和真实值进行区分,以便于描述本公开的实施例,而不旨在限制本公开的范围。
根据一些实施例,目标检测模块220可以是YOLO(You Only Look Once)网络(具体可以是YOLO网络的v1版本、v2版本、v3版本等)、RCNN(Region Convolutional NeuralNetworks)、Faster-RCNN(快速RCNN)等,但不限于此。
在根据本公开的实施例中,服饰人物联合检测模型是基于样本图像训练的。参考图2所示的模型的输入输出,本公开的实施例的样本图像为标注了各个服饰的类别标签和第一位置标签、以及各个人物的人物属性标签和第二位置标签的图像。其中,第二位置标签所指示的区域为相应人物身上的所有服饰的第一位置标签所指示的区域的最小外接矩形区域。
根据本公开的实施例,样本图像中标注的人物的第二位置标签所指示的区域不是该人物实际所在的区域,而是该人物所穿着的所有服饰所在区域的最小外接矩形区域。该最小外接矩形区域仅包含穿着服饰的人物的躯干部分,不包含人脸,也不关注人物的姿态。由于样本图像中标注的第二位置标签所指示的区域不包含人脸,亦不关注人物的姿态,使得训练生成的服饰人物联合检测模型对人脸、人物姿态不敏感,在识别人物属性信息时不参考人脸特征。即使在无人脸(例如图像仅包含人物的背面、或者图像中仅包含人物的躯干部分等)、姿态多样(例如蹲、坐、奔跑、跳跃、正向、背向等)的情况下,服饰人物联合检测模型仍能准确识别出人物的人物属性信息。
图3示出了根据本公开实施例的用于训练服饰人物联合检测模型的示例性样本图像300的示意图。
如图3所示,该样本图像包括两件服饰(即服饰a、服饰b)和一个人物(即人物c),需要分别标注这两件服饰的类别和第一位置标签,以及该人物的人物属性信息和第二位置标签。
例如,可以标记服饰a的类别为上装,第一位置标签为(x1,y1,w1,h1)。第一位置标签用于指示样本图像300中服饰a所在的区域,即矩形框310所标示的区域。在第一位置标签(x1,y1,w1,h1)中,x1、y1分别为矩形框310的左上角顶点A的横坐标、纵坐标,w1、h1分别为矩形框310的宽度、高度。
类似地,可以标记服饰b的类别为下装,第一位置标签为(x2,y2,w2,h2)。第一位置标签用于指示样本图像300中服饰b所在的区域,即矩形框320所标示的区域。在第一位置标签(x2,y2,w2,h2)中,x2、y2分别为矩形框320的左上角顶点B的横坐标、纵坐标,w2、h2分别为矩形框320的宽度、高度。
另外,可以标记人物c的人物属性信息为女性青年,第二位置标签为(x3,y3,w3,h3)。第二位置标签所指示的区域为人物c身上的所有服饰(即服饰a和服饰b)的第一位置标签所指示的区域的最小外接矩形区域,即为矩形框310和矩形框320的最小外接矩形330所标示的区域。在第二位置标签(x3,y3,w3,h3)中,x3、y3分别为矩形框330的左上角顶点C的横坐标、纵坐标,w3、h3分别为矩形框330的宽度、高度。
基于训练好的服饰人物联合检测模型,服务器120可以向客户端设备中的客户端应用提供服饰搜索服务,准确地搜索出与用户上传的待搜索图像中的待搜索服饰相同或相似的服饰商品。
图4示出了根据本公开实施例的服饰搜索方法400的流程图。方法400可以在服务器(例如图1中所示的服务器120)中执行,即,方法400的各个步骤的执行主体可以是图1中所示的服务器120。如图4所示,方法400包括步骤410、420、430。在步骤410,确定待搜索图像中的待搜索服饰的类别和人物属性信息;在步骤420,提取所述待搜索服饰的图像特征,根据所述图像特征,从已存储的与所述待搜索服饰同类别的多个服饰商品中确定所述待搜索服饰的候选服饰集;在步骤430,根据所述人物属性信息,从所述候选服饰集中确定至少一个目标服饰,将所述至少一个目标服饰作为所述待搜索服饰的搜索结果。
根据本公开的实施例,通过确定待搜索服饰的类别,根据待搜索服饰的图像特征从已存储的与待搜索服饰同类别的多个服饰商品中确定候选服饰集,提高了搜索效率,保证了候选服饰集与待搜索服饰的相关性,初步保证了搜索结果的准确性。通过确定待搜索服饰的人物属性信息,从而确定待搜索服饰适用的人群。根据人物属性信息来从候选服饰集中筛选出目标服饰,进一步保证了搜索结果的准确性。
以下详细描述方法400的各个步骤。
参考图4,在步骤410,确定待搜索图像中的待搜索服饰的类别和人物属性信息。
待搜索图像为用户通过客户端设备上传的图像。
待搜索图像中可以包括一个或多个服饰。当待搜索图像中仅包括一个服饰时,该服饰即为待搜索服饰。
当待搜索服饰中包括多个服饰时,待搜索服饰可以是该多个服饰中的任意一个。根据一种实施例,可以将待搜索图像中的每一个服饰分别作为待搜索服饰。在该实施例中,将待搜索图像中的每一个服饰分别作为待搜索服饰,确定其类别和人物属性信息,并执行步骤420和430,得到待搜索图像中每一个服饰对应的搜索结果。随后,可以响应于用户对待搜索图像中的服饰的选择操作,将用于选中的服饰的搜索结果返回给用户。
根据另一种实施例,待搜索服饰可以基于用户在客户端设备上的交互操作来确定。例如,可以确定待搜索图像中包括的各个服饰的位置信息,将位置信息发送至客户端设备,以便在所述客户端设备的屏幕上显示所述待搜索图像,并在所述待搜索图像中标示出各个服饰的位置;响应于用户对服饰的选择操作,确定待搜索服饰。该实施例的具体实施步骤可以参见下文的服饰搜索方法700(尤其参见方法700中的步骤710至740)。在该实施例中,待搜索图像中的各个服饰的位置信息例如可以采用前述服饰人物联合检测模型来确定,将待搜索图像输入该模型,该模型所输出的各服饰的第一位置信息即为各服饰的位置信息。除了采用前述服饰人物联合检测模型的方法之外,还可以采用其他方法来确定待搜索图像中各服饰的位置信息。例如,将待搜索图像输入其他目标检测模型,由该其他目标检测模型来检测并输出待搜索图像中各服饰的位置信息。
待搜索服饰的类别例如可以是上装、下装、鞋子等较为概括的类别,也可以是外套、卫衣、T恤、短裤、长裤等细分类别,还可以是结合了服饰的材质、风格等信息的更加细分的类别,例如毛呢外套、牛仔外套、中性风外套等。本公开不限制服饰类别的具体设置情况。
根据一些实施例,待搜索服饰的类别可以按照以下方法确定:将待搜索图像输入预设的服饰人物联合检测模型,以便服饰人物联合检测模型输出待搜索服饰的类别。服饰人物联合检测模型的结构可以参考图2以及上文中相关的文字描述。
待搜索服饰的人物属性信息例如包括性别、年龄等。年龄例如可以是年龄段(例如老年/中年/青年/少年/孩童等),也可以是具体的年龄数值(例如20岁、30岁等)。待搜索服饰的人物属性信息可以表示该待搜索服饰所适用的人群。
根据一些实施例,待搜索服饰的人物属性信息可以按照以下步骤412和414来确定:
在步骤412,确定待搜索服饰对应的待搜索图像中的目标人物。
在步骤414,将该目标人物的人物属性信息作为待搜索服饰的人物属性信息。
通俗地说,待搜索服饰对应的目标人物为待搜索图像中穿着该待搜索服饰的人物。因此相应地,可以将穿着该待搜索服饰的人物的人物属性信息作为该待搜索服饰的人物属性信息,表示该待搜索服饰适用于具有该人物属性信息的人群。
根据一些实施例,可以按照以下方法来确定待搜索服饰对应的待搜索图像中的目标人物,即,上述步骤412进一步包括步骤4122、4124和4126:
在步骤4122,确定待搜索服饰在待搜索图像中的第一位置信息。
在步骤4124,确定待搜索图像中包括的各个人物在待搜索图像中的第二位置信息。
步骤4122中的待搜索服饰在待搜索图像中的第一位置信息,以及步骤4124中的各个人物在待搜索图像中的第二位置信息例如可以通过前述服饰人物联合检测模型来确定,即:将待搜索图像输入预设的服饰人物联合检测模型,以便服饰人物联合检测模型输出待搜索服饰的第一位置信息,以及各个人物的第二位置信息。
服饰属性联合检测模型能够同时实现对服饰、人物两种目标的检测,大大提高了检测效率。此外,通过对服饰、人物两种目标进行同时、联合检测,充分考虑了输入图像中的上下文信息,提高了检测结果的准确性。
在步骤4126,通过分别匹配第一位置信息与各个人物中的每一个人物的第二位置信息,确定所述待搜索服饰对应的目标人物。
具体地,第一位置信息可以用于指示待搜索图像中待搜索服饰所在的第一区域,第二位置信息可以用于指示待搜索图像中的人物所在的第二区域。与此相应,步骤4126可以分别计算出第一区域与各个人物中的每一个人物的第二区域的交并比(Intersectionover Union,IoU),将交并比最大的人物作为待搜索服饰对应的目标人物。
通过计算第一区域与第二区域的交并比来确定目标人物,计算量小,计算效率高。并且该计算过程不需要参考人脸特征、服饰或人物形态,即使在待搜索图像中无人脸、服饰/人物形态复杂多样的情况下,也可以准确确定出待检测图像对应的目标人物,具有良好的普适性和实用性。
图5A至5C示出了本公开的实施例的三个待搜索图像500A至500C的示意图。以下结合图5A至5C来说明待搜索服饰所对应的目标人物的确定方法。
参考图5A,待搜索图像500A仅包括一个服饰,该服饰即为待搜索服饰。经过前述步骤4122和4124,确定待搜索服饰的第一位置信息pos1_info以及该人物的第二位置信息pos2_info。第一位置信息pos1_info用于指示该待搜索服饰所在的第一区域,即图5A中矩形框512所标示的区域;第二位置信息pos2_info用于指示该人物所在的第二区域,即图5A中矩形框514所标示的区域。在步骤4126,计算待搜索服饰的第一区域与每一个人物的第二区域的交并比,即计算矩形框512与矩形框514的交并比,将交并比最大的人物作为待搜索服饰对应的目标人物。实际上,由于待搜索图像500A中仅包括一个人物,该人物必然被作为待搜索服饰对应的目标人物。
参考图5B,待搜索图像500B中包括三个服饰,每个服饰均可以作为待搜索服饰。经过前述步骤4122和4124,确定三个待搜索服饰的第一位置信息分别为pos1_info1、pos1_info2、pos1_info3以及人物的第二位置信息pos2_info。第一位置信息pos1_info1、pos1_info2、pos1_info3分别用于指示三件待搜索服饰所在的第一区域,即图5B中的矩形框522、524、526所示的区域。第二位置信息pos2_info用于指示该人物所在的第二区域,即图5B中矩形框528所标示的区域。在步骤4126,计算待搜索服饰的第一区域与每一个人物的第二区域的交并比,即计算矩形框522(或者矩形框524、526)与矩形框528的交并比,将交并比最大的人物作为待搜索服饰对应的目标人物。实际上,由于待搜索图像500B中仅包括一个人物,该人物必然被作为待搜索服饰对应的目标人物。
参考图5A、图5B可见,当待搜索图像中仅包括一个人物时,该人物必然被作为待搜索服饰对应的人物。因此,根据一些实施例,在步骤412中,在待搜索图像中仅包括一个人物的情况下,可以直接将该人物作为待搜索服饰对应的人物,而不必按照步骤4122至4126来确定第一位置信息、第二位置信息以及将第一位置信息与第二位置信息进行匹配,从而避免不必要的计算步骤,提高计算效率。待搜索图像中包括的人物的数量例如可以采用前述服饰人物联合检测模型、或者其他目标检测模型来确定。
参考图5C,待搜索图像500C中包括多个服饰,这多个服饰中的每一个均可以作为待搜索服饰。经过前述步骤4122和4124,确定待搜索服饰的第一位置信息以及各个人物的第二位置信息。其中,每个待搜索服饰的第一位置信息用于指示该待搜索服饰所在的第一区域,即图5C中的矩形框532、534、536、542、544、546、552、554、556所标示的区域。每个人物的第二位置信息用于指示该人物所在的第二区域,即图5C中的矩形框538、548、558所标示的区域。以待搜索服饰为矩形框532内的服饰为例,在步骤4126中,分别计算该待搜索服饰的第一区域与每一个人物(即图中人物A、B、C)的第二区域的交并比,即分别计算矩形框532与矩形框538、548、558的交并比,将交并比最大矩形框对应的人物作为待搜索服饰对应的目标人物。例如,经过计算,矩形框532与矩形框538的交并比最大,因此矩形框538内的人物即为待搜索服饰对应的目标人物。
交并比又称重叠度,两个矩形框的交并比为二者重叠区域的面积与二者所覆盖的总面积的比值。图6示出了根据本公开的实施例的交并比的计算方法的示意图。如图6所示,矩形框610与矩形框620的交并比为阴影区域630的面积(即矩形框610∩矩形框620)与矩形框610和620所覆盖的总面积(即矩形框610∪矩形框620)的比值。
在步骤412确定了待搜索服饰对应的目标人物后,在步骤414中,将该目标人物的人物属性信息作为待搜索服饰的人物属性信息。
根据一些实施例,目标人物的人物属性信息例如可以通过前述服饰人物联合检测模型来确定,即:将待搜索图像输入预设的服饰人物联合检测模型,以便服饰人物联合检测模型输出各个人物的人物属性信息,用于确定目标人物的属性信息。可以理解,由于目标人物为上述各个人物之一,因此基于服饰属性联合检测模型输出各个人物的人物属性信息,即可确定目标人物的人物属性信息。
继续参考图4,在步骤410确定了待搜索服饰的类别和人物属性信息后,执行步骤420。
在步骤420,提取所述待搜索服饰的图像特征,根据所述图像特征,从已存储的与所述待搜索服饰同类别的多个服饰商品中确定所述待搜索服饰的候选服饰集。
从已存储的与待搜索服饰同类别的多个服饰商品中确定候选服饰集,相较于从全部商品或全部服饰商品中确定候选服饰集来说,提高了搜索效率,保证了候选服饰集与待搜索服饰的相关性,初步保证了搜索结果的准确性。
根据一种实施例,可以根据服饰人物联合检测模型输出的待搜索服饰的第一位置信息,从待搜索图像中裁剪出待搜索服饰的局部图像,然后提取该局部图像的图像特征。图像特征例如可以是HOG(Histogram of OrientedGradient,方向梯度直方图)特征、哈希特征等,但不限于此。所提取出的待搜索服饰的图像特征通常被表示为一个特征向量。
提取出待搜索服饰的图像特征后,根据图像特征,从已存储的与待搜索服饰同类别的多个服饰商品中确定待搜索服饰的候选服饰集。根据一些实施例,根据图像特征,从已存储的与待搜索服饰同类别的多个服饰商品中确定待搜索服饰的候选服饰集的步骤进一步包括以下步骤422、424:
在步骤422,分别计算所述图像特征与所述多个服饰商品中的每一个服饰商品的图像特征的相似度。
根据一些实施例,数据库130中存储有各个服饰商品的图像特征(例如,服务器120可以离线地提取所有服饰商品的图像的图像特征,并存储至数据库130)。在步骤422中,首先根据步骤410中确定的待搜索服饰的类别,从数据库中筛选出与待搜索服饰同类别的多个服饰商品(例如待搜索服饰为T恤,则筛选出数据库中的T恤商品)。随后获取这多个服饰商品的图像特征,分别计算待搜索图像的图像特征与多个服饰商品中的每一个服饰商品的图像特征的相似度。在一些实施例中,待搜索图像的图像特征以及服饰商品的图像特征均被表示成特征向量的形式,相应地,待搜索图像的图像特征与服饰商品的图像特征的相似度例如可以是对应两个特征向量的余弦相似度。
在步骤424,将相似度最大的预设数量个服饰商品作为待搜索服饰的候选服饰集;或者将相似度大于预设阈值的服饰商品作为待搜索服饰的候选服饰集。
继续参考图4,在步骤420确定了待搜索服饰的候选服饰集后,执行步骤430。
在步骤430,根据所述人物属性信息,从所述候选服饰集中确定至少一个目标服饰,将所述至少一个目标服饰作为所述待搜索服饰的搜索结果。
待搜索服饰的人物属性信息可以表示该待搜索服饰适用的人群。根据人物属性信息来从候选服饰集中筛选出目标服饰,进一步保证了搜索结果的准确性,使得搜索结果更加符合用户期望。
根据一些实施例,数据库130中存储有商品的商品描述信息。相应地,对于候选服饰集中的每一个候选服饰,数据库130中也存储有该候选服饰的商品描述信息。在步骤430中,获取候选服饰集中的各候选服饰的商品描述信息,将商品描述信息中包括所述人物属性信息的候选服饰作为目标服饰。所确定的目标服饰即为待搜索服饰的搜索结果。
根据一些实施例,在得到待搜索服饰的搜索结果后,对搜索结果中的目标服饰按照步骤422中的图像特征的相似度进行排序,将排序后的搜索结果发送至客户端设备以呈现给用户,进一步提高命中用户期望搜索的服饰的概率,优化用户体验。
根据一些实施例,参见图2以及上文,方法400还包括配置服饰人物联合检测模型的结构的步骤,即,将服饰人物联合检测模型配置为包括:特征提取模块,所述特征提取模块包括可变卷积核,所述特征提取模块被配置为提取所述待搜索图像的特征信息;以及目标检测模块,被配置为对所述特征提取模块提取出的所述特征信息进行处理,以确定所述待搜索图像中的各个服饰的类别和第一位置信息,以及各个人物的人物属性信息和第二位置信息。
本公开实施例的服饰人物联合检测模型能够同时实现对服饰、人物两种目标的检测,即检测出输入图像中的各个服饰的类别和第一位置信息,以及各个人物的人物属性信息和第二位置信息,大大提高了检测效率。此外,通过对服饰、人物两种目标进行同时、联合检测,充分考虑了输入图像中的上下文信息,提高了检测结果的准确性。通过采用可变卷积核,显著提升了对不规则形态的服饰、不同姿态的人物的检测准确率。根据一些实施例,参见图2、图3以及上文,服饰人物联合检测模型是基于样本图像训练的,其中,所述样本图像为标注了各个服饰的类别标签和第一位置标签、以及各个人物的人物属性标签和第二位置标签的图像,所述第二位置标签所指示的区域为相应人物身上的所有服饰的第一位置标签所指示的区域的最小外接矩形区域。
根据本公开的实施例,样本图像中标注的人物的第二位置标签所指示的区域不是该人物实际所在的区域,而是该人物所穿着的所有服饰所在区域的最小外接矩形区域。该最小外接矩形区域仅包含穿着服饰的人物的躯干部分,不包含人脸,也不关注人物的姿态。由于样本图像中标注的第二位置标签所指示的区域不包含人脸,亦不关注人物的姿态,使得训练生成的服饰人物联合检测模型对人脸、人物姿态不敏感,在识别人物属性信息时不参考人脸特征。即使在无人脸(例如图像仅包含人物的背面、或者图像中仅包含人物的躯干部分等)、姿态多样(例如蹲、坐、奔跑、跳跃、正向、背向等)的情况下,服饰人物联合检测模型仍能准确识别出人物的人物属性信息。
图7示出了根据本公开的另一实施例的服饰搜索方法700的流程图。方法700在客户端设备(例如图1中所示的客户端设备101、102、103、104、105、106)处执行,即,方法700的各个步骤的执行主体可以是图1中所示的客户端设备101、102、103、104、105和106。如图7所示,方法700包括步骤710至760。在步骤710,向服务器发送服饰搜索请求,所述服饰搜索请求包括待搜索图像;在步骤720,接收服务器返回的所述待搜索图像中的各个服饰的位置信息;在步骤730,在屏幕的第一区域显示所述待搜索图像,并在所述待搜索图像中标示出各个服饰的位置;在步骤740,响应于用户对服饰的选择操作,确定待搜索服饰;在步骤750,接收服务器返回的所述待搜索服饰的搜索结果;在步骤760,在屏幕的第二区域显示所述搜索结果。
根据本公开的实施例,用户可以通过图像来搜索服饰。基于屏幕的第一区域显示的待搜索图像以及待搜索图像中标示的各个服饰的位置,用户可以从待搜索图像中选择其期望搜索的待搜索服饰,并在屏幕的第二区域实时显示待搜索服饰的搜索结果,提高了服饰搜索交互的流畅性,优化了用户体验。
下文详细描述方法700的各个步骤。
如图7所示,在步骤710,向服务器发送服饰搜索请求,所述服饰搜索请求包括待搜索图像。
在一些实施例中,用户可以通过客户端设备中的客户端应用所提供的图像搜索接口来上传待搜索图像,发送服饰搜索请求。
图8A示出了客户端设备中的客户端应用的示例性服饰搜索界面800A的局部示意图。如图8A所示,服饰搜索界面800A的顶部设置有搜索框810,搜索框的右侧设置有图像搜索接口812。用户可以点击图像搜索接口812,拍摄图像并将该图像作为待搜索图像进行上传,或者从本地存储的图像中选择一个图像(例如明星街拍图像)作为待搜索图像进行上传。上传待搜索图像即为发送服饰搜索请求。
在步骤720,接收服务器返回的所述待搜索图像中的各个服饰的位置信息。
各个服饰的位置信息例如可以由服务器采用前述服饰人物联合检测模型来确定(参考上文,服饰人物联合检测模型所输出的第一位置信息即为各个服饰的位置信息)。服饰的位置信息用于指示该服饰在待搜索图像中的位置。参考上文,服饰的位置信息例如可以表示为(x,y,w,h)的形式,其中,x、y为该服饰的位置矩形框的左上角顶点在待搜索图像中的横坐标、纵坐标,w、h为该服饰的位置矩形框的宽度和高度。
在步骤730,在屏幕的第一区域显示所述待搜索图像,并在所述待搜索图像中标示出各个服饰的位置。
屏幕的第一区域例如可以是屏幕的上部区域。在步骤730中,根据获取到的各个服饰的位置信息,在待搜索图像中标示出各个服饰的位置。
根据一些实施例,采用位置标识来标示出待搜索图像中各个服饰的位置,其中,待搜索服饰的位置标识与其他服饰的位置标识不同,以便区分待搜索服饰与待搜索图像中的其他服饰。
进一步地,根据一些实施例,将待搜索服饰的位置标识配置为面积大于其他服饰的位置标识的面积,使得待搜索服饰的位置标识在视觉上更为醒目,以便突出展示待搜索服饰。在另一些实施例中,也可以将待搜索服饰的位置标识配置为颜色较其他服饰的位置标识更为鲜艳、或者将待搜索服饰的位置标识高亮显示,等等,以达到同样的效果(使待搜索服饰的位置标识在视觉上更为醒目,以便突出展示待搜索服饰)。
需要说明的是,在待搜索图像中包括多个服饰的情况下,在步骤730中,用户尚未从中选择出待搜索服饰,相应地,在当前屏幕中无法将待搜索服饰突出显示,并且当前屏幕除了显示有待搜索图像的第一区域和显示有图像搜索入口的区域之外,其他区域没有内容显示,出现留白。为了提高用户体验,避免屏幕的其他区域留白,根据一些实施例,方法700还包括步骤:接收服务器返回的初始待搜索服饰的搜索结果;以及在屏幕的第二区域显示所述初始待搜索服饰的搜索结果;其中,所述初始待搜索服饰为位于所述待搜索图像的中心处的服饰,或者为位置所占面积最大的服饰。初始待搜索服饰的搜索结果例如由服务器采用前述服饰搜索方法400来确定。
继续参考图8A,用户通过图8A中的图像搜索接口812上传待搜索图像500B。随后,客户端设备将接收到服务器返回的待搜索图像500B中的各服饰的位置信息,并且接收到初始待搜索服饰的搜索结果。客户端设备将从图8A所示的界面800A转变为图8B所示的界面800B。
如图8B所示,虚线矩形框820所标示的区域为屏幕的第一区域,虚线矩形框830所标示的区域为屏幕的第二区域。该第一区域820中显示有待搜索图像500B,并且采用位置标识标示出了各个服饰的位置。在图8B中,初始待搜索服饰为图500B中的裤子,其位置标识为矩形框821;其他服饰的位置标识为圆点822、823。矩形框821的面积大于圆点822、823的面积,其在视觉上更为醒目,达到突出展示待搜索服饰的效果。进一步地,可以配合提高矩形框821内的各个像素的亮度,使得待搜索服饰高亮显示,在视觉上更加醒目。屏幕的第二区域830中显示有初始待搜索服饰(裤子)的搜索结果。
在步骤740,响应于用户对服饰的选择操作,确定待搜索服饰。
用户对服饰的选择操作例如可以是对服饰的位置标识的单击、双击、长按等手势操作。用户通过选择操作选中的服饰即为待搜索服饰。
在步骤750,接收服务器返回的所述待搜索服饰的搜索结果。
待搜索服饰的搜索结果例如可以采用前述服饰搜索方法400来确定,能够提供准确的搜索结果,更加符合用户期望。
在步骤760,在屏幕的第二区域显示所述搜索结果。
继续参考图8B,在图8B所示的界面800B中,用户可以通过点击位置标识822,将位置标识822处的T恤选择为待搜索服饰。随后,图8B所示的界面800B转变为图8C所示的界面800C。
如图8C所示,屏幕的第一区域820中显示有待搜索图像500B,并且采用位置标识标示出了各个服饰的位置。在图8C中,虚线矩形框820所标示的区域为屏幕的第一区域,虚线矩形框830所标示的区域为屏幕的第二区域。该第一区域820中显示有待搜索图像500B,并且采用位置标识标示出了各个服饰的位置。在图8C中,待搜索服饰为图500B中的T恤,其位置标识为矩形框824;其他服饰的位置标识为圆点825、826。矩形框824的面积大于圆点825、826的面积,其在视觉上更为醒目,达到突出展示待搜索服饰的效果。进一步地,可以配合提高矩形框824内的各个像素的亮度,使得待搜索服饰高亮显示,在视觉上更加醒目。屏幕的第二区域830中显示有待搜索服饰(T恤)的搜索结果。
图9示出了根据本公开的实施例的服饰搜索装置900的结构框图。如图9所示,装置900包括识别模块910、第一搜索模块920和第二搜索模块930。
识别模块910,被配置为确定待搜索图像中的待搜索服饰的类别和人物属性信息。
第一搜索模块920,被配置为提取所述待搜索服饰的图像特征,根据所述图像特征,从已存储的与所述待搜索服饰同类别的多个服饰商品中确定所述待搜索服饰的候选服饰集。
第二搜索模块930,被配置为根据所述人物属性信息,从所述候选服饰集中确定至少一个目标服饰,将所述至少一个目标服饰作为所述待搜索服饰的搜索结果。
根据本公开的实施例,通过确定待搜索服饰的类别,根据待搜索服饰的图像特征从已存储的与待搜索服饰同类别的多个服饰商品中确定候选服饰集,提高了搜索效率,保证了候选服饰集与待搜索服饰的相关性,初步保证了搜索结果的准确性。通过确定待搜索服饰的人物属性信息,从而确定待搜索服饰适用的人群。根据人物属性信息来从候选服饰集中筛选出目标服饰,进一步保证了搜索结果的准确性。
图10示出了根据本公开的实施例的服饰搜索装置1000的结构框图。如图10所示,装置1000包括请求模块1010、接收模块1020、显示模块1030和交互模块1040。
请求模块1010,被配置为向服务器发送服饰搜索请求,所述服饰搜索请求包括待搜索图像。
接收模块1020,被配置为接收服务器返回的所述待搜索图像中的各个服饰的位置信息以及待搜索服饰的搜索结果。
显示模块1030,被配置为在屏幕的第一区域显示所述待搜索图像,在所述待搜索图像中标示出各个服饰的位置,以及在屏幕的第二区域显示所述搜索结果。
交互模块1040,被配置为响应于用户对服饰的选择操作,确定待搜索服饰。
根据本公开的实施例,用户可以通过图像来搜索服饰。基于屏幕的第一区域显示的待搜索图像以及待搜索图像中标示的各个服饰的位置,用户可以从待搜索图像中选择其期望搜索的待搜索服饰,并在屏幕的第二区域实时显示待搜索服饰的搜索结果,提高了服饰搜索交互的流畅性,优化了用户体验。
应当理解,图9中所示装置900的各个模块可以与参考图4描述的方法400中的各个步骤相对应,并且图10中所示装置1000的各个模块可以与参考图7描述的方法700中的各个步骤相对应。由此,上面针对方法400描述的操作、特征和优点同样适用于装置900及其包括的模块,并且上面针对方法700描述的操作、特征和优点同样适用于装置1000及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作(或结合该特定模块一起执行该动作)的另一个组件或模块。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。例如,上面描述的第一搜索模块920和第二搜索模块930在一些实施例中可以组合成单个模块。又例如,请求模块1010在一些实施例中可以包括接收模块1020。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图9和10描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,识别模块910、第一搜索模块920、第二搜索模块930,请求模块1010、接收模块1020、显示模块1030和交互模块1040中的一个或多个可以一起被实现在片上系统(System on Chip,SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(Central Processing Unit,CPU)、微控制器、微处理器、数字信号处理器(Digital Signal Processor,DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
根据本公开的实施例,还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
参考图11,现将描述可以作为本公开的服务器或客户端的电子设备1100的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序,来执行各种适当的动作和处理。在RAM1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106、输出单元1107、存储单元1108以及通信单元1109。输入单元1106可以是能向设备1100输入信息的任何类型的设备,输入单元1106可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元1107可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元1108可以包括但不限于磁盘、光盘。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如前述方法400或方法700。例如,在一些实施例中,方法400或方法700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的方法400或方法700的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法400或方法700。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (15)
1.一种服饰搜索方法,包括:
确定待搜索图像中的待搜索服饰的类别和人物属性信息;
提取所述待搜索服饰的图像特征,根据所述图像特征,从已存储的与所述待搜索服饰同类别的多个服饰商品中确定所述待搜索服饰的候选服饰集;
根据所述人物属性信息,从所述候选服饰集中确定至少一个目标服饰,将所述至少一个目标服饰作为所述待搜索服饰的搜索结果。
2.根据权利要求1所述的方法,其中,确定所述待搜索服饰的人物属性信息包括:
确定所述待搜索服饰对应的所述待搜索图像中的目标人物;
将所述目标人物的人物属性信息作为所述待搜索服饰的人物属性信息。
3.根据权利要求2所述的方法,其中,所述确定所述待搜索服饰对应的所述待搜索图像中的目标人物包括:
确定所述待搜索服饰在所述待搜索图像中的第一位置信息;
确定所述待搜索图像中包括的各个人物在所述待搜索图像中的第二位置信息;
通过分别匹配所述第一位置信息与所述各个人物中的每一个人物的第二位置信息,确定所述待搜索服饰对应的目标人物。
4.根据权利要求3所述的方法,其中,所述第一位置信息用于指示所述待搜索图像中所述待搜索服饰所在的第一区域,所述第二位置信息用于指示所述待搜索图像中所述人物所在的第二区域;
所述通过分别匹配所述第一位置信息与所述各个人物中的每一个人物的第二位置信息,确定所述待搜索服饰对应的目标人物包括:
分别计算所述第一区域与所述各个人物中的每一个人物的第二区域的交并比;
将交并比最大的人物作为所述待搜索服饰对应的目标人物。
5.根据权利要求3所述的方法,其中,将所述待搜索图像输入预设的服饰人物联合检测模型,以便所述服饰人物联合检测模型输出所述待搜索服饰的第一位置信息,以及各个人物的第二位置信息和人物属性信息,用于确定目标人物的人物属性信息。
6.根据权利要求5所述的方法,还包括:
将所述服饰人物联合检测模型配置为包括:
特征提取模块,所述特征提取模块包括可变卷积核,所述特征提取模块被配置为提取所述待搜索图像的特征信息;以及
目标检测模块,被配置为对所述特征提取模块提取出的所述特征信息进行处理,以确定所述待搜索图像中的各个服饰的类别和第一位置信息,以及各个人物的人物属性信息和第二位置信息。
7.根据权利要求5所述的方法,其中,所述服饰人物联合检测模型是基于样本图像训练的,
其中,所述样本图像为标注了各个服饰的类别标签和第一位置标签、以及各个人物的人物属性标签和第二位置标签的图像,
所述第二位置标签所指示的区域为相应人物身上的所有服饰的第一位置标签所指示的区域的最小外接矩形区域。
8.根据权利要求1所述的方法,其中,所述根据所述图像特征,从已存储的与所述待搜索服饰同类别的多个服饰商品中确定所述待搜索服饰的候选服饰集包括:
分别计算所述图像特征与所述多个服饰商品中的每一个服饰商品的图像特征的相似度;
将相似度最大的预设数量个服饰商品作为所述待搜索服饰的候选服饰集;或者
将相似度大于预设阈值的服饰商品作为所述待搜索服饰的候选服饰集。
9.根据权利要求1所述的方法,其中,所述根据所述待搜索服饰的人物属性信息,从所述候选服饰集中确定至少一个目标服饰包括:
将商品描述信息中包括所述人物属性信息的候选服饰作为目标服饰。
10.根据权利要求1所述的方法,其中,所述人物属性信息包括性别、年龄中的至少之一。
11.根据权利要求1所述的方法,还包括:
确定待搜索图像中包括的各个服饰的位置信息,将位置信息发送至客户端设备,以便在所述客户端设备的屏幕上显示所述待搜索图像,并在所述待搜索图像中标示出各个服饰的位置;
响应于用户对服饰的选择操作,确定待搜索服饰。
12.一种服饰搜索装置,包括:
识别模块,被配置为确定待搜索图像中的待搜索服饰的类别和人物属性信息;
第一搜索模块,被配置为提取所述待搜索服饰的图像特征,根据所述图像特征,从已存储的与所述待搜索服饰同类别的多个服饰商品中确定所述待搜索服饰的候选服饰集;以及
第二搜索模块,被配置为根据所述人物属性信息,从所述候选服饰集中确定至少一个目标服饰,将所述至少一个目标服饰作为所述待搜索服饰的搜索结果。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-11中任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110236401.7A CN112905889A (zh) | 2021-03-03 | 2021-03-03 | 服饰搜索方法及装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110236401.7A CN112905889A (zh) | 2021-03-03 | 2021-03-03 | 服饰搜索方法及装置、电子设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112905889A true CN112905889A (zh) | 2021-06-04 |
Family
ID=76107610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110236401.7A Pending CN112905889A (zh) | 2021-03-03 | 2021-03-03 | 服饰搜索方法及装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905889A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113537043A (zh) * | 2021-07-14 | 2021-10-22 | 北京百度网讯科技有限公司 | 图像处理方法、装置、电子设备以及存储介质 |
CN113869435A (zh) * | 2021-09-30 | 2021-12-31 | 北京爱奇艺科技有限公司 | 图像处理、服饰识别方法、装置、设备及存储介质 |
CN114863405A (zh) * | 2022-04-06 | 2022-08-05 | 北京爱奇艺科技有限公司 | 一种服饰识别方法、装置、终端及存储介质 |
CN115131825A (zh) * | 2022-07-14 | 2022-09-30 | 北京百度网讯科技有限公司 | 人体属性的识别方法、装置、电子设备和存储介质 |
-
2021
- 2021-03-03 CN CN202110236401.7A patent/CN112905889A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113537043A (zh) * | 2021-07-14 | 2021-10-22 | 北京百度网讯科技有限公司 | 图像处理方法、装置、电子设备以及存储介质 |
CN113537043B (zh) * | 2021-07-14 | 2023-08-18 | 北京百度网讯科技有限公司 | 图像处理方法、装置、电子设备以及存储介质 |
CN113869435A (zh) * | 2021-09-30 | 2021-12-31 | 北京爱奇艺科技有限公司 | 图像处理、服饰识别方法、装置、设备及存储介质 |
CN114863405A (zh) * | 2022-04-06 | 2022-08-05 | 北京爱奇艺科技有限公司 | 一种服饰识别方法、装置、终端及存储介质 |
CN115131825A (zh) * | 2022-07-14 | 2022-09-30 | 北京百度网讯科技有限公司 | 人体属性的识别方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7171085B2 (ja) | 画像処理システム | |
JP6825141B2 (ja) | 服飾コーディネーションの推薦方法および装置、電子デバイス、記憶媒体 | |
CN112905889A (zh) | 服饰搜索方法及装置、电子设备和介质 | |
CN106462979B (zh) | 时尚偏好分析 | |
US10346893B1 (en) | Virtual dressing room | |
US20200342320A1 (en) | Non-binary gender filter | |
CN108229559B (zh) | 服饰检测方法、装置、电子设备、程序和介质 | |
US11475500B2 (en) | Device and method for item recommendation based on visual elements | |
US10475099B1 (en) | Displaying relevant content | |
CN111325226B (zh) | 信息呈现方法和装置 | |
TW201443807A (zh) | 視覺化服飾檢索 | |
KR102043440B1 (ko) | 이미지 내 복수의 객체들의 조화에 기반한 조화 검색 방법 및 시스템 | |
US10379721B1 (en) | Interactive interfaces for generating annotation information | |
US9990665B1 (en) | Interfaces for item search | |
CN110909746A (zh) | 一种服饰推荐方法、相关装置和设备 | |
US11972466B2 (en) | Computer storage media, method, and system for exploring and recommending matching products across categories | |
Shadrach et al. | Smart virtual trial room for apparel industry | |
CN112307242A (zh) | 服饰搭配方法及装置、计算设备和介质 | |
JP7493829B2 (ja) | 画像処理システム | |
US11430030B1 (en) | Generation of recommendations for visual product details | |
WO2023185787A1 (zh) | 一种物品的搭配方法以及相关设备 | |
CN118043803A (zh) | 上下文中视觉搜索 | |
CN107729910A (zh) | 一种图形识别的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |