一种基于双分支网络的细粒度图像分类方法及系统

文档序号:28399691发布日期:2022-01-08 01:19阅读:161来源:国知局
一种基于双分支网络的细粒度图像分类方法及系统

1.本发明涉及一种基于双分支网络的细粒度图像分类方法及系统,属于计算机视觉技术领域。


背景技术:

2.细粒度图像分类属于图像分类任务领域,与普通分类任务不同的是,细粒度图像分类任务旨在对大类中的子类进行分类,如:不同类型的车、鸟和飞机等。这类分类目标具有类内差异大,类间差异小的特点,这使得分类的关键在于目标细微的特征提取。现阶段,细粒度图像分类方法主要是利用注意力机制对目标进行最大值激活以获取目标有效的局部判别性特征,缺乏对非最大值激活特征进行提取;另一方面,目前大部分的细粒度分类方法主要是基于卷积神经网络提取目标特征,缺乏利用transformer架构的角度设计网络骨架和目标函数设计等考虑,已存在的卷积神经网络方法难以直接扩展至基于transformer架构网络的细粒度图像分类方法。


技术实现要素:

3.本发明的目的在于克服现有技术中的不足,提供一种基于双分支网络的细粒度图像分类方法及系统,能够解决现有技术中卷积神经网络方法无法扩展至基于transformer架构网络的细粒度图像分类任务的不足和注意力机制对目标特征提取不充分的问题。为达到上述目的,本发明是采用下述技术方案实现的:
4.第一方面,本发明提供了一种基于双分支网络的细粒度图像分类方法,包括:
5.对待分类目标图像进行预处理;
6.将预处理后的目标图像输入预先训练好的非最大值激活双分支网络,提取得到待分类目标图像特征;其中,所述非最大值激活双分支网络包括非最大值激活模块和同构双分支子网络,所述非最大值激活模块用于输出最大激活特征和非最大值激活特征,输出的特征输入所述同构双分支子网络,由同构双分支子网络进行学习,输出待分类目标图像特征;
7.基于得到的待分类目标图像特征,采用分类器进行类别预测,得到待分类目标图像特征的类别预测结果;
8.采用预设的融合方法融合类别预测结果,得到待分类目标图像的分类结果。
9.结合第一方面,进一步地,所述对待分类目标图像进行预处理,包括:
10.将待分类目标图像缩放至600像素
×
600像素大小,以图像中心为中心裁剪一个大小为448像素
×
448像素的图像区域。
11.结合第一方面,进一步地,所述非最大值激活双分支网络包括图像预处理模块、骨干网特征提取模块、非最大值激活模块和同构双分支子网络。
12.结合第一方面,进一步地,所述非最大值激活双分支网络通过以下步骤训练的:
13.将用于训练的图像输入所述非最大值激活双分支网络;在预设的目标损失函数指
导下,采用随机梯度下降算法对非最大值激活双分支网络的参数进行训练,得到最优网络参数。
14.结合第一方面,优选地,所述用于训练的图像通过以下步骤得到:将图像缩放至600像素
×
600像素大小,随机裁剪一个大小为448像素
×
448像素的区域图像,采用随机率为0.5的随机水平翻转方式对图像进行翻转。
15.结合第一方面,进一步地,所述预设的目标损失函数为:
16.l=l
ce
+λl
db
ꢀꢀꢀ
(1)
17.式(1)中,l表示目标损失函数;λ表示l
ce
和l
db
之间的权重;l
ce
表示交叉熵分类目标损失函数,通过下式表示:
[0018][0019]
式(2)中,b表示输入图像张数;fb表示第b张图像特征,yb表示第b张图像的真实标签,且yb∈{1,2,

,c},表示特征fb映射到真实标签类别yb的权重参数,wj表示特征fb映射到第j个类别的权重参数,c为类别总个数;
[0020]
式(1)中,l
db
表示相似度度量目标损失函数,通过下式表示:
[0021][0022]
式(3)中,表示不同分支特征间相似度矩阵,表示第b张图像特征和拼接并标准化的特征,表示转置后的特征,diag(sb)表示提取sb主对角线的值,b表示输入图像张数。
[0023]
结合第一方面,进一步地,所述非最大值激活模块的计算过程包括:
[0024]fm
,fn=nam(f)
ꢀꢀꢀꢀꢀ
(4)
[0025]
式(4)中,nam(.)表示模块计算过程;f表示输入非最大值激活模块的特征,满足f∈rb×
l
×c;其中b表示输入图像张数、l表示特征维数、c表示特征通道数;fm表示非最大值激活模块输出的最大值激活特征,满足fm∈rb×
l
×c,
[0026]fn
表示非最大值激活模块输出的非最大值激活特征,满足fn∈rb×
l
×c。
[0027]
结合第一方面,进一步地,所述非最大值激活模块输出的最大值激活特征fm的计算过程为:
[0028]
沿输入非最大值激活模块的特征f的第2维将其等分为k组,要求特征维数l为组数k的整数倍,得到第i组特征为
[0029]
计算每组特征fi对应的权重矩阵通过下式计算:
[0030][0031]
式(5)中,表示第b张图像第l维的权重,分母为对k个块进行权重归一化;ai(b,l)表示ai中位置(b,l)的元素,ai表示第i组特征向量,通过下式表示:
[0032][0033]
式(6)中,gap(
·
)表示全局均值池化操作,表示卷积操作,σ(
·
)表示relu激活操作;
[0034]
将权重矩阵在通道维对特征fi进行扩展加权计算,得到加权特征
[0035]
将k组特征进行拼接,得到最大值激活特征fm。
[0036]
结合第一方面,进一步地,所述非最大值激活模块输出的非最大值激活特征fn的计算过程为:
[0037]
对每组特征执行最大值抑制操作:
[0038][0039]
式(7)中,表示对权重矩阵抑制的排名,表示中第α大的值,β∈[0,1]表示对最大值激活特征权重的抑制程度,表示第i组非最大值激励特征权重矩阵;
[0040]
将权重矩阵在通道维对特征fi进行扩展加权计算,得到加权特征
[0041]
将k组特征进行拼接,得到非最大值激活特征fn。
[0042]
结合第一方面,进一步地,所述采用预设的融合方法融合类别预测结果,包括:
[0043]
所述类别概率预测结果表示为p1、p2和p3,分别对应非最大值激活双分支网络输出的三个特征x1、x2和x3;其中,x1表示包含最大值激励特征的待分类目标图像特征,x2表示包含非最大值激励特征的待分类目标图像特征,x3表示拼接特征,满足x3=concat(x1,x2),concat(
·
)表示在特征通道维进行拼接操作;
[0044]
采用加权求和融合得到预测结果,通过下式进行计算:
[0045][0046]
式(8)中,表示加权融合后第c个类的预测概率,表示第k个路径输出的第c个类的概率,c为类别个数,m表示路径总数;
[0047]
待分类目标图像的分类结果为中值最大值所对应的类别,计算过程为
[0048]
第二方面,本发明提供了一种基于双分支网络的细粒度图像分类系统,包括:
[0049]
预处理模块:用于对待分类目标图像进行预处理;
[0050]
特征提取模块:用于将预处理后的目标图像输入预先训练好的非最大值激活双分支网络,提取得到待分类目标图像特征;其中,所述非最大值激活双分支网络包括非最大值
激活模块和同构双分支子网络,所述非最大值激活模块用于输出最大激活特征和非最大值激活特征,输出的特征输入所述同构双分支子网络,由同构双分支子网络进行学习,输出待分类目标图像特征;
[0051]
类别预测模块:用于基于得到的待分类目标图像特征,采用分类器进行类别预测,得到待分类目标图像特征的类别预测结果;
[0052]
融合输出模块:用于采用预设的融合方法融合类别预测结果,得到待分类目标图像的分类结果。
[0053]
与现有技术相比,本发明实施例所提供的一种基于双分支网络的细粒度图像分类方法及系统所达到的有益效果包括:
[0054]
本发明对待分类目标图像进行预处理;将预处理后的目标图像输入预先训练好的非最大值激活双分支网络,提取得到待分类目标图像特征;其中,所述非最大值激活双分支网络包括非最大值激活模块和同构双分支子网络,所述非最大值激活模块用于输出最大激活特征和非最大值激活特征,输出的特征输入所述同构双分支子网络,由同构双分支子网络进行学习,输出待分类目标图像特征;本发明在swin transformer深度神经网络的基础进行改进,引入了非最大值激活模块和同构双分支子网络,能够获取更充分的目标判别性区域特征;
[0055]
本发明基于得到的待分类目标图像特征,采用分类器进行类别预测,得到待分类目标图像特征的类别预测结果;采用预设的融合方法融合类别预测结果,得到待分类目标图像的分类结果;本发明能够解决目前注意力机制特征提取不充分的问题,能够解决现有技术中基于卷积神经网络的注意力机制方法难以直接扩展至基于transformer框架细粒度分类方法的不足,能够提升细粒度分类结果的准确性和鲁棒性。
附图说明
[0056]
图1是本发明实施例一提供的一种基于双分支网络的细粒度图像分类方法的流程图;
[0057]
图2是本发明实施例一提供的一种基于双分支网络的细粒度图像分类方法中非最大值激活双分支网络的结构图;
[0058]
图3是本发明实施例一提供的一种基于双分支网络的细粒度图像分类方法中非最大值激活模块的结构图;
[0059]
图4是本发明实施例二提供的一种基于双分支网络的细粒度图像分类系统的结构图。
具体实施方式
[0060]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0061]
实施例一:
[0062]
如图1所示,本发明实施例提供了一种基于双分支网络的细粒度图像分类方法,包括:
[0063]
对待分类目标图像进行预处理;
[0064]
将预处理后的目标图像输入预先训练好的非最大值激活双分支网络,提取得到待分类目标图像特征;其中,所述非最大值激活双分支网络包括非最大值激活模块和同构双分支子网络,所述非最大值激活模块用于输出最大激活特征和非最大值激活特征,输出的特征输入所述同构双分支子网络,由同构双分支子网络进行学习,输出待分类目标图像特征;
[0065]
基于得到的待分类目标图像特征,采用分类器进行类别预测,得到待分类目标图像特征的类别预测结果;
[0066]
采用预设的融合方法融合类别预测结果,得到待分类目标图像的分类结果。
[0067]
如图1所示,具体步骤如下:
[0068]
步骤1:对待分类目标图像进行预处理。
[0069]
将待分类目标图像缩放至600像素
×
600像素大小,以图像中心为中心裁剪一个大小为448像素
×
448像素的图像区域。
[0070]
步骤2:构建并训练非最大值激活双分支网络。
[0071]
非最大值激活双分支网络包括图像预处理模块、骨干网特征提取模块、非最大值激活模块和同构双分支子网络。
[0072]
步骤2.1:构建非最大值激活双分支网络。
[0073]
在现有swin transformer深度神经网络的前三个阶段之后,引入非最大值激活模块,并复制swin transformer深度神经网络的最后一个阶段构建同构双分支子网络,最终构建非最大值激活双分支网络。构建完成的非最大值激活双分支网络如图2所示。
[0074]
具体的,swin transformer深度神经网络的相关内容见ze liu,yutong lin,yue cao,han hu,yixuan wei,zheng zhang,stephen lin and bainingguo,swin transformer:hierarchical vision transformer using shifted windows,[db][2021-04-08]https://arxiv.org/abs/2103.14030。
[0075]
如图3所示,非最大值激活模块对前三个阶段输出特征进行处理得到最大激活特征和非最大值激活特征,并送入所述同构双分支子网络进行处理。
[0076]
非最大值激活模块的计算过程包括:
[0077]fm
,fn=nam(f)
ꢀꢀꢀꢀ
(1)
[0078]
式(1)中,nam(.)表示模块计算过程;f表示输入非最大值激活模块的特征,满足f∈rb×
l
×c;其中b表示输入图像张数、l表示特征维数、c表示特征通道数;fm表示非最大值激活模块输出的最大值激活特征,满足fm∈rb×
l
×c,
[0079]fn
表示非最大值激活模块输出的非最大值激活特征,满足fn∈rb×
l
×c。
[0080]
非最大值激活模块输出的最大值激活特征fm的计算过程为:
[0081]
沿输入非最大值激活模块的特征f的第2维将其等分为k组,要求特征维数l为组数k的整数倍,得到第i组特征为
[0082]
计算每组特征fi对应的权重矩阵通过下式计算:
[0083]
[0084]
式(2)中,表示第b张图像第l维的权重,分母为对k个块进行权重归一化;ai(b,l)表示ai中位置(b,l)的元素,ai表示第i组特征向量,通过下式表示:
[0085][0086]
式(3)中,gap(
·
)表示全局均值池化操作,表示卷积操作,σ(
·
)表示relu激活操作;
[0087]
将权重矩阵在通道维对特征fi进行扩展加权计算,得到加权特征
[0088]
将k组特征进行拼接,得到最大值激活特征fm。
[0089]
非最大值激活模块输出的非最大值激活特征fn的计算过程为:
[0090]
对每组特征执行最大值抑制操作:
[0091][0092]
式(4)中,表示对权重矩阵抑制的排名,表示中第α大的值,β∈[0,1]表示对最大值激活特征权重的抑制程度,表示第i组非最大值激励特征权重矩阵;
[0093]
将权重矩阵在通道维对特征fi进行扩展加权计算,得到加权特征
[0094]
将k组特征进行拼接,得到非最大值激活特征fn。
[0095]
步骤2.2:训练非最大值激活双分支网络。
[0096]
将用于训练的图像输入所述非最大值激活双分支网络;在预设的目标损失函数指导下,采用随机梯度下降算法对非最大值激活双分支网络的参数进行训练,得到最优网络参数。
[0097]
用于训练的图像通过以下步骤得到:将图像缩放至600像素
×
600像素大小,随机裁剪一个大小为448像素
×
448像素的区域图像,采用随机率为0.5的随机水平翻转方式对图像进行翻转。
[0098]
预设的目标损失函数由交叉熵分类目标损失函数和相似度度量目标损失函数构成,通过下式计算:
[0099]
l=l
ce
+λl
db
ꢀꢀꢀꢀ
(5)
[0100]
式(5)中,l表示目标损失函数;λ表示l
ce
和l
db
之间的权重;l
ce
表示交叉熵分类目标损失函数,通过下式表示:
[0101][0102]
式(6)中,b表示输入图像张数;fb表示第b张图像特征,yb表示第b张图像的真实标
签,且yb∈{1,2,

,c},表示特征fb映射到真实标签类别yb的权重参数,wj表示特征fb映射到第j个类别的权重参数,c为类别总个数;
[0103]
式(5)中,l
db
表示相似度度量目标损失函数,通过下式表示:
[0104][0105]
式(7)中,表示不同分支特征间相似度矩阵,表示第b张图像特征和拼接并标准化的特征,表示转置后的特征,diag(sb)表示提取sb主对角线的值,b表示输入图像张数。
[0106]
步骤3:将预处理后的目标图像输入预先训练好的非最大值激活双分支网络,提取得到待分类目标图像特征。
[0107]
非最大值激活模块输出最大激活特征和非最大值激活特征,输出的特征输入所述同构双分支子网络,由同构双分支子网络进行学习,输出待分类目标图像特征。
[0108]
步骤4:基于得到的待分类目标图像特征,采用分类器进行类别预测,得到待分类目标图像特征的类别预测结果。
[0109]
具体的,待分类图像i∈r3×
448
×
448
经过非最大值激活双分支网络得到三个分类特征x1、x2和x3,对于这三个分类特征分别采用独立的分类器进行类别概率预测,得到类别概率预测结果p1、p2和p3。其中,x1表示包含最大值激励特征的待分类目标图像特征,x2表示包含非最大值激励特征的待分类目标图像特征,x3表示拼接特征,满足x3=concat(x1,x2),concat(
·
)表示在特征通道维进行拼接操作。
[0110]
步骤5:采用预设的融合方法融合类别预测结果,得到待分类目标图像的分类结果。
[0111]
步骤5.1:基于类别概率预测结果p1、p2和p3,采用加权求和融合获得预测结果:
[0112][0113]
式(8)中,表示加权融合后第c个类的预测概率,表示第k个路径输出的第c个类的概率,c为类别个数,m表示路径总数。
[0114]
步骤5.2:待分类目标图像的分类结果为中值最大值所对应的类别,计算过程为
[0115]
本发明能够获取更充分的目标判别性区域特征,能够解决目前注意力机制特征提取不充分的问题,能够解决现有技术中基于卷积神经网络的注意力机制方法难以直接扩展至基于transformer框架细粒度分类方法的不足,能够提升细粒度分类结果的准确性和鲁棒性。
[0116]
实施例二:
[0117]
如图4所示,本发明实施例提供一种基于双分支网络的细粒度图像分类系统,包括:
[0118]
预处理模块:用于对待分类目标图像进行预处理;
[0119]
特征提取模块:用于将预处理后的目标图像输入预先训练好的非最大值激活双分支网络,提取得到待分类目标图像特征;其中,所述非最大值激活双分支网络包括非最大值激活模块和同构双分支子网络,所述非最大值激活模块用于输出最大激活特征和非最大值激活特征,输出的特征输入所述同构双分支子网络,由同构双分支子网络进行学习,输出待分类目标图像特征;
[0120]
类别预测模块:用于基于得到的待分类目标图像特征,采用分类器进行类别预测,得到待分类目标图像特征的类别预测结果;
[0121]
融合输出模块:用于采用预设的融合方法融合类别预测结果,得到待分类目标图像的分类结果。
[0122]
实施例三:
[0123]
本发明实施例提供一种基于双分支网络的细粒度图像分类装置,包括处理器及存储介质;
[0124]
所述存储介质用于存储指令;
[0125]
所述处理器用于根据所述指令进行操作以执行实施例一所述方法的步骤。
[0126]
实施例四:
[0127]
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一所述方法的步骤。
[0128]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0129]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0130]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0131]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0132]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1