Skip to content
Pytorch implementation of OCR system using CRNN + CTCLoss
Branch: master
Clone or download
Latest commit f8d1236 Dec 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dataset Update test_data.py Jun 19, 2018
models fix super call Sep 17, 2018
.gitignore Initial commit Feb 25, 2018
LICENSE
README.md
__init__.py initial commit Feb 25, 2018
lr_policy.py initial commit Feb 25, 2018
test.py
train.py

README.md

Convolutional Recurrent Neural Network

This software implements OCR system using CNN + RNN + CTCLoss, inspired by CRNN network.

Usage

python ./train.py --help

Demo

  1. Train simple OCR using TestDataset data generator. Training for ~60-100 epochs.
python train.py --test-init True --test-epoch 10 --output-dir <path_to_folder_with_snapshots>
  1. Run test for trained model with visualization mode.
python test.py --snapshot <path_to_folder_with_snapshots>/crnn_resnet18_10_best --visualize True

Train on custom dataset

  1. Create dataset
  • Structure of dataset:
<root_dataset_dir>
---- data
-------- <img_filename_0>
...
-------- <img_filename_1>
---- desc.json
  • Structure of desc.json:
{
"abc": <symbols_in_aphabet>,
"train": [
{
"text": <text_on_image>
"name": <img_filename>
},
...
{
"text": <text_on_image>
"name": <img_filename>
}
],
"test": [
{
"text": <text_on_image>
"name": <img_filename>
},
...
{
"text": <text_on_image>
"name": <img_filename>
}
]
}
  1. Train simple OCR using custom dataset.
python train.pt --test-init True --test-epoch 10 --output-dir <path_to_folder_with_snapshots> --data-path <path_to_custom_dataset>
  1. Run test for trained model with visualization mode.
python test.py --snapshot <path_to_folder_with_snapshots>/crnn_resnet18_10_best --visualize True --data-path <path_to_custom_dataset>

Dependence

Articles

You can’t perform that action at this time.