基于深度学习网络的遥感图像异常检测方法研究

2023-12-30 15:17曹哲骁郭云翔
空间控制技术与应用 2023年6期
关键词:分类深度样本

曹哲骁, 傅 瑶, 王 丽, 苏 盈, 郭云翔, 王 田,5

1. 北京航空航天大学,北京 100191 2. 复杂关键软件环境全国重点实验室,北京 100191 3. 中国科学院长春光学精密机械与物理研究所,长春 130033 4. 武汉高德红外股份有限公司,武汉 430223 5. 中关村实验室,北京 100191

0 引 言

随着人工智能的迅速进步,尤其是深度学习技术的不断演进,航天高光谱遥感数据正迎来广阔的应用前景.这类数据具备成像覆盖范围广、光谱分辨率高、图谱合一等特性,是图像和光谱信息的有机融合[1].基于深度学习的人工智能技术方法的迅猛发展,有助于这些数据中的关键信息提取,应用于场景分类、目标检测等应用场景[2-3].

传统的目标检测和图像分割算法往往使用监督学习的范式,需要大量人力资源用于收集充分数量的目标类别图像样本,并对图像类别、目标位置或像素类别进行精确标注. 然而,在许多应用场景下,目标样本的获取十分艰难,存在正负样本不均衡的问题. 例如,对于表面缺陷检测任务,可供使用的数据集图像大部分表面并无缺陷,属于正常样本,而缺陷样本仅占数据集中的少数比例,同时,需要检测的缺陷种类却种类繁多,更可能有许多数据集中未包含但现实中存在的缺陷种类,使得可供如目标检测、图像分割等有监督训练范式的缺陷标签和对应样本严重受限[4].在这些情况下,由于目标类别样本的缺乏,传统的监督学习方法遇到瓶颈. 与监督学习相比,异常检测方法由于其无监督或半监督的范式,构建检测模型的方法对样本标签的需求小,对于数据集正负样本不均衡的情况十分适用,在制造缺陷检测,医学图像分析,视频监控,高光谱图像处理等领域有较高的研究意义和应用价值[5].

图像异常检测与典型的监督分类或检测问题不同之处在于对异常数据及其标签的获取受限. 因此异常检测器通常是在半监督或仅使用正常数据的单分类无监督设置下构建的. 由于异常模式的分布在模型学习过程中的未知性,模型在训练阶段学习正常实例的模式,并在测试阶段不能较好表示测试实例的情况下确定异常.

在图像异常检测问题中,传统的机器学习方法已经取得了较好的效果,并得到了广泛应用. 随着深度学习技术的不断发展,前沿的研究进一步将深度卷积神经网络与图像异常检测相结合,以提高检测效果. 根据机器学习模型是否由深度神经网络组成,目前主流的图像异常检测方法可分为两大类:传统的机器学习方法和深度学习方法.

基于传统机器学习方法的异常检测技术包含基于统计模型的异常检测方法,通常利用统计模型来构建图像中像素值或特征向量的正常分布模式,对于测试图像则通过与分布的距离判定异常与否. 使用高斯分布模型进行描述是较为常见的方法. 在高光谱图像处理应用中,REED等[6]将背景建模为高斯分布,并从图像场景中随机选择像素来代表背景统计数据从而检测异常. 然而,单一高斯分布模型对更为复杂的场景建模能力有限,为了避免这一劣势,VERACINI等[7]通过高斯混合模型对高光谱图像的背景像素进行正常模型建模,并通过在贝叶斯框架内开发的期望最大化算法,在参数估计过程中自动评估组件数量,最后使用广义似然比检验来检测异常.

基于深度学习方法的异常检测技术通常采用基于图像重构的异常检测方法,这种方法往往使用自编码器学习训练阶段正常输入图像的分布[6-7],在检测阶段通过重构图像和真实图像的重构误差作为异常评分,从而进行异常检测.

基于自编码器的方法被认为是过于完备的,存在着无法保证完全消除输入图像中的异常区域的问题[8-10].即在输入异常样本时,即使编码器得到的特征向量和正常分布相差较大,解码器得到的重构图像依然近似于输入,与输入图像的差异并不明显,导致这些异常样本存在被误判成正常样本的可能性. 为了解决异常样本重构效果不明显的问题,GONG等[11]提出的记忆强化自编码器在自编码器的特征空间上增加了记忆模块,将训练过程中最具有代表性的特征向量存储在模块中,并在重建时通过注意力机制的方式对特征向量进行处理,使重构图像的更加接近学习的正常样本分布;在高光谱图像处理应用中,HADGAN 等[12]引入了潜在对抗学习、一致性增强表示约束和收缩约束,使得编码器专注于重构大多数类别(即背景像素),在原始图像和重构图像的残差图上应用基于能量的空间和基于距离的光谱联合异常检测器,以获得最终的检测图,并提出了一种新的基于最小能量的波段选择方法,用于降低维度并辅助空间检测器进行检测.

近年来,基于深度学习方法的异常检测技术也采用了基于特征相似度的方法. RUFF等[13]提出的深度支持向量数据描述(deep support vector data description, Deep-SVDD)是这一类型的代表性方法. SVDD将正常图像样本的特征聚集在人为指定的特征中心点附近, 而由于缺乏对异常样本的学习,异常样本在特征空间中的特征并不符合正常样本的分布,往往远离正常样本的特征中心点,由此根据检测阶段样本与正常样本特征中心点的距离判断样本是否异常. 文献[14-15]结合传统方法和深度学习来进行异常检测,使用深度神经网络提取特征向量,用于描述异常检测的整个图像或用于异常定位的图像子块,在异常检测阶段利用传统的机器学习方法进行异常检测,产生了较好的异常检测和定位结果,但在高光谱处理方面应用仍存在空白.

本文采用了基于特征相似度的方法,将深度学习和传统方法结合得到异常检测方法. 遵循两阶段框架,使用自监督预训练的ResNet-18网络作为特征提取器,然后借助高斯密度估计实现对异常图像的分类,如图1所示. 并利用一种基于梯度定位的深度网络可视化解释方法GradCAM[16]解决了异常图像定位和算法可解释性问题.

1 特征提取模型

1.1 自监督学习方法

在第一阶段,通过自监督学习从普通数据中学习深度表示.

代理任务对于自监督表示学习至关重要. 虽然在现在已有许多流行的方法构建代理任务,包括旋转预测[17]和对比学习[18-19],但简单地应用现有的方法对于检测局部异常帮助较小,因此需要设计一种增强策略,创建局部不规则模式,然后训练模型识别这些局部不规则性,并希望它能在测试时推广到未知的真实异常. 一种常用的增强方法是Cutout[20],它可以擦除图像中随机选择的一个小矩形区域. 这个任务似乎很容易通过精心设计的低级图像过滤器来解决,但由于缺乏先验信息,深度卷积网络并不会学习这些捷径,因此可以学习局部异常信息.LI 等[15]针对实际缺陷检测任务缺陷一般含有拉伸变形,特殊的纹理构造,通过CutPaste模拟异常样本.

为了进一步防止学习用于区分增强图像和鼓励模型学习检测不规则性,如表1所示,模仿CutPaste的代理任务,使用如下所示的异常数据生成方法用于自监督训练:

表1 训练过程的 PyTorch-style 伪代码Tab.1 Pseudo code for training in Pytorch style

1)从仿真异常图像中随机选择一个样本,并可选地对其进行旋转或像素值抖动;

2)从正常训练图像中随机选择一个和样本大小相当的小矩形区域;

3)将异常样本粘贴在图像中.

对于生成的样本,通过特征提取模型进行特征提取,并连接一层MLP(multilayer perceptron),对特征进行二分类,特征提取和分类模型记为g(). 正常样本x的目标标签为0,异常样本xa的目标标签为1,使用交叉熵(cross entropy)损失函数进行训练,交叉熵函数和损失函数的定义如下:

CE(P,Q)=-∑P(x)logQ(x)

(1)

L=E{CE(g(x),0)+CE(g(xa),1)}

(2)

1.2 Resnet-18特征提取网络模型

ResNet是一种用于图像分类的深度卷积神经网络结构[21].其主要特点是使用了残差块(residual block)来解决深度神经网络中的梯度消失问题,从而使得网络可以更深,更容易训练.

假设输入数据x时,H(x)是神经网络期望的期望输出,由于学习难度大,直接把输入x作为初始结果,通过“捷径”传到输出,使学习目标变为残差F(x)=H(x)-x,相比H(x)更易于学习,则可以使网络稳定.残差块的计算方法如式(2)和图2所示.

图2 残差块Fig.2 Residual block

图3 ResNet模型网络结构Fig.3 Network architecture of Resnet models

图4 TG1HRSSC数据集样本数据可视化展示Fig.4 Sample display of TG1HRSSC dataset

H(x)=F(x)+x

(3)

近年Resnet作为计算机视觉的里程碑工作,广泛地应用于图像分类、目标检测和予以分割等任务. ResNet18是ResNet系列的一种轻量级结构,它是由18个卷积层和全连接层组成的深度神经网络,如图2所示.相对于VGG16[22]和AlexNet[23]等模型,其具有更少的参数,更快的训练速度和更好的性能. 适用于训练数据较少的异常检测任务.

2 异常评分和定位方法

2.1 异常评分方法

在第二阶段,评估输入数据的深度表示与正常数据的离群程度来得到异常评分.

目前存在各种通过单类分类器计算异常分数的方法,生成式分类器包括KDE、GDE等. 在本文中,在特征f上构建生成高斯密度估计器GDE[24]以作为分类器,其对数密度计算如下:

(4)

其中μ是训练集特征向量的中心,Σ是训练集特征向量分布的对称协方差矩阵,二者均从正常数据中建模得到.

计算样本的密度函数后,可以通过设置分类阈值的方法来判断样本是否异常,如图5所示,在蓝色圆形分类阈值内的样本被判定为正常,标记为蓝色圆点,而在分类阈值外的样本被判定为异常,标记为红色×号.

图5 异常评分方法可视化展示Fig.5 Display of anomaly score method

2.2 异常定位方法

在异常检测中,当模型通过预测任务学习图像的整体表征时,很难像生成模型那样通过重构误差进行异常定位. 因此,使用一种基于梯度定位的深度网络可视化解释方法Grad-CAM[16]来突出显示影响异常检测模型决策的区域.

Grad-CAM使用CNN模型的最后一个卷积层的梯度信息为每个神经元分配权重,以进行定位决策.

图6 Grad-CAM算法流程Fig.6 Overview of Grad-CAM algorithm

(5)

3 实验及结果

3.1 数据集

本文基于天宫一号高光谱遥感场景分类数据集[25],在测试集构建仿真异常数据,对异常检测模型性能进行了训练和评估.

天宫一号高光谱遥感场景分类数据集(TG1HRSSC)包括单波段的5 m分辨率的全色谱段,54个有效波段的10 m分辨率可见近红外谱段和52个有效波段的20 m分辨率短波红外谱段. 数据集包括9个典型场景,包括城镇、机场、养殖塘、河流、港口、湖泊、农田、林地和荒漠.数据集展示图像如图4所示,其中彩色图像由选择波段作为RGB通道的图像合成,灰度图像由单波段图像构成.可见近红外谱段中的近似真彩色图像使用29、19和6波段合成,假彩色图像使用52、29和19波段合成;短波红外谱段的假彩色图像使用23、11和37波段合成;使用全色谱段的灰度图像使用其单波段构成. 实验中,仿照数据集可视化方法,选用可见近红外谱段数据真彩色波段通道29、19和6组合,选用短波红外谱段数据假彩色波段通道23、11和37组合,分别用于合成RGB通道格式的图像,并按各谱段亮度峰值进行归一化操作,符合计算机视觉领域广泛使用的卷积神经网络学习所需输入图像数据格式.

由于城镇、机场和养殖塘等3类地物样本数量有限,较难满足深度神经网络对训练的数据量的需求,且场景与作为待检测异常的雷达样本有所冲突,因此本文参考数据集工作[25],选取河流、港口、湖泊、农田、林地和荒漠等6类可将雷达视为异常场景的场景类别进行模型训练和测试,并使用90°、180°和270°旋转,上下、左右和上下左右翻转进一步增广样本数据至原始数据量的7倍,并剔除了部分传感器导致成像脏污的样本数据.实验中,使用计算机生成的军事目标可见光仿真图像和网络收集的卫星拍摄图像作为构建异常样本的对象,包括雷达、飞机、车辆和坦克等类别.如图7所示.实验训练集与测试集划分比例8∶2,共记训练图像415张,测试图像103张,其中异常测试图像41张.

图7 用于构造异常样本的异常图像样本展示Fig.7 Sample display of anomaly image for anomaly sample construction

3.2 实验方法

遵循单分类检测的传统过程,即在正常数据上进行训练,得到特征提取器后,使用正常数据特征构建到单分类器,参考文献[26],使用ResNet-18作为骨干网络,连接一个3层MLP投影层来学习表示.

训练模型的输入图像尺寸为100×100,使用动量SGD优化模型参数,学习率为0.03,动量参数为0.9,batch size大小为64,训练500 epochs. 使用余弦学习率衰减计划和L2权重正则化,系数为0.000 03.在进行异常数据生成时,对异常样本应用随机旋转和颜色抖动进行数据增强,以增强特征表示的鲁棒性.

对ResNet模型采用3种训练策略:

1)直接在训练集上训练得到权重;

2)通过微调在大规模图像分类数据集ImageNet[27]预训练的权重,在前100 epochs 同时训练ResNet和MLP,在100~400 epochs冻结ResNet,训练MLP;

3)冻结ImageNet预训练权重,只训练MLP.

训练完成后,在测试集上进行验证,以检验自监督训练的有效性.

3.3 实验结果

由于异常检测本质上是一个单分类问题,传统机器学习中两类问题中的指标可以用来衡量异常检测模型的检测效果.然而,由于数据集的正常样本远多于异常样本,准确率和召回率均不适合用于作为异常检测的评价指标.但可以绘制接受者操作特征曲线(receiver operating characteristic curve,ROC)来比较异常检测模型的优劣.

如表2定义的混淆矩阵所示,每一行表示数据的真正归属类别;每一列中的数值表示真实数据被预测的类别.真阳性率(true positive rate,TPR)和假阳性率(false positive rate,FPR)为

表2 混淆矩阵Tab.2 Confusion matrix

(6)

(7)

在接受者改变分类阈值时,以假阳性率FPR为横坐标,真阳性率TPR为纵坐标绘制的曲线即为ROC曲线.ROC曲线到x轴的面积为曲线下面积(area under curve,AUC).

实验设置异常评分分类器为GDE,实验结果及与其他深度学习异常检测方法效果如表3所示. 其中本文和CutPaste方法可以引入ImageNet预训练知识,大幅提升检测准确率,在表3中用P表示. 本文所提出的异常检测算法可以提供优异的异常检测效果.

表3 异常检测实验结果Tab.3 Experimental results of anomaly detection

异常定位相关结果在图8中展示,图8中前4张可见近红外谱段图像分辨率为256 pixel×256 pixel,后6张短波红外谱段分辨率为128 pixel×128 pixel,可以看出自监督训练能帮助够定位图像中的异常信息,且有助于发现人类肉眼难以发现的异常.

图8 异常定位结果样本展示Fig.8 Sample display of anomaly localization

4 结 论

本文在CutPaste基础上提出了一种适用于遥感图像的异常检测和定位方法. 通过对正常数据和模拟生成的异常数据进行自监督分类,鼓励模型发现异常样本的特性,有效地训练了编码器的表征能力,使建模得到正常样本特征与异常样本产生较大差距. 在仿真数据集上展示出了优秀的图像标签级异常检测性能,直接训练的模型即可得到AUC 0.872 9的异常检测模型,引入ImageNet预训练知识后对异常检测的AUC可达0.999 6,并通过Grad-CAM展示了优秀的异常定位性能.

猜你喜欢
分类深度样本
分类算一算
用样本估计总体复习点拨
深度理解一元一次方程
分类讨论求坐标
深度观察
深度观察
深度观察
推动医改的“直销样本”
数据分析中的分类讨论
教你一招:数的分类