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

图像分类模型自学习的方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:26:00


图像分类模型自学习的方法、装置、电子设备及存储介质

技术领域

本发明实施例涉及技术图像分类,尤其涉及一种图像分类模型自学习的方法、装置、电子设备及存储介质。

背景技术

现有图像分类模型大都在部署前通过大量图像数据进行训练,以期模型部署上线后,在模型不会更新的情况下,仍能保持良好的预测性能。然而,事实上在模型的训练阶段,工程师无法穷举所有的数据情况,模型部署上线后很可能面临更加复杂的图像分类情况,因此模型性能很可能在部署后出现显著的性能退化,且时间愈久,性能退化越严重。例如,预测过程中很可能出现与训练数据的样式不同的图像,使得模型在该类图像数据的预测性能降低;在实际中,甚至出现在训练过程中未曾见过的未知类,原分类模型根本无法有效预测该未知类的图像数据。因此,图像分类模型能否持续地通过得到的最新图像数据进行模型更新,对保持分类模型的性能起着关键作用。

当前解决图像分类模型性能退化的一个基本思路是在模型部署后,仍对模型进行实时更新。学术界将这一过程成为“持续学习(continual learning)”或者“终生学习(lifelong learning)”。然而,现有的学术界提出的持续学习分类模型,需要在模型预测过程后,通过人工标记等高代价的行为获得预测数据的真实类标,再基于这些新标记数据进行模型更新。这类方法需要消耗大量的人力资源,在真实的工业环境中几乎不可行。另外,现有相关模型大都只能持续学习训练集已包含的已知类的图像数据,无法对未来可能出现的未知类的图像进行分类模型学习和更新。

发明内容

本发明提供一种图像分类模型自学习的方法、装置、电子设备及存储介质以实现大大降低人工标注图像数据的成本,从而获得更具有代表性的新的、有标注的图像数据的效果。

第一方面,本发明实施例提供了一种图像分类模型自学习的方法,包括:

获取训练好的图像分类模型;

对所述图像分类模型的输出层增加输出节点;

获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;

通过所述图像分类模型分类识别所述测试图像并进行更新。

可选的,所述获取训练好的图像分类模型包括:

获取未训练的深度学习模型;

通过已标注的图像数据对所述未训练的深度学习模型进行训练以获取训练好的图像分类模型。

可选的,所述对所述图像分类模型的输出层增加输出节点包括:

通过图像构造方法生成新的图像类标;

根据所述图像类标对所述图像分类模型的输出层增加输出节点。

可选的,所述获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中包括:

获取测试图像并生成随机数;

判断所述随机数是否大于预设阈值,若是,则判断所述测试图像是否属于所述输出节点,若否,则将所述测试图像进行人工标注。

可选的,判断所述测试图像是否属于所述输出节点之后还包括:

若是,则将所述测试图像进行人工标注后输入所述图像分类模型中,若否则报告所述测试图像的分类类型。

可选的,所述通过所述图像分类模型分类识别所述测试图像并进行更新包括:

通过所述图像分类模型分类识别所述测试图像并判断是否存在未知分类;

若是,则进一步增加输出层节点并将所述测试图像进行人工标注并更新所述图像分类模型。

可选的,还包括:若否,则对所述测试图像进行图像数据增强后更新所述图像分类模型。

第二方面,本发明实施例还提供了一种图像分类模型自学习的装置,该装置包括:

模型获取模块,用于获取训练好的图像分类模型;

模型拓展模块,用于对所述图像分类模型的输出层增加输出节点;

数据输入模块,获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;

模型更新模块,用于通过所述图像分类模型分类识别所述测试图像并进行更新。

第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一所述的图像分类模型自学习的方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序包括程序指令,其特征在于,该程序指令被处理器执行时实现如上述任一所述的图像分类模型自学习的方法。

本发明实施例公开了一种图像分类模型自学习的方法、装置、电子设备及存储介质,该方法包括:获取训练好的图像分类模型;对所述图像分类模型的输出层增加输出节点;获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;通过所述图像分类模型分类识别所述测试图像并进行更新。本发明实施例提供的一种图像分类模型自学习的方法,通过对图像分类模型进行自动更新,解决了现有技术中图像分类模型在部署后很可能出现的性能退化问题,实现了基于规则和模型判断的策略大大降低了人工标注图像数据的成本,从而获得更具有代表性的新的、有标注的图像数据的效果。

附图说明

图1为本发明实施例一提供的一种图像分类模型自学习的方法流程图;

图2为本发明实施例二提供的一种图像分类模型自学习的方法流程图;

图3为本发明实施例三提供的一种图像分类模型自学习的装置的结构示意图;

图4为本发明实施例四提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。

此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一模块为第二模块,且类似地,可将第二模块称为第一模块。第一模块和第二模块两者都是模块,但其不是同一模块。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

实施例一

图1为本发明实施例一提供的一种图像分类模型自学习的方法的流程图,本发明实施例提供的一种图像分类模型自学习的方法适用于对图像分类模型更新的情况,具体地,本发明实施例一提供的一种图像分类模型自学习的方法包括:

步骤100、获取训练好的图像分类模型。

在本实施例中,获取训练好的图像分类模型包括:获取未训练的深度学习模型;通过已标注的图像数据对所述未训练的深度学习模型进行训练以获取训练好的图像分类模型。可以根据实际情况选择未训练的深度学习模型,例如卷积神经网络模型、深度信任网络模型等等,通过将多数已标注的图像数据训练神经网络得到图像分类模型,此时图像分类模型中模型输出层节点数等于已知类的个数,示例性的,该已知类包括:猫、狗、汽车等等看,输入的图像通过识别后准确分类为已知类中的一种。

步骤110、对所述图像分类模型的输出层增加输出节点。

在本实施例中,对所述图像分类模型的输出层增加输出节点包括:通过图像构造方法生成新的图像类标;根据所述图像类标对所述图像分类模型的输出层增加输出节点。具体地,在步骤100中训练得到的深度网络的输出层增加一个节点,得到微调后的图像分类模型,即:微调后的网络输出层节点个数=已知类标个数+1。一般地,我们可以将该额外节点的类标设置为“None”,代表分类模型无法有效预测的图像类标的情况。该节点对标模型部署后接受到的图像数据的“新添类”。在本实施例中,图像构造方法有两种,第一种为随机选择部分训练数据,向这些数据注入非零均值且协方差的迹很大的高斯噪声,使得变化后的图像与原始图像有很大的差别。具体地,令X表示一张的原图像,μ和S分别表示高斯分布的均值和方差,新的图像X

其中μ≠0且∑S

第二种方法是,随机生成的一些高斯噪声图像,即

其中μ和S可以随机设定,并将类标“None”赋值给这些生成数据。

采用数据增强技术(如图像旋转、增加或降低图像的色调等),基于X

步骤120、获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中。

在本实施例中,此时图像分类模型会不断接受到待预测的图像数据。当分类模型收到一批(一个或多个)测试数据时(数据的真实类标未知),将首先用步骤110得到的分类模型预测它们的类标。其次,模型系统将从中这批测试数据中选出小部分进行人工标注(通常不超过10%)。将来,这些人工标注的测试数据,将用于下一阶段的模型自生长过程中。

步骤130、通过所述图像分类模型分类识别所述测试图像并进行更新。

在本实施例中,基于新的有标记的数据进一步更新分类模型,得到一个能持续自生长的、可适应新环境的图像分类模型。这一过程将一直持续下去,直到没有新的测试数据的到来。若没有新的测试数据,则流程结束;否则,返回步骤120。

本实施例公开了一种图像分类模型自学习的方法,该方法包括:获取训练好的图像分类模型;对所述图像分类模型的输出层增加输出节点;获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;通过所述图像分类模型分类识别所述测试图像并进行更新。本发明实施例提供的一种图像分类模型自学习的方法,通过对图像分类模型进行自动更新,解决了现有技术中图像分类模型在部署后很可能出现的性能退化问题,实现了基于规则和模型判断的策略大大降低了人工标注图像数据的成本,从而获得更具有代表性的新的、有标注的图像数据的效果。

实施例二

图2为本发明实施例二提供的一种图像分类模型自学习的方法的流程图,本发明实施例提供的一种图像分类模型自学习的方法适用于对图像分类模型更新的情况,具体地,本发明实施例二提供的一种图像分类模型自学习的方法包括:

步骤200、获取训练好的图像分类模型。

步骤210、对所述图像分类模型的输出层增加输出节点。

步骤220、获取测试图像并生成随机数。

在本实施例中,针对每个测试数据,随机生成一个在(0,1)区间均匀分布的随机数θ。

步骤230、判断所述随机数是否大于预设阈值,若是,则判断所述测试图像是否属于所述输出节点,若否,则将所述测试图像进行人工标注。若是,则将所述测试图像进行人工标注后输入所述图像分类模型中,若否则报告所述测试图像的分类类型。

在本实施例中,判断随机数θ≥θ

判断标准可以基于简单的统计检验方法:比如,当测试数据与训练数据的一些代表数据差距大于某阈值时,分类模型拒绝对预测该测试数据的类标。判断标准也可以基于OOD(Out-Of-Distribution)算法:若OOD检测到该测试数据不同于训练数据,则选择“否”(即,将拒绝采用现有分类模型进行预测);否则,选择“是”。

上述方式可以减少人工标注的样本的数量,节约人力成本。在图2的实现过程中,整个模型测试过程,将有约10%的测试数据被随机选中,送入步骤303的判断模块,来决定是否需要请求人工标注。而其余大部分数据将基于训练好的分类模型进行类标的预测。

以抽查的方式减少人工标注成本的合理性主要体现在如下两方面。1)基于实际应用场景中通常存在大量的测试样本,即时较小阈值也可能会得到大量的需要进一步判断的情况。2)大量的测试数据的类标、数据特性等会存在很大的冗余性,因此以概率形式进行抽查可以获得较完整的新的数据特性。

若是,图像分类模型将提示用户无法有效预测该数据,同时请求进行人工标注。将人工标注数据和该测试数据组合,生成一个新的有标签的图像数据,用于之后模型进行更新。若否,则表示分类模型可以有效地预测该测试数据属于已知类中的哪一个,模型将报告预测类标。

步骤240、通过所述图像分类模型分类识别所述测试图像并判断是否存在未知分类。

在本实施例中,收到新的标记数据后,判断这批数据是否存在未知类(之前没有见过类标)。

步骤250、若是,则进一步增加输出层节点并将所述测试图像进行人工标注并更新所述图像分类模型。若否,则对所述测试图像进行图像数据增强后更新所述图像分类模型。

在本实施例中,若是,表明新标记的数据中存在未知类,则当前模型没有能力预测这种类型的数据,因此需要将这些未知类融入到分类模型的构建中。具体地,将增加当前模型输出层节点,每一个新增加的输出节点对应一个未知类,有几个未知类就在输出层增加几个节点。新增加的输出节点将通过模型的后续更新,对这些新增加的类别拥有预测能力。

若否,则说明收到的新的标记数据可以通过现有分类模型或多或少进行分类,因此可直接用于当前模型的更新。图像数据增强包括图像翻转、少量增加图像噪声、图像旋转、对比度调整等。针对新标注的数据产生更多的训练样本。本步骤中需要在保证原图像不失真的情况下,尽量增加新的训练样本(尤其是新添类样本)的数量,因此所加的数据噪声、图像翻转等指标不能过大。

本实施例公开了一种图像分类模型自学习的方法,该方法包括:获取训练好的图像分类模型;对所述图像分类模型的输出层增加输出节点;获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;通过所述图像分类模型分类识别所述测试图像并进行更新。本发明实施例提供的一种图像分类模型自学习的方法,通过对图像分类模型进行自动更新,解决了现有技术中图像分类模型在部署后很可能出现的性能退化问题,实现了基于规则和模型判断的策略大大降低了人工标注图像数据的成本,从而获得更具有代表性的新的、有标注的图像数据的效果。

实施例三

本发明实施例的图像分类模型自学习的装置可以实行本发明任意实施例所提供的图像分类模型自学习的方法,具备执行方法相应的功能模块和有益效果。图3是本发明实施例中的一种图像分类模型自学习的装置300的结构示意图。参照图3,本发明实施例提供的图像分类模型自学习的装置300具体可以包括:

模型获取模块310,用于获取训练好的图像分类模型;

模型拓展模块320,用于对所述图像分类模型的输出层增加输出节点;

数据输入模块330,获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;

模型更新模块340,用于通过所述图像分类模型分类识别所述测试图像并进行更新。

可选的,所述获取训练好的图像分类模型包括:

获取未训练的深度学习模型;

通过已标注的图像数据对所述未训练的深度学习模型进行训练以获取训练好的图像分类模型。

可选的,所述对所述图像分类模型的输出层增加输出节点包括:

通过图像构造方法生成新的图像类标;

根据所述图像类标对所述图像分类模型的输出层增加输出节点。

可选的,所述获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中包括:

获取测试图像并生成随机数;

判断所述随机数是否大于预设阈值,若是,则判断所述测试图像是否属于所述输出节点,若否,则将所述测试图像进行人工标注。

可选的,判断所述测试图像是否属于所述输出节点之后还包括:

若是,则将所述测试图像进行人工标注后输入所述图像分类模型中,若否则报告所述测试图像的分类类型。

可选的,所述通过所述图像分类模型分类识别所述测试图像并进行更新包括:

通过所述图像分类模型分类识别所述测试图像并判断是否存在未知分类;

若是,则进一步增加输出层节点并将所述测试图像进行人工标注并更新所述图像分类模型。

可选的,还包括:若否,则对所述测试图像进行图像数据增强后更新所述图像分类模型。

本实施例公开了一种图像分类模型自学习的装置,该装置包括:模型获取模块,用于获取训练好的图像分类模型;模型拓展模块,用于对所述图像分类模型的输出层增加输出节点;数据输入模块,获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;模型更新模块,用于通过所述图像分类模型分类识别所述测试图像并进行更新。本发明实施例提供的一种图像分类模型自学习的方法,通过对图像分类模型进行自动更新,解决了现有技术中图像分类模型在部署后很可能出现的性能退化问题,实现了基于规则和模型判断的策略大大降低了人工标注图像数据的成本,从而获得更具有代表性的新的、有标注的图像数据的效果。

实施例四

图4为本发明实施例提供的一种电子设备的结构示意图,如图4所示,该设备包括存储器410、处理器420,设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;服务器中的存储器410、处理器420可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的图像分类模型自学习的方法对应的程序指令/模块(例如,一种图像分类模型自学习的装置300中模型获取模块310、模型拓展模块320、数据输入模块330、模型更新模块340)处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行服务器/终端/服务器的各种功能应用以及数据处理,即实现上述的图像分类模型自学习的方法。

其中,处理器420用于运行存储在存储器410中的计算机程序,实现如下步骤:

获取训练好的图像分类模型;

对所述图像分类模型的输出层增加输出节点;

获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;

通过所述图像分类模型分类识别所述测试图像并进行更新。

在其中一个实施例中,本发明实施例所提供的一种电子设备,其计算机程序不限于如上的方法操作,还可以执行本发明任意实施例所提供的图像分类模型自学习的方法中的相关操作。

存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至服务器/终端/服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本实施例公开了一种图像分类模型自学习的电子设备,用于执行以下方法:获取训练好的图像分类模型;对所述图像分类模型的输出层增加输出节点;获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;通过所述图像分类模型分类识别所述测试图像并进行更新。本发明实施例提供的一种图像分类模型自学习的方法,通过对图像分类模型进行自动更新,解决了现有技术中图像分类模型在部署后很可能出现的性能退化问题,实现了基于规则和模型判断的策略大大降低了人工标注图像数据的成本,从而获得更具有代表性的新的、有标注的图像数据的效果。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种图像分类模型自学习的方法,该方法包括:

获取训练好的图像分类模型;

对所述图像分类模型的输出层增加输出节点;

获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;

通过所述图像分类模型分类识别所述测试图像并进行更新。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的一种图像分类模型自学习的方法中的相关操作。

本发明实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

存储介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

本实施例公开了一种图像分类模型自学习的存储介质,用于执行以下方法:获取训练好的图像分类模型;对所述图像分类模型的输出层增加输出节点;获取测试图像并判断是否属于所述输出节点后按预设规则输入所述图像分类模型中;通过所述图像分类模型分类识别所述测试图像并进行更新。本发明实施例提供的一种图像分类模型自学习的方法,通过对图像分类模型进行自动更新,解决了现有技术中图像分类模型在部署后很可能出现的性能退化问题,实现了基于规则和模型判断的策略大大降低了人工标注图像数据的成本,从而获得更具有代表性的新的、有标注的图像数据的效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

相关技术
  • 图像分类模型自学习的方法、装置、电子设备及存储介质
  • 图像分类模型的训练方法、装置、电子设备以及存储介质
技术分类

06120112922501