实测超轻量中文OCR开源项目,总模型仅17M

标签: tuicool | 发表时间:2020-03-08 00:00 | 作者:
出处:http://itindex.net/relian

光学字符识别(OCR)现在已经有很广泛的应用了,很多开源项目都会嵌入已有的 OCR 项目来扩展能力,例如 12306 开源抢票软件,它就会调用其它开源 OCR 服务来识别验证码。很多流行的开源项目,其背后或多或少都会出现 OCR 的身影。

如果要说到中文 OCR,像身份证识别、火车票识别都是常规操作,它也可以实现更炫酷的功能,例如翻译笔在书本上滑动一行,自动获取完整的图像,并识别与翻译中文。

目前比较常用的中文 OCR 开源项目是 chineseocr,它基于 YOLO V3 与 CRNN 实现中文自然场景文字检测及识别,目前该项目已经有 2.5K 的 Star 量。而本文介绍的是另一个新 开源的中文 OCR 项目,它基于 chineseocr 做出改进,是一个超轻量级的中文字符识别项目。

项目地址:https://github.com/ouyanghuiyu/chineseocr_lite

该 chineseocr_lite 项目表示,相比 chineseocr,它采用了轻量级的主干网络 PSENet,轻量级的 CRNN 模型和行文本方向分类网络 AngleNet。尽管要实现多种能力,但 chineseocr_lite 总体模型只有 17M。

目前 chineseocr_lite 支持任意方向文字检测,在识别时会自动判断行文本方向。我们可以先看看项目作者给出的效果示例:

可以看到,chineseocr_lite 在横排文字和竖排文字的识别上都有不错的效果,而且它提供的交互式网页端能直接在页面插入图像与调用识别模型。为了进一步挖掘该轻量级模型的效果,机器之心也上手测试了一番。

项目实测

由于Docker能够提供一个不依赖主机操作系统的隔离空间,并且兼具良好的安全性与可移植性,我们决定在Docker下对该轻量级模型进行测试。至于测试过程中的环境配置与采坑过程,后文会一一道来。

先看看使用作者项目里自带图片的测试效果。识别结果与项目里提供的类似,这里耗时较长主要是由于我们测试时没有使用 GPU 的缘故。

下面我们找一些其它图片来测试一下它的效果。

可以看到该模型对于常规印刷字体的识别效果还是很好的。接下来我们决定找一个书法图片为难一下它,竟然一个也没有识别对?不过对于这样一个主打超轻量,总模型大小不超过 20M 的 OCR 项目来说,还要啥自行车。

Docker 环境搭建

我们的运行环境

  • Ubuntu 18.04

  • Python 3.6.9

  • Pytorch 1.5.0.dev20200227+cpu(作者推荐 1.2.0)

首先下载 Docker 镜像。这里推荐使用咱们中国人自己做的镜像 deepo,一行代码傻瓜式安装 tensorflow、pytorch、darknet 等目前最新的深度学习框架。

deepo 链接:https://hub.docker.com/r/ufoym/deepo

当安装好 Docker 后,用以下代码获取包含所有深度学习框架的镜像:

docker pull ufoym/deepo

在这里我们使用猪厂提供的国内源来加速下载:

docker pull hub-mirror.c.163.com/ufoym/deepo

在高校的小伙伴推荐使用如下中科大的源,尽享丝般顺滑,10M/s 不是梦!

docker pull docker.mirrors.ustc.edu.cn/ufoym/deepo

拉取完镜像后我们新建一个容器开始配置环境,使用如下命令新建容器并进入交互模式:

docker run -it -p 6666:8080 -v ~/Desktop/data/:/data --name ocr 18824ddf5d2d

这里 docker run 表示创建容器,-it 表示创建容器后立刻进入交互模式,-p 表示进行端口映射,这里我们将主机 6666 的端口映射到容器的 8080 端口。

-v 表示共享数据,我们将主机桌面上名为 data 的文件夹与容器共享,并将其在容器上挂载为/data,--name 表示将新建的容器命名为 ocr,18824ddf5d2d 为刚才下载镜像的 ID,可使用 docker images 命令进行查看。

现在我们就进入到容器里了,输入 ls 就可看到我们与容器共享的文件夹/data 了。

cd 到/data 文件夹下拉取 chineseocr_lite 项目:

git clone https://github.com/ouyanghuiyu/chineseocr_lite

作者很 nice 得提供了运行程序的依赖环境,cd 到 chineseocr_lite 下进行安装:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

这里我们使用了清华的源进行加速。依赖环境装好了,python3 app.py 8080 走起!出现以下输出表示网页服务已成功启动。

需要注意的是,我们在创建容器时将主机的 6666 端口映射到了容器的 8080 端口,所以在浏览器里我们应该输入 http://127.0.0.1:6666/ocr (http://127.0.0.1:8080/ocr),出现如下界面:

踩坑指南

机器之心也将测试这个项目过程中踩过的坑记录了下来,避免各位对这个项目感兴趣的小伙伴中同样的招。当在容器里安装好 requirement 就万事大吉了吗?不存在的,电脑表示不出错是不可能的,这辈子都不可能不报错。直接运行后出现如下错误:

原因是缺少共享文件库,使用如下方法解决:

apt-get update
apt-get install apt-file
apt-file update
apt-file search libSM.so.6
apt-get install libsm6

再运行出现这样的错误:

遂使用 apt-get install libxrender1 与 apt install python-qt4 安装之。进行这样一番操作之后,就可以顺利运行了。完结撒花~

Docker 配置参考教程:https://zhuanlan.zhihu.com/p/64493662

相关 [中文 ocr 开源] 推荐:

实测超轻量中文OCR开源项目,总模型仅17M

- - IT瘾-tuicool
光学字符识别(OCR)现在已经有很广泛的应用了,很多开源项目都会嵌入已有的 OCR 项目来扩展能力,例如 12306 开源抢票软件,它就会调用其它开源 OCR 服务来识别验证码. 很多流行的开源项目,其背后或多或少都会出现 OCR 的身影. 如果要说到中文 OCR,像身份证识别、火车票识别都是常规操作,它也可以实现更炫酷的功能,例如翻译笔在书本上滑动一行,自动获取完整的图像,并识别与翻译中文.

最好的OCR识别软件:ABBYY FineReader中文绿色版

- 米随随 - 精品绿色便携软件
ABBYY FineReader是世界排名第一的OCR文字识别工具,提供高效和精准的文档识别、数据提取解决方案,支持多国字符和彩色文件识别,主要用于将扫描图像、图片型PDF转化成可编辑的文本. ABBYY FineReader可以看作是超级无敌的PDF转换器,能转换任意类型的PDF,其他PDF转换工具、或清华紫光OCR、尚书七号、汉王OCR等在它面前都可谓是浮云.

Google Docs OCR 文字辨識pdf,圖檔34種語言,中文有簡無繁

- Yuli - 電腦玩物
來自Google官方部落格的消息「Optical Character Recognition (OCR) in 34 languages」,Google Docs文件服務內建的「OCR文字辨識」功能,新增了29種語言辨識能力,目前可以辨識的PDF、圖片檔內文字來到了34種之多,而且這次包含了簡體中文,可惜尚未有針對繁體中文辨識的支援.

ocr文字识别软件-TryOCR(识别看看)绿色中文版下载

- - 亿品元素设计资源
ocr文字识别软件可以很大程度上方便办公人员或者普通设计师录入大篇段的文字内容. 今天给大家介绍的 ocr文字识别软件- TryOCR,又名 识别看看,是国人开发的一款非常不错的支持中文识别(据作者所言, 识别看看2.0版本将支持中文识别功能)和英文识别的 ocr软件. 经过 北极鱼测试,虽然目前TryOCR还仅仅只英文识别,不像其他 ocr软件(如ABBYY FineReader)那样支持多语种识别,但由于 识别看看是免费软件,避免了版权风险,而且将来的 识别看看2.0版将增加中文识别支持,所以相对来说还是值得推荐的.

iOS上的OCR软件TextGrabber

- Webto - 大鱼若智,大智若鱼
就在我写完上一篇关于读书笔记的Blog之后,我迅速而及时地发现了一款OCR大厂的产品. 昨天我闲来无事在App Store里闲逛,忽然发现了ABBYY(中文名叫做“泰比”,有兴趣可以访问 abbyy.cn )的名字,它不久前(6月2日)推出了一款名为“ABBYY TextGrabber”的软件. 跟中国的汉王一样,这家总部位于莫斯科的公司拳头产品就是光学识别(OCR, Optical Character Recognition)技术.

OCR:慧眼读世界

- - 微软亚洲研究院
作者:微软亚洲研究院首席研究员 霍强. 把手机摄像头对准菜单上的法语菜名,屏幕上实时显示出翻译好的中文菜名;将全世界图书馆的藏书转化为电子书;街景车游走于大街小巷,拍摄街景的同时也从街景图像中自动提取文字标识,让地图信息更丰富更准确……这些场景的背后有一个共同的关键技术——OCR (Optical Character Recognition),光学字符识别.

クラウド型「人力OCR」、どう思う?

- 三十不归 - スラッシュドット・ジャパン
uxi 曰く、ASCII.jpにて、クラウドノート「KYBER」なるものが紹介されている(記事). 要するに自分の書いたノートをクラウドに保存できるという、一見よくありそうなサービスなのだが、このサービスが一線を画すのが(中国人を主体とした)人海戦術によって非常に高精度なOCRを行うという点. しかし、処理を行うのは日本語が分からない人間で、また一度に処理するのは意味の繋がらないような細切れの断片だとしても、自分の書いたメモが確実に人目に触れていると思うと、どうにも気持ちが悪い.

专业PDF转换器(支持OCR):Wondershare PDF Converter便携版

- 抹布 - 精品绿色便携软件
Wondershare PDF Converter是一款具备专业转换效果的PDF转换器,支持将PDF转换为Word、Excel、PowerPoint、EPUB、HTML、Text等格式,转换后能保留源PDF的文本、图片、表格、超链接、页面布局与格式等信息. 转换PDF至XLS/XLSX时,能够使设置是否保存表单的格式信息,如字体颜色等,转换PDF为EPUB时,则可设置字体颜色及背景色.

谁说的抓X东价格就必须OCR啊?

- mrluanma - hUrR DuRr
最近Horse Cloud手下的事情比较多,很多人是在吵架中才发现,X东的价格其实是用个图片显示的. 这个貌似X蛋和X东打价格战的时候就是图片了. 但是X东的价格根本不需要OCR就可以抓取到的:. 从过去的体验来看,不大看好一淘,我还是喜欢box-z.com这样的. 看到这个新闻《一淘网:X东商城没有技术能力屏蔽抓取》.