tf识别非固定长度图片ocr(数字+字母 n位长度可变)- CNN+RNN+CTC

Posted aarond

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tf识别非固定长度图片ocr(数字+字母 n位长度可变)- CNN+RNN+CTC相关的知识,希望对你有一定的参考价值。

先安装必须的库

tensorflow_gpu==1.15.0
numpy
opencv_python

 

github: 

https://github.com/bai-shang/crnn_ctc_ocr_tf

  

下载数据集:

http://www.robots.ox.ac.uk/~vgg/data/text/mjsynth.tar.gz
要10G

然后解压缩,估计完整解压完需要1天

技术图片

 

 

技术图片

 

 

 技术图片

 

 

find ./mnt/ | xargs ls -d | grep jpg > image_list_all.txt

# use some of data to train and eval
cat image_list_all.txt | head -n 1000 > image_list.txt

  

技术图片

 

 技术图片

 

 这个文件的图片txt将会作为输入,然后生成tfrecord

python create_synth90k_tfrecord.py --image_dir C:UsersMcKayPycharmProjects	est8	fdemodata --anno_file ./image_list.txt --char_map_json_file ../char_map/char_map.json

  

 技术图片

 

 

然后就是训练了

技术图片

 

 

参数:

--data_dir ../data/tfrecords/ --model_dir ./model/ --batch_size 32 --char_map_json_file ../char_map/char_map.json

  

技术图片

 

 

没有GPU,训练了4个小时,也只是7%的正确率

 

果断中断,有缘再用GPU训练。

 

以上是关于tf识别非固定长度图片ocr(数字+字母 n位长度可变)- CNN+RNN+CTC的主要内容,如果未能解决你的问题,请参考以下文章

Java生成随机数(n位长度,字母+数字)

js生成随机码(只含有数字和字母的随机码)

验证码识别技术

tf识别单张图片ocr(0到9的识别)- CNN方式

密码由 6-16 位数字、字母或符号组成,至少包含 2 种字符。 保存

具有至少 1 个数字和 1 个字符且固定长度为 11 的字母数字字符串的正则表达式