CN116152542A - 图像分类模型的训练方法、装置、设备及存储介质 - Google Patents
图像分类模型的训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116152542A CN116152542A CN202211232813.4A CN202211232813A CN116152542A CN 116152542 A CN116152542 A CN 116152542A CN 202211232813 A CN202211232813 A CN 202211232813A CN 116152542 A CN116152542 A CN 116152542A
- Authority
- CN
- China
- Prior art keywords
- image
- classification model
- sub
- module
- image classification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013145 classification model Methods 0.000 title claims abstract description 527
- 238000012549 training Methods 0.000 title claims abstract description 156
- 238000000034 method Methods 0.000 title claims abstract description 114
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 116
- 238000011282 treatment Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims description 143
- 230000004913 activation Effects 0.000 claims description 123
- 230000006870 function Effects 0.000 claims description 65
- 230000008014 freezing Effects 0.000 claims description 45
- 238000007710 freezing Methods 0.000 claims description 45
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000000873 masking effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 33
- 230000008569 process Effects 0.000 description 33
- 238000011176 pooling Methods 0.000 description 26
- 238000013527 convolutional neural network Methods 0.000 description 17
- 238000001914 filtration Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000010606 normalization Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005242 forging Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本说明书实施例提供了图像分类模型的训练方法、装置、设备及存储介质,图像分类模型的训练方法包括:根据第一样本图像的第一分类预测结果,对第一样本图像进行遮挡处理,得到第二样本图像;第一分类预测结果为将第一样本图像输入第一图像分类模型进行分类预测处理所得到;第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;将第二样本图像输入第一图像分类模型进行迭代训练,得到第二图像分类模型;执行N次生成中间图像分类模型的步骤,将第N次生成的中间图像分类模型确定为目标图像分类模型。以此,提高了图像分类模型的健壮性和泛用性。
Description
技术领域
本申请涉及计算机视觉计算领域,尤其涉及一种图像分类模型的训练方法、装置、设备及存储介质。
背景技术
随着电子技术的发展,图像分类的需求在高速增长中。通过训练好的图像分类模型执行图像分类任务,是一种常见的图像分类方法。一方面,对于一部分图像分类模型,例如,CNN(Convolutional Neural Network,卷积神经网络)模型,由于可调整的参数量巨大,该图像分类模型常常提取得到多个相关度很高的特征,形成冗余特征,进而导致图像分类模型的泛化性很差,对训练样本和测试样本的分类效果差异较大。另一方面,一部分图像分类模型可能过于依赖少量的显著特征,在待分类的图像受到干扰使得显著特征的提取受到影响时,该图像分类模型的预测很可能出错,健壮性较低。
发明内容
本申请实施例提供了一种图像分类模型的训练方法、装置、设备及存储介质,以提高图像分类模型的健壮性和泛用性。
第一方面,本申请实施例提供了一种图像分类模型的训练方法,包括:
根据第一样本图像的第一分类预测结果,对所述第一样本图像进行遮挡处理,得到第二样本图像;所述第一分类预测结果为将所述第一样本图像输入第一图像分类模型进行分类预测处理所得到;所述第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;
将所述第二样本图像输入所述第一图像分类模型进行迭代训练,得到第二图像分类模型;
执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;
其中,执行第i次生成中间图像分类模型的步骤包括:对所述第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将所述第一样本图像输入所述第三图像分类模型对进行分类预测处理,得到所述第一样本图像的第二分类预测结果;根据所述第二分类预测结果,在第i子模块输出的特征图组中,确定所述特征图组对应的待遮挡区域;将所述第一样本图像输入所述第三图像分类模型,以基于所述待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
第二方面,本申请实施例提供了一种图像分类方法,包括:
获取待分类的目标图像;
将所述目标图像输入图像分类模型进行分类预测处理,得到所述目标图像的分类预测结果;所述图像分类模型通过如第一方面所述的图像分类模型的训练方法训练得到。
第三方面,本申请实施例提供了一种图像分类模型的训练装置,包括:
遮挡单元,用于根据第一样本图像的第一分类预测结果,对所述第一样本图像进行遮挡处理,得到第二样本图像;所述第一分类预测结果为将所述第一样本图像输入第一图像分类模型进行分类预测处理所得到;所述第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;
训练单元,用于将所述第二样本图像输入所述第一图像分类模型进行迭代训练,得到第二图像分类模型;
生成单元,用于执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;其中,执行第i次生成中间图像分类模型的步骤包括:对所述第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将所述第一样本图像输入所述第三图像分类模型对进行分类预测处理,得到所述第一样本图像的第二分类预测结果;根据所述第二分类预测结果,在第i子模块输出的特征图组中,确定所述特征图组对应的待遮挡区域;将所述第一样本图像输入所述第三图像分类模型,以基于所述待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
第四方面,本申请实施例提供了一种图像分类装置,包括:
获取单元,用于获取待分类的目标图像;
分类单元,用于将所述目标图像输入图像分类模型进行分类预测处理,得到所述目标图像的分类预测结果;所述图像分类模型通过如第二方面所述的图像分类模型的训练方法训练得到。
第五方面,本申请实施例提供了一种电子设备,包括:处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行如第一方面所述的图像分类模型的训练方法,或者,如第二方面所述的图像分类方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现如第一方面所述的图像分类模型的训练方法,或者,如第二方面所述的图像分类方法。
可以看出,在本申请实施例中,首先,根据第一样本图像的第一分类预测结果,对第一样本图像进行遮挡处理,得到第二样本图像;第一分类预测结果为将第一样本图像输入第一图像分类模型进行分类预测处理所得到;第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;其次,将第二样本图像输入第一图像分类模型进行迭代训练,得到第二图像分类模型;然后,执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;其中,执行第i次生成中间图像分类模型的步骤包括:对第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第i子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。以此,根据第一样本图像的第一分类预测结果对第一样本图像进行遮挡,可以遮挡掉第一样本图像中的显著特征,迫使第一图像分类模型中的各个子模块挖掘该显著特征之外的次要特征,以及,通过执行N-1次生成中间图像分类模型的步骤,在执行第i次生成中间图像分类模型的步骤时对第i子模块的参数进行参数冻结处理,可以逐层固定已经训练好的第i子模块的模型参数,基于第二分类预测结果对该第i子模块输出的特征图组进行遮挡,可以遮挡掉第i子模块输出的特征图组中的显著特征,迫使位于第i子模块之后的第i+1子模块在第i子模块输出的特征图组中挖掘显著特征之外的次要特征,则在目标图像分类模型中首个子模块可以从输入目标图像分类模型的图像中挖掘出丰富的特征,以及,除首个子模块外的各个子模块均可以从前一个子模块输出的特征图组中挖掘出丰富的特征,提高了目标图像分类模型整体的特征挖掘性能,增强了目标图像分类模型的健壮性和泛化性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图;
图1为本申请实施例提供的一种图像分类模型的训练方法的处理流程图;
图2为本申请实施例提供的一种图像分类模型的结构示意图;
图3为本申请实施例提供的一种图像分类模型的训练方法的示意图;
图4为本申请实施例提供的一种ResNet18模型的训练方法的示意图;
图5为本申请实施例提供的一种图像分类方法的处理流程图;
图6为本申请实施例提供的一种图像分类模型的训练装置示意图;
图7为本申请实施例提供的一种图像分类装置示意图;
图8为本申请实施例提供的一种电子设备的结构示意图;
具体实施方式
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请的保护范围。
实际应用中,CNN模型往往包括多个依次连接的子模块,在后的子模块的输入的特征图组为在前的子模块的输出的特征图组。一方面,在CNN模型的训练阶段,各个子模块均涉及多个待训练参数,故整个CNN模型中待训练参数的数量巨大,图像分类模型易提取得到多个相关度很高的特征,形成冗余特征,降低了CNN模型的泛化性。即便在模型训练阶段,针对训练样本取得较为准确的图像分类预测结果,在将训练样本替换为测试样本之后,图像分类预测结果可能会明显下降。另一方面,CNN模型所包括的多个子模块中,各个子模块可能依赖于少量的显著特征,若输入CNN模型的待分类的图像受到干扰,使得少量显著特征难以正常提取,则CNN模型的图像分类预测结果极可能出错,使得CNN模型的健壮性较低。为了克服上述问题,本申请实施例提供了一种图像分类模型的训练方法。
本申请提出的图像分类模型的训练方法可由电子设备执行,具体可由电子设备中的处理器执行。此处所提到的电子设备可以是终端设备,比如智能手机、平板电脑、台式电脑、智能语音交互设备、可穿戴设备、机器人以及车载终端等等;或者,电子设备还可以是服务器,比如独立的物理服务器、由多个服务器组成的服务器集群或者能够进行云计算的云服务器。
下面将通过几个实施例具体介绍本申请提出的图像分类模型的训练方法。
参照图1,为本申请实施例提供的一种图像分类模型的训练方法的处理流程图。如图1所示,本申请实施例提供的图像分类模型的训练方法具体可包括如下步骤:
步骤S102,根据第一样本图像的第一分类预测结果,对第一样本图像进行遮挡处理,得到第二样本图像;第一分类预测结果为将第一样本图像输入第一图像分类模型进行分类预测处理所得到;第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定。
第一样本图像可以是用于模型训练的一组图片。第一样本图像可以是人脸图像,可以是商标图像,也可以是汽车图像,等等,本申请实施例不对第一样本图像的数量和内容进行特殊限制。
第一图像分类模型可以用于图像分类,具体地,可以用于检测人脸图像是否是伪造的,可以用于鉴别商标真伪,可以用于识别图像中汽车的汽车型号,等等。
第二样本图像可以是显著特征被遮挡后的第一样本图像。第一样本图像中的显著特征可以基于第一分类预测结果确定。
具体实施时,可以预先将第一样本图像输入第一图像分类模型进行分类预测处理,得到第一样本图像的第一分类预测结果,进而,基于第一分类预测结果,确定第一样本图像中包含有显著特征的区域,对该区域进行遮挡处理,得到第二样本图像。
第一图像分类模型可以包括N个子模块和子模块之外的M个数据处理层。每个子模块可以包括一个或多个卷积层。每个子模块还可以包括激活函数。数据处理层可以是不包括待训练参数的模块,例如,池化层、形变(reshape)层、打乱(shuffle)层,等等。
N可以是大于1的任意自然数,M可以是大于等于0的任意自然数。
在一些第一图像分类模型的实施例中,N个子模块可以与M个数据处理层依次连接,例如,第1子模块—>第2子模块—>第3子模块—>第4子模块—>数据处理层1—>数据处理层2。
在另一些第一图像分类模型的实施例中,N个子模块与M个数据处理层的连接关系可以根据模型需求自由设置,例如,第1子模块—>数据处理层1—>第2子模块—>第3子模块—>第4子模块—>数据处理层2。
本说明书不对第一图像分类模型中N个子模块与M个数据处理层的连接关系进行特殊限制。
第一图像分类模型可以是CNN模型,也可以是其他包括N个子模块的模型。以CNN模型为例,在N个子模块中,每个子模块可以是CNN模型中的一个阶段(stage),例如,stage1仅包括第1子模块,不包括数据处理层;每个子模块也可以和一个或多个数据处理层共同构成CNN模型中的一个stage,例如,stage2包括第2子模块和池化层1。
在N个子模块中,相邻的两个子模块之间可以连接有数据处理层,例如,第i子模块的输出为数据处理层1的输入,数据处理层1的输出为第i+1子模块的输入。
相邻的两个子模块之间的数据处理层可以是池化层。常见的池化层实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。
需要强调的是,池化层不包括待训练的参数。若第i子模块的输出为池化层1的输入,池化层1的输出为第i+1子模块的输入,则池化层1可以用于对第i子模块输出的特征图组进行池化操作,并将池化后的特征图组输出至第i+1子模块。该情况下,第i+1子模块的输入由第i子模块的输出确定,可以是输入第i+1子模块的特征图组为池化后的第i子模块输出的特征图组。
在N个子模块中,相邻的两个子模块可以是依次连接的两个子模块,例如,第i子模块的输出为第i+1子模块的输入。该情况下,第i+1子模块的输入由第i子模块的输出确定,可以是输入第i+1子模块的特征图组为第i子模块输出的特征图组。
特征图组(feature maps)是神经网络提取到的特征图组成的张量(即一组特征图),通常尺寸可以用(H,W,C)表示,其中,H是高,W是宽,C是通道数。在一个特征图组中的每个特征图的宽相同,均可以用W表示,在一个特征图组中的每个特征图的高相同,均可以用H表示。且特征图的数量与通道数相同,故一个特征图组中特征图的数量共有C个。
下面可以结合图2示例性地说明第一图像分类模型的结构。图2为本申请实施例提供的一种图像分类模型的结构示意图。如图2所示的图像分类模型可以是第一图像分类模型的一种具体的实施方式。
具体地,图2所示出的图像分类模型可以是一个包括卷积层、池化层以及全连接层的CNN模型。如图2所示,55x55x96用于表示尺寸参数为H=W=55的一个特征图组,该特征图组所包括的特征图的数量为96,27x27x256、13x13x384、13x13x256的含义可参照55x55x96。
需要注意的是,输入图像(Input Image)下方的227x227x3用于表示输入图像包括尺寸参数为H=W=227的一个三通道的图像,可以等效地看作是输入图像包括尺寸参数为H=W=227的3个单通道图像。
Conv用于表示卷积层,w/max pooling用于表示池化层,则图像分类模型中的Stage202包括一个卷积层和一个池化层,Stage204包括一个卷积层和一个池化层,Stage206包括三个卷积层和1个池化层,Stage202输出的特征图组可以用55x55x96表示,该特征图组被传输至Stage204,Stage204输出的特征图组可以用27x27x256表示,该特征图组被传输至Stage206,Stage206输出的特征图组可以用13x13x256表示。Stage206的输出为全连接层208的输入,且,全连接层208的输出为全连接层210的输入,全连接层210的输出为分类层212的输入。分类层212的输出为输入图像对应的第一分类预测结果。
第一图像分类模型可以预先配置有多个预设的图像类别,则第一样本图像的第一分类预测结果可以是第一样本图像对应于该多个预设的图像类别中每个图像类别的预测概率值。该预测概率值可以通过将第一样本图像输入第一图像分类模型进行图像分类预测处理所得到。
例如,第一样本图像为商标图像,预设的图像类别包括“真实商标”、“假冒商标”以及“其他”,则第一样本图像的第一分类预测结果可以包括第一样本图像属于“真实商标”的预测概率值p1,第一样本图像属于“假冒商标”的预测概率值p2,以及,第一样本图像属于“其他”的预测概率值p3。
又例如,第一样本图像为汽车图像,预设的图像类别包括“第一种类汽车”、“第二种类汽车”……“第k种类汽车”,则第一样本图像的第一分类预测结果可以包括第一样本图像中的汽车属于“第一种类汽车”的预测概率值p1,第一样本图像中的汽车属于“第二种类汽车”的预测概率值p2……第一样本图像中的汽车属于“第k种类汽车”的预测概率值pk。
第一图像分类模型,可以通过预先对初始图像分类模型进行迭代训练所得到。
需要强调的是,在本说明书中,初始图像分类模型、第一图像分类模型、第二图像分类模型以及第三图像分类模型的结构是相同的。
示例性地,若初始图像分类模型包括N个子模块,则第一图像分类模型、第二图像分类模型以及第三图像分类模型均包括N个子模块,且各个子模块的连接关系与初始图像分类模型中各个子模块的连接关系相同。
初始图像分类模型可以包括N个子模块。初始图像分类模型与第一图像分类模型的区别点在于,初始图像分类模型中的各个子模块中的待训练参数取预先配置的初始值,而第一图像分类模型中各个子模块中的待训练参数取模型训练后得到的对应数值。
在一种具体的实现方式中,第一样本图像携带有目标分类标签;目标分类标签为多种预设分类标签中的一种;第一分类预测结果包括:多种预设分类标签中目标分类标签为每种预设分类标签的第一预测概率值;第二分类预测结果包括:多种预设分类标签中目标分类标签为每种预设分类标签的第二预测概率值。
目标分类标签可以是用于表征第一样本图像的真实分类的标签。以第一样本图像为汽车图像为例,多种预设分类标签可以包括“第一种类汽车”、“第二种类汽车”……“第k种类汽车”。在一组汽车图像中,汽车图像1中的汽车属于第四种类汽车,则汽车图像1携带有目标分类标签“第四种类汽车”;汽车图像2中的汽车属于第一种类汽车,则汽车图像2携带有目标分类标签“第一种类汽车”;汽车图像3中的汽车属于第五种类汽车,则汽车图像3携带有目标分类标签“第五种类汽车”,等等。
第一分类预测结果包括多种预设分类标签中目标分类标签为每种预设分类标签的第一预测概率值。以第一样本图像为商标图像为例,多种预设分类标签可以包括“真实商标”、“假冒商标”以及“其他”,则将商标图像输入第一图像分类模型进行分类预测处理可以得到该商标图像携带的目标分类标签为“真实商标”的第一预测概率值、该商标图像携带的目标分类标签为“假冒商标”的第一预测概率值,以及该商标图像携带的目标分类标签为“其他”的第一预测概率值。
第二分类预测结果包括多种预设分类标签中目标分类标签为每种预设分类标签的第二预测概率值。以第一样本图像为人脸图像为例,多种预设分类标签可以包括“真实人脸”、“换脸”以及“生成人脸”,则将人脸图像输入第三图像分类模型进行分类预测处理可以得到该人脸图像携带的目标分类标签为“真实人脸”的第二预测概率值、该人脸图像携带的目标分类标签为“换脸”的第二预测概率值,以及该商标图像携带的目标分类标签为“生成人脸”的第二预测概率值。
第一分类预测结果和第二预测分类结果的定义相似,但生成的方式不同。第一分类预测结果是将携带有目标分类标签的第一样本图像输入第一图像分类模型所得到;第二分类预测结果是将携带有目标分类标签的第一样本图像输入第三图像分类模型所得到。
在一种具体的实现方式中,根据第一样本图像的第一分类预测结果,对第一样本图像进行遮挡处理,得到第二样本图像,包括:根据目标分类标签和第一分类预测结果,确定第一样本图像中的核心特征区域;根据核心特征区域中每个像素的亮度信息值,生成噪声遮挡图像;通过噪声遮挡图像替换第一样本图像中核心特征区域对应的子图像。
第一样本图像可以包括多个像素,在第一样本图像中,每个像素可以视为一个像素点。第一样本图像中各个像素的亮度信息是已知数值,示例性地,每个像素的亮度信息可以用[0,255]范围内的任意一个自然数来表示。
第一样本图像可以是多通道图像,例如,RGB三通道图像,等效地看作第一样本图像包括三个通道中每个通道对应的样本图像。
根据目标分类标签和第一分类预测结果,确定第一样本图像中的核心特征区域,可以包括:根据目标分类标签和第一分类预测结果,生成每个通道的激活图;基于每个通道的激活图,确定第一样本图像中每个通道对应的核心特征区域。激活图是一种可以从分类模型中生成的类别响应图,分类模型可以是图像分类模型,也可以是用于对其他对象分类的分类模型。基于图像分类模型生成的激活图可以用于在图像类别标签及标注信息的基础上粗略定位到图像中具有判别性的物体区域。
激活图可以包括多个点。示例性地,激活图中各个点的响应值可以通过各个点的亮度信息确定。在激活图中的各个点的响应值,可以反映该激活图对应的输入图像中各个像素的一种特征,各个点的响应值与各个像素的该特征之间存在映射关系。
基于每个通道的激活图,确定第一样本图像中每个通道对应的核心特征区域,可以包括:对于第一样本图像的每个通道,根据激活图中的各个点的亮度信息,确定激活图中亮度信息最大的第一响应点和第一响应点之外亮度信息最大的第二响应点;基于第一响应点生成对应的第一区域;基于第二响应点生成对应的第二区域;将第一区域和第二区域的并集确定为激活图对应的核心特征区域。
在第一样本图像的通道i的激活图中,若任意一点的亮度信息的数值大于预设亮度阈值,说明该点在激活图中的位置属于强激活区域。在激活图中,亮度信息越大的点的响应值越高。通道i的激活图中各个点与第一样本图像中通道i的样本图像中各个像素可以存在位置映射关系。例如,激活图中点P1与样本图像中像素P2存在位置映射关系,P1的亮度信息的数值越大,P1的响应值越高,则与P1存在映射关系的P2是显著特征的来源的可能性更高。
对于第一样本图像的每个通道,根据激活图中的各个点的亮度信息,确定激活图中亮度信息最大的第一响应点和第一响应点之外亮度信息最大的第二响应点,可以是,对于第一样本图像的每个通道,根据激活图中的各个点的响应值,确定激活图中响应值最大的第一响应点,和第一响应点之外响应值最大的第二响应点。
基于第一响应点生成对应的第一区域,可以是以第一响应点为中心,按照预设生成规则生成第一随机区域;基于第二响应点生成对应的第二区域,可以是以第二响应点为中心,按照预设生成规则生成第二随机区域。
第一随机区域和第二随机区域的形状可以相同也可以不同。第一随机区域与第二随机区域的大小可以相同,也可以不同。
示例性地,第一随机区域和第二随机区域的形状都可以是矩形。
第一随机矩形和第二随机矩形可能存在重叠区域,也可能不存在重叠区域。
在另一种实施方式中,基于第一响应点生成对应的第一区域,也可以是在激活图中预先划分多个子区域,将第一响应点所属的子区域确定为第一区域;基于第二响应点生成对应的第二区域,也可以是在激活图中预先划分多个子区域,将第二响应点所属的子区域确定为第二区域。
将第一区域和第二区域的并集确定为激活图对应的核心特征区域,可以是将第一随机区域和第二随机区域的并集确定为激活图对应的核心特征区域;该第一随机区域和第二随机区域的并集包括第一随机区域与第二随机区域的重叠区域与非重叠区域。
在输入第一图像分类模型的第一样本图像为多通道图像的情况下,可以默认多通道图像的各个通道相互耦合,即各个通道的激活图是相似的,则只需要生成一个激活图,基于该激活图确定第一样本图像对应的核心特征区域。
在输入第一图像分类模型的第一样本图像为多通道图像的情况下,也可以交由第一图像分类模型确定通道两两之间是否耦合。
在由第一图像分类模型确定通道两两之间是否耦合的情况下,将多通道的第一样本图像输入第一图像分类模型,以生成每个通道的激活图。
示例性地,图像I可以是RGB三通道图像,其尺寸参数为(H,W,C),H用于表示图像高度,W用于表示图像宽度,C=3,用于表示图像通道数。通过针对图像I的3个通道分别计算每个通道对应的一个激活图,则总共可以获得3个(H,W,1)的激活图。
在通道两两之间耦合性是否存在交由第一图像分类模型决定的情况下,若通过第一图像分类模型确定两个通道之间是耦合的,则该两个耦合的通道的激活图中位于同一位置的像素的亮度信息相似,激活图都会响应在相似的位置,进而,基于该两个耦合的激活图确定的每个通道对应的核心特征区域的位置相似;若通过第一图像分类模型确定两个通道之间耦合程度较低,则该两个不耦合的通道的激活图中位于同一位置的像素的亮度信息存在明显差异,两者的激活图响应在不同的位置,进而,基于该两个不耦合的激活图确定的每个通道对应的核心特征区域的位置存在明显差异。
其中,位于同一位置的像素的亮度信息相似,可以是两个位于同一位置的像素的亮度信息之差小于等于预设差值阈值;两个激活图响应在相似的位置,可以是两个激活图中由最大响应点确定的响应区域之间的重合度大于预设重合度阈值;每个通道对应的核心特征区域的位置相似,可以是各个通道的激活图中的核心特征区域之间的重合度大于预设重合度阈值。
另外,在一种实施方式中,可以预先设置目标响应区域的尺寸参数和形状,进而,基于每个通道的激活图,确定第一样本图像中每个通道对应的核心特征区域,可以包括:根据激活图中各个点的亮度信息,确定第一区域;第一区域为各个点的平均亮度信息最大的目标响应区域;根据激活图中各个点的亮度信息,确定第二区域;第二区域为第一区域之外的各个点的平均亮度信息最大的目标响应区域。
根据第一样本图像每个通道的核心特征区域中每个像素的亮度信息值,可以生成每个通道对应的噪声遮挡图像。在获得每个通道对应的噪声遮挡图像之后,可以通过每个通道对应的噪声遮挡图像替换每个通道的核心特征区域对应的子图像。
在一种具体的实现方式中,根据核心特征区域中每个像素的亮度信息值,生成噪声遮挡图像,包括:根据核心特征区域中每个像素的亮度信息值,计算核心特征区域对应的亮度平均值和亮度方差;根据核心特征区域的尺寸参数、核心特征区域对应的亮度平均值和亮度方差,生成高斯噪声图像,将高斯噪声图像确定为噪声遮挡图像。
核心特征区域可以包括多个像素。对核心特征区域中每个像素的亮度信息值求平均值,可以计算得到核心特征区域对应的亮度平均值;对核心特征区域中每个像素的亮度信息值求方差,可以计算得到核心特征区域对应的亮度方差。
根据核心特征区域的尺寸参数、核心特征区域对应的亮度平均值和亮度方差,可以生成尺寸与核心特征区域相匹配的高斯噪声图像。
基于核心特征区域对应的亮度平均值和亮度方差生成高斯噪声图像,是出于如下考虑:为了将通过高斯噪声图像遮挡第一样本图像中的显著特征的技术方案扩展到通过高斯噪声遮挡特征图组中的显著特征,由于很多图像分类模型都采用归一化函数(如batchnormalization,group normalization等),这些归一化函数会考虑特征图组的均值和方差,故基于核心特征区域对应的亮度平均值和亮度方差生成高斯噪声图像,可以避免噪声对特征图组的均值和方差造成负面影响。
步骤S104,将第二样本图像输入第一图像分类模型进行迭代训练,得到第二图像分类模型。具体实施时,还可以将第一图像分类模型配置为,第1子模块的输出为正则化损失函数的输入,即通过正则化损失函数约束第1子模块输出的特征图组中的特征,其目的是为了从遮挡倍增后的特征图组中充分挖掘,获得不同的特征,减少冗余特征。
步骤S106,执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;其中,执行第i次生成中间图像分类模型的步骤包括:对第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第i子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
i可以是大于等于1且小于等于N-1的任意自然数。
当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型;当i等于N-1时,将中间图像分类模型确定为目标图像分类模型。
需要强调的是,本说明书中第一图像分类模型、第二图像分类模型、第三图像分类模型以及中间图像分类模型的结构完全一致,则第一图像分类模型、第二图像分类模型、第三图像分类模型以及中间图像分类模型中的第i子模块从结构上指的是同一子模块。
对第i子模块的参数进行参数冻结处理,可以是针对第i子模块中的待训练参数进行模型参数固定(freeze)。在对第i子模块的参数进行参数冻结处理之后,无论进行多少次训练,第i子模块中的待训练参数的数值不再发生变化。
将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果。
第一样本图像携带有目标分类标签;目标分类标签为多种预设分类标签中的一种;第二分类预测结果包括:多种预设分类标签中目标分类标签为每种预设分类标签的第二预测概率值。以第一样本图像为汽车图像为例,多种预设分类标签可以包括“第一种类汽车”、“第二种类汽车”……“第k种类汽车”。k可以为任意大于1的自然数。在一组汽车图像中,汽车图像1中的汽车属于第四种类汽车,则汽车图像1携带有目标分类标签“第四种类汽车”;汽车图像2中的汽车属于第一种类汽车,则汽车图像2携带有目标分类标签“第一种类汽车”;汽车图像3中的汽车属于第五种类汽车,则汽车图像3携带有目标分类标签“第五种类汽车”,等等。示例性地,将汽车图像2输入第三图像分类模型进行分类预测处理,可以得到该汽车图像2携带的目标分类标签为“第一种类汽车”的第二预测概率值、该汽车图像携带的目标分类标签为“第二种类汽车”的第二预测概率值……该汽车图像携带的目标分类标签为“第k种类汽车”的第二预测概率值。
第二图像分类模型可以包括N个子模块,第1子模块可以是该N个子模块中的首个子模块,第2子模块可以是按照各个子模块的连接关系,位于第1子模块之后的下一个子模块,第3子模块可以是按照各个子模块的连接关系,位于第2子模块之后的下一个子模块……第i子模块是按照各个子模块的连接关系,位于第i-1子模块之后的下一个子模块……第N子模块可以是按照各个子模块的连接关系,位于第N-1子模块之后的下一个子模块。
其中,第i子模块与第i-1子模块之间不存在一个或多个子模块,但可能存在一个或多个数据处理层。
在一种实施方式中,第i-1子模块的输出可以是第i子模块的输入;在另一种实施方式中,第i-1子模块的输出可以是数据处理层j的输入,数据处理层j的输出可以是第i子模块的输入;在又一种实施方式中,第i-1子模块的输出可以是由多个数据处理层构成的数据处理模块的输入,数据处理模块的输出可以是第i子模块的输入。j可以是任意自然数。
在步骤S104执行之后,执行第1次生成中间图像分类模型的步骤,包括:对第二图像分类模型中第1子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第1子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型;当1小于N-1时,将中间图像分类模型作为第2次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
其中,在执行对第二图像分类模型中第1子模块的参数进行参数冻结处理,得到第三图像分类模型之后,该第三图像分类模型所包括的N个子模块中,第1子模块处于参数已冻结的状态,第1子模块中的待训练参数的数值不再发生变化。在步骤“将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型”中,该第1子模块实质上并未参与迭代训练,而位于第1子模块之后的各个子模块可参与迭代训练。
在执行第1次生成中间图像分类模型的步骤之后,执行第2次生成中间图像分类模型的步骤,包括:对第二图像分类模型中第2子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第2子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型;当2小于N-1时,将中间图像分类模型作为第3次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
其中,在执行对第二图像分类模型中第2子模块的参数进行参数冻结处理,得到第三图像分类模型之后,该第三图像分类模型中,第1子模块和第2子模块均处于参数已冻结的状态,第1子模块和第2子模块中的待训练参数的数值不再发生变化。在步骤“将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型”中,该第1子模块和第2子模块实质上并未参与迭代训练,而位于第2子模块之后的各个子模块可参与迭代训练。
在执行第2次生成中间图像分类模型的步骤之后,执行第3次生成中间图像分类模型的步骤,包括:对第二图像分类模型中第3子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第3子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型;当3小于N-1时,将中间图像分类模型作为第4次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
其中,在执行对第二图像分类模型中第3子模块的参数进行参数冻结处理,得到第三图像分类模型之后,该第三图像分类模型中,第1子模块、第2子模块以及第3子模块均处于参数已冻结的状态,第1子模块、第2子模块以及第3子模块中的待训练参数的数值不再发生变化。在步骤“将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型”中,该第1子模块、第2子模块以及第3子模块实质上并未参与迭代训练,而位于第3子模块之后的各个子模块可参与迭代训练。
……
在执行第i-1次生成中间图像分类模型的步骤之后,执行第i次生成中间图像分类模型的步骤,包括:对第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第i子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
其中,在执行对第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型之后,该第三图像分类模型中,第1子模块、第2子模块……第i子模块均处于参数已冻结的状态,第1子模块、第2子模块……第i子模块中的待训练参数的数值不再发生变化。在步骤“将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型”中,该第1子模块、第2子模块……第i子模块实质上并未参与迭代训练,而位于第i子模块之后的各个子模块可参与迭代训练。
……
在执行第N-2次生成中间图像分类模型的步骤之后,执行第N-1次生成中间图像分类模型的步骤,包括:对第二图像分类模型中第N-1子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第N-1子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型,将该第N-1次生成的中间图像分类模型确定为目标图像分类模型。
其中,在执行对第二图像分类模型中第N-1子模块的参数进行参数冻结处理,得到第三图像分类模型之后,该第三图像分类模型中除第N子模块外的各个子模块均处于参数已冻结的状态,第1子模块、第2子模块……第N-1子模块中的待训练参数的数值不再发生变化。在步骤“将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型”中,该第1子模块、第2子模块……第N-1子模块实质上并未参与迭代训练,而位于第N-1子模块之后的第N子模块可参与迭代训练。
通过执行N-1次生成中间图像分类模型的步骤,其中,在执行第i次生成中间图像分类模型的步骤的过程中对第二图像分类模型中第i子模块的参数进行参数冻结处理,可以实现逐层特征挖掘:
首先,固定第二图像分类模型中的第1子模块,利用梯度激活定位第1子模块输出的特征图组中的显著特征对应的激活区域,通过掩码(mask)处理激活区域,迫使按照各个子模块的连接顺序位于第1子模块之后的第2子模块在第1子模块输出的特征图组中从除激活区域外的其他部分挖掘次要特征;其次,固定第二图像分类模型中的第2子模块,则第1子模块与第2子模块均处于参数冻结状态,利用梯度激活定位第2子模块输出的特征图组中的显著特征对应的激活区域,通过掩码处理激活区域,迫使按照各个子模块的连接顺序位于第2子模块之后的第3子模块在第2子模块输出的特征图组中从除激活区域外的其他部分挖掘次要特征……然后,固定第二图像分类模型中的第N-1子模块,则第1子模块、第2子模块……第N-1子模块均处于参数冻结状态,利用梯度激活定位第N-1子模块输出的特征图组中的显著特征对应的激活区域,通过掩码处理激活区域,迫使按照各个子模块的连接顺序位于第N-1子模块之后的第N子模块在第N-1子模块输出的特征图组中从除激活区域外的其他部分挖掘次要特征,使得第二图像分类模型中的除第1子模块外的各个子模块能够从前一层挖掘到丰富的特征。进而,在将通过如图1所示的图像分类模型的训练方法获得的目标图像分类模型用于执行图像分类任务的过程中,在待分类的图像受到干扰的情况下也能够取得较为准确的图像分类预测结果,提高了目标图像分类模型的健壮性。
示例性地,在人脸图像检测的应用场景中,可以将目标图像分类模型应用于检测人脸图像是否伪造。具体实施时,输入目标图像分类模型的人脸图像很可能会受到一些干扰,例如,人脸图像中的眼部被墨镜所遮挡,或者,人脸图像受角度和光照限制,使得左半边脸的局部区域清晰度较低,等等。目标图像分类模型可以在检测人脸图像是否伪造的过程中,不仅仅依赖于少量的显著特征,而是利用各个子模块均可以从前一层挖掘到丰富的特征的特性,得到较为准确的人脸图像是否伪造的预测结果。
随着机器学习技术的高速发展,利用深度学习技术伪造图像或视频的技术手段日渐成熟,其真实感很强,肉眼逐渐难以分辨人脸图像的真伪,给人脸图像的相关用户带来了极大的关于安全、经济以及声誉等各个方面的风险。通过目标图像分类模型准确地检测人脸图像是否伪造,可以轻易找出肉眼难以分辨的伪造人脸,降低伪造人脸图像带来的风险。
又例如,在商标图像检测的应用场景中,可以将目标图像分类模型应用于鉴别商标真伪。具体实施时,输入目标图像分类模型的商标图像很可能会受到一些干扰,例如,商标图像的拍摄距离过远,导致商标图像的清晰度较低,或者,商标图像受反光的影响局部区域不清晰,等等。目标图像分类模型可以在鉴别商标真伪的过程中,不仅仅依赖于少量的显著特征,而是利用各个子模块均可以从前一层挖掘到丰富的特征的特性,得到较为准确的鉴别商标真伪的预测结果。
再例如,在汽车图像检测的应用场景中,可以将目标图像分类模型应用于识别图像中汽车的汽车型号。具体实施时,输入目标图像分类模型的汽车图像很可能会受到一些干扰,例如,位于马路上的待识别的汽车的局部区域被其他汽车遮挡,或者,受天气影响可见度较低,导致汽车图像的拍摄效果较差,等等。目标图像分类模型可以在识别图像中汽车的汽车型号的过程中,不仅仅依赖于少量的显著特征,而是利用各个子模块均可以从前一层挖掘到丰富的特征的特性,得到较为准确的识别图像中汽车的汽车型号的预测结果。
在一种具体的实现方式中,特征图组包括每个通道的特征图;根据第二分类预测结果,在第i子模块输出的特征图组中,确定特征图组对应的待遮挡区域,包括:根据第二分类预测结果,确定特征图组中每个通道对应的核心特征区域,将特征图组中每个通道对应的核心特征区域确定为特征图组中每个通道对应的待遮挡区域。
具体实施时,第i子模块输出的特征图组可以是多通道的特征图组,特征图组所包括的特征图的数量等于通道数,即每个通道可以对应于一个特征图,进而,每个通道可以对应于一个核心特征区域。
核心特征区域可以是在对应通道的特征图中用于表示显著特征的区域。
对于多通道的特征图组,各个通道相互之间很可能是不耦合的,在该情况下,特征图组所包括的各个特征图中,核心特征区域很可能位于不同的位置。为了使下一个子模块所接收到的特征图组中显著特征处于被屏蔽的状态,迫使下一个子模块挖掘显著特征之外的次要特征,可以将每个特征图的核心特征区域分别确定为每个通道对应的待遮挡区域。
例如,特征图组包括4个特征图:x1,x2,x3,x4。x1对应于通道I1;x2对应于通道I2;x3对应于通道I3;x4对应于通道I4。根据第二分类预测结果,可以在x1中确定核心特征区域s1;根据第二分类预测结果,可以在x2中确定核心特征区域s2;根据第二分类预测结果,可以在x3中确定核心特征区域s3;根据第二分类预测结果,可以在x4中确定核心特征区域s4。将s1确定为通道I1对应的待遮挡区域;将s2确定为通道I2对应的待遮挡区域;将s3确定为通道I3对应的待遮挡区域;将s4确定为通道I4对应的待遮挡区域。
需要强调的是,第三图像分类模型所包括的子模块的数量可以很多,若仅仅对输入第三图像分类模型的第一样本图像中进行遮挡处理,则输入图像的遮挡倍增的影响会随着连接的各个子模块的数量增多而逐渐减弱。例如,在第三图像分类模型仅包括2个子模块的情况下,遮挡处理后的第一样本图像对该2个子模块的影响较大;在第三图像分类模型包括10个子模块的情况下,遮挡处理后的第一样本图像对该10个子模块中的前几个子模块的影响较大,对排序较为靠后的各个子模块的影响逐渐减弱,则排序较为靠后的各个子模块依然可能会输出冗余的特征,难以保证第三图像分类模型整体的特征提取性能。
在本实施例中,通过确定特征图组中每个通道对应的核心特征区域,将特征图组中每个通道对应的核心特征区域确定为特征图组中每个通道对应的待遮挡区域,进而在迭代训练过程中对特征图组输出的各个通道的特征图进行遮挡处理,可以实现对各个子模块输出的特征图组进行遮挡倍增,即便第三图像分类模型所包括的子模块的数量较多,也能够充分地挖掘每一个子模块的特征提取潜力,使除第1子模块外的每个子模块都能够从前一个子模块中提取得到丰富的特征。
另外,确定特征图组中每个通道对应的核心特征区域,将特征图组中每个通道对应的核心特征区域确定为特征图组中每个通道对应的待遮挡区域,则特征图组中被遮挡的区域并不是随机选取的,也不是将第i子模块输出的特征图组中各个通道的特征图中的一部分特征图遮挡掉,而是先基于梯度选择特征图组中每个通道分别对应的核心特征区域,即特征图组中的显著特征所处的局部区域,在遮挡之后,位于第i子模块之后的各个子模块难以再利用该显著特征实现图像分类结果的预测,故位于第i子模块之后的第i+1子模块被迫从该特征图组中未遮挡的其他区域挖掘次要特征。
根据第二分类预测结果,确定特征图组中每个通道对应的核心特征区域,可以是根据第二分类预测结果,生成特征图组中每个通道的激活图,基于每个通道的激活图,确定特征图组中每个通道对应的核心特征区域。
示例性地,特征图组F可以是256通道张量,其尺寸参数为(H,W,256),H用于表示张量高度,W用于表示张量宽度,256用于表示张量通道数。通过针对特征图组F的256个通道分别计算每个通道对应的一个激活图,则总共可以获得256个(H,W,1)的激活图。在获得256个激活图之后,可以基于每个通道的激活图,确定特征图组中每个通道对应的核心特征区域。
在一种具体的实现方式中,根据第二分类预测结果,确定特征图组中每个通道对应的核心特征区域,包括:在第二分类预测结果中,将与目标分类标签相匹配的第二预测概率值确定为第一概率值;在第二分类预测结果中,将第一概率值之外数值最高的第二预测概率值确定为第二概率值;根据第一概率值以及第二概率值,对特征图组中每个通道的特征图的亮度信息进行梯度计算处理,得到特征图组中每个通道对应的激活图;根据特征图组中每个通道对应的激活图,确定特征图组中每个通道对应的核心特征区域。
在第二分类预测结果中,将与目标分类标签相匹配的第二预测概率值确定为第一概率值。
例如,目标分类标签为3种预设分类标签中的一种;第二分类预测结果包括:3种预设分类标签中目标分类标签为每种预设分类标签的第二预测概率值。具体实施时,可以先获取3种预设分类标签中目标分类标签为每种预设分类标签的第二预测响应值,再对各第二预测响应值进行归一化处理,得到各第二预测响应值对应的第二预测概率值。进而,在该3个第二预测概率值中,将与目标分类标签相匹配的第二预测概率值确定为第一概率值,将该第一概率值之外数值最高的第二预测概率值确定为第二概率值。
在另一种实施方式中,第二预测概率值可以被第二预测响应值替换。即,第二分类预测结果包括多个第二预测响应值;在第二分类预测结果中,将与目标分类标签相匹配的第二预测响应值确定为第一响应值;在第二分类预测结果中,将第一响应值之外数值最高的第二预测响应值确定为第二响应值;根据第一响应值以及第二响应值,对特征图组中每个通道的特征图的亮度信息进行梯度计算处理,得到特征图组中每个通道对应的激活图;根据特征图组中每个通道对应的激活图,确定特征图组中每个通道对应的核心特征区域。
上述实施方式中,第二预测概率值与第二预测响应值的关系如下:
将第一样本图像输入第三图像分类模型进行分类预测处理,得到第一样本图像的第二分类预测结果,该第二分类预测结果可以包括多个第二预测响应值。分别对每个第二预测响应值进行归一化处理,可以得到每个第二预测响应值对应的第二预测概率值。
第二预测概率值可以是对第二预测响应值进行归一化处理后得到的概率值,因此,在第二分类预测结果包括多个第二预测响应值的实施例与第二分类预测结果包括多个第二预测概率值的实施例中,如何根据第二分类预测结果,确定特征图组中每个通道对应的核心特征区域的技术构思类似。
PG用于表示在第二分类预测结果中第一样本图像所携带的目标分类标签所对应的第二预测响应值,即第一响应值,Pmax\G用于表示在第二分类预测结果中FG之外的数值最大的第二预测响应值,即第二响应值。
根据第一响应值以及第二响应值,对特征图组中每个通道的特征图的亮度信息进行梯度计算处理,得到特征图组中每个通道对应的激活图,可以是,计算第一响应值与第二响应值之间的差值,得到第一差值|PG-Pmax\G|,再计算第一差值与特征图组中每个通道的特征图中基于每个像素的亮度信息所求得的梯度信息的乘积以获得每个通道的激活图。
例如,对于通道I1,根据第一响应值PG以及第二响应值Pmax\G,可以计算得到第一差值|PG-Pmax\G|,进而,计算第一差值|PG-Pmax\G|与通道I1的特征图中基于每个像素的亮度信息所求得的梯度信息的乘积的乘积/>以生成通道I1的激活图。
在一种具体的实现方式中,根据特征图组中每个通道对应的激活图,确定特征图组中每个通道对应的核心特征区域,包括:对于特征图组中的每个通道,根据激活图中的各个点的亮度信息,确定激活图中亮度信息最大的第一响应点和第一响应点之外亮度信息最大的第二响应点;基于第一响应点生成对应的第一区域;基于第二响应点生成对应的第二区域;将第一区域和第二区域的并集确定为激活图对应的核心特征区域。
激活图可以包括多个点。在激活图中的各个点的响应值,可以反映该激活图对应的特征图中各个像素的一种特征,各个点的响应值与各个像素的该特征之间存在映射关系。多通道的特征图组包括多个特征图,每个特征图对应于一个通道。
在特征图组的通道i的激活图中,若任意一点的亮度信息的数值大于预设亮度阈值,说明该点在激活图中的位置属于强激活区域。在激活图中,亮度信息越大的点的响应值越高。通道i的激活图中各个点与特征图组中通道i的特征图中各个像素可以存在位置映射关系。例如,激活图中点P1与样本图像中像素P2存在位置映射关系,P1的亮度信息的数值越大,P1的响应值越高,则与P1存在映射关系的P2是显著特征的来源的可能性更高。
对于特征图组中的每个通道,根据激活图中的各个点的亮度信息,确定激活图中亮度信息最大的第一响应点和第一响应点之外亮度信息最大的第二响应点,可以是,对于特征图组中的每个通道,根据激活图中的各个点的响应值,确定激活图中响应值最大的第一响应点,和第一响应点之外响应值最大的第二响应点。
基于第一响应点生成对应的第一区域,可以是以第一响应点为中心,按照预设生成规则生成第一随机区域;基于第二响应点生成对应的第二区域,可以是以第二响应点为中心,按照预设生成规则生成第二随机区域。
第一随机区域和第二随机区域的形状可以相同也可以不同。第一随机区域与第二随机区域的大小可以相同,也可以不同。
示例性地,第一随机区域和第二随机区域的形状都可以是矩形。
第一随机矩形和第二随机矩形可能存在重叠区域,也可能不存在重叠区域。
示例性地,关于第一随机区域,预设生成规则可以包括如下子规则中的一者或多者:
(1)第一随机区域的形状可以是矩形。
(2)第一随机区域的长与激活图的长之比在可以在第一预设比例范围之间,例如,10%-50%之间,第一随机区域的宽与与激活图的宽之比可以在第二预设比例范围之间,例如,20%-55%之间。第一预设比例范围与第二预设比例范围可以相同,也可以不同。
(3)第一随机区域可以以第一响应点为中心。
关于第二随机区域的预设生成规则可以参照第一随机区域,不再赘述。
预设生成规则中,第一随机区域的生成方式可以与第二随机区域相同,也可以与第二随机区域不同。
在另一种实施方式中,基于第一响应点生成对应的第一区域,也可以是在激活图中预先划分多个子区域,将第一响应点所属的子区域确定为第一区域;基于第二响应点生成对应的第二区域,也可以是在激活图中预先划分多个子区域,将第二响应点所属的子区域确定为第二区域。
将第一区域和第二区域的并集确定为激活图对应的核心特征区域,可以是将第一随机区域和第二随机区域的并集确定为激活图对应的核心特征区域;该第一随机区域和第二随机区域的并集包括第一随机区域与第二随机区域的重叠区域与非重叠区域。
在一种具体的实现方式中,第三图像分类模型中包括基于前i个子模块构建的样本生成子模型和基于后N-i个子模块构建的待训练子模型;样本生成子模型,用于基于特征图组对应的待遮挡区域,生成第三样本图像;待训练子模型,用于根据第三样本图像进行迭代训练,得到中间图像分类模型。
第三图像分类模型包括N个子模块,第1子模块可以是该N个子模块中的首个子模块,第2子模块可以是按照各个子模块的连接关系,位于第1子模块之后的下一个子模块,第3子模块可以是按照各个子模块的连接关系,位于第2子模块之后的下一个子模块……第i子模块是按照各个子模块的连接关系,位于第i-1子模块之后的下一个子模块……第N子模块可以是按照各个子模块的连接关系,位于第N-1子模块之后的下一个子模块。
在步骤“将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型”的过程中,对于已进行参数冻结处理的前i个子模块,在模型训练过程中等同于不参与模型训练,该各个已进行参数冻结处理的子模块的输入和输出之间的关系可以视为固定的。
例如,执行第1次生成中间图像分类模型的过程中,对第二图像分类模型中第1子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第i子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型。在将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型的过程中,每次训练时,第三图像分类模型的输入图像均为第一样本图像,故每次训练时,输入已进行参数冻结处理的第1子模块的输入图像保持不变,由于第1子模块已进行参数冻结处理,不会在每次训练之后调节其中的待训练参数,故每次训练时第1子模块输出的特征图组保持不变。
又例如,执行第2次生成中间图像分类模型的过程中,对第二图像分类模型中第2子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第2子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型。第2子模块的输入为第1子模块的输出。在将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型的过程中,每次训练时,第三图像分类模型的输入图像均为第一样本图像,故每次训练时,输入已进行参数冻结处理的第1子模块的输入图像保持不变,由于第1子模块已进行参数冻结处理,不会在每次训练之后调节其中的待训练参数,故每次训练时第1子模块输出的特征图组保持不变,由于第2子模块已进行参数冻结处理,不会在每次训练之后调节其中的待训练参数,每次训练时输入第2子模块的特征图组保持不变,故第2子模块输出的特征图组保持不变。
在执行第i次生成中间图像分类模型的步骤时,第三图像分类模型中可以包括基于前i个子模块构建的样本生成子模型和基于后N-i个子模块构建的待训练子模型。
在i小于N-1的情况下,样本生成子模型可以包括第1子模块、第2子模块……第i子模块。待训练子模块可以包括第i+1子模块、第i+2子模块……第N子模块。
在i等于N-1的情况下,样本生成子模型可以包括第1子模块、第2子模块……第N-1子模块。待训练子模块可以包括第N子模块。
样本生成子模型,用于基于特征图组对应的待遮挡区域,生成第三样本图像。具体地,样本生成子模型,可以用于基于第一样本图像进行卷积计算处理,得到第一样本图像对应的特征图组,再基于特征图组的每个通道对应的待遮挡区域,对该第一样本图像对应的特征图组进行遮挡处理,得到第三样本图像。
例如,在i=1的情况下,样本生成子模型可以包括第1子模块。第1子模块可以是第三图像分类模型中的首个模块,即输入第三图像分类模型的输入图像等同于输入第1子模块的输入图像。通过第1子模块可以对输入的第一样本图像进行卷积计算处理,得到与第一样本图像对应的特征图组。样本生成子模型还可以用于基于特征图组中的每个通道对应的待遮挡区域,对该特征图组中的每个特征图进行遮挡处理,得到遮挡处理后的特征图组,将该遮挡处理后的特征图组确定为第三样本图像。
又例如,在i=2的情况下,样本生成子模型可以包括第1子模块和第2子模块,第2子模块的输入为第1子模块的输出。第1子模块可以是第三图像分类模型中的首个模块,即输入第三图像分类模型的输入图像等同于输入第1子模块的输入图像。通过第1子模块可以对输入的第一样本图像进行卷积计算处理,得到与第一样本图像对应的特征图组1,通过第2子模块可以对特征图组1进行卷积计算处理,得到与特征图组1对应的特征图组2。样本生成子模型还可以用于基于特征图组2中的每个通道对应的待遮挡区域,对该特征图组2中的每个特征图进行遮挡处理,得到遮挡处理后的特征图组2,将该遮挡处理后的特征图组2确定为第三样本图像。
具体实施时,基于特征图组的每个通道对应的待遮挡区域,对该第一样本图像对应的特征图组进行遮挡处理,可以是,对于特征图组的每个通道的特征图,根据待遮挡区域中每个像素的亮度信息值,生成噪声遮挡图像;通过噪声遮挡图像替换该特征图中待遮挡区域对应的子图像。
具体实施时,根据待遮挡区域中每个像素的亮度信息值,生成噪声遮挡图像,包括:根据待遮挡区域中每个像素的亮度信息值,计算待遮挡区域对应的亮度平均值和亮度方差;根据待遮挡区域的尺寸参数、待遮挡区域对应的亮度平均值和亮度方差,生成高斯噪声图像,将高斯噪声图像确定为噪声遮挡图像。
待训练子模型,用于根据第三样本图像进行迭代训练,得到中间图像分类模型。具体地,待训练子模型,可以用于根据第三样本图像进行迭代训练,得到训练后的待训练子模块,进而可以得到中间图像分类模型,该中间图像分类模型由样本生成子模型与训练后的待训练子模块构成。
在一种具体的实现方式中,第三图像分类模型的损失函数由正则化损失函数和交叉熵损失函数确定;正则化损失函数由第i+1子模块输出的特征图组中每个通道的特征图确定;交叉熵损失函数由目标分类标签和第二分类预测结果确定。
在执行第i次生成中间图像分类模型的步骤的过程中,在第三图像分类模型中,第i子模块的参数已进行参数冻结处理,正则化损失函数由第i+1子模块输出的特征图组中每个通道的特征图确定。
示例性地,正则化损失函数公式如下:
其中,ci是通道i对应的特征图i,cj是通道j对应的特征图j,i小于j,故cj与ci的通道不同。是ci经过归一化得到的概率分布。/>是cj经过归一化得到的概率分布。通过ci求得/>的过程,以及,通过cj求得/>的过程,可以参照上述公式(2)。JSD(Jensen-Shannondivergence,JS散度),用于度量两个概率分布之间的相似度。/>和/>的数值是一样的,为了避免重复计算,采用了i<j的约束,使得计算/>的数值之后不再需要计算/>另外,特征图i和特征图i之间的计算也是不必要的。min(c)是特征图中亮度信息最低的像素,c是特征图中的每个像素,∑uvcuv用于表示特征图中每个像素的亮度信息之和。Lreg用于表示第三图像分类模型的正则化损失函数。
在包括多个待训练的子模块的图像分类模型中,例如,CNN模型,由于待训练参数的数量较多,图像分类模型经常提取出多个相关度极高的特征,形成冗余,例如,第3子模块输出特征图组3,该特征图组包括256个特征图,该256个特征图中的部分特征图相互之间的相似性很高,形成了冗余特征。冗余特征可能会导致图像分类模型在模型训练阶段,对样本的显著特征过拟合,进而导致泛化性差。即,图像分类模型在模型训练阶段正确性很好,但在进行模型测试时效果不理想。
通过基于第i+1子模块输出的特征图组中每个通道的特征图确定正则化损失函数,可以约束第i+1子模块输出的特征图组中各个特征图之间存在足够的差异,从而减少冗余特征,另外,还可以迫使第i+1子模块为了实现各个特征图之间存在足够的差异,从第i子模块中尽可能挖掘更多的有效特征。
具体实施时,在第1次执行生成中间图像分类模型的步骤的过程中,通过基于第2子模块输出的特征图组中每个通道的特征图确定正则化损失函数,可以约束第2子模块输出的特征图组中各个特征图之间存在足够的差异,从而减少冗余特征,还可以迫使第2子模块为了实现各个特征图之间存在足够的差异,从第1子模块中尽可能挖掘更多的有效特征;在第2次执行生成中间图像分类模型的步骤的过程中,通过基于第3子模块输出的特征图组中每个通道的特征图确定正则化损失函数,可以约束第3子模块输出的特征图组中各个特征图之间存在足够的差异,从而减少冗余特征,还可以迫使第3子模块为了实现各个特征图之间存在足够的差异,从第2子模块中尽可能挖掘更多的有效特征……在第N-1次执行生成中间图像分类模型的步骤的过程中,通过基于第N子模块输出的特征图组中每个通道的特征图确定正则化损失函数,可以约束第N子模块输出的特征图组中各个特征图之间存在足够的差异,从而减少冗余特征,还可以迫使第N子模块为了实现各个特征图之间存在足够的差异,从第N-1子模块中尽可能挖掘更多的有效特征,综上所述,可以在每次执行生成中间图像分类模型的步骤的过程中,利用正则化损失函数约束每一个待训练的子模块输出的各个特征图互不相同,尽可能减少冗余特征,且迫使各个子模块从前一个子模块中挖掘更多的有效特征。
进而,由于冗余特征较少,在目标图像分类模型在模型训练阶段、模型测试阶段以及将模型投入应用场景所得到预测效果的准确率几乎是一致的,可以避免掉模型训练的效果很好,一投入使用反而频繁出错的情况,提高了目标图像分类模型的泛化性。
另外,在将通过如图1所示的图像分类模型的训练方法获得的目标图像分类模型用于执行图像分类任务的过程中,各个子模块可以从前一个子模块中挖掘丰富的特征,使得目标图像分类模型在待分类的图像受到干扰的情况下也能够取得较为准确的图像分类预测结果,提高了目标图像分类模型的健壮性。
示例性地,在人脸图像检测的应用场景中,可以将目标图像分类模型应用于检测人脸图像是否伪造。具体实施时,输入目标图像分类模型的人脸图像很可能会受到一些干扰,例如,人脸图像中的眼部被墨镜所遮挡,或者,人脸图像受角度和光照限制,使得左半边脸的局部区域清晰度较低,等等。目标图像分类模型可以在检测人脸图像是否伪造的过程中,不仅仅依赖于少量的显著特征,而是利用各个子模块均可以从前一层挖掘到丰富的特征的特性,得到较为准确的人脸图像是否伪造的预测结果。
交叉熵损失函数可以参照下述公式(3):
其中,LCE用于表示交叉熵损失函数,c表示用于遍历各个预设分类标签的类别的变量,B用于表示批采样的数量,b表示用于遍历批采样的数量B的变量,用于表示对预测第b个样本的目标分类标签为c类别的预测响应值进行归一化后得到的预测概率值,ybc用于表示第b个样本的目标分类标签是否对应于类别c,若是,则ybc=1;若否,则ybc=0。
示例性地,第一样本图像包括一组多通道图像,该组多通道图像所包括的多通道图像的数量即批采样的数量。
第三图像分类模型的损失函数可以由正则化损失函数与交叉熵损失函数之和确定,也可以基于至少一个损失函数的调节系数、正则化损失函数以及交叉熵损失函数确定。
图3为本申请实施例提供的一种图像分类模型的训练方法的示意图。
下面可以结合图3,具体地说明如何执行生成中间图像分类模型的步骤。
如图3所示,(a)阶段中,按照常规方式训练初始图像分类模型直至收敛,得到第一图像分类模型。其中,初始图像分类模型的输入图像301,即图像I可以用矩形表示。每个子模块302可以用梯形表示。每个子模块输出的特征图组303可以用长方体表示。初始图像分类模型输出的分类预测结果304可以用多个圆形表示。
(b)阶段中,在进行模型训练之前,第一图像分类模型的输入图像,即图像I,可以是多通道图像,通道数可以用C表示。该多通道图像可以等同于C个输入图像。将图像I输入第一图像分类模型,得到第一分类预测结果,第一分类预测结果可以包括多个第一预测响应值。
在第一分类预测结果中,将与图像I携带的真实的分类标签相匹配的第一预测响应值确定为第三响应值;在第一分类预测结果中,将第一响应值之外数值最高的第一预测响应值确定为第四响应值;根据第三响应值以及第四响应,对图像I中每个通道的输入图像的亮度信息进行梯度计算处理,得到图像I中每个通道对应的激活图;根据图像I中每个通道对应的激活图,确定图像I中每个通道对应的核心特征区域。
上述实施方式中,第一预测概率值与第一预测响应值的关系如下:
将图像I输入第一图像分类模型进行分类预测处理,得到图像I的第一分类预测结果,该第一分类预测结果可以包括多个第一预测响应值,分别对每个第一预测响应值进行归一化处理,可以得到每个第一预测响应值对应的第一预测概率值。
第一预测概率值可以是对第一预测响应值进行归一化处理后得到的概率值,因此,第一分类预测结果包括多个第一预测响应值的实施例与第一分类预测结果包括多个第一预测概率值的实施例中,如何根据第一分类预测结果,确定图像I中每个通道对应的核心特征区域的技术构思类似。
PG用于表示在第一分类预测结果中真实的分类标签G所对应的第一预测响应值,即第三响应值,Pmax\G用于表示在第一分类预测结果中PG之外的数值最大的第一预测响应值,即第四响应值。
根据每个通道Ic对应的激活图遮挡掉图像I中响应最大的k个区域,即待遮挡区域305,填充为高斯噪声。示例性地,k的数量可以是2个。
另外,在第1子模块输出的特征图组可以添加正则化损失函数LREG,即,在每次训练过程中,基于第1子模块输出的特征图组生成正则化损失函数。
进而,基于遮挡处理后的图像I对第一图像分类模型进度迭代训练,得到第二图像分类模型。在每次训练之后,可以基于正则化损失函数LREG对下一次训练时各个未经过参数冻结处理的子模块,即第一图像分类模型中的各个子模块中的待训练参数进行调整。
(c)阶段中,对第二图像分类模型中的第1子模块的参数进行参数冻结处理,得到第三图像分类模型。对第1子模块输出的特征图组中每个特征图F计算梯度根据激活图遮挡掉每个特征图F中响应最大的k个区域,填充为高斯噪声。另外,对第2子模块输出的特征图组添加正则化损失函数。
将图像I输入第三图像分类模型,以通过第1子模块输出的遮挡处理后的特征图组,对第三图像分类模型进度迭代训练,得到中间图像分类模型,将该中间图像分类模型确定为(d)阶段的第二图像分类模型。
对第1子模块的参数进行参数冻结处理之后,可以视为以第1子模块输出的特征图组为样本,训练由第1子模块之后的各个子模块构成的子模型。
(d)阶段与(c)阶段的技术构思相似,在第二图像分类模型中的第1子模块处于参数冻结状态的情况下,继续对第2子模块的参数进行参数冻结处理,得到第三图像分类模型。对第2子模块输出的特征图组的每个特征图F计算梯度根据激活图遮挡掉响应最大的k个区域,填充为高斯噪声。另外,对第3子模块输出的特征图组添加正则化损失函数。
将图像I输入第三图像分类模型,以通过第2子模块输出的遮挡处理后的特征图组,对第三图像分类模型进度迭代训练,得到中间图像分类模型,将该中间图像分类模型确定为下一个阶段的第二图像分类模型。
在第三图像分类模型包括N个子模块的情况下,后面各个阶段可以参照(c)阶段,直至N个子模块都训练完成。
在如图1所示的实施例中,首先,根据第一样本图像的第一分类预测结果,对第一样本图像进行遮挡处理,得到第二样本图像;第一分类预测结果为将第一样本图像输入第一图像分类模型进行分类预测处理所得到;第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;其次,将第二样本图像输入第一图像分类模型进行迭代训练,得到第二图像分类模型;然后,执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;其中,执行第i次生成中间图像分类模型的步骤包括:对第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第i子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。以此,根据第一样本图像的第一分类预测结果对第一样本图像进行遮挡,可以遮挡掉第一样本图像中的显著特征,迫使第一图像分类模型中的各个子模块挖掘该显著特征之外的次要特征,以及,通过执行N-1次生成中间图像分类模型的步骤,在执行第i次生成中间图像分类模型的步骤时对第i子模块的参数进行参数冻结处理,可以逐层固定已经训练好的第i子模块的模型参数,基于第二分类预测结果对该第i子模块输出的特征图组进行遮挡,可以遮挡掉第i子模块输出的特征图组中的显著特征,迫使位于第i子模块之后的第i+1子模块在第i子模块输出的特征图组中挖掘显著特征之外的次要特征,则在目标图像分类模型中首个子模块可以从输入目标图像分类模型的图像中挖掘出丰富的特征,以及,除首个子模块外的各个子模块均可以从前一个子模块输出的特征图组中挖掘出丰富的特征,提高了目标图像分类模型整体的特征挖掘性能,增强了目标图像分类模型的健壮性和泛化性。
出于与前述的图像分类模型的训练方法实施例相同的技术构思,本申请实施例还提供了一种应用于ResNet18模型的图像分类模型的训练方法。图4为本申请实施例提供的一种ResNet18模型的训练方法的示意图。
ResNet18模型可以用于深度伪造图像检测的应用场景中。下面结合图4和深度伪造图像检测的应用场景来具体说明。
ResNet18模型是一种常见的CNN模型,可以用于判断一张人脸图像属于{真实人脸、换脸、生成人脸}中的哪一种。
其中,人脸图像属于真实人脸,指的是,人脸图像是对真人的人脸拍摄得到的未经过修改的真实人脸图像;人脸图像属于换脸,指的是,人脸图像是由至少两张图像融合得到的伪造图像,即换脸图像;人脸图像属于生成人脸,指的是,整张人脸图像是通过伪造技术手段生成的图像,即生成人脸图像。
在训练ResNet18模型之前,可以预先构建数据,具体地,可以收集大量真实人脸图像;利用多种换脸算法、API以及APP中的至少一者,制作大量换脸图像,例如,换脸算法可以是Deepfakes和faceswap;以及利用多种人脸生成算法、API以及APP中的至少一者,制作大量生成人脸图像。例如,人脸生成算法可以是stylegan2。
对上述三类图像进行预处理,利用人脸关键点检测进行人脸对齐,得到对齐后的人脸图像数据库,并记录人脸图像对应的真实类别,每张人脸图像大小为224x224x3。真值标签可以记为{真实人脸:0;换脸:1;生成人脸:2}中的一者。在“224x224x3”中,224x224用于表示人脸图像的尺寸大小,即高X宽的数值,3用于表示通道数。例如,人脸图像可以是RGB三通道的图像。
如图4所示,image用于表示输入ResNet18模型的输入图像。ResNet18模型包括依次连接的第1子模块402、池化层404、第2子模块406、第3子模块408、第4子模块410、第5子模块412、池化层414以及全连接层416。其中,第1子模块402的输出为池化层404的输入;池化层404的输出为第2子模块406的输入;第2子模块406的输出为第3子模块408的输入;第3子模块408的输出为第4子模块410的输入;第4子模块410的输出为第5子模块412的输入;第5子模块412的输出为池化层414的输入;池化层414的输出为全连接层416的输入。
如图4所示,与常见的ResNet18模型相比,图4实施例所提供的ResNet18模型的最后一层全连层(Fully Connected Layer,FC)被修改为512x3,其中,512用于表示通道数,3用于表示ResNet18模型的图像分类结果包括3个预测值,3个预测值分别对应于数据库中的3个预设的图像类别,得到3分类模型。
接着,采用ImageNet预训练的模型权重对ResNet18模型参数进行初始化,对新增的FC层的参数进行随机初始化。利用Adam优化器,采用初始学习率0.001,学习率按照余弦衰减;采用B=16的批采样(batch sampling)训练至ResNet18模型收敛。ResNet18模型收敛可以是ResNet18模型的损失函数趋于平缓,且测试集合分类正确率趋于稳定。
在对ResNet18模型参数进行初始化,以及,对新增的FC层的参数进行随机初始化之后,可以执行如下步骤:
步骤(1):步骤(1)相当于图1实施例中的步骤S102和步骤S104,可参照对应说明部分。
对一个批次的样本集合内的每个输入图像Ii,单独做如下处理:
针对输入图像Ii的C个通道分别计算激活图。
对通道c的激活图,进行3x3的均值滤波,得到平滑后的激活图。
下面对均值滤波进行具体说明:激活图中若出现相邻两个像素之间的亮度信息的差值大于等于预设阈值,说明其中一个像素的亮度信息可能有误,因此,可以采用以该两个像素中任意一者为中心确定包括3x3个像素的滤波区域,对该滤波区域中每个像素的亮度信息求平均值,基于该平均值更新该滤波区域中心的像素的亮度信息。
接下来,可以确定k个待遮挡区域,基于k个待遮挡区域生成遮挡后的输入图像。
基于k个待遮挡区域生成遮挡后的输入图像,可以是,将k个待遮挡区域的并集确定为目标遮挡区域,基于目标遮挡区域对输入图像进行遮挡处理。下面以k=2为例,举例说明基于k个待遮挡区域生成遮挡后的输入图像的具体过程:
在激活图中选取位于最大响应的位置的像素,以此为中心,随机生成一个矩形。矩形的长宽最大值为图像宽高的50%,不低于10%。矩形的长h和宽w是随机生成的:
h=randint(0.1*H,0.5*H);
w=randint(0.1*W,0.5*W);
randint()是一个可用于生成随机数的函数,括号内的两个参数可以分别用于表征可生成的随机数的最大值和最小值。
根据随机生成的矩形,对图像Ii的通道c上提取矩形区域内的值,计算均值和方差,生成高斯噪声图像,该高斯噪声图像用于替换图像Ii的通道c的矩形区域内的值。
接着,在激活图中选取位于第二大响应的位置的像素,以此为中心,随机生成一个矩形。矩形的长宽最大值为图像宽高的50%,不低于10%。矩形的长h和宽w是随机生成的:
h=randint(0.1*H,0.5*H);
w=randint(0.1*W,0.5*W);
根据随机生成的矩形,对图像Ii的通道c上提取矩形区域内的值,计算均值和方差,生成高斯噪声图像,该高斯噪声图像用于替换图像Ii的通道c的矩形区域内的值。
若第二个随机生成的矩形和第一个随机生成的矩形有重叠,则只处理不重叠的部分。均值和方差也只用不重叠的部分计算。故基于两个随机生成的矩形生成遮挡后的输入图像,该遮挡后的输入图像中,待遮挡区域为该两个随机生成的矩形的并集。
k>2的情况下,技术构思与k=2的情况类似,此处不再赘述。
在获得一个批次的样本集合内的每个输入图像Ii对应的遮挡后的输入图像之后,可以将各个遮挡后的输入图像输入当前的ResNet18模型,得到新的一批次预测响应值对该新的一批次预测响应值进行归一化,得到预测概率值,并基于上述的预测概率值和真值标签计算交叉熵损失函数。
LCE指的是交叉熵损失函数,c表示用于遍历3个分类标签的类别的变量,B用于表示批采样的数量,b表示用于遍历批采样的数量B的变量,用于表示预测第b个样本的分类标签为c类别的预测响应值进行归一化之后得到的预测概率值,ybc用于表示第b个样本的分类标签是否为类别c,若是,则ybc=1;若否,则ybc=0。
另外,可以对第1子模块402输出的特征图组添加正则化损失函数,约束特征图组的各个通道之间存在足够差异。
Lreg用于表示正则化损失函数,Lreg的输入值为第1子模块402输出的特征图组的亮度信息。该损失函数的具体定义可以参照图1实施例中对应部分。
两者的加权得到损失函数L=LCE+λregLreg,其中λreg是预设参数平衡两项损失函数的影响。
根据损失函数L对当前的整个ResNet18模型的模型参数计算梯度,更新模型参数。
至此进行一个批次的模型训练。进行多个批次的训练,直至模型收敛。
步骤(2):
步骤(2)可以参照图1实施例中的步骤S106的说明部分,步骤(2)可以替换执行第1次生成中间图像分类模型的步骤。
基于步骤(1)训练得到的模型参数,将第1子模块中的待训练参数固定。
对一个批次的样本集合内的每个输入图像Ii,单独做如下处理:
针对特征图组F的C个通道分别计算激活图。
对通道c的激活图,进行3x3的均值滤波,得到平滑后的激活图。
下面对均值滤波进行具体说明:激活图中若出现相邻两个像素之间的亮度信息的差值大于等于预设阈值,说明其中一个像素的亮度信息可能有误,因此,可以采用以该两个像素中任意一者为中心确定包括3x3个像素的滤波区域,对该滤波区域中每个像素的亮度信息求平均值,基于该平均值更新该滤波区域中心的像素的亮度信息。
接下来,可以确定k个待遮挡区域,基于k个待遮挡区域生成遮挡后的输入图像。
基于k个待遮挡区域生成遮挡后的输入图像,可以是,将k个待遮挡区域的并集确定为目标遮挡区域,基于目标遮挡区域对输入图像进行遮挡处理。下面以k=2为例,举例说明基于k个待遮挡区域生成遮挡后的输入图像的具体过程:
在激活图中选取位于最大响应的位置的像素,以此为中心,随机生成一个矩形。矩形的长宽最大值为图像宽高的50%,不低于10%。矩形的长h和宽w是随机生成的:
h=randint(0.1*H,0.5*H);
w=randint(0.1*W,0.5*W);
randint( )是一个可用于生成随机数的函数,括号内的两个参数可以分别用于表征可生成的随机数的最大值和最小值。
根据随机生成的矩形,对特征图组F的通道c上提取矩形区域内的值,计算均值和方差,生成高斯噪声图像,该高斯噪声图像用于替换图像Ii的通道c的矩形区域内的值。
接着,在激活图中选取位于第二大响应的位置的像素,以此为中心,随机生成一个矩形。矩形的长宽最大值为图像宽高的50%,不低于10%。矩形的长h和宽w是随机生成的:
h=randint(0.1*H,0.5*H);
w=randint(0.1*W,0.5*W);
根据随机生成的矩形,对特征图组F的通道c上提取矩形区域内的值,计算均值和方差,生成高斯噪声图像,该高斯噪声图像用于替换特征图组F的通道c的矩形区域内的值。
若第二个随机生成的矩形和第一个随机生成的矩形有重叠,则只处理不重叠的部分。均值和方差也只用不重叠的部分计算。故基于两个随机生成的矩形生成遮挡后的输入图像,该遮挡后的输入图像中,待遮挡区域为该两个随机生成的矩形的并集。
k>2的情况下,技术构思与k=2的情况类似,此处不再赘述。
在获得一个批次的样本集合内的每个输入图像Ii对应的遮挡后的特征图组F之后,可以将遮挡后的特征图组F输入当前的ResNet18模型中模型参数未冻结的部分,即将遮挡后的特征图组F输入由池化层404、第2子模块406、第3子模块408、第4子模块410、第5子模块412、池化层414以及全连接层416构成的待训练子模块,得到新的一批次预测响应值对该新的一批次预测响应值进行归一化,得到预测概率值,并基于前述的预测概率值和真值标签计算交叉熵损失函数。
LCE指的是交叉熵损失函数,c表示用于遍历3个分类标签的类别的变量,B用于表示批采样的数量,b表示用于遍历批采样的数量B的变量,用于表示预测第b个样本的分类标签为c类别的预测响应值进行归一化之后得到的预测概率值,ybc用于表示第b个样本的分类标签是否为类别c,若是,则ybc=1;若否,则ybc=0。
同时对第2子模块输出的特征图组添加正则化损失函数,约束特征图组的各个通道的特征图之间有足够差异。
Lreg用于表示正则化损失函数,Lreg的输入值为第2子模块输出的特征图组的亮度信息。该损失函数的具体定义可以参照图1实施例中对应部分。
两者的加权得到损失函数L=LCE+λregLreg,其中λreg是预设参数平衡两项损失函数的影响。
根据损失函数L对未冻结的模型参数计算梯度,更新模型参数。
至此进行一个批次的模型训练。进行多个批次的训练,直至模型收敛。
接下来的步骤与步骤(2)类似,依次对各个子模块的参数进行参数冻结处理,根据梯度计算当前特征图的各个通道的激活图,根据激活图遮挡对应特征图通道的k个最大激活区域,可参照图1实施例的步骤S106的说明部分。将遮挡后的特征图送入后续模型,在下一阶段的特征图组处(如有下一阶段)增加正则化损失函数,结合正则化损失函数和分类损失函数,更新后续模型的参数,直至对第5子模块412的训练完成,则训练后的ResNet18模型所包括的第1子模块402、第2子模块406、第3子模块408、第4子模块410、第5子模块412均已完成模型训练,故训练后的ResNet18模型可以用于执行图像分类任务。
例如,在人脸图像检测的应用场景中,可以将训练后的ResNet18模型应用于检测人脸图像是否伪造。具体实施时,输入训练后的ResNet18模型的人脸图像很可能会受到一些干扰,例如,人脸图像中的眼部被墨镜所遮挡,或者,人脸图像受角度和光照限制,使得左半边脸的局部区域清晰度较低,等等。训练后的ResNet18模型可以在检测人脸图像是否伪造的过程中,不仅仅依赖于少量的显著特征,而是利用各个子模块均可以从前一层挖掘到丰富的特征的特性,得到较为准确的人脸图像是否伪造的预测结果。
出于与前述的图像分类模型的训练方法实施例相同的技术构思,本申请实施例还提供了一种图像分类方法。
图5为本申请实施例提供的一种图像分类方法的处理流程图。
步骤S502,获取待分类的目标图像。
目标图像可以是存在图像分类需求的图像,例如,人脸图像,商标图像,汽车图像,等等。人脸图像,可以是待检测是否伪造的人脸图像。商标图像,可以是待鉴别真伪的商标图像。汽车图像,可以是待识别汽车型号的汽车图像。
步骤S504,将目标图像输入图像分类模型进行分类预测处理,得到目标图像的分类预测结果;图像分类模型通过如前述的图像分类模型的训练方法实施例所提供的图像分类模型的训练方法训练得到。
示例性地,目标图像为人脸图像,目标图像的分类预测结果可以包括图中人脸为真实人脸的预测概率值p1,图中人脸为换脸的预测概率值p2,以及,图中人脸为生成人脸的预测概率值p3。
在得到目标图像的分类预测结果之后,可以基于各个预测概率值的大小比较结果确定目标图像的最终分类预测结果,例如,假设p1>p2>p3,则可以确定目标图像的最终分类预测结果为真实人脸。
示例性地,目标图像为商标图像,目标图像的分类预测结果可以包括目标图像为真实商标的预测概率值p1,目标图像为假冒商标的预测概率值p2,以及,目标图像为其他的预测概率值p3。
在得到目标图像的分类预测结果之后,可以基于各个预测概率值分别与预设概率值之间的大小比较结果确定目标图像的最终分类预测结果,例如,假设p1<预设概率值x,p2>预设概率值x,p3<预设概率值x,则可以确定目标图像的最终分类预测结果为假冒商标。
示例性地,目标图像为汽车图像,目标图像的分类预测结果可以包括目标图像中的汽车为第一种类汽车的预测概率值p1,目标图像中的汽车为第二种类汽车的预测概率值p2……目标图像中的汽车为第k种类汽车的预测概率值pk。
在得到目标图像的分类预测结果之后,可以基于各个预测概率值确定满足预设分类条件的预测概率值,将该满足预设分类条件的预测概率值对应的图像类别确定为目标图像的最终分类预测结果,例如,假设p1,p2……pk中存在至少一个预测概率值为正数,若该至少一个预测概率值的数量为1个,则将该预测概率值对应的图像类别确定为目标图像的最终分类预测结果;若该至少一个预测概率值的数量大于1个,在数值最大的预测概率值与数值第二大的预测概率值之间的差值大于预设阈值的情况下,将数值最大的预测概率值对应的图像类别确定为目标图像的最终分类预测结果。
在上述的实施例中,提供了一种图像分类模型的训练方法,与之相对应的,还提供了一种图像分类模型的训练装置,下面结合附图进行说明。
图6为本申请实施例提供的一种图像分类模型的训练装置示意图。
本实施例提供一种图像分类模型的训练装置600,包括:
遮挡单元601,用于根据第一样本图像的第一分类预测结果,对第一样本图像进行遮挡处理,得到第二样本图像;第一分类预测结果为将第一样本图像输入第一图像分类模型进行分类预测处理所得到;第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;
训练单元602,用于将第二样本图像输入第一图像分类模型进行迭代训练,得到第二图像分类模型;
生成单元603,用于执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;其中,执行第i次生成中间图像分类模型的步骤包括:对第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第i子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
可选地,特征图组包括每个通道的特征图;生成单元603,包括:
确定子单元组,用于根据第二分类预测结果,确定特征图组中每个通道对应的核心特征区域,将特征图组中每个通道对应的核心特征区域确定为特征图组中每个通道对应的待遮挡区域。
可选地,第一样本图像携带有目标分类标签;目标分类标签为多种预设分类标签中的一种;
第一分类预测结果包括:多种预设分类标签中目标分类标签为每种预设分类标签的第一预测概率值;
第二分类预测结果包括:多种预设分类标签中目标分类标签为每种预设分类标签的第二预测概率值。
可选地,确定子单元组,包括:
第一确定子单元,用于在第二分类预测结果中,将与目标分类标签相匹配的第二预测概率值确定为第一概率值;
第二确定子单元,用于在第二分类预测结果中,将第一概率值之外数值最高的第二预测概率值确定为第二概率值;
计算子单元,用于根据第一概率值以及第二概率值,对特征图组中每个通道的特征图的亮度信息进行梯度计算处理,得到特征图组中每个通道对应的激活图;
第三确定子单元,用于根据特征图组中每个通道对应的激活图,确定特征图组中每个通道对应的核心特征区域。
可选地,第三确定子单元,具体用于:
对于特征图组中的每个通道,根据激活图中的各个点的亮度信息,确定激活图中亮度信息最大的第一响应点和第一响应点之外亮度信息最大的第二响应点;
基于第一响应点生成对应的第一区域;基于第二响应点生成对应的第二区域;
将第一区域和第二区域的并集确定为激活图对应的核心特征区域。
可选地,第三图像分类模型中包括基于前i个子模块构建的样本生成子模型和基于后N-i个子模块构建的待训练子模型;
样本生成子模型,用于基于特征图组对应的待遮挡区域,生成第三样本图像;
待训练子模型,用于根据第三样本图像进行迭代训练,得到中间图像分类模型。
可选地,第三图像分类模型的损失函数由正则化损失函数和交叉熵损失函数确定;
正则化损失函数由第i+1子模块输出的特征图组中每个通道的特征图确定;
交叉熵损失函数由目标分类标签和第二分类预测结果确定。
可选地,遮挡单元601,包括:
第四确定子单元,用于根据目标分类标签和第一分类预测结果,确定第一样本图像中的核心特征区域;
生成子单元,用于根据核心特征区域中每个像素的亮度信息值,生成噪声遮挡图像;
替换子单元,用于通过噪声遮挡图像替换第一样本图像中核心特征区域对应的子图像。
可选地,生成子单元,具体用于:
根据核心特征区域中每个像素的亮度信息值,计算核心特征区域对应的亮度平均值和亮度方差;
根据核心特征区域的尺寸参数、核心特征区域对应的亮度平均值和亮度方差,生成高斯噪声图像,将高斯噪声图像确定为噪声遮挡图像。
本申请实施例所提供的图像分类模型的训练装置包括遮挡单元、训练单元以及生成单元,其中,遮挡单元,用于根据第一样本图像的第一分类预测结果,对第一样本图像进行遮挡处理,得到第二样本图像;第一分类预测结果为将第一样本图像输入第一图像分类模型进行分类预测处理所得到;第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;训练单元,用于将第二样本图像输入第一图像分类模型进行迭代训练,得到第二图像分类模型;生成单元,用于执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;其中,执行第i次生成中间图像分类模型的步骤包括:对第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将第一样本图像输入第三图像分类模型对进行分类预测处理,得到第一样本图像的第二分类预测结果;根据第二分类预测结果,在第i子模块输出的特征图组中,确定特征图组对应的待遮挡区域;将第一样本图像输入第三图像分类模型,以基于待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。以此,根据第一样本图像的第一分类预测结果对第一样本图像进行遮挡,可以遮挡掉第一样本图像中的显著特征,迫使第一图像分类模型中的各个子模块挖掘该显著特征之外的次要特征,以及,通过执行N-1次生成中间图像分类模型的步骤,在执行第i次生成中间图像分类模型的步骤时对第i子模块的参数进行参数冻结处理,可以逐层固定已经训练好的第i子模块的模型参数,基于第二分类预测结果对该第i子模块输出的特征图组进行遮挡,可以遮挡掉第i子模块输出的特征图组中的显著特征,迫使位于第i子模块之后的第i+1子模块挖掘显著特征之外的次要特征,则在第N-1次生成的中间图像分类模型中首个子模块可以从输入目标图像分类模型的图像中挖掘出丰富的特征,以及,除首个子模块外的各个子模块均可以从前一个子模块输出的特征图组中挖掘出丰富的特征,提高了目标图像分类模型整体的特征挖掘性能,增强了目标图像分类模型的健壮性和泛化性。
在上述的实施例中,提供了一种图像分类方法,与之相对应的,还提供了一种图像分类装置,下面结合附图进行说明。
图7为本申请实施例提供的一种图像分类装置示意图。
本实施例提供一种图像分类装置700,包括:
获取单元,用于获取待分类的目标图像;
分类单元,用于将目标图像输入图像分类模型进行分类预测处理,得到目标图像的分类预测结果;图像分类模型通过前述的图像分类模型的训练方法实施例所提供的图像分类模型的训练方法训练得到。
本申请实施例所提供的图像分类模型的训练装置包括获取单元和分类单元,其中,获取单元,用于获取待分类的目标图像;分类单元,用于将目标图像输入图像分类模型进行分类预测处理,得到目标图像的分类预测结果;图像分类模型通过前述的图像分类模型的训练方法实施例所提供的图像分类模型的训练方法训练得到。以此,通过图像分类模型的训练方法训练得到的图像分类模型的特征提取性能较好,可以提取得到丰富的特征,使得目标图像的分类结果更加准确。
对应上述描述的一种图像分类模型的训练方法,或者,对应上述描述的一种图像分类方法,基于相同的技术构思,本申请实施例还提供一种电子设备,该电子设备用于执行上述提供的图像分类模型的训练方法,或者,上述提供的图像分类方法,图8为本申请实施例提供的一种电子设备的结构示意图。
如图8所示,电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器801和存储器802,存储器802中可以存储有一个或一个以上存储应用程序或数据。其中,存储器802可以是短暂存储或持久存储。存储在存储器802的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括电子设备中的一系列计算机可执行指令。更进一步地,处理器801可以设置为与存储器802通信,在电子设备上执行存储器802中的一系列计算机可执行指令。电子设备还可以包括一个或一个以上电源803,一个或一个以上有线或无线网络接口804,一个或一个以上输入/输出接口805,一个或一个以上键盘806等。
在一个具体的实施例中,电子设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对电子设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
根据第一样本图像的第一分类预测结果,对所述第一样本图像进行遮挡处理,得到第二样本图像;所述第一分类预测结果为将所述第一样本图像输入第一图像分类模型进行分类预测处理所得到;所述第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;
将所述第二样本图像输入所述第一图像分类模型进行迭代训练,得到第二图像分类模型;
执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;
其中,执行第i次生成中间图像分类模型的步骤包括:对所述第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将所述第一样本图像输入所述第三图像分类模型对进行分类预测处理,得到所述第一样本图像的第二分类预测结果;根据所述第二分类预测结果,在第i子模块输出的特征图组中,确定所述特征图组对应的待遮挡区域;将所述第一样本图像输入所述第三图像分类模型,以基于所述待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
在另一个具体的实施例中,电子设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对电子设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取待分类的目标图像;
将目标图像输入图像分类模型进行分类预测处理,得到目标图像的分类预测结果;图像分类模型通过图像分类模型的训练方法训练得到。
对应上述描述的一种图像分类模型的训练方法,或者,对应于上述描述的一种图像分类方法,基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质。
在一个具体的实施例中,本实施例提供的计算机可读存储介质,用于存储计算机可执行指令,计算机可执行指令在被处理器执行时实现以下流程:
根据第一样本图像的第一分类预测结果,对所述第一样本图像进行遮挡处理,得到第二样本图像;所述第一分类预测结果为将所述第一样本图像输入第一图像分类模型进行分类预测处理所得到;所述第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;
将所述第二样本图像输入所述第一图像分类模型进行迭代训练,得到第二图像分类模型;
执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;
其中,执行第i次生成中间图像分类模型的步骤包括:对所述第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将所述第一样本图像输入所述第三图像分类模型对进行分类预测处理,得到所述第一样本图像的第二分类预测结果;根据所述第二分类预测结果,在第i子模块输出的特征图组中,确定所述特征图组对应的待遮挡区域;将所述第一样本图像输入所述第三图像分类模型,以基于所述待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
在另一个具体的实施例中,本实施例提供的计算机可读存储介质,用于存储计算机可执行指令,计算机可执行指令在被处理器执行时实现以下流程:
获取待分类的目标图像;
将目标图像输入图像分类模型进行分类预测处理,得到目标图像的分类预测结果;图像分类模型通过图像分类模型的训练方法训练得到。
需要说明的是,本说明书中关于计算机可读存储介质的实施例与本说明书中关于图像分类模型的训练方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应方法的实施,重复之处不再赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本文件的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本文件可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。
Claims (13)
1.一种图像分类模型的训练方法,其特征在于,包括:
根据第一样本图像的第一分类预测结果,对所述第一样本图像进行遮挡处理,得到第二样本图像;所述第一分类预测结果为将所述第一样本图像输入第一图像分类模型进行分类预测处理所得到;所述第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;
将所述第二样本图像输入所述第一图像分类模型进行迭代训练,得到第二图像分类模型;
执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;
其中,执行第i次生成中间图像分类模型的步骤包括:对所述第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将所述第一样本图像输入所述第三图像分类模型对进行分类预测处理,得到所述第一样本图像的第二分类预测结果;根据所述第二分类预测结果,在第i子模块输出的特征图组中,确定所述特征图组对应的待遮挡区域;将所述第一样本图像输入所述第三图像分类模型,以基于所述待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
2.根据权利要求1所述的方法,其特征在于,所述特征图组包括每个通道的特征图;所述根据所述第二分类预测结果,在第i子模块输出的特征图组中,确定所述特征图组对应的待遮挡区域,包括:
根据所述第二分类预测结果,确定所述特征图组中每个通道对应的核心特征区域,将所述特征图组中每个通道对应的核心特征区域确定为所述特征图组中每个通道对应的待遮挡区域。
3.根据权利要求2所述的方法,其特征在于,所述第一样本图像携带有目标分类标签;所述目标分类标签为多种预设分类标签中的一种;
所述第一分类预测结果包括:所述多种预设分类标签中所述目标分类标签为每种所述预设分类标签的第一预测概率值;
所述第二分类预测结果包括:所述多种预设分类标签中所述目标分类标签为每种所述预设分类标签的第二预测概率值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第二分类预测结果,确定所述特征图组中每个通道对应的核心特征区域,包括:
在所述第二分类预测结果中,将与所述目标分类标签相匹配的第二预测概率值确定为第一概率值;
在所述第二分类预测结果中,将所述第一概率值之外数值最高的第二预测概率值确定为第二概率值;
根据所述第一概率值以及所述第二概率值,对所述特征图组中每个通道的特征图的亮度信息进行梯度计算处理,得到所述特征图组中每个通道对应的激活图;
根据所述特征图组中每个通道对应的激活图,确定所述特征图组中每个通道对应的核心特征区域。
5.根据权利要求4所述的方法,其特征在于,所述根据所述特征图组中每个通道对应的激活图,确定所述特征图组中每个通道对应的核心特征区域,包括:
对于所述特征图组中的每个通道,根据所述激活图中的各个点的亮度信息,确定所述激活图中亮度信息最大的第一响应点和所述第一响应点之外亮度信息最大的第二响应点;
基于所述第一响应点生成对应的第一区域;基于所述第二响应点生成对应的第二区域;
将所述第一区域和所述第二区域的并集确定为所述激活图对应的核心特征区域。
6.根据权利要求1所述的方法,其特征在于,所述第三图像分类模型中包括基于前i个子模块构建的样本生成子模型和基于后N-i个子模块构建的待训练子模型;
所述样本生成子模型,用于基于所述特征图组对应的待遮挡区域,生成第三样本图像;
所述待训练子模型,用于根据所述第三样本图像进行迭代训练,得到中间图像分类模型。
7.根据权利要求3所述的方法,其特征在于,所述第三图像分类模型的损失函数由正则化损失函数和交叉熵损失函数确定;
所述正则化损失函数由第i+1子模块输出的特征图组中每个通道的特征图确定;
所述交叉熵损失函数由所述目标分类标签和所述第二分类预测结果确定。
8.根据权利要求3所述的方法,其特征在于,所述根据第一样本图像的第一分类预测结果,对所述第一样本图像进行遮挡处理,得到第二样本图像,包括:
根据所述目标分类标签和所述第一分类预测结果,确定所述第一样本图像中的核心特征区域;
根据所述核心特征区域中每个像素的亮度信息值,生成噪声遮挡图像;
通过所述噪声遮挡图像替换所述第一样本图像中所述核心特征区域对应的子图像。
9.根据权利要求8所述的方法,其特征在于,所述根据所述核心特征区域中每个像素的亮度信息值,生成噪声遮挡图像,包括:
根据所述核心特征区域中每个像素的亮度信息值,计算所述核心特征区域对应的亮度平均值和亮度方差;
根据所述核心特征区域的尺寸参数、所述核心特征区域对应的亮度平均值和亮度方差,生成高斯噪声图像,将所述高斯噪声图像确定为所述噪声遮挡图像。
10.一种图像分类方法,其特征在于,包括:
获取待分类的目标图像;
将所述目标图像输入图像分类模型进行分类预测处理,得到所述目标图像的分类预测结果;所述图像分类模型通过如权利要求1-9任一项所述的图像分类模型的训练方法训练得到。
11.一种图像分类模型的训练装置,其特征在于,包括:
遮挡单元,用于根据第一样本图像的第一分类预测结果,对所述第一样本图像进行遮挡处理,得到第二样本图像;所述第一分类预测结果为将所述第一样本图像输入第一图像分类模型进行分类预测处理所得到;所述第一图像分类模型包括N个子模块;第i+1子模块的输入由第i子模块的输出确定;
训练单元,用于将所述第二样本图像输入所述第一图像分类模型进行迭代训练,得到第二图像分类模型;
生成单元,用于执行N-1次生成中间图像分类模型的步骤,将第N-1次生成的中间图像分类模型确定为目标图像分类模型;其中,执行第i次生成中间图像分类模型的步骤包括:对所述第二图像分类模型中第i子模块的参数进行参数冻结处理,得到第三图像分类模型;将所述第一样本图像输入所述第三图像分类模型对进行分类预测处理,得到所述第一样本图像的第二分类预测结果;根据所述第二分类预测结果,在第i子模块输出的特征图组中,确定所述特征图组对应的待遮挡区域;将所述第一样本图像输入所述第三图像分类模型,以基于所述待遮挡区域进行迭代训练,得到中间图像分类模型;当i小于N-1时,将中间图像分类模型作为第i+1次执行生成中间图像分类模型的步骤中对应的第二图像分类模型。
12.一种电子设备,其特征在于,包括:
处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行如权利要求1-9任一项所述的图像分类模型的训练方法,或者,如权利要求10所述的图像分类方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现如权利要求1-9任一项所述的图像分类模型的训练方法,或者,如权利要求10所述的图像分类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211232813.4A CN116152542A (zh) | 2022-10-10 | 2022-10-10 | 图像分类模型的训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211232813.4A CN116152542A (zh) | 2022-10-10 | 2022-10-10 | 图像分类模型的训练方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116152542A true CN116152542A (zh) | 2023-05-23 |
Family
ID=86339608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211232813.4A Pending CN116152542A (zh) | 2022-10-10 | 2022-10-10 | 图像分类模型的训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116152542A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740452A (zh) * | 2023-06-19 | 2023-09-12 | 北京数美时代科技有限公司 | 一种基于图像修复的图像分类方法、系统和存储介质 |
-
2022
- 2022-10-10 CN CN202211232813.4A patent/CN116152542A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740452A (zh) * | 2023-06-19 | 2023-09-12 | 北京数美时代科技有限公司 | 一种基于图像修复的图像分类方法、系统和存储介质 |
CN116740452B (zh) * | 2023-06-19 | 2023-12-22 | 北京数美时代科技有限公司 | 一种基于图像修复的图像分类方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10650042B2 (en) | Image retrieval with deep local feature descriptors and attention-based keypoint descriptors | |
US20230021661A1 (en) | Forgery detection of face image | |
CN111738231A (zh) | 目标对象检测方法、装置、计算机设备和存储介质 | |
CN111444807B (zh) | 目标检测方法、装置、电子设备和计算机可读介质 | |
CN112101195B (zh) | 人群密度预估方法、装置、计算机设备和存储介质 | |
CN111507262B (zh) | 用于检测活体的方法和装置 | |
CN112632609B (zh) | 异常检测方法、装置、电子设备及存储介质 | |
CN113095370A (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN109145743A (zh) | 一种基于深度学习的图像识别方法及装置 | |
CN112668532A (zh) | 基于多阶段混合注意网络的人群计数方法 | |
CN113723352B (zh) | 一种文本检测方法、系统、存储介质及电子设备 | |
CN117422783A (zh) | 图像样本生成模型的训练方法、图像样本生成方法及装置 | |
CN115830449A (zh) | 显式轮廓引导和空间变化上下文增强的遥感目标检测方法 | |
CN116152542A (zh) | 图像分类模型的训练方法、装置、设备及存储介质 | |
CN114677611B (zh) | 数据识别方法、存储介质及设备 | |
CN117765363A (zh) | 一种基于轻量型记忆库的图像异常检测方法及系统 | |
US20210174138A1 (en) | Device and method with sensor-specific image recognition | |
CN117274901A (zh) | 基于图像分割的目标物品识别方法及装置 | |
CN116720214A (zh) | 一种用于隐私保护的模型训练方法及装置 | |
CN116071804A (zh) | 人脸识别的方法、装置和电子设备 | |
CN114463764A (zh) | 表格线检测方法、装置、计算机设备和存储介质 | |
CN112862002A (zh) | 多尺度目标检测模型的训练方法、目标检测方法和装置 | |
KR20200106111A (ko) | 가우시안 특징점맵과 회귀 기법을 이용한 얼굴 특징점 검출 장치 및 방법 | |
US12112524B2 (en) | Image augmentation method, electronic device and readable storage medium | |
CN117911908B (zh) | 一种无人机航拍图像的增强处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |