随着神经网络深度和参数的增加,以及计算设备功能的日益强大,深度学习在许多领域取得了重大的突破。对于图像分类任务来说,优秀的分类模型以及大量且优质的训练数据集是提升分类准确率的关键。当训练样本过少时,模型往往会趋于过拟合,模型的泛化性能会降低[1]。特别是对于类内差异大,类间差异小的细粒度图像分类任务来说,收集大量带有强监督信息的训练数据的成本是高昂的。因此,对原有数据进行数据增强可在一定程度上解决数据量不足的问题。但仅仅进行数据增强已不能满足当今复杂的细粒度图像分类任务,将数据增强与后续细粒度图像分类算法相结合则可进一步提升相应性能。
近年来,多种先进的数据增强方法和细粒度图像分类算法被陆续提出。Devries等[2]提出了数据增强方法Couout,在训练中随机选择训练图片的一个区域,并将其裁剪掉,不保留任何信息,进而迫使模型学习图像的全局信息,而不是仅仅关注于局部,这是一种类似于Dropout[3]的正则化方法。Mixup[4]的研究人员则从邻近风险最小化出发,引入不同类别的关系,减小了模型对原始样本分布之外数据的不适应性,增加了模型对抗的鲁棒性。该方法直接将训练样本中2个随机样本的全部区域进行像素级线性插值,然后将生成的虚拟样本作为训练样本,其新标签也使用相同的方法及比例进行插值来获得。但这种方式得到的图片是模糊且不自然的,在需要关注局部特征的细粒度图像分类场合下是不适用的。Attentive CutMix[5]是一种两阶段的混合方法,它先将一张样本经过预训练的热力图模型,得到样本的热力图,并选出一定数量的热力值高的块,再将其覆盖到另外一张样本的相应位置。Takahashi等[6]提出的RICAP则没有局限于1张或2张样本,而是裁剪训练集中随机4张样本的部分,然后将裁剪得到的部分拼接为一张训练样本,最终样本的尺寸与原始样本的尺寸相同,其标签是与4个样本的面积成比例的比率混合类标签。与像素点混合的增强方法相比,RICAP有3个不同点:空间上混合图像,部分使用图像,不会创建原始数据集中不存在的特征。该方法使新样本里包含的信息更为丰富,其标签也更加平滑,是一种适用于深层次的卷积神经网络的增强方法,但该方法所裁剪的区域均为随机选择,会存在所得到的区域是背景而不包含任何信息的情况,因此该数据增强方法也有一定的局限性。
由于带有强监督信息的训练数据获取较困难,因此基于强监督信息的细粒度图像分类方法在实际中难以应用,目前主流的研究方向是基于弱监督信息的方法。Lin等[7]提出的B-CNN是一种双线性模型,使用2个并列的基于卷积的模型作为特征提取器,对局部的对应特征进行提取并交互,以捕获细节特征。Fu等[8]提出的RA-CNN将卷积神经网络与注意力机制相结合,用注意力机制提取局部信息,使网络既能关注到整体也能关注到局部。Wang等[9]在细粒度图像分类中,通过学习一组卷积过滤器来捕获特定类的块,而不需要额外的部分或边界框注释,有效地提升了细粒度图像分类效果。但以上方法主要依靠复杂的网络或者流程来捕获精细特征,并未对训练数据做任何处理。
显著性图saliency map[10]为每个像素点对模型分类结果的影响,是一种数据驱动的注意力机制,可表示模型对图像某个区域感兴趣。Li等[11]通过边界移除机制优化了图像边界选择,然后使用随机游走排序来制定像素级显著性图。Zhang等[12]认为网络的浅层无法获取到全局信息,所以关注于网络中多层特征的提取,引入了空间注意力和通道注意力机制,将深层次的全局语义信息提供给浅层,提出了一种以渐进方式选择性地整合多层次上下文信息的注意力引导网络。得益于神经网络的结构,显著性图的计算仅需要一个反向传播,对其计算梯度绝对值后,根据RGB三通道生成的灰度图得到显著性图。
非局部模块non-local[13]与注意力机制相似,通过计算各点的相似度来得到权重,再通过对应点的特征值加权映射输出就能得到该点与不同位置点的依赖关系,即全局信息。得益于非局部模块的残差连接,该模块可插入到网络的各个结构中而不用调整其维度大小,在深层和浅层中都可以学习到多尺度特征,但非局部模块对高维特征的学习更加有效。刘晶晶等[14]发现非局部模块比堆叠的卷积在位置关系的计算上更有优势,可以直接获得大范围的关系,将其应用在音频处理中,降低模型的误差。Mei等[15]在单图像超分辨中提出了一种动态稀疏的非局部稀疏注意力模式,保留了非局部操作的长程建模能力和稀疏表征的鲁棒性和高效性,使模型不再关注噪声大,信息少的区域。
对于细粒度图像分类任务而言,带有判别性特征的训练数据越丰富,模型识别判别性特征越精确,细粒度图像分类的准确率越高。本文提出的融合显著性和非局部模块的细粒度图像分类算法,将显著性图与RICAP数据增强算法进行了结合,将图片的显著性区域裁剪保留并拼接,使模型所获得的训练图像的内容更加丰富,且都是其显著的带有判别性特征的区域,并将非局部模块插入到ResNet-50[16]的高维特征层中获得全局信息,使模型将全局特征和局部特征联系起来,引导模型同时识别不同类别的特征,解决了所增强图片信息分布太广而模型对局部特征获取能力不足的问题,进而提高细粒度图像分类的准确率。
1 本文方法本文提出的细粒度图像分类方法融合了显著性和非局部模块。首先对数据进行数据增强,即随机选择4张图片计算其显著性,再将显著性部分按照裁剪模板裁剪拼接成一张图片供模型训练,以保证模型所得到的训练数据包含丰富信息的同时又可以引导模型对全局特征的关注。考虑到训练数据可能会存在显著性区域分布过于广泛的情况,容易影响高层语义特征的学习,所以将非局部模块融合到模型中,以构建高层全局语义特征的联系,实现对图片中各个尺度、各个位置的特征都能够识别。
1.1 显著性区域处理本文所提增强方法中的裁剪模板如图1所示,其宽高分别为
|
图 1 裁剪模板 Figure 1 Crop template |
| $ {{x}_{{{\mathrm{p}}}}=W\lambda }_{1} $ | (1) |
| $ {{y}_{{{\mathrm{p}}}}=H\lambda }_{2} $ | (2) |
式中,
本文使用标准的基于普通梯度下降的显著性图来计算样本的显著性。设图片为
| $ g\left(x,y\right)=f\left(s,{l}_{s}\right) $ | (3) |
设图片像素点坐标为(
| $ {x}_{\mathrm{m}},{y}_{\mathrm{m}}=\mathrm{a}\mathrm{r}\mathrm{g}\mathrm{m}\mathrm{a}\mathrm{x}\left(g\left(x,y\right)\right) $ | (4) |
则增强的4张图片所对应的显著性点坐标分别为(
|
图 2 被裁剪区域以及显著性点 Figure 2 Cropped areas and saliency points |
在得到每张图片的显著性点后,可根据裁剪模板来对图片的显著性区域依次进行裁剪。图1裁剪模板中a,b,c,d这4个子区域分别对应图2(a)~(d)图片中红框所示的裁剪区域,其具体位置由被裁图片的显著性点来决定。
具体以第1张裁剪图片图2(a)为例,在获得裁剪模板后,将裁剪模板中的区域a分给被裁图片,并以显著性点和所分配的裁剪宽高来确定裁剪区域。裁剪区域的宽高分别为
由于显著性点位置和裁剪的区域大小的不确定性,裁剪区域可能会超出图像边界,若出现这种情况则将超出部分直接进行补零扩充。增强后的图片
| $\begin{split} \tilde{s}= & {f}_{\mathrm{a}\mathrm{g}}({f}_{\mathrm{c}\mathrm{p}}(({x}_{{\mathrm{p}}},{y}_{{\mathrm{p}}}),({x}_{\mathrm{m}1},{y}_{\mathrm{m}1}),({x}_{\mathrm{m}2},{y}_{\mathrm{m}2}),\\ & ({x}_{\mathrm{m}3},{y}_{\mathrm{m}3}),({x}_{\mathrm{m}4},{y}_{\mathrm{m}4}))) \end{split} $ | (5) |
式中:
|
图 3 本文所提数据增强方法 Figure 3 Proposed data augment method |
细粒度图像分类算法的关键在于对判别性特征的识别,卷积操作可以对局部判别性特征进行提取,但本文所提的增强方法得到的图片为显著性区域的拼接,其特征丰富且分散。为缓解训练数据显著性区域分布过大,强化模型对高层语义特征的融合,本方法提出将非局部模块嵌入到瓶颈模块之间,在获取特征图全局中不同位置的依赖关系的同时不会引入太多计算量。瓶颈模块如图4(a)所示,非局部模块由图4(b)所示,ResNet-50网络剩余结构如图4(c)和(d)所示,本文所提网络模型架构如图5所示。
|
图 4 网络中各结构图 Figure 4 Diagram of each structure of the network |
|
图 5 本文所提网络模型架构 Figure 5 Proposed network model architecture |
若将模型中特征图表示为
| $ \begin{split} {s}_{\mathrm{l}\mathrm{n}\mathrm{l}}=& {f}_{\mathrm{c}\mathrm{v}4}({f}_{\mathrm{m}\mathrm{m}}(({f}_{Softmax}({f}_{\mathrm{m}\mathrm{m}}(({f}_{\mathrm{c}\mathrm{v}1}({s}_{\mathrm{l}}),\\ & {f}_{\mathrm{c}\mathrm{v}2}({s}_{\mathrm{l}}))),{(f}_{\mathrm{c}\mathrm{v}3}({s}_{\mathrm{l}}))))+{s}_{\mathrm{l}} \end{split}$ | (6) |
模型阶段越靠后,其特征图的尺度越小,语义特征信息越丰富,为了使所嵌入的非局部模块能联合到不同尺度以及不同深度的特征信息,本文模型使用3个非局部模块来进行特征联合。同时为保证非局部模块所处理的特征图语义信息丰富且尺寸不至于过小,本文模型将非局部模块嵌入到模型的stage3中。所以模型的前部倾向于对细节特征的提取,后部倾向于对所提取特征的联合并精炼,从而更适用于细粒度图像分类任务。
1.3 标签计算与训练测试流程增强后的新图片是用4张原图片拼接的混合图像,对于分类任务来说,新图片的标签
| $ \begin{split} \tilde{{l}_{s}}=& \frac{{H}_{\text{1}}*{W}_{\text{1}}}{H*W}{l}_{s1}+\frac{{H}_{\text{2}}*{W}_{\text{2}}}{H*W}{l}_{s2}+\\ & \frac{{H}_{\text{3}}*{W}_{\text{3}}}{H*W}{l}_{s3}+\frac{{H}_{\text{4}}*{W}_{\text{4}}}{H*W}{l}_{s4} \end{split} $ | (7) |
式中:
在带有数据增强的分类任务中,数据增强仅在训练阶段使用。则本方法在模型的训练阶段其输入图片是增强后的新图片
为验证本方法的有效性,在Stanford Cars,CUB-200-2011这2个细粒度图像分类基准数据集上进行了分类准确率的实验,并对比了多个细粒度图像分类算法与数据增强算法,同时还进行了消融实验与热力图分析以验证本方法各模块的必要性与可解释性。
2.1 实验数据集和评价指标Stanford Cars共有196个类别,包含8 144张训练图片和8 041张测试图片。CUB-200-2011包含200类共11 788张图片。以上数据集的图片均为RGB图像。实验中以Top-1准确率(Top-1 accuracy)为评估指标[18]。
2.2 实验设置与环境将所提出的方法与先进的数据增强方法(以ResNet-50为骨干模型)和细粒度图像分类算法作比较,分别为Cutout,Mixup,RICAP,Gridmask,FMix,SaliencyMix[19]和B-CNN,RA-CNN,MC-Loss[20],CNL[21]。以上方法的超参数均设置为其文献公布代码的默认值,且在相同基线模型、相同数据集上的各项参数设置完全相同,均使用SGD作为优化器来更新参数和优化模型,对数据的预处理也仅做了随机裁剪和随机水平翻转及归一化,未引入其他数据增强方法。训练过程中批量大小为32,迭代次数为200,均在一张显存为24G的NVIDIA GeForce RTX
如表1所示,本文所提方法的分类准确率均优于所对比的6种数据增强方法及4种细粒度图像分类算法,在Stanford Cars和CUB-200-2011上分别达到了94.01%和85.97%的Top-1分类准确率。Cutout,Gridmask,RICAP,FMix,SaliencyMix这5种方法是基于裁剪的增强方法:Cutout,Gridmask会直接使样本产生无意义区域;RICAP,FMix,SaliencyMix产生的样本虽然全是有意义的区域,但在拼接图片时会丢失掉部分原图,使样本上下文信息不齐全。Mixup则是进行全局的像素级混合,容易使图片产生混淆区域,加大了模型对图片的理解难度,且对关键部位的定位能力也有所损失。B-CNN虽然对2个分支网络的信息进行了交互,但其缺少不同深度信息的提取与交流。RA-CNN所使用的循环卷积网络能够不断聚焦图像的显著区域,但是缺少特征图层级的语义信息的聚合。MC-Loss则是只改动了Loss函数,未对网络的特征提取能力和理解能力进行加强。CNL是对非局部模块做了修改使其更适应细节特征识别,但对训练数据未做任何处理。而本文所提方法中的增强方式不会出现混淆区域,其拼接的区域全是经过显著性定位后的显著区域,经此增强后,训练数据的判别性区域不再集中,能够迫使模型对全局进行关注。并且与其他细粒度图像分类方法相比,本文提出的将3个非局部模块嵌入到模型的stage3中的方法简单有效,既有全局特征的聚合,又有深度信息的相互交流。
|
|
表 1 在Stanford Cars、CUB-200-2011上的分类准确率 Table 1 Classification accuracy on Stanford Cars and CUB-200-2011 |
为验证本方法所提出各个模块的有效性,在CUB-200-2011数据上进行了消融实验,结果见表2。在基线模型中添加本文提出的增强方法后,准确率提升了1.34%,并且随着非局部模块的添加,模型的准确率进一步增加,在stage3添加了3个非局部模块后,准确率又提升了0.78%。这说明本文所提出的数据增强方法与插入的非局部模块都是有效且必要的。这是因为经本文提出的增强方法处理后,增强后的图片显著性区域分布广泛,模型可以学习到更丰富的信息,非局部模块又能够将特征图中各个区域联系起来,使模型对各个区域的特征都有所关注,两者互补。值得注意的是非局部模块都是从各个阶段的右边开始嵌入并计算个数,且在ResNet-50的stage3阶段添加非局部模块的性能都优于在stage2阶段添加,这是因为非局部模块更适用于对高维特征图的注意力计算。
|
|
表 2 在CUB-200-2011上的消融实验结果 Table 2 Experimental result of ablation on CUB-200-2011 |
使用Grad-CAM[22]即类激活图对本方法进行可解释性分析,如图6所示,以找出模型对图像聚焦的区域[23]。
|
图 6 本方法类激活图 Figure 6 Grad-CAM of the method |
对激活图分析可知,经过本方法训练后的模型能够对图片各个区域的特征进行识别。与原始图片相比,尽管有些显著区域所激活的大小发生了变化,但被激活区域的形状与原始图片相同,高亮区域的连续性也没有被打破,说明模型对所增强图片的信息仍然能够正确理解,且特征提取的能力没有减弱。同时,增强后图片的4个显著性区域都能够被激活,说明模型对各个显著性区域的鉴别不会丢失,并且模型的注意力能够覆盖更大的范围。这也进一步证明了本方法的优越性。
3 结 论本文将显著性与非局部模块相结合来提升细粒度图像的分类准确率,提出了融合显著性和非局部模块的细粒度图像分类算法,通过裁剪及拼接4张训练图片的显著性区域为1张图片,来使训练数据包含的信息更加丰富,并在ResNet-50的瓶颈模块中融合3个非局部模块,以加强模型对特征图中所有鉴别性特征区域的关注。实验结果表明,本方法在Stanford Cars和CUB-200-2011数据集上的分类准确率均高于对比的增强方法与细粒度图像算法,证明了该方法的有效性与优越性。
| [1] | KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84–90. DOI:10.1145/3065386 |
| [2] | DEVRIES T, TAYLOR G W. Improved regularization of convolutional neural networks with cutout[EB/OL]. arXiv: 1708.04552, 2017.https://arxiv.org/abs/1708. 04552. |
| [3] | SRIVASTAVA N, HINTON G, KRIZHEVSKY A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15(56): 1929–1958. |
| [4] | ZHANG H Y, CISSÉ M, DAUPHIN Y N, et al. Mixup: beyond empirical risk minimization[C]//6th International Conference on Learning Representations. Vancouver: ICLR, 2018. |
| [5] | WALAWALKAR D, SHEN Z Q, LIU Z C, et al. Attentive cutmix: An enhanced data augmentation approach for deep learning based image classification[C]//ICASSP 2020 - 2020 IEEE International Conference on Acoustics, Speech and Signal Processing. Barcelona: IEEE, 2020: 3642 − 3646. |
| [6] | TAKAHASHI R, MATSUBARA T, UEHARA K. Data augmentation using random image cropping and patching for deep CNNs[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2020, 30(9): 2917–2931. DOI:10.1109/TCSVT.2019.2935128 |
| [7] | LIN T Y, ROYCHOWDHURY A, MAJI S. Bilinear CNN models for fine-grained visual recognition[C]//2015 IEEE International Conference on Computer Vision (ICCV). Santiago: IEEE, 2016: 1449 − 1457. |
| [8] | FU J L, ZHENG H L, TAO M. Look closer to see better: recurrent attention convolutional neural network for fine-grained image recognition[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 4476 − 4484. |
| [9] | WANG Y M, MORARIU V I, DAVIS L S. Learning a discriminative filter bank within a CNN for fine-grained recognition[C]//Proceedings of the 2018 IEEE/CVF conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 4148 − 4157. |
| [10] | CORNIA M, ABATI D, BARALDI L, et al. Attentive models in vision: Computing saliency maps in the deep learning era[J]. Intelligenza Artificiale, 2018, 12(2): 161–175. |
| [11] | LI C Y, YUAN Y C, CAI W D, et al. Robust saliency detection via regularized random walks ranking[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015: 2710 − 2717. |
| [12] | ZHANG X N, WANG T T, QI J Q, et al. Progressive attention guided recurrent network for salient object detection[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 714 − 722. |
| [13] | WANG X L, GIRSHICK R, GUPTA A, et al. Non-local neural networks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 7794 − 7803. |
| [14] | 刘晶晶, 黄浩. 引入非局部模块卷积神经网络的基频提取模型[J]. 计算机工程, 2023, 49(3): 128–133,160. |
| [15] | MEI Y Q, FAN Y C, ZHOU Y Q. Image super-resolution with non-local sparse attention[C]//Proceedings of 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021: 3516 − 3525. |
| [16] | HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas: IEEE, 2016: 770 − 778. |
| [17] | KIM J H, CHOO W, SONG H O. Puzzle mix: exploiting saliency and local statistics for optimal mixup[C]//Proceedings of the 37th International Conference on Machine Learning. Vienna, Austria, 2020: 5275 − 5285. |
| [18] | YANG Z, LUO T G, WANG D, et al. Learning to navigate for fine-grained classification[C]//Proceedings of the 15th European Conference on Computer Vision. Munich: Springer, 2018: 438 − 454. |
| [19] | UDDIN A F M S, MONIRA M S, SHIN W, et al. SaliencyMix: a saliency guided data augmentation strategy for better regularization[C]//9th International Conference on Learning Representations. ICLR, Vienna, Austria, 2021. |
| [20] | CHANG D L, DING Y F, XIE J Y, et al. The devil is in the channels: mutual-channel loss for fine-grained image classification[J]. IEEE Transactions on Image Processing, 2020, 29: 4683–4695. DOI:10.1109/TIP.2020.2973812 |
| [21] | YE Z H, HU F Y, LIU Y, et al. Associating multi-scale receptive fields for fine-grained recognition[C]//2020 IEEE International Conference on Image Processing (ICIP). Abu Dhabi: IEEE, 2020: 1851 − 1855. |
| [22] | SELVARAJU R R, COGSWELL M, DAS A, et al. Grad-CAM: Visual explanations from deep networks via gradient-based localization[C]//2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 618 − 626. |
| [23] | CHATTOPADHAY A, SARKAR A, HOWLADER P, et al. Grad-CAM++: generalized gradient-based visual explanations for deep convolutional networks[C]//2018 IEEE Winter Conference on Applications of Computer Vision. Lake Tahoe: IEEE, 2018: 839 − 847. |
2024, Vol. 46
Issue (6): 55-63


