舰船科学技术  2024, Vol. 46 Issue (15): 95-100    DOI: 10.3404/j.issn.1672-7649.2024.15.017   PDF    
基于改进EfficientNet的水下图像识别
丁元明1,2, 杨安娜1,2, 康伟1,2     
1. 大连大学 通信与网络重点实验室, 辽宁 大连 116622;
2. 大连大学 信息工程学院, 辽宁 大连 116622
摘要: 针对水下图像存在细节模糊、多尺度以及识别模型计算资源大等问题,提出一种改进EfficientNet的图像识别模型。该模型通过迁移学习在公开数据集上训练得到初始模型参数,提出自适应参数化修正线性单元激活函数(Adaptively Parametric ReLU,APRelu)和基于选择性内核网络的注意力(Selective Kernel Network,SK)模块加强处理图像的细节特征和多尺度问题。通过保留所有MBConv6模块中的第一个Layer,并在最后一个MBConv6模块后嵌入BN和APRelu模块,加快其收敛速度并去除冗余特征。使用数据增强、十折交叉验证、快照集成等策略提高模型性能。实验对比表明,该模型在测试集上的准确率达到了97.32%,相对于改进前提高了3.75%,具有较高的识别性能。
关键词: 水下图像识别     迁移学习     EfficientNet     APRelu激活函数     SK注意力机制    
Underwater image recognition based on improved EfficientNet
DING Yuanming1,2, YANG Anna1,2, KANG Wei1,2     
1. Key Laboratory of Communication and Network, Dalian University, Dalian 116622, China;
2. College of Information Engineering, Dalian University, Dalian 116622, China
Abstract: An improved Efficientnet image recognition model was proposed to solve the problems of fuzzy details, multi-scale and large computing resources for underwater images. The initial model parameters were obtained by training the model on the open data set through transfer learning. Adaptive Parametric ReLU (APRelu) and Selective Kernel Network (SK) based modules are proposed to enhance the processing of image detail features and multi-scale problems. By keeping the first Layer in all MBConv6 modules and embedding the BN and APRelu module after the last MBConv6 module, it speeds up its convergence and removes redundant features. Improve model performance by using data enhancement, 10-fold cross-validation, snapshot integration and other strategies. The experimental comparison shows that the accuracy of the model on the test set reaches 97.32%, which is 3.75% percentage points higher than before the improvement, and has high recognition performance.
Key words: underwater image recognition     transfer learning     EfficientNet     APRelu activation function     SK attention mechanism    
0 引 言

水下图像识别技术在水下目标检测、海洋环境检测以及水下救援等领域具有巨大的潜在价值[1]。由于水下目标受成像条件复杂性的影响,水下图像存在细节模糊、多尺度等问题,严重影响了图像的质量,导致水下图像识别效果不明显[2]。Siddiqui等[3]利用预训练的AlexNet、VGG和ResNet网络通过迁移方法,利用跨层池化算法对各网络层的特征进行组合,实现了89%的最大准确率,但是在CNN中使用跨层池化会增加计算复杂度以及很高的计算资源。Qin等[4]提出使用带有主成分分析(PCA)的卷积层进行特征提取,并使用空间金字塔池(SPP)从Fish4Knowledge数据集中识别鱼类,虽然实现了98.64%的准确率,但这是针对小尺寸的输入图像所设计,在多尺度或者高维图像中识别效果不好,并且需要大量的计算时间。

近年来,轻量级网络引起了广泛的关注,其出现弥补了传统识别网络参数量过多的不足。甘雨等[5]在EfficientNet模型中引入CA注意力机制,对农作物害虫进行识别,相比于改进前准确率提升4.01%,相比于经典识别网络,其参数量仅是这些网络模型参数量的3.89%、22.72%和52.63%。Cheng等[6]基于多尺度重复注意机制(MSRAM)提出结合多尺度特征,使所提模型更加关注目标的形状细节。邵剑飞等[7]对MobileNetV2结构中的Block模块进行改进,添加SE块和尺度注意力机制,并引入全连接层和全局池化以便于获取多尺度特征,准确率对比原模型提升约2%。

本文在EfficientNet轻量级网络的基础上,只保留每个MBConv6模块中的第一个Layer,精简网络结构;引入了一种自适应参数化修正线性单元激活函数(Adaptively Parametric ReLU,APRelu),使模型能够提取更多的图像细节特征,同时将每个MBConv模块中的SE模块换成基于选择性内核网络的注意力(Selective Kernel Network,SK)模块,通过学习选择不同的卷积核,从而能够自适应融合多尺度的特征图;在EfficientNet网络中最后一个MBConv6模块的后面加入BN和APRelu激活函数,加快模型最终的收敛速度以及去除不必要的特征。使用数据增强、十折交叉验证对数据集进行处理,同时采用迁移学习、快照集成以及RAdam优化器等策略对网络模型进行训练,以提高网络模型的泛化性能,使得水下图像识别效果明显。

1 改进的EfficientNet模型构建 1.1 EfficientNet模型

EfficientNet[8]是一种新型轻量化网络,由多个MBConv模块组成,与扩展网络深度的ResNet[9]、增加网络宽度的MobileNet[10]、以及通过图像分辨率来扩展模型的一系列方法相比。它通过一个复合参数,完成了3个维度的统一缩放,在保证较高准确率的前提下,大大减少模型的参数量[11]。EfficientNet主干网络如图1所示。

图 1 EfficientNet模型网络结构图 Fig. 1 EfficientNet model network structure diagram
1.2 APRelu激活函数

APRelu[12]是一种自适应参数化的修正线性单元,使用小型全连接网络获取权重,并将这组权重作为参数化修正线性单元激活函数(Parametric Rectified Linear Unit,PRelu)[13]中负数部分的系数[14]

1.3 SK注意力机制

SK注意力机制中的SK(Selective Kernel)[15]是采用非线性方法,针对不同大小的目标动态选择不同尺度大小的卷积核,具有目标尺度自适应的特点,相对于其他注意力机制对多尺度目标检测具有更好的效果[16]

1.4 改进的EfficientNet网络模型

水下图像由于环境光线不足,导致图像清晰度低,水中杂质散射会使图像出现细节模糊、边界不清的问题[17]。为了进一步提升水下图像识别模型的准确度,本文在EfficientNet网络的基础上引进了APRelu激活函数和SK注意力机制,改进的EfficientNet模型结构见图2。本文对网络模型的具体改进内容有:

图 2 改进的EfficientNet模型结构 Fig. 2 Improved EfficientNet model structure

1)去除原来网络中重复堆叠的MBConv6模块,仅保留每个MBConv6的第一个Layer,针对较小的数据集,无需太大的模型,可以精细网络结构,降低计算资源,保留EfficientNet网络中最核心的结构就能达到较高的识别结果。

2)使用APRelu激活函数代替EfficientNet网络中的Swish激活函数。APRelu可以通过2个可调参数使每个特征图都有独特的权重系数,以此来抑制不必要的特征,提高网络模型的特征提取能力。

3)将MBConv中的SE模块换成SK模块,使模型可以通过学习选择不同的卷积核来提取多尺度的特征,增加对尺度的适应性提高网络提取不同特征的能力。

4)在EfficientNet网络的最后一个MBConv6后面依次加上BN和APRelu激活函数,加快模型最后的收敛速度缓解深层网络中梯度弥散问题,同时去除冗余特征。

2 实验设计与评价指标 2.1 数据来源及数据处理

本文使用的是2020年未来杯海洋生物训练数据集,其中有20类海洋生物。在训练过程中,将该数据集按照7∶3的比例划分为训练数据集(1333个样本)和测试数据集(560个样本)。同时采用了十折交叉验证法,从而得到10组训练集和验证集。如表1所示。

表 1 数据集样本分布 Tab.1 Sample distribution of dataset
2.2 实验环境配置

本文使用的所有模型均采用Pytorch编程框架,结果中所展示的混淆矩阵使用Matplotlib工具包导出。所有的训练以及测试工作都在Google Colab中运行,GPU硬件环境为K80。

2.3 实验设计和参数设置

为了进一步提升模型的收敛速度,本文采用迁移学习训练策略,先使用fish4knowledge[18]公开鱼类数据集在EfficientNet上进行预训练,再将训练得到的模型参数迁移到本文改进的EfficientNet模型上作为初始训练的权重。数据增强方面采用了随机裁切、随机擦除、AutoAugment和cutmix,使用CrossEntropyLabelSmooth作为损失函数,优化损失函数采用RAdam优化器。图像输入尺寸为380,进行0.6倍的缩放处理,以0.3的概率对图像进行遮挡操作,初始学习率为0.00005,L2正则化项的系数为0.0001,批处理大小为6,迭代次数为120次,同时采用了快照集成的思想,每隔20个epoch保存一次模型。

2.4 评价指标

本文将准确率(accuracy)、精确率(precision)、召回率(recall)、F1值(F1-score)和模型参数量(parameters)作为实验结果评价指标。由于数据集中各类别的样本量存在差异,所以使用加权平均的方法计算各类别的指标,权重为各类别的样本数。

accuracy是通过判断正确的样本数除以总样本数:

$ accuracy = \frac{{{S_{\text{true}}}}}{{{S_{\text{all}}}}} \times 100\text%。$ (1)

式中:Sture为被正确预测的样本数量;Sall为测试集图像的总样本数量。

precision是测试集中预测为正样本的数量中有多少是被正确预测的:

$ precision = \frac{{{P_1} \times {N_1} + {P_2} \times {N_2} + \cdot \cdot \cdot + {P_k} \times {N_k}}}{N} \times 100\text% 。$ (2)

recall是用于衡量模型对正样本的识别能力:

$ recall = \frac{{{R_1} \times {N_1} + {R_2} \times {N_2} + \cdot \cdot \cdot + {R_k} \times {N_k}}}{N} \times 100\text% 。$ (3)

F1-score是precisionrecall的加权平均:

$ F_1 = \frac{{F_{1i} \times {N_1} + F_{12} \times {N_2} + \cdot \cdot \cdot + F_{1k} \times {N_k}}}{N} \times 100\text% 。$ (4)

式中:Ni为第i个类别的样本数;N为总样本数;PiRiF1i分别为第i个类别的精确度、召回率和F1值。

模型参数量是该网络模型每一层参数量之和,用来衡量网络模型规模的大小。

3 结果和分析 3.1 不同基本模型训练结果分析

为了验证本文提出的模型对于水下识别的效果,选择ResNet-50、EfficientNet-b0至EfficientNet-b7网络进行对比。在原有的网络模型中加入CrossEntropyLabelSmooth和RAdam进行训练,比较数据集的识别结果。由表2可知,EfficientNet-b4在测试集上的效果最好,相对于更高参数量的模型有更高的准确率。

表 2 不同模型的识别准确度及参数量 Tab.2 Classification accuracy and parameter quantity of different models
3.2 改进模型的收敛性能

改进的EfficientNet模型在水下图像识别的样本集中的损失值曲线如图3所示。

图 3 训练和验证损失函数 Fig. 3 Curves for training and validation loss

可知,本文所提模型的损失值在epoch为30时快速稳定,经过70次迭代后,损失值接近收敛,在第100次迭代时基本收敛,表明该模型已经达到饱和。实验证明,本文的改进方法可行,能够改进模型的稳定性和收敛速度。

3.3 改进模型的消融实验

基于EfficientNet-b4模型,实验测试4种改进方法,本文按照上述评价指标,在测试集上将EfficientNet-b4模型中各个MBConv6只保留第一个Layer这一改进定义为EfficientNet-b4(1),将EfficientNet-b4模型中MBConv的Swish激活函数均换成APRelu激活函数、SE模块换成SK模块这一改进定义为Efficientnet-b4(2),将EfficientNet-b4模型最后嵌入BN和APRelu激活函数这一改进定义为EfficientNet-b4(3),将这几个改进融合在一起定义为改进的EfficientNet-b4,并与Resnet-50和Resnet-101模型进行对比消融实验。实验结果见表3

表 3 基于EfficientNet网络的各个组合方式性能对比 Tab.3 Performance comparison of the various combinations of EfficientNet networks

可知,ResNet-50和ResNet-101模型各项识别指标整体偏低。相比之下,EfficientNet-b4网络在准确率上分别提升了5.18%和4.11%,在F1值上分别提升了4.88%和3.86%。本文在EfficientNet-b4网络的基础上,仅保留各个MBConv6中的第一个Layer,识别性能相较于原始EfficientNet-b4模型在准确率和F1值上提升1.61%和1.55%;仅引入APRelu激活函数和SK注意力机制时,在准确率和F1值上提升3.04%和2.97%;仅在模型最后嵌入BN和APRelu激活函数时,在准确率和F1值上提升2.5%和2.43%;同时引入3种改进策略后,模型在准确率和F1值上提升3.75%和3.66%。综上所述,本文改进的模型具有准确率高、模型轻量化等特点,方便在移动端进行部署。

为了了解各模型组合之间的差异和相似之处,本文通过箱线图观察准确率、精确率、召回率和F1值的分布情况。由图4 ~ 图7可知,ResNet-50、ResNet-101在各个识别指标的中位数都远远低于其他模型。基于EfficientNet-b4的各类模型组合中,EfficientNet-b4(2)的数值虽然高于EfficientNet-b4(3),但是数值分布较为离散,而本文改进后的模型,不仅各类指标达到最高,而且数值波动范围较小、数据分布较为集中。

图 4 准确率的箱线图 Fig. 4 Box plot of accuracy

图 5 精确率的箱线图 Fig. 5 Box plot of exact rate

图 6 召回率的箱线图 Fig. 6 Box plot of recall rate

图 7 F1值的箱线图 Fig. 7 Box plot of F1 values
3.4 改进模型进行识别的数据分析

本文使用上述配置的实验参数对改进的模型进行训练,图8显示该模型用于识别测试集中水下目标类别的混淆矩阵。

图 8 改进的EfficientNet模型在测试集上的混淆矩阵 Fig. 8 The improved EfficientNet model confuses matrix on the test set

分析混淆矩阵可知,针对单一目标识别结果,该模型对20种类别的目标识别准确率高于98.93%,精确率高于84.62%、召回率高于83.33%、F1值高于90.91%。各项识别指标最低值均是来自标号5绿海龟,通过观察目标图像得出以下原因:数据集大多都是鱼类,提取到的主要是鱼类特征,所以对绿海龟这个龟类的识别就相对较差。从整体识别结果来看,该模型对测试数据集的整体识别准确率为97.32%,能够较为准确地识别各类目标,说明改进的EfficientNet模型对于该数据集中的目标具有较高的识别能力。

3.5 类激活图可视化分析

本文使用类激活图来验证改进后的模型对图像中的目标具有更高的关注力,部分实验结果如图9所示。对于同一张原始图片,在改进前,模型虽然也能够注意到图像中的目标主体,但是其关注的范围过于狭窄且不够准确,忽略了目标的边缘特征。相比之下,改进后的模型不仅能够关注到更多的目标主体特征,还能够更进一步地关注到目标的轮廓特征。这说明改进后的模型可以更全面地提取图像目标的关键特征,从而有效提高水下图像识别的准确性。

图 9 不同模型的水下图像类激活图 Fig. 9 Different models of the image class activation diagram
4 结 语

针对目前水下图像识别模型精度不高的问题,提出一种基于改进EfficientNet的水下图像识别模型。该模型在不影响图像识别精确度的情况下可简化原有的EfficientNet模型,降低了计算资源。该模型不仅能够适应图像的多尺度,而且在保留了更多细节特征的同时加快了网络的收敛效果。该模型与其他图像识别模型对比,具有准确率高、模型轻量化的优点,可以更好地进行水下目标勘察以及海洋监测。

参考文献
[1]
李昕蕾. 全球海洋环境危机治理: 机制演进、复合困境与优化路径[J]. 学术论坛, 2022, 45(2): 1-15.
[2]
巩文静, 田杰, 李宝奇, 等. 基于改进MobilenetV2网络的声光图像融合水下目标分类方法[J]. 应用声学, 2022, 41(3): 462-470.
[3]
SIDDIQUI S A, SALMAN A, MALIK M I, et al. Automatic fish species classification in underwater videos: exploiting pre-trained deep neural network models to compensate for limited labelled data[J]. ICES Journal of Marine Science, 2018, 75(1): 374-389. DOI:10.1093/icesjms/fsx109
[4]
QIN H, LI X, LIANG J, et al. Deepfish: accurate underwater live fish recognition with a deep architecture[J]. Neurocomputing, 2016, 187: 49-58. DOI:10.1016/j.neucom.2015.10.122
[5]
甘雨, 郭庆文, 王春桃, 等. 基于改进EfficientNet模型的作物害虫识别[J]. 农业工程学报, 2022, 38(1): 203-211.
[6]
CHENG Z, HUO G, LI H. A multi-domain collaborative transfer learning method with multi-scale repeated attention mechanism for underwater side-scan sonar image classification[J]. Remote Sensing, 2022, 14(2): 355. DOI:10.3390/rs14020355
[7]
邵剑飞, 魏榕剑, 温剑, 等. 融合SE和多尺度卷积的轻量级新冠肺炎分类模型[J/OL]. 云南大学学报(自然科学版): 1−8 [2023-04-24].
[8]
TAN M, LE Q. Efficientnet: Rethinking model scaling for convolutional neural networks[C]//International conference on machine learning, PMLR, 2019: 6105−6114.
[9]
HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition, 2016: 770−778.
[10]
帖军, 隆娟娟, 郑禄, 等. 基于SK-EfficientNet的番茄叶片病害识别模型[J]. 广西师范大学学报(自然科学版), 2022, 40(4): 104-114.
[11]
江德港, 江智, 黄子杰, 等. 基于Efficientnet的无人机车辆目标检测算法[J/OL]. 计算机工程与应用: 1−11 [2023-04-26].
[12]
ZHAO M, ZHONG S, FU X, et al. Deep residual networks with adaptively parametric rectifier linear units for fault diagnosis[J]. IEEE Transactions on Industrial Electronics, 2020, 68(3): 2587-2597.
[13]
HE K, ZHANG X, REN S, et al. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification[C]//Proceedings of the IEEE international conference on computer vision, 2015: 1026−1034.
[14]
SANDLER M, HOWARD A, ZHU M, et al. Mobilenetv2: Inverted residuals and linear bottlenecks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition, 2018: 4510−4520.
[15]
LI X, WANG W, HU X, et al. Selective kernel networks[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019: 510−519.
[16]
TRUONG Q T, LAUW H W. Vistanet: Visual aspect attention network for multimodal sentiment analysis[C]//Proceedings of the AAAI Conference on Artificial Intelligence, 2019, 33(1): 305−312.
[17]
JIAN M, LIU X, LUO H, et al. Underwater image processing and analysis: a review[J]. Signal Processing: Image Communication, 2021, 91: 116088. DOI:10.1016/j.image.2020.116088
[18]
SHORTEN C, KHOSHGOFTAAR T M. A survey on image data augmentation for deep learning[J]. Journal of Big Data, 2019, 6(1): 1-48. DOI:10.1186/s40537-018-0162-3