用于杂乱x射线安全图像目标异常检测的双卷积神经网络体系结构的评估

Evaluation of a Dual Convolutional Neural Network Architecture for Object-wise Anomaly Detection in Cluttered X-ray Security Imagery

摘要

x射线行李安全检查广泛用于维护航空和运输安全。特别令人感兴趣的是对特定类别的物体(如电子产品、电气产品和液体)进行自动安全X射线分析。然而,当处理潜在的异常物品时,手动检查这些物品是具有挑战性的。在这里,我们提出了一种双卷积神经网络(CNN)架构,用于复杂的安全X射线图像中的自动异常检测。我们利用region-based(R-CNN)、region-based CNN (Mask R-CNN)和检测架构(如RetinaNet)的最新进展,为感兴趣的特定对象类别提供定位对象的变体。随后,利用一系列已建立的CNN对象和细粒度类别分类方法,我们将对象异常检测公式化为two-class问题(异常或良性)。虽然性能最佳的目标定位方法能够在 six-class X射线目标检测问题上以97.9%的平均精度(mAP)执行,但随后的 two-class 异常/良性分类能够实现66%的目标内异常检测性能。总的来说,这种性能说明了在杂乱的X射线安全图像环境中,目标异常检测的挑战和前景。

1. 引言

x射线行李安全检查被广泛用于维持航空和运输安全,它本身就为操作人员提出了一项重要的基于图像的检查任务,即在有限的时间内检查紧凑、杂乱和变化很大的行李内容。随着全球旅游网络的旅客吞吐量的增加,以及对边境安全的更广泛方面(如货运、航运和邮政)的日益关注,这带来了一项具有挑战性和及时的自动图像分类任务。

为了促进有效的筛查,越来越多地采用通过扫描的X射线图像进行威胁检测,以提供对扫描的行李、货物和邮件的非侵入式内部视图。这产生了与通过双能量X射线扫描过程检测到的材料特性相对应的彩色映射X射线图像[1]。虽然目前X射线安检中的自动威胁检测集中于爆炸物威胁相关的材料识别[1],但越来越多的工作表明CNN架构在更广泛的基于对象的威胁检测方面的潜力[2]-[4]。在这两种情况下,威胁检测性能的特点必须是高检测率和低误报率,以保证操作的可行性。

在这种情况下,特别令人感兴趣的是电子产品、电气产品和液体[5]。这些物品不仅有许多不断演变的变种,而且它们还被包装在复杂和杂乱的环境中,导致了复杂的X射线图像解释问题。

虽然现有的安全扫描仪使用双能X射线进行材料识别,并突出显示与现有威胁材料轮廓[6]、[7]匹配的特定图像区域,但检测复杂物品中的一般性异常仍然具有挑战性[8] (例如,图1)。

在这里插入图片描述
在机器学习中,异常检测涉及学习给定数据源的模式或正态分布,从而检测与该规范[9]的显著偏差。异常检测是计算机视觉的一个重要领域,从生物医学成像[10]到视频监控[11]。在我们考虑x射线安全图像时,我们正在寻找表明隐藏或诡计的异常情况,而现实世界的对手可能会进化他们的策略以避免被发现。这种异常可能以不寻常的形状、质地或物质密度(即双能x射线颜色)的形式在外观空间中呈现(或隐藏)。或者,它们可能以语义形式出现,在x射线图像[13]中全局或局部出现不熟悉的对象。

考虑到在图像中全局检测这种细微异常的显著挑战,我们改用类似于人类的方法来说明针对此类项目的对象筛选的自动化管道-首先专注于定位场景(图像)中的对象,然后确定对象是否异常?

通过利用X射线安全图像中目标检测和分类的最新进展[2]-[4],我们提出了一种双CNN架构,该结构首先按类型分离液体和电子目标,然后对它们进行异常筛选。这项工作的主要贡献是针对对象的异常检测的双CNN体系结构,它联合利用state-of-the-art 联合对象检测和分割[14]来进行第一阶段的对象定位,随后将第二阶段的异常检测视为杂乱的X射线安全图像中的简单的two-class CNN分类问题。

2. 相关工作

在x射线行李安全图像中,考虑基于物体的威胁检测的研究工作稳步增加。Rogers等人[1]对该领域进行了全面的审查,包括行李和货物图像。在本节中,我们将重点介绍用于x射线安全图像中的自动威胁检测和异常检测的监督学习。

A. x射线图像中的自动威胁检测

x射线安全图像的早期工作是基于手工制作的特征,如Bag-of-Visual-Words (BoVW),它与支持向量机(SVM)等分类器一起应用,实现了0.7的召回率、0.29的精度和0.57的平均精度[15]。Turcsany等人[16]通过使用带有SURF描述符和SVM分类器的BoVW扩展了该方法,产生0.99真阳性率和0.04假阳性率。随后,BoVW进一步评估了单视图和双视图x射线图像[17],枪械(0.95)和笔记本电脑(0.98)的平均精度达到了最佳。在[18]的工作中,对BOVW中的各种特征点描述符进行了深入的探索,其中最优的组合在使用SVM分类器的两类枪支检测中达到了94.0%的准确率。

最近基于cnn的深度学习架构[19]-[22]在x射线安全成像[4]、[23]、[24]中的目标检测方面有了显著的改进。CNN在x射线成像方面的早期工作[2]探索了来自另一个接受分类任务训练的网络的迁移学习的使用。实验表明,仅通过对网络进行微调,带有迁移学习的CNN就能取得优异的性能,真阳性率为99.26%,假阳性率为4.08%。在[4]中进行了更广泛的实验,经验地证明了微调cnn比经典机器学习算法的优越性。

B. x射线图像中的自动异常检测

Sterchi等人[25]的研究表明,当安全人员将注意力集中在包内的每一件物品上,而不是集中在有威胁的物品上时,他们能够更好地检测出异常情况。通过同样的类比,在现场提出的异常检测算法在良性样本上训练,以了解哪些是正常的,在正常图像和异常图像上测试,以检测威胁。

之前在外观和语义异常检测方面的工作,认为独特的特征表示是杂乱x射线图像[26]中检测的关键组成部分。在x射线安全图像[27]的早期异常检测工作中,实现了两幅时间对齐的扫描x射线图像之间的块级相关分析。最近[28],使用自编码器网络检测了货运集装箱内的异常x射线物品,此外,通过使用卷积神经网络(CNN)提取的特征作为跨商业流包裹x射线图像[26]的正常状态的学习表示。Andrews等人[29]提出了集装箱图像异常检测的代表性学习方法。基于类似的思路,[30]的工作重点在于使用一种新型对抗性训练体系结构,基于仅在非异常(良性)商业x射线流图像上对抗性训练的生成器网络产生的高重构误差来检测异常。在后续工作中,[31]提出了另一种无监督的异常检测方法,通过使用跳跃式连接层设计,可以训练更高分辨率的图像,优化鉴别器网络中的潜在空间,从而获得更好的结果。

相比之下,这里我们考虑一个两阶段的方法,首先在x射线安全图像中分离出潜在的感兴趣的目标,作为一个目标检测和分类问题(章节III-A),然后通过应用基于CNN的图像分类进行二次异常检测(Section III-B)。

3. 建议的方法

我们的双CNN架构执行了两个阶段的分析:(a) x射线图像内的主要目标检测(Section III-A);(b)通过 two-class ({异常,良性})分类公式对每个检测到的对象进行二级分类(第三- b节)。我们的总体双CNN架构概述如图2所示。
在这里插入图片描述

A. 检测策略

我们考虑了一些当代CNN框架作为我们的主要目标检测策略,以探索它们在x射线安全图像背景下的广义目标检测的适用性和性能。即我们考虑Faster R-CNN [32], Mask R-CNN[14]和RetinaNet[33],其内部架构如图3所示。这些评估超过六类物体检测和定位问题,包括{瓶子、电吹风、熨斗、烤面包机、移动设备、笔记本电脑}物品包装在凌乱的x射线安全行李图像。
在这里插入图片描述
Faster R-CNN基于两阶段内部架构[32],如图3(a)所示。第一个阶段由一个区域建议网络(RPN)组成,该网络向第二个分类阶段提出感兴趣的区域。RPN由卷积层组成,这些层生成一组具有不同尺度和纵横比的锚点,并预测它们的边界框坐标,并给出一个概率分数,表示该区域是感兴趣的对象还是背景。Anchors 是通过使用一组固定的9个标准 axis-aligned bounding boxes 来生成的,它们以三种不同的长宽比和三种比例被定义在 feature maps 的每个位置。然后将这些特征输入到对象分类和边界框回归层。在第二阶段中,目标分类层对给定区域建议是目标还是背景区域进行分类,同时在整个检测过程的最后,边界框回归层对目标定位进行预测。

Mask R-CNN是Faster R-CNN架构的扩展,用于结合对象定位和图像对象实例分割[14]。Mask-RCNN同样依赖于通过区域提案网络生成的区域提案。Mask-RCNN follows Faster-RCNN模型,一个跟着区域建议网络的特征提取器,然后是一个称为ROI-Pooling的操作,以产生适合输入到二级分类器的标准大小的输出。Mask-RCNN和Faster-RCNN的主要区别依赖于三个因素。首先,Mask-RCNN用一个叫做ROI-Align的操作取代了Faster-RCNN中使用的ROI-Pooling操作,该操作允许构建非常准确的实例分割掩码。其次,Mask-RCNN增加了一个网络头(一个小的全卷积神经网络)来产生所需的实例分割,如图3(B)所示。最后,对分割和分类标签预测进行解耦;掩码网络头独立于用于预测正被分割对象的分类标签的网络头来预测实例分割。

RetinaNet是由Lin等人[33]提出的one-stage物体检测器,其中作者确定了类不平衡是[34]和SSD [35]等单级检测器架构的性能落后于Faster R-CNN和Mask R-CNN等两级检测器架构的关键原因。为了提高性能,RetinaNet采用了一种新的损失函数,称为Focal Loss,这使得它可以更多地关注类不平衡样本。RetinaNet使用带Focal Loss的one-stage网络架构,在准确性和运行时间方面实现了一流的性能。图3©描述了RetinaNet的总体架构,它由一个主干网和两个子网组成。主干网络负责在整个输入图像上使用特征金字塔网络(FPN)计算卷积feature map。随后,第一个子网对主干输出执行标签分类,而第二个子网执行卷积 bounding box 回归(即定位)。focal loss作为损失函数应用,如图3©所示。

B. 分类策略

在基于我们的检测策略(Section III-A)在x射线安全图像中检测到感兴趣的候选对象之后,我们的二级分类策略确定图像中定位的对象是否是{异常的,良性的}作为 two-class分类问题。

在此过程中,我们利用迁移学习的方法,既包括一组创新的CNN对象分类体系结构(SqueezeNet [36], vgg -16 [37], ResNet[20]),也包括根据[2]的x射线分类方法在ImageNet[38]上预先训练的,以及专门为细粒度(即子类)分类任务设计的CNN体系结构[39]。

我们特别采用细粒度分类方法进行异常检测,将良性和异常定义为所检测的主要对象类型的子类别(subcategories) (Section III-A)。在文献中,细粒度分类通常旨在将次要的视觉类别与主要的对象类别区分开来,如确定自然类别,如鸟类 [40][41],犬类[42]和植物[43]。

在我们的{异常,良性}分类问题中,成功细粒度分类的关键在于开发一种自动化方法,能够准确地识别一个异常项中的信息区域,以及每个区域属于整个对象的一个异常区域还是良性区域。

然而,标记区分区域需要大量手动注释,因此难以有效地进行缩放。为了避免这个问题,我们特别使用细粒度分类,在CNN框架内以端到端的方式学习区分性滤波器组,而不需要显式的额外对象注释[39]。这种方法通过学习一组卷积滤波器来增强CNN体系结构中的中级表征学习,每个卷积滤波器都经过初始化和区分性训练,以便捕获高度区分的子图像块。基于VGG-16网络架构[37],在第10个卷积层额外添加了滤波器,表示小到92×92的图像块,步长为8[39]。

4. 实验装置

在这一部分中,我们介绍了这项工作中使用的数据集、评估标准和CNN训练细节。

A.数据集

我们使用单视图传统x射线图像和来自双能量的相关假彩色材料映射来构建我们的数据集[44]。我们的X射线图像包括良性和异常物品,如笔记本电脑、手机、烤面包机、熨斗、吹风机和瓶子。为了引入异常,我们在这些物体中插入了杏仁软糖、螺丝钉、金属板、刀子等等,如图1所示。所有X射线图像都是使用 Gilardoni 双能X射线扫描仪(FEP ME 640 AMX,[45])在当地收集的。

每个异常物品都被放置在各种杂乱的行李物品中,这些物品涵盖了航空客舱行李中发现的全部范围和尺寸,确保该套行李很好地代表了通常在航空检查站安检处出现的此类物品。在扫描每个行李之后,x射线图像的总数是3534个图像。

B.评估标准

对于对象检测,通过平均精度(mAP)评估模型的性能,如在[46]的开创性对象检测基准工作中所使用的。为了计算mAP,我们为给定的ground truth 和每个检测到的bounding box计算并集上的相交面积,如下所示:
Ψ ( B g t i , B d t i ) = Area ⁡ ( B g t i ∩ B d t i ) Area ⁡ ( B g t i ∪ B d t i ) ( 1 ) \Psi\left(B_{g t_{i}}, B_{d t_{i}}\right)=\frac{\operatorname{Area}\left(B_{g t_{i}} \cap B_{d t_{i}}\right)}{\operatorname{Area}\left(B_{g t_{i}} \cup B_{d t_{i}}\right)} (1) Ψ(Bgti,Bdti)=Area(BgtiBdti)Area(BgtiBdti)1
其中 B g t i B_{gti} Bgti B d t i B_{dti} Bdti分别是检测 i i i 的ground truth和检测到的bounding box。假设每个检测都是唯一的,并将面积表示为 ψ ( B g t i , B d t i ) ψ(B_{gti},B_{dti}) ψ(BgtiBdti),然后我们通过 θ = . 50 : . 05 : . 95 θ = .50 : .05 : .95 θ=.50:.05:.95的范围设定阈值,给出逻辑 b i b_i bi,其中:
b i = { 1 , θ min ⁡ < Ψ ( B g t i , B d t i ) < θ max ⁡ 0 , a i < θ min ⁡ ( 2 ) b_{i}= \begin{cases}1, & \theta_{\min }<\Psi\left(B_{g t_{i}}, B_{d t_{i}}\right)<\theta_{\max } \\ 0, & a_{i}<\theta_{\min }\end{cases} (2) bi={1,0,θmin<Ψ(Bgti,Bdti)<θmaxai<θmin(2)
给定真阳性和假阳性,如 t i t_i ti f i f_i fi,其中:
t i = t i − 1 + b i f i = t i − 1 + ( 1 − b i ) ( 3 ) \begin{aligned} &t_{i}=t_{i-1}+b_{i} \\ &f_{i}=t_{i-1}+\left(1-b_{i}\right) \end{aligned} (3) ti=ti1+bifi=ti1+(1bi)(3)
精确 p i p_i pi和召回 r i r_i ri曲线可计算如下:
p i = t i t i + f i r i = t i n p ( 4 ) \begin{aligned} p_{i} &=\frac{t_{i}}{t_{i}+f_{i}} \\ r_{i} &=\frac{t_{i}}{n_{p}} \end{aligned} (4) piri=ti+fiti=npti4
其中 n p n_p np是阳性样本的数量。我们可以根据精确度和召回率曲线下的面积来计算平均精确度(AP):
A P = ∑ i n d p i △ r ( 5 ) A P=\sum_{i}^{n_{d}} p_{i} \triangle r (5) AP=indpir5
随后,我们可以通过对所有类 C 的AP值求平均值来获得mAP的值:
m A P = 1 C ∑ c = 1 C A P c ( 6 ) m A P=\frac{1}{C} \sum_{c=1}^{C} A P_{c} (6) mAP=C1c=1CAPc6
对于通过分类进行异常检测,我们的模型性能按照准确度(A)、精确度§、召回率®、F分数(F1%)、真阳性(TP%)和假阳性(FP%)来评估。

C. 训练细节

在我们的实验中,我们使用 [47] 的 CNN 实现作为我们的主要目标检测方法。我们的模型在 GTX 1080Ti GPU 上进行训练,通过随机梯度下降 (SGD) 进行优化,权重衰减为 0.0001,学习率为 0.0,迭代次数为 180k。

ResNet50 和 ResNet101 [20] 被用作检测的网络主干。当使用 ResNet101 作为主干时,我们将学习率降低了一半,并将训练计划的长度加倍,以促进在可用 GPU 的内存占用范围内进行训练。我们将数据集分为训练集 (60%)、验证集 (20%) 和测试集 (20%),使得每个分割都具有相似的类分布。我们还对每个样本执行缩放和水平翻转,以在训练期间扩充数据集。所有实验均使用 ImageNet 为各自模型 [48] 预训练的权重进行初始化。对于 Faster R-CNN 和 Mask R-CNN,RPN 的批大小设置为 512。

5. 结果与讨论

我们的双 CNN 架构的每个状态都给出了结果:- (a) 主要对象检测(表 I); (b) 每个检测到的对象通过wo-class{异常,良性}分类进行二次分类(表 II)。

在这里插入图片描述
在这里插入图片描述

A. 目标检测结果

I I I给出了使用Faster R-CNN、Mask R-CNN和retinaNet应用于第IV -A节概述的x射线安全图像数据集的六种对象类型(类)的对象检测结果。突出显示的AP/mAP表示为每个对象类获得的最大结果。

但是,也存在某些基于CNN的检测无法对威胁进行分类的情况,即,retinaNet无法检测到笔记本电脑(如图4C所示),而Faster R-CNN和Mask R-CNN可以检测到具有较高可信度的笔记本电脑(图4A和图4B)。总的来说,Mask R-CNN架构提供了优越的性能,ResNet101骨干网提供了跨所有架构的优越性能。带有ResNet101的Mask R-CNN产生97.9%的最高mAP,这为x射线安全图像中的对象实例分割建立了一个新的基准。

在这里插入图片描述

B. 异常检测结果

表II显示了我们的二次异常检测策略((Section III-B节)与简单方法的并排比较,前者是通过我们早期的对象检测方法(双CNN,表II-上)对已预先定位(分割)的对象进行操作,后者是在没有任何先前对象定位的情况下处理包含对象的完整X射线图像(完整图像,表II-下)。我们对所提出的细粒度分类方法的使用是针对前一种情况额外提出的,其中它表示细粒度子对象分类问题。

从表II中,我们可以观察到双CNN架构在统计准确度( A)、精确度( P) 、召回率( R ) 和真阳性率(TP)方面的卓越性能,该架构提供了图像中对象的预定位。这一观察表明,双重CNN模型可以令人满意地平衡两个互补网络的相互利益。通过在第一阶段进行目标定位,它有效地使得特征表示对于第二{异常,良性}分类任务更有意义(例如,更集中)。

然而,尽管取得了成功,我们还注意到表II中出现了大量的假阳性(FP)。有趣的是,最低的FP来自完整的图像,而不是双CNN处理管道(尽管整体性能比其他的低)。

各种对象的检测和分类的定性示例在图5中呈现。我们的方法受益于一些类别的性能,这些类别通常很容易通过大小和形状来区分(例如吹风机),而在较小的项目上性能较低,如表1所示
在这里插入图片描述

总的来说,这些结果说明了X射线安全成像中异常检测在图像或物体层面的挑战。

6. 结论

在这项工作中,我们评估了双CNN架构在杂乱的X射线安全图像中对多类物品{瓶子、吹风机、熨斗、烤面包机、手机、笔记本电脑}进行异常检测的有效性。我们关注两个子问题:第一,利用最近的进展对象检测来提供威胁项目的对象定位,第二,利用已建立的CNN和细粒度分类来确定异常或良性对象。实验表明,用ResNet101对X射线图像的Mask R-CNN进行微调,在物体检测的第一阶段产生97.9%的mAP。然而,虽然通过two-class分类问题进行的二次异常检测的实验结果{异常,良性}显示了双CNN架构的好处(TP: 76.86%准确率:66%),但假阳性检测仍然是一个重大问题(FP >10%)。总的来说,这说明了将异常检测视为对象分类问题的挑战,即使X射线安全成像中的对象检测最近取得了进展[4],当考虑到现有的非专业CNN架构时,这种挑战仍然很大。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值