对于OCR文字识别技术,可以从两种途径获得:
是公司内部自建AI团队,搭建技术框架,准备数据,训练算法,并包装成接口供业务层调用。
是从外部得到技术支持,调用AI开放平台提供的云服务接口,获得通用OCR文字识别技术。
实践过程中,两种方案各有利弊,需要从公司资源和业务规划层面评估,哪种方案是最好的,下面来介绍两种方案的实现。
1.自研发OCR文字识别
自己团队研发OCR技术,实践中的关键点在于如何设计网络结构和合成训练数据。虽然有公开数据集,但是数据集并不一定完全吻合自身业务,可能需要自建数据集,或多个数据集筛选整合到一起,如何获取高质量的数据集和训练出高识别率的网络结构,是AI技术的团队的核心工作。
1)数据集
OCR算法训练最有难度的是数据,一方面是训练数据集大。普遍应用的深度学习OCR技术,需要大量的数据来保证训练效果,此外,中文汉字库非常大,一级字库有个汉字,再加上三级字库,就有上万个汉字,印刷体汉字还有9种常用的字体,手写体汉字更是千人千面,这些组成一个庞大的数据集。
另一方面数据集图片种类多,数据标注成本高。OCR场景图片识别会有很多因素影响识别效果,如复杂背景、艺术字体、低分辨率、非均匀光照、图像退化、字符变现、多语言混合、文本行复杂版式、检测框字符残缺等等,有效的数据集需要包含这些关联因素。
根据功能定义,OCR文字识别技术需要识别中文和数字,兼容印刷体识别和手写体识别,未来需要扩展英文识别。
对于手写体识别数据集,选择中科院自动化研究所的公开收集。对于印刷体识别数据集获取方式是:公开数据集+合成数据,公开数据集主要来自ICDAR比赛和AI研究机构。
除此之外,需要自己合成数据,来进行数据增强,对于数据增强需要考虑字体、形变、模糊、噪声、背景变化等因素。合成数据可以弥补深度学习数据量和数据多样性不够的问题,使训练出来的模型泛化能力更好。
一般我们获取到的是最原始的数据集,会有不同的格式,在图像深度学习训练中我们一般都会把原始数据集转化为统一的数据格式以方便后续的网络训练。
数据堂通过研判行业趋势,借助自主研发的“基于Human-in-the--loop”人机交互参与的人工智能数据加工平台,已积累超过TB的自有版权数据资产,形成余套自有数据产品,满足不同领域客户的人工智能产品研发需求。数据产品涵盖生物识别、语音识别、自动驾驶、智能家居、智能制造、新零售、OCR场景、智能医疗、智能交通、智能安防、手机娱乐等领域。此外,数据堂还为客户提供数据定制服务与人工智能数据处理平台私有化部署服务,针对用户的个性化需求完成数据采集与处理任务。
2)框架工具
OCR技术已经从传统OCR发展到深度学习OCR,并已成为主流趋势,所以需要选择深度学习框架和工具进行算法训练。
常用工具有下面几种:
Tesseract:
Tesseract是一款很流行的开源OCR引擎,它的特点是开源、免费、支持多语言、多平台,是一直以来使用比较普通的OCR工具,可以快速搭建图文识别系统。它可以读取各种格式的图像并将它们转化成超过60种语言的文本,但是中文的识别效果不理想,需要使用自己的库进行训练,开发符合自身需求的OCR引擎。
以前的Tesseract是基于传统机器学习的引擎,现在Tesseract(v4)最新版本支持基于深度学习的OCR。底层的OCR引擎使用的是一种循环神经网络(RNN)——LSTM网络,准确率显著提高,更符合当前的深度学习OCR趋势。因为使用的是别人的OCR引擎,所以自己优化网络结构提高识别率的灵活性差。
Tensorflow:
Tensorflow是非常流行的深度学习框架,尤其是对图像处理有很好的效果,基于其深度学习库,可以很好的进行OCR文字识别训练。
使用Tensorflow虽然没有Tessract效率高,但是有更高的灵活性和探索性,基于深度学习库的使用,可以设计出更适应业务需求的网络结构,更好的提高OCR识别效率。对于研发能力强的团队,更倾向于使用基础框架,自己设计网络结构。
OpenCV:
OpenCV是一个跨平台的开源计算机视觉库,提供基本的计算机视觉、图像处理和模式识别的开源项目,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV模块支持Caffe、TensorFlow、Torch、PyTorch等深度学习框架应用于OCR领域,可用于检测、识别自然场景图像中的文本。OpenCV在数据增强方面价值尤其突出,通过合成数据集,训练算法,提高OCR识别率。
3)框架设计
设计网络结构是OCR实践中的另外一个关键点。识别文字建模为一个多分类任务,比如个文字识别就需要个类别的分类任务,实际训练中可能有上万个分类。
深度学习OCR框架通常包括文字检测和文字识别2个模块,文字检测是通过检测算法定位到文本行,然后通过文字识别算法阅读出文本行的内容。
转载请注明:http://www.0431gb208.com/sjszlff/4933.html