基于轻量化网络的海底垃圾检测算法SLD-Net
2024-01-30周华平汪佳伟
周华平,汪佳伟
(安徽理工大学 计算机科学与工程学院,安徽 淮南 232001)
良好的海洋生态系统是海洋生物赖以生存的家园,然而塑料、橡胶、重金属等海洋垃圾的存在严重影响了海洋生态系统的良性循环。因此,正确分类及清理海洋垃圾,对海洋生态系统的可持续发展具有重要的现实意义。通过应用配备目标检测算法的自主水下探测器,检测和定位海底垃圾,使自动或人工垃圾清理成为可能[1]。Kylili[2]使用自主水下航行器从前视声纳图像中检测淹没的海洋垃圾,训练卷积神经网络对图像进行分类,并将该分类器用作滑动窗口方式的对象检测器。Sun等[3]构建了一个Mask-SSD网络,通过使用上下文信息增强检测特征并引入分割掩码来消除背景区域,提高了SSD检测小尺寸目标对象的性能。上述方法对水下垃圾目标检测有着很重要的现实意义,但其性能和应用仍然受到水下捕获的图像质量低、小目标难以识别以及水下机器设备存储和算力难以部署等因素的限制。
本文提出一种轻量级的两阶段海洋垃圾检测算法SLD-Net(Seabed Litter Detection Network),预训练好的增强模块可以和后面的检测模块进行端到端的训练,从而可以联合调优增强模块和检测模块,提高目标检测精度。同时,采用轻量级的Mobilenet V2网络作为目标检测的骨干网络[4],并引用一种轻量级的检测头LRPN(Light Region Proposal Network),对检测模块的网络参数进一步压缩,减少模型参数。此外,还引入一种双路FPN(Feature Pyramid Network)结构,使用自顶向下和自下而上的双向路径进行特征增强,提高检测器对小尺度海洋垃圾的检测能力。
1 相关工作
1.1 Faster RCNN
Faster RCNN[5]是两阶段目标检测算法的代表性算法,网络框架如图1所示。对于输入的图像,首先对候选区域进行特征提取(RPN),接着进行分类和边界框的预测。虽然Faster RCNN取得了较高的检测精度,但不管是前面的主干网络,还是RPN机制,都大大降低了模型的推理速度,而且锚框的设计采取了多次的下采样,使得模型对小目标的检测准确率有所下降。
图1 Faster RCNN 网络框架
1.2 Mobilenet V2
基于深度可分离卷积的思想,MobileNet将标准的3×3卷积层分解为1个3×3深度卷积和1个1×1点卷积。在每个卷积操作之后,还添加了1个批归一化(BN)层和ReLU激活函数。MobileNetV2增加了倒残差结构,即先使用1×1卷积扩充通道,以增加网络的表达能力,接着进行深度卷积,然后再使用1×1卷积进行通道压缩,进一步提升网络的提取能力。倒残差结构的引入使MobileNetV2在保持轻量级特性和高效性能的同时,能够更好地提取和学习图像中的重要特征,具备较强的特征提取能力,在有限的计算资源下实现较高的准确性和效率。
2 网络结构
SLD-Net网络结构框架如图2所示。整个算法可以分为图像增强和目标检测两个部分。预训练好的增强模块可以和后面的检测模块进行端到端的训练,联合调优增强模块和检测模块,以改善现有的两阶段模型先增强后检测导致的信息丢失大的问题。
图2 SLD-Net网络结构框架
2.1 图像增强模块MDIE
为了提高水下目标检测的精度,采用MDIE(Multi-Domain Image Enhancement)图像增强模块,引入颜色转换和细节增强2个子模块,以改善水下图像的质量,减小水下成像质量低和高噪声等因素对目标检测的不利影响,提升水下目标检测系统的性能和准确度。
2.1.1颜色转换子模块
图像颜色子网络可以将输入的彩色图像转换为相应的灰度图像。颜色转换模块如图3所示。该网络由10个卷积层组成,前5个通过多层卷积从输入图像中提取特征,后4个采用深度可分离卷积,将标准卷积分解为逐通道卷积和1×1的逐点卷积[6]。通过应用卷积核大小为3×3的逐通道卷积,特征提取阶段可以生成不同颜色通道的变换参数[6]。这种颜色转换方法有助于消除水下环境中的色偏和浑浊现象,以此获得水下灰度图像中最复杂且信息量最丰富的表现。
图3 颜色转换模块
2.1.2细节增强子模块
因受噪声的干扰,水下成像处理后往往细节模糊。因此,引入了细节增强子模块(如图4所示)。该模块由8个卷积层组成,通过基于特征注意力的残差网络,学习自动识别每个特征通道的重要性,改善有用的特征,抑制不太有用的特征,对灰度图像的细节进行校正,从而使目标更加清晰和容易分辨。
图4 细节增强子模块
2.2 目标检测模块
2.2.1特征提取
由于受水下光的散射和吸收影响,水下图像常常具有较差的能见度,导致细节特征丢失。鉴于此,采用MobilenetV2作为网络的特征提取模块。使用双路FPN来提取多尺度的特征。通过引入更深、更复杂的网络结构,获得更高的准确度,并充分利用MobileNetV2内部卷积过程中的多尺度特性,通过构建额外的跨层连接,使用自顶向下的路径传递高层的强语义特征,并添加自下而上的路径来补充特征图。这样可以将低层的强定位特征向上传递,确保每个提取的层都具有适当的分辨率和强大的语义特征。虽然这种双路结构会稍微增加计算时间,但确保了特征图在多尺度上具有适应性和丰富性,能够有效提高水下图像处理的效果,恢复丢失的细节特征。
2.2.2轻量级RPN
考虑到模型使用了轻量级特征提取网络,因此引入轻量级RPN来进一步压缩RPN网络层的计算量。轻量级RPN如图5所示。
图5 轻量级RPN
使用5×5的深度卷积层替代原来的3×3卷积层以减少计算量,即选择最深的3层特征进行特征融合,并在中间添加1个CBAM注意力模块。通过使用不同层的特征,扩大感受野,获取更全局的特征信息。CBAM注意力模块可以更好地学习到有用的特征,实现全局特征和局部特征的融合。在SAM模块中,基于RPN特征生成了1个权重矩阵,用于表达特征图上前景和背景之间的区域差异。权重矩阵与原始特征图相乘即可得到调整后的特征图。基于调整后的特征图执行RoI特征提取,能达到强调前景特征,弱化背景特征的目的。
2.2.3FocalLoss损失函数
将传统的交叉熵损失函数改为Focal Loss(FL)函数,使用1个可调节的平衡因子,有效地降低易分类样本对损失函数的贡献,抑制大多数简单样本的干扰,使模型更关注于难以分类的样本,从而提高模型的整体性能和鲁棒性。对象分类的损失方程如下:
(1)
表1 不同参数γ时的实验结果 %
3 实验与验证
3.1 数据集
海洋垃圾检测数据集J-EDI共有8 452张图像,尺寸为480×320。该数据集的图像在质量、深度、场景中的对象和使用的摄像机方面差异很大,包含Plastic(塑料垃圾)、ROV(水下设备等)、BIO(水下生物)等,通过翻转、裁剪等将数据集扩充到11 587张。
3.2 实验环境与评价标准
实验操作系统为Ubuntu18.04,显卡为NVIDIA GeForce RTX 2080Ti,CUDA为10.0版本。使用深度学习框架Pytorch1.3.1对SLD-Net进行训练、测试以及可视化分析,首先在PASCALVOC上进行预训练,初始学习率设置为0.001,批处理大小为32,每经过50个Epoch将学习率降为原来的10%[7]。
从检测精度和速度两个方面评价目标检测模型的性能优劣。检测速度为模型每秒能够检测到的图像数。对于单类检测,以精准率(precision)、召回率(recall)作为检测精度的评价指标,其中TP、FP、FN分别为准确检测到、错误检测到、未检测到的对象数[7]。以精准率和查全率所包围的图形区域作为这类对象的平均检测精度(AP)。在检测种类较多的情况下,检测精度一般以平均精度均值(mAP)作为评价指标,其中N为数据集中的对象类别个数[7]。在考虑精度的同时,模型还要兼顾参数量,因此计算量(FLOPs)和参数量(Parameters)也作为评价的重要指标。
(2)
(3)
(4)
3.3 消融实验
为了验证不同子模块或手段的有效性,设置4个模型进行消融实验。其中,Model4使用Faster-RCNN算法的主要框架;Model1在Model4的基础上增加图像增强模块;Model2将两路FPN模块加入到Model1的模型;Model3将Model2的RPN结构改为LRPN结构。消融实验结果见表2。从表2可以看出,Model3与Model4相比,前者的参数量大大降低,仅为5.4 M,速度提升了近6倍,网络的参数量和计算成本显著降低。Model4与Model1相比,因为进行了水下图像增强,前者的速度下降了2.4 FPS,参数量仅有少量的增加,精度有了一定的提升。Model3与Model2相比,在使用了LRPN之后,前者的速度和精度都有不同程度的提高。综上所述,本文方法是有效的,能够以小的成本实现大的收益。
表2 消融实验结果
3.4 目标检测实验
为验证算法的有效性,将PASCAL VOC上预训练后的模型分别转移到数据集上进行最终训练,总Epoch设置为150,其他训练参数保持不变,训练过程的损失曲线如图6所示。
图6 训练过程的损失曲线
目标检测效果如图7所示。
(a) 检测结果1 (b) 检测结果2
各算法在J-EDI数据集上目标检测结果见表3。其中,FasterRCNN、Mobile-Faster、PeleeNet和本文SLD-Net均为两阶段检测网络,Mobile-Faster、PeleeNet、YOLOv5[8]同时也是轻量级的检测网络。
表3 各算法在J-EDI数据集上目标检测结果
从表3可以看出,本文算法在水下垃圾数据集上的各项指标均有较好的表现,mAP能达到94.5%,检测速度能达到65 FPS,完全能够满足实时检测的要求。虽然PeleeNet在参数量和检测速度方面有更好的表现,但是本文算法与之相差并不大,并不影响模型在嵌入式设备上的部署使用,且具有更高的检测精度。综上所述,本文方法在保持检测模型足够轻巧的同时,在精度和速度之间取得了平衡,更适合在水下进行实时垃圾检测。
4 结语
设计了一种轻量化海底垃圾检测算法SLD-Net。首先,在目标检测网络之前设计了一种图像增强网络,对水下低质量图像进行颜色转换和去噪,以提高目标检测的精度;其次,在MobilenetV2中引入双路FPN机制,以少量参数增加的代价提高了特征图的语义和边缘信息;最后使用一种轻量级的RPN网络进行后续的分类和回归。实验结果表明,该模型能够很好地平衡水下目标检测的精度与速度。