- .ipynb_checkpoints
- apphelper
- application
- chineseocr
- crnn
- models
- results
- static
- templates
- test
- text
- tools
- train
- .gitignore
- app-Copy1.py
- app.py
- app_spec.yml
- chineseocr-master.zip
- config-Copy1.py
- config.py
- core-Copy1.16924
- core.16924
- docker-Copy1.sh
- docker.sh
- Dockerfile
- Dockerfile-Copy1
- faas_requirements.txt
- handler.py
- img.jpeg
- LICENSE
- LICENSE-Copy1
- model-Copy1.py
- model.py
- OVERVIEW.md
- post-demo-Copy1.py
- post-demo.py
- project_requirements.txt
- README-Copy1.md
- README.ipynb
- README.md
- requirements-Copy1.txt
- requirements.txt
- setup-Copy1.md
- setup-cpu-Copy1.md
- setup-cpu.md
- setup.md
- test-Copy1.ipynb
- test.ipynb
- Untitled-Copy1.ipynb
- Untitled-Copy1.py
- Untitled-Copy2.ipynb
- Untitled.ipynb
- Untitled.py
README-Copy1.md @da31108 — view markup · raw · history · blame
本项目基于yolo3 与crnn 实现中文自然场景文字检测及识别
实现功能
- [x] 文字方向检测 0、90、180、270度检测(支持dnn/tensorflow)
- [x] 支持(darknet/opencv dnn /keras)文字检测,支持darknet/keras训练
- [x] 不定长OCR训练(英文、中英文) crnn\dense ocr 识别及训练 ,新增pytorch转keras模型代码(tools/pytorch_to_keras.py)
- [x] 新增对身份证/火车票结构化数据识别
环境部署
GPU部署 参考:setup.md
GPU部署 参考:setup-cpu.md
下载编译darknet(如果直接运用opencv dnn或者keras yolo3 可忽略darknet的编译)
git clone https://github.com/pjreddie/darknet.git
mv darknet chineseocr/
##编译对GPU、cudnn的支持 修改 Makefile
#GPU=1
#CUDNN=1
#OPENCV=0
#OPENMP=0
make
修改 darknet/python/darknet.py line 48
root = '/root/'##chineseocr所在目录
lib = CDLL(root+"chineseocr/darknet/libdarknet.so", RTLD_GLOBAL)
下载模型文件
模型文件地址: * baidu pan * google drive
复制文件夹中的所有文件到models目录
web服务启动
cd chineseocr## 进入chineseocr目录
ipython app.py 8080 ##8080端口号,可以设置任意端口
构建docker镜像
##下载Anaconda3 python 环境安装包(https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh) 放置在chineseocr目录下
##建立镜像
docker build -t chineseocr .
##启动服务
docker run -d -p 8080:8080 chineseocr /root/anaconda3/bin/python app.py
识别结果展示

访问服务
http://127.0.0.1:8080/ocr

参考
- yolo3 https://github.com/pjreddie/darknet.git
- crnn https://github.com/meijieru/crnn.pytorch.git
- ctpn https://github.com/eragonruan/text-detection-ctpn
- CTPN https://github.com/tianzhi0549/CTPN
- keras yolo3 https://github.com/qqwweee/keras-yolo3.git