APP下载

基于图像风格迁移技术生成图像验证码研究∗

2024-01-23秦志伟

计算机与数字工程 2023年10期
关键词:风格化识别率卷积

秦志伟 陈 黎

(1.武汉科技大学计算机科学与技术学院 武汉 430065)(2.武汉科技大学智能信息处理与实时工业系统湖北省重点实验室 武汉 430065)

1 引言

国民经济的高速发展,社会各行各业包括互联网也得到了快速的成长,互联网在不断满足人们需要的同时,也一样会带来一些不利的风险。通过计算机脚本攻击网站系统,将会对现实生活中普遍应用的计算机网络系统产生极大的危险,并且会造成用户的个人信息泄露,安全隐患非常大,而应用验证码技术则能很好地防止这种安全隐患。

验证码技术[1~2]随着科技的不断进步,也有不少改进和突破。验证码的种类增多,比如登录账户经常需要指定的手机号反馈的短信验证码,登录部分网站需要问题要求选择特殊的图像的验证码,还出现了拖拽式和拼图式的图像验证码。目前很多网站都是图像式验证码,通过识别字符并输入字符来获取进入网站的权限,但是大部分图像验证码级别较低,机器的识别率较高,网站容易遭到攻击[3~4],这就需要开发出一种人类容易识别而机器不易识别的验证码。

近些年来,由于深度学习[5]领域取得了较大的进步,在图像领域的研究也有了更多的方向。研究者们将深度学习的理念应用于图像艺术化,得到了非常好的效果。“神经艺术“这个关键词首先出自Gatys 的文章[6]中,这篇文章主张一种全新的图像风格艺术化的方法,实验中应用深度卷积神经网络通过一定数量地学习图像风格,便能模仿出相应风格化后的图像。而风格化的效果与图像特征的识别效率密切相关,很多专家学者在这特征识别方面取得了一定的成果。如蔡彪等使用Mask R-CNN方法完成图像缺陷快速识别[7],该方法的图像预处理能力较差,识别精度相对较低;尹立航等使用改进多尺度采样方法完成图像缺陷快速识别[8],该方法的模型训练易发生过拟合,误识率较高。

迁移学习可提取源领域的知识,将其应用到目标领域,以提高目标领域的学习效果,并可通过充分考量任务间关联性,解决生成模型时产生的梯度弥散现象[9]。本文提出基于迁移学习的VGG 网络优化,能够提高识别精度,更好地训练和生成模型。神经风格迁移又名图像风格迁移,能较好地将一幅图片的风格应用到另一幅图中[10]。文中主要应用图像风格迁移技术[11]来实现图像验证码生成技术,本文先优化了VGG 模型,提高了特征获取的精度,然后充分利用深度卷积神经网络特有的强大学习和分析功能,逐步获取图像的多层的具有实质代表性的特征图,并进行综合分析计算[12],达到实现图像风格迁移的目的。在利用图像风格迁移技术设法提高验证码安全性的过程中,本文设计了几种验证码生成方案,并通过设计对比实验,来评估方案,从而得到最佳方案。

2 图像风格迁移与图像验证码生成

2.1 卷积神经网络的构建

卷积神经网络的常用结构如图1,由卷积层、降采样层和全链接层等组成。每一层都有多个特征图,每个特征图通过一种卷积滤波器可以提取输入图像的一种特征,其中每个特征图有多个神经元。

图1 卷积神经网络结构图

本文使用VGG模型实施训练,功能如下:

1)卷积层:将特征图输入到卷积层后,使用卷积滤波器实施加偏置计算,该层的局部特征图,可利用激活特征函数获得,式(1)描述了计算过程:

式内,卷积层数量,用l 描述;卷积滤波器,用m 描述;输入到卷积层的特征图,用描述;卷积层输出结果,用描述;在第l 层中,其偏置用Bl描述;卷积核用K描述。

2)池化层:该层用于降低卷积层特征图的数据维度,避免产生过拟合现象。针对滤波器内的数据,使用均值池化方法获得其内均值,并通过式(2)采集二次特征:

3)全连接层:该层的计算方法为多层神经网络的权值计算法,用式(3)描述:

式内,节点j至节点i的权值,用ωji描述,j存在于第l层,i存在于下一层。

该模型由5个的卷积模块、3个全连接模块,第3 个全连接层会输出图像。将ReLU 函数作为两类模块的神经元激活函数,可优化训练过程中产生的梯度弥散现象。池化层的采样方法为最大池化。

2.2 图像风格迁移技术

图像风格迁移技术能够实现将一张图片的风格“迁移”到另外一张图片中,生成具有其风格的图片。图2 为风格迁移的一个例子,一般用符号C 表示内容图片,符号S 表示风格图片,符号G 表示生成的图片。

图2 风格迁移案例

图像风格迁移通常使用一张训练好的神经网络VGG 网络[13]作为算法的基础。通过神经网络结构的浅层学习一些较低级的特征例如图像的边界和纹理等,深层学习图像的一些复杂抽象的特征。为了学习得到图像的特征数据比较精确但又不过于苛刻,一般选择VGG 网络的中间的隐藏层作为最后的输出,效果较好。通常以此计算代价函数,然后进行反向传播。

深度学习的各种模型中,LeNet和AlexNet网络模型具有较多的优点,VGG 网络继承了以上两个模型中的一些优点,并且做了适当的改进,很大程度提高了其计算量和计算结果的精度。本文采用的是具有有16层的VGG-16模型,这种模型最大的特征是内有5 个卷积组,根据不同的实验对象,每个卷积组中卷积层数目的不同就组成了VGG 系列模型,各模型具体结构如图3所示。

图3 VGG网络结构

在研究采用了较为合适的VGG 模型后,便可开始进行图像风格迁移[14~15]。图像风格迁移的主要步骤如下:

1)加载训练好的VGG神经网络;

2)随机初始化生成图像G;

3)在VGG 入口处输入内容图像,标记为C,进行前向传播,计算;再从在VGG 入口处输入风格图像,标记为G,进行前向传播,计算。最后通过content cost和style cost统计总的cost;

4)根据计算出的cost,进行反向传播,更新生成图像G的每个像素点;

5)重复3)、4)步一定的次数;

6)输出最终的生成图像G。

在图像风格迁移中,涉及到内容图像、风格图像和添加白噪声的图像。模型首先生成白噪声图像,然后依次与指定的内容图像和风格图像之间产生两个损失函数,按一定的规律,将两个损失函数结合得到总体的损失函数,再通过持续迭代方法,直到总体的损失函数最小化为止,就可以得到同时具有风格图像的特征和内容图像的实质内容特征相结合的图像,实验中风格化简要流程如图4 所示。

图4 图像风格迁移原理

在构建一个图像风格迁移系统的过程中需要定义一个代价函数,通过最小化代价函数,可以生成所需的风格化图像。图像风格迁移算法的代价函数[16]由内容代价部分和风格代价部分的适当比例组成,如式(4)所述形式。

式内,Jcontent(C,G)为内容代价函数,是用来表示内容图片C 与生成图片G 之间的相似度,Jstyle(S,G)为风格代价函数,是用来表示风格图片S 与生成图片G之间的相似度,α,β为超参数,为以上两者之间的权重。

内容代价函数可以使用隐藏层l来计算内容代价,通常l选择中间层较好,然后可以比较C 和G 在l层的激活函数输出α[l](C)与α[l](G),相应的表达式如式(5)。α[l](C) 与α[l](G) 越相似,Jcontent(C,G) 就越小。通过采用梯度下降算法,系统不断迭代并修正G的像素值,使Jcontent(C,G)减小。

考虑风格代价函数时,研究可以从选取某一层l隐藏层入手,将这一层进行深度测量,图片的风格定义就可表示为l层中各个通道之间激活项的相关系数。将l层的激活项取出,是一个nH*nH*nC的激活块,如图5。关于求解不同通道之间激活项的相关系数,可以先将不同通道染成不同的颜色,通过不同颜色的通道的神经元在具体图片中的特定位置能否找到相同特征来判断各个通道之间是否具有相关性,相关系数描述的就是图片中某处出现的特征满足不同通道间所具有的相同的或类似的特征的可能性。通过将以上获得的相关系数应用到风格图片S 和生成图片G 的对应通道上,比较就能够得到生成的图像的风格与输入的风格图像的相似程度。

图5 激活块

通过计算风格矩阵,来进一步测量风格,风格图片测量过程用式(6)描述。

式内,[l]表示第l层的隐藏层,k,k'分别表示不同通道,表示在隐藏层l 中的(i,j,k)位置的激活项,其中i,j,k 分别代表该位置的高度、宽度以及对应的通道数,G[l](S) 是一个nC*nC的矩阵。公式可以计算第l层隐藏层不同层通道所对应的所有激活函数输出和。两通道相似性高,则对应的较大,两通道相似性低,则对应的较小。

同理,生成图片的风格测量过程用式(7)描述。

2.3 VGG模型优化

优化VGG 模型,减少训练成本、时间,以及提高图像不同特征快速识别精度,更好地实现风格迁移,获得清晰的图像。各卷积层的卷积核数量、全连接层的神经元数量,用{}x1,…,x5,y1,y2描述。卷积运算Cov,可使用互相关函数进行替换,卷积层中,l层第t个卷积核,用描述,输入特征图,用Il描述,二者的卷积计算过程用式(10)描述:

式内,Il的数量,用T'描述;的规模,用M、N 描述,其偏置用描述;卷积输出,用(i,j)描述。本文使用的ReLU函数,用式(11)描述:

式内,ReLU激活函数,用f(∙)描述。

式内,池化区宽度,用wc描述;池化移动步长,用s描述;并且wc大于s。

针对卷积层,优化其一、二层的功能层结构,以减少训练时间,将归一化层设置在池化层后,对特征图(i,j)执行标准化处理[17],过程用式(13)描述:

式内,超参数用α、β、k、m 描述;l层的卷积核数量用N描述。

对于卷积层,更新第五层的特征图,使其转化为高维单层神经元结构,式(14)描述了全连接层中,l层第i个神经元的输入:

神经元用Cl描述,对全连接层fc6、fc7 的Cl实施弃权,以提升模型的泛化能力,过程用式(15)、式(16)描述:

全连接层fc6、fc7 中,第i 个神经元的ReLU 激活输出,用表示,其求解过程用式(17)描述:

使用softmax 函数,求得的全连接层fc8 中,第i个神经元的softmax输出,用qi表示,其求解过程用式(18)描述:

损失函数,用L 描述,其为图像样本qi的交叉熵,使用Adam优化方法训练图像快速风格化模型,式(19)描述了损失函数的计算过程:

2.4 图像验证码生成

通常的图像的风格迁移过程是将需要风格化的内容图像作为内容输入来进行处理,而自动生成的验证码是部分数字和字母的组合,所以在实际的实验中,需要先将随机生成的验证码按一定的要求转换为图像,然后调入模型,对图像验证码进行风格化。文中实验中应用的图像验证码均由5 个字符组成,所涉及的字符为数字1~9 和所有大写英文字母,字符数达到35 个之多。通过从字符库里任意挑选五个字符作为一组验证码,再通过标签格式转换,转换后得到的字符串写入图像文件中,以此来获得验证码的内容图像,本文采用的图像格式为PNG。

图6 是得到的几张未经过处理的验证码内容图像,存在一些噪音,其标签分别为326E4、734IX和AZU23。

图6 未经处理的图像验证码

常用的图像风格迁移与验证码图像的风格迁移效果会会有一些不同,利用上述的验证码内容图像,通过图形风格迁移技术进行风格迁移,随机选取其中一张初始的验证码图像做实验,其内容为AZU23,通过800 次迭代计算,具体效果如图7(左边是初始的验证码图像、中间是风格特征图像、右边是风格化的验证码图像的实验结果。)

图7 初始的验证码图像、风格图像以及实验结果

因普通图像能看出大概内容即可,对它的识别精确度很难有具体确定的值,只是一个大致范围,而图像验证码的内容比较具体,识别的准确度可以计算,所以导致实验结果对生成的验证码图像的内容信息识别较弱,风格信息较强,图像上的字符清晰度不高,人类识别可能会遇到较大的困难。由此说明普通图像风格转换和验证码风格转换有很大的不同,特别是验证码对内容的完整度和精确度有有一定的要求,细节信息也需要较好的保留。因此,对于验证码实验控制迭代的次数不宜过多,并且,考虑到程序的运行时间问题,迭代次数可控制在400次即可。

3 图像验证码生成方案

3.1 生成方案一

对于运用图像风格迁移技术来生成图像验证码,如果按照对图像进行风格迁移的算法和流程去设计的话,内容误差会较大,因此可以采取对迭代过程中每次学习得到后得到的生成图像附加一些原图像特征的方法来影响不断学习后得到的结果。具体来说,就是改变原图像风格迁移中的算法,先对迭代循环中生成图像的那段代码进行优化,然后再优化VGG 模型并添加系数。同时,减少迭代的次数,在400 次左右即可停止,以此来生成较为清晰的具有风格迁移效果的验证码。图8 三幅图分别为实验方案的内容图像、风格图像以及风格化后的实验结果,对比图7,清晰度方面有明显的提升。

图8 内容图像、风格图像以及实验结果

3.2 生成方案二

传统的图像验证码[18]都有一个共同的缺点,就是其大多数风格相似,没有多少变化,用一种风格图像对内容图像进行风格迁移得到的验证码图像同样存在这个问题。本方案打算将多种风格融合到一张图像上,本方案在方案一的基础上采取将选取的风格图像利用风格迁移技术进行融合获得一张风格多样的风格图片,并以此再来进行风格迁移。

本方案采用双循环的代码设计,将我们所采用的风格图片放入一个文件夹内,并以此开始第一个循环,将所有风格图片通过风格迁移技术混合生成一张多风格的图片,然后再对验证码图片进行风格迁移,迭代循坏,生成目标图片。实验采用了三张风格图片,具体如图9,从上至下依次为内容图像C、风格图像S以及风格化后实验结果G。

图9 内容图像、风格图像以及实验结果

3.3 生成方案三

在进行图像风格迁移的过程中,容易产生大量噪音,致使图像模糊不清,不易识别。因此本方案在方案二的基础上在生成结果中再加入一种基于无监督学习的全卷积神经网络的图像优化方法,该方法通过学习大量平滑图片来生成平滑模型,然后调取模型对风格化图片进行处理。该方法主要通过学习到的模型来控制边界,以此来对图像进行平滑化处理,优化图片。实验结果如图10。

图10 实验结果

4 对比实验设计与结果分析

具有良好的安全性和易用性是一个好的验证码的基本条件对于上述方案中生成的验证码,接下来需要对其进行效果检测。主要参数为两个,一个是识别率;另一个是识别效率。通过这两个指标就可以高效地对图像验证码的区分效果进行整体评估。在进行对比实验前需要界定一个概念,文中前述提出的识别工具的“正确识别”,应该具有明确的要求,并且可操作性要强。为此本文明确提出所谓正确识别出一个图像验证码中所有的字符,才能确认识别成功,即使在识别的过程中错一个字符也会被认为识别失败。

本文选取两个在实际生活中常用的文字识别工具来进行验证码的识别对比实验分析,分别是迅捷ocr文字识别软件和百度通用文字识别平台。迅捷ocr文字识别软件采用OCR 识别技术,支持JPG、PNG格式的图像识别,并且能将识别内容转换为各种文档格式。这些方面在百度的实际操作中有广泛的应用,通过深度学习技术,并结合汉字的特点,能对多场景、多语种、高精度的整图文字进行检测和识别服务,多项ICDAR 指标居世界首位,特别是针对图片模糊、倾斜、翻转等特殊情况可以进行合理的专项优化,鲁棒性强。

为了体现实验的实用性,实验中选取了两种已经在实际生活中投入应用的验证码,作为实验对比分析参考样本。验证码一是武科大研究生管理信息系统平台登陆是所显示的图像验证码,此验证码由四个数字和一些线条和圆点组成,图像中的数字为黑色,线条为深灰色,圆点为浅灰色,人类对其识别容易。图11 为其部分示例。验证码二是知网注册账户时所显示的验证码,验证码由四个字符和一些线条组成,图中字符的颜色从左到右颜色由蓝色向金色渐变,线条为灰色,图12为其部分示例。

图11 验证码一

图12 验证码二

分别选取30个图像验证码一和30个图像验证码二,按照前面实验方案各分别生成30 个图像验证码用于实验,随后用上述中的两种识别工具和随机正常人员(共20 人,均为陌生成年人)分别进行对比实验,统计出它们各自的识别率和识别效率,其中人类的识别数据取所有人员的平均数据。具体情况如表1。

表1 识别产品对验证码的识别率

表1 列出了各识别工具和人类对图像验证码的识别率。由表1 可知,某高校平台的验证码和知网注册的验证码作为现在市场上正在实际使用的图像验证码,一般人员非常易识别且平均识别率接近100%,在对比实验分析时,这些验证码对一般的文字识别平台(迅捷和百度)来说也较好识别,识别率也不低。因此,当网站受到特定袭击时,不难预测,这两种验证码对所在网站的维护作用相比之下就非常小了。

相反,由本文实验中所设计的方案通过图像风格化技术生成的特定的图像验证码,实际生活中一般的文字识别平台(迅捷和百度)识别率直接几乎降至0。从实验结果来看,人类对本文方案中生成的验证码仍保有较高的识别率,这证明了方案中生成的验证码对人类来说还是较为友好的。其中方案一针对一般的图像风格迁移改进了一些算法和系数,方案二则加入了多种风格,方案三针对迁移过程中的噪音问题提出了解决方案,因此可以说明通过不断改善方案,人类识别率有了小幅的提高,每一步都取得了一定的效果。

对于上述数据表,为了体现明显的识别率差距,将其转化为柱状图,如图13。

图13 识别产品对验证码的识别率

上面对识别率作了对比分析,在实际应用和实验中识别效率也是一个关键的衡量标准。表2 中列出了三种识别产品对实验中的图像验证码的识别效率。为了使表格简洁便并易于观察,以字母代替一定的含义,然后用字母替换表格中的描述。

表2 识别产品对验证码的识别效率

由表2 可知,一般的文字识别平台识别效率较低,多数情况均比人类的识别效率低,对于本文方案中生成的验证码识别效率更加低下,且当人类识别错误时可以及时更改,则充分说明了在识别效率这个关键指标上,由本文实验方案生成的图像验证码同样拥有对人类识别率很高却对机器识别率低这两个重要的基本性质。

通过上述实验分析可以得出,通过本文实验方案生成的图像验证码,从识别率和识别效率这两个关键指标上看,可以充分证明其拥有合格验证码的基本性质,从而达到了实验设计的各项目标,并且能够很好地起到保护网站的作用。

5 结语

网站的安全问题随着互联网的快速发展尤为突出。为此,本文研究了图像风格迁移技术,并在其基础上优化VGG 网络,设计多种方案来生成安全易用的验证码,通过选取市面上的字符识别工具来对生成的验证码进行识别率和识别效率的检测,证明方案中生成的验证码对人类友好对机器不友好,保证了方案设计的验证码在具体实际应用中的安全性。

猜你喜欢

风格化识别率卷积
基于深度神经网络的图像风格化方法综述
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于类图像处理与向量化的大数据脚本攻击智能检测
从滤波器理解卷积
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
提升高速公路MTC二次抓拍车牌识别率方案研究
基于傅里叶域卷积表示的目标跟踪算法
修拉的点的可能性与不可能性
浅析插画造型的风格化表现
结合原创漫画《百鬼夜行》谈动漫的教学