Skip to content

Sierkinhane/CRNN_Chinese_Characters_Rec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Characters Recognition

A Chinese characters recognition repository based on convolutional recurrent networks. (Below please scan the QR code to join the wechat group.)

Performance

Recognize characters in pictures

Dev Environments

  1. WIN 10 or Ubuntu 16.04
  2. PyTorch 1.2.0 (may fix ctc loss) with cuda 10.0 🔥
  3. yaml
  4. easydict
  5. tensorboardX

Data

Synthetic Chinese String Dataset

  1. Download the dataset
  2. Edit lib/config/360CC_config.yaml DATA:ROOT to you image path
    DATASET:
      ROOT: 'to/your/images/path'
  1. Download the labels (password: eaqb)

  2. Put char_std_5990.txt in lib/dataset/txt/

  3. And put train.txt and test.txt in lib/dataset/txt/

    eg. test.txt

    20456343_4045240981.jpg 89 201 241 178 19 94 19 22 26 656
    20457281_3395886438.jpg 120 1061 2 376 78 249 272 272 120 1061
    ...

Or your own data

  1. Edit lib/config/OWN_config.yaml DATA:ROOT to you image path
    DATASET:
      ROOT: 'to/your/images/path'
  1. And put your train_own.txt and test_own.txt in lib/dataset/txt/

    eg. test_own.txt

    20456343_4045240981.jpg 你好啊!祖国!
    20457281_3395886438.jpg 晚安啊!世界!
    ...

note: fixed-length training is supported. yet you can modify dataloader to support random length training.

Train

   [run] python train.py --cfg lib/config/360CC_config.yaml
or [run] python train.py --cfg lib/config/OWN_config.yaml
#### loss curve

```angular2html
   [run] cd output/360CC/crnn/xxxx-xx-xx-xx-xx/
   [run] tensorboard --logdir log

loss overview(first epoch)

Demo

   [run] python demo.py --image_path images/test.png --checkpoint output/checkpoints/mixed_second_finetune_acc_97P7.pth

References