/chineseocr

yolo3+ocr

Primary LanguageJupyter NotebookMIT LicenseMIT

本项目基于yolo3crnn 实现中文自然场景文字检测及识别

实现功能

  • 文字方向检测 0、90、180、270度检测(支持dnn/tensorflow)
  • 支持(darknet/opencv dnn /keras)文字检测,暂时公布(keras版本训练)
  • 不定长OCR训练(英文、中英文) crnn\dense ocr

环境部署

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)

下载模型文件

模型文件地址:

复制文件夹中的所有文件到models目录

web服务启动

cd chineseocr## 进入chineseocr目录
ipython app.py 8080 ##8080端口号,可以设置任意端口

识别结果展示

Play with Docker Container

docker pull zergmk2/chineseocr
docker run -d -p 8080:8080 zergmk2/chineseocr

访问服务

http://127.0.0.1:8080/ocr

参考

  1. yolo3 https://github.com/pjreddie/darknet.git
  2. crnn https://github.com/meijieru/crnn.pytorch.git
  3. ctpn https://github.com/eragonruan/text-detection-ctpn
  4. CTPN https://github.com/tianzhi0549/CTPN
  5. keras yolo3 https://github.com/qqwweee/keras-yolo3.git