细粒度图像分类的通道自适应判别性学习方法
2022-10-18单孟姣殷志坚李翠梅
杨 贞,单孟姣,殷志坚,杨 凡,李翠梅
(江西科技师范大学通信与电子学院,江西 南昌 330013)
0 引 言
细粒度图像分类与识别是机器视觉中最具挑战性的任务之一。在粗粒度图像分类任务中,所构建的网络只需区分出物体的类别,例如图像中的狗、猫、车等。粗粒度图像分类研究的过程中,涌现出了一大批优秀的网络,例如VGG-Net[1]、ResNet[2]、Inception[3]等,这些网络的识别准确率已经超过人类。然而细粒度图像分类致力于从某一类粗粒度图像中区分出下属子类。细粒度图像具有以下特点:1)包含背景噪声且各种尺度的对象;2)不同子类类间差异不明显,如图1(a)所示;同一子类类内差异较大,如图1(b)所示。
为了克服上述挑战,近年来,科研人员提出了很多方法来解决细粒度图像分类任务。较早的解决方案引入人工标注边界框以及注释信息以提供可区分的信息标记,例如SPDA-CNN[4]、HSnet[5]等借助标记信息构建出的网络可以有针对性地提取特征,以提高分类精度。然而,此类方法需要大量的标注数据,很难应用在实际中,因此它们逐渐被弱监督方法WS[6]、RA-CNN[7]、NTS[8]、MAMC[9]所取代。这些方法利用感兴趣边界框区域学习来定位判别对象零件而不需要额外的注释,只依赖于基础的类别信息。近年来,物体定位方法也从最初的边界框和零件注释发展到掩模Mask-CNN[10]和使用卷积层响应的无监督方法MA-CNN[11]、SCDA[12]。此外,Mask-CNN[10]、WS-DAN[13]、TASN[14]通过增加判别区域的数量,以减少由于视角和姿态变化等问题导致的小目标对象的误判。同时,一些致力于获得高级编码特征的方法BCNN[15]、CBP[16]、LRBP[17]、HBP[18]也取得了不错的效果。还有,基于补充特征信息的WS-CPM[19]、CIN[20]也被用来从有限数据集中获得更多的判别特征。可见正确地利用卷积层信息对于细粒度图像分类至关重要。
具体地,人们常用注意力图来引导判别性区域的学习,例如WS-DAN通过CNN网络得到特征图,再从特征图中得到注意力裁剪区域,并将这些区域和原图叠加得到增强后的训练数据,这些数据专注于一些细节以及判别性区域,从而提升网络的分类性能;另外,CNN网络中不同层的特征图交互也有助于提升网络的分类性能,例如HBP网络,通过将深度残差网络不同层的特征图进行交互,具体操作是特征图逐元素相乘,又叫做双线性池化,从而得到高阶的细粒度特征。
虽然,HBP利用不同卷积层之间的层间特征交互,集成了多个跨层双线性特征,但是卷积激活包含背景噪声,也会带来冗余信息。OL-MBP[21]提出了一种基于定位模块的层间交互模型,该模型通过对待识别物体进行定位预训练以减少背景噪声,进而提升分类精度。另外,HBPASM[22]提出了一种结合掩模增强和层间特征交互的方法,该方法对CNN网络通道上的特征图求和,并设定基于卷积层上的阈值得到单一的注意力掩模,得到了比HBP更加鲁棒的特征。但是,HBPASM将所有通道的特征图求和得到的单一掩模,会使特征图的各通道上包含较多的背景信息和非判别性信息;另外,HBPASM采用基于卷积层上的阈值来确定掩模,没有考虑到通道与通道之间的差异性,并不能自适应地增强网络对细粒度物体的判别性学习。基于此,本文提出细粒度图像分类的通道自适应判别性学习(Channel Adaptive Discriminative Learning, CADL)方法。CADL的网络结构如图2所示。其中∩表示对3个卷积层上对应通道的掩模取交集,⊙表示将原始通道特征图和通道聚集掩模逐元素相乘,⊗表示将层间对应通道的感兴趣区域特征图矩阵交互逐元素相乘。本网络充分考虑特征图中不同通道所关注区域的差异性,对每个通道生成一张通道掩模,使各个通道更加关注于该通道所表征的判别性区域;并且,由于各个通道所关注区域形态不同、位置不同,其所需的用于产生掩模的阈值也会有较大不同,因此,本文提出自适应掩模产生模块,根据通道自身的特点计算出自适应阈值,增强每个通道掩模的判别性学习能力。
在常用的细粒度图像分类数据集上进行大量的实验,验证了本文方法的有效性且可以在较小的Batch Size下跑出竞争性的结果。本文的工作可以总结如下:
1)提出生成通道的自适应掩模,充分考虑到网络中各通道间的差异,提高模型的泛化能力。
2)提出将不同卷积层上的通道自适应掩模聚集,可以得到不同通道上的感兴趣区域,提高模型判别性学习的能力。
3)只需要一个主干网络,通道判别性特征和通道感兴趣区域自适应生成模块相互增强学习,让深度神经网络能够自适应地学习新图片的感兴趣区域,同时增强通道视觉模式的特征学习。
1 相关工作
1.1 细粒度特征学习
目前,WS-DAN、TASN、S3Ns[23]使用注意力图表示零部件和视觉模式,能够增强细粒度特征的学习:WS-DAN随机选择注意力图进行裁剪和丢弃,实现弱监督数据增强;TASN采用三线注意力裁剪网络学习大量提议的区域,得到更多判别性区域信息;S3Ns将注意力图的高响应部位作为信息区域,保留上下文信息的同时放大部分区域。BCNN、CBP、LRBP、HBP、HBPASM通过模拟高阶信息以增强细粒度特征的表示。除此之外,WS-CPM利用互补模块模型补充细粒度特征,CIN利用负相关性得到同一样本每个通道的互补信息,AP-CNN[24]使用感兴趣区域的引导裁剪及低级特征图的丢弃分支,以及金字塔结构能够有效融合多层级特征,从而表达出图片的各种维度特征。
1.2 判别性区域定位
最早的STN[25]方法使空间网络转换器具有空间变换不变性,在训练过程中自动选择感兴趣区域。WS、SCDA、MA-CNN则通过选择卷积和滤波器响应定位零件:WS用最后一层卷积层得到的特征图进行区域候选;SCDA进一步聚集卷积描述符,采用平均阈值策略得到掩模;MA-CNN将峰值响应区域相邻通道放在一起,获得多个判别性区域。此外,RA-CNN、NTS采用弱监督学习方法和注意力机制,使用边界框提议感兴趣区域同时增强细粒度特征的学习:RA-CNN在多区域尺度上设置分类子网和注意力建议子网,探索判别性区域;NTS用一种多结构自监督的网络进行信息区域的检测,来有效定位信息区域。在此基础上,CAM[26]通过叠加全连接层对应的分类权重到特征图生成类激活图,进而识别最有判别性的部位。MAMC则使用SE[27]的Squeeze Excitation和度量约束获得多样的注意力区域。Mask-CNN在训练阶段需要区域标注的标签,全卷积生成物体区域掩模来定位物体。
2 通道自适应判别性学习网络
如图3中流程所示,本文的CADL方法包含通道感兴趣区域自适应生成(Channel Interested Region Adaptive Generation, CIRAG)模块和层间交互特征增强(Interactive Feature Enhancement, IFE)模块。使用常用的残差卷积神经网络ResNet34[2]作为本文的主干网络,主要作用是提取图像的细粒度特征。首先,将ResNet34的3个卷积层的特征图输入到通道感兴趣区域自适应生成模块,得到每个通道的掩模,每个通道上掩模的阈值都是不同的,再将多个通道聚集掩模和最后3个卷积层的原始特征图逐通道逐元素相乘,通道聚集掩模选择性提取通道特征图上的感兴趣区域的通道判别性特征,得到感兴趣区域增强后的通道特征图。最后,将增强后的特征图分别输入到层间交互特征增强模块,将通道判别性区域特征进行层间交互,充分利用多个卷积层上的特征,避免只用最后一个卷积层上输出的特征进行分类而造成其它卷积层上判别性信息的丢失,并将输出的特征向量进行拼接,得到增强后的特征向量。最后将特征向量进行全连接降维操作,即得到最终的特征向量,并用于最终分类。
2.1 通道感兴趣区域自适应生成模块
本节介绍细粒度图像分类的通道感兴趣区域自适应生成模块,如图4所示。该模块主要由2部分组成:通道自适应掩模产生模块和通道特征增强模块。该网络通过无监督的方式从每个通道特征图上自适应地选取阈值,可以更好地定位出每个通道的感兴趣区域,提高网络的性能。
2.1.1 通道自适应掩模产生模块
通道自适应掩模产生的具体步骤如下:
1)将图片输入ResNet34网络,并从网络中提取conv4_0、conv4_1、conv4_2这3个卷积层的输出为X、Y、Z。其中X=[X1,X2,…,Xc]T为卷积层上一个空间位置(i,j)的c维描述符,i∈{1,…,h},j∈{1,…,w},Xk∈Rh×w为第k个通道的特征图,h为特征图的高,w为特征图的宽,k∈{1,…,c},c为通道的总个数。
2)将conv4_0、conv4_1、conv4_2输出的特征图X、Y、Z输入到一种新的自适应激活函数meta-ACON[28]中,该激活函数定义如下:
ACON_C(x)=Sβ(p1x,p2x)
(1)
Sβ(p1x,p2x)=(p1-p2)xσ[β(p1-p2)x]+p2x
(2)
其中:σ为sigmoid函数;p1和p2是自定义学习参数,跟随训练过程而更新;Sβ为MAX激活函数的平滑可微分变体。Sβ的大小控制着通道的激活程度,当Sβ为0时通道不激活。
这里,β通过2个卷积层计算得到:
(3)
其中W1和W2为2个全连接层。为了节省参数量,W1的输入通道数和conv4_0、conv4_1、conv4_2的通道数相同,为c,输出通道为c/16;W2的输入通道数为c/16,输出通道数为c。受ACON[28]的启发,激活函数为通道方向的激活,且每个通道共享权重,保证了通道间的相互独立性。
3)对激活后的通道特征图计算自适应阈值系数。计算公式如下:
(4)
4)得到阈值系数alpha之后,通过如下公式得到每个通道的自适应掩模:
(5)
其中ξ∈(0,1)是松弛变量,为了方便实验对照,将ξ设置为0.1。由于自适应阈值系数由每个通道的差异性决定,即可对每一个通道的特征图Xk都生成一个自适应激活掩模Mk。
2.1.2 通道特征增强模块
通道自适应掩模包含了每个通道所关注的区域,将3个卷积层的通道自适应掩模层间聚集得到每个通道的聚集掩模。经过可视化实验验证,通道聚集掩模可以更加准确地定位出通道的感兴趣区域。因此,通道聚集掩模可用于原始通道特征图的特征增强。
通道特征增强的具体步骤如下:
1)将conv4_0、conv4_1、conv4_2通过通道自适应掩模产生模块得到3个不同卷积层上的通道自适应掩模M4_0、M4_1、M4_2。接着,将掩模进行交集得到聚集掩模:
Magg=M4_0∩M4_1∩M4_2
(6)
其中,求交集张量操作∩定义为:如果所有掩模相同位置元素均为1,那么生成掩模的对应位置才为1,否则为0。
2)将聚集掩模和原始特征图进行逐元素相乘操作,即可得到增强后的特征图:
(7)
其中,FM表示ResNet34网络上conv4_0、conv4_1、conv4_2对应卷积层上所有通道特征图的集合。
2.2 层间交互特征增强模块
本节介绍使用多个跨层双线性池化模型实现层间交互特征增强的机制和具体操作步骤。
1)层间交互特征增强的机制。
双线性池化模型包括双线性层和池化层。双线性池化模型主要用来融合不同的特征,如BCNN中通过2个特征提取器得到成对的特征,将成对的特征经过矩阵外积和池化后输出固定长度的高维特征表示,从而实现成对特征交互的建模。但是双线性池化得到的特征维数过高,可以通过矩阵的低秩分解来降低维度。由CBP和LRBP分解双线性池化的思想得到矩阵因式分解后低秩外积形式的双线性池化模型表示为以下形式:
FX,Y=PT(UTX∘VTY)
(8)
其中U∈Rc×d、V∈Rc×d是得到d维特征向量的投影矩阵,P∈Rd×w是得到w维特征向量的分类矩阵,X、Y为不同卷积层上的c维描述符,w为输出类别数目,°为Hadamard乘积操作,FX,Y∈Rw表示输出的特征向量。
为了充分利用多个卷积层上的特征,HBP在多个卷积层上使用双线性池化模型。使用多个跨层双线性池化模型的思想得到本文层间交互特征增强机制的公式如下:
ZHBP=PTconcat(FBPX*,Y*,FBPX*,Z*,FBPY*,Z*)
(9)
2)层间交互特征增强的具体操作步骤如下:
首先将增强后的特征图FM(4_0)enhanced、FM(4_1)enhanced、FM(4_2)enhanced两两进行逐通道逐元素相乘,得到层间交互特征:
(10)
然后将得到的层间交互特征经过平均池化和L2归一化后得到的双线性矢量串联,得到多个跨层双线性池化向量融合后的增强特征。
3 实验与结果分析
3.1 数据集和实验设置
在公共的细粒度图像分类数据集CUB-200-2011[29]、Stanford Cars[30]和FGVC-Aircraft[31]上开展大量的实验,数据集图像的类别数目和划分策略总结如表1所示。
表1 3个公共数据集的介绍
实验采用在ImageNet上预训练的ResNet34架构,去掉网络最后的全连接层,加上模型中的通道感兴趣区域自适应生成组件和层间交互特征增强组件。先用逻辑回归训练新加入的层和分类器,然后使用随机梯度下降法在整个网络上进行参数的迭代更新和训练。2步训练的初始学习率分别为1和0.1,epoch分别为80和160,学习率衰减策略采用固定步长衰减,每40步减小为其1/10, Batch Size都为8,权重衰减为1×10-5,动量为0.9,输入图片的固定尺寸为448×448,训练阶段采用随机水平翻转和随机裁剪,测试阶段采用中心裁剪。选取3个卷积层conv4_0、conv4_1、conv4_2进行全连接,全连接层的输入通道数为8192×3,输出通道数设置为训练数据集的类别数。具体地,对CUB-200-2011、Stanford Cars、FGVC-Aircraft数据集来说全连接层输出通道数分别为200、196、100。所有的实验采用PyTorch深度学习框架实现,在Ubuntu 20.04 64 bit操作系统上完成。硬件配置如下:CPU为Intel Core i7-10700,内存为16 GB;GPU为NVIDIA Geforce GTX 1660Ti,显存为6 GB。
3.2 模型组件有效性分析及可视化
本节将验证通道感兴趣区域自适应生成模块产生的通道聚集掩模的有效性,并对于其中的通道自适应掩模和通道聚集掩模对本文算法的贡献进行消融实验。不同掩模对网络分类精度的影响结果如表2所示,包括传统掩模、HBPASM中的松弛聚集掩模、本文中的聚集掩模。
表2 不同掩模对网络分类平均精度的影响结果/%
传统掩模和松弛聚集掩模都忽略了同一空间位置不同通道对不同视觉模式的选择激活的程度。从表2中可以看出,本文提出的通道自适应掩模产生模块中的聚集掩模的精度最高,说明与传统掩模相比,聚集掩模可以有效去除分类对象的背景噪声,得到更精确的判别性学习;同时与HBPASM相比,本文提出的聚集掩模可以采用无监督学习的方法得到自适应掩模阈值系数alpha,能够得到更丰富的通道感兴趣区域,且不用引入额外的参数,增强了通道的判别性学习和网络的泛化能力。
传统掩模为独立掩模没有聚集,具体为传统细粒度图像分类中用到的独立掩模,首先让相关位置所有通道响应求和得到卷积层上的激活图,然后采用平均阈值策略对激活图上的相关位置是否激活作出0和1的响应,得到卷积层上的掩模。松弛聚集掩模为使用松弛变量的聚集掩模,具体为HBPASM中考虑到如果直接用0和1二值化处理掩模过于武断,容易造成前景区域误判成背景区域,丢失物体的定位信息;区别于传统掩模直接将非显著激活区域设置为0响应的做法,它将响应值设置为0.1,以此来减少前景区域的误判;同时HBPASM针对感兴趣区域的定位使用了多个卷积层激活图上得到的掩模,对多个掩模进行交集得到聚集掩模。不同于传统图像掩模的生成方式和松弛聚集掩模的设置,本文中的聚集掩模为通道聚集掩模,在通道上生成掩模并对通道上的掩模进行聚集,每个通道都会得到一个聚集掩模,因此可以得到通道的判别性区域特征。同时本文的掩模考虑到了通道间的差异性,在通道方向上使用自适应激活函数,自适应选择是否激活神经元。本文用通过自适应激活函数后得到的通道特征图上的均值来替换HBPASM中的交叉验证得到参数0.6,得到通道自适应的掩模阈值系数,这样一来各个通道上掩模的阈值是自适应学习的。此外考虑到HBPASM在卷积层上生成掩模时,非显著响应0.1的松弛设置通过聚集掩模的计算并没有减少前景区域的误判,本文中0.1的响应设置只是为了学习更多通道的判别性区域特征,并方便实验对照。
将各个通道上生成的自适应掩模和聚集掩模上采样后叠加到原始图片上进行可视化,结果如图5所示。3个卷积层上独立的通道自适应掩模对应进行层间聚集,生成c个通道自适应聚集掩模,选取1个聚集掩模进行展示。其中第1列为原图,第2~第4列为独立通道自适应掩模叠加到原图的效果,第5列为聚集掩模叠加到原图的效果。从图5可以看出通道聚集掩模相比独立的通道自适应掩模生成了更加精确的感兴趣区域,并自动丢弃背景噪声,使层间特征交互在更细粒度的特征上进行。
为了展示模型的泛化能力和有效性,分别选取细粒度数据集CUB-200-2011、Stanford Cars和FGVC-Aircraft中的多个样本进行可视化实验,来验证通道聚集掩模在多个细粒度数据集上的有效性。多个数据集样本上通道聚集掩模的可视化实验结果如图6所示。选取一个通道进行展示,可以看出通道聚集掩模在多个数据集上都可以很好地定位出细粒度对象的位置和轮廓,得到样本的通道感兴趣区域。
为了进一步验证通道自适应掩模和通道聚集掩模2个环节以及层间交互增强模块对本文算法的影响,对其进行消融实验。以CUB-200-2011数据集为例,不同环节对本文模型分类平均精度的影响结果如表3所示。
表3 不同环节对模型分类平均精度的影响结果
表3的结果中通道自适应掩模考虑到通道的差异性,生成了自适应的通道掩模,有助于通道判别性区域的学习。通道聚集掩模充分利用了多个卷积层的信息,并进一步生成了通道上的感兴趣区域,促进了通道感兴趣区域的生成,同时又增强了通道判别性区域的学习。通道自适应掩模和通道聚集掩模相互增强学习。层间交互增强模块使用多个跨层双线性池化,实现对多个卷积层特征的建模,进一步增强了通道判别性特征的表示能力。
3.3 与其他模型精度的对比
将本文提出的模型与传统的图像分类网络VGG-19、ResNet50[2]、使用注意力机制和感兴趣框的方法RA-CNN、NTS、定位更多判别性区域的方法MA-CNN、MAMC、基于池化的方法BCNN、CBP、LRBP、HBPASM、带有目标定位的双线性池化模型OL-MBP进行对比,结果的平均精度如表4所示,表明本文的方法可以在保持简单性的同时实现较好的分类精度。具体地,与传统的图像分类网络相比,它充分利用了多层卷积层的特征,减少了卷积层上细粒度特征的丢失;与使用注意力机制和感兴趣框的方法相比,它可以方便地提取感兴趣区域的特征,避免定位模块和分类网络交替或多层叠加使网络调谐复杂化,影响单个集成网络的分类性能;与定位更多判别性区域的方法相比,它在全局上保留了对象的结构信息,同时利用判别性部位和非判别性区域的信息,在局部上使用通道自适应掩模方便地生成更加多样化的通道感兴趣区域,在通道方向上实现模型判别性特征学习和判别性区域学习的相互增强;与基于池化的方法相比,它结合了掩模对对象的精确定位、通道特征的增强以及层间交互特征增强,使它在避免背景噪声的干扰下更好地实现特征的增强,同时增强了通道方向上网络关于对象的视觉模式的学习,实现了更好的细粒度图像分类;与带有目标定位的双线性池化模型OL-MBP相比,它无需2次经过主干网络,只需要一个主干网络就实现了物体边缘的精确定位且得到多样化的通道判别性区域,并且在Stanford Cars和FGVC-Aircraft上得到了相对更高的分类精度。细粒度图像分类的通道自适应判别性学习方法,使用无监督方式生成c个通道感兴趣区域,得到细粒度图像在通道上的判别性特征,对人类较难识别的细粒度图像数据集来说,它在通道上实现了对物体判别性特征的学习和感兴趣区域的定位,有助于卷积神经网络对难以区分的细粒度图像数据集的识别。
表4 平均精度对比/%
4 结束语
本文提出了一个新的无监督细粒度图像分类的通道自适应判别性学习网络,它通过通道自适应掩模产生模块得到更细节的通道感兴趣区域,再经过特征增强模块得到更加精确的通道聚集掩模,进而得到避免背景干扰的对象特征,保留了对象的结构特征和更精细的特征,最后通过层间交互特征增强模块集成多个跨层双线性特征获得高层次特征,增强了细粒度特征的表示。其能够有效定位通道感兴趣区域,实现了通道判别性特征的学习,并充分利用了多个卷积层上的特征。此外,使用通道自适应掩模产生的模块在通道方向上依照激活响应的强度可自适应生成差异化的通道掩模,实现了通道自适应判别性学习,因而增强了模型的泛化能力。总之,本文提出的网络架构无需边界框和零件注释,具有端到端的训练机制,可直接使用对象的全局信息实现细粒度图像分类,并隐式地增强了通道判别性区域的学习,在3个公共数据集上进行实验,证实了网络框架的有效性。