一种基于卷积神经网络的细粒度图像分类方法

文档序号:33014268发布日期:2023-01-20 14:59阅读:23来源:国知局
一种基于卷积神经网络的细粒度图像分类方法

1.本发明属于细粒度图像处理技术领域,具体涉及一种基于卷积神经网络的细粒度图像分类方法。


背景技术:

2.近几年,深度学习发展迅速,物体图像的分类的研究重心也由粗粒度图像分类转移到了细粒度图像分类,细粒度图像分类问题是对基类下的子类进行识别,比如区分不同种类的鸟,不同品牌的车等。相比于粗粒度图像分类,细粒度图像类别间的差异更加细微,往往只能借助于微小的局部差异才能进行准确的分辨,同时与人脸识别等对象级的分类任务相比,细粒度图像类别内的差异更加细微,并存在姿态、遮挡、背景干扰等诸多不确定因素,这使得该任务十分具有挑战性。该课题目前主要包括识别不同种类的鸟、狗、花、车、飞机等。
3.细粒度图像分类神经网络模型最近几年在工业界和实际生活中有着广泛的业务需求和应用场景。“花帮主”的拍照识花、手机软件“懂车帝”的拍照识车功能;在生态保护中,有效识别不同种类的生物,是进行生态研究的重要前提。所以,如果能够借助于计算机视觉的技术,实现低成本高精度的细粒度图像识别分类,那么无论对于学术界,还是工业界而言,都有着非常重要的意义。
4.经研究知,目前存在的细粒度图像分类的方法可以被分为仅用视觉信息分类的方法和添加额外信息分类的方法。前者完全依赖于视觉信息来解决分类问题,而后者尝试添用额外信息来进行分类。
5.仅用视觉信息分类的方法大致上又可分为两种:基于定位-分类子网络的方法和基于高阶特征编码的方法。基于定位-分类子网络的方法是检测并定位物体的辨别性部分,并建立对应的局部特征表示。早期的工作采用部件标注作为强监督来使网络关注类别间的细微差异,但部件标注信息会带来昂贵的成本。因此,目前的主流方法大多采用弱监督的方式,即只用图像级别的标签来进行分类。基于高阶特征编码的方法是将神经网络产生的特征进行高阶整合,得到更具辨别性的特征。但是这两类方法都有各自的限制:基于定位-分类子网络的方法大多关注物体最显著的部分,而忽略了那些不显著但有区分性的部分,这使得特征没有足够的辨别性。基于高阶特征编码的方法在特征图通道维度高时需要占据大量的计算资源,并且没有足够的可解释性。
6.添加额外信息分类的方法即通过添加额外信息(比如网络数据,多模态数据等)来建立联合特征表示,其中多模态数据又包括声音、物体的文本描述等。通过结合丰富的附加信息和深度神经网络架构,此类方法实现了对细粒度图像的有效分类。但该方法的局限性在于它们都是针对特定先验知识设计的,不能随意应用其他辅助信息。


技术实现要素:

7.为了解决现有技术中细粒度图像分类困难、注意力机制在该领域上应用限制的问
题,本发明提出了一种基于卷积神经网络的细粒度图像分类方法,提出一种融合通道特征再注意模块和空间多区域特征注意模块的卷积神经网络对细粒度图像进行分类。
8.本发明的技术方案如下:
9.一种基于卷积神经网络的细粒度图像分类方法,首先通过融合通道特征再注意模块和空间多区域特征注意模块构建了分类网络模型,然后采用对比学习的思想设计了损失函数中的对比学习损失项,最终采用该分类网络模型对实时获取到的图像进行分类;具体包括如下步骤:
10.步骤1、构建分类网络模型;
11.所述分类网络模型包括特征提取网络、通道特征再注意模块、空间多区域特征注意模块和分类器;
12.步骤2、构建训练数据集,进行模型训练;
13.步骤3、实时获取待分类的图像,将其送入训练完成的分类网络模型,得到当前图像的分类结果。
14.进一步地,采用后三阶段输出的卷积神经网络作为特征提取网络,所述特征提取网络由resnet50、resnet101、densenet161基础卷积网络构成,各卷积网络结构均由多个阶段构成,每个阶段包含一个卷积层,当图像输入到特征提取网络中,每经过一个阶段,特征图的空间尺寸减少一半,通道数目增加一倍,将特征提取网络多个阶段的输出特征图x
l
作为特征提取网络的输出特征。
15.进一步地,通道特征再注意模块内部首先采用平均池化和最大池化操作来整合特征通道信息,并利用softmax函数来获取特征图中每个通道的权重信息;按照权重分配得到增强的掩码矩阵e,并将权重高的通道进行抑制,通过抑制函数f(x)得到抑制的掩码矩阵s;将输入特征图x
l
分别与增强的掩码矩阵e和抑制的掩码矩阵s相乘得到输出特征图和其中,
16.softmax函数由下式表示:
[0017][0018]
其中,zi是经过softmax函数后每个通道的输出值,c是输出通道的总数量,通过softmax函数获得所求通道的权重信息;
[0019]
增强的掩码矩阵e由下式进行计算:
[0020]
e=softmax(avgpool(x
l
)+maxpool((x
l
)))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0021]
其中,avgpool(
·
)表示平均池化,maxpool(
·
)表示最大池化;
[0022]
抑制函数f(x)由下式表示:
[0023][0024]
其中,z
max
是通道最大的输出值,ω、δ均表示超参数,分别代表对应的通道被抑制的程度和需要进行抑制通道的程度;
[0025]
当前阶段的输出特征图和由下式得到:
[0026][0027]
其中,表示逐元素相乘操作;
[0028]
多个阶段的经过卷积层conv通道维度统一后作为对应阶段的输出,通道统一是为了保证低级信息和高级信息的平衡;输入到后续阶段强迫网络挖掘包含细粒度知识的潜在的通道特征。
[0029]
进一步地,空间多区域特征注意模块采用下采样卷积、1
×
1卷积、softmax函数和ccmp模块,其中下采样卷积用于将多个阶段的和网络最后一个阶段的特征图空间尺度保持一致,1
×
1卷积用来简化计算,softmax函数和ccmp模块用来计算多个阶段的的空间上的相似性,并得到多样性学习损失l
div
,l
div
和相似性之间呈负相关,通过训练降低多样性损失,即可使多个阶段的在空间上关注物体不同的辨别性部分;
[0030]
假设特征提取网络的后三阶段经过通道再注意模块得到的特征图分别为和其中,c
t
表示归一化后的通道维度,w
l-2
表示第l-2个阶段特征图的宽度,h
l-2
表示第l-2个阶段特征图的高度;w
l-1
表示第l-1个阶段特征图的宽度,h
l-1
表示第l-1个阶段特征图的高度,w
l
表示第l个阶段特征图的宽度,h
l
表示第l个阶段特征图的高度;
[0031]
为了减少计算量,对特征图通过下式进行预处理:
[0032][0033]
其中,φ(
·
)表示1
×
1卷积;conv_block
l
(
·
)表示下采样卷积;l表示特征图的第几个阶段;
[0034]
得到空间尺寸相同、通道数为1的来自三个阶段的特征图后,采用softmax函数获取每个空间位置处的权重信息,之后沿通道维度进行拼接得到特征图将其输入到ccmp模块中,ccmp对x
concat
中的每个像素在通道维度的峰值进行响应,并对x
concat
中元素进行先求和再求均值的操作h(
·
)来得到相似性的值si;
[0035][0036]
其中,k表示x
concat
的空间尺寸的大小,j表示x
concat
的第几个通道,ε表示x
concat
的通道数量,通过空间多区域特征注意模块将得到一个表征各阶段特征图之间相似性的值si;
[0037]
最后,根据相似性si得到多样性学习损失l
div
,计算方式如下,
[0038]
l
div
=(1-si)/ε
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0039]
其中,ε代表采用了特征提取网络的几个阶段作为输出,在这里代表x
concat
的通道数。
[0040]
进一步地,分类器采用softmax分类器,被应用在多分类任务中,将多个神经元的输出映射到(0,1)区间内。
[0041]
进一步地,分类网络模型的总损失函数l
total
定义如下:
[0042]
l
total
=αl
cls
+βl
div
+γl
con
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0043]
其中,l
cls
表示交叉熵损失,l
div
表示多样性学习损失,l
con
表示对比学习损失,α,β,γ均表示平衡参数,用于各平衡损失函数的权重;其中,
[0044]
交叉熵损失l
cls
作为分类损失,由各阶段各自的分类损失和将各阶段特征拼接后表示整体的分类损失构成,计算公式如下:
[0045][0046]
其中,y是输入图像的真值标签,用one-hot向量来表示;θ1,θ2也是平衡参数,softmax函数用来计算神经网络的预测标签值;cls
l
(
·
)表示分类器,表示第l个阶段输出特征f
l
的标签预测值;cls
concat
(
·
)表示用于整体特征表示的分类器,z
fconcat
表示整体特征表示f
concate
的标签预测值;
[0047]
对比学习损失l
con
为:
[0048][0049]
其中,n是输入图像批次的大小,zi,zj是经过l2正则化后的同一批次内不同类别的输入图像,yi,yj是不同类别输入图像的标签值,sim(zi,zj)是zi,zj之间的余弦相似性,i,j表示同一批次的不同样本,η表示只有相似度大于η的不同类别的输入才对损失l
con
有贡献。
[0050]
进一步地,步骤2的具体过程如下:
[0051]
步骤2.1、采用cub_200_2011数据集作为训练数据集,将采集到的原始图像通过水平翻转和中心裁剪方式进行数据预处理,实现数据扩充,构建训练数据集;
[0052]
步骤2.2、将训练数据集的细粒度图像送入分类网络模型,对分类网络模型中的可学习的参数进行训练和优化,从而使模型中的通道特征再注意模块能够最大可能挖掘特征图中潜在的细粒度知识,空间多区域特征注意模块极大程度能够降低不同阶段的特征图之间的相似性,当整个模型训练到收敛时,得到训练完成的分类网络模型。
[0053]
进一步地,步骤3的具体过程如下:
[0054]
首先将待分类细粒度图像送入到阶段为l的特征提取网络中,然后将其输入通道特征再注意模块,得到通道增强的特征图和通道抑制的特征图通道增强的特征图作为网络当前阶段的输出,通道抑制的特征图送入后续阶段来强迫网络关注那些包含细粒度知识的信息贫瘠的通道;模型训练时已经利用空间多区域特征注意模块来使多个阶段输出的通道增强的特征图在空间维度上关注物体不同的辨别性部分;故该模型将会得到多个在空间和通道上都具有辨别性的输出特征,最后将多个阶段的输出特征作为该图像的特征表示;最终经过softmax分类器来得到当前图像的分类结果。
[0055]
本发明所带来的有益技术效果:
[0056]
本发明极大程度地改进了注意力机制和基于卷积神经网络的方法在细粒度图像分类上的限制。通过多阶段的特征提取网络,提高了分类网络对特征信息的聚合能力,且包
含了低级信息和高级语义信息,增加了所提取特征的鲁棒性;通过通道特征再注意模块,有效地帮助了分类网络提取了原本被忽视的但有助于细粒度分类的通道特征,使得到的特征表示更加全面;通过空间多区域特征注意模块,使得分类网络多个阶段输出的特征在空间维度上分别关注了物体不同的辨别性部分,提高了最终特征表示的辨别性;通过融合对比学习思想的损失项,有区别的对待了不同类别的细粒度图像,增大了类间差异。在对比学习损失项中,融合了对比学习的思想,将同一输入批次中的不同种类的训练图像设置为负样本,将同一种类的训练图像设置为正样本,通过损失函数的设置,来拉进正样本之间的距离,拉大负样本之间的距离,从而在训练过程中进一步优化分类网络的分类效果。
附图说明
[0057]
图1为本发明基于卷积神经网络的细粒度图像分类方法的流程图;
[0058]
图2为本发明中分类网络模型的整体结构示意图;
[0059]
图3为本发明中分类网络模型通道特征再注意模块的结构示意图;
[0060]
图4为本发明中分类网络模型空间多区域特征注意模块的结构示意图。
具体实施方式
[0061]
下面结合附图以及具体实施方式对本发明作进一步详细说明:
[0062]
经研究发现,在众多细粒度图像分类的方法中,采用融合通道特征再注意模块和空间多区域特征注意模块的卷积神经网络是比较可靠的一种分类思路,它属于弱监督的方法,同时采用多阶段的卷积网络作为特征提取网络可以获得更全面丰富的特征。因为多阶段的特征既包含了低级信息(颜色、边缘连接点等),也包含了高级语义信息,当物体的姿势和背景改变时低级信息会保持不变,减少了类内方差。尽管基于深度学习和注意力机制的分类方法一定程度上提升了细粒度图像分类的效果,但仍存在一些不足。对于细粒度图像分类网络,除了要提取显著性和易于区分的特征,还要帮助神经网络在物体特征的通道和空间维度上学习更多有助于细粒度分类的知识,即可通过通道特征再注意模块来强迫网络挖掘信息量贫瘠的通道特征中的知识,和利用空间多区域特征注意模块使多阶段的特征分别关注物体不同的辨别性部分。最终获取在通道和空间维度上更具辨别性的特征表示。
[0063]
因此,本发明提出了一种基于卷积神经网络的细粒度图像分类方法,通过融合通道特征再注意模块和空间多区域特征注意模块构建了分类网络模型,采用对比学习的思想设计了损失函数中的对比学习损失项,最终采用该分类网络模型对实时获取到的图像进行分类。如图1和图2所示,具体包括如下步骤:
[0064]
步骤1、构建分类网络模型;
[0065]
所述分类网络模型包括特征提取网络、通道特征再注意模块、空间多区域特征注意模块和分类器。
[0066]
所述特征提取网络由resnet50、resnet101、densenet161等基础卷积网络构成,该类卷积网络结构相似,均由多个阶段构成,每个阶段即包含一个卷积层,当图像输入到特征提取网络中,每经过一个阶段,特征图的空间尺寸减少一半,通道数目增加一倍,将特征提取网络多个阶段的输出特征图x
l
作为特征提取网络的输出特征,并将其称为多阶段卷积神经网络,本发明采用后三阶段输出的卷积神经网络作为特征提取网络。
[0067]
如图3所示,所述通道特征再注意模块内部首先采用平均池化和最大池化操作来整合特征通道信息,并利用softmax函数来获取特征图中每个通道的权重信息;按照权重分配得到增强的掩码矩阵e,并将权重高的通道进行抑制,通过抑制函数f(x)得到抑制的掩码矩阵s。将输入特征图x
l
分别与增强的掩码矩阵e和抑制的掩码矩阵s相乘得到输出特征图和其中,
[0068]
softmax函数可由下式表示:
[0069][0070]
其中,zi是经过softmax函数后每个通道的输出值,c是输出通道的总数量,通过softmax函数就可以获得所求通道的权重信息。
[0071]
增强的掩码矩阵e可由下式进行计算:
[0072]
e=softmax(avgpool(x
l
)+maxpool((x
l
)))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0073]
其中,avgpool(
·
)表示平均池化,maxpool(
·
)表示最大池化;
[0074]
抑制函数f(x)可由下式表示:
[0075][0076]
其中,zi是经过softmax函数后每个通道的输出值,z
max
是通道最大的输出值,ω、δ均表示超参数,它们分别代表对应的通道被抑制的程度和需要进行抑制通道的程度。
[0077]
当前阶段的输出特征图和可由下式得到:
[0078][0079]
其中,表示逐元素相乘操作。
[0080]
多个阶段的经过卷积层conv通道维度统一后作为对应阶段的输出,通道统一是为了保证低级信息和高级信息的平衡。输入到后续阶段强迫网络挖掘包含细粒度知识的潜在的通道特征。
[0081]
如图4所示,所述空间多区域特征注意模块采用下采样卷积、1
×
1卷积、softmax函数和ccmp(cross-channel max pooling)模块,其中下采样卷积用于将多个阶段的和网络最后一个阶段的特征图空间尺度保持一致,1
×
1卷积用来简化计算,softmax函数和ccmp模块用来计算多个阶段的的空间上的相似性,并得到多样性学习损失l
div
,l
div
和相似性之间呈负相关,通过训练降低多样性损失,即可使多个阶段的在空间上关注物体不同的辨别性部分;
[0082]
假设特征提取网络的后三阶段经过通道再注意模块得到的特征图分别为和其中,c
t
表示归一化后的通道维度,在本发明中取值等于1,w
l-2
表示第l-2个阶段特征图的宽度,h
l-2
表示第l-2个阶段特征图的
高度;w
l-1
表示第l-1个阶段特征图的宽度,h
l-1
表示第l-1个阶段特征图的高度,w
l
表示第l个阶段特征图的宽度,h
l
表示第l个阶段特征图的高度;
[0083]
为了减少计算量,对特征图通过下式进行预处理:
[0084][0085]
其中,φ(
·
)表示1
×
1卷积;conv_block
l
(
·
)表示下采样卷积;l表示特征图的第几个阶段。
[0086]
这样就得到了空间尺寸相同、通道数为1的来自三个阶段的特征图。为了探索三个阶段特征图空间尺寸上的相似性,采用softmax函数获取每个空间位置处的权重信息,之后沿通道维度进行拼接得到特征图将其输入到ccmp模块中,ccmp是跨通道最大池化,它倾向于对x
concat
中的每个像素在通道维度的峰值进行响应,并对x
concat
中元素进行先求和再求均值的操作h(
·
)来得到相似性的值si;
[0087][0088]
其中,k表示x
concat
的空间尺寸的大小,j表示x
concat
的第几个通道,ε表示x
concat
的通道数量,通过空间多区域特征注意模块将得到一个表征各阶段特征图之间相似性的值si。si的值越大,特征图之间的相似性越高。为了使分类模型关注到物体的多个不同部分。在训练时会降低特征图之间的相似性,即降低si。
[0089]
最后,根据相似性si得到多样性学习损失l
div
,计算方式如下,
[0090]
l
div
=(1-si)/ε
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0091]
其中,ε代表采用了特征提取网络的几个阶段作为输出,在这里代表x
concat
的通道数,在本发明中取值为3。
[0092]
所述分类器采用softmax分类器,它被用在多分类任务中,能将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类。
[0093]
另外,所述分类网络模型的总损失函数l
total
定义如下:
[0094]
l
total
=αl
cls
+βl
div
+γl
con
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0095]
其中,l
cls
表示交叉熵损失,l
div
表示多样性学习损失,l
con
表示对比学习损失,α,β,γ表示平衡参数,用于各平衡损失函数的权重;其中,
[0096]
交叉熵损失l
cls
作为分类损失,由各阶段各自的分类损失和将各阶段特征拼接后表示整体的分类损失构成,计算公式如下:
[0097][0098]
其中,y是输入图像的真值标签,用one-hot向量来表示。θ1,θ2也是平衡参数,softmax函数用来计算神经网络的预测标签值。cls
l
(
·
)表示分类器,表示第l个阶段输出特征f
l
的标签预测值。cls
concat
(
·
)表示用于整体特征表示的分类器,z
fconcat
表示整体特征表示f
concate
的标签预测值。
[0099]
多样性学习损失l
div
的计算公式为公式(6):
[0100]
对比学习损失l
con
为:
[0101][0102]
其中,n是输入图像批次的大小,zi,zj是经过l2正则化后的同一批次内不同类别的输入图像,yi,yj是不同类别输入图像的标签值,sim(zi,zj)是zi,zj之间的余弦相似性,i,j表示同一批次的不同样本,η表示只有相似度大于η的不同类别的输入才对损失l
con
有贡献。
[0103]
步骤2、构建训练数据集,进行模型训练;具体过程如下:
[0104]
步骤2.1、采用cub_200_2011数据集作为训练数据集,将采集到的原始图像通过水平翻转和中心裁剪等方式进行数据预处理,实现数据扩充,构建训练数据集;
[0105]
cub_200_2011数据集由加州理工学院在2010年提出的细粒度数据集,也是目前细粒度分类识别研究的基准图像数据集。它共有11788张鸟类图像,包含200类鸟类子类,其中训练数据集有5994张图像,测试集有5794张图像,每张图像均提供了图像类标记信息。
[0106]
步骤2.2、将训练数据集的细粒度图像送入分类网络模型,对分类网络模型中的可学习的参数进行训练和优化,从而使模型中的通道特征再注意模块能够最大可能挖掘特征图中潜在的细粒度知识,空间多区域特征注意模块极大程度能够降低不同阶段的特征图之间的相似性,当整个模型训练到收敛时,得到训练完成的分类网络模型。
[0107]
步骤3、实时获取待分类的图像,将其送入训练完成的分类网络模型,得到当前图像的分类结果。具体过程如下:
[0108]
首先将待分类细粒度图像送入到阶段为l的特征提取网络中,然后将其输入通道特征再注意模块,得到通道增强的特征图和通道抑制的特征图通道增强的特征图作为网络当前阶段的输出,通道抑制的特征图送入后续阶段来强迫网络关注那些包含细粒度知识的信息贫瘠的通道;模型训练时已经利用空间多区域特征注意模块来使多个阶段输出的通道增强的特征图在空间维度上关注物体不同的辨别性部分;故该模型将会得到多个在空间和通道上都具有辨别性的输出特征,最后将多个阶段的输出特征作为该图像的特征表示;最终经过softmax分类器来得到当前图像的分类结果。
[0109]
本发明提出的一种基于融合通道特征再注意模块和空间多区域特征注意模块的卷积神经网络的细粒度图像分类方法,结合了深度学习中卷积神经网络和改进的注意力模块的方法来进行细粒度图像的分类。本发明所述方法最大程度地改进了注意力机制在该任务中的弊端,增强了基础卷积网络提取特征的能力。在分类网络模型中,通过提出的通道特征再注意模块,提高了网络中特征的利用率,几乎不会增加原网络的学习参数,且更好地学习了潜在的有助于细粒度分类的通道特征中包含的细粒度知识,同时能控制对较小训练集任务的过度拟合(如本发明所用的cub_200_2011鸟类数据集);引入空间多区域特征注意模块来使分类网络多个阶段输出的特征图在空间上关注物体不同的辨别性部分,而不是都关注物体最显著的的部分;在损失函数中设计的对比学习损失项,融合对比学习的思想,提升网络模型的分类性能。本发明解决了细粒度图像分类任务中使用深层网络提取特征时不能充分利用上下文的问题,及应用注意力机制时只关注物体最显著的通道和空间特征等问题。
[0110]
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1