士兵目标的少样本深度学习检测方法

2021-07-05 06:00王建中王洪枫刘弘扬李博孙庸张驰逸
北京理工大学学报 2021年6期
关键词:锚点网络结构士兵

王建中, 王洪枫, 刘弘扬, 李博, 孙庸, 张驰逸

(北京理工大学 机电学院,北京 100081)

目标检测一般用于获取图像中兴趣目标类别及其在图像中位置信息,是未来无人武器自动跟踪瞄准目标的基础,具有广泛的应用前景. 传统目标检测需要人工对战场环境图像进行搜索与判读[1],受判读者经验影响较大,作战效能较差. 随着机器人与计算机技术的发展,目标自动检测成为主流方向,其中典型的方法有方向梯度直方图特征、局部二值特征等人工特征选择方法[2-4],以及和依靠滑窗等方式在图像的兴趣区域使用Adaboost、随机森林或支持向量机等机器学习方法[5-8],这些方法往往存在复杂性高、窗口冗余及特征单一导致对目标遮挡情况过于敏感等问题,鲁棒性较差,难以适应复杂的战场环境[9]. 基于深度学习的目标检测技术是解决这一难题的有效途径,其方法主要有RCNN、SPP-Net、Fast-RCNN、Faster-RCNN、SSD和YOLO等[10-12]. 其中YOLOv3能够同时检测兴趣目标的类别及其在图像中的位置,在准确率和实时性上都有着极佳的表现. 深度学习目标检测方法对训练样本的数量需求极高,只有在训练样本足够大时才会产生具有竞争力的性能[13]. 而针对敌士兵目标的检测,样本数据属于敏感的军用资源,难以大量获取.

本文针对敌士兵数据集样本较少的问题,以YOLOv3为基础,提出一种少样本深度学习目标检测方法. 通过数据增广、网络结构与锚点框尺度改进、模型预训练增强目标检测模型的泛化能力、降低目标检测网络的过拟合,提升少样本模型训练的检测性能,满足对敌士兵目标少样本深度学习检测的需要.

1 敌士兵数据集样本增广

通过网络爬虫方法收集整理外军士兵图片样本1 300张并进行标注,建立种子数据集. 如图1所示,通过水平镜像、HSV色彩迁移、随机尺寸缩放、随机旋转和随机裁剪等图像处理方法对种子数据集样本进行增广,以提高目标检测器在不同颜色、光照条件和目标遮挡条件下的鲁棒性. 通过不同图像处理方法的组合,得到包含10 400张图片的扩展士兵目标数据集. 再利用基于CycleGAN的网络迁移数据增广方法获得20 800张样本的扩展士兵目标数据集,如图2所示.

图1 图像处理数据增广Fig.1 Data augmentation in image processing

图2 CycleGAN网络迁移数据增广Fig.2 Data augmentation with CycleGAN

图2中A类士兵数据集中的样本为荒漠环境中身着浅色迷彩的士兵,B类士兵数据集中的样本为城市、森林、草地等环境中身着深色迷彩的士兵. 使用CycleGAN对A类士兵进行风格迁移,A类士兵的衣着和所处环境向B类士兵“靠拢”,得到网络风格迁移后新的A类士兵数据集.

2 YOLOv3的网络结构和锚点框改进

YOLOv3算法综合了SSD、ResNet等目标检测算法的网络结构. 在模型训练阶段YOLOv3将输入网络的图像缩放至416×416大小并划分为如图3所示的s×s个单元格,待检测目标中心位置所在的单元格负责检测该目标. 使用多个锚点框(anchor box)在每个特征图的每个单元格上进行目标边界框的预测. 锚点框可以视作根据检测的目标特性而预先定义好尺寸的边界框,经过对数据集中待检测目标的形状和尺寸进行聚类,可以得到能将数据集中多数目标标记出的、最具代表性的几组锚点框,以提升在不同尺度目标上的检测性能. 每个边界框包含4个坐标值、4个置信度和C个条件类别概率,边界框预测值如式(1)所示.

图3 锚点框Fig.3 Anchor box

(1)

式中:bx、by、bw、bh分别为边界框的中心位置、宽和高;cx和cy分别为当前单元格相距图片左上角的归一化后的距离;pw和ph分别为锚点框的宽和高;使用sigma函数σ确立学习参数tx、ty、tw、th、to和锚点框坐标、条件类别概率之间的关系. 与特征金字塔网络(feature pyramid networks,FPN)通过顶层特征上采样与低层特征融合进行目标检测的方法类似,YOLOv3在13×13,26×26,52×52三个尺度的特征图上进行目标检测. 最终,通过非极大值抑制方法,将预测出的多余边界框剔除,得到最终的目标检测结果.

YOLOv3的损失函数由坐标误差、IOU误差和分类误差组成,每个误差对总体损失的贡献不同,因此具有不同的权重. 总体的损失函数为

(2)

YOLOv3的网络结构复杂,所需计算资源较高,无法在嵌入式设备上对目标进行实时检测,难以应用于小型武器系统中;使用少样本训练神经网络容易产生过拟合的情况,且网络训练收敛速度慢;YOLOv3中锚点框的个数与维度是根据VOC数据集和COCO数据集中的目标进行聚类得到的,不适用于士兵目标的多尺度检测使用. 针对上述问题,本文进行网络结构和锚点框改进.

2.1 网络结构改进

基于darknet53网络的YOLOv3使用了大量ResNet残差网络结构,并且通过1×1和3×3两种卷积核的组合,使网络层数加深的同时训练难度降低. 但是针对样本数较少的士兵目标,darknet53的网络结构过于复杂. 在保证士兵目标检测精确度和实时性的前提下,提出一种层数较少的目标检测特征提取网络darknet36,并在此基础上完成三个尺度特征图上的目标检测,如图4所示.

图4 网络结构改进Fig.4 Improvement of net structure

darknet36将浅层特征图直接跨层连接至网络深层位置,如图5所示. 网络结构改进解决了梯度消失的问题,强化了浅层特征图包含的小目标特征信息的传递,实现特征图信息的有效利用,也可以大幅裁剪网络中间1×1和3×3两种卷积核组成特征提取层,在降低参数量的同时保证能够在训练数据较少的情况下避免过拟合. 测试显示,基于416×416大小的样本输入,网络结构改进后的计算量降低了12%.

图5 darknet36网络结构浅层特征图跨深层连接Fig.5 Connections from shallow layers to deep layers in darknet36

2.2 锚点框改进

锚点框的参数随着神经网络训练次数的增加而逐渐修正至边界框的真值,预先设置能够显著表征目标特性的锚点框能够在多尺度方面提升目标检测的精度和速度.k-means聚类对敌士兵目标的特性进行分析,通过统计学习方法获取最能表征敌士兵目标长宽比等特性的锚点框.

k-means聚类使用欧氏距离函数作为距离度量,欧氏距离受锚点框的尺寸影响较大,然而判断一个锚点框对目标的适用程度应测量其与边界框真值的重合程度而不是尺寸. 因此,k-means聚类使用IOU(intersection-over-union,交并比)作为距离度量,IOU值越大,表明锚点框与边界框真值的差异就越小. 聚类目标函数为

(3)

式中:lb为边界框的尺寸;lt为边界框真值;IOU为两个边界框的交并比;k为锚点框的个数;k值选取过小,难以覆盖多数的目标;k值选取过大,会加大运算量. 通过对敌士兵目标数据集的聚类结果分析,k为9时平均交并比可达71.23%,如图6所示.

图6 锚点框数量与平均交并比的关系Fig.6 The number of anchor boxes and average IOU

3 神经网络模型预训练

训练一个深度卷积神经网络往往需要大量已标注好的数据进行长时间迭代,时间成本和计算资源要求较高. 为此,仿照人类学习模式,模拟大脑的“预学习”,即神经网络中的“预训练”,具有能够增加神经网络深度、加快模型收敛速度、提升模型泛化能力、避免因训练数据样本数较少造成过拟合、防止训练陷入局部最优解的特点.

敌士兵目标的部分特征与更容易获取的行人样本类似,从Caltech Pedestrian Dataset行人数据集和KITTI数据集中抽取7万张行人数据进行darknet36网络的预训练,迭代20万次,得到预训练权重;将敌士兵目标数据集和扩展士兵目标数据集各按照1:1:8的比例进行划分,分别用作测试集、验证集和训练集;使用敌士兵目标数据集的训练集,在预训练权重上进行迁移学习,使网络首先适应士兵目标的特征;使用扩展士兵目标数据集的训练集对网络进行调优,继续优化网络中各层权重,提升网络对敌士兵目标的检测质量,得到敌士兵目标检测模型.

4 敌士兵目标检测实验及结果分析

敌士兵目标检测模型的训练在NVIDIA TITAN V GPU计算机上完成,部署分别在NVIDIA TITAN V GPU计算机和NVIDIA Xavier嵌入式计算平台上完成. NVIDIA Xavier计算平台为深度学习专用嵌入式平台,可以搭载在小型武器系统上用以部署深度学习模型.

模型训练采用带有冲量的小批量梯度下降法. 小批量梯度下降是批量梯度下降和随机梯度下降的一个折中方法,每次迭代使用固定数量的样本进行参数更新,样本数称为“批尺寸(batch size)”. 小批量梯度下降方法充分利用矩阵计算优势,能够显著提升内存利用率,降低单个epoch的迭代次数. 在梯度下降过程中,冲量的引入,使得参数更新时同时考虑当前以及前一次梯度值的影响,学习率会动态地增加或者降低,加速收敛速度及减小收敛震荡幅度.

训练参数设置为动量参数0.9、每次迭代的批尺寸64、迭代次数20 000、初始学习率0.001、权值衰减系数0.000 5. 使用敌士兵目标数据集和扩展士兵目标数据集对预训练网络和非预训练网络进行训练,迭代20 000次之后的等间隔平均损失变化如图7所示. 可以看出,数据增广后的扩展士兵目标数据集对预训练后的网络进行训练,最终损失值最小且收敛速度更快.

图7 训练过程损失曲线Fig.7 Loss curve in training

使用目标检测领域常用的检测成功率mAP、检测精度IOU、准确率(precision)和召回率(recall)作为检测性能判别指标. 准确率表示在检测结果中“被正确检测到的”目标比例. 召回率表示在所有应该检测到的目标中“被正确检测到的”目标比例. 检测目标是否为“正确目标”由交并比IOU确定. 当IOU≥0.25时样本为正,当IOU<0.25时样本为负. 在实际应用条件下准确率与召回率彼此影响,检测成功率mAP为每一类目标准确率和召回率所绘制的P-R曲线下面积的平均值,体现目标检测模型在准确率和召回率上的综合性能.

本文提出的少样本深度学习目标检测方法实验结果如图8所示,其中使用扩展士兵目标数据集和预训练相结合获得的敌士兵目标检测模型准确率为94%、召回率为74%、IOU为82.18%、mAP为85.6%,相较于其它组合方法,准确率最高提升了14.6%、召回率最高提升了45%、IOU最高提升了10.6%、mAP最高提升了26.7%,而且对图9所示小型和遮挡目标检测效果较好.

图8 少样本深度学习检测方法实验结果Fig.8 Results of detection method based on small sample deep learning

图9 小型和遮挡目标检测效果Fig.9 Detections of small target and occluded target

对帧宽854像素、帧高480像素、帧率30 fps的测试视频检测速率实验,使用扩展士兵目标数据集训练到的目标检测模型在NVIDIA TITAN V GPU计算机和NVIDIA Xavier嵌入式计算平台上检测速度分别为达到54.6和26.8 fps,实时性好.

5 结 论

本文提出基于YOLOv3的少样本深度学习目标检测方法. 通过数据增广增强少样本情况下目标检测模型的鲁棒性;利用k-means聚类获取适合敌士兵特性的锚点框,充分利用多层特征图信息,提高检测模型的多尺度检测精度,提升少样本数据利用率;预训练在保证目标检测模型性能的同时显著提升了收敛速度,防止样本数较少造成的过拟合. 实验结果表明,在训练迭代次数相同的情况下,对少样本的敌士兵目标检测成功率mAP最高提升26.7%达到85.6%、检测精度IOU最高提升10.6%达到82.18%,而且对小型和遮挡目标检测效果较好. 通过对YOLOv3网络结构的精简,在保证敌士兵目标检测成功率、检测精度前提下大幅减少了检测模型运算量,提高了检测速度. 实验结果表明,检测模型部署在NVIDIA TITAN V GPU计算机上检测速度为54.6 fps,部署在NVIDIA Xavier嵌入式计算平台上检测速度为26.8 fps,实时性好,可用于实时目标检测系统,具有较高实用性.

猜你喜欢
锚点网络结构士兵
基于自注意力机制与无锚点的仔猪姿态识别
艺术史研究的锚点与视角
——《艺术史导论》评介
5G NSA组网下锚点站的选择策略优化
5G NSA组网技术方案研究
门牙士兵
试论分布式计算机网络结构分析与优化
带通信配网故障指示器故障监测方法及安装分析
士兵与海豚
瞭望塔
非常规突发事件跨组织合作网络结构演化机理研究