OCR浅解析

前几天由于老师的课题关系去了解了一下OCR 方面的知识。总结一下,当然都是浅解析的点。(很可能由于认知不足存在问题……)

1、关于发展历史。一开始的OCR 是从报刊行业发展而来,由于印刷的关系,字的光电反应(还是别的什么?)和没有字的地方不同,这是最早的OCR,然后应用于了复印,传真这些方面。在后来是为了方便盲人的生活,OCR用于分辨书籍中的字然后用软件读出来。渐渐地应用于邮政分类等方面。现在发展最成熟的应该就是邮政分类方面的字符识别了。然后,关于印刷体的英文和中文其实现在都已经识别地很靠谱了,唯一卡着的是关于汉字手写体的识别。现有的识别引擎有百度,谷歌的各种,但是据说对于手写体的汉字还是不太行(据说,我没试过。)

2、手写体汉字的难点。一是关于手写体汉字的错别字和就是太潦草,导致识别不出来。二是手写体排版不固定,关于字符分割问题难以解决,针对那种排版很神奇的字条。三是关于神经网络的,汉字的像素过多,而且种类过多,需要将图片进行压缩,然而压缩后必然存在难以区分的问题,这是CNN的通病,但是据说现在有新的黑科技是针对这个的,我正打算去研究研究。具体网络貌似是LSTM的,端对端。等我研究完在总结一下。

3、关于实践。好奇心过重,稍稍尝试了一下。图像处理方面使用的是opencv。神经网络,tensorflow+keras。(ps:个人感觉keras还是挺好用的,强烈安利一波)

实验了一波,效果一般般吧,流程算是跑通了,但是就是吃亏在CNN这个算法的缺陷上面,需要再去看看资料。

4、关于手写体的提醒。

http://www.nlpr.ia.ac.cn/databases/download/feature_data/HWDB1.1trn_gnt.zip http://www.nlpr.ia.ac.cn/databases/download/feature_data/HWDB1.1tst_gnt.zip 中科院自动化研究所 (训练数据所在地)

解压后trn是alz文件需要再解压 解压后为gnt文件可以直接读取,其中包含了标签和图像 读取需谨慎 635820 *(size不定)图+标签

建议直接读取gnt文件,转译成为图片的话太大了,实在太大了。另外建议用个好一点的电脑不然在读取训练集上面可能那就卡死机了。