图像分类方法及装置转让专利

申请号 : CN202310416399.0

文献号 : CN116152577B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王芳暴宇健

申请人 : 深圳须弥云图空间科技有限公司

摘要 :

本公开涉及计算机技术领域,提供了一种图像分类方法及装置。该方法包括:获取待分类图像;将待分类图像输入到预置的图像分类模型,采用图像分类模型对待分类图像进行分类,得到分类结果,其中,图像分类模型采用训练图片、初始分类模型、第一损失函数和第二损失函数训练得到,第一损失函数根据第一任务数据构建,第一任务数据为对进行随机掩码处理后的分片执行对比学习任务的任务数据,第二损失函数根据第二任务数据构建,第二任务数据为对进行随机掩码处理后的分片输入初始分类模型执行掩码图像还原任务的任务数据。本公开的技术方案可以提高图像分类模型的图像分类的精度。

权利要求 :

1.一种图像分类方法,其特征在于,所述方法包括:

获取待分类图像;

将所述待分类图像输入到预置的图像分类模型,采用所述图像分类模型对所述待分类图像进行分类,得到分类结果,其中,所述图像分类模型采用训练图片、初始分类模型、第一损失函数和第二损失函数训练得到,所述第一损失函数根据第一任务数据构建,所述第一任务数据为对进行随机掩码处理后的分片执行对比学习任务的任务数据,所述第二损失函数根据第二任务数据构建,所述第二任务数据为对进行随机掩码处理后的所述分片输入所述初始分类模型执行掩码图像还原任务的任务数据,所述分片为对所述训练图片进行分片处理得到的;

所述图像分类模型的训练方法包括:

根据正样本在两次掩码后的向量的第一相似度数据以及所述正样本和对应的负样本的向量的第二相似度数据构建所述第一损失函数,其中,所述正样本为在两次随机掩码处理中均被掩码的分片,所述负样本为对应的正样本之外的分片;

对解码数据进行反卷积计算,得到还原分片,其中,所述解码数据为将所述训练图片的各个分片进行随机掩码处理后输入所述初始分类模型的编码器和解码器后得到;

根据所述还原分片与所述训练图片的各个分片的向量差构建第二损失函数;

根据所述第一损失函数和所述第二损失函数对所述初始分类模型进行训练,直到所述初始分类模型收敛,得到所述图像分类模型。

2.根据权利要求1所述的方法,其特征在于,根据所述还原分片与所述训练图片的各个分片的向量差构建第二损失函数,包括:根据所述还原分片与所述训练图片的各个分片的一一对应的向量差的均值获取所述第二损失函数;

其中,所述向量差的计算方式包括以下任一种:欧几里得范数、曼哈顿距离和向量夹角的余弦值。

3.根据权利要求1所述的方法,其特征在于,根据所述正样本在两次掩码后的向量的第一相似度数据以及正样本和对应的负样本的向量的第二相似度数据构建所述第一损失函数,包括:根据所述第一相似度数据的均值的相反数和所述第二相似度数据的均值构建所述第一损失函数;

其中,所述第一相似度数据的计算方式包括以下任一种:向量内积、向量夹角的余弦值或者三元组损失值;所述第二相似度数据的计算方式包括以下任一种:向量内积、向量夹角的余弦值或者三元组损失值。

4.根据权利要求1所述的方法,其特征在于,根据所述第一损失函数和所述第二损失函数对所述初始分类模型进行训练,包括:根据所述第一损失函数和所述第二损失函数的加权和对所述初始分类模型进行训练。

5.根据权利要求1所述的方法,其特征在于,根据所述第一损失函数和所述第二损失函数的加权和对所述初始分类模型进行训练之前,所述方法还包括:对应所述第一损失函数和所述第二损失函数采用大小之比为二比一的权值获取所述加权和。

6.根据权利要求1至5任一项所述的方法,其特征在于,所述编码器采用视觉变换器的编码器,所述解码器采用变换器transformer的解码器。

7.一种图像分类装置,其特征在于,所述装置包括:

获取模块,用于获取待分类图像;

分类模块,用于将所述待分类图像输入到预置的图像分类模型,采用所述图像分类模型对所述待分类图像进行分类,得到分类结果,其中,所述图像分类模型采用训练图片、初始分类模型、第一损失函数和第二损失函数训练得到,所述第一损失函数根据第一任务数据构建,所述第一任务数据为对进行随机掩码处理后的分片执行对比学习任务的任务数据,所述第二损失函数根据第二任务数据构建,所述第二任务数据为对进行随机掩码处理后的所述分片输入所述初始分类模型执行掩码图像还原任务的任务数据,所述分片为对所述训练图片进行分片处理得到的;

所述图像分类装置还包括训练模块,用于对初始分类模型进行训练,得到图像分类模型;所述训练模块包括:第一构建子模块,用于根据正样本在两次掩码后的向量的第一相似度数据以及所述正样本和对应的负样本的向量的第二相似度数据构建所述第一损失函数,其中,所述正样本为在两次随机掩码处理中均被掩码的分片,所述负样本为对应的正样本之外的分片;

还原子模块,用于对解码数据进行反卷积计算,得到还原分片,其中,所述解码数据为将所述训练图片的各个分片进行随机掩码处理后输入所述初始分类模型的编码器和解码器后得到;

第二构建子模块,用于根据所述还原分片与所述训练图片的各个分片的向量差构建第二损失函数;

训练子模块,用于根据所述第一损失函数和所述第二损失函数对所述初始分类模型进行训练,直到所述初始分类模型收敛,得到所述图像分类模型。

8.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至

6中任一项所述方法的步骤。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述方法的步骤。

说明书 :

图像分类方法及装置

技术领域

[0001] 本公开涉及计算机技术领域,尤其涉及一种图像分类方法及装置。

背景技术

[0002] 近年来,以卷积神经网络为主要模型的图像分类模型,在很多场景中应用广泛且成效显著,但在实际使用场景下也发现了一些问题。具体地,图像分类模型在训练中出现的问题包括训练数据集的数据量不够,以及数据标注能力受限。
[0003] 以CNN(Convolutional NeuralNetwork,卷积神经网络)这一传统的图像分类模型为例,进行图像分类模型训练的工作流程中,需要人工对数据集进行预先标注,将不同图片标注在不同的类下,再基于事先标注好分类的数据进行模型训练。对于复杂的参数量较多的模型,例如,有几百万参数的模型,更是需要足够多的数据,才能训练出相对有效的模型,同时,还需要非常多的人力来对训练图片进行有效的标注,标注本身十分昂贵,且标注本身就会造成信息丢失,使得模型学到的信息有遗漏,以及,对标注好的标签进行学习时,学到数据的是通过图片的点状部分得到的,并不是图片的全部。
[0004] 图像分类模型在训练中出现的训练数据集的数据量不够,以及数据标注能力受限的问题将影响到图像分类模型的图像分类的精度,使得图像分类精度较低。

发明内容

[0005] 有鉴于此,本公开实施例提供了一种图像分类方法、装置、电子设备及计算机可读存储介质,以解决现有技术中图像分类模型的图像分类效果精度不高的技术问题。
[0006] 本公开实施例的第一方面,提供了一种图像分类方法,该方法包括:获取待分类图像;将待分类图像输入到预置的图像分类模型,采用图像分类模型对待分类图像进行分类,得到分类结果,其中,图像分类模型采用训练图片、初始分类模型、第一损失函数和第二损失函数训练得到,第一损失函数根据第一任务数据构建,第一任务数据为对进行随机掩码处理后的分片执行对比学习任务的任务数据,第二损失函数根据第二任务数据构建,第二任务数据为对进行随机掩码处理后的分片输入初始分类模型执行掩码图像还原任务的任务数据,分片为对训练图片进行分片处理得到的。
[0007] 本公开实施例的第二方面,提供了一种图像分类装置,该装置包括:获取模块,用于获取待分类图像;分类模块,用于将待分类图像输入到预置的图像分类模型,采用图像分类模型对待分类图像进行分类,得到分类结果,其中,图像分类模型采用训练图片、初始分类模型、第一损失函数和第二损失函数训练得到,第一损失函数根据第一任务数据构建,第一任务数据为对进行随机掩码处理后的分片执行对比学习任务的任务数据,第二损失函数根据第二任务数据构建,第二任务数据为对进行随机掩码处理后的分片输入初始分类模型执行掩码图像还原任务的任务数据,分片为对训练图片进行分片处理得到的。
[0008] 本公开实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
[0009] 本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
[0010] 本公开实施例与现有技术相比存在的有益效果是:通过对随机掩码处理后的分片执行对比学习任务和掩码图像还原任务构建损失函数,对初始分类模型进行训练,可以实现自监督任务训练,并充分利用无标注或弱标注数据,得到较高精度的图像分类模型,提升图像分类模型的分类精度。

附图说明

[0011] 为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0012] 图1是本公开实施例提供的一种图像分类方法的流程示意图;
[0013] 图2是本公开实施例提供的一种图像分类模型的训练方法的流程示意图;
[0014] 图3是本公开实施例提供的部分掩码对比学习任务的流程示意图;
[0015] 图4是本公开实施例提供的掩码图像还原任务的流程示意图;
[0016] 图5是本公开实施例提供的一种图像分类装置的结构示意图;
[0017] 图6是本公开实施例提供的一种电子设备的结构示意图。

具体实施方式

[0018] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
[0019] 相关技术中,受限于图像分类模型的训练数据集的数据量以及数据标注能力,图像分类模型的分类效果不佳。
[0020] 具体地,以房地产工地应用场景为例,在进行工地工作进度状态识别的图像分类模型训练过程中,首先要把不同状态的图片收集后进行状态标注,再输入初始分类模型对初始分类模型进行训练。在实际应用中,工地数量有限,可采集的图片数量受到实际环境影响,可以达到几万,但不可能达到千万级别,和开源的几千万的大数据集的数据量比较差距很大。
[0021] 进一步的,在当前经济环境下,人力资源紧张,标注工程太大会加重模型训练的成本,若缩减成本,又不能保证预训练模型的迁移效果。
[0022] 为解决以上问题,本公开实施例提供一种图像分类方案,以在小数据集下有效地利用预训练模型提升图像分类模型的分类效果。
[0023] 下面将结合附图详细说明根据本公开实施例的图像分类方法和装置。
[0024] 图1是本公开实施例提供的一种图像分类方法的流程示意图。本公开实施例提供的方法可以由任意具备计算机处理能力的电子设备执行,例如终端或服务器。如图1所示,该图像分类方法包括:
[0025] 步骤S101,获取待分类图像。
[0026] 步骤S102,将待分类图像输入到预置的图像分类模型,采用图像分类模型对待分类图像进行分类,得到分类结果,其中,图像分类模型采用训练图片、初始分类模型、第一损失函数和第二损失函数训练得到,第一损失函数根据第一任务数据构建,第一任务数据为对进行随机掩码处理后的分片执行对比学习任务的任务数据,第二损失函数根据第二任务数据构建,第二任务数据为对进行随机掩码处理后的分片输入初始分类模型执行掩码图像还原任务的任务数据,分片为对训练图片进行分片处理得到的。
[0027] 在本公开实施例的技术方案中,基于收集到的训练图片,执行对比学习任务和掩码图像还原任务两种预训练任务,无需数据标签即可以进行图像分类模型的训练。在本公开实施例中,由于训练图片可以为从互联网或其他公开数据集收集的无标签的图片,数据收集相对廉价和易得,并且无需标注,从而可以在小数据集下有效地利用预训练模型进行模型提升图像分类模型的分类效果。
[0028] 如图1所示的是本公开实施例提供的图像分类模型的应用推理过程,在图像分类模型进行应用之前,需要确定初始分类模型的框架,并对该初始分类模型进行训练,以得到图像分类模型。
[0029] 如图2所示,图像分类模型的训练方法包括以下步骤:
[0030] 步骤S201,根据正样本在两次掩码后的向量的第一相似度数据以及正样本和对应的负样本的向量的第二相似度数据构建第一损失函数,其中,正样本为在两次随机掩码处理中均被掩码的分片,负样本为对应的正样本之外的分片。
[0031] 步骤S202,对解码数据进行反卷积计算,得到还原分片,其中,解码数据为将训练图片的各个分片进行随机掩码处理后输入初始分类模型的编码器和解码器后得到。
[0032] 步骤S203,根据还原分片与训练图片的各个分片的向量差构建第二损失函数。
[0033] 步骤S204,根据第一损失函数和第二损失函数对初始分类模型进行训练,直到初始分类模型收敛,得到图像分类模型。
[0034] 具体地,在步骤S204中,循环执行步骤S201至步骤S203,直至初始分类模型收敛。初始分类模型收敛的收敛条件可以为第一损失函数和第二损失函数的加权和最小,或者加权和在一个范围内波动,或者训练次数达到一定数量。
[0035] 在确定初始分类模型的损失后,在步骤S204中,根据损失调整初始分类模型的网络参数。以上步骤S201至步骤S203,即为初始分类模型的一次调参过程,在实际训练的过程中,会根据训练图片进行多次迭代调参训练,直至初始分类模型收敛,即可得到图像分类模型。
[0036] 在本公开实施例中,步骤S201中的第一损失函数基于部分掩码对比学习任务得到。在步骤S201中,可以根据第一相似度数据的均值的相反数和第二相似度数据的均值构建第一损失函数。
[0037] 具体地,在部分掩码对比学习任务中,首先将原始的训练图片进行分片,例如,可以将训练图片分为3×3的图像片段,每一个图像片段称为一个分片。对所有分片随机进行掩盖,即进行分片后的训练图片的部分掩码。进行掩码的分片的数量占全部分片数量的比例可以为50%至60%之间,例如,该比例可以为55%,且并不局限于此。对同一张训练图片的分片进行两次随机掩码处理后,选取一个两次随机掩码处理中均被遮盖的分片作为正样本,再随机选取一个与正样本不同的训练图片的分片作为负样本。
[0038] 第一相似度数据为正样本在两次掩码后得到的不同向量的相似度值,该相似度值越大越好,即正样本在两次掩码后得到的不同向量越接近越好。第二相似度数据为正样本的向量和负样本的向量的相似度值,该相似度值越小越好,即正样本的向量和负样本的向量越远离越好。
[0039] 第一相似度数据和第二相似度数据的计算方式可以相同,也可以不同。第一相似度数据和第二相似度数据的计算方式可以为向量内积、向量夹角的余弦值或者三元组损失值中的任一种。
[0040] 以下为一种以向量内积的方式进行相似度数据计算的实例:
[0041] 第一损失函数可以为第一相似度数据的均值的相反数和第二相似度数据的均值的和。其中,第一相似度数据的均值可以用loss_same表示,第二相似度数据的均值可以用loss_diff表示。第一相似度数据的均值的相反数和第二相似度数据的均值可以分别用以下公式(1)和公式(2)表示:
[0042] (1)
[0043] (2)
[0044] 其中,n为训练图片的分片的数量,其中 , 为来自同一训练图片的不同的掩码处理结果的对应位置,i,j来自同一训练图片的不同掩码位置。
[0045] 如图3所示,根据一次随机掩码处理后的分片和二次随机掩码处理后的分片可以选取正样本4,以及负样本2,将一次随机掩码处理后的分片和二次随机掩码处理后的分片输入到初始分类模型的编码器,即视觉自注意力网络编码器,可以得到这些分片对应的向量。其中,正样本4在一次随机掩码处理结果中对应的向量为 ,正样本4在二次随机掩码处理结果中对应的向量为 ,负样本2在某次随机掩码处理结果中对应的向量为 。可见,和 分别为同一个正样本在两次随机掩码处理后的向量, 和 分别为正样本和负样本的向量。
[0046] 在本公开实施例中,步骤S203中的第二损失函数基于掩码图像还原任务得到。在步骤S203中,根据还原分片与训练图片的各个分片的一一对应的向量差的均值获取第二损失函数。
[0047] 具体地,在掩码图像还原任务中,可以将训练图片的分片进行随机掩码处理,再将所有分片展平后送入图像分类模型的编码器,得到编码数据。之后,再将编码数据输入到图像分类模型的解码器,得到该训练图片的潜在空间表征向量。这些潜在空间表征向量输入到反卷积(deCov)层后,得到同输入具有同一形状的分片。
[0048] 如图4所示,将随机掩码处理后的分片送入图像分类模型的编码器,即视觉自注意力网络编码器,可以得到各个分片的编码向量v1至v9,将编码向量送入图像分类模型的解码器,即视觉自注意力网络解码器,可以得到各个分片的解码向量v1’至v9’,将解码向量送入反卷积层,可以得到还原后的分片i1至i9。根据还原后的分片i1至i9与原始的分片0至8的一一对应的向量差,即可以得到第二损失函数。
[0049] 进一步地,还原分片与对应位置的原始的分片的向量差可以根据以下任一种计算方式得到:欧几里得范数、曼哈顿距离和向量夹角的余弦值。其中,欧几里得范数又称为L2范数。
[0050] 还原分片与对应位置的原始的分片的向量差的均值可以根据以下公式(3)计算的到:
[0051] (3)
[0052] 其中,loss_reconstruct为向量差的均值,即为第二损失函数,n为训练图片的分片的数量, 和 分别为原始的分片和对应的还原分片的向量,j为训练图片的分片的序号。
[0053] 在步骤S204中,根据第一损失函数和第二损失函数对初始分类模型进行训练时,可以根据第一损失函数和第二损失函数的加权和对初始分类模型进行训练。其中,根据第一损失函数和第二损失函数的加权和对初始分类模型进行训练之前,可以对应第一损失函数和第二损失函数采用大小之比为二比一的权值获取加权和。
[0054] 具体地,上述加权和即为训练图像分类模型的总体损失函数loss。该总体损失函数可以根据以下公式(4)计算的到:
[0055] (4)
[0056] 其中,α和β为超参数,二者比值可以为2:1,且并不局限于此。
[0057] 在本公开实施例中,编码器采用视觉变换器的编码器,解码器采用变换器transformer的解码器。
[0058] 视觉变换器可以为经典的VIT(visiontransformer,视觉变换器,解码器可以采用trnansformer结构的解码器decoder端组合而成。
[0059] 进一步地,还可以采用swin‑transformer网络结构的初始分类模型。
[0060] 本公开实施例的技术方案,不再采用传统的有监督学习的图像分类方式,而是通过对比学习的方式,将同一张训练图片扩展为多张不同角度的图片,将有监督任务转变为自监督方式,直接使用数据本身提供的监督信息来指导学习,该种方式可以摆脱强标注依赖的问题,不依赖标签进行自监督学习。从而可以有效减轻标注负担,对无标注和中等规模数据非常友好。
[0061] 进一步地,本公开实施例的技术方案结合自编码器,可以对无标注或弱标注数据加以利用,进一步提升对比学习过程效果,有效提升自监督任务训练出的预训练模型效果。
[0062] 采用本公开实施例的技术方案,可以有效利用海量无标注数据进行大规模数据、大参数量模型的训练,得到更高精度的大型预训练模型。
[0063] 根据本公开实施例的图像分类方法,通过对随机掩码处理后的分片执行对比学习任务和掩码图像还原任务构建损失函数,对初始分类模型进行训练,可以实现自监督任务训练,并充分利用无标注或弱标注数据,得到较高精度的图像分类模型,提升图像分类模型的分类精度。
[0064] 下述为本公开装置实施例,可以用于执行本公开方法实施例。下文描述的图像分类装置与上文描述的图像分类方法可相互对应参照。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
[0065] 图5是本公开实施例提供的一种图像分类装置的示意图。如图5所示,该图像分类装置包括:
[0066] 获取模块501,用于获取待分类图像。
[0067] 分类模块502,用于将待分类图像输入到预置的图像分类模型,采用图像分类模型对待分类图像进行分类,得到分类结果,其中,图像分类模型采用训练图片、初始分类模型、第一损失函数和第二损失函数训练得到,第一损失函数根据第一任务数据构建,第一任务数据为对进行随机掩码处理后的分片执行对比学习任务的任务数据,第二损失函数根据第二任务数据构建,第二任务数据为对进行随机掩码处理后的分片输入初始分类模型执行掩码图像还原任务的任务数据,分片为对训练图片进行分片处理得到的。
[0068] 在本公开实施例的技术方案中,基于收集到的训练图片,执行对比学习任务和掩码图像还原任务两种预训练任务,无需数据标签即可以进行图像分类模型的训练。在本公开实施例中,由于训练图片可以为从互联网或其他公开数据集收集的无标签的图片,数据收集相对廉价和易得,并且无需标注,从而可以在小数据集下有效地利用预训练模型进行模型提升图像分类模型的分类效果。
[0069] 在本公开实施例中,图像分类装置还可以包括训练模块,用于对初始分类模型进行训练,得到图像分类模型。该训练模块包括以下子模块:
[0070] 第一构建子模块,用于根据正样本在两次掩码后的向量的第一相似度数据以及正样本和对应的负样本的向量的第二相似度数据构建第一损失函数,其中,正样本为在两次随机掩码处理中均被掩码的分片,负样本为对应的正样本之外的分片。
[0071] 还原子模块,用于对解码数据进行反卷积计算,得到还原分片,其中,解码数据为将训练图片的各个分片进行随机掩码处理后输入初始分类模型的编码器和解码器后得到。
[0072] 第二构建子模块,用于根据还原分片与训练图片的各个分片的向量差构建第二损失函数。
[0073] 训练子模块,用于根据第一损失函数和第二损失函数对初始分类模型进行训练,直到初始分类模型收敛,得到图像分类模型。
[0074] 具体地,初始分类模型收敛的收敛条件可以为第一损失函数和第二损失函数的加权和最小,或者加权和在一个范围内波动,或者训练次数达到一定数量。
[0075] 在确定初始分类模型的损失后,训练子模块根据损失调整初始分类模型的网络参数。在实际训练的过程中,训练模块会根据训练图片进行多次迭代调参训练,直至初始分类模型收敛,即可得到图像分类模型。
[0076] 在本公开实施例中,第一损失函数基于部分掩码对比学习任务得到。具体地,可以根据第一相似度数据的均值的相反数和第二相似度数据的均值构建第一损失函数。
[0077] 具体地,在部分掩码对比学习任务中,首先将原始的训练图片进行分片,例如,可以将训练图片分为3×3的图像片段,每一个图像片段称为一个分片。对所有分片随机进行掩盖,即进行分片后的训练图片的部分掩码。进行掩码的分片的数量占全部分片数量的比例可以为50%至60%之间,例如,该比例可以为55%,且并不局限于此。对同一张训练图片的分片进行两次随机掩码处理后,选取一个两次随机掩码处理中均被遮盖的分片作为正样本,再随机选取一个与正样本不同的训练图片的分片作为负样本。
[0078] 第一相似度数据为正样本在两次掩码后得到的不同向量的相似度值,该相似度值越大越好,即正样本在两次掩码后得到的不同向量越接近越好。第二相似度数据为正样本的向量和负样本的向量的相似度值,该相似度值越小越好,即正样本的向量和负样本的向量越远离越好。
[0079] 第一相似度数据和第二相似度数据的计算方式可以相同,也可以不同。第一相似度数据和第二相似度数据的计算方式可以为向量内积、向量夹角的余弦值或者三元组损失值中的任一种。
[0080] 以下为一种以向量内积的方式进行相似度数据计算的实例:
[0081] 第一损失函数可以为第一相似度数据的均值的相反数和第二相似度数据的均值的和。其中,第一相似度数据的均值可以用loss_same表示,第二相似度数据的均值可以用loss_diff表示。第一相似度数据的均值的相反数和第二相似度数据的均值可以分别用以下公式(1)和公式(2)表示:
[0082] (1)
[0083] (2)
[0084] 其中,n为训练图片的分片的数量,其中 , 为来自同一训练图片的不同的掩码处理结果的对应位置,i,j来自同一训练图片的不同掩码位置。
[0085] 在本公开实施例中,第二损失函数基于掩码图像还原任务得到。根据还原分片与训练图片的各个分片的一一对应的向量差的均值获取第二损失函数。
[0086] 具体地,在掩码图像还原任务中,可以将训练图片的分片进行随机掩码处理,再将所有分片展平后送入图像分类模型的编码器,得到编码数据。之后,再将编码数据输入到图像分类模型的解码器,得到该训练图片的潜在空间表征向量。这些潜在空间表征向量输入到反卷积(deCov)层后,得到同输入具有同一形状的分片。
[0087] 进一步地,还原分片与对应位置的原始的分片的向量差可以根据以下任一种计算方式得到:欧几里得范数、曼哈顿距离和向量夹角的余弦值。其中,欧几里得范数又称为L2范数。
[0088] 还原分片与对应位置的原始的分片的向量差的均值可以根据以下公式(3)计算的到:
[0089] (3)
[0090] 其中,loss_reconstruct为向量差的均值,即为第二损失函数,n为训练图片的分片的数量, 和 分别为原始的分片和对应的还原分片的向量,j为训练图片的分片的序号。
[0091] 训练子模块在根据第一损失函数和第二损失函数对初始分类模型进行训练时,可以根据第一损失函数和第二损失函数的加权和对初始分类模型进行训练。其中,根据第一损失函数和第二损失函数的加权和对初始分类模型进行训练之前,可以对应第一损失函数和第二损失函数采用大小之比为二比一的权值获取加权和。
[0092] 具体地,上述加权和即为训练图像分类模型的总体损失函数loss。该总体损失函数可以根据以下公式(4)计算的到:
[0093] (4)
[0094] 其中,α和β为超参数,二者比值可以为2:1,且并不局限于此。
[0095] 在本公开实施例中,编码器采用视觉变换器的编码器,解码器采用变换器transformer的解码器。
[0096] 视觉变换器可以为经典的VIT(visiontransformer,视觉变换器,解码器可以采用trnansformer结构的解码器decoder端组合而成。
[0097] 进一步地,还可以采用swin‑transformer网络结构的初始分类模型。
[0098] 本公开实施例的技术方案,不再采用传统的有监督学习的图像分类方式,而是通过对比学习的方式,将同一张训练图片扩展为多张不同角度的图片,将有监督任务转变为自监督方式,直接使用数据本身提供的监督信息来指导学习,该种方式可以摆脱强标注依赖的问题,不依赖标签进行自监督学习。从而可以有效减轻标注负担,对无标注和中等规模数据非常友好。
[0099] 进一步地,本公开实施例的技术方案结合自编码器,可以对无标注或弱标注数据加以利用,进一步提升对比学习过程效果,有效提升自监督任务训练出的预训练模型效果。
[0100] 采用本公开实施例的技术方案,可以有效利用海量无标注数据进行大规模数据、大参数量模型的训练,得到更高精度的大型预训练模型。
[0101] 由于本公开的示例实施例的图像分类装置的各个功能模块与上述图像分类方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的图像分类方法的实施例。
[0102] 根据本公开实施例的图像分类装置,通过对随机掩码处理后的分片执行对比学习任务和掩码图像还原任务构建损失函数,对初始分类模型进行训练,可以实现自监督任务训练,并充分利用无标注或弱标注数据,得到较高精度的图像分类模型,提升图像分类模型的分类精度。
[0103] 图6是本公开实施例提供的电子设备6的示意图。如图6所示,该实施例的电子设备6包括:处理器601、存储器602以及存储在该存储器602中并且可在处理器601上运行的计算机程序603。处理器601执行计算机程序603时实现上述各个方法实施例中的步骤。或者,处理器601执行计算机程序603时实现上述各装置实施例中各模块的功能。
[0104] 电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备6可以包括但不仅限于处理器601和存储器602。本领域技术人员可以理解,图6仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者不同的部件。
[0105] 处理器601可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0106] 存储器602可以是电子设备6的内部存储单元,例如,电子设备6的硬盘或内存。存储器602也可以是电子设备6的外部存储设备,例如,电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器602还可以既包括电子设备6的内部存储单元也包括外部存储设备。存储器602用于存储计算机程序以及电子设备所需的其它程序和数据。
[0107] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0108] 集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0109] 以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。