首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于PaddlePaddle 2.0动态图实现的CRNN文字识别模型

CRNN 本项目是PaddlePaddle 2.0动态图实现的CRNN文字识别模型,可支持长短不一的图片输入。CRNN是一种端到端的识别模式,不需要通过分割图片即可完成图片中全部的文字识别。...CRNN的结构主要是CNN+RNN+CTC,它们分别的作用是,使用深度CNN,对输入图像提取特征,得到特征图。...CRNN的结构如下,一张高为32的图片,宽度随意,一张图片经过多层卷积之后,高度就变成了1,经过paddle.squeeze()就去掉了高度,也就说从输入的图片BCHW经过卷积之后就成了BCW。...然后把特征顺序从BCW改为WBC输入到RNN中,经过两次的RNN之后,模型的最终输入为(W, B, Class_num)。这恰好是CTCLoss函数的输入。...预测 训练结束之后,使用保存的模型进行预测。通过修改image_path指定需要预测的图片路径,解码方法,笔者使用了一个最简单的贪心策略。

1.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

CRNN论文翻译——中文版

本文的主要贡献是一种新颖的神经网络模型,其网络架构设计专门用于识别图像中的类序列对象。所提出的神经网络模型被称为卷积循环神经网络(CRNN),因为它是DCNN和RNN的组合。...特征序列提取 在CRNN模型中,通过采用标准CNN模型(去除全连接层)中的卷积层和最大池化层来构造卷积层的组件。这样的组件用于从输入图像中提取序列特征表示。...即使CRNN模型是在纯合成文本数据上训练,但它在标准文本识别基准数据集的真实图像上工作良好。...在CRNN中,所有的层有权重共享连接,不需要全连接层。因此,CRNN的参数数量远小于CNN变体[22,21]所得到的模型,导致与[22,21]相比,模型要小得多。...此外,由于CRNN放弃了传统神经网络中使用的全连接层,因此得到了更加紧凑和高效的模型。所有这些属性使得CRNN成为一种基于图像序列识别的极好方法。

2.3K80

卷积神经网络CNN,CRNN

上图中CNN要做的事情是:给定一张图片,是车还是马未知,是什么车也未知,现在需要模型判断这张图片里具体是一个什么东西,总之输出一个结果:如果是车 那是什么车。...**相当于提取图像的不同特征,模型就能够学习到多种特征。**用不同的滤波器filter,提取想要的关于图像的特定信息:颜色深浅或轮廓。如下图所示。 ?...ZF Net, 2013 ILSVRC比赛冠军 GoogLeNet, 2014 ILSVRC比赛冠军 VGGNet, 2014 ILSVRC比赛中的模型,图像识别略差于GoogLeNet,但是在很多图像转化学习问题...3.1.1 思路1:识别+定位过程 识别可以看作多分类问题(用softmax),用别人训练好的CNN模型做fine-tune 定位的目标是(x,y,w,h)是连续值,当回归问题解决(mse) 在1的CNN...尾部展开(例如把最后一层拿开),接上一个(x,y,w,h)的神经网络,成为classification+regression的模型

2.1K10

CRNN论文翻译——中英文对照

本文的主要贡献是一种新颖的神经网络模型,其网络架构设计专门用于识别图像中的类序列对象。所提出的神经网络模型被称为卷积循环神经网络(CRNN),因为它是DCNN和RNN的组合。...特征序列提取 在CRNN模型中,通过采用标准CNN模型(去除全连接层)中的卷积层和最大池化层来构造卷积层的组件。这样的组件用于从输入图像中提取序列特征表示。...即使CRNN模型是在纯合成文本数据上训练,但它在标准文本识别基准数据集的真实图像上工作良好。...从表3可以看出,只有基于深度神经网络的模型,包括[22,21]以及CRNN具有这种性质。...因此,CRNN的参数数量远小于CNN变体[22,21]所得到的模型,导致与[22,21]相比,模型要小得多。

2K00

CV学习笔记(二十一):CRNN+CTC

上次的一篇文章说了下DenseNet,这一篇文章来说一下CRNN+CTC的识别原理以及实现过程。...现在端到端的识别主要有两种比较流行的方式,以银行卡OCR识别为例: CRNN+CTC,CNN+Seq2Seq+Attention是比较流行的方式,CRNN用的会更广泛些,因为Attention机制限制会比较大些...,而这两者最主要的区别也就在这,两者都抛弃了softmax,而CRNN用了CTC来最后文本对齐,而CNN用了Attention机制,这也是端到端的难点所在:如何处理不定长序列对齐问题 二:CRNN+CTC...结构 CRNN(卷积循环神经网络),顾名思义就是CNN+RNN的组合,论文中也提到,模型既有CNN强大的提取特征的能力,又有与RNN相同的性质,能够产生一系列序列化标签。...这篇文章的难点在于: ①:使用深度双层RNN ②:使用CTC(CTC原理极其难懂) 三:CRNN代码 CRNN算法输入100*32归一化高度的词条图像,基于7层CNN(普遍使用VGG16)提取特征图,把特征图按列切分

1.9K70

CV学习笔记(二十一):CRNN+CTC

上次的一篇文章说了下DenseNet,这一篇文章来说一下CRNN+CTC的识别原理以及实现过程。...CRNN+CTC,CNN+Seq2Seq+Attention是比较流行的方式,CRNN用的会更广泛些,因为Attention机制限制会比较大些,而这两者最主要的区别也就在这,两者都抛弃了softmax,...而CRNN用了CTC来最后文本对齐,而CNN用了Attention机制,这也是端到端的难点所在:如何处理不定长序列对齐问题 二:CRNN+CTC结构 CRNN(卷积循环神经网络),顾名思义就是CNN+RNN...的组合,论文中也提到,模型既有CNN强大的提取特征的能力,又有与RNN相同的性质,能够产生一系列序列化标签。...这篇文章的难点在于: ①:使用深度双层RNN ②:使用CTC(CTC原理极其难懂) 三:CRNN代码 CRNN算法输入100*32归一化高度的词条图像,基于7层CNN(普遍使用VGG16)提取特征图,把特征图按列切分

81540

EAST、PixelLink、TextBoxes++、DBNet、CRNN…你都掌握了吗?一文总结OCR必备经典模型(二)

关于CRNN我们会在后文“文字识别模型”章节中详细介绍。 项目 SOTA!平台项目详情页 TextBoxes++ 前往 SOTA!...模型平台获取实现资源:https://sota.jiqizhixin.com/project/dbnet_1 二、文字识别模型 1、 CRNN CRNN 全称为 Convolutional Recurrent...CRNN不用先对单个文字进行切割,而是将文本识别转化为时序依赖的序列学习问题,就是基于图像的序列识别。CRNN是最经典的文字识别模型。...此外,如表1所示,CRNN 还引入了BatchNormalization模块,加速模型收敛,缩短训练过程。...在CRNN模型中,卷积层的组件是通过从标准CNN模型中提取卷积层和最大集合层来构建的(移除全连接层)。使用该组件从输入图像中提取一个连续的特征表示。在送入网络之前,所有的图像都需要缩放到相同的高度。

64031

EAST+CRNN银行卡号识别,附数据集

卡号识别(CNN-BLSTM-CTC) 卡号定位 (EAST) 交互界面 (PyQt5) 使用方法 下载源码 下载训练好的模型 卡号识别模型放置于crnn/model(建立model文件夹),卡号定位模型放置于...east/model 使用PyCharm打开(或其他IDE),或者直接执行python demo.py 出现GUI后即可使用 注*:因CRNN模型代码更新,此模型故已弃用。...这个模型不好的地方是训练。训练参数可以在crnn/cfg.py中设置,性能较为一般的显卡推荐使用默认设置,性能卓越的显卡可以增大BATCH_SIZE或EPOCH。识别效果如下图: ?...模型的训练方法如下: 下载预训练模型.并将其路径写入crnn/cfg.py的PRE_TRAINED_MODEL_PATH变量中 python crnn/preprocess.py python crnn.../run.py 注:模型训练的数据集是由子数据集(4-6个)拼凑而成的不定长度的数据,crnn/cfg.py中的MAX_LABEL_LENGTH用来设置数据的最大长度。

5K50

GitHub 热榜:文字识别神器,超轻量级中文 OCR!

近期,这个叫做 chineseocr_lite 的 OCR 项目开源了,这是一个超轻量级中文 ocr,支持竖排文字识别,支持 ncnn 推理,psenet (8.5M) + crnn (6.3M) +...anglenet (1.5M) 总模型仅 17M。...以下为可实现的功能: 提供轻量的 backone 检测模型 psenet(8.5M),crnn_lstm_lite (9.5M) 和行文本方向分类网络(1.5M) 任意方向文字检测,识别时判断行文本方向...crnn\crnn_lite lstm\dense 识别(ocr-dense 和 ocr-lstm 是搬运 chineseocr 的) 支持竖排文本识别 ncnn 实现 psenet(未实现核扩展...nihui 大佬实现的 crnn_lstm 推理 升级 crnn_lite_lstm_dw.pth 模型 crnn_lite_lstm_dw_v2.pth , 精度更高 提供竖排文字样例以及字体库(旋转

2.7K10

超轻量级中文OCR,支持竖排文字识别、ncnn推理,总模型仅17M

(1.5M) 总模型仅17M。...以下为可实现的功能: 提供轻量的 backone 检测模型 psenet(8.5M),crnn_lstm_lite (9.5M) 和行文本方向分类网络(1.5M) 任意方向文字检测,识别时判断行文本方向...crnn\crnn_lite lstm\dense识别(ocr-dense和ocr-lstm是搬运chineseocr 的) 支持竖排文本识别 ncnn实现psenet(未实现核扩展) ncnn实现...crnn_dense(改变了全连接为conv1x1) ncnn实现shuuflenev2角度分类网络 ncnn实现ocr整个流程 最近,项目作者对更新了可实现的功能。...nihui大佬实现的crnn_lstm推理 升级crnn_lite_lstm_dw.pth模型crnn_lite_lstm_dw_v2.pth , 精度更高 提供竖排文字样例以及字体库(旋转90度的字体

3.8K30

基于深度学习的自然场景文字检测及端到端的OCR中文文字识别

EndToEnd文本识别网络-CRNN(CNN+GRU/LSTM+CTC) 文字方向检测-vgg分类 基于图像分类,在VGG16模型的基础上,训练0、90、180、270度检测的分类模型..../train/keras_train/train_batch.py model_path--指向预训练权重位置 MODEL_PATH---指向模型训练保存的位置keras模型预训练权重 pythorch.../train/pytorch-train/crnn_main.py parser.add_argument( '--crnn', help="path to crnn (to continue...可以看到,对于纯文字的识别结果还是阔以的呢,感觉可以在crnn网络在加以改进,现在的crnn中的cnn有点浅,并且rnn层为单层双向+attention,目前正在针对这个地方进行改动,使用迁移学习,以restnet...为特征提取层,使用多层双向动态rnn+attention+ctc的机制,将模型加深,目前正在进行模型搭建,结果好的话就发上来。

2.3K40

GitHub 热榜:文字识别神器,超轻量级中文 OCR!

近期,这个叫做 chineseocr_lite 的 OCR 项目开源了,这是一个超轻量级中文 ocr,支持竖排文字识别,支持 ncnn 推理,psenet (8.5M) + crnn (6.3M) +...anglenet (1.5M) 总模型仅 17M。...以下为可实现的功能: 提供轻量的 backone 检测模型 psenet(8.5M),crnn_lstm_lite (9.5M) 和行文本方向分类网络(1.5M) 任意方向文字检测,识别时判断行文本方向...crnn\crnn_lite lstm\dense 识别(ocr-dense 和 ocr-lstm 是搬运 chineseocr 的) 支持竖排文本识别 ncnn 实现 psenet(未实现核扩展...nihui 大佬实现的 crnn_lstm 推理 升级 crnn_lite_lstm_dw.pth 模型 crnn_lite_lstm_dw_v2.pth , 精度更高 提供竖排文字样例以及字体库(旋转

2.9K20

JCIM| 通过以蛋白质结合位点3D信息为条件的分子生成模型进行从头分子设计

该文提出了一种新的生成模型,该模型通过将蛋白质结合口袋的3D结构信息整合到条件RNN(cRNN)模型中,以控制类药分子的生成。...该文使用EGCM方法以及DeeplyTough方法来训练cRNN模型并评估其性能。...1 cRNN生成模型 图1 构建cRNN分子生成模型示意图 (a)计算EGCM描述符 (b)计算DeeplyTough描述符 (c)口袋结构约束下cRNN分子生成模型的工作流程 本文使用基于EGCM和...DeeplyTough的方法分别生成复合物结合口袋的描述符,然后使用cRNN模型进行分子生成。...cRNN模型包括:(1)一个具有两个控制层的控制模块,(2)一个具有两个RNN层的SMILES生成器,(3)一个dense层。

1.1K41
领券