用于图像识别的方法、设备和计算机程序产品与流程

文档序号:33203475发布日期:2023-02-07 20:08阅读:44来源:国知局
用于图像识别的方法、设备和计算机程序产品与流程

1.本公开的实施例涉及信息处理领域,并且更具体地,涉及用于图像识别的方法、设备和计算机程序产品。


背景技术:

2.近年来,深度神经网络在众多领域发挥了至关重要的作用。为了实现更好的性能,对数据的需求日益增长。而对于诸如农业等大多数领域,具有参考标签信息的数据难以获得。
3.在一些领域的应用中(诸如使用基于转换器的双向编码器表示(bert)和生成式的预训练(gpt)模型的一些应用),直接将大量的没有参考标签信息的数据用于模型的预处理,通常这种方法不能带来理想的性能,并且在其他领域不能普遍应用。为了减轻数据需求带来的负担,已经提出了诸如域自适应、自训练等多种方法。近年来,自训练方法因其较突出的性能表现而得到广泛的应用。而在自训练方法中,参考标签信息的良好表征是性能增益的一个关键因素,因此如何改进参考标签信息的生成仍是亟待解决的问题。


技术实现要素:

4.总体上,本公开的实施例提出了用于图像识别的方法、设备和计算机程序产品。
5.在第一方面,本公开的实施例提供了一种用于图像识别的方法。在该方法中,在图像识别引擎中利用高斯混合模型(gmm)来生成参考图像集中的第一参考图像的表征信息。基于第一参考图像的表征信息来生成第一参考图像的第一参考标签信息,第一参考标签信息与第一参考图像的中的第一对象的类别相关联。通过确定第一参考图像的第一参考标签信息的准确度,来更新图像识别引擎。
6.在第二方面,本公开的实施例提供了一种用于图像识别的设备。该设备包括处理器以及存储有计算机可执行指令的存储器。计算机可执行指令在被处理器执行时使得设备执行动作,动作包括:在图像识别引擎中利用高斯混合模型来生成参考图像集中的第一参考图像的表征信息;基于第一参考图像的表征信息来生成第一参考图像的第一参考标签信息,第一参考标签信息与第一参考图像的中的第一对象的类别相关联;以及通过确定第一参考图像的第一参考标签信息的准确度,来更新图像识别引擎。
7.在第三方面,本公开的实施例提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行根据第一方面的方法。
8.应当理解,发明内容部分中所描述的内容并非旨在限定本公开实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
9.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面
将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
10.图1示出了本公开的实施例可以在其中实现的示例环境;
11.图2示出了根据本公开的一个实施例的所生成的参考标签信息的分布的示意图;
12.图3示出了根据本公开的一些示例实施例的用于图像识别的方法的流程图;
13.图4a示出了根据本公开的一些实施例的图像识别引擎训练过程的示意图;
14.图4b示出了根据本公开的一些实施例的图像识别引擎重训练过程的示意图;
15.图5示出了根据本公开的一些实施例的基初始化网络的训练过程的示意图;
16.图6示出了适合实现本公开的实施例的设备的框图。
17.在所有附图中,相同或相似参考数字表示相同或相似元素。
具体实施方式
18.下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。
19.如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
20.如本文所使用的,术语“确定”涵盖各种各样的动作。例如,
[0021]“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、图像数据库或另一图像数据结构中查找)、查明等。此外,
[0022]“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的图像数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
[0023]
本文使用的术语“神经网络”可以被理解为机器学习模型。该模型能够从训练图像数据中学习到相应的输入与输出之间的关联,从而在训练完成后基于训练得到的参数值集合对给定的输入进行处理以生成对应的输出。“神经网络”有时也可以被称为“神经网络模型”、“学习网络”、“学习模型”、“网络”或“模型”等。这些术语在本文中可互换地使用。
[0024]
机器学习可以划分为三个阶段,即训练阶段、测试阶段和应用阶段(也称为推理阶段)。在训练阶段,给定的学习模型可以使用大量的训练图像数据进行训练,不断迭代和更新模型的参数集的取值,直到模型能够达到期望目标。经过训练后,机器学习模型的参数集的取值被确定。在测试阶段,可以利用测试样本对已训练的学习模型进行测试,以确定学习模型的性能。在应用阶段,可以向训练完成的学习模型应用实际的输入图像数据。学习模型可以基于训练得到的参数集来对实际的输入图像数据进行处理,以提供对应的输出。
[0025]
如上所述,近年来,自训练方法因其较突出的性能表现而得到广泛的应用。自训练方法是一种半监督学习方法,其基本思想是利用教师模型来训练学生模型。在自训练方法中,使用基于具有参考标签信息的数据集来训练的模型针对无已有标签信息的数据集生成参考标签(也称为伪标签)信息,然后使用具有参考标签信息的数据集和具有已有标签信息的数据集来对模型进行再训练。
[0026]
然而,在自训练方法中的自举过程中存在许多问题,其中之一是参考标签信息数
据中的噪声。该问题可以被视为从噪声标签中学习,并且已经提出了参考标签信息可以通过样本选择或标签平滑来进行优化等思路,但这些方法均未能带来突出的性能增益。然而,发明人注意到,在先前的研究中没有关注过数据属性。近年来,一个新的知识提取方向是将大数据集提取成小数据集,也即希望在特征空间中寻找到可以捕获数据属性的一些表征方式,这些表征方式可以包括基于数据的基。数据的基可以广义地被理解为用于在多维度上表征数据的一种表示形式。数据的基可被用于使用期望最大化(em)算法以概率方式实现数据的潜在表示。
[0027]
em算法是利用似然最大化算法来寻找隐变量模型的解决方案,而常用的高斯混合模型是一种具有特定约束的em算法。em算法通常包括两个步骤,简记为e步骤和m步骤,如下所示。利用gmm的隐变量模型可以捕获到考虑数据属性的不确定性信息。在gmm中,数据可以以分布形式被表示如下:
[0028][0029]
其中表征信息被视为k个子高斯模型(也被称为高斯基,或基)的线性叠加,并且k是基的数目,z
nk
表示第k个子高斯模型在该线性组合的权重。在gmm中,z
nk
可以在e步骤中被更新,如下所示:
[0030][0031]
继而,在m步骤中,gmm中的参数期望和方差被更新,如下所示:
[0032][0033][0034]
其中以此方式,可以实现利用gmm对数据进行表征。
[0035]
本公开提供了用于图像识别的改进的方案。在该方案中,提出了一种新的基于基变换的软参考标签信息的生成方法。可以使用质心(centroids)作为基的初始化,并且使用正交正则化从带有标签信息的图像数据中学习基。然后,基标签可以被转换为真正的硬标签,以迭代地更新模型和基。
[0036]
根据该方案,可以实现在图像识别引擎中利用高斯混合模型来对训练图像集中的参考图像进行表征。基于参考图像和高斯混合模型的初始期望信息,来生成高斯混合模型的权重信息,并且基于该初始期望信息和权重信息来生成参考图像的表征信息。基于参考图像的表征信息来生成参考图像的标签信息,该标签信息与参考图像中的对象的类别相关联。通过确定参考图像的标签信息的准确度,来更新图像识别引擎。
[0037]
利用本公开的方案,通过使用混合高斯模型来生成图像的表征信息,并且利用em算法来生成图像的参考标签信息,可以提升所生成的参考标签信息的鲁棒性和可解释性,并且可以显著改进图像识别的准确度。
[0038]
以下将参考附图来详细描述本公开的原理和示例实施方式。
[0039]
首先参考图1,图1示出了本公开的实施例可以在其中实现的示例环境。环境100包
括电子设备105,该电子设备105包括处理器110和耦合到处理器110的存储器115。存储器115存储程序(或程序指令或代码),当由处理器110执行时,该程序使设备105进行相应的操作。
[0040]
电子设备105可以由具有计算能力的任何合适的设备来实现。设备105可以是各种终端设备,例如用户终端和服务终端,包括例如移动电话、站台、平板电脑、膝上型电脑、台式机、个人数字助理(pda)、导航设备、影音播放器、数码相机、智能穿戴设备等。
[0041]
应理解,电子设备105中的元件、组件、模块或单元仅出于说明的目的而示出,并不暗示任何限制。如果需要,设备105可以包括任何其他合适的元件、组件、模块或单元。
[0042]
如图所示,存储器115存储可以识别图像135的图像识别引擎125。在该示例中,图像识别引擎125由可由处理器110执行的程序代码或指令实现。图像识别引擎125也可以以其他方式实现。例如,在一些示例实施例中,图像识别引擎125可以例如以硬件或专用电路、软件、逻辑或其任何组合来实现。在一些其他示例实施例中,图像识别引擎125的一些方面可以在硬件中实现,而图像识别引擎125的其他方面可以在可由控制器、微处理器或其他计算设备执行的固件或软件中实现。
[0043]
在本公开的各种示例实施例中,图像识别引擎125被配置为利用高斯混合模型来生成参考图像集中的第一参考图像的表征信息。并且图像识别引擎125被配置为基于第一参考图像的表征信息来生成第一参考图像的第一参考标签信息,该第一参考标签信息与第一参考图像的中的第一对象的类别相关联。图像识别引擎125被配置为通过确定第一参考图像的第一参考标签信息的准确度,来更新图像识别引擎125。以此方式,可以实现对图像的良好表征以及参考标签信息的生成,并且可以提高识别精度。
[0044]
下面结合图2来描述采用根据本公开的图像识别方案进行图像识别的一个示例实现。
[0045]
图2示出了根据本公开的一个实施例的所生成的参考标签信息的分布的示意图。为了便于讨论,将结合图1来讨论该示例实现。
[0046]
如图2所示,要进行图像识别的图像集210可以包括两类图片,可以是三张猫的图片和三张狗的图片。可以通过图像识别引擎125基于图像集210中的参考图像所生成的参考标签信息概率分布图220。在该参考标签信息概率分布图220中,虚线225示出了三个基的位置,实线230示出了参考标签信息的概率分布。
[0047]
在生成图像的表征信息的过程中,可以利用带有标签信息的参考图像来生成正交的基以用于高斯混合模型中的初始期望信息。利用em算法和简单的分类器,可以基于表征信息来针对没有标签的图像生成其参考标签信息。然后,基于其参考标签信息概率分布的方差可以从当中选择部分图像以用于与带有标签信息的图像组成新的训练数据集,其中具有较低方差的分布表示具有良好的参考标签。继而,使用不确定性感知训练过程,使用新的训练数据集来重新训练整体模型。在一些实施例中,利用全连接层作为分类器,经由分类器的输出结果为对应于该图像的参考标签信息的概率分布,该参考标签信息分布的期望可以被用作最终标签,其方差可以被用于评估不确定性。
[0048]
从图2可以看出,三个基具有不同的权重信息,因此其高度呈现差异。通过参考标签信息概率分布图220可以看出利用图像识别引擎125可以达到很好的分类效果。
[0049]
图3示出了根据本公开的一些示例实施例的用于图像识别的方法300的流程图。为
了便于讨论,将结合图1来讨论该示例实现。
[0050]
如图3所示,在框310,在图像识别引擎125中利用高斯混合模型来生成参考图像集中的第一参考图像的表征信息。在一些实施例中,可以基于第一参考图像和高斯混合模型的初始期望信息,来生成高斯混合模型的权重信息再基于初始期望信息和权重信息来生成第一参考图像的表征信息。下讨论一个具体示例。
[0051]
可以利用下面的等式(5)来生成权重信息
[0052][0053]
其中к(a,b)是评估a和b之间相似性的核函数。初始期望信息为多维度向量,并且其中多维度向量中的至少两个维度的向量是正交的。初始期望信息可以从基于带有标签的图像所训练的网络中的权重获取的,其具体生成过程将在下文结合图5进行详细讨论。在此,核函数被用于权重信息的生成,该步骤为em过程的改进。
[0054]
而后,基于初始期望信息和权重信息来生成第一参考图像的表征信息,如下所示:
[0055][0056]
其中k是子高斯模型的个数(也即,基的个数),并且g(μ,∑)为最终的分布基表征信息。
[0057]
在框320,基于第一参考图像的表征信息来生成第一参考图像的第一参考标签信息,第一参考标签信息与第一参考图像中的第一对象的类别相关联。例如,可以从第一参考图像的表征信息中采样m个数据点通过分类器f
θ
基于采样点的表征信息来生成第一参考标签信息如下所示:
[0058][0059]
在一些实施例中,分类器f
θ
可以被实现为全连接层,因其为线性变换,因此可以容易地求得期望和方差信息。
[0060]
所生成的第一参考标签信息与基是相关联的,取决于特定实现,一个参考标签信息可以对应于一个或多个基。
[0061]
在框330,通过确定第一参考图像的第一参考标签信息的准确度,来更新图像识别引擎125。例如,基于采样点的标签信息分布可以容易地计算出期望和方差。下面讨论更新过程(或者称为训练过程)中损失函数的一个示例计算过程。
[0062]
对于带有标签信息的参考图像集x
l
中的采样点,其损失可以被表示为第一参考标签信息的期望值与已有标签信息的差,如下所示:
[0063][0064]
对于不带有标签信息的参考图像集xu中的采样点,其损失可以基于方差来表示,如下所示:
[0065][0066]
因此,图像识别引擎125的预测总损失函数可以表示为:
[0067][0068]
其中如果采样点是来自具有标签信息的参考图像集中,则λ=1,否则λ=0。
[0069]
继而,可以基于该损失函数使用反向传播算法来更新分类器f
θ

[0070]
在第t次迭代时,等式(5)中的矩阵表示z
(t)
可以进一步被表示如下:
[0071]z(t)
=softmax(ψx(μ
(t-1)
)
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0072]
其中ψ被手动设置以控制权重信息分布。
[0073]
然后在em算法的m步骤中,可以基于x的加权和来更新期望信息以使其位于一个空间中。则第t次迭代的期望信息可以被表示如下:
[0074][0075]
以此过程,不断迭代,可以更新图像识别引擎125。在最终t次迭代后,可以得到最终基μk(t)、∑k(t)和分类器f
θ
的参数θk(t)。针对每个第一参考图像所生成的第一参考标签信息为一个概率分布,其可以被表示如下:
[0076][0077]
由于f
θ
为线性变化,因此的分布可以容易地被求得。
[0078]
至此,图像识别引擎125更新过程(或训练过程)结束,整个过程可以被总结为如下算法1:
[0079][0080]
根据本公开的方案,改进了em算法以对图像数据特征进行基变换。通过将神经网络用于em过程,并且通过基变换来生成数据的表征信息。该表征信息是低秩的,同时保留了不确定性信息并降低了噪声。
[0081]
接下来结合图4a和图4b来描述在自训练框架下的图像识别引擎125的示例训练过程,其中图4a示出了根据本公开的一些实施例的图像识别引擎125的训练过程的示意图,并且图4b示出了根据本公开的一些实施例的图像识别引擎125的重训练过程的示意图。为了便于讨论,将结合图1来讨论该示例过程。
[0082]
在自训练过程中,可以使用基于带有已知标签信息的图像来训练的模型,针对不带有标签信息的图像生成参考标签信息,然后使用带有已知标签信息的数据集和带有参考
标签信息的图像来对模型进行再训练。一轮图像识别引擎125的训练过程和图像识别引擎125的重训练过程组成一个训练回合,通过不断迭代这两个训练过程,最终可以得到理想的图像识别引擎125。
[0083]
在图4a和图4b所示的示例中,给定带有标签信息的参考图像集{x
l
,y
l
}和不带有标签信息的参考图像集xu,其中xu和x
l
属于同一域。如图4a所示,在给定x
l
和xu的情况下,利用em算法对基和分类器进行更新,可以针对xu中的第一参考图像生成具有不确定性信息的第一参考标签信息,以用于对图像识别引擎125进行更新的下述重训练过程。同时在此阶段基于组合损失对分类器进行训练,以减少xu中的第一参考图像的所生成的第一参考标签信息的方差,并且优化x
l
中的第一参考图像的分类精度。关于操作的具体步骤参见上述方法300,在此不再赘述。经过图4a所示的图像识别引擎125的训练过程,可以针对xu中的第二参考图像生成第二参考标签信息。现在结合图4b来描述图像识别引擎125的重训练过程。
[0084]
如图4b所示,通过经更新的图像识别引擎125,基于参考图像集中的不带有标签信息的第二参考图像,生成第二参考图像的第二参考标签信息,第二参考标签信息与第二参考图像的中的对象的类别相关联。例如,可以基于所生成的第二参考标签信息的方差来从xu中选取第二参考图像。该选取规则为从xu中选取对应于其第二参考标签信息具有较低方差的第二参考图像,并且将所选取的xu中的带有第二参考标签信息的第二参考图像与x
l
中的带有标签信息的第二参考图像组成重训练图像集。基于该重训练图像集(也即,利用第二参考图像以及第二参考图像的第二参考标签信息),经由cnn特征提取器来进一步更新图像识别引擎125。该cnn特征提取器被用于提取图像的特征(例如,基)以用于分类器的训练。cnn可以是预配置好的,或者可以不是预配置好的,本公开的实施例在此不作限制。
[0085]
图像识别引擎125的重训练过程结束后,图4a和图4b所示的一个训练回合完成。继而通过不断重复多个回合,可以得到性能理想的图像识别引擎125。通过这种全新的自学习框架,可以很好地捕捉到使用高斯混合模型的自学习过程中的不确定性。
[0086]
现在结合图5来详细讨论gmm中的初始期望信息的获取。
[0087]
图5示出了根据本公开的一些实施例的基初始化网络的训练过程的示意图。
[0088]
为了针对xu中不带有标签的第三参考图像生成第三参考标签,首先需要基于x
l
中的带有标签信息的第三参考图像以及该第三参考图像的已有标签信息,来确定高斯混合模型的初始期望信息以用于em阶段初始化,以加速模型收敛。也即,可以通过使用基于x
l
而训练的基初始化网络来获得针对x
l
的基,这些基可以被用作em阶段的高斯混合模型中的初始期望信息。应当注意,在本公开的一些实施例中,基于好的基应具有单位方差的假定,可以将高斯混合模型中的方差σk设置为单位矩阵i,因此方差σk的更新过程在模型的训练过程中可以被忽略,但本公开的实施例对此不作限制,也即方差σk的更新过程也可以被进行。
[0089]
如图5所示出的基初始化网络的训练过程主要分为两个阶段。第一阶段是用于生成基,而第二阶段是用于微调所生成的基。在第一阶段,像传统的机器学习训练过程一样训练主模型,输入图像经过主模型的处理后得到任务输出,也即可以基于输入图像和任务输出来训练主模型。在一些实施例中,可以基于参考图像集中的带有标签信息的第三参考图像以及第三参考图像的第三已有标签信息来训练主模型,第三已有标签信息与第三参考图像的中的第三对象的类别相关联。在一些实施例中,主模型包括特征提取器和分类器。例如,特征提取器可以被实现为cnn,该cnn可以预训练好的或者可以不是预训练好的,本公开
603并由cpu 601执行时,可以执行上文描述的方法300的一个或多个步骤。备选地,在其他实施例中,cpu 601也可以以其他任何适当的方式被配置以实现上述过程/方法。
[0099]
特别地,根据本公开的实施例,上文参考图1至图5描述的过程可以被实现为计算机程序产品,其可以被有形地存储在非瞬态计算机可读存储介质上,并且包括计算机可执行指令,该指令在被执行时使得设备实现根据本公开的各个方面。
[0100]
计算机可读存储介质可以是可以存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的、非穷举的例子包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0101]
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置图像数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如java、smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的程序包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0102]
这里参照根据本公开实施例的设备、方法和计算机程序产品的框图和/或流程图描述了本公开的各个方面。应当理解,框图和/或流程图的每个方框以及框图和/或流程图中各方框的组合,都可以由计算机可读程序指令实现。
[0103]
已经出于示例的目的描述了本公开的各个实施例,但是本公开并不意图限于所公开的这些实施例。在不脱离本公开实质的前提下,所有修改和变型均落入由权利要求所限定的本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1