掌桥专利:专业的专利平台
掌桥专利
首页

处理图像中的对象的实例的方法、装置、设备和介质

文献发布时间:2023-06-19 19:28:50


处理图像中的对象的实例的方法、装置、设备和介质

技术领域

本公开的示例性实现方式总体涉及图像处理,特别地涉及用于处理图像中的对象的实例的方法、装置、设备和计算机可读存储介质。

背景技术

机器学习技术已经被广泛地用于图像处理。目前已经提出了基于机器学习技术来处理图像-文本对的技术方案。然而,在某些应用环境下,图像可以包括多个不同对象,此时期望确定图像中的各个对象与文本之间的关系。目前已经提出了利用人工标注的训练数据来执行训练的技术方案,然而人工标注将会占用大量人力和时间。进一步,利用无标注数据执行训练获得的模型的准确性并不令人满意。此时,如何以更为有效的方式处理图像中的对象的实例,成为图像处理领域的难点和热点。

发明内容

在本公开的第一方面,提供了一种用于处理图像中的对象的实例的方法。在该方法中,接收多个样本,多个样本中的样本包括图像和与图像中的对象的相关联的提示。利用多个样本中的多个图像以及多个图像中的对象,确定实例表示模型的第一对比训练目标,实例表示模型描述图像与图像的实例表示之间的关联关系,实例表示是针对图像中的对象的实例所提取的特征。利用多个样本中的多个图像以及多个提示,确定实例表示模型的第二对比训练目标。基于第一对比训练目标和第二对比训练目标,获取实例表示模型。

在本公开的第二方面,提供了一种用于处理图像中的对象的实例的装置。该装置包括:接收模块,被配置用于接收多个样本,多个样本中的样本包括图像和与图像中的对象的相关联的提示。第一确定模块,被配置用于利用多个样本中的多个图像以及多个图像中的对象,确定实例表示模型的第一对比训练目标,实例表示模型描述图像与图像的实例表示之间的关联关系,实例表示是针对图像中的对象的实例所提取的特征。第二确定模块,被配置用于利用多个样本中的多个图像以及多个提示,确定实例表示模型的第二对比训练目标。获取模块,被配置用于基于第一对比训练目标和第二对比训练目标,获取实例表示模型。

在本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令在由至少一个处理单元执行时使电子设备执行根据本公开第一方面的方法。

在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时使处理器实现根据本公开第一方面的方法。

应当理解,本内容部分中所描述的内容并非旨在限定本公开的实现方式的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。

附图说明

在下文中,结合附图并参考以下详细说明,本公开各实现方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:

图1示出了本公开的实现方式的待处理样本的框图;

图2示出了根据本公开的一些实现方式的用于处理图像中的对象的实例的框图;

图3示出了根据本公开的一些实现方式的图像处理模型的结构的框图;

图4示出了根据本公开的一些实现方式的实例解码器的结构的框图;

图5示出了根据本公开的一些实现方式的确定第一对比训练目标的框图;

图6示出了根据本公开的一些实现方式的对比学习训练的框图;

图7示出了根据本公开的一些实现方式的对象检测的框图;

图8示出了根据本公开的一些实现方式的实例表示在特征空间中的分布的框图;

图9示出了根据本公开的一些实现方式的用于处理图像中的对象的实例的方法的流程图;

图10示出了根据本公开的一些实现方式的用于处理图像中的对象的实例的装置的框图;以及

图11示出了能够实施本公开的多个实现方式的设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开的实现方式。虽然附图中示出了本公开的某些实现方式,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实现方式,相反,提供这些实现方式是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实现方式仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实现方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实现方式”或“该实现方式”应当理解为“至少一个实现方式”。术语“一些实现方式”应当理解为“至少一些实现方式”。下文还可能包括其他明确的和隐含的定义。如本文中所使用的,术语“模型”可以表示各个数据之间的关联关系。例如,可以基于目前已知的和/或将在未来开发的多种技术方案来获取上述关联关系。

可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。

可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。

例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。

作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹出窗口的方式,弹出窗口中可以以文字的方式呈现提示信息。此外,弹出窗口中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。

可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。

在此使用的术语“响应于”表示相应的事件发生或者条件得以满足的状态。将会理解,响应于该事件或者条件而被执行的后续动作的执行时机,与该事件发生或者条件成立的时间,二者之间未必是强关联的。例如,在某些情况下,后续动作可在事件发生或者条件成立时立即被执行;而在另一些情况下,后续动作可在事件发生或者条件成立后经过一段时间才被执行。

示例环境

近年来,视觉语言预训练(VLP)引起了众多研究人员的关注,并得到了广泛应用,其目的是从大量的图像-文本对中学习并获得可以推广到下游任务的知识。在本公开的上下文中,将以电子商务环境中的图像作为图像的具体示例,描述本公开的技术方案的具体细节。在此,可以将电子商务环境中的商品或物品称为“对象”,并且将广告图像中出现的商品或物品称为“对象的实例”(简称实例)。首先参见图1描述根据本公开的一个示例性实现方式的、包括图像-文本对的样本的示例。

图1示出了本公开的实现方式的待处理样本的框图100。如图1所示,在电子商务环境下,图像可以是用于宣传某个商品的广告图像。例如,对于商品“面霜”而言,可以提供图像112和提示114。在此,图像112可以包括“面霜”,也即,图像112中包括对象“面霜”的实例116。进一步,提示114可以包括与图像112中的对象的实例相关联的描述(例如,文本描述)。此时,样本110可以包括图像112和提示114。类似地,样本120可以包括图像122和提示124,并且图像122可以包括对象的实例126。样本130可以包括图像132和提示134,并且图像132可以包括对象的实例136和138。样本140可以包括图像142和提示144,并且图像142可以包括对象的实例146。

为了便于描述,可以将样本110、120、130和140分别称为第一样本、第二样本、第三样本和第四样本,可以将各个样本中的图像112、122、132和142分别称为第一图像、第二图像、第三图像和第四图像,可以将各个样本中的提示114、124、134和144分别称为第一提示、第二提示、第三提示和第四提示。

电子商务的蓬勃发展给人们的日常生活带来了极大的便利,由此出现了广泛的基于物品/商品的应用任务,如物品分类、物品检索、物品推荐,等等。此时,构建一个同时适用于大规模电子商务应用的通用基础模型,可以提高适用性并降低训练成本。

图1示出了自然图像和物品图像之间差异。对于自然图像,通常大多数像素与文本的语义相关。然而,在电子商务领域中,这种相关性并不明显(例如,“煎锅”或“咖啡机”只占整个图像的一小部分)。此外,物品的图像通常由多个来源组成,例如,可以来自广告视频、产品页面、客户评论,等等。

为了更准确地获得物品与文本之间的关联关系,目前已经开发出了利用人工标注训练数据,进而使用带标记的训练数据执行训练的技术方案。然而,人工标注涉及大量的人力和时间开销。

根据一些技术方案,提出了视觉语言预训练,并且已经在不同的视觉语言的下游任务中取得了显著的进步。这些方法基于大规模的图像-文本对来学习跨越各种任务的可重用通用多模态表示。已经提出了特定于商业的多模态表示学习技术方案,基于VLP方法来对丰富的商业图像-文本对进行预训练,进而学习物品的图像级表示。这些技术方案仅考虑了图像和文本之间的全局对齐,而没有发现电子商务数据中包含的用于学习以实例为中心的表示的特殊特征。换言之,利用已有技术方案并不能有效地反映图像中的实例的局部特征。将这些VLP方法直接应用于电子商务领域仍然存在不足。如果简单地将整个图像视为一个整体实体来执行训练,则不可避免地将会混淆前景和背景。因此,为了建立一个能够很好地推广到各种电子商务应用的基础模型,需要学习与物品相关的实例表示,也即,以图像中的对象的实例为中心的表示。

此时,如何使模型能够在存在背景干扰的情况下专注于物品实例,成为一个研究热点和难点。期望可以以更为有效的方式处理图像中的对象的实例,进而提高下游处理任务的准确性。

图像处理的概要

由于自然图像和物品图像之间的显著差异,直接将这些框架应用于电子商务的图像级表示的建模性能并不理想。为了至少部分地解决现有技术中的不足,提出了一种以实例为中心的多模式预训练技术方案,称为ECLIP(E-commerce Contrastive Language-Image Pre-training,电子商务对比语言图像预训练)。

参见图2描述该技术方案的概要,图2示出了根据本公开的一些实现方式的用于处理图像中的对象的实例的框图200。如图2所示,在预训练过程212中,可以基于第一对比训练目标210(对象间多模态学习)和第二对比训练目标220(对象内多模态学习)来获得实例表示模型230。在此,实例表示模型230可以描述图像与图像的实例表示之间的关联关系。实例表示是针对图像中的对象的实例所提取的特征。换言之,在此实例表示是与图像中的对象的实例紧密联系的,并且可以有效地反映图像中的实例的特殊特征。

为了执行训练过程,可以接收多个样本,在此多个样本中的每个样本可以包括图像和与图像中的对象的实例相关联的提示。如图2所示,样本240可以包括图像242和提示244。具体地,图像242可以包括对象246的实例,并且在电子商务的环境下,图像242可以是包括面霜的图像,并且提示244可以是面霜的广告语,等等。

在预训练过程212中,可以基于对比学习技术,利用多个样本中的多个图像242以及多个图像中的对象246,确定实例表示模型的第一对比训练目标210。可以基于对比学习技术并且利用多个样本中的多个图像242以及多个提示244,确定实例表示模型230的第二对比训练目标220。进一步,可以基于第一对比训练目标210和第二对比训练目标220,获取实例表示模型230。

将会理解,在此的实例表示模型230可以是通用的多模式基础模型,该模型对电子商务中的大量下游应用程序具有可扩展性。在此,第一对比训练目标210和第二对比训练目标220可以作为预训练任务,提高实例表示模型230的准确性和通用性。

第一对比训练目标210可以将相同对象的表示拉近,并将不同对象的表示推远。除了呈现的物品以外,正图像样本的外观变化很大。在特征空间中使它们的表示比负样本对更接近,这可以鼓励实例查询聚焦于对应于期望物品的视觉区域。第二对比训练目标220可以确保只有正查询聚合前景实例的语义,而负查询并不聚合实例的语义。将这两个预处理任务结合在一起,可以提高整个实例表示模型230从图像中学习对象的实例的特殊表示的能力。

图像处理的详细信息

根据本公开的一个示例性实现方式,可以基于编码器和解码器架构来实现实例表示模型230。图3示出了根据本公开的一些实现方式的图像处理模型的结构的框图300。具体地,可以利用图像编码器310来获取图像的图像表示,可以利用提示编码器320来获取提示的提示表示,进一步可以利用实例解码器330,基于图像表示和提示表示来确定图像的实例表示350。根据本公开的一个示例性实现方式,可以使用两个独立的编码器来处理对象相关的图像和文本。可以实现与上述编码器相对应的解码器,目的在于聚合以实例为中心的对象表示,而无需额外的人工注释。

如图3所示,图像处理模型可以包括图像编码器210、提示编码器320和实例解码器330。可以利用符号x=(x

参见图3描述两个单模态编码器的更多细节。如图3所示,图像编码器310可以接收图像x

如图3左侧所示,可以使用目前已知的和/或将在未来开发的视觉转换器来将图像划分为N(例如,图3所示的3×3个,或者其他数量)个不重叠的分块(patch)312。可以将这些分块展平为一维输入标记以便进行线性投影,以便获得各个分块的分块特征v

在确定提示表示的过程中,可以利用提示编码器320来将提示114划分为多个词语(例如,可以称为子词),并且分别确定多个词语的多个词语特征以及整个提示的提示特征。继而,可以基于确定的各个特征来确定提示表示。

如图3右侧所示,可以使用提示编码器320来处理提示114,该编码器采用类似的转换器结构,例如可以使用基于BERT(Bidirectional Encoder Representations fromTransformer,基于转换器的双线编码器表示)的结构。可以向提示编码器320输入对象提示x

在传统的VLP技术方案中,在已经获得上文描述的各个嵌入之后,可以利用

根据本公开的一个示例性实现方式,可以使用被称为实例查询的一组可学习标记来表示图像中的潜在实例。将会理解,尽管上文以文本为示例描述了提示的细节,备选地和/或附加地,提示可以包括图像格式。也即,此时的提示可以是多模态的,并且可以包括文本格式或者图像格式。根据本公开的一个示例性实现方式,可以分别确定在图像中执行的多个查询的多个查询表示。在此,每个查询可以与多模态提示的特定文本或图像相关。也即,希望由提示内容来指定查询所探测的实例。具体地,实例查询可以表示为

在公式1中,

实例解码器330可以使用一组可学习的标记,可以将其称为为实例查询。在每个解码器块,通过与编码的视觉特征交互来更新这些实例查询。通过多个块的堆栈,他们将逐渐从整个图像中探测潜在的对象的实例。此外,每个实例查询都以多模式提示的具体文本或图像为条件。这样的设计使其专用于由其相关提示的内容指示的特定实例类型。因此,通过指定多模态提示的内容,实例解码器可以自适应地发现相应的实例。

实例解码器330可以采用多层结构,例如,可以使用常规转换器中的6层结构,或者可以包括更多或者更少的层结构。在此,多层结构可以顺序连接,并且第0层输出的实例表示可以作为第1层的输入,第1层输出的实例表示可以作为第2层的输入,等等。在每个层结构中,可以首先将所有编码的

初始地,实例表示H

根据本公开的一个示例性实现方式,在实例解码器330中的每个层处,可以针对多个查询表示、多个分块表示和先前实例表示执行槽注意力操作,确定实例表示。也即,在每个层处,可以更新上一层输出的实例表示,进而确定当前层的实例表示。参见图4描述实例解码器330中的每个层的结构,该图4示出了根据本公开的一些实现方式的实例解码器的结构的框图400。如图4所示,可以将上文确定的各个嵌入410、412和414输入至槽注意力层420。在此,槽注意力层420可以通过与编码的视觉嵌入的交互来自适应地更新实例表示350。

根据本公开的一个示例性实现方式,分别确定针对多个查询表示、多个分块表示和先前实例表示的相应权重。进一步,利用多个查询表示、多个分块表示和先前实例表示和相应权重,确定相似性矩阵,继而利用相似性矩阵来确定实例表示。具体地,对于第l个槽注意力层,可以首先计算相似度矩阵

在公式2中,W

此时,生成的相似度矩阵M实际上通过计算N个视觉标记和T个实例查询之间的语义相似度来执行软分配。以此方式,可以根据每个视觉标记的相似性得分将其分发给特定查询。为了将视觉标记的信息聚合到其指定的输入查询中,可以基于相似性矩阵M的计算加权平均,来确定更新的实例表示:

最后,第l层的实例表示H

在公式5中,W

将会理解,图4仅以提供了实例解码器中的一个层的示例,备选地和/或附加地,可以采用包括更多、更少或者不同的层的结构来实现实例解码器330。此时,实例解码器330的工作方式类似于对图像标记进行聚类,其中每个实例查询都作为聚类的中心。在每个解码器块中,它通过测量每个标记与语义空间中的中心之间的距离来确定每个标记所属的位置。然后基于计算的距离通过软方式(公式4)更新聚类中心。通过堆叠多个解码器块,它可以隐式地强制每个查询关注特定区域并聚合实例级表示。

已经描述了实例表示模型的结构,在下文中,将详细描述训练过程中涉及的预训练目标。将会理解,在此的ECLIP是利用大规模未筛选样本执行训练的,并且可以具有多个预训练任务。根据本公开的一个示例性实现方式,可以使用对比损失函数来更新实例表示模型230。在此,对比损失函数可以包括两个方向,因而存在图像到提示的对比损失函数、以及提示到图像的对比损失函数。

根据本公开的一个示例性实现方式,图像到文本对比学习可以获得更好的单模态表示。可以给定多个样本

进一步,可以基于如下公式7来确定文本到图像的对比损失函数

在上述公式中,τ是可学习的温度参数,并且B是多个样本的数量。进一步,可以基于两个方向的损失函数,来将对比学习的整体目标定义为:

根据本公开的一个示例性实现方式,可以基于对象间的多模态对比学习来确定第一对比训练目标210。参见图5来描述确定第一对比训练目标210的概要,该图5示出了根据本公开的一些实现方式的确定第一对比训练目标210的框图500。如图5所示,可以利用图1中的多个样本中的图像来确定第一对比训练目标210。

在此,样本110中的图像112和样本120中的图像122涉及相同对象“面霜”,并且样本110中的图像112和样本130中的图像132涉及不同对象(分别涉及“面霜”和“煎锅”)。此时,可以利用上述图像来分别构成图像对510和520,进而基于对比学习来确定对象间的训练目标。

根据本公开的一个示例性实现方式,可以使得第一对比训练目标210拉近图像112和122的实例表示之间的距离,并且推远图像112和132的实例表示之间的距离。换言之,期望第一对比训练目标210拉近正的图像对510中的各个图像的实例表示,并且推远负的图像对520中的各个图像的实例表示。

参见图6描述确定第一对比训练目标的更多细节,该图6示出了根据本公开的一些实现方式的对比学习训练的框图600。如图6所示,在预训练期间维护了动量模型(例如,动量模型610和614),该动量模型可以指示原始模型的指数移动平均值。如图6所示,可以利用基础模型612来处理图像112(也即,当前样本x),可以分别利用动量模型610和614来处理图像122(也即,正样本x

具体地,对于对象样本x

在公式9中,样本i和j是正样本对,

根据本公开的一个示例性实现方式,可以进一步提供与对象间多模态学习相关的附加实例-文本(也即,提示中的文本)匹配损失。该损失可以预测实例和文本描述是否匹配。具体地,给定一个实例文本对,可以基于如下公式10来确定实例-文本匹配损失:

在公式10中,⊙表示Hadamard积,并且f(·)表示映射层:

根据本公开的一个示例性实现方式,可以基于对象内的多模态学习来确定第二对比训练目标220。此时,可以使得第二对比训练目标220拉近涉及相同对象的实例表示和提示之间的距离,并且推远涉及不同对象的实例表示和提示之间的距离。换言之,在上文描述的多个样本中,可以拉近样本110中的图像112的实例表示和提示114之间的距离,并且推远样本130中的图像132的实例表示和提示114之间的距离。

对于一个样本而言,在预训练期间只存在一个正提示描述了该样本中的图像所展示的对象,其余的T-1个提示来自其他对象。此时,第二对比训练目标220旨在确保只有正查询才能探测正确的前景实例,而负查询不能。此时,可以使用文本监督来应用对象内对比损失。假设索引r表示正查询,可以基于如下公式11来确定第二对比损失训练目标220:

在公式11中,r表示正查询,相对于全部T-1个负查询,这使得正查询和对象描述更加靠近。

备选地和/或附加地,可以针对相似性矩阵M来引入熵正则化,也即,可以基于如下公式12来确定图像与提示之间的相似性损失函数:

以此方式,可以防止在所有查询上的过于平滑的相似性得分。

根据本公开的一个示例性实现方式,可以基于上文描述的多个损失函数中的一部分或者全部来确定预训练过程的整体训练目标。具体地,可以基于公式6至12中的一个或多个公式来确定整体训练目标。根据本公开的一个示例性实现方式,可以基于如下公式13来确定整体训练目标:

将会理解,尽管上文以电子商务环境作为具体应用环境的示例描述了确定实例表示的过程,可以在其他环境中实现上文描述的技术方案。在此,对象可以是物品、商品、人物或者动物,并且提示可以包括针对该物品、人物或者动物的描述。例如,可以在动物识别的应用环境下执行上文描述的技术方案。以此方式,实例表示可以更多图像中的某个动物的特殊特征,进而提高识别的准确性。

将会理解,尽管上文以文本作为提示的具体示例,备选地和/或附加地,可以利用图像格式来表示提示。以此方式,可以以更为灵活的方式来定义提示的具体内容,提高待处理样本的多样性。将会理解,上文的训练过程仅仅是示意性的,并且可以基于具体应用环境的需要修改训练过程的具体地细节,例如,训练过程可以包括更多、更少或者不同的过程。

根据本公开的一个示例性实现方式,在实例解码器架构中,通过引入一组可学习的实例查询,以显式聚合实例级语义。此外,还提出了两个特别配置的预处理任务,使模型能够专注于期望的对象实例而不依赖于昂贵的人工注释。

经过预训练后,可以利用生成的基础模型以最少的操作提取对象实例表示。具体来说,给定对象样本

已经描述了获取实例表示模型230的过程,可以利用多个开放数据集来执行上文描述的预训练过程,并且利用训练好的模型来执行下游任务。根据本公开的一个示例性实现方式,在确定预训练数据集时,可以从流行的电子商务网站收集预训练数据。具体地,预训练数据集可以包括1500万种不同的对象和超过1亿个图像,涵盖了大约9K个不同的类别,如服装、日用品、仪器等。对于每个对象,它都有相应的提示(也即,文本描述)和来自对象详细信息页面、客户评论和相应广告视频的多个图像。在预训练期间,通过对来自不同来源的属于同一对象的图像进行采样,并且构建正样本对。

例如,图像编码器310可以例如标准ViT的网络配置,并根据ImageNet的预训练的权重进行初始化。提示编码器320可以基于BERTbase架构来实现。实例解码器330具有6个相同的层和20个实例查询。备选地和/或附加地,可以使用ViT的两种变体:ViTB/16(具有2.5亿个参数)和ViT-L/16(具有4.8亿个参数),进而实现具有不同精度的实例表示模型230。在预处理期间,使用随机裁剪和水平翻转预测将输入图像的大小调整为224×224,文本由最大长度为55的词片(WordPiece)来标记。

在本公开的上下文中,可以利用未经筛选的训练数据来获得实例表示模型。建立在电子商务数据本身的自然特征之上,如图1所示,对象通常具有来自不同来源的多个图像样本(例如,商家、客户评论、附加广告视频等)。尽管由于相机视图或场景的变化,这些实例的外观可能会有所不同,但它们都包含相同的对象实体。利用上文描述的以实例为中心的多模式学习模型,可以提高针对电子商务领域的图像处理性能。

根据本公开的一个示例性实现方式,可以利用实例表示模型来确定目标样本中的目标图像中的实例的目标实例表示,并且基于目标实例表示来执行与目标样本相关联的下游任务。具体地,可以在不执行微调的情况下(也即,one-shot),直接将ECLIP技术方案应用于分类评估。表1示出了CLIP技术方案与ECLIP技术方案的比较结果。

表1执行物品分类任务的性能比较

如表1所示,ECLIP技术方案大大超过了所有现有技术方案的准确性。例如,与CLIP相比,准确性提高了10.16%,这证明了根据本公开的一个示例性实现方式的实例表示的优越性。

进一步,表2示出了检索任务的性能比较,在表2中使用在不同召回率R@K下的准确性来表示性能。如表2所示,ECLIP技术方案展示出了较强的优越性。

表2检索任务(图像到文本/文本到图像)的性能比较

进一步,图7示出了根据本公开的一些实现方式的对象检测的框图700。如图7所示,图像710和720示出了针对图像130和140执行常规的CLIP技术方案所识别出的对象,并且图像712和722分别示出了针对图像130和140执行ECLIP技术方案所识别出的对象。在图7中,浅色区域(也即,热度较高)表示识别出的对象所在的区域。可以看出,图像712和722中所示出的对象所在区域更为准确。

图8示出了根据本公开的一些实现方式的实例表示在特征空间中的分布的框图800。在图8中,分布810示出了利用常规CLIP技术方案确定的各个图像的表示在特征空间中的分布,并且分布820示出了利用ECLIP技术方案确定的各个图像的实例表示在特征空间中的分布。可以看出,在分布820中的有关相同对象的实例表示更为靠近,并且远离有关不同对象的实例表示。以此方式,根据ECLIP技术方案确定的特征表示能够以更为准确地表示图像中的对象的实例的相关特征。

综上,ECLIP技术方案可以直接使用来自大量电子商务相关数据进行预训练,并且可以成功地提取更为通用并且在语义上更为丰富和鲁棒的实例表示。广泛的实验结果表明,在没有进一步微调的情况下,ECLIP技术方案在广泛的下游任务上的性能大大超过了现有方法,证明了其对现实世界电子商务应用的强大可移植性。

在本公开的上下文中,提出的ECLIP尤其适用于在电子商务场景中。不同于常规的图像的全局表示,ECLIP可以通过解码器架构来成功地获得以实例为中心的实例表示。通过充分利用电子商务数据的自然特性和所提出的预处理任务,ECLIP可以获得细粒度的对齐能力,以在不依赖任何人工注释的情况下实现所需的对象实例。此外,经过大规模对象数据的预训练,生成的基础模型可以无缝地推广到下游电子商务应用程序。综合的实验结果进一步证明了ECLIP的优越性:在没有任何微调的情况下,它在不同的现实世界电子商务任务上比现有的最先进的方法实现了显著的改进。

示例过程

图9示出了根据本公开的一些实现方式的用于处理图像中的对象的实例的方法900的流程图。如图9所示,在框910处,接收多个样本,多个样本中的样本包括图像和与图像中的对象的相关联的提示。在框920处,利用多个样本中的多个图像以及多个图像中的对象,确定实例表示模型的第一对比训练目标,实例表示模型描述图像与图像的实例表示之间的关联关系,实例表示是针对图像中的对象的实例所提取的特征;在框930处,利用多个样本中的多个图像以及多个提示,确定实例表示模型的第二对比训练目标;以及在框940处,基于第一对比训练目标和第二对比训练目标,获取实例表示模型。

根据本公开的一个示例性实现方式,多个样本包括第一样本、第二样本和第三样本,第一样本中的第一图像和第二样本中的第二图像包括相同的对象的实例,并且第一图像和第三样本中的第三图像包括不同的对象的实例,其中确定第一对比训练目标包括:使得第一对比训练目标拉近第一图像的第一实例表示和第二图像的第二实例表示之间的距离,并且使得第一对比训练目标推远第一实例表示和第三图像的第三实例表示之间的距离。

根据本公开的一个示例性实现方式,第一样本中的第一提示和第二样本中的第二提示指向相同的对象,第一提示和第三样本中的第三提示指向不同的对象,其中确定第二对比训练目标包括:使得第二对比训练目标拉近第一实例表示和第一提示之间的距离,并且使得第二对比训练目标推远第三实例表示和第一提示之间的距离。

根据本公开的一个示例性实现方式,该方法900进一步包括:利用图像编码器来获取图像的图像表示;利用提示编码器来获取提示的提示表示;以及利用实例解码器,基于图像表示和提示表示来确定图像的实例表示。

根据本公开的一个示例性实现方式,获取图像表示包括:利用图像编码器将图像划分为多个分块;分别确定多个分块的多个分块特征以及图像的图像特征;以及基于多个分块特征以及图像特征,确定图像表示。

根据本公开的一个示例性实现方式,获取提示表示包括:利用提示编码器来将提示划分为多个词语;分别确定多个词语的多个词语特征以及提示的提示特征;以及基于多个词语特征以及提示特征,确定提示表示。

根据本公开的一个示例性实现方式,确定实例表示包括:分别确定在图像中执行的多个查询的多个查询表示;以及基于多个查询表示、多个分块表示和实例表示之前的先前实例表示来确定实例表示。

根据本公开的一个示例性实现方式,确定实例表示包括:针对多个查询表示、多个分块表示和先前实例表示执行槽注意力操作,确定实例表示。

根据本公开的一个示例性实现方式,执行槽注意力操作来确定实例表示包括:分别确定针对多个查询表示、多个分块表示和先前实例表示的相应权重;利用多个查询表示、多个分块表示和先前实例表示和相应权重,确定相似性矩阵;以及利用相似性矩阵来确定实例表示。

根据本公开的一个示例性实现方式,该方法900进一步包括基于以下至少任一项来更新实例表示模型:图像到提示的对比损失函数;提示到图像的对比损失函数;实例表示与提示表示之间的交叉熵损失函数;图像与提示之间的相似性损失函数。

根据本公开的一个示例性实现方式,对象包括物品,并且提示包括针对物品的描述。

根据本公开的一个示例性实现方式,描述包括文本数据和图像数据中的任一项。

根据本公开的一个示例性实现方式,该方法900进一步包括:利用实例表示模型来确定目标样本中的目标图像中的实例的目标实例表示;以及基于目标实例表示来执行与目标样本相关联的下游任务。

示例装置和设备

图10示出了根据本公开的一些实现方式的用于处理图像中的对象的实例的装置1000的框图。该装置1000包括:接收模块1010,被配置用于接收多个样本,多个样本中的样本包括图像和与图像中的对象的相关联的提示;第一确定模块1020,被配置用于利用多个样本中的多个图像以及多个图像中的对象,确定实例表示模型的第一对比训练目标,实例表示模型描述图像与图像的实例表示之间的关联关系,实例表示是针对图像中的对象的实例所提取的特征;第二确定模块1030,被配置用于利用多个样本中的多个图像以及多个提示,确定实例表示模型的第二对比训练目标;以及获取模块1040,被配置用于基于第一对比训练目标和第二对比训练目标,获取实例表示模型。

根据本公开的一个示例性实现方式,多个样本包括第一样本、第二样本和第三样本,第一样本中的第一图像和第二样本中的第二图像包括相同的对象的实例,并且第一图像和第三样本中的第三图像包括不同的对象的实例,其中第一确定模块包括:拉近模块,被配置用于使得第一对比训练目标拉近第一图像的第一实例表示和第二图像的第二实例表示之间的距离,并且推远模块,被配置用于使得第一对比训练目标推远第一实例表示和第三图像的第三实例表示之间的距离。

根据本公开的一个示例性实现方式,第一样本中的第一提示和第二样本中的第二提示指向相同的对象,第一提示和第三样本中的第三提示指向不同的对象,其中第二确定模块包括:拉近模块,被配置用于使得第二对比训练目标拉近第一实例表示和第一提示之间的距离,并且推远模块,被配置用于使得第二对比训练目标推远第三实例表示和第一提示之间的距离。

根据本公开的一个示例性实现方式,进一步包括:图像处理模块,被配置用于利用图像编码器获取图像的图像表示;提示处理模块,被配置用于利用提示编码器获取提示的提示表示;以及表示确定模块,被配置用于利用实例解码器基于图像表示和提示表示来确定图像的实例表示。

根据本公开的一个示例性实现方式,图像处理模块,被配置用于包括:划分模块,被配置用于利用图像编码器将图像划分为多个分块;特征确定模块,被配置用于分别确定多个分块的多个分块特征以及图像的图像特征;以及图像表示确定模块,被配置用于基于多个分块特征以及图像特征,确定图像表示。

根据本公开的一个示例性实现方式,提示处理模块包括:划分模块,被配置用于利用提示编码器来将提示划分为多个词语;特征确定模块,被配置用于分别确定多个词语的多个词语特征以及提示的提示特征;以及提示表示确定模块,被配置用于基于多个词语特征以及提示特征,确定提示表示。

根据本公开的一个示例性实现方式,表示确定模块包括:查询模块,被配置用于分别确定在图像中执行的多个查询的多个查询表示;以及基于查询的确定模块,被配置用于基于多个查询表示、多个分块表示和实例表示之前的先前实例表示来确定实例表示。

根据本公开的一个示例性实现方式,基于查询的确定模块,被配置用于包括:槽注意力模块,被配置用于针对多个查询表示、多个分块表示和先前实例表示执行槽注意力操作,确定实例表示。

根据本公开的一个示例性实现方式,槽注意力模块包括:权重确定模块,被配置用于分别确定针对多个查询表示、多个分块表示和先前实例表示的相应权重;相似性确定模块,被配置用于利用多个查询表示、多个分块表示和先前实例表示和相应权重,确定相似性矩阵;以及基于相似性的确定模块,被配置用于利用相似性矩阵来确定实例表示。

根据本公开的一个示例性实现方式,进一步包括更新模块,被配置用于基于以下至少任一项来更新实例表示模型:图像到提示的对比损失函数;提示到图像的对比损失函数;实例表示与提示表示之间的交叉熵损失函数;图像与提示之间的相似性损失函数。

根据本公开的一个示例性实现方式,对象包括物品,并且提示包括针对物品的描述。

根据本公开的一个示例性实现方式,描述包括文本数据和图像数据中的任一项。

根据本公开的一个示例性实现方式,该装置进一步包括:实例表示确定模块,被配置用于利用实例表示模型来确定目标样本中的目标图像中的实例的目标实例表示;以及任务执行模块,被配置用于基于目标实例表示来执行与目标样本相关联的下游任务。

图11示出了能够实施本公开的多个实现方式的设备1100的框图。应当理解,图11所示出的计算设备1100仅仅是示例性的,而不应当构成对本文所描述的实现方式的功能和范围的任何限制。

如图11所示,计算设备1100是通用计算设备的形式。计算设备1100的组件可以包括但不限于一个或多个处理器或处理单元1110、存储器1120、存储设备1130、一个或多个通信单元1140、一个或多个输入设备1150以及一个或多个输出设备1160。处理单元1110可以是实际或虚拟处理器并且能够根据存储器1120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备1100的并行处理能力。

计算设备1100通常包括多个计算机存储介质。这样的介质可以是计算设备1100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器1120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备1130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在计算设备1100内被访问。

计算设备1100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图11中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器1120可以包括计算机程序产品1125,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实现方式的各种方法或动作。

通信单元1140实现通过通信介质与其他计算设备进行通信。附加地,计算设备1100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备1100可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。

输入设备1150可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备1160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备1100还可以根据需要通过通信单元1140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备1100交互的设备进行通信,或者与使得计算设备1100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。

根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,提供了一种计算机程序产品,其上存储有计算机程序,程序被处理器执行时实现上文描述的方法。

这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。

技术分类

06120115922452