基于均匀设计的船舶目标检测深度学习模型训练方法
2022-10-13徐慧智宋爱秋武笑宇
徐慧智, 宋爱秋, 武笑宇
(东北林业大学交通学院, 哈尔滨 150040)
船舶检测技术在海上救助、海上交通组织管理等方面发挥着重要作用,关系到运行的安全性。但由于监测场景复杂多变、船舶类型多样化和视野范围内船舶体积较小等因素,船舶目标精准检测存在诸多挑战。近年来,计算机视觉感知技术以其高可靠性和实用性成为该领域的研究热点。
目前,船舶监测数据主要来源为合成孔径雷达检测、卫星遥感影像检测和视频监控,船舶目标检测主流方法为图像处理和深度学习。He[1]通过定义被检测船舶的旋转角度位姿和比例因子来检测不同方向、不同尺寸的船舶,该方法对多视角观测目标具有适用性。矫腾章等[2]采用canny算子结合多特征量判别,对目标船舶进行边缘检测,实现海上多目标舰船的检测和跟踪。张春雨等[3]利用激光扫描船舶交通环境,选用连续三帧差加速法,实现运动目标自动检测。周林宏等[4]预处理摄像头采集的视频图像,进行图像增强和图像去噪处理后,采用梯度方向直方图(histogram of gradient,HOG)[5]算法确定船舶轮廓,解决了传统图像检测方法受复杂环境噪声影响的问题。从当前的研究成果来看,传统图像处理方法费时耗力,对经验依赖性大,并且鲁棒性不强[6],在检测精度以及实时性方面表现不如基于深度学习的方法。深度学习目标检测领域,周慧等[7]构建了特征金字塔结构,通过优化多任务损失函数,对定位船舶进行细分类识别,平均识别精确率达到92.67%。Wei等[8]对遥感舰船图像进行预处理,在快速区域卷积神经网络(faster regions convolutional neural networks,Faster R-CNN)中引入扩展卷积,提出了一种改进的船舶检测算法,在HRSC2016数据集进行了验证;姚红革等[9]通过负样本增强学习的方法训练模型,针对复杂海情实现小目标船舶的高精度识别,准确率92.27%。杨浩琪等[10]将视觉注意机制引入网络,采用多级特征提取和去量化操作,实现船舶识别综合准确率92.56%。R-CNN、Fster R-CNN、SSD等目标识别算法,增加注意力机制和改进特征提取方式,融合高层次语义信息和物体定位信息,能够提升深度学习的目标识别检测精度。多层卷积神经网络进行船舶目标检测时,需要通过训练提取对象特征,训练参数众多且存在交叉影响,往往根据经验确定模型训练方案,费时费力且预期检测效果难以控制。
为解决船舶目标检测深度学习模型训练困难问题,现提出基于均匀设计理念的模型训练方案。考虑深度学习模型超参数之间的交互影响,设计训练和测试场景、训练和测试样本比例、训练轮次、训练算法协同组合优化,降低模型训练的轮次和复杂度,以提升模型检测精度和效度。选取经验法训练方案作为对照,以实验验证均匀设计思路在深度学习模型训练上的有效性。解决深度学习模型在检测精度提升的同时,深度学习网络层数增多,训练时间过长,消耗计算能力的问题[11]。
1 YOLO算法及均匀设计原理
1.1 YOLO基本原理及框架
YOLO(you only look once)是基于深度学习的单阶段目标检测算法,将目标检测转换为回归求解,省去选定候选区域步骤[12],实现了端对端目标检测,YOLO检测速度和精度优于Faster-DPM、R-CNN、Fast R-CNN[12],算法流程如图1所示。
YOLO将检测场景划分为S×S个网格,估计检测目标具体位置,卷积层提取图像深度特征信息,全连接层计算目标位置和类别概率值[13]。YOLO算法自从2015年发布以来,不停更新改进,性能和适用性分别如表1和表2所示[14-19]。
图1 YOLO算法流程Fig.1 YOLO algorithm flow
表1 单阶段目标检测算法YOLO性能指标
表2 单阶段目标检测算法YOLO适用性
1.2 均匀设计基本原理
均匀设计实现了实验点在实验范围内均匀分布,能够以较少的实验次数,安排多因素、多水平的析因实验。
均匀设计的影响因素各水平值出现一次,适用于多水平、多因素模型拟合及优化实验均匀设计,是仿真实验设计和稳健设计的重要方法[20]。
2 数据集构建及场景特征分析
2.1 船舶目标数据集构建
选取上海黄浦江水域船舶研究监控视频数据,样本5 268份(宽×高=1 920×1 080),场景为上海-黄埔-港务大厦22楼下游、上海-吴淞-雷达站上游、上海-吴淞-雷达站下游,如图2所示。
数据集场景和样本数量如表3所示。
使用LabelImg软件标注样本,包含boat类别以及场景中所有目标的位置信息(左下横坐标xmin、左下纵坐标ymin、右上横坐标xmax、右上纵坐标ymax),典型样本标注样例如表4所示。
图2 数据获取场景Fig.2 Scenario of data
表3 观测点分布情况
表4 典型样本标注信息
2.2 船舶目标场景特征对检测精度的影响
数据集清晰度以及人工标注产生误差等,影响模型检测精度。
(1)清晰度对检测精度的影响。场景像素1 920×1 080,天气因素可导致场景不清晰,船舶目标特征不明显,模型训练时提取目标特征不准确,增加检测错误率。
(2)人工标注对检测精度的影响。采用LabelImg人工给图片打标签,工作量大、费时费力的同时,人工标注会产生漏标目标物体的情况,致使图片的真实目标数量值与图片内的标注框数量不符,影响船舶目标检测精度。
人工标注带来的检测误差影响如表5所示。
选取测试集中的前9张照片,采用OpenCV按照标注信息,在JPEGImages上进行了绘制,如图3所示。采用YOLOv4和YOLOv5s进行目标检测,以矩形框标注识别目标boat的位置和数量,框上文字表示识别目标的类别和概率,如boat0.88,如图4、图5所示。
表5 人工标注与模型检测对比分析Table 5 Comparative analysis of manual annotation and prediction results
图3 OpenCV标注Fig.3 OpenCV marks all target objects
目标检测性能指标查准率(precision,P)表示预测的全部正样本中分类正确的比例,查全率(recall,R)表示全部正样本中能够被正确预测的比例。精准度(AP)是根据P-R曲线面积计算的性能指标,衡量学习出来的模型在每个类别上预测效果的好坏。
(1)
(2)
式中:TP(ture positive)、FP(false positive)、TN(ture negative)、FN(false negative)分别为真正例、假正例、真反例、假反例对应的样例数。
图6样本中人工标注的label的数量为11,缺少一个目标船舶的标注,bndbox以红色方框标明。
经YOLOv5训练的检测模型预测后显示出13个boat预测框,如图7所示。对于样本检测而言,在人工漏标的情况下P=11/(11+2)=11/13,R=11/(11+0)=1,当bndbox数量与真实情况一致时,P1=12/(12+1)=12/13,R1=12/(12+0)=1。由此可知,由于人工标注工作的疏漏会降低模型检测性能指标AP值。
3 模型训练及实验分析
3.1 经验法
选用YOLOv4、YOLOv5s、YOLOv5x深度卷积神经网络检测算法,设计9次检测方案,使用不同数量的特定场景数据集训练模型,得到最优权重,保存模型文件。经验法实验参数设置如表6所示。
3.2 均匀设计
执行6组训练方案,每一组训练模型对应的训练场景、训练集图片数量、使用算法类别、训练轮次的参数安排如表8所示。
3.3 实验分析
经验法:执行9次训练方案,YOLOv5s算法训练100轮次,最高精度AP为0.84。
均匀设计:执行6次训练方案,YOLOv5x算法训练200轮次,最高精度AP为0.91。
实验性能对比分析如表9所示。
船舶目标检测选用的算法模型、训练轮次、训练集测试集不同,测试AP值存在差异。盲目增加训练轮次,不能显著提高检测效果,同时降低检测效率。YOLOv4、YOLOv5s、YOLOv5x算法检测如图8、图9、图10所示。
经验法和均匀设计实验方案对比分析如表10所示。分析可知,基于均匀设计法进行船舶目标检测深度学习模型训练,实验次数少,训练模型精度高。
4 结论
(1)固定训练集和测试集,过度增加深度学习模型训练轮次,不能显著提高模型检测精度。
图6 场景3人工标注Fig.6 Manually annotated scenario 3
表6 经验法实验的训练方案
表7 因素和水平对应表
表8 基于均匀设计的训练方案
表9 实验性能对比分析
表10 两种训练方案对比分析表
图7 场景3测试检测Fig.7 Prediction results of scenario 3
图8 YOLOv4算法检测Fig.8 YOLOv4 algorithm predicted results
图9 YOLOv5s算法检测Fig.9 YOLOv5s algorithm predicted results
图10 YOLOv5x算法检测Fig.10 YOLOv5x algorithm predicted results
(2)均匀设计方法训练深度学习模型,在有限实验次数条件下,能够较好地训练深度学习模型,提升检测精度。
(3)均匀设计理念延伸至深度学习模型其他可控变量或超参数的训练环节,可节约训练时间。