CN116704231A - 一种双层部件蒸馏的细粒度图像分类方法 - Google Patents
一种双层部件蒸馏的细粒度图像分类方法 Download PDFInfo
- Publication number
- CN116704231A CN116704231A CN202310182757.6A CN202310182757A CN116704231A CN 116704231 A CN116704231 A CN 116704231A CN 202310182757 A CN202310182757 A CN 202310182757A CN 116704231 A CN116704231 A CN 116704231A
- Authority
- CN
- China
- Prior art keywords
- layer
- component
- network
- level
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004821 distillation Methods 0.000 title claims abstract description 26
- 238000013140 knowledge distillation Methods 0.000 claims abstract description 29
- 238000012549 training Methods 0.000 claims abstract description 16
- 238000001514 detection method Methods 0.000 claims abstract description 14
- 238000007781 pre-processing Methods 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims description 93
- 230000004913 activation Effects 0.000 claims description 35
- 238000011176 pooling Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000012512 characterization method Methods 0.000 claims description 10
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 6
- 238000012935 Averaging Methods 0.000 claims description 5
- 230000001629 suppression Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000009977 dual effect Effects 0.000 claims 3
- 238000012545 processing Methods 0.000 abstract description 2
- 238000004904 shortening Methods 0.000 abstract 1
- 239000010410 layer Substances 0.000 description 127
- 230000006870 function Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 239000002355 dual-layer Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 241000238631 Hexapoda Species 0.000 description 1
- HXVZGASCDAGAPS-UHFFFAOYSA-N MAMC Natural products CC1=CC(=O)OC2=CC(OC(=O)C)=CC=C21 HXVZGASCDAGAPS-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000019640 taste Nutrition 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- G06V10/765—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- 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/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (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
本发明公开了一种双层部件蒸馏的细粒度图像分类方法,属于图像处理技术领域。该方法包括获取初始图像数据集,并对其进行预处理;构建双层部件蒸馏的细粒度图像识别网络,包括目标级全局预测子网络、部件检测模块、部件级预测子网络以及监督与知识蒸馏模块;将所述预处理后的初始图像数据集数据送入该图像识别网络中进行训练;将待分类的目标图像输入训练好的目标级全局预测子网络中,得到分类结果。本发明有效地利用了知识蒸馏,将语义部件的局部信息迁移到主干网络的中层特征中,将各个语义部件的语义上下文信息迁移到主干网络的高层特征中,使得网络能够得到更高的分类精度,同时避免语义部件检测和识别,从而降低计算量,大幅缩短了推理时间。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种双层部件蒸馏的细粒度图像分类方法。
背景技术
图像分类是计算机视觉领域最重要的任务之一。早期的图像分类任务专注于区分粗粒度类别,例如识别车辆、飞行器、鸟类和昆虫等。粗粒度类别之间的视觉差异性较大,识别难度较低。相比较而言,细粒度图像分类的任务是识别不同种类的鸟、车辆型号和飞行器型号。由于子类之间的视觉差异小,造成细粒度图像分类的类间方差小。而属于同一子类的目标在不同的光照、姿态和遮挡因素的影响下会呈现较大的差异性,因此造成了细粒度图像分类的类内方差大。
细粒度图像分类具有广泛的应用场景,包括在智慧零售场景中的商品分类,同一品牌的同一种产品有不同的口味,这些产品在视觉外观上的差别比较小,道路场景下的车辆识别,以及针对生物的多样性检测。
基于“定位-分类”范式的细粒度图像分类算法近年来越来越受到研究者的关注,“定位-分类”范式分为定位子网络和分类子网络,定位网络负责定位目标的语义部件,根据语义部件图提取各个语义部件的特征,将各部件特征和原图的特征进行拼接或其他类似的融合操作,获得最终的分类表征,分类子网负责根据这一分类表征,做出最终的分类预测。然而,“定位-分类”范式的缺陷在于:除了对原图提取特征之外,需要定位额外的语义部件并裁切,再从语义部件图中提取部件特征,这一步骤需要大量的计算,会直接影响算法的效率。
发明内容
为了解决基于“定位-分类”范式的细粒度图像分类在测试/推理阶段计算量大,精度较低这一问题,本发明提供一种双层部件蒸馏的细粒度图像分类方法,这种方法有效地利用了知识蒸馏,将语义部件的局部信息有效地迁移到主干网络的中层特征中。同时,将各个语义部件的语义上下文信息迁移到主干网络的高层特征中,使得网络在测试/推理能够通过直接融合主干网络的中层特征和高层特征来获得分类表征,得到更高的分类精度,同时避免了测试/推理阶段的语义部件检测和识别,从而降低计算量,大幅缩短了推理时间。
为了达到上述目的,本发明提出了双层部件蒸馏的细粒度图像识别方法,包括:
(1)获取初始图像数据集,并对所述初始图像数据集进行预处理;
(2)构建双层部件蒸馏的细粒度图像识别网络,所述双层部件蒸馏的细粒度图像识别网络包括目标级全局预测子网络、部件检测模块、部件级预测子网络以及监督与知识蒸馏模块;
(3)将所述预处理后的初始图像数据集数据送入该双层部件蒸馏的细粒度图像识别网络中进行训练,得到训练好的双层部件蒸馏的细粒度图像识别网络;
(4)将待分类的目标图像输入到所述训练好的双层部件蒸馏的细粒度图像识别网络的目标级全局预测子网络中,得到所述目标图像的分类结果。
进一步的,所述预处理包括:
将所述初始图像数据集图像缩放、裁剪、随机水平翻转进行数据增强;
将所述数据增强后的初始图像数据集划分为训练集和测试集。
进一步的,所述目标级预测子网络包括ResNet50卷积神经网络、一个空间注意力模块、一个通道注意力模块、两个全局平均池化层、三个Softmax激活层和三个全连接层;
所述ResNet50卷积神经网络作为特征提取器,其中的Conv1x、Conv2x、Conv3x和Conv4x作为中层卷积,Conv4x的输出为中层卷积特征图;Conv5x作为高层卷积,Conv5x的输出为高层卷积特征图;
所述高层卷积特征图经过所述通道注意力模块和所述全局平均池化层,得到高层特征向量,再将所述高层特征向量输入所述全连接层和Softmax激活层,得到高层概率向量;
所述中层卷积特征图经过所述空间注意力模块和所述全局平均池化层,得到中层特征向量,再将所述中层特征向量输入所述全连接层和Softmax激活层,得到中层概率向量;
最后将所述中层特征向量和所述高层特征向量进行拼接,得到目标级的表征向量,将该表征向量输入所述全连接层和Softmax激活层,得到目标概率向量。
进一步的,所述空间注意力模块由一个3*3卷积层、归一化层和一个Sigmoid激活层组成,其计算公式下:
M1为所述ResNet50的Conv4x的输出,M4为所述空间注意力模块的输出;⊙、σ(.)和分别代表逐元素相乘、Sigmoid激活函数和逐元素相加。
进一步的,所述通道注意力模块由两个全连接层,一个ReLU激活层和一个Sigmoid激活层组成,所述通道注意力模块的计算公式如下:
M2为所述ResNet50的Conv5x的输出,M3为所述通道注意力模块的输出;FCs(.)为两层全连接层的计算公式。
进一步的,所述部件检测模块输入为所述目标级预测子网络中的高层卷积特征图,使用特征金字塔网络来预测出固定数量的边界框,根据这些边界框对输入图像进行裁剪,将裁剪下来的图像块进行缩放后作为目标部件图输入到所述部件级预测子网络。
进一步的,所述特征金字塔网络由三层卷积层组成;
第一层卷积层不改变输入特征图的分辨率,第一层的输出为第二层的输入;
第二层卷积层对输入特征图进行2倍下采样,将该特征图输入第三层卷积层;
第三层卷积层对输入特征图再次进行2倍下采样;这三层卷积层输出的所述特征图的每个激活值分别代表了不同尺度和不同宽高比的锚框区域的信息度得分;
使用非极大值抑制NMS方法得到所述边界框。
进一步的,所述部件级预测子网络具体包括:
将裁剪并放缩后的多张所述目标部件图输入ResNet50卷积神经网络提取特征,其Conv5x输出的高层卷积特征图经过全局平均池化后得到部件级高层特征向量并输入全连接层和Softmax激活层,得到每张所述目标部件图的概率向量;对所有所述目标部件图的概率向量取平均,得到的部件概率向量;
将各个所述目标部件图的高层卷积特征图沿着通道维度拼接,将拼接后的所述高层卷积特征图输入1*1卷积层、批归一化层和ReLU激活层,对各部件之间的上下文关系进行建模,将得到的特征向量输入全连接层和Softmax激活层,得到全局概率向量。
进一步的,所述监督与知识蒸馏模块具体包括:
使用余弦损失函数对所述目标级预测子网络的中层特征向量和高层特征向量监督;
使用交叉熵损失函数对所述部件概率向量、全局概率向量和目标概率向量进行监督;
使用所述部件级预测子网络的部件概率向量和全局概率向量分别对所述目标级预测子网络的中层概率向量和高层概率向量进行知识蒸馏,知识蒸馏将各个部件图的局部信息以及上下文信息分别蒸馏到所述目标级预测子网络中。
进一步的,所述知识蒸馏过程如下:
按照如下公式计算所述全局概率向量pcpart、部件概率向量Pspart、中层概率向量Pmid和高层概率向量Phigh软化后的概率向量qcpart(x),qspart(x),qmid(x),qhigh(x):
其中:T为温度超参数,决定向量被软化的程度;
所述部件级预测子网络的全局概率向量对所述目标级预测子网络的高层概率向量进行知识蒸馏:
所述部件级预测子网络的部件概率向量对所述目标级预测子网络的中层概率向量进行知识蒸馏:
总的知识蒸馏损失为:
本发明的有益效果:
1、本发明提出了对象级全局预测子网络,该子网络分别提取中层卷积特征和高层卷积特征,以提出由知识蒸馏来监督的两个对象级整体预测向量,并将这两个级别的特征连接起来以生成最终预测。通过这种方式,提取知识能够提高连接特征的表示能力
2、本发明检测部件区域并从每个部件图中提取部件级特征,然后通过求平均和拼接提出两个部件级预测。第一个部件级预测是通过对不同的特征求平均来生成的,另一个部件级的预测是通过拼接部件级特征而生成的。这两个预测被有效地提取,以提高训练阶段中层和高层特征的表征能力。
3、为了提高分类精度,本发明提出了六个损失,即四个目标监督和两个知识蒸馏。
附图说明
图1是本发明实施例双层部件蒸馏的细粒度图像分类方法的流程示意图。
图2是本发明实施例双层部件蒸馏的细粒度图像识别网络(训练阶段)的整体示意图。
图3是本发明实施例双层部件蒸馏的细粒度图像识别网络(测试/推理阶段)的整体示意图。
具体实施方式
下面结合附图和实施例详细描述本发明。
所述实施例的示例在附图中展示,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明提供了一种双层部件蒸馏的细粒度图像分类方法,在一种优选实施方式中,方法的整体示意图如图1所示,该方法包括:
S101、获取初始图像数据集,并对所述初始图像数据集进行预处理;
本实施例中,获取鸟类数据集(CUB-200-2011)、汽车数据集(Stanford Car)和航空器数据集(FGVC-Aircraft)。以上三个数据集为细粒度图像分类公开数据集,根据官方给出的标注信息,将每个数据集划分训练集和测试集。为了增强细粒度图像分类模型的泛化能力,本发明首先进行数据增强,具体步骤为:放缩至512*512大小、中心裁剪,裁剪大小为448*448,对裁剪后的图像进行随机水平翻转。本实施例中最终得到5994张二维图片作为训练集;
S102、构建双层部件蒸馏的细粒度图像识别网络,所述双层部件蒸馏的细粒度图像识别网络包括目标级全局预测子网络、部件检测模块、部件级预测子网络以及监督与知识蒸馏模块;
如图2所示,目标级预测子网络包括ResNet50卷积神经网络、一个空间注意力模块、一个通道注意力模块、两个全局平均池化层、三个Softmax激活层和三个全连接层。输入图像经过预处理后输入ResNet50卷积神经网络,ResNet50的Conv4x的输出M1分别输入到空间注意力模块和Conv5x;空间注意力模块和Conv5x的输出分别为M4和M2;空间注意力模块由一个3*3卷积层、批归一化层和一个Sigmoid激活层组成,空间注意力模块的计算公式如公式(1)所示:
其中:⊙、σ(.)和分别代表逐元素相乘、Sigmoid激活函数和逐元素相加。
M2分别输入到通道注意力模块和部件检测模块。不同的通道对应着不同的视觉模式,通道注意力向量可以描述各个视觉模式间的相关性信息。通道注意力模块由两个全连接层,一个ReLU激活层和一个Sigmoid激活层组成,通道注意力模块的计算公式如公式(2)所示:
FCs(.)为两层全连接层的计算公式。
通道注意力的输出为M3型,将通道注意力模块的输出和空间注意力模块的输出分别输入全局平均池化层,得到输出fh和fm。本发明将fh和fm通过拼接的方式进行融合,获得更强大的表征向量fc,将fc输入到全连接层和Softmax激活层,得到分类结果。额外的,本发明将fh和fm分别输入到全连接层和Softmax激活层,得到各自的分类结果Phigh和Pmid。
部件检测模块使用特征金字塔网络,以目标级预测子网络中ResNet50的Conv5x的输出M2为输入,为了便于表述,这里假设M2的宽和高分别为W和H,特征金字塔网络由三层卷积层组成,第一层卷积层不改变特征图的分辨率,第一层的输出为第二层的输入,第二层卷积层对特征图进行2倍下采样,输出特征图的宽高分别为W/2和H/2。将该特征图输入第三层卷积层,第三层卷积层对特征图再次进行2倍下采样,输出特征图的宽高分别为W/4和H/4。这三层卷积层输出特征图的激活值分别代表了不同尺度和不同宽高比的锚框区域的信息度得分。为了去除冗余的锚框区域,本发明使用非极大值抑制(Non-maximum suppression,NMS),本实施例保留4个锚框区域。根据这四个锚框区域的边界框信息,从输入图像中裁切部件图,并放缩到224*224大小。
将4张部件图输入部件级预测子网络,部件级预测子网络的特征提取器同样采用ResNet50卷积神经网络,部件级预测子网络和目标级预测子网络的特征提取器共享权重。4张部件图输入特征提取器后得到对应的特征图分别为(U1,U2,…,UK)。这里将特征图(U1,U2,…,UK)经过全局平均池化层,得到特征向量(f1,f2,…,fK),将每个特征向量输入全连接层和Softmax激活层,得到对应的概率向量(p1,p2,…,pK)。本发明对各个概率向量取平均,得到部件级预测向量pspart。
pspart中包含了丰富的局部信息,本发明通过知识蒸馏的方式,将局部信息迁移到目标级预测子网络的中层卷积层的特征学习中,通过这种方式来帮助中层卷积层直接从原始图像中学习到语义部件的局部信息。为了帮助高层卷积层更好地对各个语义部件的上下文信息进行编码,本发明对部件级的特征图(U1,U2,…,UK)沿通道进行拼接,得到拼接后的特征图V1,将V1通过一个1*1卷积层、批归一化层和一个ReLU激活层来对各个部件之间的上下文信息进行编码,得到V2,经过全局平均池化层、全连接层和Softmax激活层得到pcpart。
知识蒸馏过程如下:
按照如下公式计算所述全局概率向量pcpart、部件概率向量Pspart、中层概率向量Pmid和高层概率向量Phigh软化后的概率向量qcpart(x),qspart(x),qmid(x),qhigh(x):
其中:T为温度超参数,决定向量被软化的程度,本实施例T设置为10。
部件级预测子网络的全局概率向量对目标级预测子网络的高层概率向量进行知识蒸馏:
部件级预测子网络的部件概率向量对目标级预测子网络的中层概率向量进行知识蒸馏:
训练阶段的总损失函数由3个交叉熵损失函数、1个余弦损失函数、一个定位损失和2个知识蒸馏损失组成。如公式(5)所示。
Ltotal=alcls+βlpair+γlcos+ωlkd (6)
lcls=lce(pcat,pgt)+lce(pcpart,pgt)+lce(pspart,pgt) (7)
lcos(fh,fm)=∑max(0,cos(fh,fm)-ε) (9)
S103、将所述预处理后的初始图像数据集数据送入该双层部件蒸馏的细粒度图像识别网络中进行训练,得到训练好的双层部件蒸馏的细粒度图像识别网络;
在双层部件蒸馏的细粒度图像识别网络训练时,设置训练参数包括:
本实施例中,网络的初始学习率设置为0.001,学习率大小随着迭代次数的增加而逐渐减小,经过40轮的训练之后,学习率乘以0.1,批处理个数为8,动量大小为0.9,权重衰减为5e-5,使用随机梯度下降法进行训练。其余网络参数的设置可以按常规理解,在此不再赘述。
S104、将待分类的目标图像输入到所述训练好的双层部件蒸馏的细粒度图像识别网络的目标级全局预测子网络中,得到所述目标图像的分类结果。
如图(3)所示,本发明在测试/推理阶段舍弃部件级预测子网络和部件检测模块,仅使用目标级预测子网络对数据进行分类。由于在训练阶段,本发明已经成功将语义部件的局部信息和上下文信息分别迁移到目标级检测子网络的中层和高层特征学习中,使得目标级预测子网络无需额外的部件检测和部件级图像识别,也无需从部件图中提取特征并将部件特征和从输入图像提取的目标特征进行融合。本发明仅使用目标预测子网络的中层特征和高层特征来做融合,提高网络的表征能力。这样就可以避免在测试/推理阶段做部件图裁切。
表1给出了本发明实施例双层部件蒸馏网络与其它先进算法的精度对比。可以看出本发明提出的双层部件蒸馏的细粒度图像识别网络相较于其它先进算法具有更高的精度。
表1
Method | Backbone | CUB-200-2011 | FGVC-Aircraft | Stanford-Car |
DFL | ResNet50 | 87.4 | 91.7 | 93.1 |
NTS-Net | ResNet50 | 87.5 | 91.4 | 93.9 |
MAMC | ResNet50 | 86.2 | - | 93.0 |
DBTNet | ResNet50 | 87.5 | 91.2 | 94.1 |
Cross-X | ResNet50 | 87.7 | 92.6 | 94.6 |
DCL | ResNet50 | 87.8 | 93.0 | 94.5 |
TASN | ResNet50 | 87.9 | - | 93.8 |
CIN | ResNet50 | 87.5 | 92.6 | 94.1 |
API-Net | ResNet50 | 87.7 | 93.0 | 94.9 |
PMA | ResNet50 | 87.5 | 90.8 | 93.1 |
MC-Loss | ResNet50 | 87.3 | 92.6 | 93.7 |
ACNet | ResNet50 | 88.1 | 92.4 | 94.6 |
双层部件蒸馏网络 | ResNet50 | 88.13 | 93.61 | 95.14 |
本发明中,使用了一种双层部件蒸馏的网络结构,将细粒度图像分类的“定位-分类”范式中的部件级特征通过知识蒸馏迁移到目标级子网络的中层特征中,通过这种方式使目标级子网络的中层特征能有效地从原始图像中提取语义部件的特征,从而在测试阶段直接使用目标级子网络的中层特征来代替整个部件级子网络所得到的部件特征,使得测试阶段的计算量大幅度降低。另一方面,在训练阶段,除了对目标级子网络的中层特征进行蒸馏之外,本发明还额外对各个语义部件特征之间的语义上下文信息进行编码,使用知识蒸馏将该上下文信息迁移到目标级子网络的高层特征中,帮助目标级子网络的高层卷积层从具有丰富局部信息的中层特征中学习到各个语义部件的语义上下文信息。最终将目标级子网络的高层特征和中层特征进行拼接,将拼接后的特征向量输入分类器,得到分类结果。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种双层部件蒸馏的细粒度图像分类方法,其特征在于,包括如下步骤:
(1)获取初始图像数据集,并对所述初始图像数据集进行预处理;
(2)构建双层部件蒸馏的细粒度图像识别网络,所述双层部件蒸馏的细粒度图像识别网络包括目标级全局预测子网络、部件检测模块、部件级预测子网络以及监督与知识蒸馏模块;
(3)将所述预处理后的初始图像数据集数据送入该双层部件蒸馏的细粒度图像识别网络中进行训练,得到训练好的双层部件蒸馏的细粒度图像识别网络;
(4)将待分类的目标图像输入到所述训练好的双层部件蒸馏的细粒度图像识别网络的目标级全局预测子网络中,得到所述目标图像的分类结果。
2.根据权利要求1所述的双层部件蒸馏的细粒度图像分类方法,其特征在于,所述预处理包括:
将所述初始图像数据集图像缩放、裁剪、随机水平翻转进行数据增强;
将所述数据增强后的初始图像数据集划分为训练集和测试集。
3.根据权利要求1所述的双层部件蒸馏的细粒度图像分类方法,其特征在于:所述目标级预测子网络包括ResNet50卷积神经网络、一个空间注意力模块、一个通道注意力模块、两个全局平均池化层、三个Softmax激活层和三个全连接层;
所述ResNet50卷积神经网络作为特征提取器,其中的Conv1x、Conv2x、Conv3x和Conv4x作为中层卷积,Conv4x的输出为中层卷积特征图;Conv5x作为高层卷积,Conv5x的输出为高层卷积特征图;
所述高层卷积特征图经过所述通道注意力模块和所述全局平均池化层,得到高层特征向量,再将所述高层特征向量输入所述全连接层和Softmax激活层,得到高层概率向量;
所述中层卷积特征图经过所述空间注意力模块和所述全局平均池化层,得到中层特征向量,再将所述中层特征向量输入所述全连接层和Softmax激活层,得到中层概率向量;
最后将所述中层特征向量和所述高层特征向量进行拼接,得到目标级的表征向量,将该表征向量输入所述全连接层和Softmax激活层,得到目标概率向量。
4.根据权利要求3所述的双层部件蒸馏的细粒度图像分类方法,其特征在于:所述空间注意力模块由一个3*3卷积层、归一化层和一个Sigmoid激活层组成,其计算公式下:
M1为所述ResNet50的Conv4x的输出,M4为所述空间注意力模块的输出;⊙、σ(.)和分别代表逐元素相乘、Sigmoid激活函数和逐元素相加。
5.根据权利要求3所述的双层部件蒸馏的细粒度图像分类方法,其特征在于:所述通道注意力模块由两个全连接层,一个ReLU激活层和一个Sigmoid激活层组成,所述通道注意力模块的计算公式如下:
M2为所述ResNet50的Conv5x的输出,M3为所述通道注意力模块的输出;FCs(.)为两层全连接层的计算公式。
6.根据权利要求3所述的双层部件蒸馏的细粒度图像分类方法,其特征在于:所述部件检测模块对输入的所述目标级预测子网络中的高层卷积特征图使用特征金字塔网络来预测出固定数量的边界框,根据这些边界框对输入图像进行裁剪,将裁剪下来的图像块进行缩放后作为目标部件图输入到所述部件级预测子网络。
7.根据权利要求6所述的双层部件蒸馏的细粒度图像分类方法,其特征在于:所述特征金字塔网络由三层卷积层组成;
第一层卷积层不改变输入特征图的分辨率,第一层的输出为第二层的输入;
第二层卷积层对输入特征图进行2倍下采样,将该特征图输入第三层卷积层;
第三层卷积层对输入特征图再次进行2倍下采样;这三层卷积层输出的所述特征图的每个激活值分别代表了不同尺度和不同宽高比的锚框区域的信息度得分;
使用非极大值抑制NMS方法得到所述边界框。
8.根据权利要求6所述的双层部件蒸馏的细粒度图像分类方法,其特征在于,所述部件级预测子网络具体包括:
将裁剪并放缩后的多张所述目标部件图输入ResNet50卷积神经网络提取特征,其Conv5x输出的高层卷积特征图经过全局平均池化后得到部件级高层特征向量并输入全连接层和Softmax激活层,得到每张所述目标部件图的概率向量;对所有所述目标部件图的概率向量取平均,得到的部件概率向量;
将各个所述目标部件图的高层卷积特征图沿着通道维度拼接,将拼接后的所述高层卷积特征图输入1*1卷积层、批归一化层和ReLU激活层,对各部件之间的上下文关系进行建模,将得到的特征向量输入全连接层和Softmax激活层,得到全局概率向量。
9.根据权利要求8所述的双层部件蒸馏的细粒度图像分类方法,其特征在于,所述监督与知识蒸馏模块具体包括:
使用余弦损失函数对所述目标级预测子网络的中层特征向量和高层特征向量进行监督;
使用交叉熵损失函数对所述部件概率向量、全局概率向量和目标概率向量进行监督;
使用所述部件级预测子网络的部件概率向量和全局概率向量分别对所述目标级预测子网络的中层概率向量和高层概率向量进行知识蒸馏,知识蒸馏将所述目标部件图的局部信息以及上下文信息分别蒸馏到所述目标级预测子网络。
10.根据权利要求9所述的双层部件蒸馏的细粒度图像分类方法,其特征在于,所述知识蒸馏过程如下:
按照如下公式计算所述全局概率向量pcpart、部件概率向量Pspart、中层概率向量Pmid和高层概率向量Phigh软化后的概率向量qcpart(x),qspart(x),qmid(x),qhigh(x):
其中:T为温度超参数,决定向量被软化的程度;
所述部件级预测子网络的全局概率向量对所述目标级预测子网络的高层概率向量进行知识蒸馏:
所述部件级预测子网络的部件概率向量对所述目标级预测子网络的中层概率向量进行知识蒸馏:
总的知识蒸馏损失为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310182757.6A CN116704231A (zh) | 2023-03-01 | 2023-03-01 | 一种双层部件蒸馏的细粒度图像分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310182757.6A CN116704231A (zh) | 2023-03-01 | 2023-03-01 | 一种双层部件蒸馏的细粒度图像分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116704231A true CN116704231A (zh) | 2023-09-05 |
Family
ID=87829982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310182757.6A Pending CN116704231A (zh) | 2023-03-01 | 2023-03-01 | 一种双层部件蒸馏的细粒度图像分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116704231A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117115723A (zh) * | 2023-10-23 | 2023-11-24 | 四川泓宝润业工程技术有限公司 | 一种消防设施计数方法、装置、存储介质及电子设备 |
-
2023
- 2023-03-01 CN CN202310182757.6A patent/CN116704231A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117115723A (zh) * | 2023-10-23 | 2023-11-24 | 四川泓宝润业工程技术有限公司 | 一种消防设施计数方法、装置、存储介质及电子设备 |
CN117115723B (zh) * | 2023-10-23 | 2024-01-23 | 四川泓宝润业工程技术有限公司 | 一种消防设施计数方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021043193A1 (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
CN107633513B (zh) | 基于深度学习的3d图像质量的度量方法 | |
CN110263786B (zh) | 一种基于特征维度融合的道路多目标识别系统及方法 | |
US20220215227A1 (en) | Neural Architecture Search Method, Image Processing Method And Apparatus, And Storage Medium | |
Yan et al. | Multi-attributes gait identification by convolutional neural networks | |
CN104462494B (zh) | 一种基于无监督特征学习的遥感图像检索方法及系统 | |
CN111259905A (zh) | 一种基于下采样的特征融合遥感图像语义分割方法 | |
CN109344898A (zh) | 基于稀疏编码预训练的卷积神经网络图像分类方法 | |
CN114782311B (zh) | 一种基于CenterNet改进的多尺度缺陷目标检测方法及系统 | |
CN112381764A (zh) | 一种农作物病虫害检测方法 | |
CN117157678A (zh) | 用于基于图的全景分割的方法和系统 | |
Yang et al. | Down image recognition based on deep convolutional neural network | |
Araújo et al. | Local adaptive receptive field self-organizing map for image color segmentation | |
Raparthi et al. | Machine Learning Based Deep Cloud Model to Enhance Robustness and Noise Interference | |
CN110674774A (zh) | 一种改进的深度学习人脸面部表情识别方法及系统 | |
EP4121896A1 (en) | Managing occlusion in siamese tracking using structured dropouts | |
CN116704231A (zh) | 一种双层部件蒸馏的细粒度图像分类方法 | |
CN109165698A (zh) | 一种面向智慧交通的图像分类识别方法及其存储介质 | |
CN113159067A (zh) | 一种基于多粒度局部特征软关联聚合的细粒度图像辨识方法及装置 | |
CN114758178B (zh) | 一种基于深度学习的轮毂实时分类及其气阀孔定位方法 | |
CN116343058A (zh) | 基于全局协同融合的多光谱和全色卫星影像地表分类方法 | |
CN114544172A (zh) | 基于深度置信网络的旋转机械故障诊断方法、系统及介质 | |
CN115330759B (zh) | 一种基于豪斯多夫距离计算距离损失的方法及装置 | |
Rashno et al. | Mars image segmentation with most relevant features among wavelet and color features | |
CN115761552A (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 |