github地址
https://github.com/PaddlePaddle/PaddleOCR
基于PaddlePaddle的超棒多语言OCR工具包(实用的超轻量级OCR系统,支持80多种语言识别,提供数据标注和合成工具,支持在服务器、移动、嵌入式和物联网设备之间训练和部署)
PaddleOCR旨在打造一套丰富、领先、实用的OCR工具库,帮助开发者训练出更好的模型,并应用落地。
特点
支持多种OCR相关前沿算法,在此基础上打造产业级特色模型PP-OCR、PP-Structure和PP-ChatOCR,并打通数据生产、模型、压缩、预测全部署流程
使用场景
参考文章
《HomeLab迷你小主机(x86):Docker部署开源无纸化电子文档paperless-ngx》
上次部署的电子文档并不能很好的识别发票和证件上的中英文等内容,虽然它内置了ocr,但是只对英文友好,不支持中文
本文需要继续单独部署ocr,来识别一些重要票据,如房租,发票等,方便后续电子文档关键词检索
所以ocr的要求是
-
能自部署,且开源免费
-
能精准的识别中文和英文
-
能同时识别中文,英文,数字等
github搜索关键词ocr
查询到结果如图,按star的从多到少排序
可以看到以下ocr项目
-
PaddlePaddle/PaddleOCR
-
naptha/tesseract.js
-
JaidedAI/EasyOCR
以上几种印象中是开源免费可以自部署(具体请自行查看对应的官方文档描述)
放一张测试用的票据,如深圳国际车展票据
使用以上3种ocr提供的demo示例网站来测试
PaddlePaddle/PaddleOCR
可以看到很好的识别中文,英文和数字,并且保持每个内容的行和间距等
PS:
这个需要开通免费体验的0/0小时的模型后台才能使用
naptha/tesseract.js
体验地址
http://tesseract.projectnaptha.com/
体验效果
官方给的网站只能一次识别一种语言,且识别的效果并不精准
JaidedAI/EasyOCR
体验地址
https://www.jaided.ai/easyocr/
体验效果
虽说可以指定同时识别多种语言,但是示例识别的结果完全看不懂,不怎么精准
最终结果
PaddlePaddle/PaddleOCR无论是功能上还是识别结果展示上,都完胜naptha/tesseract.js和JaidedAI/EasyOCR
至少对于ocr识别深圳国际车展这个票据,只有PaddlePaddle/PaddleOCR合格
官网安装文档
https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/doc/doc_ch/quickstart.md
具体安装以官方的文档为准,本文不演示脚本和whl包,也不演示python
看到docker images上有一个对应的镜像
docker images地址
https://hub.docker.com/r/paddlecloud/paddleocr
但是只有4K的下载,更新也是在4个月前,并且这个镜像是通过关键词搜索而来,非官方地址跳转,是否可用,待测试,至少这个版本肯定是滞后4个月
参考文档
https://github.com/PaddlePaddle/PaddleCloud/blob/main/samples/PaddleOCR/PP-OCRv3.md
拉取镜像完全没反应
不清楚是网络问题还是镜像问题等
文档也看起来复杂,所以放弃docker部署
本文对比了我所知的3个ocr效果
尝试docker部署PaddleOCR失败
再慢慢研究PaddleOCR其他部署方式,并结合电子文档等使用
其他2个ocr也可以部署,对于单英文或者单中文的场景,也有使用场景
END.
觉得本文还行,不妨顺手点赞和收藏,下期见。
推荐阅读
《HomeLab迷你小主机(x86):Docker部署开源跨平台ChatGPT应用Next-Web》
☕ 朋友,都看到这了,确定不关注一下么? 👇