使用 tensorflow 构建神经网络,识别图片中的文字。<br/>
### 前言
基于图像的序列识别一直是计算机视觉中长期存在的研究课题。在本文中,我们研究了场景文本识别的问题,这是基于图像的序列识别中最重要和最具挑战性的任务之一。提出了一种将特征提取,序列建模和转录整合到统一框架中的新型神经网络架构。与以前的场景文本识别系统相比,所提出的架构具有四个不同的特性:
- 与大多数现有的组件需要单独训练和协调的算法相比,它是端对端训练的。
- 它自然地处理任意长度的序列,不涉及字符分割或水平尺度归一化。
- 它不仅限于任何预定义的词汇,并且在无词典和基于词典的场景文本识别任务中都取得了显著的表现。
- 它产生了一个有效而小得多的模型,这对于现实世界的应用场景更为实用。在包括 IIIT-5K,Street View Text 和 ICDAR 数据集在内的标准基准数据集上的实验证明了提出的算法比现有技术的更有优势。此外,提出的算法在基于图像的音乐得分识别任务中表现良好,这显然证实了它的泛化性。
#### 版本说明
- python:3.5
- tensorflow:1.4.1
#### 模块介绍
- gen_captcha.py:生成图片验证码
- word_vec.py:词向量处理
- config.py:配置信息
- cnn_train.py:神经网络模型训练
- cnn_test.py:验证测试
#### 命令
- 训练模型
> python3 cnn_train.py
- 验证测试
> python3 cnn_test.py
## 1. 引言
最近,社区已经看到神经网络的强大复兴,这主要受到深度神经网络模型,特别是深度卷积神经网络(DCNN)在各种视觉任务中的巨大成功的推动。然而,最近大多数与深度神经网络相关的工作主要致力于检测或分类对象类别。在本文中,我们关注计算机视觉中的一个经典问题:基于图像的序列识别。在现实世界中,稳定的视觉对象,如场景文字,手写字符和乐谱,往往以序列的形式出现,而不是孤立地出现。与一般的对象识别不同,识别这样的类序列对象通常需要系统预测一系列对象标签,而不是单个标签。因此,可以自然地将这样的对象的识别作为序列识别问题。类序列对象的另一个独特之处在于它们的长度可能会有很大变化。例如,英文单词可以由 2 个字符组成,如“OK”,或由 15 个字符组成,如“congratulations”。因此,最流行的深度模型像 DCNN 不能直接应用于序列预测,因为 DCNN 模型通常对具有固定维度的输入和输出进行操作,因此不能产生可变长度的标签序列。
已经针对特定的类似序列的对象(例如场景文本)进行了一些尝试来解决该问题。。这些方法通常需要训练强字符检测器,以便从原始单词图像中准确地检测和裁剪每个字符。一些其他方法将场景文本识别视为图像分类问题,并为每个英文单词(总共 9 万个词)分配一个类标签。结果是一个大的训练模型中有很多类,这很难泛化到其它类型的类序列对象,如中文文本,音乐配乐等,因为这种序列的基本组合数目可能大于 100 万。总之,目前基于 DCNN 的系统不能直接用于基于图像的序列识别。
循环神经网络(RNN)模型是深度神经网络家族中的另一个重要分支,主要是设计来处理序列。RNN 的优点之一是在训练和测试中不需要序列目标图像中每个元素的位置。然而,将输入目标图像转换成图像特征序列的预处理步骤通常是必需的。例如,Graves 等从手写文本中提取一系列几何或图像特征,而 Su 和 Lu 将字符图像转换为序列 HOG 特征。预处理步骤独立于流程中的后续组件,因此基于 RNN 的现有系统不能以端到端的方式进行训练和优化。
一些不是基于神经网络的传统场景文本识别方法也为这一领域带来了有见地的想法和新颖的表现。例如,Almaza`n 等人和 Rodriguez-Serrano 等人提出将单词图像和文本字符串嵌入到公共向量子空间中,并将词识别转换为检索问题。Yao 等人和 Gordo 等人使用中层特征进行场景文本识别。虽然在标准基准数据集上取得了有效的性能,但是前面的基于神经网络的算法以及本文提出的方法通常都优于这些方法。
本文的主要贡献是一种新颖的神经网络模型,其网络架构设计专门用于识别图像中的类序列对象。所提出的神经网络模型被称为卷积循环神经网络(CRNN),因为它是 DCNN 和 RNN 的组合。对于类序列对象,CRNN 与传统神经网络模型相比具有一些独特的优点:
- 可以直接从序列标签(例如单词)学习,不需要详细的标注(例如字符);
- 直接从图像数据学习信息表示时具有与 DCNN 相同的性质,既不需要手工特征也不需要预处理步骤,包括二值化/分割,组件定位等;
- 具有与 RNN 相同的性质,能够产生一系列标签;
- 对类序列对象的长度无约束,只需要在训练阶段和测试阶段对高度进行归一化;
- 与现有技术相比,它在场景文本(字识别)上获得更好或更具竞争力的表现。
- 它比标准 DCNN 模型包含的参数要少得多,占用更少的存储空间。
## 2. 提出的网络架构
如图 1 所示,CRNN 的网络架构由三部分组成,包括卷积层,循环层和转录层,从底向上。
![](https://www.writebug.com/myres/static/uploads/2021/12/30/c35c381e81f19f915f0327e84d4f3c6e.writebug)
Figure 1
图 1。网络架构。架构包括三部分:1) 卷积层,从输入图像中提取特征序列;2) 循环层,预测每一帧的标签分布;3) 转录层,将每一帧的预测变为最终的标签序列。
在 CRNN 的底部,卷积层自动从每个输入图像中提取特征序列。在卷积网络之上,构建了一个循环网络,用于对卷积层输出的特征序列的每一帧进行预测。采用 CRNN 顶部的转录层将循环层的每帧预测转化为标签序列。虽然 CRNN 由不同类型的网络架构(如 CNN 和 RNN)组成,但可以通过一个损失函数进行联合训练。
### 2.1. 特征序列提取
在 CRNN 模型中,通过采用标准 CNN 模型(去除全连接层)中的卷积层和最大池化层来构造卷积层的组件。这样的组件用于从输入图像中提取序列特征表示。在进入网络之前,所有的图像需要缩放到相同的高度。然后从卷积层组件产生的特征图中提取特征向量序列,这些特征向量序列作为循环层的输入。具体地,特征序列的每一个特征向量在特征图上按列从左到右生成。这意味着第 i 个特征向量是所有特征图第 i 列的连接。在我们的设置中每列的宽度固定为单个像素。
由于卷积层,最大池化层和元素激活函数在局部区域上执行,因此它们是平移不变的。因此,特征图的每列对应于原始图像的一个矩形区域(称为感受野),并且这些矩形区域与特征图上从左到右的相应列具有相同的顺序。如图 2 所示,特征序列中的每个向量关联一个感受野,并且可以被认为是该区域的图像描述符。
![](https://www.writebug.com/myres/static/uploads/2021/12/30/e35df01e0459189b448746f2c7b507c7.writebug)
Figure 2
图 2。感受野。提取的特征序列中的每一个向量关联输入图像的一个感受野,可认为是该区域的特征向量。
### 2.2. 序列标注
一个深度双向循环神经网络是建立在卷积层的顶部,作为循环层。循环层预测特征序列$x = x_1,...,x_T$中每一帧$x_t$的标签分布$y_t$。循环层的优点是三重的。首先,RNN 具有很强的捕获序列内上下文信息的能力。对�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本文的主要贡献是一种新颖的神经网络模型,其网络架构设计专门用于识别图像中的类序列对象。所提出的神经网络模型被称为卷积循环神经网络(CRNN),因为它是 DCNN 和 RNN 的组合。详细介绍参考:https://biyezuopin.blog.csdn.net/article/details/133918508
资源推荐
资源详情
资源评论
收起资源包目录
基于Python构建神经网络识别图片中的文字.zip (12个子文件)
基于Python构建神经网络识别图片中的文字
ocr_tensorflow
crnn
__init__.py 0B
crnn_model.py 4KB
crnn_train.py 0B
cnn
__init__.py 0B
cnn_train.py 8KB
gen_captcha.py 1KB
cnn_test.py 2KB
word_vec.py 682B
config.py 805B
LICENSE 1KB
.gitignore 91B
README.md 30KB
共 12 条
- 1
资源评论
shejizuopin
- 粉丝: 9988
- 资源: 1288
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 用第一背包问题的贪心算法完成的标签瀑布流
- 1photoshop基础教程-菜单中英文对照.doc
- 爱心代码c语言-爱心代码c语言源码.zip
- python爱心代码python爱心代码高级.zip
- 精美的SmartArt图(精美PPT制作素材245个)
- 2009photoshop试题及答案(八).doc
- python爱心代码高级python-bit-manipulation.rar
- python爱心代码高级python-backtracking.rar
- python爱心代码高级python-audio-filters.rar
- 生存世界28684--4008032458487170973-1493251025945.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功