APP下载

基于改进FCOS的水下目标检测算法

2023-12-06陈卫东谢晓东陈娜兰朱奇光

计量学报 2023年11期
关键词:损失卷积准确率

陈卫东, 谢晓东, 岑 强, 陈娜兰, 朱奇光

(1.燕山大学 信息科学与工程学院,河北 秦皇岛 066004;2.燕山大学 河北省特种光纤与光纤传感重点实验室,河北 秦皇岛 066004)

1 引 言

由于光在水中的传播特性,水下图像常常受到吸收和散射等因素的干扰,因此出现了低对比度、低亮度、高色偏以及画面失真模糊等问题[1]。这给水下光学场景中的目标检测带来了极大的挑战。

传统目标检测算法难以适应水下目标检测的任务需求[2],而目前基于深度学习的目标检测算法在水下环境中得到了快速发展[3]。Li X等[4]将更快速的基于区域的卷积神经网络(Faster RCNN)用于水下目标检测任务,实时帧率达到了9.8帧/s。Zhang J等[5]将改进后的单次多边框检测(SSD)算法用于水下目标检测任务,在原本算法的基础上引入了注意力模块和多尺度融合,提高了算法的准确率。Sung M S等[6]将You only look once(YOLO)算法用于水下目标检测任务,在NOAA数据集上分类的准确率达到了93%。Cai K W等[7]提出了一种专门用于水下目标检测任务的改进版YOLOv3算法,研究团队选择MobileNet作为网络的骨干网络,为了提升算法性能从ImageNet数据集中选取16种鱼类图片构建新的数据集并进行预训练,经过充分的实验和验证成功地提升了算法的检测准确度和速度。Chen L Y等[8]将改进后的YOLOv4检测网络成功应用于水下场景,通过替换反卷积结构为上采样,并采用深度可分离卷积的方法,有效提升了模型的准确性和速度,同时降低了对硬件性能的要求,特别适用于水下数据集不足的情况。Yeh C H等[9]通过随机裁剪的数据增强技术,对水下图像数据集进行了有效的处理,从某一图像中提取出物体,并对其颜色和尺度进行随机调整,然后将其随机粘贴到新的水下背景中,生成一张全新的光学图像。Liu H等[10]提出了一种水下数据增强方法,该方法能够将目标对象转换到8种不同的背景下,这不仅丰富了水下数据集,还增强了算法在不同水域环境下的适应能力。Zeng L C等[11]提出了一种对抗性遮挡网络,通过与Faster RCNN进行联合训练,有效地避免了网络过度拟合并生成固定特征,在水下数据集上,这项技术使平均准确率(mAP)提高了4.2%。

针对水下生物群落的生活习性导致它们在光学图像中相互重叠的问题,LIN W H等[12]提出了一种名为RoIMix数据增强方法,该方法通过按照一定比例融合来自不同图像中提取的建议框,生成新的样本。通过对这些新样本进行训练,能够增强网络对于重叠目标的检测性能。此外,为了解决水下目标检测中小目标检出率低的问题,Chen L Y等[13]提出了一种名为SWIPNet的新型网络架构,该架构由高分辨率和语义丰富的超特征图组成,可以显著提高小目标的检测精度。Peng F等[14]提出了一种名为快捷特征金字塔S-FPN的方法,通过引入快捷连接改进了现有多尺度特征融合策略,该方法可以使底层卷积网络的空间位置特征和上层语义特征相互补充,从而弥补了多次操作后可能丢失的信息,提高了检测性能。另外,高美静等[15]提出了一种改进的Faster RCNN水母检测与识别算法,构建了包含7种水母的数据集,并在残差网络中引入了膨胀卷积,以提高水母检测的精度。

综上所述,当前水下目标检测主要是通过改进基于锚框的目标检测算法来适应水下环境。然而,锚框的大小对性能有很大影响,需要不断进行测试和调整以与数据集匹配[15]。由于无锚框目标检测算法的快速发展,设计一种无需调整锚框的水下目标检测算法已成为研究的主要方向。

本文提出了一种基于改进全卷积单阶段目标检测(fully convolutional one-stage object detection,FCOS)算法的水下目标检测算法。该算法使用经过深度可变形卷积优化后的ResNet-50作为骨干网络,以提取更加丰富的物体特征。提取到的特征经过神经架构搜索(neural architecture search,NAS)得到的神经架构搜索-特征金字塔(neural architecture search-feature pyramid networks,NAS-FPN)结构融合网络中的深层和浅层信息,并通过NAS得到的NAS-Head进行分类和边界框回归。损失函数采用CIoU Loss,以提高坐标回归的准确性。该模型可以提取更多的特征信息,并且对提取到的特征的利用程度更高,从而提高了目标检测的准确率。

2 改进的FCOS的水下目标检测算法

2.1 骨干网络改进

2.1.1 改进算法原理

本文引入可变形卷积(deformation convolution,DCN)方法[17]。该方法的核心思想是通过学习自适应的卷积核形状,以更好地适应物体的形态变化。传统卷积操作使用固定形状的卷积核,这在处理具有形变的目标时可能存在一些限制。然而,通过引入可变形卷积操作,能够使卷积核在空间维度上自由地进行形状变化,从而增强网络对目标的适应能力。这种能力使得网络能够更好地应对目标的形态变化。DCN的示意图如图1所示。

图1 DCN示意图Fig.1 Schematic diagram of deformable convolution

图1中,在DCN层中每个位置的特征点通过学习获得一个偏移量,该偏移量用于指导卷积核在输入特征图上的采样位置。这一方法使得卷积核不再受限于固定的采样位置,而能够根据输入数据的局部结构自适应地进行采样。引入可变形卷积层有效地捕捉到目标的形状变化,从而提高了网络对目标的定位和识别能力。

2.1.2 改进后骨干网络结构

表格给出改进后算法所使用的骨干网络结构,并给出算法每层的类型以及输出特征图的尺度信息。改进后的骨干网络对卷积层使用了DCN代替普通的卷积。DCN能够自适应地调整卷积核的形状,更好地适应目标区域的形状和结构,从而提高模型的感受野和分类精度。通过全局平均池化层将卷积特征图降维,然后使用一个全连接层将其映射到类别数目的维度并使用Softmax函数进行分类。

表1 改进后骨干网络结构Tab.1 Improved backbone network structure

2.2 检测网络结构改进

FCOS网络的构建过程包括以下几个步骤:首先,通过backbone从输入图片中提取特征;接着,使用特征金字塔网络(feature pyramid networks,FPN)将多尺度特征进行融合;最后,通过检测头(head)分支进行分类、回归和中心度预测,从而得到最终的目标检测结果。然而,当前的FCOS网络结构中,大部分参数的选择都是基于作者经验进行调整的,这意味着模型的构建过程需要大量的人力资源来进行手动调整,为解决这一问题,本文引入了NAS的方法。通过设定一个架构搜索空间,在模型训练的同时,控制器会尝试搜索空间中的各种结构。通过反复实验,控制器能够学习生成更好的架构。图2展示了NAS-FCOS结构的示意图,其中需要进行搜索的部分包括NAS-FPN和NAS-Head结构[18]。

图2中虚线部分展示了NAS-FPN结构的示意图。C2~C5是原图经过卷积后得到4种不同尺度的特征图,NAS-FPN结构对C2~C5进行重组得到P3~P5特征图,将P5经过卷积后得到P6和P7。P3~P7经过NAS-Head操作后得到Y1~Y5,Y1~Y5是检测网络结构最终输出结果,进行分类、回归和中心度预测。NAS-FPN通过将基本块重复7次来构建,其中最后3个基本块P3~P5的输出作为FPN结构的输出。为了允许信息在所有层之间进行共享,如果某些层的输出在后续块中没有被采样得到,并且这些层的输出不属于最后3个输出层P3~P5,那么这些输出将通过逐元素相加的方式合并到最终的结果中。如果与最终结果的分辨率不匹配,则会使用双线性插值对较小特征进行上采样。图3给出了训练后得到的具有最佳效果的结构图,其中Dconv3×3表示卷积核为3×3的DCN操作。Skip Connection为跳跃连接操作。Concat为特征融合操作。这样的设计可使NAS-FPN能够有效地利用多尺度特征信息,提升目标检测的性能。

图3 NAS-FPN结构图Fig.3 NAS-FPN structure diagram

检测网络的改进方式与特征融合的改进方法类似,图4为NAS-Head结构示意图。Head模块将FPN中的每个特征映射到相应的输出。为了探索头部的潜力并扩展生成的顺序搜索空间,NAS-Head被定义为一个由6个基本操作组成的序列。Head输出部分的Center-ness反映特征图每个点距离目标中心的远近程度,Classification输出每个类别的预测值,Regression反映特征图每个点距离目标4条边框的距离。与FPN结构中的候选操作相比,头部搜索空间有两个细微差别。首先,在头部采样池中添加了标准卷积模块包括Conv1×1和Conv3×3;其次,为了考虑到头部需要在不同级别之间共享权重的情况,将头部操作采样池中的所有Batch Normalization层替换为Group Normalization层。Batch Normalization在权重共享时会失效。

图4 NAS-Head结构示意图Fig.4 NAS-Head structure diagram

为了增加更大的灵活性并了解预测头中权重共享的效果,进一步添加了一个索引i作为预测头开始共享权重的位置。在图4中使用独立搜索部分和共享搜索部分展示。对于阶段i之前的每一层,Head将为每个FPN输出级别创建独立的权重集。对于阶段i之后的每一层,它将使用全局权重进行共享。考虑到头部的独立部分是扩展FPN分支,头部的共享部分是具有自适应长度,可以进一步平衡每个单独的FPN分支的工作量,以提取特定于级别的特征和跨所有级别共享的预测头。最终,经过搜索后得到网络结构如图5所示。

图5 检测分支结构图Fig.5 Detection branch structure diagram

在水下目标检测任务中,经过NAS方法搜索得到的架构表现出超越人工设计水平的性能。

2.3 损失函数部分

在目标检测中衡量目标框重叠度的指标非常重要。最初使用的指标是IoU Loss,它是根据目标框之间的交集和并集计算的,具有较好的性能。IoU Loss的表达为

(1)

然而,随着目标检测技术的不断发展,研究者们发现IoU Loss仍然存在一些问题,比如对于不完整的目标框,它可能会给出错误的损失值。为了解决上述问题提出了一系列改进的损失函数。首先是GIoU Loss,它在计算交集和并集时考虑了目标框的形状信息,从而算法可以更准确地衡量重叠度,使得拟合的边界框更加精确。GIoU Loss的表达式为

(2)

式中:B表示预测框;Bgt表示真实框,gt表示真值;C表示真实框和预测框的最小闭包矩形面积。

DIoU Loss损失函数不仅考虑了目标框之间的形状信息,还引入了距离项,以更好地解决目标框不完整的问题。DIoU Loss的表达式为

(3)

式中:b为预测框的中心点位置;bgt为真实框的中心点位置;d为预测框和真实框之间的欧氏距离。

IoU Loss作为目标检测任务中边界框回归损失起到了非常好的效果,但尚存在一些问题,而CIoU Loss经过优化,效果在IoU Loss的基础上有了很大提升[20]。CIoU Loss的表达式为

(4)

(5)

(6)

CIoU Loss相比IoU Loss解决了检测框与目标框不重合的问题,同时考虑到了边界框中心点的信息,以及边界框宽高比的尺度信息,使算法学习到的信息更加准确。

3 实 验

本文设计了一系列实验来评估改进部分对模型检测效果的影响。硬件配置采用CPU为12th Gen Intel®CoreTMi9-12900KF,GPU为2块GeForce GTX 3090Ti。

3.1 实验数据集

采用了DUO数据集进行实验评估。该数据集是基于URCP数据的一系列数据进行收集,并经过删除相似图片和重新标注的处理。训练集总共包括7 782幅图片,其中6 671幅用于训练和1 111幅用于测试。数据集中的目标总数为74 515个,其中海参、海胆、扇贝和海星的数量分别为7 887、50 156、1 924和14 548个。整个数据集呈现明显的长尾分布,这是因为不同海产品的经济效益不同,导致它们的种类数量存在差异。

3.2 算法改进的消融实验

本文改进后的算法对FCOS算法在水下环境的检测效果有较大的提升,并针对以下3个模块进行了改进。首先,使用了DCN模块来改进骨干网络的性能;其次,采用NAS模块改进了特征融合网络和检测网络的结构;最后,采用了CIoU Loss模块作为改进的损失函数。

为了验证每个改进模块对检测效果的影响,本文设计了消融实验。实验使用DUO数据集进行训练。基准算法采用了FCOS算法,其骨干网络为ResNet50,损失函数为IoU Loss。为了保证实验结果的准确性,采用相同的训练策略。具体而言,将输入图片的尺寸设置为1 333×800 Pixels,批量大小设置为12,训练轮数设置为24。在第16轮和第22轮,学习率被衰减为原来的1/10。

表2为训练上述消融实验后得到的结果。mAP为平均准确率,mAR为平均召回率,APsmall和ARsmall为像素小于322的小物体的准确率和召回率,APmedium和ARmedium像素大于322小于962的中物体的准确率和召回率,APlarge和ARlarge为像素大于962的大物体的准确率和召回率。mAP和mAR这2种指标对模型检测效果的判断最为直观明确,指标的数值越高代表模型的检测效果越好。

表2 改进算法的消融实验Tab.2 Ablation experiment of improved algorithm (%)

从表2中可以看出,使用DCN改进了骨干网络,使训练出的模型的mAP提高了1.2%,mAR提高了1.1%;此外,对于小物体的检测效果提升较为显著,APsmall提高了2.3%;另一方面,使用NAS改进了特征融合网络,使训练出的模型的mAP提高了0.8%,mAR提高了1.1%,但对于小物体的检测效果下降了2.5%;最后,使用CIoU Loss改进损失函数部分,使训练出的模型的mAP提高了0.2%,mAR提高了0.3%。综合以上改进方法,使用所有这些方法训练出的模型的mAP提高了1.8%,mAR提高了2.2%。

3.3 损失函数

为了更好地观察改进后算法的损失函数变化情况,本文给出本文算法与IoU Loss训练时的损失值的变化曲线,如图6所示。

图6 2种算法的损失函数曲线Fig.6 The loss function curves for two algorithms

由图6的结果可以发现:在两种情况下损失函数趋势基本相同;然而,相比使用IoU Loss时的情况,本文算法表现出更快的收敛速度,并且一直保持较低的损失值。这证实了本文算法的损失函数能够更好地拟合数据集中的数据。

3.4 检测速度分析

本文分别对FCOS,Faster RCNN,Deformable DETR以及本文算法这4种算法进行检测,每种实验的检测速度(FPS)值通过检测全部测试集中的图片得出。统计4种算法的FPS检测值结果见表3,可以看出本文算法的检测速度相比改进前下降了5.0%,但基本满足实时检测要求。

表3 4种网络FPS值结果Tab.3 Results of FPS values for four types of networks

3.5 与主流算法性能对比

将输入的图片尺寸设置为1 333×800 Pixels,batch_size设置为12,epoch设置为24,并在第16轮和22轮将学习率衰减为原来的1/10。评价指标选取了mAP和mAR。表4对比了本文算法与FCOS算法、主流的二阶段目标检测算法Faster RCNN,以及最新的基于transformer的目标检测算法Deformable DETR之间的检测效果。由表可以看出:本文改进后的FCOS结构mAP提高了1.8%,mAR提高了2.2%;同时相比结构更加复杂的Faster RCNN算法的mAP提高了0.8%、mAR提高了4.9%;比Deformable DETR算法的mAP提高了2.3%、mAR提高了2.8%。

表4 本文算法与主流算法的mAP与mAR对比Tab.4 Comparison of mAP and mAR between the proposed algorithm and mainstream algorithms (%)

3.6 检测效果可视化

检测效果的可视化对比是评估检测算法优劣的重要步骤。图7展示了3种算法在海胆、海参和海星目标检测上的效果可视化图。

为了方便对比,图7(a)显示了原始图像的标注信息;图7(b)展示了FCOS算法的检测结果;图7(c)展示了Deformable DETR算法的检测结果;图7(d)展示了本文算法的检测结果。目标的标注位于标注框的左上角,在标注左侧是物体的类别名称,右侧是物体的置信度。置信度越接近1,说明预测的精度越高。

从图7可以观察到,本文算法在各种物体的预测中显示出较高的置信度,明显高于其他网络,表明本文算法具有最高的预测精度。此外,需要关注图7(d)中红色椭圆所标注的位置,FCOS算法未能检测出该位置的海参,而Deformable DETR算法在该位置检测到2个标注框,但目标的置信度仅为0.32;相比之下,本文算法不仅成功检测到了该位置的海参,而且目标的置信度高达0.96。这证明了改进算法能够检测到其他算法可能无法捕捉到的目标,具有高准确率和高召回率的优势,实现了本文提出的改进算法的目标。

4 结 论

本文提出了一种基于改进FCOS的水下目标检测算法,对FCOS算法进行优化提高了检测的准确性。首先,引入了DCN模块,增强网络的特征提取能力;其次,采用NAS技术对特征融合网络和检测网络进行了搜索,优化模型对提取到特征的利用能力;最后,引入CIoU Loss作为新的损失函数,提高坐标回归的准确率。算法评价结果也表明:本文方法较FCOS算法、Faster RCNN算法、Deformable DETR算法的平均准确率mAP分别提高了1.8%、0.8%和2.3%;平均召回率mAR分别提高了2.2%、4.9%和2.3%;Loss损失函数收敛值更优,对水下目标检测领域发展具有一定参考价值。

猜你喜欢

损失卷积准确率
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
从滤波器理解卷积
玉米抽穗前倒伏怎么办?怎么减少损失?
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
一般自由碰撞的最大动能损失