CRNN是 Convolutional Recurrent Neural Network的缩写,是一种端到端的文字识别的网络。
原文链接:https://arxiv.org/pdf/1507.05717v1.pdf
<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/ <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 <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
热门工具 换一换