董浪 李发海 魏孟涛
摘 要:为维护用户版权,提高图片文字的输入速度,本文提出了“GAN+CTPN+CRNN+CTC”的水印去除文字识别技术,经过GAN去除图片中的水印,然后通过CTPN对图片中的文字进行检测,最后通过CRNN和CTC进行文字的预测和识别。实践证明,该研究提高了带水印图片的文字识别效率。
关键词:水印去除;文字识别技术
随着互联网的快速发展,人们选择网络办公逐步成为主流,时长会涉及到图片的发送,因为版权和原创性的原因,这些图片被赋予了水印。随着水印技术的广泛应用,各种去水印技术在网上鱼龙混杂,如何准确有效的提取水印下的文字内容,正在成为越来越多学者的研究方向,受到学术界和工业界的普遍重视[1]。
本文研究了一种以生成对抗网络(GAN)、文字检测(CTPN)和(CRNN+CTC)模型来针对水印环境情况下如何进行文字提取的技术。
一、总体设计与实现
文字识别技术是计算机视觉研究领域的一个重要分支,被广泛应用于票据的提取,证件的识别以及人工智能等领域。然而识别环境的复杂多變导致了识别的文字数据往往不可靠,图片水印就是其中之一。
应对水印下的文字识别采用GAN网络来达到去水印的目的。相对于普通的神经网络而言GAN采用两个不同网络模型进行对抗性训练,而且G的梯度的信息来自于判别器而并非数据的样本集。再将去除水印的图片利用CTPN定位文字的位置达到文字检测的效果,最终使用CRNN模型端对端的识别文字的序列。CRNN模型是一种简单高效的文字识别模型,该模型由图片特征提取层(CNN)提取图像卷积特征,然后序列化建模层(RNN)使用BiLSTM进一步预测图像卷积特征中的序列特征,最后引入解码层(CTC)对齐输出的文本。与传统神经网络相比,它可以直接从序列标签中学习,而无需详细标记;不再需要预处理步骤和手工特征;易于部署,结构简单,适用于文本长度变化较大的生产环境。CRNN模型是目前流行的图形识别模型,可以识别较长的文章序列。它使用诸如BLSTM和CTC之类的组件来理解文章图形中的上下文,从而有效地提高了文章识别的准确性,并使建模更加健壮。CRNN是一种卷积循环神经网络体系结构,一般用于处理基于图像的序列信息识别问题,但更多地用作场景文本识别问题。
输入的图片通过GAN层进行水印的去除,将所得到的去除水印后的图片作为CTPN层的输入,在CTPN中输入的图像进行文字的检测,将所得到的序列特征信息作为CRNN层的输入,在CRNN层对特征序列信息进行识别,并在CTC中找到概率最高的一组组合标签序列并将其进行预测输出,实现原理图如图1所示。
(一)GAN去水印模型
GAN是一种训练生成式的新的模型方法,包含两个”对抗”模型,生成器模型和判别器模型[2]。生成器模型:用于进行数据的捕捉分布;判别器模型:用来进行判别样本来自真实数据而并非生成的样本的概率。
在GAN中输入一张带有水印的图片,输出则为不带水印的图片。判别器(D)用于判别是原始无水印图片还是生成器(G)生成无水印图片。在两者不断地对抗训练的过程中,可以使得生成器(G)产生的无水印的图片达到以假乱真的效果,从而达到去除水印的效果。对GAN生成器(G)和判别器(D)增加额外信息(y)并作为输入层的一部分。对生成器(G)中将输入噪声p(z)和条件信息(y)联合组和形成联合隐层表征。
(二)CRNN+CTC文字识别
CRNN作为一种新型的神经网络模型,它结合了CNN、RNN和CTC三个网络模型,主要用于对可变长度文本序列进行端到端的识别。CNN用于对输入图像的卷积特征提取并得到特征图;双向的RNN(BLSTM)用于对CNN输出的特征序列进行预测,得到特征向量的标签分布;CTC用于将RNN所获得的标签进行转化,并确定最终的结果。
1、CTC卷积层。CRNN卷积层由标准CNN和最大池化层两部分所组成,能够对输入图像的特征序列进行自动提取。与标准CNN不同的是,CRNN卷积层会保证图像的宽度不变。
在卷积层中一共有四个最大池化层,其中最后两个池化层窗口为1×2。也就是将图像的高度减半4次,而宽度减半2次。由于大多数图像高度较小而宽度较长,因此feature map也是一个与之相对应的矩形。同时随着Batch Normalization模块的加入使得模型快速进行收敛,从而减少模型的训练过程。
2、CTC。CTC负责每一帧的预测,从而找到概率最高的一组标签序列。端到端OCR的难点在于对不定长序列的处理的。RNN识别后输出的定长序列,在对该序列进行识别时可能出现信息的冗余和信息的丢失。所以我们需要一套行之有效的方法来解决识别过程的冗余机制,而CTC的blank机制恰好能够较好的解决此问题。
二、实验
本次实验的数据集是通过人工手动添加水印进行制作的100张带有水印的照片,其中70张图像作为训练集,30张图片作为测试集,实验最终准确率可达到76.67%。
在实验的过程中将原始图片作为输入,经过GAN进行照片水印的去除,然后在通过CTPN进行文字的检测,最终通过CRNN和CTC进行文字的识别输出,如下图3所示.
三、结语
本实验采用自制的100张数据集进行训练,通过GAN、CTPN、CRNN以及CTC从而实现端到端的图片文字识别,将图片中不定长度的文字作为一个整体,对改区域进行文字的预测识别,并返回该该区域文字的内容。在训练后该模型的识别率可以较为稳定的达到76.67%。在后续我们将进一步对该模型的参数进行调整以及训练数据集的丰富,从而达到更好的识别效果。
参考文献:
[1] 张婷婷, 马明栋, 王得玉. OCR文字识别技术的研究[J].计算机技术与发展, 2020, 30(4):4.
[2] 曹仰杰, 贾丽丽, 陈永霞,等. 生成式对抗网络及其计算机视觉应用研究综述[J].中国图象图形学报, 2018, 23(10):17.
作者简介:董浪(2000-),男,汉族,湖北省大冶市人,本科,研究方向:人工智能、深度学习。
资助项目:2022年湖北省大学生创新创业训练计划项目(编号DC2022032)