Code Monkey home page Code Monkey logo

crnn-mxnet-chinese-text-recognition's Introduction

crnn-mxnet-chinese-text-recognition

This is an implementation of CRNN (CNN+LSTM+CTC) for chinese text recognition.

Building MXNet with warp-ctc

  1. In order to use mxnet.symbol.WarpCTC layer, you need to first build Baidu's warp-ctc library from source
  2. Then build MXNet from source with warp-ctc config flags enabled.

Data Preparation

  1. Download the Synthetic Chinese Dataset(contributed by https://github.com/senlinuc/caffe_ocr and many thanks)

    A glance of the dataset:

    • almost 3.6 million synthetic chinese text images.
    • 5,990 different categories in total.
    • each image has a length of 10 characters.
  2. Create train.txt and text.txt with the format like this:

           image_name1 label1_1 label1_2 label1_3...
           image_name2 label2_1 label2_2 label2_3...

Optional: downoad the two files here

Training

  1. Modify the path of images and txt files in train.py
  2. Run
$ python train.py 2>&1 | tee log.txt
  1. After almost 19 epoches, you can get 99.0502% validation accuracy.
2018-04-01 03:35:35,136 Epoch[18] Batch [25450]	Speed: 53.10 samples/sec	accuracy=0.988125
2018-04-01 03:37:37,482 Epoch[18] Batch [25500]	Speed: 52.31 samples/sec	accuracy=0.986719
2018-04-01 03:39:38,613 Epoch[18] Batch [25550]	Speed: 52.84 samples/sec	accuracy=0.989531
2018-04-01 03:41:40,470 Epoch[18] Batch [25600]	Speed: 52.52 samples/sec	accuracy=0.987969
2018-04-01 03:42:27,544 Epoch[18] Train-accuracy=0.988672
2018-04-01 03:42:27,544 Epoch[18] Time cost=80796.510
2018-04-01 03:42:27,610 Saved checkpoint to "./check_points/model-0019.params"
2018-04-01 05:34:43,096 Epoch[18] Validation-accuracy=0.990502

Hare is a pre-trained model you can download directly.

crnn-mxnet-chinese-text-recognition's People

Contributors

diaomin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.