利用机器学习模型来处理图像的方法、装置、设备和介质与流程

文档序号:33192460发布日期:2023-02-04 09:10阅读:36来源:国知局
利用机器学习模型来处理图像的方法、装置、设备和介质与流程

1.本公开的示例性实现方式总体涉及图像处理,特别地涉及用于利用机器学习模型来处理图像的方法、装置、设备和计算机可读存储介质。


背景技术:

2.机器学习技术已经被广泛地用于图像处理。目前已经提出了基于机器学习技术来识别图像中的对象的技术方案。例如,可以在图像中预先标注对象并且利用带有标注的图像来训练机器学习模型。然而,用作训练数据的图像并不可能包括真实世界中的全部对象,这导致在使用训练的机器学习模型处理待处理图像时,仅能从待处理图像中识别出训练数据中已经被标注的对象,并不能识别出在训练数据中未被标注的对象。此时,如何以更为有效的方式训练机器学习模型进而提高识别的准确性,成为图像处理领域的难点和热点。


技术实现要素:

3.在本公开的第一方面,提供了一种用于利用机器学习模型来处理图像的方法。在此,机器学习模型用于从图像中识别至少一个候选对象,机器学习模型包括:特征提取模型,用于描述图像与至少一个候选对象的特征之间的关联关系;以及分类评分模型,用于描述至少一个候选对象的特征与至少一个候选对象的分类评分之间的关联关系,分类评分表示至少一个候选对象被分类为图像中的前景的概率。在该方法中,基于至少一个候选对象的分类评分与图像中的至少一个真值对象的真值分类评分,确定与分类评分模型相关联的更新参数。基于与分类评分模型相关联的更新参数,更新分类评分模型。阻止利用与分类评分模型相关联的更新参数来更新特征提取模型。
4.在本公开的第二方面,提供了一种用于利用机器学习模型来处理图像的装置。在此,机器学习模型用于从图像中识别至少一个候选对象,机器学习模型包括:特征提取模型,用于描述图像与至少一个候选对象的特征之间的关联关系;以及分类评分模型,用于描述至少一个候选对象的特征与至少一个候选对象的分类评分之间的关联关系,分类评分表示至少一个候选对象被分类为图像中的前景的概率。该装置包括:确定模块,被配置用于基于至少一个候选对象的分类评分与图像中的至少一个真值对象的真值分类评分,确定与分类评分模型相关联的更新参数;更新模块,被配置用于基于与分类评分模型相关联的更新参数,更新分类评分模型;以及阻止模块,被配置用于阻止利用与分类评分模型相关联的更新参数来更新特征提取模型。
5.在本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令在由至少一个处理单元执行时使电子设备执行根据本公开第一方面的方法。
6.在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时使处理器实现根据本公开第一方面的方法。
7.应当理解,本内容部分中所描述的内容并非旨在限定本公开的实现方式的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
8.在下文中,结合附图并参考以下详细说明,本公开各实现方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
9.图1示出了本公开的实现方式的用作机器学习模型的训练数据的图像的框图;
10.图2示出了根据本公开的一些实现方式的用于从图像中识别对象的机器学习模型的结构的框图;
11.图3示出了根据本公开的一些实现方式的用于确定掩膜模型的更新参数的过程的框图;
12.图4示出了根据本公开的一些实现方式的用于确定包围盒模型的更新参数的过程的框图;
13.图5示出了根据本公开的一些实现方式的用于确定定位评分模块的更新参数的过程的框图;
14.图6示出了根据本公开的一些实现方式的图像中的多个候选对象的框图;
15.图7示出了根据本公开的一些实现方式的用于从多个候选对象中选择正样本和负样本的过程的框图;
16.图8示出了根据本公开的一些实现方式的使用机器学习模型来从待处理图像中识别的对象的框图;
17.图9示出了根据本公开的一些实现方式的用于利用机器学习模型处理图像的方法的流程图;
18.图10示出了根据本公开的一些实现方式的用于利用机器学习模型处理图像的装置的框图;以及
19.图11示出了能够实施本公开的多个实现方式的设备的框图。
具体实施方式
20.下面将参照附图更详细地描述本公开的实现方式。虽然附图中示出了本公开的某些实现方式,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实现方式,相反,提供这些实现方式是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实现方式仅用于示例性作用,并非用于限制本公开的保护范围。
21.在本公开的实现方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实现方式”或“该实现方式”应当理解为“至少一个实现方式”。术语“一些实现方式”应当理解为“至少一些实现方式”。下文还可能包括其他明确的和隐含的定义。如本文中所使用的,术语“模型”可以表示各个数据之间的关联关系。例如,可以基于目前已知的和/或将在未来开发的多种
技术方案来获取上述关联关系。
22.可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
23.可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
24.例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
25.作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹出窗口的方式,弹出窗口中可以以文字的方式呈现提示信息。此外,弹出窗口中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
26.可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
27.在此使用的术语“响应于”表示相应的事件发生或者条件得以满足的状态。将会理解,响应于该事件或者条件而被执行的后续动作的执行时机,与该事件发生或者条件成立的时间,二者之间未必是强关联的。例如,在某些情况下,后续动作可在事件发生或者条件成立时立即被执行;而在另一些情况下,后续动作可在事件发生或者条件成立后经过一段时间才被执行。
28.示例环境
29.在本公开的上下文中,对象可以表示图像中的具有有形形状的实体,例如可以包括但不限于人物、动物、物体,等等。在本公开的上下文中,将以水果作为对象的示例,描述如何在图像中识别对象。在其他应用环境中,视频可以包括其他类型的对象。例如,在物流管理系统中,可以识别并跟踪物流运输过程中的包裹;在交通监控环境中,可以识别并跟踪道路环境中的各个车辆,等等。
30.参见图1描述用于训练机器学习模型的概要,该图1示出了本公开的实现方式的用作机器学习模型的训练数据的图像的框图100。如图1所示,可以将图像110用作训练数据,以便训练机器学习模型。在此,期望该机器学习模型可以从训练数据中学习图像与图像中的一个或多个对象之间的关联关系。继而,可以向训练好的机器学习模型输入待处理图像,以便机器学习模型可以从该待处理图像中识别各个对象。
31.可以利用图像110来训练机器学习模型,在此图像110可以包括真值对象112、

、和114。在此,真值对象是指图像110中的预先标注(例如,以人工方式和/或其他方式)的对象。在训练过程中,机器学习模型可以不断学习图像和图像中的一个或多个真值对象 112、

、和114之间的关联关系。将会理解,尽管图110中还包括其他对象(例如,柠檬、苹果、草莓等),然而其他对象并未被标注。例如,图像110可以进一步包括未标注对象116(柠檬)。备选地和/ 或附加地,图像110可以仅包括菠萝和香蕉两个对象,并且这两个对象都被标注为真值对象。
32.将会理解,尽管图1仅示意性示出了用作训练数据的单一图像110,可以获取大量训练图像,并且每个训练图像可以包括相同或者不同类型的真值对象。可以以迭代方式来利用大量训练图像执行训练过程,以便获得优化的机器学习模型。
33.然而,由于真实世界中包括大量水果,难以提供包括全部类型的水果的训练图像,并且难以在训练图像中标注每种水果。这导致机器学习模型仅能学到有关有限水果(也即,被标注的水果)的知识,进而在从待处理图像中识别对象时,仅能识别出在训练图像中已经被标注的水果。换言之,假设训练图像中的已标注水果仅包括菠萝和香蕉,则向机器学习模型输入包括菠萝、香蕉和柠檬的图像时,机器学习模型仅能识别出菠萝和香蕉,但不能识别出柠檬,并且机器学习模型可能会将柠檬错误地识别为背景。
34.此时,如何以更为有效的方式训练机器学习模型,并且使得机器学习模型可以识别出在训练图像中未被标注的对象进而提高识别的准确性,成为图像处理领域的难点和热点。
35.对象识别模型的架构
36.为了至少部分地解决现有技术中的不足,根据本公开的一个示例性实现方式,提出了一种利用机器学习模型处理图像的方法。参见图 2描述根据本公开的一个示例性实现方式的概要,该图2示出了根据本公开的一些实现方式的用于从图像中识别对象的机器学习模型的结构的框图200。如图2所示,机器学习模型210可以包括多个内部的模型。例如,可以基于目前已知的和/或将在未来开发的多个网络模型实现主干模型220,该主干模型220可以针对接收的图像执行处理,例如,可以基于查询器来识别出图像中的各个候选对象,以便于下游的特征提取模型222提取图像中的各个候选对象的特征。特征提取模型222可以描述图像与至少一个候选对象的特征之间的关联关系。换言之,特征提取模型222可以提取各个候选对象的特征224。
37.进一步,机器学习模型210可以包括:掩膜模型232,用于描述至少一个候选对象的特征与至少一个候选对象的区域之间的关联关系;包围盒模型234,用于描述至少一个候选对象的特征与至少一个候选对象在图像中的包围盒之间的关联关系;定位评分模型236,用于描述至少一个候选对象的特征与至少一个候选对象的定位评分之间的关联关系,定位评分表示至少一个候选对象的定位与至少一个真值对象的真值定位之间的差异;分类评分模型238,用于描述至少一个候选对象的特征与至少一个候选对象的分类评分之间的关联关系,分类评分表示至少一个候选对象被分类为图像中的前景的概率。
38.根据本公开的一个示例性实现方式,机器学习模型210可以进一步包括对比学习模型230。在此,对比学习模型230可以基于对比学习来调整上游模块的参数,以便使得特征提取模型220可以拉近已标注对象的特征以及与该已标注对象具有相同类型的候选对象的特征之间的距离,并且可以推远已标注对象的特征以及与该已标注对象具有不同类型的候选对象的特征之间的距离。根据本公开的一个示例性实现方式,可以单独地和/或相结合地训练机器学习模型210中的上述各个模块,以便使得机器学习模型210可以获得有关图像和对象之间的关联关系。
39.模型训练过程
40.根据本公开的一个示例性实现方式,可以基于图像的各种真值数据来确定各个模型的更新参数(例如,基于损失函数确定的更新梯度),以便相应地训练各个模型。例如,可
以基于图像中的至少一个候选对象的分类评分与图像中的至少一个真值对象的真值分类评分,确定与分类评分模型相关联的更新参数。将会理解,通常而言图像可以包括前景和背景。例如,如图1所示在图像110中,各种水果属于图像110 的前景,并且白色空白区域属于图像110的背景。可以利用[0,1]之间的数值来表示某个候选对象属于前景的概率。
[0041]
可以将候选对象被标注为前景的概率来作为分类评分,此时,图像110的真值标注可以包括前景区域和背景区域,前景区域的分类评分为1并且背景区域的分类评分为0。在前向传播过程中,可以基于至少一个候选对象的分类评分与图像中的至少一个真值对象的真值分类评分,确定与分类评分模型238相关联的更新参数(简称为分类更新参数)。具体地,可以将特征224输入至分类评分模型238,以便预测候选对象的分类评分。继而,可以将预测的分类评分与真值对象的真值评分(也即,真值标注中的分类评分0或者1)进行比较,以便确定分类评分模型238的损失函数。继而,可以朝向使得损失函数最小化的方向确定模型的更新梯度,从而将该梯度作为用于更新分类评分模型238的更新参数。
[0042]
根据本公开的一个示例性实现方式,可以基于确定的更新参数来更新分类评分模型238,然而如图2中的虚线260所示,可以截断该更新参数的反向传播,并且在更新上游的各个模型(例如,主干模型 220、特征提取模型222)时,并不使用分类评分模型238相关联的更新梯度。换言之,在更新上游模型时,阻止使用分类更新参数。
[0043]
利用本公开的示例性实现方式,分类更新参数仅用于更新分类评分模型238的更新参数,而并不被用于更新上游模型。以此方式,一方面可以确保分类评分模型238可以学习到图像110中的与真值前景和真值背景相关的语义知识;另一方面,在更新特征提取模型222时不考虑前景和背景相关的知识,可以使得生成的特征224不会过度关注于图像的前景和背景之间的边界。以此方式,当使用机器学习模型 210处理包括新类型的水果(例如,柠檬)时,不会将柠檬识别为背景区域,而是可以将柠檬识别为在训练数据中未标注新类型的水果。
[0044]
已经描述了训练分类评分模型238的过程,在下文中,将提供有关训练其他模型的更多细节。根据本公开的一个示例性实现方式,可以基于图像110的真值标注中的信息来更新掩膜模型232。在此,掩膜模型232可以描述至少一个候选对象的特征与至少一个候选对象的在图像110中所在的区域之间的关联关系。具体地,基于真值掩膜和掩膜模型232输出的预测掩膜的比较,可以确定相应的损失函数进而确定用于更新掩膜模型232的更新参数(也即,更新梯度)。为了便于描述,可以将与掩膜模型232相关联的更新参数称为掩膜更新参数。
[0045]
图3示出了根据本公开的一些实现方式的用于确定掩膜模型的更新参数的过程的框图300。如图3所示,图像110的真值标注可以包括真值对象112以及相应的真值掩膜310,该真值掩膜310可以表示真值对象112在图像110中的像素范围。将会理解,图3中的真值掩膜310仅仅是示意性的,在实际环境中的真值掩膜310可以具有更高的精度。在训练过程中可以将特征224输入至掩膜模型232,并且掩膜模型232可以输出预测掩膜320。
[0046]
可以将预测掩膜320与真值掩膜310进行比较,以便确定相应的损失函数进而确定用于更新掩膜模型232的掩膜更新参数。可以利用掩膜更新参数来更新掩膜模型232。进一步,由于特征224的优劣将会影响掩膜模型232的性能,在更新特征提取模型222的过程中可以考虑掩膜更新参数。换言之,掩膜更新参数将被用于更新上游模型和掩膜模型232。以此
方式,可以朝向使得生成的特征更加有助于缩小预测掩膜320和真值掩膜310之间的差异的方向,来更新特征提取模型232的参数。
[0047]
根据本公开的一个示例性实现方式,可以基于图像110的真值标注中的信息来更新包围盒模型234。在此,包围盒模型234可以描述至少一个候选对象的特征与至少一个候选对象在图像中的包围盒之间的关联关系。具体地,可以基于真值包围盒和包围盒模型234输出的预测包围盒的比较,来确定相应的损失函数进而确定用于更新包围盒模型234的更新参数(也即,更新梯度)。为了便于描述,可以将与包围盒模型234相关联的更新参数称为包围盒更新参数。
[0048]
图4示出了根据本公开的一些实现方式的用于确定包围盒模型 234的更新参数的过程的框图400。如图4所示,图像110的真值标注可以包括真值对象112以及相应的真值包围盒410,该真值包围盒 410可以表示真值对象112在图像110中的矩形范围。在训练过程中可以将特征224输入至包围盒模型234,并且包围盒模型234可以输出预测包围盒420。
[0049]
可以将预测包围盒420与真值包围盒410进行比较,以便确定相应的损失函数进而确定用于更新包围盒模型234的包围盒更新参数。可以利用包围盒更新参数来更新包围盒模型234。进一步,由于特征 224的优劣将会影响包围盒模型234的性能,在更新特征提取模型222 的过程中可以考虑包围盒更新参数。换言之,包围盒更新参数将被用于更新上游模型和包围盒模型234。以此方式,可以朝向使得生成的特征更加有助于缩小预测包围盒420和真值包围盒410之间的差异的方向,来更新特征提取模型232的参数。
[0050]
根据本公开的一个示例性实现方式,可以基于各个对象的定位信息来来更新定位评分模型236。在此,定位评分模型236可以描述至少一个候选对象的特征与至少一个候选对象的定位评分之间的关联关系。具体地,可以比较至少一个候选对象的定位与至少一个真值对象的真值定位,来确定相应的损失函数进而确定用于更新定位评分模型236的更新参数(也即,更新梯度)。为了便于描述,可以将与定位评分模型236相关联的更新参数称为定位更新参数。
[0051]
图5示出了根据本公开的一些实现方式的用于确定定位评分模型的更新参数的过程的框图500。如图5所示,可以基于如下公式1,利用预测包围盒420与真值包围盒410的交并比(intersectionofunion) 来确定候选对象的定位评分。
[0052][0053]
在公式1中,iou表示候选对象的定位评分,box
真值
表示真值包围盒410,并且box
预测
表示预测包围盒420。以此方式,通过简单的数学运算即可确定各个候选对象的定位评分。将会理解,iou评分的数值在0和1之间,并且数值越大则表示定位越准确。当预测包围盒 420与真值包围盒410重合时,iou评分为1,此时表示定位评分模型 236的准确性最高。
[0054]
根据本公开的一个示例性实现方式,可以以类似方式处理从图像 110中识别到的每个候选对象并且确定相应的iou评分。可以确定相应的损失函数进而确定用于更新定位评分模型236的定位更新参数。可以利用定位更新参数来更新定位评分模型236。进一步,由于特征 224的优劣将会影响定位评分模型236的性能,在更新特征提取模型 222的过程中
可以考虑定位更新参数。换言之,定位更新参数将被用于更新上游模型和定位评分模型236。以此方式,可以朝向使得生成的特征更加有助于提高定位评分(例如,更加接近于1),来更新特征提取模型232的参数。
[0055]
根据本公开的一个示例性实现方式,机器学习模型210进一步包括对比学习模型230。对比学习模型230可以使用对比学习原理,并且使得特征224在特征空间240中的分布与已标注对象的特征的分布相一致。具体地,期望对比学习模型230产生的更新参数可以朝向以下方向更新特征提取模型222:拉近已标注对象的特征以及与该已标注对象相对应的对象的特征之间的距离,并且推远已标注对象的特征以及与该已标注对象不相对应对象的特征之间的距离。
[0056]
基于对比学习原理,可以从至少一个候选对象中选择用于对比学习的正样本和负样本。参见图6描述选择样本的更多细节,该图6示出了根据本公开的一些实现方式的图像中的多个候选对象的框图600。如图6所示,假设从图像110中识别出多个候选对象610、612、614、

、以及616。可以比较各个候选对象和图像110的真值标注中的真值对象。具体地,可以构造全局队列用于存储与真值对象相对应的候选对象的相关特征,参见图7描述基于全局队列来选择正负样本的更多细节。该图7示出了根据本公开的一些实现方式的用于从多个候选对象中选择正样本和负样本的过程的框图700。
[0057]
可以向特征提取模型222输入各个真值对象112、

、114以便确定相应的真值特征,可以比较各个候选对象的特征与各个真值对象的特征,以便从各个候选对象中选择与真值对象相似的相似候选对象。此时,候选对象的特征与真值对象的真值特征都是由特征提取模型 222输出的,进而通过比较两种特征,可以有助于选择用于训练对比学习模型的正样本和负样本。如图7所示,可以向全局队列710中添加分别对应于真值对象112、

、114的相似候选对象的特征712、

、 714。
[0058]
根据本公开的一个示例性实现方式,可以针对全景对象710执行池化操作,以便确定特征中心716。以此方式,特征中心716可以反映真值对象的特征在特征空间240中的分布趋势,进而更加有助于选择正样本和负样本。例如,可以选择与特征中心716具有较小距离的候选对象作为正样本,并且可以选择与特征中心716具有较大距离的候选对象作为负样本。以此方式,通过使用选择的正样本和负样本来执行训练过程,可以朝向使得提取模型222可以提高特征区分对象的程度的方式,更新特征提取模型222。
[0059]
如图7所示,可以按照距离从低到高的顺序来排序多个候选对象 610、612、614、

、616

,以便生成序列720。此时,序列720中位于头部的候选对象的特征与特征中心更加接近,因而可以将这些候选对象作为正样本。序列720中位于靠后位置的候选对象的特征与特征中心更加疏远,因而可以将这些候选对象作为负样本。
[0060]
根据本公开的一个示例性实现方式,可以分别从序列720的两端选择正样本和负样本。例如,可以从序列720的头部位置选择具有较小距离的第一数量(例如,正整数k1)的候选对象来作为正样本。又例如,可以从序列720的中的各个正样本之后的位置处选择负样本。具体地,可以从尾部位置选择具有较大距离的第二数量(例如,正整数k2)的候选对象来作为负样本。此时,正样本是易于区分的简单正样本并且负样本为易于区分的简单负样本。以此方式,可以使得朝向使得特征更加有助于区分对象的方向来训练各个模型。
[0061]
将会理解,尽管上述样本选择方式可以使得模型易于区分不同对象,然而此时的
正样本和负样本存在较大差异因而过于简单,不利于模型区分各个对象之间的细节。此时,可以从序列720中的与第一数量的候选对象相邻的候选对象中,选择第二数量的候选对象以作为负样本。
[0062]
如图7所示,在已经选择k1个候选对象610、

、612作为正样本730的情况下,可以选择紧邻正样本730的k2个候选对象614、

、 616来作为负样本740。由于负样本740紧邻正样本730,因而相对于位于序列720尾部的各个候选对象而言,负样本740与特征中心716 之间具有较小距离。此时负样本740将作为“难”负样本来参与训练。以此方式,可以使得模型学习到用于区分各个对象的更多细节,进而使得输出的特征224更加有助于区分图像中的各个对象。
[0063]
在下文中,描述用于选择样本的具体过程。可以维护长度为l的全局队列710,用于存放训练图像中的已标注的真值对象的特征。具体地,图像中所包括的n个对象在经过特征提取模型222后,可以生成n个特征(维度为n*c,其中c表示特征的维度)。可以从上述特征中选择与真值对象最相近的一个或多个候选对象,并且将选择的候选对象的特征加入全局队列710。进一步,可以将全局队列710进行池化操作,以便获得特征中心716(利用向量v表示)。进一步,可以在n个候选对象中执行正负样本选择,以便在特征空间240中完成对比学习。
[0064]
如图7右侧所示,在特征空间240中,五角星表示特征中心716,圆形表示正样本730并且方形表示负样本740。此时,正样本730靠近特征中心716,并且负样本740远离特征中心716。以此方式,可以使得特征提取模块输出的特征更加有助于区分各个对象。
[0065]
根据本公开的一个示例性实现方式,可以基于最优传输算法来选择正样本和负样本。具体地,可以计算n个预测的候选对象和m个标注真值对象之间的损失矩阵c(n*m),可以综合考虑分类评分和定位评分两者,来确定损失。具体地,可以基于以下公式2来确定预测的候选对象与真值对象之间的损失:
[0066]
c=λ
cls
·ccls

box
·cbox
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式2
[0067][0068]
在公式2中,c表示损失,λ
cls
和c
cls
分别表示分类评分模型相关的权重和损失,λ
box
和c
box
分别表示包围盒模型相关的权重和损失。备选地和/或附加地,可以基于包围盒本身的损失和iou相关的损失两者,来确定c
box
。可以基于损失来排序各个候选样本以便形成序列 720。进一步,可以从序列720中选择损失最小的k1个候选对象作为正样本,并且选择正样本之后的k2个候选对象来作为负样本。此时, k2个候选对象可以作为难负样本。
[0069]
根据本公开的一个示例性实现方式,在已经确定了k1个正样本和 k2个负样本之后,可以使用这些样本来执行训练,以便使得特征提取模型222朝向更加有助于区分对象的方向被更新。具体地,假设利用表示样本空间,利用表示正样本(对象)的特征并且利用表示负样本(背景)的特征,可以基于以下公式2来确定对比损失。
[0070]
[0071]
在公式3中,表示对比损失,表示样本空间,利用表示正样本的特征,表示负样本的特征,并且v表示特征中心。可以基于公式3定义的对比损失来确定与对比学习模型230相关联的更新参数(例如,更新梯度)。为了便于描述,可以将与对比学习模型230 相关联的更新参数称为对比更新梯度。进一步,在训练过程中可以利用对比更新梯度来更新特征提取模型222。
[0072]
以此方式,队列中的特征对应于训练数据中的已标注对象,可以易于将已标注对象区别于未标注对象,因而可以提高特征的区分度。进一步,特征中心在特征空间中的位置是稳定的,因而可以提高特征的一致性。以此方式,可以提高特征提取模型所输出特征的区分度和一致性,进而有助于提高机器学习模型从图像中提取对象的准确性。
[0073]
根据本公开的一个示例性实现方式,用作训练数据的图像110可以包括被标注的至少一个真值对象,并图像110进一步包括至少一个未被标注的对象。换言之,训练数据并不可能标注真实世界中的全部对象。在此情况下,利用本公开的示例性实现方式,通过截断分类评分模型238的损失函数产生的更新梯度,可以弱化训练图像中的前景和背景之间的边界,进而避免机器学习模型210将未知分类的对象(例如,柠檬)错误地识别为背景的情况。
[0074]
进一步,通过上文描述的对比学习过程,可以使得特征提取模型 222输出的特征拉近候选对象与已标识对象之间的距离并且推远候选对象与未标识对象之间的距离。以此方式,可以更加有助于朝向易于提高对象识别准确性的方向来更新特征提取模型222。
[0075]
将会理解,尽管上文描述了分别基于各个模型相关的损失函数来训练特征提取模型222的过程,可以将上述过程的全部和/或其中的一部分过程相结合,以便训练特征提取模型222。在下文中,将以具体公式描述基于多个方面的损失函数来确定整体损失函数的过程。
[0076]
根据本公开的一个示例性实现方式,可以综合上文描述的多个方面(与掩膜模型232、包围盒模型234、定位评分模型236、分类评分模型238、对比学习模型230)相关联的损失函数,来确定训练期间的整体损失函数。可以基于如下公式4来确定整体损失函数:
[0077][0078]
在公式4中,表示整体损失函数,λ
cls
和c
cls
分别表示分类评分模型238相关的权重和损失,λ
box
和c
box
分别表示包围盒模型234相关的权重和损失,λ
mask
和c
mask
分别表示掩膜模型232相关的权重和损失,λ
iou
和c
iou
分别表示定位评分模型236相关的权重和损失,并且λ
con
和c
con
分别表示对比学习模型230相关的权重和损失。以此方式,在训练特征提取模型222时,可以综合考虑多方面的因素,进而使得特征提取模型222所输出的特征224更加适合于对象识别。以此方式,可以进一步提高对象识别的准确性。
[0079]
将会理解,上文的训练过程仅仅是示意性的,并且可以基于具体应用环境的需要修改训练过程的具体地细节,例如,训练过程可以包括更多、更少或者不同的过程。
[0080]
模型应用过程
[0081]
上文已经描述了的机器学习模型210中的各个模型的训练过程,在下文中,将描述如何使用机器学习模型210识别待处理图像中的各个对象。根据本公开的一个示例性实现
方式,可以向机器学习模型210 输入待处理的图像,此时机器学习模型210可以识别并且输出各个对象的相关信息。
[0082]
图8示出了根据本公开的一些实现方式的使用机器学习模型来从待处理图像中识别的对象的框图800。如图8所示,可以利用训练好的机器学习模型210来识别待处理图像810中的对象。具体地,可以利用机器学习模型210中的包围盒模型234确定待处理图像810中的各个候选对象的包围盒。以此方式,可以清晰地指示识别出的各个对象的定位,进而提高用户的视觉体验。
[0083]
如图8所示,可以识别出对象820(菠萝)、

、对象822(柠檬)。此时,对象820是在用作训练数据的图像110中标识的真值对象(也即,训练数据中已标识水果“菠萝”),并且对象822是在用作训练数据的图像110中未标识的对象(也即,训练数据未标识水果“柠檬”)。利用本公开的示例性实现方式,机器学习模型210不但可以识别训练数据中已标识的对象,还可以识别训练数据未标识的对象。
[0084]
根据本公开的一个示例性实现方式,可以基于机器学习模型210 中的各个模型,来确定识别出的候选对象的评分。具体地,可以向机器学习模型210输入待处理图像810,并且利用定位评分模型236确定待处理图像810中的各个候选对象的定位评分。例如,对象820和 830的定位评分可以分别是0.9和0.8。进一步,可以利用分类评分模型238来确定待处理图像810中的各个候选对象的分类评分。例如,对象820和830的定位评分可以分别是0.7和0.6。进一步,可以基于各个候选对象的定位评分和分类评分的几何平均,确定待处理图像 810中的各个候选对象的最终评分。
[0085]
根据本公开的一个示例性实现方式,可以基于定位评分和分类评分的平均值来确定各个候选对象的最终评分。此时,对象820的最终评分可以表示为并且对象822的最终评分可以表示为在此,最终评分可以表示识别出的对象是准确对象的概率。因而上述最终评分可以表示,对象820是在待处理图像810中真正存在的对象的概率为80%,并且对象822是在待处理图像810中真正存在的对象的概率为70%。利用本公开的示例性实现方式,可以综合考虑定位评分和分类评分两方面的因素,进而提高确定对象的最终评分的准确性。
[0086]
将会理解,在上述示例中,待处理图像810包括多个对象。尽管对象822是在训练数据中未标注的对象(也即,在用于训练机器学习模型的图像中的已标注的真值对象中不包括至少一个未标注对象),机器学习模型210仍然可以识别出对象822。以此方式,基于上述方法训练的机器学习模型可以在开放世界的环境下提供更为灵活的对象识别能力。此时,仅需要提供包括一部分已标识的对象的训练数据,即可获得有能力识别未标注对象的能力的机器学习模型。
[0087]
根据本公开的一个示例性实现方式,机器识别模型210中的掩膜模型232可以确定待处理图像810中的各个候选对象的区域。例如,可以在待处理图像810叠加掩膜区域,以便指示各个对象所覆盖的像素区域。以此方式,可以以更为精确的方式表示各个对象的范围,例如,可以使用绿色来表示对象820所在的范围,并且可以使用黄色来表示对象822所在的范围。
[0088]
可以在多种公开数据集上实现上文描述的训练过程,并且使用训练好的机器学习模型来执行图像识别操作。可以使用分类不可知 (class-agnostic)方式来评估模型的性
能,具体地,可以使用平均召回(averagerecall,缩写ar)和均值平均精度(meanaverageprecision,缩写map)两种方式来评估模型的性能。通过实验可知,在例如coco、 lvsi、uvo以及objects365的公开数据集上,使用上文描述的过程获得的机器学习模型的ar性能和map性能均优于目前已知的机器学习模型。
[0089]
将会理解,尽管上文仅以水果作为图像中的对象的示例来描述有关对象识别的具体过程,在本公开的上下文中,对象可以包括真实世界中的多种有形实体,包括但不限于人物、动物、物体,等等。进一步,尽管上文以识别单一图像中的对象为示例描述了对象识别过程,可以识别多个图像中的对象。例如,可以识别视频序列中的各个视频帧中的对象。在识别出各个视频帧中的对象的情况下,可以进一步在视频训练中跟踪各个对象。
[0090]
示例过程
[0091]
图9示出了根据本公开的一些实现方式的用于利用机器学习模型来处理图像的方法900的流程图。机器学习模型用于从图像中识别至少一个候选对象,机器学习模型包括:特征提取模型,用于描述图像与至少一个候选对象的特征之间的关联关系;以及分类评分模型,用于描述至少一个候选对象的特征与至少一个候选对象的分类评分之间的关联关系,分类评分表示至少一个候选对象被分类为图像中的前景的概率。具体地,在框910处,基于至少一个候选对象的分类评分与图像中的至少一个真值对象的真值分类评分,确定与分类评分模型相关联的更新参数。在框920处,基于与分类评分模型相关联的更新参数,更新分类评分模型。在框930处,阻止利用与分类评分模型相关联的更新参数来更新特征提取模型。
[0092]
根据本公开的一个示例性实现方式,机器学习模型进一步包括定位评分模型,定位评分模型描述至少一个候选对象的特征与至少一个候选对象的定位评分之间的关联关系,定位评分表示至少一个候选对象的定位与至少一个真值对象的真值定位之间的差异,以及该方法 900进一步包括:基于至少一个候选对象的定位与至少一个真值对象的真值定位,确定与定位评分模型相关联的更新参数;以及基于与定位评分模型相关联的更新参数,更新特征提取模型。
[0093]
根据本公开的一个示例性实现方式,机器学习模型进一步包括掩膜模型,掩膜模型描述至少一个候选对象的特征与至少一个候选对象的区域之间的关联关系,以及该方法900进一步包括:基于至少一个候选对象的区域与至少一个真值对象的真值区域,确定与掩膜模型相关联的更新参数;以及利用与掩膜模型相关联的更新参数,更新特征提取模型。
[0094]
根据本公开的一个示例性实现方式,机器学习模型进一步包括包围盒模型,包围盒模型描述至少一个候选对象的特征与至少一个候选对象在图像中的包围盒之间的关联关系,以及该方法900进一步包括:基于至少一个候选对象的包围盒与至少一个真值对象的真值包围盒,确定与包围盒模型相关联的更新参数;以及基于与包围盒模型相关联的更新参数,更新特征提取模型。
[0095]
根据本公开的一个示例性实现方式,机器学习模型进一步包括对比学习模型,以及该方法900进一步包括:从至少一个候选对象中选择用于对比学习的正样本和负样本;利用正样本和负样本,确定与对比学习模型相关联的更新参数;以及利用与对比学习模型相关联的更新参数,更新特征提取模型。
[0096]
根据本公开的一个示例性实现方式,选择正样本和负样本包括:基于至少一个候
选对象和至少一个真值对象的比较,确定至少一个候选对象的序列;以及从序列中选择正样本和负样本。
[0097]
根据本公开的一个示例性实现方式,确定至少一个候选对象的序列包括:基于至少一个候选对象的特征和至少一个真值对象的真值特征的比较,从至少一个候选对象中选择与至少一个真值对象相类似的相似候选对象;利用相似候选对象的特征确定特征中心;以及基于至少一个候选对象的特征与特征中心之间的距离,确定至少一个候选特征对象的序列。
[0098]
根据本公开的一个示例性实现方式,确定至少一个候选对象的特征与特征中心之间的距离包括:基于最优传输策略来确定距离。
[0099]
根据本公开的一个示例性实现方式,从序列中选择正样本包括:从序列的端部选择第一数量的候选对象以作为正样本。
[0100]
根据本公开的一个示例性实现方式,从序列中选择负样本包括:从序列中的第一数量的候选对象之后的其他候选对象中,选择第二数量的候选对象以作为负样本。
[0101]
根据本公开的一个示例性实现方式,选择第二数量的候选对象以作为负样本包括:从其他候选对象中的与第一数量的候选对象相邻的候选对象中,选择第二数量的候选对象以作为负样本。
[0102]
根据本公开的一个示例性实现方式,图像包括被标注的至少一个真值对象,并图像进一步包括至少一个未被标注的对象。
[0103]
根据本公开的一个示例性实现方式,该方法900进一步包括:向机器学习模型输入待处理图像;利用定位评分模型确定待处理图像中的至少一个候选对象的定位评分;利用分类评分模型确定待处理图像中的至少一个候选对象的分类评分;以及基于定位评分和分类评分的几何平均,确定待处理图像中的至少一个候选对象的最终评分。
[0104]
根据本公开的一个示例性实现方式,待处理图像包括至少一个未标注对象,在用于训练机器学习模型的图像中的已标注的真值对象中不包括至少一个未标注对象。
[0105]
根据本公开的一个示例性实现方式,该方法900进一步包括以下至少任一项:利用掩膜模型确定待处理图像中的至少一个候选对象的区域;利用包围盒模型确定待处理图像中的至少一个候选对象的包围盒。
[0106]
示例装置和设备
[0107]
图10示出了根据本公开的一些实现方式的用于利用机器学习模型来处理图像的装置1000的框图。机器学习模型用于从图像中识别至少一个候选对象,机器学习模型包括:特征提取模型,用于描述图像与至少一个候选对象的特征之间的关联关系;以及分类评分模型,用于描述至少一个候选对象的特征与至少一个候选对象的分类评分之间的关联关系,分类评分表示至少一个候选对象被分类为图像中的前景的概率。
[0108]
该装置1000包括:确定模块1010,被配置用于基于至少一个候选对象的分类评分与图像中的至少一个真值对象的真值分类评分,确定与分类评分模型相关联的更新参数;更新模块1020,被配置用于基于与分类评分模型相关联的更新参数,更新分类评分模型;以及阻止模块1030,被配置用于阻止利用与分类评分模型相关联的更新参数来更新特征提取模型。
[0109]
根据本公开的一个示例性实现方式,机器学习模型进一步包括定位评分模型,定
位评分模型描述至少一个候选对象的特征与至少一个候选对象的定位评分之间的关联关系,定位评分表示至少一个候选对象的定位与至少一个真值对象的真值定位之间的差异,以及装置进一步包括:基于定位评分的确定模块,被配置用于基于至少一个候选对象的定位与至少一个真值对象的真值定位,确定与定位评分模型相关联的更新参数;以及更新模块1020进一步被配置用于基于与定位评分模型相关联的更新参数,更新特征提取模型。
[0110]
根据本公开的一个示例性实现方式,机器学习模型进一步包括掩膜模型,掩膜模型描述至少一个候选对象的特征与至少一个候选对象的区域之间的关联关系,以及装置进一步包括:基于掩膜的确定模块,被配置用于基于至少一个候选对象的区域与至少一个真值对象的真值区域,确定与掩膜模型相关联的更新参数;以及更新模块1020进一步被配置用于利用与掩膜模型相关联的更新参数,更新特征提取模型。
[0111]
根据本公开的一个示例性实现方式,机器学习模型进一步包括包围盒模型,包围盒模型描述至少一个候选对象的特征与至少一个候选对象在图像中的包围盒之间的关联关系,以及装置进一步包括:基于包围盒的确定模块,被配置用于基于至少一个候选对象的包围盒与至少一个真值对象的真值包围盒,确定与包围盒模型相关联的更新参数;以及更新模块1020进一步被配置用于基于与包围盒模型相关联的更新参数,更新特征提取模型。
[0112]
根据本公开的一个示例性实现方式,机器学习模型进一步包括对比学习模型,以及装置进一步包括:选择模块,被配置用于从至少一个候选对象中选择用于对比学习的正样本和负样本;基于对比学习的确定模块,被配置用于利用正样本和负样本,确定与对比学习模型相关联的更新参数;以及更新模块1020进一步被配置用于利用与对比学习模型相关联的更新参数,更新特征提取模型。
[0113]
根据本公开的一个示例性实现方式,选择模块包括:序列确定模块,被配置用于基于至少一个候选对象和至少一个真值对象的比较,确定至少一个候选对象的序列;以及样本选择模块,被配置用于从序列中选择正样本和负样本。
[0114]
根据本公开的一个示例性实现方式,序列确定模块包括:相似对象选择模块,被配置用于基于至少一个候选对象的特征和至少一个真值对象的真值特征的比较,从至少一个候选对象中选择与至少一个真值对象相类似的相似候选对象;中心确定模块,被配置用于利用相似候选对象的特征确定特征中心;以及排序模块,被配置用于基于至少一个候选对象的特征与特征中心之间的距离,确定至少一个候选特征对象的序列。
[0115]
根据本公开的一个示例性实现方式,排序模块进一步配置用于:基于最优传输策略来确定距离。
[0116]
根据本公开的一个示例性实现方式,样本选择模块包括:从序列的端部选择第一数量的候选对象以作为正样本。
[0117]
根据本公开的一个示例性实现方式,样本选择模块包括:从序列中的第一数量的候选对象之后的其他候选对象中,选择第二数量的候选对象以作为负样本。
[0118]
根据本公开的一个示例性实现方式,样本选择模块包括:从其他候选对象中的与第一数量的候选对象相邻的候选对象中,选择第二数量的候选对象以作为负样本。
[0119]
根据本公开的一个示例性实现方式,图像包括被标注的至少一个真值对象,并图像进一步包括至少一个未被标注的对象。
[0120]
根据本公开的一个示例性实现方式,该装置进一步包括:输入模块,被配置用于向
机器学习模型输入待处理图像;定位评分确定模块,被配置用于利用定位评分模型确定待处理图像中的至少一个候选对象的定位评分;分类评分确定模块,被配置用于利用分类评分模型确定待处理图像中的至少一个候选对象的分类评分;以及最终评分确定模块,被配置用于基于定位评分和分类评分的几何平均,确定待处理图像中的至少一个候选对象的最终评分。
[0121]
根据本公开的一个示例性实现方式,待处理图像包括至少一个未标注对象,在用于训练机器学习模型的图像中的已标注的真值对象中不包括至少一个未标注对象。
[0122]
根据本公开的一个示例性实现方式,该装置进一步包括以下至少任一项:掩膜确定模块,被配置用于利用掩膜模型确定待处理图像中的至少一个候选对象的区域;包围盒确定模块,被配置用于利用包围盒模型确定待处理图像中的至少一个候选对象的包围盒。
[0123]
图11示出了能够实施本公开的多个实现方式的设备1100的框图。应当理解,图11所示出的计算设备1100仅仅是示例性的,而不应当构成对本文所描述的实现方式的功能和范围的任何限制。图11所示出的计算设备1100可以用于实现如图9所示方法900。
[0124]
如图11所示,计算设备1100是通用计算设备的形式。计算设备 1100的组件可以包括但不限于一个或多个处理器或处理单元1110、存储器1120、存储设备1130、一个或多个通信单元1140、一个或多个输入设备1150以及一个或多个输出设备1160。处理单元1110可以是实际或虚拟处理器并且能够根据存储器1120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备1100的并行处理能力。
[0125]
计算设备1100通常包括多个计算机存储介质。这样的介质可以是计算设备1100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器1120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储设备1130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据 (例如用于训练的训练数据)并且可以在计算设备1100内被访问。
[0126]
计算设备1100可以进一步包括另外的可拆卸/不可拆卸、易失性/ 非易失性存储介质。尽管未在图11中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器1120可以包括计算机程序产品1125,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实现方式的各种方法或动作。
[0127]
通信单元1140实现通过通信介质与其他计算设备进行通信。附加地,计算设备1100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备1100可以使用与一个或多个其他服务器、网络个人计算机(pc) 或者另一个网络节点的逻辑连接来在联网环境中进行操作。
[0128]
输入设备1150可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备1160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备1100还可以根据需要通过通信单元1140 与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备1100交互的设备进行通信,或者与使
得计算设备1100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
[0129]
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,提供了一种计算机程序产品,其上存储有计算机程序,程序被处理器执行时实现上文描述的方法。
[0130]
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/ 或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0131]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0132]
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0133]
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0134]
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1