APP下载

基于特征增强与损失优化的水下遮挡目标检测算法

2023-07-12杨羽翼吴亮红时慧晶

探测与控制学报 2023年3期
关键词:损失预测函数

陈 亮,杨羽翼,张 剑,吴亮红,时慧晶,彭 辉

(1.湖南科技大学信息与电气工程学院,湖南 湘潭 4112012.昆明船舶设备研究试验中心,云南 昆明 650051)

0 引言

水下目标视觉检测是水下机器人环境感知与高精度定位作业的重要保障[1]。视觉目标检测的主要任务是实现对被检目标图像位置回归预测与目标属性分类识别。不同于传统二阶段目标检测方法[2],YOLO系列的目标检测算法采用端到端的神经网络结构[3],将整个检测过程看成统一的回归问题,通过简化任务成本,有效节省了算法训练与前向推导的时间,提高了算法运行效率。

然而,在YOLO系列算法[4-6]中,目标检测与识别是以整体对象为特征提取的基础,其检测与识别的性能主要受中心点位置偏差、预测框与真实框之间的交并比及目标分类误差三方面因素影响。而水下机器人在海底作业时,由于受泥沙、悬浮物以及多目标动态位置变化等因素影响,被检目标容易被遮挡,形态差异性变化大,因而检测效果较差。

针对上述问题,文献[7]提出了广义交并比(generalized intersection over union,GIoU),通过优化锚框与目标重叠时的交并比(IoU)部分损失函数,实现了算法在任意条件下损失函数的可导,解决了算法的稳定性问题,但当锚框彼此相关联时,GIoU将退回为普通IoU,且在水平与垂直方向收敛困难。此外,在中心点位置回归方面,文献[8]提出的基于距离的交并比(DIoU),通过对锚框与目标之间的中心距离归一化,提高算法的收敛性,同时,针对其在不同方向上归一尺度不统一的问题,提出综合考虑重叠面积、中心点距离以及长宽比等因素的完全交并比(CIoU),提高了对遮挡目标的检测效果。但是二者均没有考虑遮挡目标的动态变化问题,算法自适应能力弱,无法胜任机器人动态巡检任务需求[9-10]。

为此,本文针对遮挡目标特征信息相对较弱,重叠区域不确定的问题,在CIoU的基础上,提出一种基于特征增强与损失优化的YOLO改进算法,设计了随机残差通道注意力提升水下图像的特征表征能力,同时采用真值排斥因子与预测因子优化损失函数,实现对不同遮挡目标的多尺度位置回归,最后,针对在遮挡区域较多时目标预测概率偏低而采用传统非极大值抑制法容易漏检的问题,算法在预测器输出端加入遮挡预测率信息,实现对不同程度遮挡目标检测框的自适应,提升被遮挡目标检测的召回率。

2 基于YOLOv4的目标检测网络

YOLO系列作为端到端的一阶段目标检测算法,其以darknet53作为特征提取网络,通过将输出的3层多尺度空间特征图作为检测与识别网络输入,并融合了FPN的结构与思路,实现对不同大小目标的有效检测。而作为集当今主流有效模块的YOLOv4[11],其不仅利用跨阶段局部网络(cross stage partial network,CSPNet)改进特征提取网络,同时,采用马赛克增强方法与MixCut方法相结合,有效提升了算法的自适应能力。但在水下环境中,由于图像过度退化,应用上述噪声扰动的离线预处理方法仍会造成一定的精度损失。

YOLOv4算法结构框架如图1所示。

图1 YOLOv4网络结构图Fig.1 YOLOv4 network architecture diagram

上述网络首先将离线处理的图片输入给特征提取网络CSP-Darknet,通过多尺度特征提取,获得基础特征的映射图,然后再通过密集连接模块将信息传递给下一阶段,从而实现浅层特征映射图分离。此后,网络通过多层级特征融合的整合器PAN结构完成多尺度的信息交互。最后,网络采用3种分辨率的特征图作为预测器,分析图像检测结果,获得最终的目标位置信息与属性信息。从网络总体结构分析,YOLO v4网络通过优化结构深度,较好地提升了对多尺度目标的检测效果,但算法仍存在宽度利用率不足,深度空间的各层通道信息冗余,彼此独立等问题。

此外,在锚框回归上,YOLOv4采用非极大值抑制(NMS)优化CIoU,并通过阈值滤除一定量的正样本,实现了正负样本平衡。算法在优化交并比机制以提高计算精度的基础上,实现了对目标检测召回率的提升。但在水下环境中,由于目标的遮挡尺度存在多样化变化,交并比计算精度低,网络对遮挡目标检测仍存在漏检的可能,自适应能力偏弱。

3 遮挡目标检测深度学习算法优化

水下环境中对被检目标的遮挡问题主要包括两类,一类是环境遮挡如礁石、泥沙、水藻等以及水生动植物栖息所引起的遮挡问题,另一类是同类目标与异类目标彼此之间的相互遮挡。前者由于遮挡物在颜色、形态上与环境存在同质化现象,因而在目标检测时常通过设计复杂的网络,提升对环境的感知能力,最终解决目标的虚检、漏检问题;而后者则因为目标检测器候选框容易交叠,预测候选框目标类别评分偏低,采用非极大值抑制法容易将真值也进行滤除。此外,在YOLO中预先设定检测栅格中每个尺度特征层仅有3种不同形态的锚框,如果栅格邻域内目标数量较多,则候选框容易向特征更显著的目标偏移从而造成漏检。

针对上述问题,本文在YOLOv4目标检测框架上,通过在Darknet-CSP结构中加入随机残差通道注意力,提升通道之间的信息交互;同时,采用候选框排斥项Rep-GTIoU loss与预测框排斥项RepBox loss[12]优化目标损失函数,增加被检目标预测框之间的回归界限,缓解目标群集因遮挡所引起定位与回归效果差的问题。

3.1 随机残差通道注意力模块

YOLOv4采用随机残差连接的方式有效缩减了计算量,剔除了部分无用的残差网络,增强了已学习特征的比重。但在水下探测的场景下,目标物受环境干扰极大,仅采用CSP改进Darknet通道,通过随机堆叠的方式减少计算量,虽然降低了训练成本,但训练方向难以控制,模型无法快速有效地获得最优参数。针对上述问题,本文结合注意力机制(efficient channel attention,ECA)[13]提出了改进CSP残差单元CSP-ECA,结构如图2所示,通过通道注意力机制快速获得有效堆叠通道,并通过增强其融合权重,实现训练方向的最优化。

图2 CSP-ECA结构图Fig.2 CSP-ECA structure diagram

CSP-ECA在堆叠通道后首先采用全局池化获得特征图的全局语义信息;其后,模型在不降低维度信息条件下将全局特征聚合在对应的通道内,尽可能保留不失真的信息;最后,通过对滤波卷积核采用自适应k近邻算法,实现对堆叠后的通道信息互通。卷积核参数自适应如式(1)所示:

(1)

在上述结构中,网络首先通过卷积获得通道特征,其后通过对堆叠后的特征图进行权重加权,实现对高维特征的重点学习。该方式使得每个CSP Block都可应用一次通道信息整合,提升信息关注度。虽然会增加参数量与计算量,但增加的量相对较少,在训练与检测时基本可忽略不记。

3.2 回归损失函数改进

文献[9]在YOLOv4的基础上将损失函数由IoU loss调整为CIoU loss,解决了当锚框彼此不相交时损失函数始终为常数而无法给出优化方向的问题。CIoU loss具体定义为

(2)

(3)

(4)

式中,A为目标框间的交并比(IoU),ρ为距离度量函数,b、bgt分别是输入损失函数中的候选框与目标框的中心点,c为两框最小外接矩形的对角线距离,β表示用于平衡比例的系数,v用于衡量Anchor框和目标框之间的比例一致性。

由于上述计算时没有引入功率惩罚项,因此CIoU loss无法实现对不同目标相对权重的自适应,因而在动态检测时,YOLOv4召回率容易偏低。

α-IoU作为IoU的幂次推广[14],具有梯度自适应重加权特性,通过自适应地重新加权高和低IoU目标的损失和梯度,提高预测框的回归精度,因而本文采用α-IoU优化CIoU loss,通过参数自适应提升不同目标的相对权重。

首先对IoU进行功率变换:

Lα-IoU=1-Aα1+Ρα2(b,bgt) (α1、α2>0),

(5)

式(5)中,Ρα2(b,bgt)是根据预测框和真实框计算的惩罚项,经实验证明Lα-IoU对α2取值不敏感,因此为了保持一致性取α=α1=α2。

采用α-IoU优化参数α后的Lα-CIoU为

(6)

(7)

(8)

式中,ρ为二阶闵氏距离函数。

当α>1时,损失函数将更加侧重于高IoU目标区域,尤其在多个候选框彼此无交集的场景下,模型训练也将更容易朝候选框交叠域正增长方向优化。

此外,为提升对水下目标遮挡问题的检测能力,本文在上述优化的CIoU loss的基础上加入真值目标框排斥因子,拓宽预测框与其他真值目标框之间的间距,防止预测框全部陷入置信得分最高的区域。

真值排斥项因子LRepGT定义为

(9)

(10)

(11)

此外,为了预测框更加独立,算法同时给损失函数添加预测目标框的排斥因子。通过排斥因子,扩大已匹配真值的目标框与预测目标框之间界限,使得已匹配的目标框不再朝更显著真值框回归。

定义预测目标框排斥因子LRepBox:

(12)

式(12)中,Bp为已匹配了真值框的预测框,I[·]为identity函数,ε为一个极小值防止函数出现无穷大。

引入真值目标框排斥因子和预测目标框排斥因子后的回归损失函数为

LRep-αCIoU=LαCIoU+aLRepGt+bLRepBox,

(13)

式(13)中,a、b为权重平衡因子。过大的权重和预测框回归的任务相冲突,从而会导致检测精确度的下降,因此,a,b因子取值应保持二者之和为1。

3.3 遮挡率预测

针对预测相同目标且得分较差的边界框,深度学习的目标检测方法常采用非最大值抑制法NMS进行滤除,即仅保留评分值最高的边界框。而传统NMS没有考虑上下文信息[15],容易造成遮挡目标的漏检。为此,本文以YOLOv4的优化soft NMS[16]为基础,在其3层检测器原有输出维度的基础上增加一维目标遮挡率信息,为网络的位置回归提供遮挡上下文信息辅助,提高检测的召回率。预测器输出参数如表1所示。

表1 预测器输出参数Tab.1 Predictor output parameters

改进后的检测器共享网络参数,因而并不会引入冗余参数,但该预测信息为判别不同类型遮挡目标提供动态自适应的阈值。

在水下图像中,采用与真值目标框计算获得的最大IoU值作为遮挡率标签,其后对每个位置的遮挡率进行有监督回归。为简化计算,减少离群点的干扰,遮挡率预测损失函数设为Smoothl1,则遮挡率计算为

S=argmaxIoU(Gi,Gj),

(14)

式(14)中,Gi、Gj为不同目标真实框。

通过预测遮挡率与真实遮挡率之间的回归,并利用最后获得的预测遮挡率信息对NMS进行加权,实现在有遮挡时阈值动态自适应调整,无遮挡时阈值恒定不变。阈值调节如图3所示。

图3 密度自适应NMS示意图Fig.3 Schematic of density adaptive NMS

通过上述方法对目标检测网络的输出结果进行自适应处理,可提升检测器在复杂多变水下多目标动态检测场景下的性能,保持检测系统在水下群集中遮挡时的可靠性与稳定性。

4 实验验证

算法在Windows操作系统中,以显卡GTX1070-8G,CPU i7-8700为模型训练设备,选择基于渤海海域海洋生物检测的公开视频进行实验。为了验证算法在通用水下检测场景与纯遮挡环境下不同的效果,实验将公开视频数据进行区分,即定义原视频为通用数据集,而选择所有存在不同程度遮挡的图像为遮挡数据集,即定义为密集数据集。

为了有效完成对不同算法目标检测性能的定量化评价,实验选择综合考虑了准确率与召回率的平均精确度(mean average precision,mAP)作为评价标注,其定义为

(15)

式(15)中,P为准确率,R为召回率。mAP通过计算每个类别的准确率与召回率曲线所形成图形的面积平均值,直接反映网络对所有被检目标的综合检测能力。

实验过程中,超参数的设置主要包括设置Smoothln和Smoothl1的σ为0.5,迁移学习冻结特征提取网络部分的初始学习率为0.003,开放训练的初始学习率设定为0.000 3,学习率衰减策略为固定步长衰减,伽马值设定为0.94,LRep-αCIoU中α为3,NMS无遮挡目标的抑制阈值为0.7。

4.1 消融实验

为了分析本文所提出的不同网络模块对总体检测结果的影响,实验以YOLOv4为基础网络,对CSP-ECA结构、LRep-αCIoU损失函数改进、遮挡率Adaptive NMS进行消融实验,实验结果如表2所示。

表2 消融实验结果Tab.2 Results of ablation experiments

表2中,CIoU loss为YOLOv4网络基础配置,而CSP-ECA、Rep-CIoU以及Adaptive NMS三个模块为本文算法针对遮挡模板所提出的改进模块,通过对比增加了上述各模块的网络在通用数据集与全部存在遮挡模板数据集的两个mAP值可知,本文提出的三个模块CSP-ECA、Rep-αCIoU以及Adaptive NMS,在检测通用场景时mAP分别增加了0.23%、0.34%与0.48%,而在划分的遮挡数据集中,三个模块检测的mAP值提升达0.53%、2.54%与1.65%。上述结果说明本文提出的三个模块在水下目标检测,尤其是在密集目标的遮挡检测上均具有不同程度的优化作用。此外,融合上述三个模块的网络,其总体检测mAP较YOLOv4网络提升了1.43%与4.93%,说明三个模块彼此并不存在干扰,且通过三个模块的有力互补,系统检测性能更优。

4.2 性能对比实验

为了验证本文算法的先进性,实验选择当前主流目标检测神经网络作为参考,通过相同的硬件平台,相同的数据集以及遮挡数据集下对其mAP进行测试,实验结果如表3所示。

表3 不同算法性能对比Tab.3 Performance comparison of different algorithms

对比表3中不同算法的检测结果,相比多尺度检测的SSD算法,本文算法检测结果提升达到16.1%与11.95%。在传统算法中YOLOv4性能最高,其通用场景与密集遮挡场景下mAP分别为78.1%与83.58%,而GIoU与DIoU算法在通用场景下检测性能与之相当,但在密集遮挡的场景下,DIoU由于其针对遮挡目标损失函数的优化,性能较YOLOv4提升了1.75%。与上述算法相比,本文算法相较YOLOv4提升1.43%与4.4%,较针对遮挡的DIoU算法也提升了1.58%与3.18%,实验结果表明本文算法相比较传统算法,在水下应用场景中对存在遮挡的多目标群集检测,具有更优的检测性能。

部分检测结果可视化如图4所示。

图4 检测结果图Fig.4 The detection results of differentalgorithm

图4为六种不同场景下YOLOv4算法、DIoU算法与本文算法检测结果对比图。分析同一场景的不同算法检测结果可以发现:YOLOv4对于特征鲜明的独立个体,其检测精度与召回率均相对较高,但对于遮挡目标,召回率受特征遮挡面积而明显下降;DIoU算法由于其针对遮挡做了损失优化,召回率较YOLOv4有所提升,但与本文算法相比,上述二者检测召回率明显偏低。如场景1中被测目标约7个,而YOLOv4输出检测结果为5个,DIoU输出检测结果为6个,本文检测结果为7个;场景2中被测目标约11个,而YOLOv4输出为5个,DIoU输出为8个,本文算法输出为10个;密集遮挡程度相对较高的为场景6,被检测目标约23个,YOLOv4检测输入17个,DIoU输出为18个,本文算法检测输出为23个。同理分析其他场景,目标密集度越高,遮挡越严重,YOLOv4越容易丢失目标而造成漏检,而本文算法则受影响相对较小,召回率仍维持在较高的水平。而在准确率方面,针对输出目标的分类识别,YOLOv4、DIoU及本文算法,其准确率相当,均出现明显识别错误等问题。

综上所述,本文算法在水下目标群集环境下具有更强的自适应能力,检测精度与召回率更高,系统更稳健,更适合水下探测机器人使用。

5 结论

针对水下群集目标存在遮挡,传统算法检测的准确度与召回率不能满足水下巡检机器人作业要求的问题,本文从特征提取、损失函数及遮挡率预测三方面对YOLOv4网络进行优化改进。算法首先通过通道注意力机制,提高了随机残差模块的信息交互能力;其后,采用真值排斥因子RepGt与预测排斥因子RepBox优化α-IoU,提升遮挡目标的自适应检测能力;最后,通过自适应Adaptive-DIoU-NMS,实现对目标遮挡率预测,提升水下多目标遮挡条件下的召回率。实验结果表明,在水下环境条件下,本文算法较同级网络的检测的精度与召回率更高,在目标密集场景中能检测出更多目标。但同时,本文方法在多尺度目标检测时未考虑全局信息,整体参数量仍需进一步优化。

猜你喜欢

损失预测函数
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
二次函数
第3讲 “函数”复习精讲
胖胖损失了多少元
二次函数
函数备考精讲
玉米抽穗前倒伏怎么办?怎么减少损失?
不必预测未来,只需把握现在