利用深度学习进行毫米波图像违禁物体识别∗

2020-10-09 02:48王卫民
计算机与数字工程 2020年7期
关键词:违禁品卷积人体

张 健 王卫民 唐 洋

(江苏科技大学计算机学院 镇江 212003)

1 引言

近年来,随着全球反恐形势日益严峻,机场、高铁、大型活动场所及政府要害部门等的安检排爆受到各国广泛重视。2018 年6 月26 日,民航局颁布《民用航空毫米波人体成像安全检查设备鉴定内控标准》及《民用航空毫米波人体成像安全检查设备违禁物品探测能力测试程序》,正式将毫米波人体成像设备纳入中国民航安检设备清单[1]。毫米波成像技术能够在不直接接触人体的情况下,有效检测出在衣物覆盖下藏匿于人体各部位的物品。此外,毫米波人体成像设备具有对人体无害、穿透力强的特点,其发射功率不及手机电磁波辐射的千分之一。未来,毫米波人体成像技术将逐步应用到机场安检中,毫米波人体图像中违禁物品的检测将是一个热门的研究课题。

2 相关工作

毫米波人体图像中违禁物品的检测方法基本可分为两类:基于图像分割和基于目标检测。基于图像分割的方法着重于图像的边缘特征,文献[2]通过基于灰度值等统计特征来分割毫米波图像中的违禁物品,该方法原理简单,实现速度较快,但其假设违禁物品与人体背景之间有显著的灰度差异,不适合检测与人体背景灰度值相似的违禁物品。基于目标检测的方法是利用深度学习技术对候选目标进行定位,并对候选目标进行分类,判断其是否是违禁品。文献[3]利用卷积神经网络提取毫米波人体图像的特征并用全连接层进行分类,相比于现有的方法,其算法真正例率更高,假正例率更低,但其利用滑动窗口截取局部毫米波图像得到可疑目标热度图,滑动窗口的方式使得截取的局部图像大量重叠,从而模型的检测速度将大幅降低。

深度学习是当今人工智能领域研究和应用开发的热点,最近在自然图像目标识别、演讲自动识别和机器翻译等极具挑战性的任务中均取得突破性成功[7]。文献[8]先将毫米波人体图像按照身体部位分割成17 个不同的区块(比如左前臂、右前臂,上胸部、肚子等不同的身体部位),然后用CNN对这些区块分别提取特征并用全连接层进行分类。相比于文献[4~6]等方法,其对违禁品的种类鲁棒性更高,但其识别效果受限于图像分割的结果。

针对上述采用深度学习技术解决毫米波人体图像中违禁物品检测的问题,本文提出一种基于CNN 和LSTM 的毫米波人体图像违禁物品检测的深度学习算法,首先对水平方向16 个不同视图的毫米波人体图像分别提取特征,然后利用LSTM 进行多视图图像特征融合,最后用全连接层进行分类,得出人体17 个不同的区块藏有违禁品的概率值。

3 数据集和评估方法

3.1 数据集

实验中的毫米波图像来自于Kaggle 比赛“Passenger Screening Algorithm Challenge”[9],数据集包含1247 个毫米波人体扫描图像,所有图像由新一代高清晰成像技术系统(High Definition-Advanced Imaging Technology,HD-AIT)生成。为了模仿实际扫描场景,毫米波图像由穿着不同服装类型(从夏天轻薄衣服到冬季厚重衣服),不同体重指数,不同性别,携带不同数量和不同类型的违禁物品的志愿者经HD-AIT扫描而成。

比赛数据共有四种数据格式,分别是.aps,.a3daps,.a3d,.ahi,所有格式都表示相同的扫描个体,它们是3D 图像的不同表示形式。实验中采用的是aps数据格式,每一个aps文件包含16张图像,它们是人体水平360°不同方向的扫描投影序列,共有16 个不同的视图,如图1 所示。身体被划分成17 个不同的区域,如图2 所示。对于每一个aps 文件,其真实标签(groud truth)为一个二进制编码序列,代表身体不同区域是否藏有违禁品。比如[1 0000 0000 0000 0000]表示区域1 藏有违禁品,其他区域没有违禁品。

图1 人体16张不同视图图像

图2 身体17个不同的区域

3.2 评估方法

评估方法为二进制对数损失函数:

4 方法

4.1 ResNet网络结构

AlexNet[10]、VGGNet[11]和GoogleNet[12]已被证明在图像分类任务上可以获得良好的效果。ResNet是何凯明于2015 年提出的CNN 结构模型,该方法以152 层的网络模型在ILSVRC2015 上获得第一名,将Top5 错误率降低到了3.75%[13]。本文采用ResNet50作为特征提取器。

ResNet50 是有49 层卷积层和1 层全连接层的神经网络,每个卷积层后紧跟一个批归一化层,后再接一个非线性激活层,只有第一层卷积层后面有一个最大池化层,最后一层卷积层后有一个平均池化层,神经网络的最后一层是有1000 个神经单元的全连接层,激活函数是SoftMax,用来分类ImageNet 1000个类别。层的类型解释如下。

卷积层:CNN通过卷积核将输入映射到特征图(feature map),特征图中的每一个神经元与输入的一小块区域(本地连接域)连接,本地连接域的大小由卷积核的大小确定,一层卷积层通常有多个卷积核。

每个神经元由卷积核的参数W 与本地连接域点乘得到,参数个数由卷积核的大小F 和输入的深度D 确定。为了降低网络参数,每一个特征图共享权重和偏置。从而神经网络的前向计算等价于卷积核的参数与输入的卷积,这也是卷积层命名的由来。

卷积层的激活函数使用的是ReLu 函数,f(x)=max(0,x)用ReLu 激活函数训练一个4 层的神经网络比用双曲正切函数Tanh最大能快6倍的时间[10]。

批归一化层:批归一化层介于卷积层与激活层之间,通过对模型各层的输入进行归一化操作,使得各层的输入保持稳定的分布,从而加速模型训练。训练同一个GoogleNet,使用批归一化比不使用批归一化快14倍[14]。

池化层:池化层一般在卷积层之后,对网络进行下采样操作,降低网络的空间尺寸,另外也减少了网络的参数和计算复杂度,还可以防止模型过拟合。ResNet 中只有第一层和最后一层卷积层之后有池化层,分别是最大池化层和平均池化层。最大池化层计算前一层中池化区域的最大值,平均池化层计算前一层中池化区域的平均值。

ResNet 的主要特点是残差连接,如图3 所示,输入x 经过多个卷积层、池化层之后得到输出F(x),加上恒等映射之后的输出变为F(x)+x。这样既没有增加参数数量也没有增加模型复杂度,且使训练特别深的模型成为可能。

图3 残差连接块

4.2 长短期记忆网络LSTM

循环神经网络(Recurrent neural network,RNN)是一类用于处理时间序列数据的神经网络。长短期记忆网络(Long short-term memory,LSTM)[18]是特殊的RNN,其已经在许多应用中取得重大成功,如无约束手写识别[15]、语音识别[16]、图像内容自动描述[17]。

LSTM 块如图4 所示。在浅循环网络的架构下,相应的前向传播公式如式(2)所示。更深的架构也被成功应用[19]。LSTM 循环网络除了外部的RNN 循环外,还具有内部“LSTM 细胞”循环(自环),因此LSTM 不是简单的向输入和循环单元的仿射变化之后施加一个逐元素的非线性。与普通的循环网络类似,没有单元有相同的输入和输出,但也有更多的参数和控制信息流动的门控单元系统。LSTM网络比简单的循环架构更易于学习长期依赖。

图4 LSTM循环网络“细胞”框图

4.3 网络设计

本文所使用的模型结构如图5 所示,ResNet 结构去除了最顶层的池化层和全连接层,加了一些卷积层和最后一个特征连接层,最后输出49664 维特征。

先用CNN对一个人的16张不同视图的毫米波人体图像分别提取特征,然后将这些特征看成是时序数据送进LSTM 模型,LSTM 模型输出的特征再经包含有17 个神经元的全连接层进行分类,最终得出人体17个区域分别藏有违禁品的概率值。

图5 人体毫米波图像违禁物品识别模型框图

4.4 数据预处理

为了使得毫米波人体图像中的违禁物品更容易被检测出来,需要提高图像的对比度。原始图像每个像素点的值介于[0,0.001],本方法对人体16张像分别作了图像灰度化,即将每个像素点的值均匀拉伸到[0,255],然后对每张灰度图像做直方图均衡化,从而提高了图像的对比度,灰度图与直方图均衡化后图像如图6 所示。最后,为了使模型能够快速收敛,在图像送进模型训练之前,对像做了均值为0,方差为1的操作。

图6 灰度图与直方图均衡化对比

4.5 数据增强

由于比赛方只提供了1247 个人的毫米波图像,对于深度学习模型的训练,数据量很小,因此,有必要做一些数据增强来扩增数据集。本方法做的数据增强方式有五种。

1)上下左右随机平移百分之一的像素点。

2)绕图像中心点顺时针或逆时针随机旋转1°~15°,总共15个刻度值。

3)随机放大或缩小,放大和缩小范围为95%~105%。

4)随机水平翻转图像。

5)随机明暗度调整,明暗范围为80%~120%。

需要注意水平翻转图像的同时,也要对标签做相应的翻转操作。标签中每一个位置上的二进制值代表着身体上固定的区域是否藏有违禁品,图像左右翻转后,对应的区域也相应改变了,标签也需要跟着一起改变。

其中单随机旋转一种操作就使原始数据集数量扩大了30 倍,本方法采用的实时数据增强,不需要提前对所有图像做好数据增强并保存到硬盘,不仅减小了硬盘空间的使用需求,提高了模型训练的效率,而且也极大地降低了模型过拟合的风险。

5 结果

数据集总共有1247 个aps 文件,实验中用于训练模型的训练集数量为1047,用于调整模型参数的验证集数量为100,训练集和验证集是随机划分的,剩下的100 个的aps文件作为测试集,用来评估模型训练的好坏,也是比赛的成绩依据。实验所使用的电脑配置:

操作系统:ubuntu 16.04,

CPU 型 号:Intel(R)Core(TM)i9-7900X CPU@3.30GHz,

显卡型号:GTX1080Ti,

内存大小:32G。

实验使用Python3.5 编程,利用深度学习框架Pytorch 搭建神经网络模型,训练时先用ImageNet数据集对CNN 模型进行预训练,然后再用比赛所提供的数据进行迁移学习。模型单张图像输入大小为660*512,训练模型用的优化器是SGD,每小批的数据大小为2,初始学习率为0.01,训练中每一轮按余弦函数方式降低学习率,总共训练了150 轮,此时的训练损失函数和验证损失函数都趋于平稳,且已收敛到最小值。收敛后的验证损失函数的值为0.02。图7 为训练损失函数值和验证损失函数值随训练轮数的变化曲线。模型训练时间为14 小时。

测试时,对输入图像做了和训练时一样的数据增强,结果取平均值。对于100 个aps测试集,最终结果提交Kaggle比赛,损失函数值为0.03。对于17个概率值,我们设定17 个阈值,如果概率值大于等于该阈值,则将该区块判定为藏有违禁品,否则判定为没有违禁品。经阈值处理后,各区块的正确率如表1所示,所有区块的识别正确率为99.76%。

图7 训练损失函数和验证损失函数值随迭代轮数变化曲线

表1 人体17个区域识别正确率

6 结语

提出了一种基于深度学习技术的方法来实现毫米波人体图像违禁物品识别。本文使用CNN 对人体的16 个不同视图的毫米波图像分别提取特征,然后用LSTM 对多视图图像特征进行特征融合,最后用17 路sigmoid 分类器得到人体17 个部位藏有违禁物品的概率值。各区块的概率值经阈值处理后,所有区块的识别正确率达到99.76%,验证了这种方法的有效性。实验的高正确率得益于CNN 结构的精心设计,摒弃池化层,减少模型空间信息的损失,另外利用LSTM 融合同一个人体的多视图图像特征促使识别效果更好。在下一步工作中,我们希望在实际安检场景下继续提高模型识别的准确度。

猜你喜欢
违禁品卷积人体
基于全卷积神经网络的猪背膘厚快速准确测定
人体“修补匠”
人体冷知识(一)
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
人体可笑堂
贪污罪的特殊对象研究
人体运动小知识
违禁品在这里