发明内容
基于此,本申请针对现有技术,提出了一种基于注意力平衡的细粒度图像识别方法。该方法提出对目前细粒度图像识别模型中的注意力机制进行平衡优化,从而提高模型对噪声的抑制能力,然后进一步提取出更高质量的关键特征。将高质量的特征用于最终的识别,从而提高细粒度图像识别精度和鲁棒性。
为了达到上述目的,本申请提供了一种基于注意力平衡的细粒度图像识别方法,包括如下步骤:进行模型的初始化,将输入数据输入至模型中;将输入数据传输至模型后,获取注意力模块的输入特征;根据获取的输入特征进行卷积神经网络模型的训练;根据训练后的卷积神经网络模型进行输入数据的预测识别,并输出预测结果。
如上的,其中,根据获取的输入特征进行卷积神经网络模型的训练,包括以下子步骤:将输入特征输入分别输入注意力模块,通过全局平均池化获取通道注意力;将获得的通道注意力分别加权到NL模块输出的特征矩阵上,保存卷积神经网络模型提取的原有的关键特征。
如上的,其中,通过全局平均池化方法计算特征矩阵F中每个通道对应特征图的平均值来获取通道的注意力权重β=[β1,...,βC],其中通道c通过全局平均池化方法计算得到对应的注意力权重βc如下:
其中H,W分别代表特征图的高度、宽度,Fc∈RH×W表示特征矩阵F的通道对应的特征图,Fc(i,j)表示特征图上对应(i,j)位置的点,i、j分别表示该点在特征图上横坐标和纵坐标的值。
如上的,其中,将获得的当前NL模块对应的通道注意力βc加权到特征矩阵F上,得到保留了原有关键特征的特征矩阵
如上的,其中,根据获取的输入特征进行卷积神经网络模型的训练,还包括以下子步骤:获取注意力权重;对获得的注意力权重进行处理,得到注意力图;对注意力图进行抑制处理;将抑制之后的注意力图加权到输入特征的特征矩阵中,进行输入特征的抑制,并再次提取新的特征。
如上的,其中,通过全局最大池化方法计算每个通道对应特征图中的最大值,获取所有通道的注意力权重α=[α1,...,αC],其中通道c对应的注意力权重αc如下:
αc=max({Fc(i,j)i∈[1,H],j∈[1,W]})
其中,Fc∈RH×W表示特征矩阵F的通道c对应的特征图,Fc(i,j)表示特征图上对应(i,j)位置的点,H,W分别代表特征图的高度、宽度。
如上的,其中,将全局最大池化的加权结果进一步处理,将所有通道求平均值以及归一化,获得保存位置响应程度的注意力图。
如上的,其中,使用softmax方法对通道权重进行归一化并进一步增强高响应通道的权重,归一化处理过程表示为α=[α1,...,αC]表示所有通道的注意力权重。
如上的,其中,注意力图表示为:
其中C表示特征图的数量,/>表示归一化后通道c对应的注意力权重,Fc∈RH×W表示特征矩阵F的通道c对应的特征图。
一种基于注意力平衡的细粒度图像识别***,具体包括,图像识别单元,预测输出单元;其中图像识别单元执行上述任一项的方法;其中图像识别单元包括卷积神经网络模型和多个注意力模块。
本申请具体以下有益效果:
(1)本实施例提供的一种基于注意力平衡的细粒度图像识别方法及其***,针对细粒度图像识别中注意力过度关注局部的关键位置,可能会忽略很多有价值的信息的问题,从而提出了注意力分散方法,可以有效地抑制模型对局部位置的过度关注,同时抑制了噪声的影响,使模型能够从数据中提取出更多有价值的特征信息,提升模型的鲁棒性。
(2)本实施例提供的一种基于注意力平衡的细粒度图像识别方法及其***,将注意力增强模块能够与注意力分散模块相结合,首先能够保留模型原有的特征提取能力,避免模型因为注意力的分散导致欠拟合问题。且该模块能够将新旧特征进行融合和压缩,充分提取有价值的特征信息,提高模型的识别精度。
(3)本实施例提供的一种基于注意力平衡的细粒度图像识别方法及其***,以细粒度图像识别模型原本的网络结构为基础,该方法可以应用于任何卷积神经网络结构和以卷积神经网络为基础的注意力结构,降低了使用难度。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本申请提供的一种基于注意力平衡的细粒度图像识别***,该***包含图像识别单元110,预测输出单元120。
其中图像识别单元110具体为细粒度图像识别模型的骨干网络,用于进行图像的预测识别。细粒度图像识别模型具体由卷积神经网络模型和多个注意力模块(简称NL模块)组成。
其中,卷积神经网络模型为现有技术中的经典网络模型,具体不再进行赘述。
其中,设卷积神经网络模型某一中间层(或模块)block的输入特征矩阵为I,输出特征矩阵为F∈RH×W×C,其中H,W,C分别代表特征图的高度、宽度以及通道数量。
其中,注意力模块为多个,每个注意力模块中均包括一个注意力分散模块和一个注意力增强模块。
其中注意力分散模块用来抑制模型的高响应区域并捕获更多有价值的特征。
注意力增强模块与注意力分散模块连接,用于保存模型原本提取的特征,并通过特征融合方法进一步提取有效特征。
进一步地,卷积神经网络模型的分类器由全局平均池化层、全连接层和归一化函数组成。
优选地,本实例中训练卷积神经网络模型使用的数据集为CUB-200-2011数据集,该数据集是由加州理工学院在2010年提出的细粒度数据集,也是目前细粒度分类识别研究的基准图像数据集。该数据集共有11788张鸟类图像,包含200类鸟类子类,其中训练数据集有5994张图像,测试集有5794张图像,每张图像均提供了图像类标记信息。
预测输出单元120与图像识别单元110连接,用于将图像识别单元的图像的预测识别结果进行输出。
如图2所示,为本申请提供的一种基于注意力平衡的细粒度图像识别方法流程图。
步骤S210:进行细粒度图像识别模型的初始化,将输入数据输入至细粒度图像识别模型中。
其中,将细粒度图像识别模型的参数初始化为预训练的参数,完成细粒度图像识别模型的初始化。
其中该输入数据为训练数据集中的数据。
步骤S220:将输入数据传输至细粒度图像识别模型后,获取注意力模块的输入特征。
将输入数据输入模型后,细粒度图像识别模型中的卷积神经网络模型将输入的训练数据并进行前向传播,传播至每个NL模块但未输入NL模块时的训练数据为该注意力模块输入特征。
步骤S230:根据获取的输入特征进行卷积神经网络模型的训练。
其中,设卷积神经网络模型某一中间层(或模块)block的输入特征矩阵为I∈RH ×W×C,输出特征矩阵为F∈RH×W×C,其中H,W,C分别代表特征矩阵的高度、宽度以及通道数量,Fc∈RH×W表示特征矩阵F的通道c对应的特征图,其中通道数表示了NL模块输出特征矩阵F的深度。
其中步骤S230具体包括以下子步骤:
步骤S2301:获取卷积神经网络模型提取的关键特征。
为了能够抑制卷积神经网络模型对于细粒度区域的过高响应,本方法设计了注意力增强模块,对卷积神经网络模型中的注意力结构提取的特征进行处理,保存卷积神经网络模型提取的原本特征。
具体地,由于NL模块有多个,因此需要获取并保存每一个NL模块的注意力图。因此对于每个NL模块,均需要执行以下子步骤。
步骤S23011:将输入特征输入当前NL模块,通过全局平均池化获取通道注意力。
具体地,将输入特征通过每个NL模块,提取特征矩阵,然后将特征矩阵分别通过全局平均池化,获取每个NL模块的通道对应的注意力权重。
其中,每个NL模块中的注意力增强模块通过全局平均池化方法计算特征矩阵F中每个通道对应特征图的平均值来获取通道的注意力权重β=[β1,...,βC],其中通道c通过全局平均池化方法计算得到对应的注意力权重βc如下:
其中,Fc∈RH×W表示特征矩阵F的通道c对应的特征图,Fc(i,j)表示特征图上对应(i,j)位置的点。
步骤S23012:将获得的通道注意力分别加权到NL模块输出的特征矩阵上,保存卷积神经网络模型提取的原有的关键特征。
具体地,将获得的当前NL模块对应的通道注意力βc加权到特征矩阵F上,得到保留了原有关键特征的特征矩阵通过该方法,将每个NL模块对应的特征矩阵/>
步骤S2302:根据输入特征获取提取新的特征信息。
具体地,由于NL模块有多个,因此需要获取并保存每一个NL模块的注意力图。因此对于每个NL模块,均需要执行以下子步骤。
其中步骤S2302具体包括以下子步骤:
步骤S23021:将输入特征输入当前NL模块,获取注意力权重。
具体地,将输入特征通过当前NL模块,提取特征矩阵,然后将特征矩阵通过全局平均池化,获取通道对应的注意力权重。
其中,注意力分散模块通过全局最大池化方法计算每个通道对应特征图中的最大值,获取所有通道的注意力权重α=[α1,...,αC],其中通道c对应的权重αc如下:
αc=max({Fc(i,j)i∈[1,H],j∈[1,W]})
其中,Fc∈RH×W表示特征矩阵F的通道c对应的特征图,Fc(i,j)表示特征图上对应(i,j)位置的点。
步骤S23022:对获得的注意力权重进行处理,得到注意力图。
其中,将获得的通道注意力分别加权到NL模块输出的特征矩阵上。注意力分散模块将全局最大池化的加权结果进一步处理,将所有通道求平均值以及归一化,获得保存位置响应程度的注意力图。
具体地,使用softmax方法对通道的注意力权重进行归一化并进一步增强高响应通道的权重。归一化处理过程表示为
将得到的通道注意力权重加权到特征矩阵F对应通道的特征图,并进行平均求和,得到注意力图上对应每个位置的响应权重fmax:
表示归一化后通道c对应的注意力权重,Fc∈RH×W表示特征矩阵F的通道c对应的特征图,C表示特征图的数量。
其中,高权重代表该位置是模型的高响应区域,低权重代表该位置是模型的低响应区域。
然后,对fmax进行归一化,得到注意力图,在对fmax进行归一化之前,还包括,若卷积神经网络中进行了多次降维操作,则需要先对fmax进行上采样,然后对fmax进行归一化处理。若卷积神经网络不涉及多次降维操作,则直接进行归一化处理。
其中注意力图表示为:
其中e表示指数,fmax表示注意力图上对应每个位置的响应权重。
步骤S23023:对注意力图进行抑制处理。
其中,通过注意力分散模块将获得的注意力图的高响应位置进行抑制。
具体地,将中权重较高的区域进行抑制,得到削弱的注意力响应图fweak∈RH ×W,然后对于fweak上的每一个位置的权重,做如下处理:
其中,λ越小对高响应区域的抑制程度越高,/>越小对高相应区域的抑制范围越大。
步骤S23024:将抑制之后的注意力图加权到输入特征的特征矩阵中,进行输入特征的抑制,并将抑制之后的输入特征矩阵再次输入NL模块,提取新的特征。
具体地,将fweak加权到输入特征矩阵I上,并再次通过原本的网络结构,获得新的特征矩阵
其中,表示Hadar积,broadcast表示广播操作,由于I∈RH×W×C,fweak∈RH×W,需要通过broadcast实现对特征图的对位相乘。
步骤S2303:将提取的新的特征与保存的关键特征进行拼接,提取有效特征信息。
其中,将每个NL模块得到的新的特征与全局平均池化保存的关键特征进行拼接,再通过1×1卷积进行通道压缩,进一步提取有效特征。
具体地,为了更加有效地进行特征融合,在提取有价值的特征的同时,尽量将无用的特征和干扰去除,本实施例提出先将与注意力分散模块输出的特征矩阵/>在通道维度C上进行拼接,保证新旧特征不丢失,得到融合了新旧特征信息的特征矩阵Fmix∈RH×W×2C。
然后将Fmix通过步长为1,输出通道数为C,卷积核为1×1的卷积层,对特征信息进行压缩,从而进一步提取有效特征信息,将得到的特征矩阵作为当前网络层的最终输出特征矩阵
步骤S2304:提取有效特征信息对应的注意力图。
以当前注意力增强模块的输出特征矩阵为例,通过全局平均池化方法计算特征矩阵/>中每个通道对应特征图的平均值来获取通道的响应权重λ=[λ1,...,λC],其中通道c通过全局平均池化方法计算得到对应的注意力权重λc如下:
其中使用soft max方法对通道的响应权重进行归一化处理,
其中提取有效特征信息对应的注意力图m具体表示为:
其中,该注意力图m为当前注意力增强模块最终保存的注意力图,Fc∈RH×W表示特征矩阵F的通道c对应的特征图,C表示特征图的数量,表示归一化后通道c对应的注意力权重。
具体地,提取的注意力图表示为:
M={m1,...mn},其中m1表示两次降维之间的第一个注意力增强模块的输出注意力图,n表示两次降维之间注意力增强模块的数量。
其中第一个注意力增强模块为多个NL模块中第一个NL模块中包括的注意力增强模块。
步骤S2305:将提取的注意力图进行多尺度信息的融合。
其中,将每个NL模块的最终保存的注意力图加权到模型最后的输出特征矩阵,进行多尺度信息的融合。
其中融合后的注意力图mmix表示为:
其中,downsampling表示对融合后的注意力图进行下采样,使其与降维后的模块尺寸相同,然后在最终的分类器之前,mmix加权到最后的特征矩阵,从而完成多尺度信息的融合,k为两次降维之间注意力增强模块的索引,n表示两次降维之间注意力增强模块的数量,mk表示两次降维之间的第k个注意力增强模块的输出注意力图。
将得到的新特征与原有特征进行融合,从而达到抑制背景噪声与提高卷积神经网络模型特征提取能力的目的。
步骤S2306:将融合了多尺度信息的特征输入到剩余的卷积神经网络模型中,进行分类预测,得到预测结果。
其中预测结果为预测的输入数据的类别,其中类别指该输入数据的图像为哪种类别的图像,例如是否为鸟类图像或其他类图像。
步骤S2307:判断预测结果与输入数据的真实类别的差异,进行卷积神经网络模型参数的更新。
重复执行步骤S2201-2207,直至卷积神经网络模型参数收敛,保存当前得到的卷积神经网络模型的参数,卷积神经网络模型训练完成。
步骤S240:根据训练后的卷积神经网络模型进行输入数据的预测识别,并输出预测结果。
其中,该步骤中的输入数据为需要进行预测的数据。
响应于步骤S220完成了对卷积神经网络模型的训练,本步骤中,采用训练好的模型进行输入数据的最终预测识别。
其中预测的步骤为再次执行步骤S210-S230。
具体地,首先进行步骤S210的模型的初始化,通过步骤S220将输入数据输入至模型中进行预测识别,在将输入数据输入至模型后,为了能够抑制细粒度图像识别模型对于细粒度区域的过高响应,步骤S230中利用注意力分散模块对卷积神经网络模型中的注意力结构提取的特征进行处理,得到注意力图,然后对注意力图中的高响应区域进行抑制,并将抑制后的结果重新加入到卷积神经网络模型中的注意力结构进行循环训练,促使细粒度图像识别模型发掘更多有价值的特征,降低卷积神经网络模型对于高响应区域的敏感程度,从而降低噪声的影响。
为避免注意力的抑制影响卷积神经网络模型的收敛性能,步骤S230中通过注意力增强模块保存了原有的关键特征,并将循环训练提取到的新特征与原有的关键特征进行融合,进一步提取更高质量的特征。最后,将高质量的特征用于最终的识别,提高细粒度图像识别精度和鲁棒性。从而提供了更加精准的预测结果。
本申请具体以下有益效果:
(1)本实施例提供的一种基于注意力平衡的细粒度图像识别方法及其***,针对细粒度图像识别中注意力过度关注局部的关键位置,可能会忽略很多有价值的信息的问题,本发明提出的注意力分散方法可以有效地抑制模型对局部位置的过度关注,从而提出了注意力分散方法,可以有效地抑制模型对局部位置的过度关注,同时抑制了噪声的影响,使模型能够从数据中提取出更多有价值的特征信息,提升模型的鲁棒性。
(2)本实施例提供的一种基于注意力平衡的细粒度图像识别方法及其***,将注意力增强模块能够与注意力分散模块相结合,首先能够保留模型原有的特征提取能力,避免模型因为注意力的分散导致欠拟合问题。且该模块能够将新旧特征进行融合和压缩,充分提取有价值的特征信息,提高模型的识别精度。
(3)本实施例提供的一种基于注意力平衡的细粒度图像识别方法及其***,以细粒度图像识别模型原本的网络结构为基础,该方法可以应用于任何卷积神经网络结构和以卷积神经网络为基础的注意力结构,降低了使用难度。
以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特殊进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。