基于CTPN的网店工商信息提取系统的研究和实现

更新时间:2023-04-05 22:37:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于CTPN的网店工商信息提取系统的研究和实现

摘要:本文提到的系统首先对图片进行预处理,消除水印等图片噪声,将图像二值化。CTPN 利用同一文本线的字符可以互用上下文的特点,降低了检测难度。DenseNet在ResNet的基础上进行改进,减少了参数,改善了神经网络的性能。使用CTPN进行文本检测,使用DenseNet和CTC进行文本识别,获得了较高的准确率。

关键词:文本检测;文本识别;CTPN

0 引言

深度学习最广泛的应用之一是文档的文字检测和识别。文字检测的主要功能为从图像中找到文字区域、并将文字区域分离出来;文字识别的主要功能为从分离出来的图像进行文字識别。处理流程一般分为预处理和识别。图片的文字往往携带重要信息,网店工商执照包含该网店的企业注册号和类别等信息。网店营业执照要以图片形式在店铺进行公示,本系统致力于读取不同形式营业执照的有用信息,为利用深度学习完成其他场景的任务提供参考。

1 预处理

网店营业执照的特点是文字排列整齐、噪声小,但要提取的有用部分位置不固定,并且中文、数字多形式混杂排列,水印位置不固定,因此需要通过预处理提高图像质量。

1.1 关闭图像Alpha通道

图像为含有Alpha通道的PNG格式,Alpha值默认为0,即图片“透明”,如果用Opencv打开图片,会丢失Alpha通道,导致图像质量降低。以RGBA图像格式打开图像并添加同等大小的白色背景能避免这一问题。水印处理的常用策略有图像降噪、拷贝攻击等[1],对应的算法如快速最近邻匹配、模板匹配都已十分成熟。观察到网店企业执照的水印具有位置不统一、颜色相同的特点,采取遍历图像矩阵,将水印对应矩阵元素的RGB值改为[255,255,255]。

1.2 图像降噪

图像降噪一般包括滤波和二值化,目的都是增强图像的效果,对图像二值化处理提高了识别速度。Opencv中,自适应阈值二值化函数adaptiveThreshold()通过某个像素的邻域以确定这个像素应该具有的阈值,保证图像中各个像素的阈值更加准确。在灰度图像中,将图像分成多个小块来计算阈值往往会得出图像的轮廓。

2 文字检测和识别

目前有很多开源的OCR引擎,Google的Tesseract-OCR就是其中之一,它最早由惠普公司在1994年开发,经Google公司优化后,能够兼容更多语言的字符识别[2]。该方法首先检测字符区域的轮廓和子轮廓,将其集成为块区域,从块区域中得到文本行,通过识别单词训练自适应分类器识别单词,但对中文字符的识别率不高。直到最新版本采取了深度学习,这一情况才得到改善,但也加大了性能的消耗。本文采取CTPN方法进行文字检测。

2.1 CTPN方法介绍

文本检测的难点在于对一个完整的文本线的检测,同一文本线的字符可能存在差异大、距离远的情况,每条文本线的长度可能不同,难度比检测单个目标更大。传统方法是先检测字符,再连成文本,其缺点是没有考虑到上下文,并且步骤复杂。CTPN方法考虑到同一文本行上的不同字符可以由上下文表示,因此只预测文本在竖直方向上的位置,使用RNN和CNN进行序列的特征识别和深度特征提取,从而提高了检测的鲁棒性[3]。CTPN方法将候选区域产生的滑窗的宽度设为固定值,并在RPN网络后添加一个LSTM连接全连接层,从而将坐标回归减少为一个。它的步骤如下:

(1)使用VGG16作为提取特征,得到大小是W×H×C的特征映射。在该映射上设置大小是3×3的滑窗。每个窗口都得到一个长度为3×3×C的特征向量;

(2)将特征输入一个双向LSTM中,得到长度为W×256的输出;

(3)输出层部分包含三个输出,分别是2k个垂直坐标(vertical coordinate),2k个评分(score),

k个边缘细化(side-refinement)。使用一个标准的非极大值抑制算法来滤除多余的文本框。本行构造算法合并成文本行。

2.2 文本检测训练

采用CTPN算法框架,在数据集上对VGG-Net[4]进行训练,训练所用平台为Ubuntu18.04系统,在GTK TITAN X下进行50000次迭代。

3 文本识别

构建文本识别数据库是进行模型训练的基础[5],当前流行的一种方法是利用CNN(卷积神经网络)和LSTM结构进行数据提取,ResNe是CNN的一种,由微软公司提出,解决了网络加深时梯度消失的问题。DenseNet则是在ResNet的基础上,在保证网络中层与层之间最大程度的信息传输的前提下,将所有层连接起来,由于每一层的输入来自前一层的输出,使得梯度的传递更加有效、参数更少,CTC(Connectionist temporal classification)通过在标注符号集添加一个空白符号,能够直接输出序列预测的概率。将ResNet和CTC结合进行文本识别,可以减少文本定位的工作。数据集利用中文语料库,通过字体、大小和灰度等变化随机生成,包含汉字、字母和标点符号等字符,图片的分辨率统一设置为280×32。

3.1 结果

训练集损失值为3.38%,测试集准确率为98.03%。对图1的识别结果如图2所示。

4 结论

CTPN方法利用文字序列的特点降低了检测难度。网店工商执照往往包含网店的重要信息,将这些信息进行提取形成结构化的文档,既能简化管理人员的工作,还能为顾客提供参考。系统的不足之处是对拍摄角度较差的图片的识别率较低,但下一步的研究会对其进行改进。参考文献:

[1] 馬颖颖。数字水印攻击方法的一些研究[D].杭州:杭州电子科技大学,2011.

[2] 万松。基于Tesseract-OCR的名片识别系统的研究与实现[D].广州:华南理工大学,2014.

[3] Zhi Tian,Weilin Huang,Tong He,et al.Detecting Text in Natural Image with Connectionist Text Proposal Network [M].Cham:Springer International Publishing,2016:56-72.

[4] 常玲玲,马丙鹏,常虹,等。深度网络结构在行人检测任务中的性能对比[J].计算机仿真,2017,34(7):373-377+411.

[5] 方清。基于深度学习的自然场景文本检测与识别[D].成都:电子科技大学,2018.

本文来源:https://www.bwwdw.com/article/g9fl.html

Top