一种自适应交互结构学习的双二次池化模型
文献发布时间:2023-06-19 11:54:11
技术领域
本发明涉及细粒度图像分类领域,尤其涉及基于双二次池化的自适应交互结构的学习,并且依靠纯视觉信息在常用基准数据集上实现具有竞争力的分类结果。
背景技术
图像分类是计算机视觉领域的一个热门研究课题。随着深度学习的进步,细粒度图像分类受到了相当多的关注,这一技术将在濒危生物物种保护,商品识别,交通违章汽车管理等许多领域都发挥重要作用。近年来已经提出了许多基于深度学习的细粒度分类方法。细粒度图像分类旨在将对象与一般类别中的不同子类别区分开来,例如,不同种类的鸟类,狗或不同类型的汽车。然而,细粒度分类是一项非常具有挑战性的任务,因为来自相近子类别的对象可能具有微小的类别差异,而同一子类的对象,由于存在拍摄尺度或视角的不同,或是对象姿态的不同、复杂背景和遮挡的变化,导致同一子类别中的对象可能呈现较大的外观变化,因此造成了细粒度分类的难度较大。正因如此,细粒度图像分类仍然面临着巨大挑战。
依据有无人工标注信息,细粒度图像分类可分为强监督和弱监督方法两类。强监督细粒度分类在训练过程中需要提供标注信息,主要包括标注框和局部区域定位等,借助于这些信息准确完成局部定位和获取前景对象,但由于人工标注信息代价昂贵,因此也限制了此类算法的实用性。
弱监督的细粒度分类则仅要求给图像提供类别信息,因此应用场景更为广泛,近年来的算法大部分都是研究弱监督的细粒度图像分类,并取得了较大突破,而常用的一种解决思路便是高阶池化。基于高阶池化的思想衍生出了一系列的具体算法,例如双线性卷积神经网络(BCNN)、有层次的双线性池化(HBP)以及双二次池化(HQP)等。这些模型的目的都是要充分发掘图像中具有区分度的重要信息。但现有的池化方法往往只考虑了固定的特征交互,没有充分发掘深度神经网络中不同层次不同尺度特征交互的互补性,也没有考虑如何从多组池化后的特征中挑选出最适合的特征组合或者交互结构。
发明内容
本发明基于双二次池化(HQP)以及自适应学习的思想,提供了一种自适应交互结构学习的双二次池化模型。该方法将自适应的交互结构选择与图像分类融合在一个统一的多任务模型框架中,同时也可以端到端地完成训练,并在常用的细粒度分类基准数据集上实现了具有竞争力的分类准确率,其步骤如下:
步骤(1):图像数据预处理
由于数据集(现有数据集)中图像尺寸大小不一,在模型训练前需要对图像做尺寸变换和进行常规的数据增强操作,使得图像尺寸大小一致。
步骤(2):基于双二次池化的多尺度特征交互,构建层次化深度模型。
在卷积神经网络中,不同层次的模型输出包含有不同粒度的目标特征,由粗到细的目标特征对应了模型由高到浅层的输出。通过双二次池化(HQP)的方法对不同层次的特征进行融合可以有效提取出对分类具有关键性作用的细节特征。
步骤(3):构建权重向量
利用层次化深度模型提取预处理过后图像的多个双二次池化特征后,构建维度为双二次池化特征个数的权重向量;并且在层次化深度模型中添加加权池化特征;所述的加权池化特征是由权重向量与对应的双二次池化特征相对应乘获得。
步骤(4):对权重向量进行稀疏约束
在层次化模型的训练过程中对权重向量施加L1范数的稀疏约束,可以使层次化深度模型在优化加权池化特征的同时更加容易获得优异的分类性能。
步骤(5):设计监督模块
为了保障层次化深度模型训练的收敛性和训练过程中梯度流的稳定性,设计一个监督模块,利用所有加权池化特征构建一个全局分类损失。
步骤(6):模型训练与测试
根据上述步骤建立多任务端到端的层次化深度模型,在指定数据集上训练并微调整个模型,将最终层次化深度模型在测试集上测试性能。
步骤(1)所述的图像数据预处理,具体如下:
由于数据集中每张图像的尺寸大小不一,首先通过双线性插值方法将所有图像统一调整为某指定尺寸,并且不同数据集最佳的指定尺寸也不相同。其次对尺寸调整后的图像进行随机裁剪,得到大小为448*448的图像数据。然后将裁剪后的图像以50%的概率进行水平翻转。最后对图像进行归一化处理。
步骤(2)所述的基于双二次池化的多尺度特征交互,构建层次化深度模型,其具体过程如下:
卷积神经网络中,随着网络由浅入深,位于不同深度的卷积层输出的特征尺寸也逐渐变小。因此我们将卷积神经网络划分为多个阶段,划分标准为使得能够输出同样尺寸特征的卷积层位于同一个阶段。
2-1.在同一个卷积神经网络中,选取最后的三个阶段,按照每个阶段中特征尺寸的由大变小将其分别称为低级阶段、中级阶段、高级阶段。从每个阶段中选取一个或多个卷积层的特征,三个阶段选取的特征分别称为低层特征组、中层特征组、高层特征组。低层特征组中包含至少一个卷积层特征,最多包含低级阶段所有的卷积层特征;中层特征组与高层特征组分别至少包含两个卷积层特征,最多包含整个对应阶段所有的卷积层特征。然后利用残差下采样模块对低层特征组和中层特征组中所含的特征分别进行调整,使其特征尺寸与高层特征组中特征的尺寸一致。
残差下采样模块如下:
残差下采样结构具有两条分支:主分支包含一个大小为k*k且步长为k的最大池化,之后还包含一个卷积核大小与步长均为1的卷积层。另一条残差分支包含一个卷积核大小与步长均为k的卷积层,用于补偿主分支中由于最大池化所丢失的信息。最终将两条分支的特征相加后经过一个归一化层。
2-2.低层、中层以及高层特征组之间的特征两两进行双二次池化操作。在步骤2-1中经过残差下采样模块得到新的低层与中层特征组后,不同层次特征组包含的所有特征首先跨层两两之间做内积,使不同层次特征组所含的特征两两进行交互;然后将每个交互后的特征与自身的转置做矩阵外积得到双二次池化特征,简称池化特征,由此便得到基于双二次池化的层次化深度模型。
步骤(3)所述的权重向量构建过程具体如下:
3-1.在步骤2-2中建立的层次化深度模型产生多个池化特征后,构建维度与池化特征个数等长的权重向量。
3-2.由于池化特征的重要性与其输出视觉特征的“显著性”正相关,在层次化深度模型进行首轮训练时,对层次化深度模型得到的每个池化特征求取均值,用所有池化特征的均值来初始化权重向量,并在训练迭代过程中对权重向量进行归一化,使权重向量w中每个值的范围处于[0,1],具体公式如下:
其中max(),min()分别对权重向量中的所有值取最大值、最小值。Relu(w)表示线性整流激活函数。
3-3.将归一化之后的权重向量与所有池化特征进行对应相乘得到加权池化特征。
步骤(4)所述的稀疏约束是指在模型训练时对权重向量实施L1范数的正则化约束,保证权重向量的稀疏性,同时提高模型最终的分类性能。
步骤(5)所述的设计监督模块是指利用所有加权池化特征来构造全局分类损失。
由于完全拼接所有加权池化特征的维度非常高,因此对所有加权池化特征求平均后通过一层全连接进行分类,将基于平均加权池化特征的分类实现称之为监督模块,因为:1)它可以为所有加权池化特征涉及的网络子分支提供平滑梯度来促进稳定的训练;2)它通过最小化所有加权池化特征的总体损失来帮助学习更合理的权重向量;3)这个全局分类损失仅用于对训练过程进行监控,在测试过程中将被忽略。通过该监督模块保证了训练安全性和权值向量可靠性。
步骤(6)所述的构建多任务深度学习模型具体是指依照步骤(2)、(3)、(4)、(5)建立端到端的框架后,在指定数据集上,同时优化实际分类损失、监督模块的全局分类损失以及权重向量的稀疏约束。
实际分类损失的构造过程如下:
根据权重向量中各个数值的大小,选取最大K个数值所对应的加权池化特征,将选取出的加权池化特征进行拼接之后通过一层全连接用于最终分类,产生的分类损失称为实际分类损失。其中K值最小为1,最大为加权池化特征的个数。
首先根据特定的卷积神经网络构建层次化深度模型,在其上增加权重向量以及稀疏约束、监督模块后得到最终的自适应交互结构学习的双二次池化模型。在训练过程中,首先固定由Imagenet数据集预训练得到的特定卷积神经网络部分的参数,只训练其他新增模块的参数;之后再微调整个网络,得到最终模型并在测试集上测试训练效果。整个模型的具体优化目标函数如下:
其中θ,w分别表示模型的参数和权重向量;y
本发明的有益效果:
基于双二次池化(HQP)以及自适应学习的思想,提出了一种用于细粒度图像分类的自适应交互结构学习的的双二次池化模型(MSHQP)。通过权重向量,该模型在多个池化特征中可以自适应挑选出适合特定数据集的最优池化特征组合,在常用基准数据集上取得了当前领先或具有竞争力的准确率。此外,本发明提出的自适应交互结构学习的模型不仅可以应用在细粒度图像分类上,还可以作为一个更加通用的模块方便地适用于各种其他任务之中,在不影响模型推理效率的情况下提升模型的性能。
附图说明
图1是本发明方法的具体流程示意图。
图2是本发明方法中构造的模型框架示意图。
具体实施方式
下面结合附图1,2对本发明做进一步具体说明。
本发明首先利用层次化深度模型提取图像的多级深度特征,在跨级特征间获得多组双二次池化特征后,构建维度为池化组个数的权重向量;在深度网络中添加权重与池化特征的乘法模块,在加权池化特征上进行分类;其次对整个权重向量施加L1范数的稀疏约束;然后为了保障模型训练的收敛性和梯度流的稳定性,在训练过程中,设计了一个监督模块,在所有加权池化特征上构建分类损失。4、根据上述步骤建立多任务端到端的深度学习模型,在特定数据集上训练并微调整个网络,将最终模型在测试集上测试性能。本发明能针对特定数据集自适应挖掘最合适的交互结构,具有很强的现实性和普适性。
本发明具体实现步骤如下:
第一步:
我们使用CUB-200-2011、Stanford Cars、FGVC-Aircraft三个数据集来验证我们的自适应交互结构学习的双二次池化模型。训练模型时,首先对三个数据集中的图像通过双线性插值方法将尺寸分别调整为600*600、500*500、500*480,然后将每张图像随机裁剪为448*448的大小,再以50%的概率随机水平翻转这些图像,最后对图像像素值进行归一化。当对模型进行测试时,数据处理过程与训练时类似,但不需进行随机水平翻转。
第二步:
以Resnet34为例说明以下过程。在Resnet34中,低层特征组选择Conv3_4,原特征尺寸大小为128*56*56,分别表示通道数*特征高度*特征宽度。中层特征组选择Conv4_2、Conv4_4、Conv4_6,原特征尺寸大小为256*28*28。高层特征组选择Conv5_1、Conv5_2、Conv5_3,原特征尺寸大小为512*14*14。低层特征组与中层特征组中的所有特征分别经过k为4和2的残差下采样模块,新的下采样后的特征尺寸均为512*14*14。
进行双二次池化(HQP)时,位于不同层次特征组的两个特征进行内积,内积后的特征尺寸仍为512*14*14,形变为512*196,将形变后特征与自身的转置进行外积获得尺寸为512*512的外积后特征,再次形变为1*262144的池化特征。低层特征组和中层特征组中的特征两两进行双二次池化得到三个池化特征,低层与高层特征组中的特征两两进行双二次池化同样得到三组池化后的特征,中层和高层特征组中的特征两两进行双二次池化获得九组池化后的特征。最终获得维度为15*262144的所有双二次池化特征。
第三步:
构建长度为15的可训练的一维权重向量,并且对模型训练时第一次正向过程所输出的维度为15*262144的池化特征在第二个维度上进行求均值得到维度是15*1的向量,将该向量的值作为权重向量的初始化值。每次正向过程中按照公式1对权重向量进行归一化。然后用归一化的权重向量与维度为15*262144的池化特征对应相乘得到加权池化特征。最后根据权重向量中数值大小选择前K个对应的加权池化特征进行拼接用作最终的实际分类特征,经过全连接与softmax后的交叉熵损失被称为实际分类损失。在我们的实验中,K分别选取了从1到5,在三个数据集上的分类效果如下表1所示,可以看出K等于3时,选择权重最大的3组加权池化特征进行拼接可以得到最优的分类性能。
表1选择不同加权池化特征数量时的分类准确率
第四步:
在模型训练过程中,对权重向量单独实施L1或L2范式的稀疏约束,或者L1与L2的组合稀疏约束。如下表2所示,在CUB-200-2011数据集上当使用L1范式进行稀疏约束时,模型有最佳的分类效果。
表2不同稀疏方式时下分类准确率
第五步:
对第三步中的加权池化特征在第一个维度求平均后获得维度为1*262144的平均加权池化特征,该特征经过全连接与softmax后的交叉熵损失被称为监督模块的全局分类损失。在验证提出的自适应交互结构学习模型时,我们对稀疏约束和监督模块进行了消融实验,实验结果见下表3,其中基准表示没有稀疏约束和监督模块的自适应交互结构学习模型,联合控制表示同时带有稀疏约束和监督模块的自适应交互结构学习方法。
表3自适应交互结构学习模块的消融实验
第六步:
加载Resnet34模型在Imagenet数据集上的预训练参数,同时去掉最后的全连接层,作为层次化深度视觉特征提取模型。在视觉特征提取模型之后按照上述第二、三、四、五步建立双二次池化与自适应交互结构学习模块。以实际分类损失、监督模块的全局分类损失和权重向量稀疏约束损失作为最终的模型损失。首先固定视觉特征提取模块的参数,单独训练其后的池化与自适应交互结构学习部分的参数,待模型接近收敛时再微调整个模型的参数至模型完全收敛。在模型推理阶段,将模型中的监督模块支路丢掉以减少模型参数和加快模型推理速度。
最后,我们添加了Stanford-Dog和VegFru两个数据集,并且在VGG16,Resnet34,Resnet50,Resnet152卷积神经网络上验证了我们提出的自适应交互结构学习的双二次池化模型,在五个基准数据集上的分类性能如下表4。
表4不同卷积神经网络下的分类准确率
- 一种自适应交互结构学习的双二次池化模型
- 一种基于SVR模型的自适应区域池化物体检测方法