计算机系统应用  2020, Vol. 29 Issue (6): 126-131   PDF    
基于改进CNN的部队门禁系统
何伟鑫1, 邓建球1, 方轶1, 丛林虎1, 李俊达2     
1. 海军航空大学 岸防兵学院, 烟台 264001;
2. 91213部队, 烟台 264001
摘要:针对部队武器仓库等重要场所的门禁管理方式安全性较低等问题, 设计了基于改进卷积神经网络的门禁系统. 首先对卷积神经网络进行介绍, 引入PSO算法设计优化的卷积神经网络的初始权值以及阈值. 然后对手写数字数据集进行分类实验. 实验结果证明, 基于PSO算法的卷积神经网络改进方案能够使得训练过程收敛速度较快, 损失较小, 效果优于传统卷积神经网络. 在此基础上, 根据部队实际工作情况, 将粒子群算法应用于MTCNN以及孪生ResNet算法, 设计基于改进卷积神经网络的门禁系统, 使得部队重要场所的门禁管理具有更高的安全性和可靠性.
关键词: 卷积神经网络    粒子群算法    深度学习    人脸识别    武器仓库    
Force Access Control System Based on Improved CNN
HE Wei-Xin1, DENG Jian-Qiu1, FANG Yi1, CONG Lin-Hu1, LI Jun-Da2     
1. Coarst Guard College, Naval Aeronautical University, Yantai 264001, China;
2. Troops 91212, Yantai 264001, China
Foundation item: National Natural Science Foundation of China (51605487)
Abstract: The access control management methods for important places such as military weapons warehouses are insufficient in security. In order to solve the defects, we design an access control system based on improved convolutional neural network. This paper first introduces the basic knowledge of convolutional neural networks, then introduces Particle Swarm Optimization (PSO) algorithm to design and optimize initial weights and thresholds of convolutional neural networks. After designing, experiment with the MNIST handwritten digital dataset is carried out. The results demonstrate that the modified convolutional neural network can make the convergence speed faster, and the loss is smaller, so the outcome is obviously better than the traditional convolutional neural network. On this basis, according to the actual working conditions of the troops, PSO is applied in the MTCNN and SIAM-ResNet face detection algorithm, the access control system based on improved convolutional neural network is designed, which makes the access control of important places in the army have higher security and reliability.
Key words: CNN     PSO     deep learning     face recognition     weapon warehouse    

部队内部存在着众多保密性级别极高的场所, 如弹药库, 军械仓库, 导弹库等, 而当前这些场所众多采取门岗值守, 亦或者输入密码, 出示证件的方式进出, 但这样的方式存在着较大的安全隐患, 较易被冒充, 亦或者门岗粗心大意等, 致使无关人员进入保密重要保密场所. 所以, 设计一种安全性识别度较高的门禁系统迫在眉睫.

近年来, 计算机技术迅猛发展, 人工智能已经遍布于人类生活的方方面面. 而计算机视觉是人工智能的重要研究方向, 也是人脸识别、姿态辨析、行为检测等众多领域的奠基石. KNN是适用于小数据集的非参数分类方法. 反向传播算法利用大规模样本进行训练. 样本输入进神经网络提取其特征, 得到模型, 从而可预测陌生数据, 但收敛速率缓慢[1]. LeCun等提出LeNet-5模型[2], 通过测试MNIST数据集, 获得较好性能. 卷积神经网络是基于视觉神经机制设计的多层感知器[3], 但训练过程易产生过拟合. 2006年, 深度学习概念[4]被Hinton等提出. 2012年, AlexNet获得ImageNet竞赛冠军[5]. 目前, 计算机视觉技术广泛使用基于卷积神经网络的深度学习模型[6], 故基于卷积神经网络设计人脸识别系统, 应用于部队重要场所是一种可行的方法.

1 卷积神经网络与PSO算法 1.1 卷积神经网络

CNN一般包括输入层、卷积层、激活层、池化层、全连接层和输出层, 如图1所示. 数据通过输入层输入, 而后进行预处理. 卷积层以及池化层提取有用信息[7]. 在激活层中, 激活函数对运算的结果进行平滑, 加入非线性运算. 全连接层整合有用信息, 对结果进行分类和预测.

图 1 卷积神经网络示意图

CNN的优缺点:

(1) CNN应用了权值共享以及感受野技术, 层与层之间的连接为不完全连接, 极大缩小了权值数量, 提高运算效率.

(2) CNN的卷积层和池化层交互进行, 高效地融合特征提取及分类过程.

(3)这种网络结构使得图像具有很强的鲁棒性[8].

但是, 传统卷积神经网络在反向传播过程中采用梯度下降算法, 会产生如下两个弊端:

(1)梯度下降过程, 误差减小慢, 造成训练收敛速度慢.

(2)可能存在梯度消失现象[9].

1.2 PSO算法

粒子群优化算法在当前的社会生活中被广泛的应用. 其原理为: $p$ 维空间存在着规模为n的粒子群. 粒子数量为种群规模, 即鸟的个数. 第 $i$ 只鸟即粒子群中第 $i$ 个粒子的速度和位置可以用 $ {v_i} = \left( {{v_{i1}},{v_{i2}}, \cdots ,v_{ip}} \right)$ ${x_i} = $ $ \left( {{x_{i1}},{x_{i2}}, \cdots ,x_{ip}} \right)$ 来表示, 每个粒子都具有独自的适应度f, 适应度的大小为每只鸟与食物的间距, 依据粒子的适应度能够更新粒子群中每个粒子的个体极值Pb及群体极值Gb, 而后利用个体极值和种群极值计算粒子速度和位置[10], 计算公式为:

$ \begin{aligned} {v_{ij}}(t + 1)= &{{{w}}_g}{v_{ij}}(t) + {c_1}{\varepsilon _1}\left( {{P_{bj}}(t) - {x_{ij}}(t)} \right) \\ &+{c_2}{\varepsilon _2}\left( {{G_{bj}} - xij(t)} \right) \end{aligned} $ (1)
$ {{x_{ij}}(t + 1) = {x_{ij}}(t) + {v_{ij}}(t + 1)} $ (2)

式中, i为种群的第i个粒子; j为第j维空间; c1, c2表示学习因子, c1表示个体部分, 即本身对寻优的影响, c2表示全局部分, 说明粒子受粒子群的影响; t表示第t次寻优; ε1, ε2表示平均介于[0, 1]间的随机数; $ {{{{w}}_g}}$ 表示惯性参数即受上一次迭代过程速度的影响[11].

2 CNN的改进方案 2.1 CNN前向传播

卷积神经网络训练过程首先进行前向传播. 主要有卷积层、激活层、池化层、全连接层及输出层.

在卷积层中, 对输入特征图进行计算, 计算公式如下:

${a^l} = \sigma ({{\textit{z}}^l}) = \sigma (\displaystyle\sum {{\textit{z}}_k^l} ) = \sigma (\displaystyle\sum\limits_{k \in N} {a_k^{l - 1}*\omega _k^l} + {b^l})$ (3)

式中, $N$ 输入数据, $ {a_k^{l - 1}}$ 为第l–1层第k个数据, $\omega _k^l$ 为权重, σ是激活函数, 这里我们使用ReLU函数, 偏置为 $ {b^l}$ .

池化层用来缩减表示大小, 提高计算速度, 同时提高提取特征的鲁棒性[12]. 池化方式一般分为max-pool以及mean-pooling. 两种池化方式示意图如图2, 图3所示, 其中过滤器参数 $f = 2$ , $s = 2$ .

通过全连接层得到输出. 输出公式为式(4).

$y' = {\sigma _n}( \cdot \cdot \cdot ({\sigma _2}({\sigma _1}(x \cdot {\omega _1}){\omega _2})) \cdot \cdot \cdot ){\omega _n}$ (4)

其中, σ为每层的激活函数, 需要指出的是目前用于分类最后一层一般采用Softmax激活函数以及one-hot编码, $\omega $ 为卷积核.

得到输出结果后, 做误差计算. 使用交叉熵损失函数公式(5):

$J({y'_k},{y_k}) = - \sum {{{y'}_k}\log {y_k}} $ (5)

$y'$ 为输出的预测值, y为经过独热编码输出的(0, 1)值.

图 2 最大池化

图 3 平均池化

2.2 PSO算法优化神经网络

传统CNN在前向传播过程中获得误差之后, 对权重及偏置求得偏导, 更新权重以及偏置, 权重和偏置的更新过程遵循的原则为式(6)、式(7):

$ {{\omega _{\rm new}} = {\omega _{\rm old}} - \alpha \frac{{\partial J}}{{\partial \omega }}} $ (6)
$ {{b_{\rm new}} = {b_{\rm old}} - \alpha \frac{{\partial J}}{{\partial b}}} $ (7)

由式(6)及式(7)可以得知, 传统卷积神经网络存在着较大缺陷, 如梯度消失, 收敛速度慢, 容易陷入局部最优等. 但神经网络算法存在对初始权值和阀值较为敏感、容易陷入局部极小值和收敛速度慢等缺点.

本文利用PSO算法优化CNN神经网络初始权值和阈值, 能够改善神经网络性能. 将神经网络卷积核系数、全连接层权重以及偏置值当做粒子, 此时粒子个数即为网络中需要训练的参数数量.

在利用PSO神经网络算法中, 粒子自身最优点以及全局最优点、神经网络模型的阈值还有权重的优化结束标志均基于粒子适应度进行确定. 如下两式为粒子适应度:

${I_i} = \displaystyle\sum\limits_j {{{\left( {{Y_{i,j}} - {y_{i,j}}} \right)}^2}} $ (8)
${I_m} = \dfrac{1}{n} \displaystyle\sum\limits_{i = 1}^n {{I_i}} $ (9)

其中, $k$ 表示顺序为 $i$ 的样本其第 $j$ 个理想输出大小; ${y_{i,j}}$ 表示顺序为 $i$ 的样本其第 $j$ 个实际输出; $n$ 为样本个数; $m = 1,2,3 \cdot \cdot \cdot ,M$ , M为粒子数量.

PSO误差要求作为神经网络算法阈值和权值的优化终止条件, 式(10)为误差函数:

${E_{\rm RMS}} = \dfrac{{\displaystyle\sum\limits_{i = 1}^k f \left( {P_k^{(i)}} \right)}}{k}$ (10)

式中, $f\left( {P_{{k}}^{(i)}} \right)$ 表示第 $i$ 次计算时全局最优解适应度; $k$ 表示目前迭代次数.

图4所示, PSO改进神经网络步骤为[13,14]:

1)建立网络结构.

2)初始化网络的权重以及阈值.

3)确定权重阈值以及粒子群之间的关系, 初始化粒子群.

4)将数据集作为输入值, 对网络进行训练, 通过式(8)、式(9)得出适应度; 比较适应度, 通过式(1)、式(2)对粒子位置和速度进行更新.

5)计算式(10)得到粒子群误差. 当误差达到要求, 算法结束, 获得权重以及阈值的优化结果; 如不符合要求, 继续步骤4), 直至误差符合要求.

6)在神经网络模型中, 采用优化后的权值和阈值进行样本训练, 获得神经网络模型.

7)利用未知数据输入训练好的神经网络模型进行测试[13].

根据文献[15]将迭代次数以及粒子群大小分别设置为2800、30.

图 4 PSO改进神经网络图

3 模型建立与实验 3.1 运实验数据集与环境

MNIST手写数据集由阿拉伯数字0~9的手写体构成.图5为该手写数据集的示意图, 该数据集由10类组成. 其中, 训练图像有60 000张, 测试图像有10 000张. 每一张手写数字图均采取尺度归一化以及数字的居中处理. 每张图像均为一通道、28×28像素的大小.

图 5 手写数据集示意图

本实验所使用系统为Ubuntu16.04. 计算机的配置为CPU: Intel i5-8400, GPU: GTX1060. 应用谷歌公司的TensorFlow学习框架, 使用编程语言为Python. 应用准确率指标为算法的性能评价标准. 每个算法的实验次数均为10次.

3.2 训练模型的建立

实验为加快训练速度, 以及使得训练结果差别性更加的显著, 故使用两层卷积池化后接一层全连接层的网络结构. 这样减少了网络在深层中的大量训练参数. 同时也能够保证网络对图像的鲁棒性. 如图6所示为模型结构.

图 6 网络结构图

网络各层参数如表1所示.

表 1 网络各层参数

本实验中, 网络结构中全连接层使用Softmax激活函数, 而其余各个卷积层均使用Relu激活函数. 代价函数使用的是交叉熵代价函数. 学习率设置为0.0001.

3.3 仿真实验与结果分析 3.3.1 仿真实验

仿真实验首先进行传统卷积神经网络的训练, 接着进行改进卷积神经网络的训练. 循环训练MNIST手写数据集样本一共20轮, 每一次训练完毕以后皆记录训练数据, 重复训练共10次, 图7图8为训练过程截图, 表2为两组实验每次训练完成后的准确率.

图 7 传统CNN训练过程图

图 8 改进CNN训练过程图

3.3.2 实验结果分析

表2我们可以看出, 改进CNN网络在分类性能上要明显优于传统CNN网络, 并且在训练过程中, 未出现过拟合现象. 需要指出的是, 目前在分类领域准确率已经可以达到非常高的水平, 但是其采用的均为复杂的卷积神经网络, 本实验为了更能够体现出传统CNN与改进CNN之间的差距以及为能够加快训练的速度, 故采用两次卷积池化层后接一次全连接层的神经网络, 通过该网络可以看出基于PSO算法改进CNN的性能优于传统CNN. 且本研究在引入PSO算法, 对神经网络的初始权重以及阈值进行优化, 在达到设定要求以后就停止使用PSO算法, 未给网络带来大的计算负荷, 且能加快网络的收敛速度, 因此具有可行性.

表 2 CNN训练准确率表

4 门禁系统的的设计与实现

通过仿真实验, 我们可以看出, 基于PSO算法改进的卷积神经网络在计算机视觉领域可以使得模型具有更快的收敛时间, 故将PSO算法引入到MTCNN以及ResNet设计部队门禁系统, 通过QT语言设计窗体应用程序. 设计流程图如图9所示.

图 9 程序设计流程图

设计完毕后, 随机选取样本进行测试, 图10为录入人脸图, 图11图12以及图13为测试图, 通过图11我们可以看到, 软件能够有效的检测到人脸. 当检测到人脸以后, 将信息保存下来. 通过软件的识别界面, 摄像头捕捉到人脸以后, 进行识别, 而后会将得出的结果显示出来. 通过图13我们可以看出, 该人脸并未录入到系统里面, 以及识别准确率不足50%, 刷脸失败.

图 10 人脸录入界面

图 11 人脸识别界面

图 12 人脸识别界面

通过测试, 我们得出, 录入的人脸均可以成功的识别, 成功率均在50%以上, 可成功获取武器仓库的开门指令, 而未录入的人脸均无法通过认证, 故将此软件部署于部队武器装备等重要场所, 结合岗哨, 能够有效的提升部队重要场所的安全性.

图 13 人脸识别界面

5 结语

本文针对目前部队武器仓库等重要场所的门禁存在的安全隐患问题, 采用了PSO算法对卷积神经网络进行了改进, 提出了一种基于PSO算法的卷积神经网络改进方案. 而后利用该方案设计了设计部队门禁管理系统. 仿真实验与结果分析表明, 本文提出的方案相比于传统卷积神经网络具有训练准确率更高的优点, 具有一定的实用性, 而后基于改进卷积神经网络的部队门禁系统应用于部队武器仓库等重要场所后, 将使得这些场所将具有更高的安全性以及可靠性.

参考文献
[1]
LeCun Y, Boser B, Denker JS, et al. Backpropagation applied to handwritten zip code recognition. Neural Computation, 1989, 1(4): 541-551. DOI:10.1162/neco.1989.1.4.541
[2]
LeCun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 1998, 86(11): 2278-2324. DOI:10.1109/5.726791
[3]
Hubel DH, Wiesel TN. Receptive fields, binocular interaction and functional architecture in the cat’s visual cortex. The Journal of Physiology, 1962, 160(1): 106-154. DOI:10.1113/jphysiol.1962.sp006837
[4]
Hinton GE, Osindero S, Teh YW. A fast learning algorithm for deep belief nets. Neural Computation, 2006, 18(7): 1527-1554. DOI:10.1162/neco.2006.18.7.1527
[5]
Krizhevsky A, Sutskever I, Hinton GE. ImageNet classification with deep convolutional neural networks. Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, NV, USA. 2012. 1097–1105.
[6]
胡貌男, 邱康, 谢本亮. 基于改进卷积神经网络的图像分类方法. 通信技术, 2018, 51(11): 2594-2600.
[7]
Zhou Y, Rui T, Li YR, et al. A UAV patrol system using panoramic stitching and object detection. Computers & Electrical Engineering, 2019, 80: 106473.
[8]
宗宸生, 郑焕霞, 王林山. 改进粒子群优化BP神经网络粮食产量预测模型. 计算机系统应用, 2018, 27(12): 204-209. DOI:10.15888/j.cnki.csa.006651
[9]
杨斌, 钟金英. 卷积神经网络的研究进展综述. 南华大学学报(自然科学版), 2016, 30(3): 66-72.
[10]
裴子龙, 邢进生. 基于PSO的CNN算法的改进. 山西师范大学学报(自然科学版), 2017, 31(2): 22-26.
[11]
徐偲喆, 查晓锐. 基于改进粒子群优化模糊控制的MPPT算法研究. 电机与控制应用, 2019, 46(10): 35-39.
[12]
银玉琳, 黄山. 基于卷积神经网络SAR图像仿真参数预测. 电光与控制, 2018, 25(8): 60-64.
[13]
孙丽萍, 李佳琪, 张希萌, 等. 基于PSO-SA算法的优化排料研究. 计算机应用与软件, 2019, 36(1): 325-329.
[14]
王亚, 朱明, 刘成林. 基于CNN的监控视频中人脸图像质量评估. 计算机系统应用, 2018, 27(11): 71-77. DOI:10.15888/j.cnki.csa.006608
[15]
李波. 粒子群优化算法的参数及迭代次数选择的研究[硕士学位论文]. 广州: 华南理工大学, 2008.