吕弢,宋敏敏,洪文鹏,陈璟,符晓刚,吉亚平,桑学仪
(1.上海航天控制技术研究所,上海 201100;2.陆军装备部驻南京地区军代局驻上海地区第三军代室,上海 200031)
传统的外场红外数据处理一般如下过程:数据采集→当次数据分析→当次数据对比→结论,进行数据统计的内容一般为干扰灰度、干扰温度以及干扰波段内辐射亮度随投放后时间的变化。由于数据的分析和对比一般根据理论经验公式,数据分析结论和理论公式拟合时存在一定的差异,需要根据经验人为地去修正拟合关系;另外,外场数据采集试验及实验室仿真试验的管理手段弱、数据分散、缺乏标准化、数据分析水平不足,并且长期以来类似的数据在进行过一次处理以后往往就闲置下来。尽管前期利用数据库系统工具对这些数据的进行了简单管理和处理分析,如此庞大的数据对人工分析来说是非常困难的。针对以上问题,本项目拟将外场红外目标数据集中管理,构建外场试验图像数据的数据库,利用深度学习算法,从现有海量的红外图像数据中学习出有效的模型。
而2018 年之后,深度学习算法得益于算法水平和硬件性能的不断提升,其中CNN 类别的神经网络得到飞速的发展,依托结构深度和复杂度的依次递进,其在视觉领域的应用广度和精度得到很大提升,且其适配的视觉细分领域取得不错的效果。其中较为典型的就是图像识别方向上的深度学习应用,逐渐发展出3 种主流的目标检测框架:R-CNN算法、YOLO 算法以及SSD[1-6]算法。
R-CNN 算法能够在物体定位的同时检测出其类别,包括基于R-CNN 的快速算法Fast R-CNN 与Faster R-CNN,其缺点是R-CNN 系统在预测前需要生成候选区域,并且对每个候选区域都采用深度网络提取特征,导致系统的速度很慢,该系列算法无法满足实时性要求;YOLO 作为近几年来最为热门的识别算法之一,优势在于将目标识别问题直接简化为回归问题,有效降低计算量从而提高效率和性能,采用端到端的深度卷积神经网络一次性将目标的类别与位置及相应的置信概率预测出来,但是对小目标的检测效果较差,另外YOLO 对尺度变化较为敏感,且平均准确率(Mean Average Precision,mAP)指标与顶级的检测系统还有不小差距;SSD 算法则兼顾了以上两类算法的思想,在准确性和实时性两方面都有所改进。其继承了YOLO 中将检测转化为回归的问题,对于一张图片只需使用一次网络结构[7-12],此外使用了Faster R-CNN 的预先框(prior box)思路,加入基于特征金字塔(Pyramidal Feature Hierarchy)的检测方式,改善了检测精度。
这3 种方法包括其衍生的方法在通用图像检测上已经取得了不错的效果(见表1),但是也可以看到这些方法对一些特定目标的检测精度不高,比如船只;此外这些算法受限于数据样本,大部分针对物体大类进行分类,而无法对细分小类进行分类,尤其是无人机、舰船等一些目标。而武器领域的红外半实物仿真场景中对应的红外数据大部分是飞机、舰船、巡航弹等典型目标,且不同大类有不同细小分类。
表1 PASCAL VOC2012 测试结果Tab.1 Test results by PASCAL VOC2012
为此,本文从实际实战目标(飞机、装甲车、雷达、干扰等)、典型外场背景(天空、云层、地物等)红外数据中选择范围内挑选实战典型目标(无人机、舰船等),根据特定目标对象,选择YOLO 系列算法并针对应用场景进行改进,开展提取海量视频库中的目标红外辐射特征进行分类整理的具体方法研究,从而达到将来外场试验数据的自动分类入库功能。
本文利用图像特征挖掘技术对红外目标的辐射特性进行深层次研究,从采集到的海量红外数据研究挖掘关联关系、特征规律,改进YOLOv2 算法从而更高效精准地识别车、船、无人机、客机等类型的目标,有效支撑业务人员迭代提升制导算法,如图1 所示。
图1 红外目标数据挖掘原理Fig.1 Schematic diagram of infrared target data mining
YOLOv2 算法是基于YOLO 算法的改进版本,在精度和速度的综合考虑上较为均衡的,因此本文拟采用YOLOv2 实现端到端的目标检测,实现在准确率较高的情况下快速目标检测,因此本文选择YOLOv2 开展红外目标检测算法的研究。以下对YOLOv2 原理进行简要介绍。
YOLO 算法[13]采用端到端的深度卷积神经网络一次性将目标的类别与位置预测出来。针对图片开展网格分割(S×S),继而对单网格进行是否含目标预测和目标类别的概率预测,最终YOLO 网络会得到一个S×S×(B×5+C)的张量输出,其中,S为划分网格数,B为每个网格负责目标个数,C为类别个数。
作为回归类问题,YOLO 选用均方差损失函数(Mean Squared Error,MSE)作为整个网络结构的损失函数,其具体公式和含义业界均有详细解释,本文不做赘述。但YOLO 的v1 版本存在极大缺陷:①待识别图像尺寸必须与训练图像一致;② 同一图中,多物体识别时仅能识别一个。因此肯定不适合目前各类复杂的红外目标特性图像数据的识别。目前业界较为常用的是YOLOv2、YOLOv3 算法(v4、v5 算法加了太多假设条件因此不列入研究范畴)。YOLOv2 算法在YOLO 基础上引入了k-means 的锚框(anchor box)机制,并辅以Darknet-19 的主干网络结构模型,有效提升了精度和速度。YOLOv3 则提出了Darknet-53 主干网络,令整个网络结构达到100 多层,精度更是达到目前业界公认的顶尖水平。尽管YOLOv3 的精度优于YOLOv2,考虑到网络层级过多会大大增加后续将整个算法剪枝轻量化移植到人工智能处理芯片上的难度,因此本项目将以YOLOv2 框架为基础构建目标检测网络。YOLOv2 的检测流程如图2 所示,其中tx、ty为中心坐标;tw、th为尺寸宽高;置信度中PObject为检测框中是否包含目标,值为1 代表包含物体,相反为为图像真实标记窗口与检测窗口的交并比。
图2 YOLOv2 检测流程Fig.2 Flow chart of YOLOv2 detection
针对大多数红外目标特性图像存在成像分辨率低、变化尺度大、难以获得精细纹理信息等特点,直接采用YOLOv2 算法开展红外目标的识别效果并不明显,因此本文针对红外目标的特点进行算法改进。以下针对红外目标的YOLOv2 算法进行阐述。
针对红外目标特性图像特性,依据Faster R-CNN 和SSD 通过RPN 运算不同尺寸特征图来达到提升不同细粒度检测分辨率的逻辑,将较高分辨率特征与低分辨率特征的信息融合可有效提升小目标的检测识别概率。本文在原有算法基础上叠加中层(局部特征)、高层特征(全图特征),将细粒度和语义信息有效融合从而提升预测结果的准确性,结合红外图像不同粗细粒度特征,增加该目标识别算法的自适应能力。具体而言,本算法将YOLOv2 图像+卷积+池化+识别的网络结构改造成如下形式,将红外图像的高层轮廓特征作为图像识别的重要参考融合在识别判据中,如图3 所示。
图3 改进YOLOv2 网络结构Fig.3 Structure diagram of the improved YOLOv2 network
为提高网络对弱小目标的检测能力,项目引入融合多级特征图,让不同粗细粒度的特征参与目标检测,由此构成的改进YOLOv2 网络在红外图像大方位变化、弱小目标检测方面展现出十分优异的性能。以海上民用飞机检测为例,基于多级特征图融合技术改进的网络可以准确的检测和分类出直升机的正向飞行、侧向飞行以及处于弱小目标情况下的飞行图像,如图4 所示。
图4 改进YOLOv2 网络准确辨别直升机不同情况下的飞行图像Fig.4 Flight images of a helicopter obtained by the improved YOLOv2 network under different conditions
在基本的YOLOv2 算法中,图像划分网格往往是S×S的正方形式,导致对预测候选框中的2 个轴向上的密度是同等分布的,对红外目标类目标遗漏概率增大。对海上舰船目标进行特征分析,很明显其在X、Y轴向上的密度分布不同,X轴相对偏密,Y轴则较为稀疏。因此,在基础YOLOv2 网络中增加一个重组特征图,降低Y轴分布密度并增强X轴密度,重构为YOLOv2-P 网络,如图5 所示。
图5 基于横向候选框扩展技术的YOLOv2-P 网络结构Fig.5 Structure diagram of the YOLOv2-P network based on the scale-out technology
YOLOv2-P 网络[14]着重检测图像水平方向目标,大大降低了网络对目标,尤其是对具有遮挡特性目标的漏检率。以海面舰船目标为例,采用基于横向候选框扩展技术的YOLOv2-P 网络,有效检测并分类出舰船处于遮挡条件下的图像,如图6所示。
图6 基于横向候选框扩展技术的YOLOv2-P 网络有效检测的图像Fig.6 Effective detected images by the YOLOv2-P network based on the scale-out technology
利用改进式YOLOv2 网络[15]对战术武器的目标红外数据进行建模训练及测试验证,YOLOv2 算法训练流程图以及检测流程图如图7 所示。基于Tensorflow 的目标检测和分类算法,算法分为2 个执行文件:训练器(train.py)和检测分类器(yolo.py)。
图7 YOLOv2 训练流程Fig.7 Flow chart of YOLOv2 training
训练器:读取目录中的正负样本,采用GPU 对检测器和分类器进行训练,其中正样本已经进行了分类,分别放在不同的子目录下。
检测分类器:读取视频,对视频中的图像先用检测器进行检测(支持同时检测多个目标区域)、然后将检测到的目标区域传给分类器,由分类器进行目标分类,如图8 所示。
图8 软件实现及识别效果Fig.8 Software realization and recognition effect
依据上述设计思路以及参数设置,对已有的6组不同目标图像数据(类型分别为空客A350 客机、波音787 飞机、汽车、轮船、海上民用直升机、无人机)对基于改进式YOLOv2 的目标检测和分类软件进行了测试。6 组图像被分为训练集和测试集,具体数据信息见表2,测试结果如图9 所示。
图9 训练检测结果Fig.9 Results of training detection
表2 YOLO 算法训练样本Tab.2 Training samples of the YOLO algorithm
1)空客A350客机包含训练样本457例,波音787飞机包含训练样本97 例,汽车目标类型包含训练样本59 例,轮船目标类型包含训练样本1 484 例,海上民用直升机目标类型包含训练样本1 349 例,无人机目标类型包含训练样本573 例。背景提取出负样本673 例。
续图9 训练检测结果Continued Fig.9 Results of training detection
2)空客A350客机包含测试图片500例,波音787飞机包含测试图片200 例,汽车目标类型包含测试图片100 例,轮船目标类型包含测试图片1 000例,海上民用直升机目标类型包含测试图片1 000例,无人机目标类型包含训练样本500 例。背景测试样本500 例。
具体测试结果见表3。
表3 改进式YOLOv2 算法性能指标验证结果Tab.3 Results of performance index detection by the improved YOLOv2 algorithm
1)空客A350客机目标类型检测出500例,其中错误检测0 例,虚警率为0%;波音787 飞机目标类型检测出200 例,其中错误检测0 例,虚警率为0%;汽车目标类型检测出100 例,其中错误检测0 例,虚警率为0%;轮船目标类型检测出998 例,其中错误检测2 例,虚警率为0.2%;海上民用直升机目标类型检测出1 000 例,其中错误检测0 例,虚警率为0%;无人机目标类型检测出500 例,其中错误检测0 例,虚警率为0%。
2)空客A350 客机目标类型分类正确500 例,正确率为100%;波音787 飞机目标类型分类正确200 例,正确率为100%;汽车目标类型分类正确500 例,正确率为100%;轮船目标类型分类正确998 例,正确率为99.8%;海上民用直升机目标类型分类正确1 000 例,正确率为100%;无人机目标类型分类正确500 例,正确率为100%。
为验证改进式YOLOv2 算法提升整个模型性能的有效性,基础YOLOv2 上也在部门数据集上做了验证,见表4。
表4 基础YOLO V2 算法性能指标验证结果Tab.4 Results of performance index detection by the basic YOLOv2 algorithm
对比表3 和表4 可以看出,改进式YOLOv2 算法的分类准确率和虚警率明显高于基础版YOLOv2,特别是针对客机和舰船这两类X轴方向信息密度更大的目标,改进式YOLOv2-P 算法的优势更明显。而针对直升机这类X、Y轴信息密度分布较为均匀的目标,两者的性能较为一致,有效证明YOLOv2-P 改进型的优势。
本文针对武器领域红外目标识别的场景,选取实战典型目标(无人机、舰船等)作为研究对象,研究应用YOLOv2 算法识别红外目标的方法,并针对该类红外目标存在成像分辨率低、变化尺度大、难以获得精细纹理信息等特点,改进网络框架为基于横向候选框扩展技术的YOLOv2-P 网络以适配X、Y轴分布密度不均衡的情况,开发基于Tensorflow框架的YOLOv2-P 改进式目标检测和分类软件,并在实际外场获取的红外目标数据中进行验证。实验结果表明:本文的算法及开发的软件对典型目标(无人机、舰船等)红外识别能力较强,能有效支撑目标红外分类整理工作,开发的软件实现外场试验数据的自动分类入库功能,为后期设计师改进制导算法提供了技术支撑。