一种基于部件混合的细粒度图像分类方法

未命名 07-13 阅读:124 评论:0


1.本发明涉及图像处理技术领域,特别涉及一种基于部件混合的细粒度图像分类方法。


背景技术:

2.图像分类是计算机视觉领域最重要的任务之一。近年来,细粒度图像分类因其具有广泛的应用场景而获得了更多的关注。例如:在智慧零售场景中的商品分类,同一品牌的同一种产品有不同的口味,这些产品在视觉外观上的差别比较小,道路场景下的车辆识别,以及针对生物的多样性检测等。
3.早期的图像分类任务专注于区分粗粒度类别,例如识别车辆、飞行器、鸟类和昆虫等。粗粒度类别之间的视觉差异性较大,识别难度较低。相比较而言,细粒度图像分类的任务是识别不同种类的鸟、车辆型号和飞行器型号。由于子类之间的视觉差异小,造成细粒度图像分类的类间方差小。而属于同一子类的目标在不同的光照、姿态和遮挡因素的影响下会呈现较大的差异性,因此造成了细粒度图像分类的类内方差大。由于细粒度图像分类数据集获取困难,导致在实际应用中采集到的数据集较少;由于不同子类的稀缺程度不同,导致采集到的数据集出现长尾分布,也加剧了模型的过拟合风险。


技术实现要素:

4.为了解决现有技术存在的问题,本发明提出了一种基于部件混合的细粒度图像分类网络,首先定位对象的部件区域,然后在整个批次的部件区域上使用聚类算法,在不同图像之间执行部件区域混合,通过图像混合策略,可以有效地扩充细粒度图像分类的训练数据,从而达到降低深度模型过拟合风险的效果。
5.为了达到上述目的,本发明提出了基于部件混合的细粒度图像识别方法,包括:
6.(1)获取图像数据集,并对所述图像数据集进行预处理;
7.(2)搭建基于部件混合的细粒度图像分类网络,所述基于部件混合的细粒度图像分类网络包括目标级全局预测模块,部件预测模块和部件混合模块;
8.(3)将所述预处理后的图像数据集数据送入所述基于部件混合的细粒度图像识别网络中进行训练,得到训练好的基于部件混合的细粒度图像识别网络;
9.(4)将待分类的目标图像输入到所述训练好的基于部件混合的细粒度图像识别网络中的目标级全局预测模块,得到所述目标图像的分类结果。
10.进一步的,所述预处理包括:
11.将所述初始图像数据集图像缩放、裁剪、随机水平翻转进行数据增强;
12.将所述数据增强后的初始图像数据集划分为训练集和测试集。
13.进一步的,所述目标级全局预测模块由resnet50卷积神经网络、全局平均池化层、softmax激活层和全连接层组成;
14.所述resnet50卷积神经网络作为特征提取器完成对输入图像的特征提取,输出特
征图;
15.所述特征图输入所述全局平均池化层、softmax激活层和全连接层完成分类,使用交叉熵损失函数进行监督。
16.进一步的,所述部件预测模块由部件检测模块、resnet50卷积神经网络、全局平均池化层、softmax激活层以及全连接层组成;
17.所述部件检测模块使用特征金字塔网络,其输入为所述目标级全局预测模块中的最后一层卷积层输出的特征图,输出为通过所述特征金字塔网络来预测出的固定数量的边界框及锚框区域的信息度得分;
18.根据所述部件检测模块输出的边界框,对输入图像进行裁剪缩放,得到部件图,将所述部件图输入到所述resnet50卷积神经网络提取部件级的卷积特征;
19.通过对所述卷积特征使用全局平均池化得到每个所述部件图的特征向量,将所述特征向量输入所述softmax激活层和全连接层并分类,使用交叉熵损失函数进行监督。
20.进一步的,所述特征金字塔网络由三层卷积层组成;
21.第一层卷积层不改变输入特征图的分辨率,第一层的输出为第二层的输入;
22.第二层卷积层对输入特征图进行2倍下采样,将该特征图输入第三层卷积层;
23.第三层卷积层对输入特征图再次进行2倍下采样;这三层卷积层输出的所述特征图的每个激活值分别代表了不同尺度和不同宽高比的所述锚框区域的信息度得分;
24.使用非极大值抑制nms方法得到所述边界框。
25.进一步的,所述部件混合模块具体包括:
26.对所述部件预测模块提取出的部件图的特征向量计算余弦相似度矩阵并进行谱聚类,得到所述部件图的特征向量的聚类结果;
27.根据聚类结果对图像进行混合,得到混合图像,使用混合标签对所述混合图像进行监督;
28.将所述混合图像输入resnet50卷积神经网络特征提取器进行特征提取,再输入全局平均池化层、全连接层和softmax激活层完成分类得到概率向量,使用交叉熵损失函数进行监督。
29.进一步的,所述对图像进行混合具体包括:
30.(2.1)根据所述部件图的特征向量得到聚类矩阵n:
[0031][0032][0033]
n=cluster(cos(u,u
t
))
[0034]
其中:u为一批图像中的所有所述部件图的特征向量所组成的矩阵,u
t
为u的转置矩阵,b为批数量,k为每张图的部件数量,cos(u,u
t
)为余弦相似度矩阵,cluster()为谱聚类算法;
[0035]
(2.2)根据n中的聚类信息以及对应的所述边界框信息,生成对应的混合掩模m,混
合掩模m是一个二值掩模;
[0036]
(2.3)根据掩模m在一批图像中进行两两混合,生成所述混合图像,其集合记为
[0037]
进一步的,所述使用混合标签对所述混合图像进行监督具体包括:
[0038]
(1)计算混合系数:
[0039][0040][0041]
其中:λa为输入图像的混合系数,λb为输入图像的混合系数;c
a,i
是的面积,si是的所述信息度得分;k为每张图的部件数量;
[0042]
(2)使用得到的所述混合系数得到所述混合标签;
[0043]y(a,b)
=(1-λa)
·
ya+λb·
yb[0044]
其中:ya为的独热标签,yb为的独热标签;
[0045]
(3)使用所述混合标签对所述混合图像计算交叉熵损失,根据损失值对网络进行反向传播;
[0046][0047]
其中:为所述混合图像的概率向量。
[0048]
本发明的有益效果:
[0049]
1、本发明提出了一种新颖的部件混合策略,使用弱监督的部件检测技术和谱聚类算法来找到不同对象的具有相似语义性的部件,混合具有相似语义性的部件以生成混合图像,通过学习混合图像和混合标签,使得网络可以学习到跨类别、跨实例的语义部件相关性信息,从而降低模型的过拟合,提高表征能力。
[0050]
2、本发明创新了一种新的混合标签计算方法,这种计算方法的优势在于根据混合的部件图的信息度得分以及面积占比来得出标签值,相较于最近的研究使用随机采样的方式来获得混合标签值,本发明的混合标签计算方法更具可解释性。从实际效果上看,本发明提出的算法有效地提高了模型的分类精度。
附图说明
[0051]
图1是本发明实施例基于部件混合的细粒度图像分类方法的流程示意图。
[0052]
图2是本发明实施例基于部件混合的细粒度图像分类网络(训练阶段)的整体示意图。
[0053]
图3是本发明实施例基于部件混合的细粒度图像分类网络(测试/推理阶段)的整体示意图。
具体实施方式
[0054]
下面结合附图和实施例详细描述本发明。
[0055]
所述实施例的示例在附图中展示,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0056]
如图1所示,本发明实施例提供了一种基于图像混合的细粒度图像分类方法,包括:
[0057]
s101、获取图像数据集,并对所述图像数据集进行预处理;
[0058]
本实施例中,获取鸟类数据集(cub-200-2011)、汽车数据集(stanford car)和航空器数据集(fgvc-aircraft)。以上三个数据集为细粒度图像分类公开数据集。为了初步增强细粒度图像分类模型的泛化能力,本发明首先进行数据增强,具体步骤为:放缩至512*512大小、中心裁剪,裁剪大小为448*448,对裁剪后的图像进行随机水平翻转。根据官方给出的标注信息,将每个数据集划分训练集和测试集,本实施例中最终得到5994张二维图片作为训练集。
[0059]
s102、搭建基于部件混合的细粒度图像分类网络,所述基于部件混合的细粒度图像分类网络包括目标级全局预测模块,部件预测模块和部件混合模块;
[0060]
为了便于理解,如图2所示,本实施例中固定了每批图像的批数量为2,每张图检测2个部件。
[0061]
目标级全局预测模块以resnet50卷积神经网络、全局平均池化层、全连接层和softmax激活层组成。假设一批(batch)图像为经过预处理后输入resnet50卷积神经网络提取特征,得到特征图;将特征图输入全局平均池化层、全连接层和softmax激活层进行分类得到概率向量,使用交叉熵损失函数进行监督。
[0062]
部件预测模块由部件检测模块、resnet50卷积神经网络、全局平均池化层、softmax激活层以及全连接层组成。部件检测模块使用特征金字塔网络,以目标级全局预测模块中resnet50的最后一层卷积层的输出为输入,为了便于表述,这里假设的宽和高为w和h,特征金字塔网络由三层卷积层组成,第一层卷积层不改变特征图的分辨率,第一层的输出为第二层的输入,第二层卷积层对特征图进行2倍下采样,输出特征图的宽高分别为w/2和h/2。将该特征图输入第三层卷积层,第三层卷积层对特征图再次进行2倍下采样,输出特征图的宽高分别为w/4和h/4。这三层卷积层输出特征图的每个激活值分别代表了不同尺度和不同宽高比的锚框区域的信息度得分。为了去除冗余的锚框区域,本发明实施例使用非极大值抑制(non-maximum suppression,nms),保留k个锚框区域,每个锚框信息可以表示为:{si,x1,y1,x2,y2};其中si为该输入图像的第i个部件区域的信息度得分;(x1,y1)、(x2,y2)分别为语义部件区域的边界框左上角和右下角的坐标信息。根据这k个锚框区域的边界框信息,从输入图像中裁切部件图,并放缩到224*224大小。如上所述,本发明实施例中,每批输入图像的批数量b为2,k取2,即每张输入图像保留2个锚框区域,因此
一共有4张部件图。最终根据边界框信息裁切出对应的语义部件图,记为其中i代表第几张输入图像,j代表部件检测模块输出的第几张部件图。将全部的部件图输入resnet50卷积神经网络提取特征,将输出特征图记为将特征图输入全局平均池化层得到特征向量将每张部件图对应的特征向量输入全连接层和softmax激活层并分类。部件检测模块的定位损失如由公式(1),(2)所示:
[0063][0064]
g(x)=max(1-x,0)
ꢀꢀꢀꢀꢀꢀ
(2)
[0065]
公式(1)中pi为部件图i是真实值类的概率值。
[0066]
部件混合模块以部件预测模块中的特征向量为输入,计算余弦相似度矩阵并根据该相似度矩阵进行谱聚类,得到聚类矩阵n。具体计算流程如公式(3)、(4)和(5)所示:
[0067][0068][0069]
n=cluster(cos(u,u
t
))
ꢀꢀ
(5)
[0070]
其中:u为一批图像中的所有部件特征向量所组成的矩阵,u
t
为u的转置矩阵,b为批数量,k为每张图的部件数量,cos(u,u
t
)为余弦相似度矩阵,cluster()为谱聚类算法。
[0071]
本实施例中,n是大小为2*2的矩阵。我们根据n中的聚类信息以及语义部件的边界框信息,生成对应的混合掩模m,混合掩模m是一个二值掩模,根据掩模m在一批图像中进行两两混合,生成混合图像其中a,b∈(1,b),a≠b。值得一提的是,本发明的图像混合策略是非对称的。
[0072]
混合操作可以用公式(6)表示:
[0073][0074]
本发明提出一种新的混合标签计算方式,用于对混合图像进行监督。部件检测模块输出的每个语义部件图都对应了一个信息度得分si,信息度得分表示了区域的语义信息的丰富程度。随着网络的优化,部件检测模块预测的信息度得分si也会动态优化。因此,利用信息度得分si能有效描述该部件区域的语义性。此外,我们还考虑了部件区域相对于全体部件区域的空间占比,以该语义区域占整个目标的空间比例和语义区域的信息度得分来决定混合标签值。本发明的混合标签的计算公式如公式(7),(8)和(9)所示:
[0075][0076][0077]y(a,b)
=(1-λa)
·
ya+λb·
ybꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0078]
其中以公式(7)为例,c
a,i
为a图中要混合的部件区域i的面积,si为该区域的信息度得分,为a图像k个部件区域的面积和。
[0079]
ya,yb分别为a图和b图的独热(one-hot)标签,独热标签是指:有且仅有真实值元素为1,其余元素都是0的一维向量。
[0080]
整体的损失函数由三个部分组成:原始图像和语义部件图的交叉熵损失(公式10)、混合图像的交叉熵损失(公式11)以及部件检测模块的损失(公式1)。其中,p
obj
,p
part
是输入图像和部件图的概率向量,y是独热(one-hot)标签,是混合图像的概率向量。
[0081]
l
img
=-y
·
log(p
obj
)-y
·
log(p
part
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0082][0083]
总损失函数的相关公式为公式(12)所示,其中α,β,γ均为1:
[0084]
l
total
=αl
img
+βl
mix
+γl
pair
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0085]
s103、将所述预处理后的图像数据集数据送入所述基于部件混合的细粒度图像识别网络中进行训练,得到训练好的基于部件混合的细粒度图像识别网络;
[0086]
在分类网络训练时,设置训练参数包括:
[0087]
本实施例中,网络的初始学习率设置为0.001,学习率大小随着迭代次数的增加而逐渐减小,经过40轮的训练之后,学习率乘以0.1,批处理个数为8,动量大小为0.9,权重衰减为5e-5,使用随机梯度下降法进行训练。其余网络参数的设置可以按常规理解,在此不再赘述。
[0088]
s104、将待分类的目标图像输入到所述训练好的基于部件混合的细粒度图像识别网络中的目标级全局预测模块,得到所述目标图像的分类结果。
[0089]
如图3所示,本发明在测试/推理阶段舍弃部件混合和部件预测模块,由于特征提取器和分类器在训练阶段从混合图像中学习到了跨类别、跨实例的语义部件相关性信息,从而提高了模型鲁棒性和分类精度。而本发明的三个模块:目标级全局预测模块、部件预测模块和部件混合模块使用的特征提取器和全连接层分类器全部共享参数,因此仅使用目标级全局预测模块对数据进行分类,也能保证在测试阶段的高精度。同时,使得模型的计算开销大幅度降低,推理速度大幅提高。
[0090]
本发明中使用了一种基于部件混合的细粒度图像分类网络,本发明的目标是解决细粒度图像分类任务中数据集少,以及深度卷积模型容易过拟合的问题。本发明使用了弱
监督的部件检测技术,无需任何额外的标注就能实现对目标的语义部件进行检测。同时,本发明提出一种新颖的基于部件语义相似度的混合策略,将不同输入图像的具有相近语义性部件图进行混合,从而生成混合图像。此外,本发明针对生成的混合图像提出了一种新的混合标签计算方式,通过交叉熵损失和混合标签对模型进行监督,让模型学习跨类别、跨实例的语义部件相关性信息,从而提高模型的鲁棒性,提高分类精度。本发明的另一项优势在于测试/推理阶段的计算开销非常小,仅需要目标级全局预测模块,即特征提取器加全连接层分类器即可完成对测试图像的精确分类。通过实验证明,本发明的所提出的基于部件混合的细粒度图像分类网络在三个公开的细粒度分类数据集上达到了state-of-the-art的精度,如表1所示。
[0091]
表1
[0092][0093][0094]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

技术特征:
1.一种基于部件混合的细粒度图像分类方法,其特征在于,包括如下步骤:(1)获取图像数据集,并对所述图像数据集进行预处理;(2)搭建基于部件混合的细粒度图像分类网络,所述基于部件混合的细粒度图像分类网络包括目标级全局预测模块,部件预测模块和部件混合模块;(3)将所述预处理后的图像数据集数据送入所述基于部件混合的细粒度图像识别网络中进行训练,得到训练好的基于部件混合的细粒度图像识别网络;(4)将待分类的目标图像输入到所述训练好的基于部件混合的细粒度图像识别网络中的目标级全局预测模块,得到所述目标图像的分类结果。2.根据权利要求1所述的基于部件混合的细粒度图像分类方法,其特征在于,所述预处理包括:将所述初始图像数据集图像缩放、裁剪、随机水平翻转进行数据增强;将所述数据增强后的初始图像数据集划分为训练集和测试集。3.根据权利要求1所述的基于部件混合的细粒度图像分类方法,其特征在于:所述目标级全局预测模块由resnet50卷积神经网络、全局平均池化层、softmax激活层和全连接层组成;所述resnet50卷积神经网络作为特征提取器完成对输入图像的特征提取,输出特征图;所述特征图输入所述全局平均池化层、softmax激活层和全连接层完成分类,使用交叉熵损失函数进行监督。4.根据权利要求3所述的基于部件混合的细粒度图像分类方法,其特征在于:所述部件预测模块由部件检测模块、resnet50卷积神经网络、全局平均池化层、softmax激活层以及全连接层组成;所述部件检测模块使用特征金字塔网络,其输入为所述目标级全局预测模块中的最后一层卷积层输出的特征图,输出为通过所述特征金字塔网络来预测出的固定数量的边界框及锚框区域的信息度得分;根据所述部件检测模块输出的边界框,对输入图像进行裁剪缩放,得到部件图,将所述部件图输入到所述resnet50卷积神经网络提取部件级的卷积特征;通过对所述卷积特征使用全局平均池化得到每个所述部件图的特征向量,将所述特征向量输入所述softmax激活层和全连接层并分类,使用交叉熵损失函数进行监督。5.根据权利要求4所述的基于部件混合的细粒度图像分类方法,其特征在于:所述特征金字塔网络由三层卷积层组成;第一层卷积层不改变输入特征图的分辨率,第一层的输出为第二层的输入;第二层卷积层对输入特征图进行2倍下采样,将该特征图输入第三层卷积层;第三层卷积层对输入特征图再次进行2倍下采样;这三层卷积层输出的所述特征图的每个激活值分别代表了不同尺度和不同宽高比的所述锚框区域的信息度得分;使用非极大值抑制nms方法得到所述边界框。6.根据权利要求4所述的基于部件混合的细粒度图像分类方法,其特征在于,所述部件混合模块具体包括:对所述部件预测模块提取出的部件图的特征向量计算余弦相似度矩阵并进行谱聚类,
得到所述部件图的特征向量的聚类结果;根据聚类结果对图像进行混合,得到混合图像,使用混合标签对所述混合图像进行监督;将所述混合图像输入resnet50卷积神经网络特征提取器进行特征提取,再输入全局平均池化层、全连接层和softmax激活层完成分类得到概率向量,使用交叉熵损失函数进行监督。7.根据权利要求6所述的基于部件混合的细粒度图像分类方法,其特征在于,所述对图像进行混合具体包括:(2.1)根据所述部件图的特征向量得到聚类矩阵n:得到聚类矩阵n:n=cluster(cos(u,u
t
))其中:u为一批图像中的所有所述部件图的特征向量所组成的矩阵,u
t
为u的转置矩阵,b为批数量,k为每张图的部件数量,cos(u,u
t
)为余弦相似度矩阵,cluster()为谱聚类算法;(2.2)根据n中的聚类信息以及对应的所述边界框信息,生成对应的混合掩模m,混合掩模m是一个二值掩模;(2.3)根据掩模m在一批图像中进行两两混合,生成所述混合图像,其集合记为8.根据权利要求7所述的基于部件混合的细粒度图像分类方法,其特征在于,所述使用混合标签对所述混合图像进行监督具体包括:(1)计算混合系数:(1)计算混合系数:其中:λ
a
为输入图像的混合系数,λ
b
为输入图像的混合系数;c
a,i
是的面积,s
i
是的所述信息度得分;k为每张图的部件数量;(2)使用得到的所述混合系数得到所述混合标签;y
(a,b)
=(1-λ
a
)
·
y
a

b
·
y
b
其中:y
a
为的独热标签,y
b
为的独热标签;(3)使用所述混合标签对所述混合图像计算交叉熵损失,根据损失值对网络进行反向传播;其中:为所述混合图像的概率向量。

技术总结
本发明公开了一种基于部件混合的细粒度图像分类方法,属于图像处理技术领域。该方法包括:获取图像数据集,并对其进行预处理;搭建基于部件混合的细粒度图像分类网络,包括目标级全局预测模块,部件预测模块和部件混合模块;将所述预处理后的图像数据集数据送入所述网络进行训练;将待分类的目标图像输入到所述训练好的目标级全局预测模块中,得到分类结果。本发明提出了一种新颖的部件混合策略,使用弱监督的部件检测技术和谱聚类算法来找到不同对象的具有相似语义性的部件,混合具有相似语义性的部件以生成混合图像,通过学习混合图像和混合标签,使得网络可以学习到跨类别、跨实例的语义部件相关性信息,从而降低模型的过拟合,提高表征能力。提高表征能力。


技术研发人员:张相芬 姜臻 袁非牛
受保护的技术使用者:上海师范大学
技术研发日:2023.03.01
技术公布日:2023/7/12
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐