CRNN--文本识别

CRNN是一种结合了卷积神经网络(CNN)、双向长短期记忆网络(BiLSTM)及连接时序分类(CTC)的端到端文字识别模型。该模型能够高效地识别任意长度的文本序列,无需字符分割或水平缩放操作。本文介绍CRNN的结构特点、优势及基于PyTorch的环境配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CRNN是 Convolutional Recurrent Neural Network的缩写,是一种端到端的文字识别的网络。

原文链接:https://arxiv.org/pdf/1507.05717v1.pdf

CRNN由CNN+BiLSTM+CTC构成:


网络结构:


网络结构综合了CNN+RNN

(1)其中Max pooling中的窗口大小为1*2,保证提出的特征具有横向的长度,有利于识别较长的文本;

(2)CNN+RNN的训练比较困难,所以加入了BatchNorm,有助于模型收敛;

优势

(1)可以端到端训练;

(2)不需要进行字符分割和水平缩放操作,只需要垂直方向缩放到固定长度即可,同时可以识别任意长度的序列;

(3)可以训练基于字典的模型和不基于词典的任意模型;

(4)训练速度快,并且模型很小。


crnn.pytorch环境配置

下面介绍一下利用pytorch实现的crnn环境配置。

安装pytorch

网站http://pytorch.org/给出了对于不同的环境安装pytorch的命令。本人选择如下:


因此安装命令如下:

pip install http://download.pytorch.org/whl/cu90/torch-0.3.1-cp27-cp27mu-linux_x86_64.whl 
pip install torchvision 

安装lmdb

pip install lmdb

下载rcnn源代码

git clone https://github.com/meijieru/crnn.pytorch --recursive

下载预训练的模型

下载地址:https://pan.baidu.com/s/1pLbeCND

将crnn.pth放到data/路径下

测试

python demo.py

输出:

loading pretrained model from ./data/crnn.pth
a-----v--a-i-l-a-bb-l-e--- => available  

参考:

[1] https://github.com/meijieru/crnn.pytorch

[2] https://blog.csdn.net/qq_14845119/article/details/78934334

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值