基于轻量级网络的人民币鉴伪算法研究*

来源:优秀文章 发布时间:2022-11-18 点击:

严 晶 任明武

(南京理工大学计算机科学与工程学院 南京 210000)

目前,随着人们生活和科学技术的不断发展,智能手机已经普惠大众。当下的智能手机更是搭载了高分辨率相机,利用智能手机的高分辨率相机拍摄人民币特征区域甚至可以看到人眼都无法看清的人民币纹理细节。且随着支付宝、微信等第三方支付工具的兴起,人们可能不具备人民币鉴伪的能力,则有可能受到欺骗。

在过去的几年中,深度神经网络已经取得了显著的发展,同时这些网络的计算复杂度和资源消耗也不断增加。例如,广泛使用的VGG16[8]网络模型在对单张224*224 大小的图像进行分类的时候,需要500M 以上的存储空间以及15B FLOPs。在实时应用程序或者资源受限的设备中,这些网络的部署产生了巨大的挑战。传统的解决方法是把模型的前向推理放在服务器上,然后通过网络将预测结果传回终端并上显。这种解决方式比较依赖网络,当终端处于无网或者网络延时等的情况下,将无法保证应用程序的实时性。近年来,在无人驾驶、智能手机等嵌入式和移动设备取得了迅速发展,在这些设备上部署CNN 模型的需求变得越来越强烈,这也推动了对计算效率高,模型体积小的CNN 的研究。人们主要从三个方面进行了研究探索[24]:1)在原有的模型基础上进行网络剪枝与压缩,比如进行网络剪枝[7,17]、量化[13]、低秩分解等,但非结构化的稀疏模型需要专门的软/硬件支持[17];
2)紧凑网络设计,比如MobileNet[12],shuffleNet[2,9],Xception[6]等;
3)使用AutoML技术,传统网络剪枝需要人们手工设计模型度量标准,这往往需要经验与多次尝试,AutoML 技术克服这种弊端,让机器自主学习新的网络架构,比如RasNet[11]。

本文提出的手机人民币鉴伪技术需要将网络模型部署到手机上,在手机本地实现真伪鉴别。在不大幅度降低(甚至提高)预测准确率的前提下,构建基于移动终端的卷积神经网络并将之用于人民币真伪研究是本文的核心研究任务。为此本文构建了轻量化的Light_DPN 网络,以DPN92 为主体网络架构,运用紧凑网络设计、网络剪枝等技术设计出了新模型。本文设计了详细的人民币采集方案,并与某银行合作采集制作纸币数据集,并对本文提出的Light_DPN网络算法进行多组验证分析实验。

ResNet[4]能够进行特征复用,但是不能很好地提取新的特征。相反,DenseNet[15]可以提取新的特征,但是拥有很高的特征冗余度,DPN 即将这两者结合起来。原始DPN92 网络参数量34.22M,模型大小137.78M,浮点数运算量6.42GFLOPs。本文采集人民币的左上角国徽区域和中间花卉区域的图像样本,分别进行训练,将训练好的模型部署到移动端,按照原始的DPN 网络模型的大小,APP 将会太大,增加手机运行负荷,给用户下载造成负担。

本文改进原始的DPN 网络,通过引入Learned Group Convolution[16](以下简称L-Conv)和Squeeze and Excitation[10](以下简称SE)结构,在保证模型预测准确率的情况下有效地压缩了模型大小,减少了模型FLOPs 的大小。引入L-Conv,在训练的早期阶段就开始进行权重剪枝,自主学习稀疏网络。在测试阶段,通过引入index 层将输入特征进行重新排序,就可以使用普通的组卷积替代L-Conv。目前,组卷积在很多的深度学习库中都已经实现,这无疑降低了将Light_DPN 网络部署到实际应用中的难度和成本。另外,本文通过在DPN 网络中ResNet分支直连部分引入挤压和激励结构,使得它在学习过程中可以自主获得每个特征通道的重要性,通过强化重要的特征来提高模型的准确率。

2.1 主体网络架构DPN

2.2 引入Learned Group Convolution

1*1 卷积虽然可以对特征通道进行降维,减少后续层参数量和复杂度,但是其本身却拥有着较高的计算复杂度。组卷积的概念最早在AlexNet[1]中就引入了,在ResNeXt[5]中很好的证明其能有效地降低参数量和计算复杂度。但是如果将它直接应用于DPN 网络中1*1 的卷积层将会导致正确率的猛烈下降。这主要是因为在DPN 网络中1*1 的卷积的输入是前面层的输出concat组成的,它们本来就拥有内在的顺序。将这些输入特征硬性分配给不相交的组会阻碍网络中的特征重用,从而导致模型准确率的下降。本文引入了L-Conv 结构,将训练分为两个阶段,第一个阶段是压缩剪枝阶段,将那些拥有低权重的不重要的连接裁减掉。训练的第二阶段是优化阶段,通道分组已经确定,迭代若干次进行训练优化,弥补之前剪枝操作带来的正确率的下降。在预测阶段,通过引入index 层将输入特征重新排序,稀疏层可以直接利用标准的组卷积来实现,无需特殊硬件的支持,有利于模型在移动端的部署。

2.2.1 分组及压缩规则

图1 分组示意图

图2 压缩规则示意图

2.2.2 压缩阶段

图3 训练、剪枝、预测示意图

2.3 引入Squeeze and Excitation 结构

根据2.1 节的分析可知,DPN 简单来说是ResNet 和DenseNet 的组合。本文在原始的DPN 模块中ResNet 分支的特征通道上引入SE 结构,其通过显示地建模通道之间的相互依赖关系,自主衡量各个特征通道的重要程度。稍微增加计算量,但却获得了较高的模型性能。SE结构如图4所示,其中U 表示某一层的输出特征图,U∈RH*W*C,其中C 是通道数。

图4 挤压激励示意图

特征图U 首先执行squeeze 操作,该操作通过聚合空间维度的特征信息,将特征图在channel 维度进行特征压缩来产生每个通道的描述符。本文选择简单的全局平均池化来聚合空间维度信息,式(4)如下:

SE 结构使模型体积和参数大小略微增加,但却带来显著的性能改善。并且SE 结构不需要设计新的网络层,通过全局平均池化,卷积和非线性激活函数即可获得特征通道的权重。简单的操作无需特殊的硬件或者软件平台支持,有利于模型在移动端的部署。

2.4 Light_DPN网络设计

本文提出的Light_DPN 的block 如图5 所示,每个卷积部分都采用了Conv-BN-ReLU 结构。分别在第一个和第三个1*1 Conv 部分运用了L-Conv,在ResNet 分支部分加入SE 模块。Light_DPN 轻量级神经网络是以DPN92(32×3d)为主体网络架构的,详细的结构描述如表3 所示,其中每个block 均采用本文提出的block结构(图5所示)。其中(+K)表示密集连接路径上的宽度增量。SE 表示在残差分支使用挤压激励结构。

表3 Light_DPN网络结构示意图

图5 Light_DPN网络block结构示意图

3.1 实验环境

实验硬件配置为英特尔至强银牌4116 处理器,Titan-V显卡的服务器,同时使用vivo S1作为移动端,基于android 6.0 开发,配置为6G 运行内存,双核1200万像素的主摄像头。

3.2 实验数据集

本文制定了详细的人民币采集方案,并与某银行合作,请求银行提供各式各样的人民币样本库。采集设备包含低、中、高端手机各一部,采集数据时模拟真实应用场景,利用这三部手机在4 种场景下(室内自然光、室内日光灯,室外阳光、夜),采用4种拍摄姿势(放置平拍,手拿仰视拍,手拿平视拍,手拿俯视),两种拍摄距离(6cm、8cm),3 种聚焦方式(对焦、轻度模糊、重度模糊),对4 种纸币质量(正常,有污迹、破损、褶皱)进行拍摄。本文中采集纸币国徽和花卉区域,这两个区域采用雕刻凹版印刷技术,此技术工艺复杂,制作成本昂贵,而假币采用的是普通胶印技术。由于制作工艺不同,相比于假币,真币在这两个区域纹理更加清晰,有明显的凹凸感和三维效果。在高分辨率镜头下,这种区别将会更加明显。国徽和花卉区域分别建立鉴伪数据库,以国徽数据库为例,训练集包含1800 张(900张真,900 张假),验证集600 张(300 张真,300 张假),测试集600张(300张真,300张假)。

3.3 训练参数

在训练集上,将原始图像随机裁剪成不同大小和不同宽高比的图像,然后将这些图像缩放成224*224 大小的图像。在验证集上,先将图像缩放成256*256,然后采用中心裁剪的方式裁剪出224*224 大小的图像进行前向推理。训练一个模型使用300 个周期,weight decay=1e-4 ,学习率设置采用cosine 函数,初始值为0.1,并随着训练epoch的增加逐渐降为0。

3.4 实验结果与分析

原始DPN 网络模型大小为137.7817M,参数量34.22M,FLOPs 的大小6387.48M,在国徽和花卉特征数据集上的预测准确率分别为99.87%和99.89%。运用本文2.4 小节提出的Light_DPN 网络模型,进行了两组对比实验。第一组对比实验是,Learned Group Convolution中压缩系数不变,对比在引入和不引入挤压激励结构(SE)的两种情况下,对模型parameter、Flops,以及国徽和花卉区域前向推理预测的正确率的比较。实验结果如表4 所示。

第二组对比实验是,在引入挤压激励结构的情况下,对比不同的Condensation factor(压缩系数)对国徽和花卉区域预测的正确率、模型参数、Flops的影响。Condensation factor 值越大表示裁剪得越多。在本实验中,设置Condensation factor 即为groups 的数量,即分组的数量。实验结果如表4 所示。图6和图7分别表示国徽特征区域和花卉特征区域在4 种情况下的训练损失图像。其中标签为“C=4”和“C=8”表示在不引入SE 结构,压缩系数为4 和8 的两种情形。“SE C=4”和“SE C=8”表示在引入SE结构压缩系数为4和8的情形。

表4 实验结果对比表

图6 国徽区域训练损失

图7 花卉区域训练损失

采用pytorch 将模型部署在移动端,CPU 运行测试,平均预测一张图的时间为1360ms。以国徽区域和花卉区域在引入SE 结构、压缩系数为4 的情形为例,训练损失曲线如图8 和图9 所示。图中第50、100、150 epochs的时候loss突然急剧增加,这是由于剪枝操作引起的。迭代共进行300 个epochs,C=4,则前150 epochs 处于压缩阶段,共进行3个剪枝操作,分别在第50、100、150epochs 是执行,该操作剪去了剩余权重的一半,所以造成了loss 突然急剧增加。但是这些训练损失图也表明了模型可以在后续的优化阶段从这些剪枝操作中恢复过来,loss会再次逐渐趋于平缓。从表4可以看出,在Light_DPN 网络ResNet 分支引入挤压激励结构能够使正确率提高一两个百分点。从实验结果中可以看到,压缩系数取8 比取4 的时候具有更高的准确率,且压缩系数取8的时候获得与原始DPN 网络相同级别的准确率,这不仅证明了深度卷积神经网络中具有很高的参数冗余,还证明了剪枝的合理性,有的时候剪枝能够带来更高的准确率、更好的效果。

图8 C=4时有SE国徽损失函数图

图9 C=4有SE花卉损失函数图

针对目前深度神经网络模型复杂度高,计算量大,不利于其在移动端的部署等问题,本文提出了一种以DPN92 网络为主体网络架构的轻量级Light_DPN 网络。通过在训练期间,用Learned Group Convolution 替代常规的1*1 卷积,训练开始阶段就进行剪枝操作去除冗余的连接权重。并且为了使模型在预测时效率更高,通过引入index 层将修剪后的网络用常规组卷积替代Learned Group Convolution 卷积,而常规组卷积在大多数深度学习库中均已有效实现。另外在Light_DPN 网络的ResNet分支部分引入了挤压激励结构,其可以自主获得各个通道的权重,强化重要的特征通道,抑制无用的特征。在本文的实验中,就模型的计算效率和模型大小而言,Light_DPN 相比于相同精度级别的原始DPN 网络在本文采集的国徽和花卉数据集上具有更高的优越性,其模型更小,计算量更小。并将其运用到手机辨币中,可以让用户在没有互联网的情况下也可随时随地进行人民币的真伪鉴别。不需要网络,不需要与云端服务器进行通信,模型预测占用手机空间小,运行起来流畅、快速,且功耗低,延长了电池寿命。这款APP将会有很大的应用前景,同时也为人民币走向国际化道路推波助澜。

猜你喜欢 国徽剪枝卷积 基于全卷积神经网络的猪背膘厚快速准确测定农业工程学报(2022年12期)2022-09-09基于图像处理与卷积神经网络的零件识别计算技术与自动化(2022年1期)2022-04-15藏在国徽里的窃听器奥秘(2020年12期)2020-12-29基于深度卷积网络与空洞卷积融合的人群计数上海师范大学学报·自然科学版(2019年5期)2019-12-13一种改进的MEP决策树剪枝算法河北工业大学学报(2019年6期)2019-09-10国徽上的澳大利亚宝贝小溪流(画刊)(2018年11期)2018-03-18卷积神经网络概述中国新通信(2017年9期)2017-05-27剪枝天津诗人(2017年2期)2017-03-16辣椒增产要合理修剪农村农业农民·B版(2014年8期)2014-09-16出走滇池(2014年5期)2014-05-29推荐访问:算法 人民币 研究
上一篇:基于虚拟现实的大视差图像背景拼接改进
下一篇:基于差分表的Blow-CAST-Fish算法的密钥恢复攻击

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有