APP下载

基于多尺度整体嵌套池化语义的装甲目标检测

2022-03-18李海芳

激光与红外 2022年2期
关键词:池化金字塔尺度

邓 磊,李海芳

(1.四川幼师高等专科学校应用技术系,四川 绵阳 621700;2.中国工程物理研究院电子工程研究所,四川 绵阳 621900)

1 引 言

现有的制导方式大都采用图像制导,通过导引头内置的光电探测器获取视场内的图像信息,并通过人工锁定目标或自动检测目标实现探测并摧毁锁地面装甲车辆。随着作战形态的变化,有效摧毁敌方一切装甲车辆,是实现突防与突击的关键[1]。无论是机载空对地制导炸弹,还是地对地反坦克导弹,都必须降低对人工制导的依赖,具备“发射后不管”,以及超远射程的能力,以保护射手的安全。自动目标锁定是实现超远射程精确打击的核心技术,然而复杂战场环境下实现装甲车辆自动检测识别技术面临着诸多挑战,例如目标尺寸较小;背景复杂;检测效率不高等[2]。

为了提升超视距攻防应用中装甲目标的检测精度,国内外学者提出了诸多的智能检测算法。目标检测算法的基本架构大都是采用特征+分类器,其特征可以是局部二值模式(LBP)特征、尺度不变特征变换(SIFT)等人工特征,也可以是数据驱动的的深度特征[3]。Bunyak等人在利用红外与电视图像的互补特性,提出了多特征融合的目标检测技术,可以有效实现全天候全天时目标检测与识别[3];国防科大的石志广[4]利用支持向量机(SVM)对图像进行方向梯度直方图特征分类,通过暴力搜索实现目标检测,但该方法仅仅适用于尺度与模板相当的目标,虽然作者提出采用金字塔分解有助于提升多尺度探测能力,但该方法对复杂背景下的检测效率任然不高。由于人工特征的表征能力不足,不能适用于复杂的目标形态。国内外学者开始利用卷积神经网络进行高层次深度特征学习,提升目标检测的抗干扰能力。西南技术物理研究所雍杨[5]团队利用Zero-shot学习构建了不均衡数据集装甲目标检测网络,该网络能够自适应地从少量样本原始数据中逐层学习目标特征,实现不同装甲车辆的准确识别,在多次挂飞验证过程中效果较好,但对20×20以下目标识别精度较差。陆军装甲兵学院李国璋教授团队[6]提出了一种基于深度学习的目标检测模型YOLO-v3的改进模型ZQ-YoloNet,该模型在机载挂飞实验下对装甲目标的精准率和召回率分别达到了87.73 %和78.25 %,但该模型对部分遮挡的目标适应性较差,尤其是针对目标与背景对比度较小的情况下,识别概率极具下降。

虽然复杂陆战环境下装甲目标识别领域进行了大量的研究,但相关成果仅仅是作为目标辅助识别应用,仍然需要人在回路进行判决。尤其是弹炮结合的装甲车辆的防区提升,这就需要反装甲武器必须提早发现目标并超音速机动攻击目标的要害部位。这就需要识别系统能够从大尺寸图像中识别出弱小目标。然而,目标装甲目标数据集中目标的尺寸都较大,因此数据集覆盖范围的不足,使得目标识别精度难以显著提升。另一方面,装甲目标通常出现在丛林、沙漠、草原等复杂陆战场景上,另外装甲目标运动、炮口转向、烟雾、尾尘等造成图像干扰较大。此外,装甲目标采用涂覆、烟雾、热屏蔽进行伪装,这降低了目标与背景特征的区分能力。

总的来说,与其他目标检测问题相比,高精度与高效率的装甲目标检测更具挑战性。现有的检测模型很难直接应用到装甲目标检测。针对以上提到的挑战与现有模型的不足,本文提出了一个快速准确的装甲目标检测模型,该模型利用多尺度金字塔池化层提取的不同尺度特征,并获得不同的尺度下的语义池化语义;然后在此基础上进行边缘感知融合,利用装甲目标的形状先验找到感兴趣的目标区域,有效地提升目标的表征能力.仿真实验结果表明,本文提出的装甲目标检测网络模型可以有效地提高复杂战场环境中目标检测与定位的精度与效率,适合工程应用。

2 典型目标检测网络的网络架构

尽管边缘先验可以提升目标检测的精度,然而实际应用过程中,全局图像的边缘信息复杂,目标的轮廓特征并没有明显的可区分性,从复杂的轮廓中匹配出目标的边缘是一项非常有挑战性的工作,而且目标受遮挡、形变等干扰影响,其轮廓并不具有完整性[7]。即便现有的深度轮廓网络可以提取出完整的轮廓,但由于缺乏全局信息表征能力,仍然无法从复杂背景中分离出真实目标[8]。众所周知,中层视觉主要关注的是图像中的几何结构、内部细节与边缘轮廓,这也是目标识别的基础。整体嵌套卷积网络已成功地用于提取二维图像中目标的边缘结构,但是这些边缘特征并不具有语义信息,如何为图像内部的边缘轮廓分配标签,将一个整体场景分解成几个单独的实体是目前学者研究的重点[9]。HED模型是基于全卷积网络进行改进,并在每个卷积层采用多尺度深度监督以“指导”早期分类结果。全卷积网络只有一个输出损失函数,而HED则每像素都制定分类交叉熵损失函数,可以实现不同类别样本的目标识别,即边界与非边界,目标区域或非目标区域[10]。由于基于HED的网络结构已经成功地应用于显著目标检测,本文提出的算法在整体嵌套卷积网络的基础上学习地面装甲目标内部纹理特征及边缘轮廓特征,以实现目标全局定位及局部分割。

本文提出了一种基于多金字塔池化模型的整体嵌套卷积网络,该网络利用金字塔池化获得多个旁路输出层的不同尺度的全局结构信息,并利用不同分支的边缘感知通道进行有效融合,最终提升复杂背景下装甲目标的检测精度。本文所提的模型包含两个模块,即边缘感知融合模块与多金字塔池化模块,模型的详细结构如图1所示。为了增加模型的泛化能力与训练精度,本文提出将多分类的交叉熵损失函数与边界损失和分割损失进行综合相结合,构建加权损失函数。

图1 基于多尺度金字塔池化模型的整体嵌套卷积网络框架

2.1 多尺度金字塔语义池化网络

众所周知,人类之所以能够利用隐藏的线索挖掘出深层次本质信息,主要归咎于大脑能够对离散事物进行关联[11]。在目标检测领域,上下文信息可以为推断目标存在提供有用的提示,有助于实现弱小目标检测与增强抗干扰能力。除了装甲目标本身的形状特征、轮廓特征外,装甲目标周围的上下文信息也有助于判断其是否为装甲目标,包括目标所属的装甲集群,目标周围的其他装甲目标,装甲目标射击时的炮口和烟雾,以及装甲目标机动时带来的灰尘。所有这些上下文信息都提供了额外的信息来确定检测到的目标为装甲目标。

传统的目标检测方法只能获得显著性的疑似区域,无法准确检测出目标类型。此外,当装甲目标尺寸小于16×16时,经过多次下采样处理后,导致特征信息丢失,其最终特征图的空间分辨率不足以获得完成目标识别任务。文献[12]提出的金字塔池化模块由四个全局卷积尺度组成,能够获得不同尺度的高层次特征图。首先利用全局平均池化获得均值特征表示,然后引入三个具有不同大小的池化层以增强全局上下文信息。每个池化层增加一个1×1卷积层,以便将输入特征图的尺寸减小到1/4,并同时保持全局特征的权重。为了将低维度的特征图恢复到原始尺度,采用双线性插值构造出上采用层;最后,将四个尺度的特征级联起来,形成最终的金字塔池化特征。可以看出,金字塔池化模块能提取图像不同尺度的上下文信息,并融合成固定维度的特征用以训练CNN,获得比全局池化更具代表性的全局信息。因此,为了解决这个问题,本文利用上下文信息来提高对小型装甲目标的检测精度,通过引入空洞卷积思想,在保证卷积特征分辨率不变的基础上提高弱小目标的检测精度;同时,本文所提的模型也将通过多孔空间金字塔池化将多尺度上下文特征进行融合,增强目标的表征能力与抗干扰性能。

本文采用的主干网络是ResNet-50,具有四个重复叠加卷积块(Block-2,Block-3,Block-4,Block-5),通过在每层卷积块上增加金字塔池化模块,有利于进行多尺度卷积特征提取[13]。此外,该模块利用固定尺度的输入提取多尺度的特征表示,能够有效减少局部上下文信息的丢失。由于VGG的收敛速度与训练效率优于ResNet-50,本文选择ResNet-50作为骨干结构。ResNet-50由五个卷积块组成,每个卷积块包含多个残差连接。每个卷积输出特征图都是通过在输入特征图上对卷积核进行卷积获得的,定义为:

Fc(X;Wc)=Wc*X

(1)

其中,Wc表示卷积层的卷积核,并且省略了偏置项;X和Fc(X;Wc)分别表示输入和输出特征图。为了满足复杂场景下密集预测的需要,检测网络中去除了平均池化层、全连接层和分类层,通过连接两个卷积层的结果进行装甲目标预测,两个卷积层的大小分别为3×3×256与1×1×2;最后,通过双线性插值将预测特征图上采样到输入图像的大小。

P=I(Fs(X;W);α)

(2)

其中,X表示输入图像;P表示最终预测图。Fs是最后一个卷积层(conv7)生成的输出特征映射;I()表示参数为α的上采样插值层。ResNet-50主干网的输入图像为光电设备探测到的红外或者可见光图像,最终得到复杂背景下不同尺度的装甲目标检测结果。通过对最近的深度网络模型的分析,我们发现上下文信息在目标检测任务中起着重要的作用。全局上下文有助于区分不同的目标,而局部上下文可以突出目标的细节。

为了获得全局上下文特征,全局平均池化是常采用的方法,并已成功地应用于图像分类任务。然而,直接采用1×1全局平均池化获得特征不够精细,并且会丢失目标间的空间位置信息[14]。为了解决这个问题,本文利用金字塔池化模块捕获全局上下文信息,该模块可以将不同感受野信息融合进行融合,并整合多尺度特征来提取局部上下文信息,得到具有更明显的细节和局部边界。

本文采用的金字塔池网络包括四个金字塔池化模块,每个模块连接在每个卷积块的最后一个卷积层后面。每一个卷积块的输出特征映射与四个尺度金字塔特征级联,其等式如下所示:

Si=σ(Wi*Cat(Wi,1*PP1(Xi),…,Wi,n

*PPn(Xi))

(3)

其中,Xi(i∈{2,3,4,5})表示为第i个卷积块的输出;PPn表示在第n级的金字塔池化操作n∈{1,2,3,4},Wi,n表示1×1卷积的权重;σ表示激活函数。最终获得第i个旁路目标预测输出Si。由于输出的特征尺度变小,本文构造一个上采样层,通过双线性插值获得与输出图像相同大小的特征映射,然后将四个金字塔池模块的输出连接起来,形成最终的多尺度金字塔池化语义特征。

2.2 边缘语义感知模块

(4)

其中,lside表示用于侧边分支输出的损失函数,该损失函数在训练样本对中的所有像素上计算;αm用于调节不同尺度下侧边输出层的权值。值得注意的是,侧边输出层通过反卷积层连接到主干网络层,并且其参数被固定以实现双线性插值。由于该网络与FCN的上采样过程是相同的,且通过与每个像素的基准标签比较,可以计算出每个侧边输出层的交叉熵损失函数。同时,所有侧边输出层都是跨连接的,能够通过反向传播更新训练参数。由于训练样本的基准数据存在偏差,一些学者通过对每像素类增加一个平衡权重参数β,能够自动平衡正负类之间的偏差损失,这将抵消边缘/内部(y=1)和非边缘/外部(y=0)样本之间的不平衡。也就是说,等式(4)可以转换成类平衡交叉熵损失函数:

(5)

(6)

(P,w,h)=argmin(λside(P,w)+λλfuse(P,w,h))

(7)

其中,λ表示权值参数,设置为0.12。

3 实验结果及分析

3.1 数据集

目前国内外没有公开的复杂场景下装甲车辆目标数据集,大多数基于深度学习的装甲目标智能分析算法都是科研团队自行收集的数据集,其中以兵器209所唐中和团队牵头制备的数据集最为全面[16]。然而,这些数据集都未公开。因此,为了评估本文提出的基于多尺度金字塔池化模型的整体嵌套卷积网络装甲检测算法性能,选用了开源的汽车数据集(http://ai.stanford.edu/~jkrause/cars/car_dataset.html)进行迁移学习。项目组也在预研项目的支撑下,收集了大量影视作品中出现的外军装甲车辆。目前装甲车辆可以分为战斗车辆和保障车辆,其中战斗车辆有坦克、步兵战车、运输车、自行火炮、装甲侦察车、指挥车、装甲通信车等;保障车辆有坦克架桥车、装甲扫雷车、装甲抢救车、装甲救护车、装甲供弹车等。可以看出,若按照功能分类,装甲车辆的类别实在太多。因此,本文在现有数据集的基础上,将装甲目标分为履带式战车、轮式战车与保障车辆,如图2所示。值得注意的是,分类标准并不是唯一的,存在一些交叉结果。项目组也组织项目组成员对部分样本进行了标注,其标注依据如下标准:

图2 不同装甲目标示例

履带式战车:由履带驱动,携带大口径武器系统或导弹发射系统,具有明显的炮塔,如坦克、导弹发射车等。

轮式战车:由车轮驱动,携带大口径武器系统或导弹发射系统,大部分运行在公路上,如轮式火炮,6×6越野卡车等。

保障车辆:具备装甲车辆的所有属性,但没有大口径武器系统。如运兵车、雷达车、指挥车等。

表1展示了不同类别数据集的数量及标注数据。可以看出,本实验采用的数据集不均衡,其中装甲目标尺度范围从10×10像素到600×410像素不等。这对算法的鲁棒性与泛化能力提供了高的要求。

表1 数据集车型类别数量

3.2 实验配置及参数设置

本文提出的模型首先利用公开的基准车辆数据集进行预训练,获得收敛的网络参数,并将该参数作为初始参数训练本文提出的装甲目标数据集(如图4所示)。本文采用的主干网络是ResNet-50,具有四个重复叠加卷积块(Block-2,Block-3,Block-4,Block-5),通过在每层卷积块上增加金字塔池化模块,其中所有的数据样本都归一化到相同的尺度。本文所提出的网络模型采用PyTorch 1.2.0深度学习框架,并在Pycharm中编程实现,其编程语言为Python 3.6。深度网络采用的硬件平台是Intel(R)Xeon(R)W-2102 CPU @2.90 GHz处理器和GeForce GTX 1080TI用于加速。为了提高优化效率,模型训练方式采用Adam优化器对网络进行优化,其参数设定为:Alpha=0.001,Beta1=0.9,Beta2=0.999和Epsilon=10-8。训练过程中,加权损失函数的权值设置为 0.12。初始化设置学习速率为 0.15,首先将边缘感知模块训练到第 50 个 Epoch 时,然后对多尺度金字塔池化网络模块进行优化,并将学习速率调整到 0.015; 若到达 100 个 Epoch 后,本文所提的损失值不超过迭代阈值则停止训练。

3.3 评价指标

本文提出的深度网络模型的主要目的是检测出图像中的装甲目标,并识别出目标的类型,其核心功能是检测出装甲目标,在此基础上进行目标识别。因此本实验的性能分析也分为两部分:装甲目标检测功能与装甲目标分能功能。

在评估本文分类模型的性能时,实验采用检测精度(AP)与mAP(meanAP)作为与作为装甲车辆的评估指标,其中mAP(meanAP)是数据集中所有类别的的评估指标,其值越大表明模型对不同类型的目标识别越准确。目标检测任务中,检测结果存在表2所示的四种情况。可以看出,把正样本正确分类为真,表示为TP(true positive);把正样本错误分类为假,表示为FN(false negative);把负样本正确分类为假,表示为TN(true negative);把负样本错误分类为真,表示为FP(false positive)。因此,精确率与召回率可以采用如下等式表示,

表2 装甲检测结果统计量

Precision=TP/(TP+FP)

(8)

Recall=TP/(TP+FN)

(9)

为了更好地权衡精确率与召回率,本文引入了P-R曲线进行分析,其中P-R曲线下的面积就是检测结果的AP值。

3.4 性能分析

实验选用了目前目标检测领域性能较优的对比算法进行定性定量分析,分别是YOLO-v3[12]、SSD[17]、CoupleNet[18]、Cascade RCNN[19]、IM-Cascade[20]与ResNet[21],其中Cascade RCNN是基于RPN的两阶段网络,生成自适应的检测框;R-FCN 是基于区域生成的全卷积监测网络,但不包含全连接层,所以检测速度较快;CoupleNet 以 R-FCN 为基础,融合了多尺度特征信息,检测速度有所降低。所有的对比模型都能在Github上获得开源代码,由于不同代码间存在配置结构与平台的差异,其运行速度没有可比较性。为了便于公平的定性定量的对比,所有的模型都采用公共车辆数据集进行参数初始化,并使用相同的训练集进行微调与训练。

本文提出了一种复杂场景下装甲目标检测与识别网络,该网络利用金字塔池化获得多个旁路输出层的不同尺度的全局结构信息,并对不同分支的边缘感知通道进行有效融合,最终提升复杂背景下装甲目标的检测精度。为了验证该网络对复杂背景下的小尺度装甲目标的检测与识别性能,本文实验将从目标检测与分类识别两个方面进行性能分析,其中前者主要对装甲目标的检测结果进行准确度分析,后者则对装甲目标分类结果进行分析。

3.4.1 检测精度对比

表3展示了不同算法模型的检测结果。可以看到,Cascade RCNN与YOLO-v3在不同子集上的结果普遍较好,且结构类似。通过对实际测试样本检测结果分析可以看出,大多数漏检集中在戈壁环境下弱小目标,尤其是目标距离较远,且周边存在草垛的场景,大多数网络模型并不能准确的检测出目标所在的位置。在水泥路面或平整干净的地面场景下,大多数目标都能够准确的检测,但也存在视场角度导致采集的图像只存在一个斜面,最终出现漏检。真实的干净场景下的大型装甲目标的检测性能表现良好,但对低于20×20尺寸的目标,其获得的召回率和准确率要低得多,但也明显高于其他对比算法。

表3 不同装甲数据集下目标检测精度

众所周知,区域生成模块是基于深度网络的目标检测应用的核心步骤,能够生成有效的疑似样本区域。为了确保检测框覆盖所有疑似样本区域,就需要在图像的遍历各种尺度的区域。虽然目前区域生成网络可以获得疑似区域,比如显著性检测、聚类、泛洪等,但生成的样本仍然存在大量与目标无关的区域。因此本文提出了一种边缘语义感知模块,可以计算出每个侧边输出层的交叉熵损失函数,该网络以边缘轮廓为先验,能够提升目标识别的精度。图3展示了给定数目的样本集下每张图像内目标的样本数量,表征了目标检测算法在不同检测率下的统计结果。表3展示了不同方法对训练数据集的平检测精度。与其他方法相比,该模块在中小型装甲目标上具有更高的性能。从表中对比结果可以看出,相对于SSD与ResNet,所提模型分别提高了5.6 %和7.0 %的检测性能。结果表明,本文方法对不同尺度的装甲目标具有较好的检测识别能力。

图3 不同目标类别下的检测精度

3.4.2 识别精度对比

为了进一步验证多尺度金字塔语义池化网络在装甲目标检测中的有效性,本小节进行了基于多尺度上下文融合策略的消融实验。通过设置不同感受野尺度来分析语义特征的对性能的影响。显然,增加语义特征的网络可以提高低于20×20的小目标的召回率,这是由于是在较大尺度卷积特征往往具有更大的感受野,能够捕获装甲目标周围有更多的语义信息。对于小型装甲目标,主干网络中Block_2、Block_2、Block_4和Block_5能逐层提升目标表征能力。然而,并不是层数越多,表征能力约束。试验中增加Block_5后,其获得的召回率与准确度反而下降,这是是由于过拟合的缘故。

对于导弹接近目标或者机载设备飞临目标顶上时,目标呈现的尺寸相当的大,部分目标甚至充满整个视场。深度网络在获取区域生成候选样本时,会裁剪成不同大小的样本框,这种情况语义特征不能提升目标的检测精度。例如,感受野可能只覆盖到目标的局部区域,其召回率较低;相反,若目标在较小感受野内具有较大激活值时,其召回率较高。这也间接证实了语义特征仅仅对中小型目标检测有效,而对大型目标的检测性能提升不明显。因此,本文采用了多尺度金字塔语义池化网络在提取多尺度语义特征,能够获得较均衡的检测性能。

本文提出的装甲目标检测方法在很大程度上优于Cascade RCNN、IM-Cascade,其召回率和精确度分别提升了6.5 %与7.8 %。图4展示不同网络模型对不同型号和不同尺寸装甲目标的P-R曲线对比。可以看出,本文所提网络对履带式战车的检测精度优于轮式战车与保障车辆。值得注意的是,本文提出的网络引入空洞卷积思想,在保证卷积特征分辨率不变的基础上提高弱小目标的检测精度。另外,所提模型中区域生成网络并不是采用最大池化实现,而是利用多孔空间金字塔池化将多尺度上下文特征进行融合,增强目标的表征能力与抗干扰性能。尤其是针对小尺寸目标,其采用的空洞卷积可以弥补丢失的感受野,而不会降低整体轮廓提取的精度。从测试数据集的结果可以看出,本文提出的网络比Cascade RCNN在平均召回率上有了很大的提高。本文所提网络对大型装甲目标也有改进,这表明多尺度语义池化有助于提高对超大目标的检测能力。实验结果验证了本文所提网络在中小型装甲目标检测性能较好。

图4 不同类别识别精度的P-R曲线

以上分析可知,本文算法、Cascade RCNN和YOLO-v3是最优的三种算法。为了降低篇幅,本文定性对比部分仅对这三类算法进行分析。图5是不同对比算法对不同装甲目标检测的结果。由于不同类型的中小尺寸装甲目标并不具有明显的差异,5 km处的履带式装甲与轮式装甲目标轮廓特征类似,仅仅针对单幅图像很难准确区分。虽然类别上无法判断,但装甲目标的检测精度较高。装甲目标检测与识别是一个动态的过程,必须结合目标跟踪算法进行。从最开始发现目标开始跟踪,直到目标可分辨时进行准确识别,势必提升整体装备的应用效果。图5(a)中目标炮塔方向被遮挡,导致最终识别结果不准确,而本文算法可以结合轮廓信息进行判断,虽然可能识别错误,但能准确检测出目标。图5(b)与5(d)目标的轮子被杂草遮挡,最终识别出来是一个保障车辆,而本文模型能能够准确识别;图5(c)中目标被烟雾遮挡,导致其识别结果不准确,但这些图像的检测性能较好。即便是Cascade RCNN与IM-Cascade已经不能很好的检测出目标,但本文算法仍然可以标注出目标位置。主要归咎于本文所提算法融合了边缘感知网络和金字塔池化语义网络的优势,使得本文算法能够更好地适应目标的形态变化。

图5 不同对比算法的定性结果

4 结 论

为了提升复杂场景下装甲目标检测与识别的精度,本文提出了一种基于多金字塔池化模型的整体嵌套卷积网络,该网络利用金字塔池化获得多个旁路输出层的不同尺度的全局结构信息,并利用不同分支的边缘感知通道进行有效融合。仿真测试结果表明,本文所提的目标检测识别网络可以有效地提高复杂背景下装甲目标的检测与识别精度。由于本文使用数据集均是来自影视作品,因此未来的首要工作就是在此基础上进一步扩充数据集,并对网络结构进行优化和改进,尝试移植到海思Hi3559芯片进行外场挂飞,从而提升模型网络的实时性与工程应用效果。

猜你喜欢

池化金字塔尺度
基于高斯函数的池化算法
“金字塔”
卷积神经网络中的自适应加权池化
财产的五大尺度和五重应对
Great Vacation Places
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
金字塔是用金子造的吗
宇宙的尺度
9