【总结】cnn+bilstm+lstm 训练的一些技巧

预处理:

BLSTM 分为两类,第一类不支持变长输入,第二类支持变长输入. 显然,由于我们的手写体文本行的长度都是不固定的,所以采用的是支持变长输入的BLSTM. 这里的变长 不是指任意长度,而是多个固定长宽。
根据CASIA-HWDB2.0-2. 2 数据集中文本行图片的大小,采取的固定长宽分别为:
[240,130]、[400,180]、[560,180]、[640,180]、[800,180]、[950,200]、[1030,200]、[1210,180]、[1290,200 ]、[1370, 200]、[1450,200]、[1530,200]、[1610,180]、[1700,130]、[1700,170]、[1700,220]、[1800,130]、[1800,170]、[1800, 220]、[1800,300]、[1900,130]、[1900,170]、[1900,220]、[1900,300]、[2000,150]、[2000,220][2000,300]、[2100, 150]、[2100,220]、[2100,300]、[2200,260]、[2300,260]、[2600, 500]

根据图片的大小,从前往后判断当前图片的长宽所处的边界范围. 如果图片长和宽恰巧等于边界值,则不需改变图片; 否则需要根据边界的大小,将图片的右侧和下方加白边; 将图片大小超过[2600, 500]边界的图片直接归一化为[2600, 500]. 这样就把所有的图片按照大小分成33 类.并且为了高效的进行训练,把所有分类过后的图片进行归一化,长和宽分别设置为当前图片的二分之一(也就是进行一次resize,使得图片缩小,这样便于进行训练,也节省了空间和时间!!)

这篇论文的网址:Attention 机制在脱机中文手写体文本行识别中的应用

如果使用其他的数据集:

【Text Transcriptor】训练CRNN时,关于ctc_loss的几点注意事项

另外的一个crnn训练总结文:
原文链接: 建议看原文,我是怕原文挂了,才做一个转载备份一下。。。
https://www.cnblogs.com/shouhuxianjian/p/8036105.html
转载链接: crnn的一些训练技巧

你可能感兴趣的:(计算机视觉,图像处理,ocr文本识别,深度学习,图像处理,crnn,ocr)