轻量化神经网络在远洋鱿钓检测技术中的应用

2022-03-10 04:52刘雨青黄璐瑶隋佳蓉
渔业现代化 2022年1期
关键词:远洋网络结构主干

刘雨青,周 彦,黄璐瑶,隋佳蓉

(1 上海海洋大学工程学院,上海 201306;2 上海海洋可再生能源工程技术研究中心,上海 201306)

中国现已成为世界远洋鱿钓渔业的主要生产国、市场国和消费国,智能化的远洋捕捞技术成为统计鱿鱼资源的关键技术之一[1-2]。将远洋捕捞技术与人工智能技术[3]相结合,逐渐成为研究热点,远洋捕捞装备也逐渐变得智能化[4],如在远洋捕捞鱿鱼过程中,通过计算机对鱿鱼进行自动检测与识别,不仅能节约人力成本,而且为资源调查提供科学依据。由于远洋捕捞的鱿鱼大小不同,又受工作场所和环境影响,目前多采用人工检测的方法。在使用计算机检测过程中发现,采集到的图像数据具有稳定性差、噪声多、变化快等特点,使得鱿鱼检测难度增大。因此,结合机器视觉[5-8]和深度学习算法[9-11]研究适应海洋环境的鱼类检测技术成为渔业资源开发和海洋工程装备改造的关键技术之一。

针对鱼类识别检测方法的研究,最早起始于1990年,Strachan等[12]建立不同鱼类图片的数据库,介绍了不变矩法、不匹配优化法和形状描述法3种区分不同鱼类的方法。Larsen等[13]对鱼类的形状和纹理采用线性判别分析的方法进行研究,达到识别的目的。张志强等[14]利用数字图像处理技术提取了各个颜色分量及长短轴之比等特征值建立了识别相关鱼类品种的网络模型。XIU等[15]基于R-CNN算法提出一种轻型的适合水下鱼类目标识别的网络结构,即为改进 Faster R-CNN 的结构。顾郑平等[16]结合卷积神经网络 CNN和迁移学习的算法提出了基于预训练InceptionV3网络的特征和 SVM算法(PreCNN + SVM) 的混合分类网络模型,对鱼类进行分类识别。Deep等[17]提出了一种混合卷积神经网络(CNN)框架,该框架使用CNN框架提取目标特征信息,利用支持向量机(SVM)和k近邻(k-NN)的方法对鱼类进行识别检测分类。张胜茂等[18]基于MobileNetV1模型提取特征,结合TensorFlow多目标检测的API开发了能够能实现水族馆鱼类快速识别、多鱼类目标实时检测的软件系统。李庆忠等[19]结合YOLO算法和迁移学习的方法训练出了Uderwater-YOLO网络,实现了对小目标鱼类和重叠目标鱼类的检测。但是YOLO算法[20-23]的输出参数量比较大,影响检测时间,降低了识别效率,很难应用于远洋捕捞技术。近年来,轻量级神经网络MobileNets获得了极大得关注。作为一种专门为手机等嵌入式设备设计的神经网络模型,MobileNets极大地减少了网络模型的计算量,降低了模型大小,在保证精度的同时加快了计算速度。

本研究采用MobileNetV3网络[24-25]作为轻量化神经网络结构中的特征提取网络,进行初步有效特征的提取,在MobileNetV3网络结构的基础上,对其逆瓶颈结构设计了CSP瓶颈层,来提升网络的特征提取能力,采用CIoU模型作为损失函数,提高鱼类的检测效率,应用于远洋鱿鱼捕捞检测技术,得到较好的识别效果。

1 轻量化网络模型

1.1 轻量化网络结构

YOLOV3算法是目前深度学习领域应用比较广泛的算法之一,在一定程度上提高了识别检测的精度,但增加了网络骨干的层数,导致模型的输出参数量增大,并对GPU内存和模型存储和硬件条件要求更高,且降低了检测速度,增加了资源耗费。为降低模型参数量和对硬件设备的需求,提高准确率,本研究采用轻量级网络MobileNetV3网络作为轻量化神经网络结构中的特征提取网络,进行初步有效特征的提取,在此网络结构的基础上,对其逆瓶颈结构设计了CSP瓶颈层,形成CSPMobileNetV3网络结构,提升网络的特征提取能力,CSP结构(Cross Stage Partial)是将网络输入数据切为两份,一份数据送到MobileNetV3的逆瓶颈块中,另一份数据直接与逆瓶颈块的输出数据进行拼接。CSP应用于MobileNetV3中的逆瓶颈块如图1所示,轻量化网络模型结构整体框架如图2所示。

图1 CSP逆残差网络结构

图2 先融合和后融合结构图

CSP网络结构中,有Fusion First和Fusion Last两种融合方式。Fusion First方式是将两个分支的特征图先进行拼接操作,再进行transition操作,这样梯度信息就可以被重用,有助于降低计算代价,但同时,准确率也会有所下降。Fusion Last方式是对Dense Block所在的分支先进行transition操作,再进行拼接,梯度信息将被截断,不会重复使用梯度信息。

本研究所用的CSP逆残差网络结构中x作为输入,一部分先经过1×1卷积层和逆瓶颈块进行卷积操作,另一部分特征图通过1×1的卷积层后与上一部分通过通道维度拼接后进行卷积操作,使用了Fusion First和Fusion Last相结合的方式,在降低计算代价的同时提升了准确率,增强了CNN网络的学习能力,降低计算瓶颈,降低内存成本,缓解了大量的推理计算压力,CSP逆残差网络通过将梯度的变化集成到特征图中,能够在轻量化的同时保持准确性。在目标检测问题中,使用CSP逆残差网络结构作为Backbone带来的提升很大,可以在增强CNN学习能力的同时降低计算量,更适用于轻量型网络中。

轻量型网络结构中CSPMobileNetV3网络作为主干特征提取网络,提取目标的特征信息。MobileNetV3网络是一种轻量级的深层神经网络,具有高深度的特点,使用了注意力机制[26]和独特的bneck结构,将扩展层通道修改为1/4,在不增加计算时间的情况下提高了检测精度。采用了深度可分离卷积操作和激活函数h-swishj,不仅减少了运算量,而且提高了性能。CSPMobileNetV3网络结构可以降低计算量,提取的特征信息比较完整,网络结构逆瓶颈结构中设计了CSP瓶颈层,加强特征提取的能力,提高模型的学习能力,减低参数输出量,最后输出3个初步的有效特征层。经过SPP网络和PANet网络[27-29],加强特征层信息,获得3个更有效的特征层,使用3个更有效的特征层对目标进行预测。

图3 轻量型网络结构框架

1.2 损失函数

(1)

IoULoss有两个缺点:一是IoULoss无法表示预测框和真实框的距离,当预测框和真实框的交并比为0时,此时损失函数无法求导,于是就无法调整该情况下预测框和真实框不相交的情况;二是在交并比相同的情况下,预测框和真实框也会出现位置不同的情况,无法反应两个框是否对齐。为了解决第一个问题,对IoULoss添加一个约束条件,以此来约束真实框和预测框之间的中心距离,表达式如下:

(2)

式中:RDIoU是约束真实框与预测框之间的中心距离,ρ代表欧氏距离,bgt和b为真实框和预测框之间的中心点,c为真实框和预测框之间的最小外接矩形对角线的距离。

为解决第二个问题,对IoULoss再次添加一个约束条件,用来约束真实框和预测框的宽高比,从而解决不同的真实框和预测框之间有着相同的交并比的问题。约束真实框和预测框之间的宽高的关系被定义如下:

(3)

(4)

式中:α是约束真实框和预测框之间的宽高关系,v是预测框与真实框的偏差值,wgt和w为真实框和预测框的宽度,hgt和h真实框和预测框的高度。

故CIoULoss的公式可以被定义为:

LCIoU=1-LIoU+RDIoU+av

(5)

YOLO算法在生成锚框时,会产生一些劣质的标签,这对算法而言,如果太关注这些劣质标签,会使网络学习的难度加大。对此,提出了BlurLoss来减少对劣质标签的关注度。本研究在交叉熵损失函数中,加入了权重系数α,目的是减少真实值和预测值之间差距较大的数据在网络学习过程中的关注度。其权重因子α公式如下:

(6)

由公式可以发现,当真实值与测试标签数据相近时,其权重因子α就大,反之则小,网络在训练和学习时,就会自动忽略这一标签。

另外,在网络训练的过程中,y=0代表的是正样本标签,y=1代表负样本标签,所以当y=0时,权重因子α往往会比y=1时要大。这样可以使网络在训练的过程中,更加关注于正样本的参数更新。用LBlur表示BlurLoss,最后的公式如下所示:

(7)

2 轻量化网络模型评估

2.1 鱿钓作业数据集

网络结构模型修改完成后,对轻量化网络结构模型的有效性以及准确性进行验证,并对不同的主干网络结构作出性能分析对比。试验环境配置如下:Inter(R) Core(TM)i7-10750,32GB RAM和Nvidia GTX1660Ti的硬件设备,VS code开发环境,深度学习框架是pytorch1.7.0-cuda11.0。主要分析了主干网络模型和改进的损失函数性能,学习率设为0.001,学习率下降策略为余弦退火,优化算法采用AdamW,训练模型迭代步数step设为1 000,训练整个样本迭代次数epoch设为100。

本网络模型评估所用到的数据集截取自鱿钓船远洋捕捞鱿鱼时拍摄的视频。主要采集了600张鱿钓船白天和黑夜两种情况下的鱿钓作业图,其中250张夜晚作业的数据集,以及350张白天作业的数据集。用labelImg对数据集进行标注了共1 365个样本,将数据信息存储为xml格式,得到的数据集称为Squid数据集,如图4所示,采用30张图片作为测试集验证整个模型在远洋捕捞技术上的有效性。使用空间几何变换、调整饱和度以及亮度等数据扩增的手段对获取到的图像进行处理,使得小样本数据集发挥更大的作用。Squid数据集将会被用于整篇论文模型算法的分析和评估。

图4 squid数据集

锚框的制作与网络训练的拟合程度、网络的泛化能力、预测结果的准确性密切相关。所有标注信息的锚框统计数据如图5、图6所示。

图5 所有标签的统计数据

图6 各个点位坐标分布关系

2.2 主干网络模型性能分析

本试验对主干网络的模型进行分析,将Darknet53、MobileNetV3和CSPMobileNetV3网络在Squid数据集上进行训练与验证,作对比分析,以输出参数量、GFLOPs和F1为评估指标。

(1)Darknet53性能分析

使用Squid数据集进行训练,通过观察训练过程中模型的预测值与真实值的误差Loss函数和F1的值对Darknet53主干网络进行分析,如图7所示,在数据集上进行训练时,当模型训练迭代到200步时,Loss函数出现最小值为0.463 8,当整个样本训练迭代70轮时,F1的值可以达到0.7左右,最大的准确率为0.89,最大的召回率约为0.56。

图7 Darknet53性能指标

(2) MobileNetV3性能分析

使用Squid数据集进行训练,通过观察训练过程中模型的预测值与真实值的误差Loss函数和F1的值对MobileNetV3主干网络进行分析,如图8所示。在数据集上进行训练时,当模型训练步数为240时,Loss函数出现最小值为0.251 4,当整个样本训练迭代90轮时,F1的值可以达到0.86,最大的准确率为0.92,最大的召回率约为0.81。

图8 MobileNetV3性能指标

(3) CSPMobileNetV3性能分析

使用Squid数据集进行训练,通过观察训练过程中模型的预测值与真实值的误差Loss函数和F1的值对CSPMobileNetV3主干网络进行分析,如图9所示。在数据集上进行训练时,当模型训练步数为700时,Loss函数出现最小值为0.082 8,当整个样本训练迭代60轮时,F1基本趋于平稳,没有太大的波动变化,F1的值可以达到0.99,最大的准确率为0.99,最大的召回率约为0.99。

图9 CSPMobileNetV3性能指标

评估主干网络性能也参考训练过程输出的参数量和浮点数,3种主干网络的参数量输出与浮点数的如表2所示。

表2 主干网络的性能指标参数

试验结果可知,Darknet53的参数输出量比较大,高至72.96 MB,而MobileNetV3参数量的输出为23.53 MB,CSPMobileNetV3参数输出量为22.64 MB,比Darknet53模型的输出量降低了大约3.2倍。对于浮点数而言,Darknet53的浮点数是CSPMobileNetV3的5.6倍左右。

根据以上模型性能对比分析,主干网络为CSPMobileNetV3的参数量输出是最少的,将大量节约内存的损耗,并且Loss函数的值也是最小的,其准确率也相对比较高,可以达到99.2%左右。由此可以得出,MobileNetV3和CSPMobileNetV3主干网络的性能优于Darknet53网络。

2.3 损失函数的性能分析

通过在Squid数据集上训练与验证,我们得出YOLOV3的均方差损失函数和本文提出的CIoULoss输出模型的P-R曲线和平均精度。P-R曲线根据阈值从0~1的变化来观察精度和召回率的关系,通过对比P-R曲线图,也可以查看模型的好坏。本试验的P-R曲线图如图10所示。采用YOLOV3的均方差损失函数,置信度在0.5时,整个网络模型的收敛速度很快,精确率也比较高,平均精度可以达到0.704,采用CIoU损失函数,置信度在0.5时,平均精度可以达到0.832。

图10 均方差损失和CIoU的P-R曲线

对于置信度损失函数,本研究将CrossEntorpyLoss和BlurLoss进行对比, P-R曲线如图11所示。采用BlurLoss的损失函数平均精度达到0.883,相比较于之前的CrossEntorpyLoss高出了5.1个百分点。很好地验证了BlurLoss在YOLO算法下要优于原先的CrossEntorpyLoss。

图11 CrossEntorpyLoss和BlurLoss的P-R曲线

3 轻量化网络模型验证

3.1 训练目标数据集

采用修改后的轻量化网络结构,对目标数据集进行训练,在准备好的试验平台环境下,根据样本数据的标注信息进行超参数配置,最后进行编译执行网络模型的算法,输出权重文件用于验证模型。训练过程中记录轻量化网络结构真实框与预测框的损失值、精确率和召回率。训练数据如图12所示。根据图12,真实框(Box)的损失达到0.02,预测框(Val Box)的损失也在0.02左右,真实框与预测框的损失相差比较小,说明模型的拟合效果越好。准确率(precision)可以达到0.9,召回率(recall)大约为0.85。精确率和召回率越大说明,网络模型的检测精度越高。

图12 轻量型网络模型参数

3.2 模型验证与对比分析

为了更好地验证轻量化网络结构在远洋捕捞鱿鱼技术上的准确性和实用性,使用训练出来的权重文件在测试集上进行验证并作出对比分析。以F1、模型输出参数量和平均检测时间作为评估指标,具体的实验结果如表3所示。

表3 不同模型的对比

根据以上结果可知, 将原先的损失函数替换为CIoULoss后,其精度由原先的0.704上升到了0.82,再将原先的置信度损失函数替换为BlurLoss后,精度由原先的0.82上升到了0.883。最后将主干网络DarkNet53替换成CSPMobileNetV3后,精度达到了0.906,且网络参数也由原来的117 MB下降到40.6 MB,减少了65.3%;浮点运算次数由155.1 G下降到了51.2 G,运算量减少了66.99%。

由于图像噪声较大、分辨率低、目标小,YOLOV3存在置信度低和漏检等情况,网络的泛化能力较差,检测结果如图13所示,修改后的网络检测结果如图14所示。可以发现,轻量型网络将可以检测到更多的鱿鱼,大大的改善了YOLOV3网络存在的鱿鱼漏检的情况。同时,检测的置信度也更高。因此,修改过后的轻量化神经网络可以更好地应用在远洋捕捞鱿鱼技术上。

图13 YOLOV3检测结果

图14 轻量化网络检测结果

4 结论

轻量化网络模型用于远洋捕捞检测技术,训练过程中模型的参数输出量大幅度下降,参数输出量为22.53 MB,节约内存空间,提高了工作效率。特征提取能力增强,损失函数变小,提高了检测的精确度与精测速度。在复杂的海洋环境下,拍摄条件不足的情况下,仍有较高的识别检测率,且检测速度明显提高,将轻量化网络应用在远洋捕捞中,工作效率明显提高。因此,轻量化网络结构可以更好地应用在目标识别检测领域,推进海洋工程装备技术的发展。

猜你喜欢
远洋网络结构主干
抓主干,简化简单句
“两横一纵”远洋综合补给
群文阅读:为孩子打好生命底色
试论分布式计算机网络结构分析与优化
带通信配网故障指示器故障监测方法及安装分析
中国远洋海运集团有限公司船期表
非常规突发事件跨组织合作网络结构演化机理研究
寓美于物理力学主干知识的复习