OCR 已经广泛地应用于身份认证、财税报销、文档电子化等场景。
项目地址在文末!
今天和大家介绍一个超轻量级的中文 OCR 项目,目前这个项目已在 GitHub 上标星 6.7k。
本项目基于 chineseocr 与 psenet 实现中文自然场景文字检测及识别,支持竖排文字识别,支持 ncnn、mnn、tnn 推理 ( dbnet(1.8M) crnn(2.5M) anglenet(378KB)) 总模型仅 4.7 M。
该模型功能完善,使用起来也极其简单,入手非常容易,很适合新手或者应用在比较通用的场景。
我们先看下部署工作。
环境
- python3.6
- linux/macos/windows
web服务启动
cd chineseocr_lite
python backend/main.py
如此轻量级的模型,识别效果如何呢,话不多说,上图:
从识别效果上看很不错,项目还提供了 python 代码翻译为各种语言的 Demo 以及基于本项目的一些第三方 Demo。 C Demo
位置:chineseocr_lite/tree/onnx/cpp_projects
- onnxruntime C demo,支持 Windows、linux、macOS,目前仅支持 cpu 计算。
- ncnn C demo,支持 Windows、linux、macOS,分为 cpu 版与 gpu 版,gpu 版使用 ncnn vulkan 来支持 gpu 加速。
JVM Demo
位置:chineseocr_lite/tree/onnx/jvm_projects
- onnxruntime jvm demo,以 onnxruntime C 为基础,编译成 jni 供 java 或 kotlin 调用。
- ncnn jvm demo,以 ncnn C 为基础,编译成 jni 供 java 或 kotlin 调用,同样分为 cpu 版与 gpu 版。 Android Demo
位置:chineseocr_lite/tree/onnx/android_projects
- onnxruntime android demo,以 onnxruntime C 为基础,整合为一个独立的 android 模块供 app 调用。
- ncnn jvm android demo,以 ncnn C 为 基础,整合为一个独立的 android 模块供 app 调用,同样分为 cpu 版与 gpu 版。
.Net Demo
位置:chineseocr_lite/tree/onnx/dotnet_projects
- onnxruntime c# demo,完全以 C# 编写的 onnxruntime demo。
- onnxruntime vb.net demo,完全以 VB 编写的 onnxruntime demo。
第三方 Demo
根据本项目,基于 TNN 实现的轻量级中文字符 ocr demo,支持 iOS 和 Android 系统,凭借 TNN 优化的 CPU(ARMv7、ARMv8) 和 GPU(OpenCL、Metal) 后端加速模型计算。
接下来我们来看下第三方的应用效果。
Android 识别展示
.Net Demo 识别展示
第三方 TNN Demo 识别展示
从这些第三方应用上看这款轻量级 OCR 识别效果也很优秀。
最后附上 GitHub 项目地址:https://github.com/DayBreak-u/chineseocr_lite,感兴趣的小伙伴快去学习吧。