GitHub 开源:17M 超轻量级中文 OCR 模型、支持 NCNN 推理
1、项目简介
近期 GitHub 上一位大神开源了一个叫做chineseocr_lite的 OCR 的项目,这是一个超轻量级中文 OCR,支持竖排文字识别、NCNN 推理,识别模型型仅 17M(Psenet (8.5M) + crnn (6.3M) + anglenet (1.5M))。
以下为可实现的功能:
提供轻量的 backone 检测模型 psenet(8.5M),crnn_lstm_lite (9.5M) 和行文本方向分类网络(1.5M);
任意方向文字检测,识别时判断行文本方向;
crnn\crnn_lite lstm\dense 识别(ocr-dense 和 ocr-lstm 是搬运 chineseocr 的);
支持竖排文本识别;
ncnn 实现 psenet(未实现核扩展);
ncnn 实现 crnn_dense(改变了全连接为 conv1x1);
ncnn 实现 shuuflenev2 角度分类网络;
ncnn 实现 ocr 整个流程。
2、项目配置
该作者已经将所需的第三方库归纳到 requirements.txt 文件中,可以直接输入以下指令批量安装:
安装成功效果如下所示:
使用作者的图片上传验证,测试无误。
3、问题解决
最最最重要的问题来了,这个项目配置环境是真的艰难啊!Window 系统下配置环境过程中可能会遇到的问题归纳如下所示:
问题 1:Python 模块问题:ImportError: cannot import name 'PILLOW_VERSION' from 'PIL'
解决方法:使用 from PIL import Image, ImageOps, ImageEnhance, __version__ 替换文件中 from PIL import Image, ImageOps, ImageEnhance,PILLOW_VERSION 这句,就是用__version__ 替换原来的 PILLOW_VERSION。
问题 2:File "D:\Python3.7.4\lib\subprocess.py", line 1178, in _execute_child startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定的文件。
解决方法:到该文件路径下将 shell 配置为 True。
问题 3:RuntimeError: Cannot compile pse: C:\Users\13450\Desktop\chineseocr_lite-master\psenet\pse
解决方法:到该文件路径下屏蔽以下两句 Linux 语句。
问题 4:File "D:\Python3.7.4\lib\site-packages\torch\nn\modules\rnn.py", line 123, in flatten_parameters self.batch_first, bool(self.bidirectional)) RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED
解决方法:进入PyTorch官网,选择合适自己的版本,这里我是用的是 CPU 编译。
问题 5:UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 551: illegal multibyte sequence
解决方法:添加编码, encoding='UTF-8'。
问题 6:File "D:\Python3.7.4\lib\site-packages\cheroot\wsgi.py", line 145, in respond for chunk in filter(None, response): RuntimeError: generator raised StopIteration
解决方法:添加以下两行异常处理。
这里将自己配置好的项目分享给大家,可以关注我的微信公众号,回复关键字:中文 OCR,获取项目。
版权声明: 本文为 InfoQ 作者【不脱发的程序猿】的原创文章。
原文链接:【http://xie.infoq.cn/article/a610797f32c32366c85b8148d】。文章转载请联系作者。
评论