基于深度学习的X 光安检图像识别方法
2024-03-28张洪斌李嘉毅谢启胜通信作者
李 纯,张洪斌,李嘉毅,谢启胜(通信作者)
(北京首都国际机场股份有限公司 北京 101317)
0 引言
X 光安检机作为一种有效的非侵入式安检设备,已经被广泛应用于民航安检业务场景,用于检查行李包裹中的禁限物品[1]。 目前,检测行李包裹中危险品的最主要手段是检测人员直接观察和分析X 射线图像。 然而,在高流量场景下,由于安检员判图经验参差不齐、工作强度大、疲劳等因素,容易发生漏检现象。 因此,传统的人工查验方式已经逐渐无法满足查验和监管业务发展的需要。 随着近年来人工智能技术快速发展和持续突破,在计算机视觉、自然语言处理等领域取得了突飞猛进的进展。 尤其是在计算机视觉领域,以深度学习为代表的技术在针对静态图像和视频的目标检测能力也达到实用化水平,并广泛应用于安检、安防等诸多领域。
与自然图像相比,X 光图像有着目标混叠严重、有效样本稀缺的问题。 本文通过对基于深度学习的目标检测算法进行深入分析,提出一套专门针对X 光安检图像的禁限物品检测算法,并且对与之相关的数据收集和标定方案进行讨论。 在此基础上,开发相应的软硬件系统,实现与X 光安检机以松耦合方式对接,构造从X 光安检图像的输入、检测到输出的完整系统。
1 相关工作
1.1 基于深度学习的计算机视觉研究
在2012 年ImageNet 图像分类竞赛中,AlexNet 网络模型一举获得冠军,与第二名方法相比,分类精度具有压倒性优势。 在2013 年—2015 年的历届ImageNet 竞赛中,参赛者通过进一步优化网络结构和训练方法,不断刷新纪录。 2015 年诞生的深度残差网络采用分层预训练与批归一化结合的方法,通过引入单位映射网络分支,极大地增强了深度网络的表达能力,使得训练上百层的深层网络成为可能。 该模型在分类、识别等重要视觉任务中均取得巨大成功,而且其网络结构也成为后续深度网络的经典结构得以广泛应用。 在此阶段,除了图像分类任务,深度学习在图像分割和目标检测应用方面也取得了重大突破。
理论和算法研究方面,以谷歌等为代表的知名技术公司都将深度学习作为其智能设备的算法框架,并且在搜索、人脸识别、自动驾驶、语音识别以及其他各类智能设备的研发领域取得突破性进展。 在国内,百度、腾讯、阿里巴巴、京东等互联网及电子商务公司也对深度学习开展了深入研究,将研究成果应用于其各项智能产品及服务中。
1.2 人工智能安检行业应用
在安检X 光机图像智能分析方面,国内安检设备龙头企业同方威视率先发布针对安检X 光机的智能识别算法产品,首次实现针对X 光安检图像中禁限物品的识别。随后,公安部一所、中云智慧等安检设备提供商也在所生产的X 光机设备中提供了针对枪支、刀具等禁限物品的检测功能。 科大讯飞等监控设备提供商,通过外接视频设备,以接收X 光机监控屏幕图像的方式分析X 光安检机扫描图像,实现了对刀具等物品的自动识别[2]。 除此之外,很多学者和科研项目都将基于X 光图像的智能识别算法作为研究对象,在其模型中除了使用传统图像处理手段之外,还应用特征融合、注意力机制等新的技术手段。
2 基于深度学习的目标检测技术
目前,根据现有模型训练和检测环节中是否依赖卷积神经网络(convolutional neural network,CNN)的操作或运算,可以将现有目标检测模型分为“非端到端”和“端到端”两大类,区域卷积神经网络(region CNN,R-CNN)、目标检测算法(spatial pyramid pooling network,SPP-NET)和快速的基于区域的卷积神经网络(fast region-based convolutional network,Fast-RCNN)等模型都属于“非端到端”的模型,而YOLO(you only look once)算法、系统规格文件(system specification description,SSD)和YOLO-v2(you only look once version 2)实时目标检测的卷积神经网络等都属于“端到端”模型。 按照算法流程中是否具有明确的候选区域,提取环节检测模型又分为基于候选区域和基于回归两大类,其中YOLO、SSD 和YOLO-v2 都属于基于回归的检测模型,而其他算法都属于基于候选区域的检测模型[3]。
2.1 识别类别制定
本文围绕实际需求,从图像纹理、几何等特征是否明显且具有可区分性,以及图像样本获取难度等多个因素出发进行综合考虑,经过可行性论证,选择枪支、子弹、手雷、烟花爆竹、刀具、斧、拳刺、手铐、剪刀、压力容器罐、饮料瓶、玻璃瓶、保温杯、打火机14 个类别作为智能识别的禁限物品类别,图1 为禁限物品实物即X 光图像示意图。
图1 禁限物品实物即X 光图像示意图
2.2 基本模型结构
本文以YOLO-v2 模型为基础,进行针对性的改进,构造用于禁限物品识别的X-YOLO-v2 模型[4]。 X-YOLO-v2是以Darknet-19 作为基础网络结构,随后目标检测网络在Darknet-19 上进行微小改造得到的。 在该网络结构中,广泛采用视觉几何组(visual geometry group,VGG)模型的3×3 小卷积核卷积运算和网络中的网络(network in network,NIN)模型的1×1 卷积。 Darknet-19 网络具有19 个卷积层和5 个最大池化层,在每个卷积层之后都使用宽带网(broadband network,BN)进行特征归一化,激活函数均使用Leaky ReLU。 X-YOLO-v2 所采取的改进包括以下4 个方面:
第一,全卷积代替全连接。 X-YOLO-v2 利用具有小卷积核的全卷积层替换YOLO-v1 最后的全连接层,进行目标包围框预测。 该操作的实质即以局部特征代替全局特征来预测包围框,在一定程度上恢复局部包围框预测模式。 图2 为X-YOLO-v2 以全卷积模式预测目标包围框的示意图。
图2 X-YOLO-v2 以全卷积模式预测目标包围框的示意图
第二,加密网格。 X-YOLO-v2 将YOLO-v1 的7×7 网格划分加密到13×13,网格单元数量增加到将近4 倍,因此增大了能够产生包围框位置的密度。
第三,锚点机制。 使用类似Faster R-CNN 和SSD 的锚点机制,X-YOLO-v2 也在卷积特征图的每个位置上绑定若干个具有不同尺度、不同长宽比的预定义包围框,最后用来预测的卷积特征图为与之对应的包围框位置变换参数、置信度和目标类别概率。 图3 示意了X-YOLO-v2 在某一位置绑定5 个锚点的示意图。
第四,独立类别概率。 X-YOLO-v2 改变了YOLO-v1这种仅在每个网格单元预测一套目标概率的方式,而是为每个包围框都预测一套独立的目标类别概率,使得每个包围框都具有了独立检测目标的能力,大幅度提升了模型对真正目标捕获的可能性。 图4 为YOLO-v1 和X-YOLO-v2在预测结果编码方面的对比。
图4 YOLO-v1 和X-YOLO-v2 预测结果编码方式对比
X-YOLO-v2 将网格的密度从7×7 加密到13×13,最终以一个尺寸为13×13 的卷积特征图实现目标检测。 尽管13×13 尺寸的特征图对检测大目标已基本足够,但是对于小目标的检测还需要使用更精细的特征图。
2.3 模型训练
整个X-YOLO-v2 的训练包括分类网络预训练和目标检测网络训练两方面内容。
(1)分类网络的预训练:X-YOLO-v2 训练的第一步是基于ImageNet 分类任务数据集进行网络预训练。 在本步操作中,包括基于低分辨率的预训练和基于高分辨率的参数微调两个环节。 首先,X-YOLO-v2 采用Darknet-19 网络架构,以ImageNet 的1000 类分类任务数据集作为训练数据,执行分类模型预训练。 为了避免在目标检测模型训练的过程中,直接以高分辨率图像作为输入会与低分辨率图像训练得到网络参数之间存在不匹配现象,X-YOLO-v2 将执行基于ImageNet 高分辨率图像数据集的分类网络参数微调,该训练数据集的分辨率为448×448,本环节的参数微调共执行10 轮迭代。 该环节可以认为是一个介于低分辨率分类模型与高分辨率目标检测模型之间的具有过渡性质的高分辨率分类模型。
(2)目标检测网络训练:在进行目标检测训练时,XYOLO-v2 首先对Darknet-19 网络进行改造,使其输出从分类任务切换至目标检测任务。 与所有目标检测模型的训练流程相同,X-YOLO-v2 目标检测模型训练的第一步操作也是完成锚点包围框与人工标定的标签(ground truth,GT)包围框之间的匹配,即建立二者的对应关系以实现进一步的监督训练。 首先对于任意一个目标GT 包围框,判断其中心位置落在哪个网格单元中,包含GT 包围框中心的网格单元即“负责”预测这个目标。 在获得“负责”网格单元后,对该单元预测得到的k个锚点包围框分别与该GT 包围框计算交并比(intersection over union,IoU),其中具有最大IoU 的锚点包围框即为“负责”包围框,其余的所有锚点包围框都为“非负责”包围框。 图5 展示了XYOLO-v2 模型中锚点绑定方式的示意图。
图5 X-YOLO-v2 锚点绑定方式示意图
在完成上述包围框匹配工作后,即可以构造损失函数来监督目标检测网络的训练[5-6]。 X-YOLO-v2 的损失函数大体上包括3 部分,形式为其中为位置损失函数,定义为式(1)所示。
式(3)中,pi,j[c] 和p^i,j[c] 分别为第i个网格单元的第j个包围框的预测类别和与之对应的GT 类别。
2.4 模型测评
利用训练得到的X-YOLO-v2 模型在测试图像数据集上进行测试,得到针对14 个识别类别的检出率和误报率两个评估指标[7]。 测试结果如表1 所示。
表1 X-YOLO-v2 模型测试结果
X-YOLO-v2 模型的平均检出率为85.4%,平均误报率为2.4%。 从表1 可以看出,X-YOLO-v2 针对枪支、剪刀、压力容器罐、打火机4 种违禁品的检出能力较强,且模型的整体误报率较低[8]。 图6 示意了X-YOLO-v2 模型在不同背景下,针对剪刀、打火机、压力容器罐、塑料饮料瓶4种典型目标物的检出情况示例。
图6 X-YOLO-v2 模型在不同背景下,针对剪刀、打火机、压力容器罐、塑料饮料瓶四种典型目标物的检出情况示例
3 结语
综上所述,本文围绕民航安检X 光机智能识别任务涉及的一系列重点流程和方法开展研究工作。 具体来说,本文从数据采集方法与标注、训练样本数据集的构建、针对安检X 光机的违禁品检测和智能分析系统的集成4 个具体方向开展了深入研究。 首先,项目按照民航安检实际需求,并结合X 光图像特征进行了深入的需求论证,确定纳入智能识别范围的14 种违禁品目标;其次,在算法模型开发方面,本文基于YOLO-v2 改进得到X-YOLO-v2 模型,并且给出精度和速度评定指标;最后,对提出算法进行了实验。
未来的研究工作包括以下两个方面:①进一步增加违禁品识别的类别。 本文实现的违禁品类别为14 种,与民航安检场景所需的类别相比,算法支持的违禁品种类数量仍然存在较大差距;②进一步提升算法对违禁品识别的精度。 在某些违禁品种类上,算法的识别能力还有很大的提升空间,表现为检出率不够或误报率过高,抑或是两者兼有。 因此需要对算法不断进行改进以提升其实用性。