基于特征融合的细粒度鸟类图像分类研究

2024-01-02 10:57:45李昊霖俞成海卢智龙陈涵颖
计算机时代 2023年12期
关键词:特征融合

李昊霖 俞成海 卢智龙 陈涵颖

摘  要: 特征金字塔(FPN)因能将低尺度的特征与更高尺度的特征融合、呈现每个层次丰富的语义信息,而被广泛应用于小尺度目标定位识别中,但其目前无法连接跨尺度特征信息,且分类准确率不高。本文提出特征融合金字塔模块(FFPN),通过在ResNet50主干网络中引入FFPN模块,有效地提高了细粒度鸟类图像分类的性能。模型在CUB-200-2011数据集上达到了83.379%的分类准确度,在Bird-400数据集中达到了91.201%的准确度,实现了较好的分类效果。

关键词: 特征融合; 多尺度特征; 细粒度图像分类; 鸟类图像识别

中图分类号:TP391.41          文献标识码:A     文章编号:1006-8228(2023)12-130-05

Research on fine-grained bird image classification based on feature fusion

Li Haolin1, Yu Chenghai1, Lu Zhilong1, Chen HanYing2

(1. School of Computer Science and Technology, Zhejiang Sci-Tech University, Hangzhou, Zhejiang 310018, China;

2. North China Electric Power University)

Abstract: Feature pyramid network (FPN) is widely used for small object detection and localization, owing to its ability to fuse features from different scales to provide rich semantic information for each feature level. However, the current FPN still cannot build connections between features across scales, and has suboptimal classification accuracy. To address this, the feature fusion pyramid network (FFPN) is proposed, which effectively improves the performance of fine-grained bird image classification by incorporating FFPN modules into the ResNet50 backbone. The model achieves 83.379% classification accuracy on CUB-200-2011 dataset and 91.201% on Bird-400 dataset, realizing good classification results.

Key words: feature fusion; multi-scale features; fine-grained image classification; bird image recognition

0 引言

近年来,许多图像分类场景都面临着类内图像存在细粒度差异难以区分的问题,因此细粒度图像分类引起广泛学者的关注。细粒度图像分类中的分类算法可以大致分为基于局部检测的分类方法、基于端到端的分类方法和基于注意力机制的分类方法三个阶段[1]。其中基于端到端的分类方法简单有效,在细粒度图像分类任务中取得了较好的性能。细粒度图像分类实际上是对特定区域进行特征提取和处理,在图1中展示了从CUB-200-2011数据集[2]截取的五张不同种类的鸟类。不同种类的鸟之间存在着微小的差异,如颜色、形状、纹理等。这些特征难以捕捉,提取细粒度的特征并准确分类是算法的重要研究方向。

通过应用特征融合机制,网络能够检测到图像中多个尺度的特征信息,其对应的特征可用于不同细粒度特征的提取。Laurent等人首次提出了一种视觉注意力模型,该模型能够将多尺度的图像特征整合成一个单一的显著性图,并利用动态神经网络DNN(Dynamical Neural Network)按顺序选择关键的注意区域[3]。这一视觉注意力模型的创新之处在于它能够自动建模图像中的显著性,并根据具体任务有选择地处理最相关和重要的区域。通过将多尺度的图像特征进行融合,该模型生成一个显著性图,通过DNN按照顺序选择出关注度高的区域进行进一步处理。

Fu等人提出了循环注意力卷积神经网络RA-CNN(Recurrent Attention Convolutional Neural Network)[4]。该网络在多个尺度上学习可判别区域注意力。RA-CNN通过引入循环注意力机制,在不同的尺度上对图像进行逐步的细粒度分析。该网络通过学习可判别区域注意力,能够自动地聚焦于关键区域,从而提高目标检测和分类的精度。

Chou等提出了一种全新的特征融合模块,该模型中引入了特征金字塔网络(FPN),用于有效融合不同尺度的特征[5]。FPN能够在不同层次上融合多尺度的特征图,以增强对不同大小目标的识别能力。通过将FPN與特征融合模块相结合,模型能够更好地适应各种尺度的视觉特征,从而提高分类的准确性和鲁棒性。

基于以上研究,本文提出在ResNet50主干网络中引入FFPN模块来提升分类精度,利用FFPN模块,通过在多个层级上提取特征并融合,实现更全面和丰富的特征表达,实现对鸟类图像的有效分类。

1 总体网络设计

总体网络结构(如图2)中的主干网络ResNet可以被拆分成多个Block,每个Block之间相对独立。这样的设计使得网络能够有效地提取每个Block的输出层(图2中Layer1-Layer4),从而获取该网络的多尺度特征,并将这些特征用于后续的特征融合处理。高层Block通常对图像具有更高级的语义信息,而低层Block则保留了更多的细节和边缘信息。通过提取每个Block的输出层,网络能够获得多个不同尺度的特征图。这些多尺度特征图在后续的特征融合处理中发挥着关键作用。特征融合是将不同尺度的特征进行融合和整合,从而得到更具有丰富语义信息和高分辨率的特征表达。通过将不同Block的输出层进行融合,网络能够在多个层级上捕捉目标的细粒度特征并提高性能。

ResNet50是一种经典的深度残差网络,作为主干网络广泛应用于各种深度学习任务中[6]。当深度学习网络的层数增加时,理论上模型的表达能力应该增强。然而,在卷积神经网络(CNN)达到一定深度后,继续加深网络并不能带来性能的提升,反而会导致网络收敛变得更慢,并且分类准确率会下降。即使通过增大数据集和解决过拟合问题,分类性能和准确度也不会显著提高。

ResNet50(如图3)的核心组成部分是四个Block,每个Block包含了多个BottleNeck单元。在ResNet50架构中,每个Block分别包含3、4、6和三个BottleNeck单元。每个BottleNeck单元由多个卷积层和残差连接组成,它能够将初始特征和经过卷积处理后的特征叠加在一起,有效地缓解了当网络层数过深时无法训练的问题。

BottleNeck单元结构见图4,该单元首先通过一个1×1的卷积操作将输入特征图的通道数降低,然后经过一个3×3的卷积操作进行特征提取,最后再通过一个1×1的卷积操作将通道数恢复到原始维度。在这个过程中,残差连接将初始的输入特征直接与经过卷积处理后的特征相加,形成残差块。这样的设计使得网络可以更容易地学习到残差部分,进而加强了特征的传递和梯度流动,有助于避免梯度消失和梯度爆炸问题。

通过使用BottleNeck单元和残差连接,ResNet50网络有效地缓解了深度网络难以训练的问题。残差块的引入不仅提高了梯度的传播效率,还使得网络能够更好地适应不同深度任务的需求。此外,BottleNeck单元中的1×1卷积操作可以降低参数数量和计算复杂度,进一步优化了网络的性能和效率。

2 基于特征融合的图像分类模型

2.1 特征提取模块FEM

ResNet50网络在图像特征提取方面表现较好,这是因为其采用残差结构有效地缓解了网络层数加深时的梯度消失问题,从而能够构建出较深的模型,同时残差模块也增强了特征的表达能力。但是,ResNet50对细粒度图像特征的学习表达能力较为欠缺,这主要是因为在网络的深层处理中,来自底层的低尺度特征被逐步丢弃,无法为高层提供足够的细节信息。尤其是在图像中存在较多细节纹理或较小目标的情况下,ResNet50的特征表示会丢失这些关键细节,导致对细粒度特征表达不足。为了进一步提升特征表达能力,本文提出了一个特征提取模块。

本文将ResNet50网络中每个残差模块(ResNet Block)的最后一个输出特征图定义为一个层,依次命名为Layer1至Layer4,如图5所示。这些层的特征图将作为后续提出的多尺度特征融合模块的输入。该模块通过融合ResNet50不同Block输出的多尺度特征,形成一个信息更加丰富完整的特征表达。Layer1输出保留了原始图像空间中的高分辨率细节信息,Layer2至Layer4逐步获得了更高级的语义特征。将这些互补的多尺度特征有效融合,可以增强网络对细致图像细节的理解,提高其对细粒度特征的表示能力。

2.2 特征融合模块FFPN

特征金字塔网络(Feature Pyramid Network,FPN)是一种用于处理多尺度特征的计算机视觉网络[7]。传统的卷积神经网络中,高层特征具有更丰富的语义信息,但其分辨率较低,难以精确定位小尺度的目标。而低层特征具有更高的分辨率,但语义信息较少,难以识别复杂的目标。为了克服这一问题,FPN构建了一个特征金字塔,通过在不同尺度上提取丰富的语义信息并保持高分辨率。如图6所示,特征金字塔网络由自底向上和自顶向下两个阶段组成。

自底向上阶段利用标准的神经网络从输入图像中提取特征,并生成多个尺度的特征图。然后,在自顶向下阶段,网络通过上采样操作逐层向上传递特征,并与来自更高层的特征进行融合。这样,较低层的高分辨率特征可以与较高层的高语义特征融合,形成一个特征金字塔,其中每个层级都具有丰富的语义信息和较高的分辨率。

本文提出了一种名为特征融合金字塔模块(Feature Fusion Pyramid Network,FFPN)的方法,旨在通过修改上采样过程中的特征融合操作,以提高对细粒度特征的提取能力。

具体操作如图7所示:首先,从ResNet网络中提取每个阶段(Stage)的输出层,分别命名为Layer1至Layer4,并将它们组装为一个名为return_nodes的对象。随后,将每个Layer的输出输入到一个较小的卷积网络中,该网络的主要目的是对齐输出层的第二个维度。最后,通过逐层上采样将较小的输出层与较大的输出层逐步融合,从而得到Layer1至Layer4的输出结果。最后,将每个Layer的输出层连接到相应的分类头部,以获得该层的分类结果,然后从四个层中选择具有最大值的结果。

FFPN方法的关键在于其特征融合金字塔模块,通过逐层上采样和融合,能够有效地提取和利用细粒度特征信息。与FPN中的上采样相比,FFPN通过修改特征融合操作,使得較小的特征图能够逐级的融合到较大的特征图中,从而提升了网络提取细粒度特征的能力。通过这种方式,FFPN可以在不同层级上获取丰富的特征信息,并将其应用于细粒度图像分类任务中。本文提出的FFPN方法通过修改上采样过程中的特征融合操作,能够有效地提取和利用细粒度特征信息,从而提高细粒度图像分类任务的性能。

3 实验分析

3.1 实验环境

本次实验使用Ubuntu操作系统,使用的GPU为RTX 3090 24GB,CPU为AMD EPYC 7601,内存64GB。运行环境使用Python3.8,Pytorch2.0.1,Cuda12.1,使用改进的Timm框架进行主干网络编写。所用的第一项数据集为CUB-200-2011公开鸟类细粒度图像分类数据集,该数据集包含了200种不同鸟类的共计11788张图像,其中训练集有5994张图像,测试集有5794张图像。第二项数据集为Kaggle上的公开数据集Birds-400,该数据集包含400种鸟类,其中训练数据有58388张图像,测试集和验证集均为2000張。为了均衡验证效果,本文采用随机分割的方式将训练集切分为50781张训练样本以及33854张验证样本。

3.2 实验细节

实验中的主干网络采用在ImageNet-1K数据集上进行预训练的ResNet50网络。原始图像的尺寸设置为384×384,并将其作为网络的输入尺寸,训练轮数统一设置为50轮,Batch_Size设置为16。

在训练过程中,网络采用了随机梯度下降(Stochastic Gradient Descent,SGD)算法[8],并设置动量值为0.9,这可以加速收敛。初始学习率设置为0.0005,这是为了在训练的初期阶段使网络快速收敛。本文采用了余弦退火算法(Cosine Annealing)来有序地调整学习率,以在训练的后期阶段更细致地优化网络参数。

网络中使用了一项超参数FPN_SIZE,每个Stage输出结果的第二个维度即通道数都会通过一个一维卷积升维到FPN_SIZE个通道。本文在CUB-200-2011数据集中使用了1000至6000的FPN_SIZE作为超参数,对输出层进行上采样。由实验得FPN_SIZE在网络未达到过拟合的情况下逐渐增大时,网络训练效果成正比提升。在FPN_SIZE增大至5000时出现了分类精度降低的情况。据此本文采用了FPN_SIZE 4000作为验证网络有效性的参数。

在网络中,模型采用了交叉熵损失函数(CrossEntropyLoss)作为目标函数,用于度量模型预测结果与真实结果之间的差异。网络对第二个维度的向量进行平均操作,然后将平均结果与真实结果计算交叉熵损失。这样可以使网络学习到更准确的分类结果,并不断优化模型的性能。

3.3 实验结果

本文针对该模型进行了消融对比实验,以评估所提出的特征融合金字塔模块(FFPN)对分类精度的影响。首先,本文在CUB-200-2011数据集上进行了训练,相关结果如表1所示。在使用相同的超参数FPN_SIZE 1600进行训练时,常规FPN模块得到的Top-1准确率为70.262%,而本文的FFPN模块则达到76.200%。当将FPN_SIZE扩大到4000后,FFPN的优势更加明显,准确率提升至83.379%。这充分验证了FFPN模块在提取细粒度特征上的效果。

此外,本文还在Kaggle公开的Birds-400数据集上进行了验证,相关结果如表2所示。结果表明,本文方法相较于使用常规FPN准确率提升了1.467%。这进一步证明了本文模型具有较强的泛化能力,可以很好地迁移到其他鸟类图像数据集。

4 总结

本文提出了一种新的特征融合金字塔模块(FFPN),该模块通过提取不同层的输出并进行特征对齐和融合,可以有效利用多尺度特征。相比原始的FPN模块,FFPN修改了上采样过程的融合方式,可以更好地突出细粒度信息。

在CUB-200-2011和Bird-400两个数据集上,本文进行了消融对比试验,结果表明,FFPN 模块可以有效提升分类准确率。与仅使用ResNet50或结合常规FPN的ResNet50相比,采用ResNet50+FFPN能够取得更高的分类准确率,这证实了所提出的FFPN模块在捕捉多尺度细粒度特征方面的优势。

参考文献(References):

[1] 申志军,穆丽娜,高静,等.细粒度图像分类综述[J].计算机

应用,2023,43(1):51-60.

[2] WAH C, BRANSON S, WELINDER P, et al. The Caltech-

UCSD Birds-200-2011 Dataset[J].2011.

[3] ITTI L, KOCH C, NIEBUR E. A Model of Saliency-Based

Visual Attention for Rapid Scene Analysis[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1998.

[4] FU J, ZHENG H, MEI T. 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 (CVPR), Honolulu, HI,2017.

[5] CHOU P Y, LIN C H, KAO W C. A Novel Plug-in Module

for Fine-Grained Visual Classification[J].2023.

[6] HE K, ZHANG X, REN S, et al. Deep Residual Learning

for Image Recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA,2016.

[7] LIN T Y, DOLLAR P, GIRSHICK R, et al. Feature Pyramid

Networks for Object Detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI,2017.

[8] RUDER S. An overview of gradient descent optimization

algorithms[J]. arXiv: Learning,arXiv: Learning,2016.

猜你喜欢
特征融合
多特征融合的粒子滤波红外单目标跟踪
基于稀疏表示与特征融合的人脸识别方法
一种“客观度量”和“深度学习”共同驱动的立体匹配方法
多特征融合的纹理图像分类研究
语谱图傅里叶变换的二字汉语词汇语音识别
基于多特征融合的图像匹配算法
软件导刊(2017年7期)2017-09-05 06:27:00
人体行为特征融合与行为识别的分析
基于移动端的树木叶片识别方法的研究
科技资讯(2017年11期)2017-06-09 18:28:13
基于SIFT特征的港口内舰船检测方法
融合整体与局部特征的车辆型号识别方法