王 驰,于明坤,杨辰烨,李思远,李富迪,李金辉,方 东,栾信群 *
(1. 上海大学 精密机械工程系,上海 200444;2. 近地面探测技术重点实验室,江苏 无锡 214035)
利用投射的方式将地雷散布在预定区域(即抛撒地雷),具有快速、灵活、机动性高等优点,易于实现大规模大面积雷场的高效布设,是现代夜战防御性的一种常用的雷场布设手段。另外,现代地雷配备的新型引信可使目标靠近到一定距离时即可触发,而一般常用的地雷探测设备仅在与地雷近距离接触时才可有效报警,因此对抛撒地雷进行远距离快速检测是现代雷场安全探测的一个重要研究方向。目前对于抛撒地雷的远距离探测技术主要有两种:成像技术检测和非成像技术检测。成像技术主要包括红外、雷达、多光谱技术和卫星遥感等[1-9],然而到目前为止,大面积雷场探测技术还未达到快速、高效的要求,而且易受天气、抛撒地雷周围环境噪声的影响,探测精度及稳定性较差。典型非成像技术如脉冲雷达技术[10-11],通过主动、被动的工作方式获取抛撒地雷的辐射信号,再利用信号处理技术和模式识别技术对目标信号进行检测,由于该技术受抛撒地雷周围环境影响较大且存在通信传输繁杂等问题,对夜间抛撒地雷的探测难度较大。目前的主流成像技术在夜间光线强度很弱时成像效果也较不理想,其存在受周围环境干扰大、隐蔽性差、成像不清晰等缺点。目前,微光夜视仪能够实现在夜视场景中对抛撒地雷远距离清晰成像[12-15],且具有隐蔽性强、受环境影响小的特点,可获得细节丰富的图像,为基于机器学习的抛撒地雷夜间智能检测提供了技术基础。
近几年,随着深度学习相关理论的快速发展及计算能力的提升,深度卷积网络在目标检测方面的研究取得了很大进展,深度学习作为机器学习的重要部分,通过端到端的训练,自动学习与任务相关的特征,通过多层的非线性变换获得图像的高层次抽象表示,基于深度学习的目标检测算法极大地提高了目标检测效果,且具有更高的实时性。目前,基于深度学习的目标检测方法[13]主要分为两类:一类是基于区域生成的卷积神经网络,代表性的网络为RCNN、Faster-RCNN[5,16-17];另一类是基于回归的目标检测算法,代表性的网络为SSD、YOLO[18-19]等。基于深度学习的目标检测在工业检测、医学、交通监控、机器人视觉等领域有着广泛应用[20-25],机器学习在地雷探测方面的应用具有检测精度高、稳定性强等特点[26-29]。
针对抛撒地雷在夜视情况下的远距离智能化探测需求,本文选用性能良好、应用广泛且对目标检测快速的YOLO算法[30-32],构建抛撒地雷智能探测模型,以实现抛撒地雷的实时性检测,同时返回探测到的抛撒地雷目标的像素坐标值;采用几何光学的相似性原理,建立抛撒式地雷的测距模型,将返回的像素坐标值映射到实际坐标系,快速确定目标地雷到相机的距离。另外结合微光夜视仪技术,实现抛撒地雷的完全被动式夜视智能探测。
本文设计了基于抛撒地雷智能探测网络模型的抛撒地雷智能探测方法。首先根据YOLO算法构建抛撒地雷智能探测网络模型,建立抛撒地雷图像数据集并将其作为训练样本,再将获得的抛撒地雷数据集输入到网络模型中进行训练,最后对训练完成的网络模型进行性能测试并进行评估、优化。
抛撒地雷智能探测网络模型依据YOLO(V2)算法进行构建,将Darknet-19作为抛撒地雷智能探测网络模型的基本架构,该架构由19个卷积层和5个最大池化层组成,Darknet-19网络使用了3×3的卷积核,使用了全局平均池化,将1×1的卷积核置于3×3的卷积核之间,用来压缩特征;在每一个卷积层后使用批量归一化方法稳定网络模型训练,加速收敛并泛化网络模型。YOLO(V2)是一个全卷积神经网络模型,能直接对抛撒地雷目标物体的边框、边框置信度以及目标物体的类别进行回归,因此检测速度较快。本文应用的YOLO(V2)网络结构如图1所示。
在图1所示的YOLO(V2)网络结构中,将输入的抛撒地雷图片归一化为832 pixel×832 pixel、3通道的标准输入图片,此时具有832×832×3个数值,经过13层卷积和4次池化将图片转换为52 pixel×52 pixel、512通道的特征图。随后从两个方向处理特征图:第一个方向是将52×52×512个数值重新组合成26 pixel×26 pixel和2048通道的特征图,第2个方向是经过1层池化和7层卷积将特征图转换为26 pixel×26 pixel和1024通道的特征图。再将两个处理方向的结果进行融合,得到26 pixel×26 pixel和3072通道 的特 征图,最后经过2层卷积得到最终的特征图。
图 1 YOLO(V2)网络结构图Fig. 1 YOLO(V2) network structure diagram
建立抛撒地雷数据集,采集不同气候、不同时间、不同角度、不同场景、不同种类的地雷图像共3845张,为获取性能良好的抛撒地雷智能检测网络模型提供基础。通过实验研究,在数据采集过程中,地雷目标的裸露面积从最大变化到最小,对于每一种裸露面积,地雷在平行于地面的平面上以10°为间隔顺时针从0°变化到360°,在垂直地面的平面上,地雷与地面的夹角以10°为间隔逆时针从0°变化到180°,最大限度保证样本的完备性。将采集到的3845张抛撒地雷的图像按照9:1的比例,将抛撒地雷图像分为训练集与测试集,并按照PASCAL VOC 2007格式制作抛撒地雷数据集,该抛撒地雷数据集包含4个文件:(1)Annotations文件夹,该文件下存放的是xml格式的标签文件,每个xml文件都对应于JPEGImages文件夹中的一张图片;(2)JPEGImages文件夹,该文件夹下存放的是数据集图片,包括训练和测试图片;(3)ImageSets文件夹,该文件夹下存放了一个文件夹Main,Main文件夹下主要存放trainval.txt和val.txt两种文件,是对训练集和测试集的划分,每个txt文件中每行一张图片的名称,不带后缀;(4)labels文件夹,该文件夹是为适应YOLO(V2)训练而对文件进行转化得到的文件,其中将上述Annotations文件夹中的每个xml文件转化为对应的txt标注,并生成trainval.txt和val.txt两个文件。抛撒地雷数据集建立完成后,将训练集里面的3458张图片导入模型,对网络模型进行训练,采用动量参数使训练过程加速收敛。为防止过拟合,设置权重衰减系数,提高模型的泛化能力,经过约19 h的训练,每次迭代时间为0.68 s,获取了迭代100200次之后的参数权重,得到了抛撒地雷智能检测网络模型,其具体训练参数见表1。
表 1 训练参数Tab. 1 Training parameters
抛撒地雷智能探测模型构建完成后,采用召回率、精确度和均值平均精度指标对网络模型进行评估。首先定义4种变量:TureMines、TureNMines、FalseMines、FalseNMines。其中:TureMines表示目标为抛撒地雷,且被正确检测为抛撒地雷;TureNMines表示目标不为抛撒地雷,且未被误检为抛撒地雷;FalseMines表示目标不为抛撒地雷,但被误检为抛撒地雷;FalseNMines表示目标为抛撒地雷,但未被检测为抛撒地雷。召回率指的是被正确检测出的抛撒地雷占测试集中所有抛撒地雷的比例,精确度指的是被正确检测出的抛撒地雷占检测出的抛撒地雷的比例,其公式分别为:
用测试集387张图片进行验证,并利用式(1)和式(2)及网络模型的均值平均精度(Map)指标对该模型进行评估,并对抛撒地雷智能探测网络进行优化:对抛撒地雷智能探测网络模型的每一层参数进行统计,根据其分布规律自定义每一层的裁剪比例,选择较小比例的数据进行剪裁,比例为0~50%不等,剪枝前模型参数数量为193M,剪枝后模型参数数量为133M,剪掉31.088%的参数量;采用动态定点的权值精简方式对抛撒地雷智能探测网络模型进行量化处理,确定一个定点后的固定数据位宽,然后通过分析数据集合的特点,确定定点位置,将数据转换为定点数,将多余位宽数据截断,完成量化处理;将剪枝和量化处理后的模型重新利用式(1)和式(2)、网络模型的均值平均精度(Map)指标进行评估。模型优化前后的抛撒地雷图像测试集的相关指标对比如表2所示,抛撒地雷图像测试集的PR曲线如图2所示。测试集测试结果显示:模型优化前,测试集的召回率为96.64%,精确率为97.14%,均值平均精确度为95.286%;模型优化后,测试集的召回率为99.22%,精确率为98.97%,均值平均精确度为99.2%。可见,模型优化后,测试集相关指标明显提高,由于使用剪枝对模型进行了精调,纠正不准确的检测框,降低漏检率,从而大幅度提高了Map和抛撒地雷的探测精度。标,以精确率(precision)为纵坐标,绘制出的PR曲线。该图右下角为虚线框部分的放大图,该放大图中,纵坐标范围(精确率范围)为0.98~1,横坐标取值范围(召回率)为0~1。
表 2 测试集测试时相关指标Tab. 2 Relevant indexes during test set testing
图 2 模型测试集的PR曲线Fig. 2 PR curves of the model’s test set
上图中,PR(Precision-Recall curve)为准确率-召回率曲线图,指的是以召回率(recall)为横坐选择测距环境为地面,根据几何光学的三角形相似性原理,实现对抛撒地雷距离的测算[33]。将采集到的抛撒地雷图像中抛撒地雷目标的像素坐标转化为实际坐标,从而在探测出地雷目标后,确定目标地雷到相机的实际距离。其垂直距离测量原理和水平距离测量原理如图3(彩图见期刊电子版)所示。图3(a)表示抛撒地雷目标在与相机垂直方向的示意图,其中红色线条部分为相机的探测区域,蓝色线条表示探测区域在图像中的成像高度,U-V表示像素坐标系,X-Y表示实际坐标系,θ为相机的垂直视场角,△θ为抛撒地雷像素坐标与最大像素坐标形成的夹角,H′表示图像高度,v表示抛撒地雷的像素纵坐标值;图3(b)表示抛撒地雷在相机水平方向的示意图,其中灰色区域表示相机的探测区域,x为抛撒地雷目标与中心轴线的距离,u为U轴上的像素坐标值,W表示抛撒地雷的图像宽度。
图 3 距离测量原理示意图Fig. 3 Schematic diagram of the distance measurement principle
根据几何光学成像原理和相似三角形的比例关系,将抛撒地雷像素坐标值转化为实际坐标值,确定抛撒地雷到相机的实际距离,抛撒地雷与相机垂直距离的测算公式为:
式中,(u,v)为抛撒地雷的像素坐标值,(x,y)为抛撒地雷的实际坐标值,H为相机的离地高度。
根据几何光学成像原理测算出抛撒地雷与相机的实际垂直距离y,将图像像素的水平坐标转化为抛撒地雷距离相机的实际水平距离,其测算公式为:
式中,l为实际坐标(0,y)到相机的实际距离,β为相机的水平视场角。
将利用以上模型测算出的抛撒地雷垂直距离y、水平距离x带入式(9),求出抛撒地雷到相机的实际距离L,即
开始对抛撒地雷测距之前,需要测量相机的近视场角α、离地面高度H。根据相机已有参数求出垂直视场角和水平视场角,其水平半视场角公式和垂直视场角公式分别为:
式中,γ为水平半视场角,W为图像宽度,L为图像高度,d为像素长度,f为相机焦距。
本文利用德国元奥仪器公司(PCO)的PCO.edge 4.2高速相机,镜头为尼克尔(Nikkor)D型定焦镜头,相机输出分辨率为2060 pixel×2048 pixel,成像波段为0.3~1.0 μm,像元尺寸为6.5 μm×6.5 μm,F数为1.8,物镜焦距为50 mm。本文用到的抛撒地雷为72式防坦克金属地雷(直径为31 cm)、69式防坦克塑料地雷(直径为28 cm)、58式防步兵橡胶地雷(直径为15 cm),直径为120~300 mm,厚度为30~50 mm,如图4所示。将以上已知量和检测出的抛撒地雷像素坐标值带入式(3)、式(4)和式(5)中,求出垂直距离。带入式(6)、式(7)和式(8)中求出物体的水平距离,通过式(9)测算出抛撒地雷到相机的实际距离。
图 4 实验用抛撒地雷Fig. 4 Scatterable landmines used in the experiment
为保证抛撒地雷探测的快速性,本研究采用嵌入式端的机器学习进行硬件设计,将抛撒地雷智能探测网络模型与抛撒地雷测距模型移植到FPGA硬件开发板中,组成26 cm×33 cm×15 cm的工控机,将微光相机放置于相机支撑架上并通过CameraLink数据传输线将相机与工控机连接,工控机通过数据线连接显示屏,抛撒地雷智能检测系统如图5所示。
图 5 抛撒地雷智能探测系统图Fig. 5 Diagram of the intelligent detection system of scatterable landmines
抛撒地雷智能探测系统搭建完成之后,选择户外路面作为实验场地,实验时间分别选为19:30、20:00、20:30、21:00、21:30、22:00 6个不同时间点;实验采用的测试地雷如上文。放置抛撒地雷时选择多种背景,包括水泥路面、矮小灌木丛、杂草丛、树林等;在测试地雷距离相机为5,10,15,18,21 m等情况下进行测距实验。
实验过程中,根据周围环境调节相机的曝光时间,手动调节定焦镜头光圈,使探测区域能够在相机中清晰成像,相机采集到的图像通过Camera Link数据传输线传输到工控机,利用抛撒地雷智能探测网络模型对采集到的图像进行检测,若探测到抛撒地雷目标,将其进行标注并返回抛撒地雷目标的像素坐标值。将构建的抛撒地雷测距模型利用C++编程语言编写为程序,输入的像素横坐标为抛撒地雷目标像素横坐标的平均值,输入的像素纵坐标为抛撒地雷目标中最大的纵坐标值,通过抛撒地雷测距模型进行计算,得到抛撒地雷的实际距离。
首先在抛撒地雷的测试集中进行测试,验证该模型的召回率和准确性;然后在不同环境(树林、矮小灌木丛、草丛、路面等)、不同时间(6~8月 份 的19:30, 20:00, 20:30, 21:00, 21:30,22:00)、不同天气(晴天、雨天、阴天等)的夜间户外坏境中进行测试,验证该模型的实时性与精确度;最后将测距模型测量出的抛撒地雷距离与利用激光测距仪测量的数据进行对比分析。利用抛撒地雷数据集中的训练集训练网络模型之后,得到不同背景下的测试结果,如图6~8所示。
图 6 72式防坦克金属地雷Fig. 6 Type 72 anti-tank metal landmine
该测试集共含有387张照片,其中能检测出抛撒地雷的照片数量为383张。图像中的抛撒地雷距离相机15~30 m,在夜间无主动照明条件下,人眼无法检测到远距离处是否有地雷,采用抛撒地雷智能检测模型可以快速检测出地雷位置。实验过程中使用的镜头的图像像素为2060 pixel×2048 pixel,像 元 大 小 为6.5 μm×6.5 μm,代 入式(10)和式(11)。另外,本文提出的成像系统中,相机的水平视场角γ=15.2531°,垂直视场角θ=15.1653°,近视场点与竖直方向的夹角α=73.3°,相机安装高度为H=1.29 m。本文将激光测距仪测量的数据作为实际距离并作为对照组,计算本文测距模型的测量数据误差,利用本文提出的测距模型测出的抛撒地雷的距离如表3所示。
图 7 背景为平坦地面的地雷Fig. 7 Scatterable landmines with flat background
图 8 背景为草丛的58式防步兵橡胶地雷Fig. 8 Type 58 anti-infantry rubber landmine with grass in the background
由表3可知,该算法存在明显缺点:在静态理想测量环境中,抛撒地雷距离相机越远,测量精度越低,测量误差越大。究其原因,由图3(a)可知,目标距离相机较远时,图像上的目标像素很小的变化就会引起较大的距离误差。
表 3 抛撒地雷测距实验数据Tab. 3 Experimental data of distance measurement for scatterable landmines
为修正本文测距过程过大的距离误差,对以上算法进一步优化,将α=73.3°,相机距离地面H=1.29 m时采集到的距离数据利用Matlab进行高斯拟合,得到实际距离与本文测算距离的拟合曲线如图9(彩图见期刊电子版)所示。
图 9 高斯拟合曲线图Fig. 9 Gaussian fitting curves
利用高斯拟合进行算法修正后得到的抛撒地雷测量距离与算法修正前得到的抛撒地雷测量距离间满足以下函数关系:
式中,LR表 示修正之后的算法测量距离,LM为修正前的算法测量距离。
利用式(12)进行算法修正之后,在4.66~22 m测距范围内,测量出抛撒地雷距离相机的距离如表4所示。
表 4 优化算法后抛撒地雷测距实验数据Tab. 4 Experimental data of the distance between the scatterable landmine and the camera after optimizing the algorithm
由表4可知,当抛撒地雷距离相机在600~2300 cm范围内时,优化算法后所得到的测量误差值在±10 cm之内,表明优化后的测距算法对抛撒地雷的测距精度较高。忽略手动操作误差,本文设计优化后的测距模型在600~2300 cm探测范围内满足抛撒地雷距离探测需求,适合应用于对抛撒地雷距离的测算。
本文提出的抛撒地雷夜视智能探测方法,运用YOLO(V2)算法构建抛撒地雷智能探测网络模型,实现对抛撒地雷的快速探测。利用几何光学成像的三角形相似性原理,实现对抛撒地雷距离的测算。设计并搭建了抛撒地雷智能探测系统,对不同类型的抛撒地雷在不同环境下进行检测与测距实验,得出如下结论:
(1)不同类型的抛撒地雷放置于不同背景环境下,在6~23 m范围内均可有效探测,且实时性强、检测精确度高、隐蔽性强;
(2)基于几何光学成像的三角形相似性原理,利用设计并优化后的抛撒地雷测距模型,在6~23 m测距范围内,测距误差在±10 cm之内;
(3)设计并搭建的抛撒地雷夜视智能探测系统在实验过程中体现了实时性好、稳定性高的特点,该系统中的成像模型可选用微光相机,能够在夜间被动式清晰成像,具有隐蔽性高、抗干扰性强等特点。