基于CNN的文字识别--总结

一 网络结构

   文字识别(非手写体)相对容易,CNN网络结构基本4层就可以跑出较好的结果;模型收敛也较为容易,加上dropout收敛也很快,一两个小时就能收敛到90%多(titanX).

二 训练样本

   当然,人力、财力、时间有保证的话,收集实际样本效果肯定会好些,没这些条件的话,人工生成样本也不错。一个字几百上千个样本基本靠谱,但是,要注意样本最好要hard。

三 经验

 1 由于验证集、训练集都是自己生成的,so,通过验证集判断模型有没有过拟合就不靠谱了。。。模型熟练到98%后,就开始过拟合,而验证集准确率还在上升。。so,验证集还是人工标注生成吧
 2 在训练时,我把softmax输出类别设置为字符类别数,得到提取字符特征的模型,同时也拿来对字符分类;用模型提取的特征,当图像文字/非文字进行判断(方法包括训练分类器,或是直接在网络后面用softmax输出值进行阈值判断,小于阈值认为是非文本)时,发现效果不是太好。可能是特征提取的有问题,《Deep Features for Text Spotting》文章中在模型训练时,有一个背景类别,这样提取出的特征可能对文字、非文字区分性更强些?下一步可以试试。
 3  犯了一些低级错误,有时候越怕麻烦越麻烦,事情还是得一步一步踏踏实实的去做,文章还是得一篇篇去读,算法还是得一个个去啃,代码还是得一行行去写,工资还是得一块块去长。。额。。我排比不下去了,哈哈~

你可能感兴趣的:(深度学习)