文/张妍 赵文云 李勇
目前,很多涉密单位或银行金库,为了保证机密不被泄露,钱财不被盗取。通常会在涉密单位或银行金库前安装摄像头来检测有无外来入侵。现在流行的外物入侵检测方法有光流法和帧差法,这几种方法往往是很难检测出运动速度慢的物体和运动快的物体。光照的改变也经常会被这些方法误判为有外物入侵。新技术的出现,很多问题又了新的思路。神经网络的出现,让很多无法解决的问题有了解决方法。
因此,为了解决以上几个问题,结合新技术的理论,提出了基于深度学习的外物入侵检测的方法。该方法选取了20000个没有外物入侵和10000个有外物入侵的图像作为数据集。通过不断实验,得出实验结果。实验结果表明:基于深度学习的外物入侵检测成功率能达到99%。符合外物入侵检测的基本要求。
本文中使用摄像头采集了3段不同的录像,分别为白天无外物入侵录像、晚上开灯后无外物入侵录像、有外物入侵录像。将这三段录像用opencv里的VideoCapture读取视频的每一帧(也可以直接从摄像头实时读取),并且用VideoWriter实现每一帧图像的保存工作。这个过程是并发的过程,要注意并发后VideoWriter对帧图像存储的要保持对用户的实时性。要求在宏观上并发执行,在微观上交替执行。但要求响应时间要短,做到实时性。
本文中存储的帧图像每张图像都很大,使的处理难度增加。经采集的帧图像都是RGB三通道图像,为了减少计算规模,将三通道图像转化为灰度图像。对生成的灰度图像采用主成分分析处理,将高纬度的帧图像转换成低维的图像。从而提升数据的特征表达能力。将PCA处理后的数据进行归一化处理。归一化的图像特征更明显。更容易分裂。本文中使用的归一化方式为Z-score方法。归一成统一图像的范围,方便计算。减少硬件的负担。
表1:十轮迭代的运行结果
本文中将数据转换成矩阵,为无外物入侵和有外物入侵的数据分别做好标注。对于标注的矩阵转换成向量,将向量转换成列表形式加入数据的标注。这里无外物入侵的数据标注为1,有外物入侵的标注为0。变成<数据,标注>数对,将数对进行随机打散。本文中随机抽取24000个样本作为训练集。随机种子的大小为90000,并且将该数据制作成pkl格式的数据集。为了节省内存,将pkl格式数据集压缩成pkl.gz格式的数据集。
本文中使用的网路模型是基于改进AlexNet模型,提取帧图像的特征,实现有无外物入侵的检测。改进的AlexNet模型采用卷积神经网络,具有局部连接、参数共享的特点,能减少参数的规模。本文中使用的激活函数都是使用PRelu。该公式的意思为max(aijxij,xij)。实验中设aij大小为0.01,解决了Tanh等激活函数易饱和的难题。用非线性函数代替线性函数,增强模型的鲁棒性。实验中使用了批量归一化方式代替了局部响应归一化。使得模型训练速度更快。梯度下降算法使用的是小批量梯度下降算法。相比随机梯度下降算法,防止梯度出现震荡现象。训练过程中使用的是Dropout方式,drouout因子为0.4。弃权方法的引入,让模型的训练效果更好。分类层使用的是支持向量机的方式代替了Softmax层,效果显著。该网络模型采用双GPU方式,增强了图像的计算能力,让模型训练的更快。节省了时间,提高了工作效率。
本文中实验操作流程为导入制作好的数据集,训练改进的AlexNet网络模型,保存模型参数。针对于测试环节,加载模型结构与加载模型参数。载入待测试图像,输出测试结果。本文中的权重和偏置的初始化方式是采用均值为0,方差为1的高斯分布。通过前向传播计算出输出值与真实值之间的差距。实验中采用的误差函数是交叉验证的方式。并对误差函数设置了惩罚项,采用的是L1正则化方式。例如,高速路上开车,开的速度太快,会提醒你超速。当开的速度过慢,会提醒你加快行车速度。L1就起到了提醒控制的作用。相当于物体的摩擦力。计算完误差后,利用反向传播算法。不断的更新权重和偏置,让模型的输出值越来越接近于真实值。该网络模型与残差网络模型等比较,结构相对简单、参数相对少。模型的内存占用少,利于工程化实现。
本实验网络模型搭建使用的theano深度学习框架,theano框架是开源的深度学习框架。该框架结构清晰、容易上手。视频处理软件opencv,该软件是一款强大的开源视觉处理软件。有很大的受众群体,为图像处理领域的发展提供了很大的帮助。实验中使用的硬件环境是一台处理器为i7的,2块GPU型号为GeForce GTX 1080Ti,内存大小为24G的台式机和一台单目摄像机。
本实验中选取了6000个样本进行测试,迭代次数为60000次。经过多次实验,实验的运行结果如表1所示,该表是改进的AlexNet模型十轮迭代的运行结果。
如表1中所示,训练集准确度与测试集准确度的比较。随着迭代轮数的增加,训练的准确度越来越高,测试的准确度也不断提高。说明该网络模型没有发生过拟合现象。最终测试准确度拟合在99%左右,模型的最终准确度为99%。符合外物入侵检测要求。
本文通过使用改进的AlexNet模型,实现了对外物是否有入侵进行了判断。分为了有外物入侵和没有外物入侵两类。实验结果表明基于深度学习的外物入侵检测方法是准确率是相对满意的。能够排除光源对外物入侵检测的影响,具有很广阔的应用价值。本文的不足之处是数据集相对较少。今后有机会获取获取更多数据集继续训练,提高模型的可靠性。