APP下载

改进Cascade RCNN的水下目标检测

2022-07-23广州海洋地质调查局海洋技术方法研究所何水原

电子世界 2022年1期
关键词:精度神经网络特征

广州海洋地质调查局海洋技术方法研究所 林 宇 何水原

近年来海洋观测技术快速发展,水下目标检测在军事防御、水下资源勘探、海洋环境保护以及水产养殖、渔业等海洋经济领域发挥了重要作用。在水下目标检测领域,常用检测模型对尺度差异大的目标检测效果较差。针对这个问题,本文提出采用改进Cascade RCNN算法对水下目标进行检测。该算法在深度网络Cascade RCNN的基础上,选用残差神经网络ResNet50作为模型的骨干网络、特征金字塔网络(FPN)作为特征提取方式,并通过随机搜索的方法调整超参数,显著提升了下水下目标检测的精度。实验结果表明,相同参数下本文算法与基线网络模型Faster RCNN对比,能够将平均准确率从54.9%提升至73.1%,精确率从64.0%提升到84.1%,召回率从58.2%提升到70.5%;超参数调优后,平均准确率提升到83.7%,精确率提升到89.1%,召回率提升到84.5%。

目标检测是利用计算机视觉和图像处理领域相关的技术,对数字图像和视频中某一类语义对象进行检测,是当前人工智能领域的研究热点。水下目标检测是目标检测的分支,是指利用目标检测技术,从水下图像中检测出感兴趣的物体,并确定它们的位置和大小。近年来海洋观测技术快速发展,水下目标检测在军事防御、水下资源勘探、海洋环境保护以及水产养殖、渔业等海洋经济领域发挥了重要作用。水下图像是海洋信息的重要载体,水下目标检测可以结合水下机器人,利用其携带的水下摄像机对感兴趣的目标进行监测和搜寻,具有重要的研究价值和应用前景。但水下目标检测也有独特的难点:由于水下检测目标种类众多、尺度差别大且小目标居多,使检测任务变得困难重重。

传统目标检测算法主要有Viola Jones Detectors、HOG Detector以及Deformable Part-based Model等。用于水下目标检测的典型算法有2010年由Oliver等人提出的利用哈里斯和黑暗森林检测器的方法对水下目标进行区域检测和匹配。2013年由Fabic提出的通过斑点计数和形状分析的方法,对水下视频序列中的鱼类种群进行分类。传统目标检测算法需要人工设计图像提取特征,针对性强但不具有普适性,对于多样的目标没有很好的鲁棒性。

2013年,Ross Girshick提出RCNN(区域卷积神经网络模型),这是一种两阶段检测算法,首先通过传统图像算法Selective Search对图像产生候选区域,再利用CNN(卷积神经网络)对候选区域进行分类并预测目标物体位置。RCNN首次将深度学习算法应用在目标检测任务上,并取得了极大的成功。随后Ross Girshick对RCNN进行了改进,提出了效率更高的Fast RCNN,并被后人继续改进为Faster RCNN。2015年,Joseph Redmon和Liu Wei分别提出了单阶段检测算法YOLOv1和SSD。单阶段检测算法只使用一个网络就能同时产生候选区域并预测出物体的类别和位置,因此具有较快的推理速度,而两阶段检测算法则具有较高的定位和目标检测精度。

目前针对水下目标检测的研究多以图像增强为主:2019年Lin Wei Hong提出一种名为RolMix的图像增强方法,为重叠、遮挡、模糊的水下目标构建了泛化性更好的模型;2020年Chen Long由高分辨率和语义丰富的超特征图组成的SWIPENet,同时采用了反向多类Adaboost(IMA)样本重加权算法,提升了水下小目标样本的检测精度;2020年Liu Hong提出一种WQT水质转移数据增强方法,通过DG-YOLO网络挖掘语义信息,对水质较差的小型水下数据集检测精度有所提升。

超参数是深度神经网络在训练开始前设置的参数,包括学习率、权重衰减、锚框尺度、锚框高宽比等。各水下目标检测网络已经表现出了较好的性能,通过对超参数进行合理调优,可以有效地提高检测精度。最基础的调参方法是网格搜索,该方法采用穷举法的思路,遍历所有可能的超参数组合,因而只适用于小规模超参数优化问题。2012年Bergstra提出随机搜索,该方法能更高效地搜索重要参数,适用于少数超参数起决定作用的模型。此外还有通过对随机初始超参数的指标结果拟合概率模型来推断最佳超参数的贝叶斯优化算法以及基于种群概念,通过并行优化多个超参数并进行筛选最终输出最佳超参数的遗传算法等,这些算法对算力和数据量有很高的要求,并且可能陷入局部最优解。

本文针对常用检测模型对尺度差异大的目标检测效果较差的问题,提出采用改进的Cascade RCNN算法对水下目标进行检测,该算法在深度网络Cascade RCNN的基础上,选用残差神经网络ResNet50作为模型的骨干网络、特征金字塔网络(FPN)作为特征提取方式,并通过随机搜索的方法调整超参数,然后在相同参数下与基线网络模型Faster RCNN进行对比,验证该算法对提高尺度差异大的水下目标检测效果的有效性。

1 改进的Cascade RCNN算法

本文采用的改进的Cascade RCNN算法网络结构如图1所示。该算法在深度网络Cascade RCNN的基础上,选用残差神经网络ResNet50作为模型的骨干网络、特征金字塔网络(FPN)作为特征提取方式。

图1 改进Cascade RCNN网络结构

1.1 Cascade RCNN

目标检测模型网络采用交并比(IOU)来定义正样本和负样本,当交并比较低时会产生检测噪声,而提高交并比又会因为过拟合和训练/推理的交并比不匹配导致检测表现变差。Cascade RCNN采用多级联检测结构,通过一系列可以不断提高交并比阈值的检测器,解决了检测框准度低、容易出现噪声干扰的问题,减低近似检测错误的概率。在逐步改进阈值的同时通过重采样来保证所有的检测器都有等效的正样本,减少了过拟合的问题。并且在推理阶段也采用相同的多级联结构,防止因为与训练阶段的交并比不匹配而使检测表现变差。

Cascade RCNN模型损失函数包括位置损失函数和分类损失函数,总体损失如公式1所示。公式1中,位置损失函数Lloc为smoothL1损失函数,其中b为带有目标对象的图像块上预测的目标边界框坐标,g为人工标注的目标边界框,通过回归函数f(x,b)实现损失函数的最小化;分类损失函数Lcls为softmax函数,式中y为对应类别的标签,通过分类函数h(x)将图像块x分配为M+1个类别之一(类别0为背景),分类损失函数对模型影响更大。

1.2 残差神经网络

在目标检测领域,卷积神经网络的深度对检测结果的精度有重要意义,但随着网络层数的加深又会带来梯度弥散或梯度爆炸的问题,并引起精度下降。残差神经网络是目标分类领域广泛使用的网络结构,其将残差学习的思想加入到传统卷积神经网络中,解决了深层网络容易梯度弥散和精度下降的问题。ResNet50是常用的残差神经网络之一,它具有50层的深度(如表1所示),其中第一层为7*7*64的卷积,然后连接3个、4个、6个、3个共16个结构单元,每个单元为3层,共48层,加上最后一层全连接层,共50层。ResNet50网络结构如表1所示。

表1 ResNet50网络结构

1.3 特征金字塔网络

检测目标尺寸差异大是目标检测领域的常见问题,目前常用的解决方法是采用特征图像金字塔进行多尺度测试来提高检测精度,但这种方法会占用大量计算能力和内存,且检测效率降低了4倍,在实际生产作业中并不实用。为了解决水下目标检测任务存在检测目标尺寸差异大的问题,采用特征金字塔网络作为特征提取的方法,该网络结构能够在增加少量计算量的同时优化目标检测中的多尺度变化问题。

特征金字塔网络利用卷积网络特征层的金字塔结构,通过自上而下的路径和横向连接将低分辨率、语义强的特征于高分辨率、语义弱的特征相结合,构成不同特征层均具有丰富的语义信息的特征金字塔。特征金字塔网络对平均精度和平均召回率有显著的改善,是一种实用准确的多尺度目标检测解决方案。

特征金字塔网络结构包括自下而上的路径、自上而下的路径和横向连接(如图2所示)。在ResNet50中,自下而上的卷积层2至卷积层5使用最后一个残差块输出的特征激活,而卷积层1由于占用内存过大,不包括含在特征金字塔中。然后通过横向连接将其与自上而下路径的同尺寸特征图融合,从而得到不同分辨率且语义丰富的特征图。

图2 特征金字塔网络结构图

2 基于随机搜索的网络超参数调优

超参数调优是模型设计的最后一步,也是训练神经网络的第一步。训练过程中对权重影响更大的超参数通常对神经网络的精度影响也更大,然而如何确定哪个超参数对最终的精度更重要,更多时候还是由经验决定。

2.1 主要的超参数

超参数可分为用于训练的超参数和用于模型设计的超参数。与模型训练相关的超参数对神经网络的收敛速度和模型性能,而模型设计的超参数则用于调整神经网络的结构,如隐藏层的数量和宽度等。对超参数调优即选择合适的超参数λ,使泛化误差最小,其数学表达如式2所示:

学习率是在随机梯度下降过程中确定步长的正标量。较小的学习率会导致模型收敛缓慢,而过大的学习率则可能导致模型无法收敛。学习率通常在训练期间采用手动调整,也可以采用在训练过程中自适应可变的学习率。

权重衰减系数是在做梯度运算时,当前权重减去的比例大小,是神经网络正则化的方法,其作用是降低权重值,使模型整体权重接近零,减少模型对输入中噪声的敏感度,避免模型出现过拟合,提高模型泛化能力。

锚框的概念最早出现在Faster RCNN网络中,是指目标检测中用于表示目标的边框,以坐标的形式表示。锚框尺度和锚框高宽比是关于锚框的超参数,分别表示目标的大小和形状,在Faster RCNN中定义的尺度为8、16、32,高宽比为0.5、1、2,组合出9中不同形状大小的边框。

2.2 随机搜索

随机搜索调优算法是对可能的超参数在可能的范围进行随机搜索,搜索预算(如时长、算力)根据设置的时间或达到所需的精度为止。

3 实验及研究结果

实验基于PaddlePaddle深度学习框架,在TeslaGPU P40,24G显存单卡,12核CPU,40G内存环境中运行,采用公开数据集对Cascade RCNN网络模型进行预训练,然后用数据处理后的数据集对网络进行训练,从平均准确率、精确率、召回率三个角度分析训练后网络对水下目标的检测能力,并和基线网络Faster RCNN网络做了详细的对比,最后采用随机搜索对Cascade RCNN网络进行超参数调优,验证改进Cascade RCNN网络在水下目标检测任务中的有效性。

3.1 实验数据及预处理

本文采用2020年全国水下机器人大赛数据集(如图3所示),该数据集为真实水下环境拍摄图像,共有5543幅训练图像。数据集包含海参、扇贝和海胆以及海星共4类检测目标且以单个类别聚集为主,除此以外还包含大量复杂背景信息和干扰目标(如海草、鱼类等)。数据划分为训练集、测试集和验证集,比例约为8:1:1,其中验证集用于超参数的调整。

图3 水下目标检测部分数据样本

3.2 网络训练

试验中,首先利用公开数据集ImageNet数据集对特征提取网络模型进行预训练,然后将水下目标数据集中的训练图像对改进的Cascade RCNN网络进行训练,最后用测试图像对模型检测精度进行检测。

初始学习率为0.02,权重衰减系数为0.0001,锚框尺度为32、64、128、256、512,锚框高宽比为0.5、1、2,每次训练时选取的样本数为2,最大训练次数为90000,每训练10000次进行一次预测。

使用随机搜索超参数调优,设置最大搜索时长24h,最大搜索次数10次,数据采样比例70%,最高平均准确率为90%。搜索搜索结果显示学习率约为0.001630,权重衰减系数约为0.00008,锚框尺度为5,锚框高宽比为2。

3.3 结果分析

训练完成后改进Cascade RCNN网络检测效果如图4所示。实验以Faster RCNN网络为基准,与Cascade RCNN网络和调优后网络做了详细对比,各网络实验结果如表2所示。实验结果表明,相同参数下本文算法与Faster RCNN网络模型相比,能够将平均准确率从54.9%提升至73.1%,精确率从64.0%提升到84.1%,召回率从58.2%提升到70.5%;超参数调优后,平均准确率提升到83.7%,精确率提升到89.1%,召回率提升到84.5%。

图4 部分检测结果

表2 本文方法的实验结果

本文采用改进的Cascade RCNN算法对水下目标进行检测,该算法在深度网络Cascade RCNN的基础上,选用残差神经网络ResNet50作为模型的骨干网络、特征金字塔网络(FPN)作为特征提取方式,改善了常用模型对水下目标检测任务中小尺寸目标检测效果差的问题,有效提高了模型检测精度。通过随机搜索的方式调整超参数,防止由于数据样本量少导致模型过拟合,进一步提高模型检测精度。实验结果表明,模型的平均准确率、精确率、召回率相比基线网络模型Faster RCNN均有较大幅度的提升。

猜你喜欢

精度神经网络特征
根据方程特征选解法
基于递归模糊神经网络的风电平滑控制策略
离散型随机变量的分布列与数字特征
热连轧机组粗轧机精度控制
超高精度计时器——原子钟
神经网络抑制无线通信干扰探究
不忠诚的四个特征
分析误差提精度
基于神经网络的中小学生情感分析
基于DSPIC33F微处理器的采集精度的提高