一种用于无人艇智能感知的可见光图像目标检测方法*

2022-03-17 07:47龙泽升
舰船电子工程 2022年12期
关键词:检测器梯度样本

方 兴 龙泽升 占 贤

(武汉数字工程研究所 武汉 430205)

1 引言

随着人类对海洋开发和保护的日益重视,水面无人艇逐渐成为世界各海洋强国大力发展的新兴海洋装备,被广泛应用于军事领域和民用领域[1]。智能感知是无人艇的关键组成部分,而视觉系统作为无人艇智能感知的重要分支,是无人艇获取周边信息的主要途径,同时其获取的信息也是无人艇进行决策时的重要参考[2]。由船载摄像头所采集的可见光图像进行目标识别与检测,可以检测出水面障碍物的类别以及位置等信息,从而为无人艇的自主航行提供决策依据[3]。

基于深度学习的目标检测方法最早起源于RCNN[4]类方法,该类方法通常称为两级检测(Two-stage Detector),即结合一个区域建议器和一个区域智能的分类器,在当时的目标检测领域取得了巨大成功,逐渐成为主流的目标检测算法。为减少卷积神经网络的计算复杂度,SPP-Net[5](Spatial Pyramid Pooling)和 Fast RCNN[6]引入了区域特征提取的思想,将大量的特征计算通过对象实例进行共享。Faster RCNN[7]在上述方法基础上引入了区域建议网络(Region Proposal Network,RPN)进一步加速计算,在精度和计算实时性上达到了较好的平衡。随后基于Faster RCNN算法的各种工作扩展并丰富了这类算法。例如,R-FCN[8](Region-based Fully Convolutional Network)提出了高效的区域全卷积,相较于Faster RCNN算法进一步降低了计算量。

由于无人艇搭载的摄像头获取的可见光图像包含不同尺度的对象[9],导致RPN中过滤器的固定接受域大小容易产生尺度不匹配现象。为克服该问题,特征金字塔(Feature Pyramid Network,FPN)方法[10]在多个输出层进行检测并输出不同尺度的特征图,通过在不同网络深度的特征映射上添加自顶向下连接,融合各尺度特征图,并采用比例不变的特征表示,取得了一定的效果。SNIP[11](Scale Normalization for Image Pyramids)则通过重新调整图像金字塔,对训练过程中不同对象尺度的梯度进行归一化处理,使整个检测器具有尺度特异性。在推理时使用图像金字塔实现尺度不变检测,但该方法计算量巨大。

在以往的目标检测算法中对模型体系结构的关注度较高,本文在采用现有两级目标检测模型最高精度的模型体系结构的基础上,对检测器的检测性能本身进行了改进。在目标检测训练过程中缓解不平衡是实现最优训练和充分发挥模型体系结构潜力的关键。分析检测器的标准训练实践,发现检测器的检测性能受到三个层次的不平衡限制:分别是样本层次、特征层次和目标层次。

样本层次的不平衡。在进行目标检测器的训练时,困难样本对于检测器性能的提升极其明显,但通常使用的随机抽样方法导致简单样本对检测器影响更加巨大。近年来,困难样本的挖掘方法被广泛使用,其中比较著名的方法是OHEM[12](Online Hard Example Mining),这种方法的优点是可以将检测器的重点移向困难样本,但与此同时带来的缺点是相对高额的计算成本和对噪声标签的高度敏感性。在一阶段目标检测算法中,采用的Focal Loss[13]方法缓解了样本层次的不平衡问题,但这一方法无法扩展到RCNN系列算法中,因为两级的目标检测程序滤除了大多数容易产生的困难样本。因此,寻找更适合两级目标检测算法的样本平衡方法有利于提高检测器性能。

特征层次的不平衡。骨干网络的浅层的低层次特性容易表达目标的位置特性,而网络的深层的高层次特性主要表达目标的语义特性。FPN算法是在特征融合方面具有里程碑意义的算法,它通过横向连接进行特征集成,推动了目标检测算法的发展。但是FPN算法采用的顺序结构使得综合特征更多关注的是相邻分辨率,其他分辨的关注度明显不足,导致每进行一次融合,非相邻分辨率的语义信息就被稀释一次。因此,被整合的特征应该具有来自每个分辨率的均衡信息。

目标层次的不平衡。目标检测器需要完成两项任务,分别是分类和定位,对应的损失函数即为分类损失函数和定位损失函数,两者之间需要保持适当的平衡。训练中的样本也是如此,如果它们不能很好地平衡,就会出现容易样本的产生的小梯度被困难样本的大梯度淹没的情况,算法不能达到最优收敛,导致整体性能不佳。因此需要重新整合算法的任务和样本。

本 文 以 Cascade RCNN[14]算 法 为 基 准 算 法(Baseline),并在此之上针对检测器训练过程中的不平衡问题,提出了基于Cascade RCNN算法的改进算法,通过整体平衡设计来平衡这种不平衡,提高了算法的精度和建议机制下的召回率,对算法在无人艇水面目标检测上带来了较为明显的提升,与其他传感器配合可提高无人艇的智能感知能力,提升无人艇自主航行的安全性。

2 Cascade-RCNN简介

目标检测的基本任务是识别对象并为对象分配合适的类标签和准确的边界框。两级目标检测算法将该任务看作为多任务学习问题,一方面使用分类来解决识别问题,另一方面是使用边界框回归来解决定位问题。尽管这种架构取得了一定的成功,但是这两个基本的问题没有被精确解决,即存在非常多近似的类别误报,相对应地也存在非常多接近但不是最优的边界框。有效的检测器必须找到图像中的真正样本,同时抑制那些接近的假正样本。

高质量的检测要求检测器的质量与检测假设的质量密切匹配。只有提出高质量的建议,检测器才能实现高质量检测。然而,仅仅在训练中增加交并比(Intersection of Union,IOU)的阈值并不能保证这一点。以往的仿真训练中发现经过建议机制回归后的IOU阈值必然会比回归之前增加,在这一思想的指导下一种新的检测器架构应运而生,即Cascade RCNN算法,如图1所示。

图1 Cascade RCNN算法结构图

Cascade RCNN算法是RCNN类算法的多阶段扩展,其中较深的RCNN阶段对接近的假正样本的抑制更有效。用一定的IOU阈值训练检测器的输出的良好假设分布来训练下一个更高的IOU阈值检测器,通过调整边界框,每个阶段的目标是为下一阶段的训练找到一组良好的接近误报,从一个阶段到下一个阶段,检测假设的质量逐渐提高。Cascade-CNN算法的意义是使用重采样操作为序列中所有检测器的训练提供了大量的样本,因此可以在不出现过拟合的情况下训练高IOU检测器,并且在推理时使用相同的级联程序,会产生一组质量逐步提高的假设,与检测器等级的质量不断提高很好地匹配,最终提高目标检测精度。

3 基于检测器性能的改进工作

为了减轻这三个层次带来的影响,本文提出三个相对应的解决办法:交并比平衡采样、平衡特征金字塔和平衡的L1损失函数。这三个方法分别在样本、特征和目标的层次减少了检测器的不平衡性,从而提高了目标检测的整体性能。

3.1 交并比平衡采样

图2表示不同采样方式下样本在不同交并比下的分布状态。可以观察到,超过60%的困难负样本在交并比阈值大于0.05,而随机抽样方法在大于0.05阈值时的样本比例只有不到30%,即采用随机采样方法后算法对困难样本的关注度不够。基于这一观察结果,本文提出了交并比平衡采样这一新的样本采样方法。假设需要从M个对应的候选样本中抽取N个负样本。随机抽样下每个样本的选择概率P为

图2 不同采样方式样本在不同交并比的分布

为了提高困难负样本的选择概率,本文根据IOU将采样区间平均分成K个区间。N个要求的负样本平均分配到每个区间。然后本文均匀地从中选择样本。因此,本文得到了交并比平衡采样下的选择概率pk:

交并比平衡采样后的直方图如图2中绿色直方柱所示。可以看出,本文的交并比平衡采样可以指导训练样本的分布接近困难负样本。此外,该方法对K不敏感,只要选择的IoU较高的样本就更有可能,此外值得注意的是,该方法也适用于困难正样本。然而,在大多数情况下,没有足够的候选样本来将这一过程扩展到正样本。为了使平衡采样过程更加全面,本文对每一个真实值进行了等距采样作为一种替代方法。

3.2 平衡特征金字塔

与以往的方法不同的是,本文使用横向连接来集成多级特征,其核心思想是使用相同的深度集成的平衡语义特征来增强多级特征,由重置分辨率、集成、细化和强化这四部分组成。

首先,本文将分辨率l级的特征记为Cl,最低级特征记为lmin,最高级的特征记为lmax,多级特征数记为L。重置分辨率和集成这两个模块是整合多层次有限元模型,同时保持其语义层次。本文首先将多级特性{C2,C3,C4,C5}的分辨率调整为中等大小,即大小与C4相同,对特征进行重置分辨率后,通过简单平均得到平衡的语义特征:

然后使用相同的反向过程对获得的特征进行重置分辨率,以增强原始特征。每个分辨率在本分辨率中从其他分辨率中获得同等的信息。

细化和强化部分使用了一个高斯非局部注意力机制的模块,该方法可以同时聚合低级到高级的特征,改进后的工艺可以提高算法的综合性能,同时作为FPN的一个补充模块。

3.3 平衡的L1损失函数

通常,RCNN类算法通过多任务损失函数来解决定位和分类问题,具体形式如下式所示:

式中:Lcls和Lloc分别是对应于分类和定位的目标函数,Lcls中的预测和目标分别用p和u表示,tu是与类u对应的回归结果,v为回归目标,λ用于调整多任务学习下的损失权重效果。本文称损失大于或等于1.0的为异常样本。其他样本称为正常样本。可以观察到,该多任务损失函数是分类和定位的总和,如果分类任务完成的很好,总损失依然会很小,问题就在于这个方法忽略了定位对于总损失值的贡献,直接提高λ值会让检测模型对异常值更加敏感,产生过大梯度,不利于模型训练。

平衡的L1损失函数是在传统定位损失函数smooth L1 loss的基础上改进而来,设置拐点将正常样本与异常样本分隔开来,并剪切最大值为1.0的异常样本产生的较大梯度。平衡的L1损失函数的关键思想是促进关键的回归梯度,即从正常样本的梯度,重新平衡所涉及的样本和任务,从而在分类、整体定位和精确定位方面实现更加均衡的训练。

Lloc中的平衡的L1损失函数定义为

梯度表达式如下:

在此基础上采用一种新的梯度:

在一个因子α的控制下,本文的平衡的L1损失函数增加了正常样本的梯度。一个小的α增加了正常的梯度,但是不影响到异常样本的梯度。此外,还引入了γ控制整体提升放大量来调整回归误差的上界,可以帮助目标函数更好地平衡所涉及的任务。

通过对上述梯度公式的积分,可以得到平衡的L1损失函数:

其中,参数之间的关系是:

在本文的仿真试验中,参数默认设置为α=0.5,γ=1.5。

4 仿真试验

4.1 数据集

本文依据各军民船舶类别建立了船舶数据库。本文根据研究需要从数据库中取用20类别水面船舶,其中训练图片13547张,测试图片3411张,并将其制作成符合VOC(Visual Object Classes)格式的数据集,具体的船舶类别入图3所示。

图3 仿真试验船舶细粒度分类

4.2 实现细节

为了公平比较,本文进行的所有试验均在统一的软硬件条件下进行,其中编程平台为Python3.8.5,PyTorch1.2和mmdetection。本文试验中使用的骨干网络是公开且预训练好的。本文用1个GPU训练检测器36个周期,初始学习率为0.0025,如果没有说明,则在24个周期和33个周期之后分别降低0.1。试验主要硬件配置包括Intel(R)Core(TM)i7-8700 CPU@3.20GHz处 理 器 、16GB内存和GeForce GTX 1080 Ti显卡。试验操作系统是Ubuntu 16.04。

4.3 试验结果及分析

本文将原始的Cascade RCNN算法在本试验数据集上进行的训练测试作为基准,对本文提出三种改进方法分别进行训练测试,然后再将三种方法进行组合训练测试,仿真试验结果如表1所示。

由表1可知,原始的Cascade-CNN算法的查准率达到了82.8%,但召回率只有30.7%,平均精度(Mean Average Precision,mAP)达到了63.8%,结合单一交并比平衡采样的改进后,召回率有1.4%的提升,mAP值有0.7%的提升。结合单一平衡特征金字塔的改进后,查准率有0.4%的提升,召回率有7.4%的提升,mAP值有1.3%的提升。结合单一的平衡的L1损失函数改进后,查准率有0.3%的提升,召回率有1.8%的提升,mAP值有1.1%的提升。将三种改进组合后,最终查准率有1.4%的提升,召回率有13.4%的提升,mAP值有4%的提升。单帧图片耗时方面总体略有增加,变化不大。本文算法输出的检测效果图如图4所示。

表1 仿真试验结果

图4 检测效果图

由表1可以观察到的另一个特性是这三种改进算法对召回率的提升效果明显。为了更加清晰地说明改进算法的作用,本文对不同骨干网络建议生成图像的平均召回率进行测试,其中,AR100,AR300,AR1000分别对应于每幅图像有 100、300 和1000个建议时的平均召回率(average recall),如表2所示。注意较大的骨干网络只会给建议机制带来较小的增益。本文的建议机制只需要一个ResNet-50主干就可以比ResNet-152高8个百分点。本文算法的显著改进证实了有效的平衡训练能更有效地发挥建议机制的潜力。

表2 不同骨干网络提升召回率与本文方法的比较

5 结语

可见光图像的目标检测无人艇智能感知的重要组成部分,针对水面障碍物的检测问题,本文改进了Cascade RCNN算法,在交并比平衡采样、平衡特征金字塔和平衡的L1损失函数这三部分上对原算法进行了平衡改进,进一步缓解了检测器在训练过程中的不平衡现象。仿真试验表明,本文改进后的算法在对水面舰船目标的检测上召回率提升明显,平均检测精度得到了提高,可以为无人艇智能感知技术的发展提供参考。

猜你喜欢
检测器梯度样本
一个带重启步的改进PRP型谱共轭梯度法
一个改进的WYL型三项共轭梯度法
用样本估计总体复习点拨
一种自适应Dai-Liao共轭梯度法
一个具梯度项的p-Laplace 方程弱解的存在性
基于二次否定剪切选择的入侵检测方法*
推动医改的“直销样本”
车道微波车辆检测器的应用
一种柱状金属物质量检测器的研究
随机微分方程的样本Lyapunov二次型估计