一种图像分类方法、装置及设备与流程

文档序号:21697944发布日期:2020-07-31 22:49阅读:83来源:国知局
一种图像分类方法、装置及设备与流程

本申请涉及监督学习和图像分类技术领域,尤其涉及一种图像分类方法、装置及设备。



背景技术:

图像识别是计算机视觉的一个重要的领域,其根据图像中事物的特征信息对图片进行分类处理。随着深度学习、深度卷积神经网络的发展,图像识别的准确率有了很大的提升,比较具有代表性的方法有resnet、vgg和inception等。为了进一步的提升图像识别的准确率,一些学者在上述方法中加入注意力机制增强提取图片的关键性的具有很强区分性的特征,如senet、cbam以及gcnet等。但上述的这些模型识别某些物体的时候,网络会把“注意力”放在和物体相关的东西上,而不是将“注意力”放在物体本身上。这种问题限制了模型性能和模型的运用场景。在行人再识别和细粒度识别的任务中,开始采用丢弃高响应特征的方法强迫模型找到图像中剩余具有判别性的部分来提高模型的性能。但在训练阶段直接丢弃高响应的区域可能导致训练的不稳定。



技术实现要素:

(一)要解决的技术问题

本公开提供了一种图像分类方法、装置及设备,以解决网络模型获取信息不全面,不充分,训练不稳定,分类效果不佳的问题。

(二)技术方案

第一方面,本申请提供了一种图像分类方法,包括:s1,获取图像的训练集和测试集;s2,对分类模型中的卷积模块设置显著性弱化模块以构建网络模型;s3,将训练集分多组输入所述网络模型,每训练一组训练集获得特征图,根据特征图获得显著性特征区域,增强并截取显著性特征区域;s4,将显著性特征区域再次输入所述网络模型,重复执行步骤s3,直至网络模型的损失函数不再降低或网络模型的准确率达到预设值;s5,将测试集输入步骤s4训练完成的网络模型实现测试集中图像的分类。

可选地,显著性弱化模块包括:s21,通过卷积模块获得图像的第一特征图;s22,将第一特征图的通道降至1获得图像的第二特征图;s23,弱化第二特征图中的高响应区,其中,高响应区为像素值大于或等于预设阈值的区域;s24,将弱化后的第二特征图重复执行步骤s21~s23,以获得目标特征图。

可选地,步骤s22还包括,将第二特征图的大小扩展为与卷积模块的输入图像相同的尺寸。

可选地,对第二特征图进行上采样,以使第二特征图的大小扩展为与卷积模块的输入图像相同的尺寸。

可选地,步骤s22包括:

获取第一特征图f中每一通道的权重值αc,其公式如下:

其中,fc(i,j)为第一特征图f的第c个通道上第i行第j列处的像素值,h为第一特征图的高,w为第一特征图的宽;

对权重值进行加权,将第一特征图变为一个通道获得第二特征图f,其计算公式为:

其中,c为总通道数,为按位相乘。

可选地,步骤s23具体为通过特征弱化弱化高响应区,公式如下:

其中,i为卷积模块输入的图像,i’为弱化高响应区后的图像,m为弱化特征算子,其中,θ∈(0,1)为弱化因子,a(i,j)为第二特征图中第i行第j列处的像素值,β为预设阈值。

可选地,步骤s1还包括对训练集和测试集进行预处理。

可选地,预处理包括调整图片大小、对图像进行归一化以及标准化,其中,对图像进行归一化公式为:

其中,xmax、xmin、xij分别为图像中一通道像素值的最大值、最小值和通道中第i行第j列处的像素值,x′ij为归一化后的结果;

对图像进行标准化的公式为:

其中,x″ij为标准化后的像素值,μ为图像通道像素值的平均值,σ为图像通道像素值的标准差。

另一方面,本公开提供了一种图像分类装置,包括:获取模块,用于获取图像的训练集和测试集;弱化模块,用于对分类模型中的卷积模块设置显著性弱化模块以构建网络模型;第一输入模块,用于将训练集分多组输入网络模型,每训练一组训练集获得特征图,根据特征图获得显著性特征区域,增强并截取显著性特征区域;第二输入模块,用于将显著性特征区域再次输入网络模型,重复执行第一输入模块,直至网络模型的损失函数不再降低或网络模型的准确率达到预设值;第三输入模块,用于将测试集输入第二输入模块训练完成的网络模型实现测试集中图像的分类。

再一方面,本公开提供了一种电子设备,包括:处理器;以及存储器,其上存储有计算机可读指令,指令被处理器执行时使得处理器执行上述的方法。

(三)有益效果

本公开提供了一种图像分类方法、装置及设备,至少具有如下有益效果:

显著性弱化模块能够使网络提取到更加全面的特征,增强模型的性能;

显著性弱化模块能够解决特征擦除模型训练不稳定的问题,使模型更加容易训练;

网络训练阶段使用增强特征的方法,能够提取到更加显著性(区分性)的特征,增强模型的性能,使得图片分类更加精确,效率更高。

本公开的方法具有改善图像识别、分类的性能的效果,可运用于与图像分类和识别相关的各种具体领域,如人脸识别、行人识别、行人再识别、图像语义分割等等领域;其也能作为基础网络的一种改进运用于自然语言处理等领域。

附图说明

图1示意性示出了根据本公开实施例的图像分类方法的步骤图;

图2示意性示出了根据本公开实施例的网络流程示意图;

图3示意性示出了根据本公开实施例的弱化高响应区的流程图;

图4示意性示出了根据本公开实施例的训练过程的示意图;

图5示意性示出了根据本公开实施例的图像分类方法的流程;

图6示意性示出了根据本公开实施例的图像分类装置的框图;

图7示意性示出了根据本公开实施例的电子设备的框图。

具体实施方式

以下将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。

本公开的实施例提供了一种图像分类方法,如图1所示,包括:s1,获取图像的训练集和测试集;s2,对分类模型中的卷积模块设置显著性弱化模块以构建网络模型;s3,将训练集分多组输入所述网络模型,每训练一组训练集获得特征图,根据特征图获得显著性特征区域,增强并截取显著性特征区域;s4,将显著性特征区域再次输入所述网络模型,重复执行步骤s3,直至网络模型的损失函数不再降低或网络模型的准确率达到预设值;以及s5,将测试集输入步骤s4训练完成的网络模型实现测试集中图像的分类。

以下将结合附图对本公开中的图像分类方法进行详细介绍。

s1,获取图像的训练集和测试集。

首先需要制作图像分类数据集,可以选用公开的数据集,也可以自行采集分类图片并进行图片标记,如图像分类数据集可以包括多张风景图以及多张人物图。在准备数据集后,将数据集随机划分为两份一份为训练集一份为测试集。

若训练集和/或测试集不满足要求需要对其进行预处理,如进行图片大小的调整、进行图像归一化、进行图像标准化等。

具体的,图像大小的调整以后续输入要求为依据,使图片的大小与输入保持一致。

对图像的像素数据进行归一化处理,将图片的三个通道的像素值归一化为[0,1],具体公式如下:

其中,xmax、xmin、xij分别为图像中一通道像素值的最大值、最小值和通道中第i行第j列处的像素值,x′ij为归一化后的结果。

而后对图像进行标准化处理,根据数据集的统计结果,假设需要处理的图片rgb三个通道像素的均值依次为0.485、0.456以及0.406,图片像素的标准差依次为0.229、0.224以及0.225,则其标准化的公式为:

其中,x″ij为标准化后的像素值,μ为图像通道像素值的平均值,σ为图像通道像素值的标准差。

s2,对分类模型中的卷积模块设置显著性弱化模块以构建网络模型;

而后需要构建图片分类的网络模型。本公开实施例中的模型可以是基于目前常用的resnet,vgg以及其改进或变形等的分类模型,对分类模型中的卷积模块(如resnet中的卷积模块block1,block2,block3,block4)施加显著性弱化模块,使网络能够找到图像中的其他具有判别性的特征。

其中,如图2所示,显著性弱化模块可以包括:

s21,通过卷积模块获得图像的第一特征图;

对数据集中的每一张图片i通过卷积模块得到第一特征图f∈rh×w×n,其中,h,w和n分别为特征层的高,宽和通道数。

s22,将第一特征图的通道降至1获得图像的第二特征图;

将第一特征图f∈rh×w×n的通道降为1得到第二特征图f,具体公式为:

其中,αc为第一特征图f中每一通道的权重值,fc(i,j)为第一特征图f的第c个通道上第i行第j列处的像素值,h为第一特征图的高,w为第一特征图的宽;

对权重值进行加权,将第一特征图变为一个通道获得第二特征图f,其计算公式为:

其中,c为总通道数,为按位相乘。

随后可以对第二特征图f进行上采样,将该第二特征图的大小扩展到与卷积模块的输入一样的大小,以便它们能够进行按位乘操作,具体公式为:

a=relu(up_sample(f))

s23,弱化第二特征图中的高响应区,其中,高响应区为像素值大于或等于预设阈值的区域;

下面参考图3该过程进行详细介绍,在第二特征图中有些是高响应区域(特征值比较大,如像素比较大),有些是低响应区(特征值比较小,如像素比较小),可以对像素设置一阈值,大于或等于预设阈值的可以认为是高响应区域,小于预设阈值的为低响应区。本公开实施例需要将高响应区域进行弱化,低响应区不进行弱化。弱化第二特征图中的高响应区,首先需要定义特征弱化因子θ∈(0,1),即在高响应区域弱化因子为θ,在低响应区域弱化因子为1,弱化特征算子m为:

其中,β为预设阈值,a(j,j)为第二特征图中第i行第j列处的像素值。

随后将卷积模块的输入特征与弱化特征算子进行按位乘操作得到新的卷积模块输入i’,公式为:

其中,i为卷积模块输入的图像,i’为弱化高响应区后的图像,m为弱化特征算子。

对于一个大小为384×128的图片,经过上述的resnet卷积模块和显著性弱化模块时,各个部分特征的大小如下表所示。

s24,将弱化后的第二特征图重复执行所述步骤s21~s23,以获得目标特征图。

将弱化后的第二特征图重新输入卷积模块进行特征提取,通过这样的操作能够减弱网络中高响应的特征,迫使网络能够找到其他具有判别性的特征。

s3,将训练集分多组输入网络模型,每训练一组训练集获得特征图,根据特征图获得显著性特征区域,增强并截取显著性特征区域;

如图4所示,训练上述步骤s2获得的网络模块,以确地网络模块中的有关参数,可以通过损失函数,运用反向传播机制调整模型的参数。本公开实施例中使用梯度反向传播算法实现模型参数的更新,因此在实际操作中可以根据实际需要选择优化器和损失函数。本公开实施例选用adam优化器和交叉熵损失函数。本公开实施例的训练过程可以概括为:将网络模型进行一次训练后,得到特征图,根据该特征图定位主要显著性特征,然后将显著性特征截取、放大相应的特征,再次输入模型进行训练。

具体包括:

s31,采用训练集对步骤s2获得的网络模型。可以将训练集的图片分批次的输入模型,以使损失函数(如交叉熵损失、标签平滑交叉熵损失、三元组损失等)和优化器(如随机梯度优化器、adam优化器等)通过梯度反向传播调整网络模型中的参数。

s32,对网络模型进行一次训练后,得到获得resnet输出的特征图,该特征图不仅包含高响应的特征,还包括其他判别性的特征,这些特征在该特征图上全部都应该是高响应特征,根据该高响应特征确定原图中对应的特征位置,这个位置应该包含原图中所有有价值(判别性)的特征。具体的:

s321,通过bilinear算法、bicubic算法将特征图放大到与原图一样的大小;

s322,定位显著性特征区域。取出特征图中高响应区域像素的索引(坐标),得到一个大小坐标矩阵l,其中n行表示高响应像素的个数,2列是行坐标和列坐标。

根据高响应区域的坐标矩阵,可以得到一矩阵区域,矩阵的四个顶点的坐标为(height_min,width_min)、(height_min,width_max)、(height_max,width_max)以及(height_max,width_min),其中,height_min、height_max、width_min以及width_max的计算如下:

height_min=max(min(l[:,0]),0)

height_max=min(max(l[:,0]),imgh)

width_min=max(min(l[:,1]),0)

width_max=min(max(l[:,1]),imgw)

其中,imgh为特征图的高也等于原输入图片的高,imgw为特征图的宽,也等于原输入图片的宽。

s323,增强特征区域。上述的矩阵框对应于原图中应该包含所有有价值的特征,矩形框以外的都是无价值的区域,可以直接舍弃。截取原图中对应区域的特征,然后按照s321中的方法将其放大到原图对应的大小,并输入网络进行训练步骤s31的训练。相当于将特征区域再次输入网络提取更加具有代表性的特征,这一步起到增强特征的作用。

s4,将显著性特征区域再次输入网络模型,重复执行步骤s3,直至网络模型的损失函数不再降低或网络模型的准确率达到预设值;

将显著性特征区域再次输入网络模型,重复执行步骤s3,直至网络模型的损失函数不再降低或网络模型的准确率达到预设值,结束训练,保存并输出模型。

s5,将测试集输入步骤s4训练完成的网络模型实现测试集中图像的分类。

图5示意性示出了本公开实施例的图像分类方法的流程图,如图5所示,首选确定数据集,将数据集分成训练集和测试集,对训练集进行预处理后输入改进的网络模型,以对网络模型进行训练,并将训练好的网络模型输出,测试集经过预处理后输入训练好的网络模型,实现图片的分类。

综上所述,本申请中的图像分类方法通过对卷积模块施加显著性弱化模块,使网络弱化显著性特征寻找图片中其他部分有价值的特征,最后使模型能够寻找到图片中有价值的特征;截取有价值的特征再次输入到网络中继续提取其中更加具有代表性的特征,进行特征加强,增强网络的性能,提高图片分类的准确率。

基于同一发明构思,本公开实施例还提供了一种图像分类装置,下面结合图6对本公开实施例的图像分类装置进行介绍。

图6示意性示出了根据本公开实施例的图像分类装置的框图。

如图6所示,图像分类装置600包括获取模块610、弱化模块620、第一输入模块630、第二输入模块640以及第三输入模块650。该图像分类装置600可以执行上文参考图1~图5描述的各种方法。

获取模块610例如执行参考上文图1描述的操作s1,,用于获取图像的训练集和测试集;

弱化模块620例如执行参考上文图1描述的操作s2,用于对分类模型中的卷积模块设置显著性弱化模块以构建网络模型;

第一输入模块630例如执行参考上文图1描述的操作s3,用于将训练集分多组输入网络模型,每训练一组训练集获得特征图,根据特征图获得显著性特征区域,增强并截取显著性特征区域;

第二输入模块640例如执行参考上文图1描述的操作s4,用于将显著性特征区域再次输入网络模型,重复执行第一输入模块630,直至网络模型的损失函数不再降低或网络模型的准确率达到预设值;

第三输入模块650例如执行参考上文图1描述的操作s5,用于将测试集输入第二输入模块训练完成的网络模型实现测试集中图像的分类。

图7示意性示出了根据本公开实施例的适于实现本公开的方法的电子设备的框图。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图7所示,电子设备700包括处理器710,计算机可读存储介质720。该计算机系统700可以执行根据本公开实施例的方法。

具体地,处理器710例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器710还可以包括用于缓存用途的板载存储器。处理器710可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

计算机可读存储介质720,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。

计算机可读存储介质720可以包括计算机程序721,该计算机程序721可以包括代码/计算机可执行指令,其在由处理器710执行时使得处理器710执行根据本公开实施例的方法或其任何变形。

计算机程序721可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序721中的代码可以包括一个或多个程序模块,例如包括721a、模块721b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器710执行时,使得处理器710可以执行根据本公开实施例的方法或其任何变形。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1