发布时间:2020-07-05 14:20:38来源:机器之心
机器之心报道
参与:路
EasyOCR支持40多种语言,所需的GPU内存为2GB+,并且支持在CPU模式中运行。
OCR(光学字符识别)是是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。目前,这项技术在拍照搜题、拍照翻译等应用中得到广泛使用。
今天,我们来介绍一个支持40多种语言的OCR库:EasyOCR。
GitHub地址:https://github.com/JaidedAI/EasyOCR
该OCR库使用深度神经网络构建而成:CNN+LSTM+CTCloss,包含三个解码器可选项:贪心搜索、束搜索和词束搜索(word-beamsearch)。
据介绍,EasyOCR的性能可与商业API解决方案媲美,且已开源,支持本地运行,因此适合关注数据隐私和适应性的人使用。
作者表示:与标准的开源OCR工具Tesseract相比,EasyOCR的准确率更高,不过速度稍慢。
支持40+种语言,识别效果优秀
EasyOCR支持对42多种语言执行OCR识别,包括简繁中文、日语、韩语、英语、德语、乌兹别克语、越南语、斯瓦希里语等。
EasyOCR支持的语言清单。
下图展示了EasyOCR的识别效果:
EasyOCR的识别结果
此外,EasyOCR所需的GPU内存为2GB+,并且支持在CPU模式中运行,因此具备较强的实用性。
EasyOCR的原理
如前所述,EasyOCR利用CNN+LSTM+CTCloss构建而成,包括三个解码器可选项:贪心搜索、束搜索和词束搜索(word-beamsearch)。其中检测部分基于CRAFT算法预训练得到,识别部分则基于作者自有数据集训练得到。
CRAFT是一个字符级别的文本检测网络,使用分水岭算法生成label,采用heatmap得到激活值最大的目标区域。
EasyOCR使用了CRAFT文本检测器的官方Pytorch实现。
CRAFT实现地址:https://github.com/clovaai/CRAFT-pytorch
在处理过程中,EasyOCR对输入图像中的每一行文字提供[location,text,modelconfident]结果,如下图所示:
对于给定图像,EasyOCR分别对图像中的每一行文字提供[location,text,modelconfident]结果。
此外,使用者还可以在不同的数据集上对模型进行重新训练,不过目前项目作者尚未放出训练脚本。开发者可以参考该库https://github.com/clovaai/deep-text-recognition-benchmark进行模型重训练。
关于EasyOCR的更多细节及代码详情,参见GitHub项目地址。
本文为机器之心报道,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者/实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告&商务合作:bd@jiqizhixin.com