chineseocr 与psenet 实现中文自然场景文字检测及识别
本项目基于环境
-
pytorch 1.2.0
-
python3
-
linux/macos/windows
-
windows环境配置参考热心网友的文章Python构建快速高效的中文文字识别OCR 👍
-
Docker 环境
-
可以直接在项目根目录下面运行
docker build -t my/chineseocr .
构建运行环境的镜像,也可以使用其他已经构建好的镜像
docker run -dit -p 8080:8080 -v /mnt/d/data/:/data --name chineseocr vitzy/chineseocr_lite
。 -
可通过
docker attach --sig-proxy=false <container id>
或者docker exec -it <your container name or id> /bin/bash
进入容器,然后git clone https://github.com/ouyanghuiyu/chineseocr_lite
拉取本项目代码到/data
-
cd 到
chineseocr_lite
下进行安装:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
-
启动 web
python3 app.py 8080
, 在浏览器中打开http://127.0.0.1:8080/ocr
。
-
PSENET 编译
cd psenet/pse
rm -rf pse.so
make
实现功能
- 提供轻量的backone检测模型psenet(8.5M),crnn_lstm_lite(9.5M) 和行文本方向分类网络(1.5M)
- 任意方向文字检测,识别时判断行文本方向
- crnn\crnn_lite lstm\dense识别(ocr-dense和ocr-lstm是搬运chineseocr的)
- 支持竖排文本识别
- ncnn 实现 (支持lstm) nihui大佬实现的crnn_lstm推理 具体操作详解: 详细记录超轻量中文OCR LSTM模型ncnn实现
- 提供竖排文字样例以及字体库(旋转90度的字体)
- mnn 实现
2020.03.16更新
- psenet ncnn核扩展实现,有效解决粘连文本检测问题,详见ncnn ocr一条龙
- nihui大佬实现的crnn_lstm推理 具体操作详解: 详细记录超轻量中文OCR LSTM模型ncnn实现
2020.03.12更新
- 升级crnn_lite_lstm_dw.pth模型crnn_lite_lstm_dw_v2.pth , 精度更高
竖排字体样式:
竖排生成的竖排文本样例:
web服务启动
cd chineseocr_lite## 进入chineseocr目录
python app.py 8080 ##8080端口号,可以设置任意端口